Commit Graph

2791 Commits

Author SHA1 Message Date
Florian Gamböck a68cc783c9 Add function to check file executable bit
This is just a plain copy of the file_readable function, with "read"
replaced with "execute".
2017-08-08 20:33:47 +02:00
José Romildo Malaquias 0def266c84 Add entry for menu font in theme (#1961) 2017-08-07 14:36:40 -04:00
Emmanuel Lepage Vallée 90e8b67d37 Merge pull request #1960 from psychon/fix-some-leaks
Fix some leaks
2017-08-07 14:36:08 -04:00
Daniel Hahler 828eefed79 awful.tooltip: border: do not default to border_width (#1955)
Several themes use `dpi(2)` which is quite thick, and it is better to
use the default of 0 here, instead of `beautiful.border_width`, which is
meant for borders on clients.
2017-08-05 16:07:47 +02:00
Uli Schlachter e73eb3ad38 gears.surface.apply_shape_bounding: Finish temporary image
This function draws the wanted shape to a cairo image surface and then
uses it to set the shape of the passed-in object. After this commit,
this temporary image is finished afterwards, making it free most of its
memory immediately instead of only later when the garbage collector
collects the image surface.

Related-to: https://github.com/awesomeWM/awesome/issues/1958
Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-08-04 13:18:01 +02:00
Uli Schlachter 0da790c026 awful.tooltip: Finish temporary image
For setting the shape of the tooltip, this code creates an image surface
describing the wanted shape. After this commit, this image surface is
finished when it is no longer needed. This results in most of the
image's memory to be freed immediately instead of only later when the
garbage collector collects the image surface.

Related-to: https://github.com/awesomeWM/awesome/issues/1958
Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-08-04 13:16:12 +02:00
Uli Schlachter 11216d8ca4 awful.mouse.snap: Finish temporary image
This function creates a temporary image surface to set the shape of a
wibox. After this commit, the image is now finished after use. This
results in most of the image's memory to be freed immediately instead of
waiting for the garbage collected to collect it.

Related-to: https://github.com/awesomeWM/awesome/issues/1958
Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-08-04 13:14:51 +02:00
Uli Schlachter efb8134815 awful.client.shape: Finish the shape image when done with it
This function queries the shape of a client and then does something with
it. This commit makes sure the image is finished afterwards, which means
that most of its memory is released immediately instead of waiting for
the garbage collector to collect it.

Related-to: https://github.com/awesomeWM/awesome/issues/1958
Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-08-04 13:13:22 +02:00
Uli Schlachter 8dfe18a382 Fix wibox to forward shapes directly
When doing w.shape_bounding = foo on a wibox, the code would first read
shape_bounding from the underlying drawin. This would create a
(possibly) huge cairo image surface that just waits to be collected by
the garbage collector, resulting in increased memory usage.

Fix this by checking the force_forward table first. This tables contains
the names of shape properties. Thus, the evaluation of this statement
gets short-circuited and the property is on the drawin is not read.

Helps-with: https://github.com/awesomeWM/awesome/issues/1958
Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-08-04 13:10:14 +02:00
Crazy Lemon 2886095358 Specifies the wibox dependency on the menubar utils (#1953)
Only this particular module is needed
2017-07-30 13:42:20 -04:00
Uli Schlachter 60b5df1308 awful.tag: Apply a default layout to tags (#1952)
Related-to: https://github.com/awesomeWM/awesome/pull/1950
Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-07-29 13:58:45 -04:00
Tomoya Tabuchi 0836cf90c5 Add notification_icon_size as a beautiful variable (#1951) 2017-07-29 15:58:52 +02:00
Uli Schlachter acc012353d Make keyboardlayout widget more robust (#1941)
I am not sure what exactly goes on in the below bug report, so this will
just paper over the problem. I still think that this patch is a good
idea even when it is not a proper fix, since keyboard layouts are
complicated and so this code should be robust and hard to break.

Fixes: https://github.com/awesomeWM/awesome/issues/1933
Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-07-25 18:17:32 +02:00
Uli Schlachter ee1dc78434 awful.tooltip: Set wibox.type = "tooltip"
Fixes: https://github.com/awesomeWM/awesome/issues/1938
Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-07-24 07:52:55 +02:00
Jan Larres 458981710c Treat certain layouts as single client for gaps (#1914)
When gap_single_client is set to 'false', no gap is used when only one
client is shown in a tag. Since the max layout only ever shows one
client at a time it makes sense to apply this setting for this layout
regardless of the actual number of clients in that tag.

Additionally, if the 'master_fill_policy' property is set to
'master_width_factor', then use a gap even if there is only one client
visible and 'gap_single_client' is false.
2017-07-20 21:21:51 +02:00
mqus bd5f0dd3fc Fix calendar_popup.lua documentation
There were multiple things which stood out to me, as I was trying to setup a simple calendar popup for my textclock:
1.: The functions in https://awesomewm.org/doc/api/classes/awful.widget.calendar_popup.html#Functions were not named correctly (calendar vs calendar_popup) which (naturally) produced an error when used as awful.widget.calendar.month() .
2.: The example for calendar_popup.month() was obviously missing a line (where does the month_calendar come from?) . Resolved by copying the line from the attach-example
3.: The same examples also only refer to the function as calendar.month() which should be changed to awful.widget.calendar_popup.month()
2017-07-19 17:22:31 +02:00
Emmanuel Lepage Vallée bb26c32726 Merge pull request #1901 from actionless/xresources-titlebar-hover-press
feat(beatiful: theme_assets; themes: xresources): recolor titlebar icons for `hover` and `press` states
2017-07-10 10:11:50 -04:00
Uli Schlachter 07d561ee91 wibox.widget.calendar: Stop using make_widget_declarative
Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-07-09 19:00:16 +02:00
Uli Schlachter d72893692e calendar_popup: Fix method name entries
Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-07-09 18:59:17 +02:00
Uli Schlachter 9519d666a3 calendar_popup: Fix style documentation
Fixes: https://github.com/awesomeWM/awesome/issues/1899
Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-07-09 18:36:04 +02:00
Daniel Hahler 4eddfacf51 lib/awful/completion.lua: handle missing SHELL environ var (#1897) 2017-07-03 19:26:10 +02:00
actionless 5fdb2c6298 feat(beatiful: theme_assets; themes: xresources): recolor titlebar icons for `hover` and `press` states 2017-07-02 19:48:59 +02:00
Daniel Hahler d4924988df rules: switchtotag: fix usage of awful.tag.viewmore (#1895)
This passes in the client's screen for now.

In the long run this should get fixed via
https://github.com/awesomeWM/awesome/issues/1883, but that is more
involved.

Fixes https://github.com/awesomeWM/awesome/issues/1886.
2017-07-02 11:26:41 +02:00
morethanoneanimal cbb8fd7ac4 Add naughty.destroy_all_notifications (#1871)
Also updates connect_signal in naughty lib to use destroy_all_notifications().
2017-06-29 00:11:07 +02:00
Uli Schlachter b9d9587afa menubar: Produce better errors for broken .desktop files
This now runs parse_desktop_file in a protected context so that a single
broken desktop file does not break the whole menubar.

Also, the error message that is produced when a Lua error occurs now
also includes the file name of the .desktop file which we attempted to
parse. This should help quite a lot in debugging.

Related-to: https://github.com/awesomeWM/awesome/issues/1880
Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-06-28 09:17:13 +02:00
Emmanuel Lepage Vallée 09bd3ec67a Merge pull request #1872 from Elv13/upstream_dynamic_p8
Import some commits from the stateful layout branch
2017-06-27 03:54:12 -04:00
Daniel Hahler 6d5cf6cdbb Merge pull request #1736 from blueyed/completion-zsh-nullglob
awful.completion: zsh: fix command completion from PWD
2017-06-27 08:01:46 +02:00
Daniel Hahler 3e305a7272 minor: check textbox earlier, whitespace 2017-06-27 00:04:40 +02:00
Daniel Hahler 5dcd5969be awful.prompt: fix Shift-Tab
1. before this patch the "Shift" key(s) to get to Shift-Tab would reset
   ncomp already.
2. "Shift-Tab" will come in as "Tab" with mod.Shift typically.
3. cur_pos and ncomp have to get reset in case of going back to the
   original entry.
2017-06-27 00:04:40 +02:00
Daniel Hahler 4c792b49a9 awful.completion: handle first word as command always
This is necessary for `./*`, but should apply in general.
It was changed in 3986409e, but there is no argument for it in the
commit (message) really.
2017-06-26 22:45:11 +02:00
Daniel Hahler 2a69ffa374 awful.completion: zsh: fix command completion from PWD
Fixes https://github.com/awesomeWM/awesome/issues/1734.
2017-06-26 22:45:11 +02:00
Daniel Hahler 956ac3c50d awful.completion.shell: fix cur_pos return value 2017-06-26 22:45:11 +02:00
Daniel Hahler a6c36a4a2e awful.spawn: fix doc for spawn.easy_async{,_with_shell} (#1877)
Using `@function` in 547c0e4b was wrong.
2017-06-26 22:44:08 +02:00
Tim Roes 3d1b2c2a5e Pass freedesktop hints to naughty.notify (#1875) 2017-06-26 21:21:09 +02:00
Luke Bonham 547c0e4b83 awful.spawn: add easy_async_with_shell and fixed easy_async doc (#1541) 2017-06-26 21:15:58 +02:00
Daniel Hahler 9cd26cd274 doc: fix awful.completion.shell (#1866) 2017-06-26 20:40:56 +02:00
Emmanuel Lepage Vallee fb367c3f9e stack: Add offset support 2017-06-26 02:27:20 -04:00
Emmanuel Lepage Vallee 29f70c1b4c mirror: Fix documentation
It didn't render properly
2017-06-26 02:27:20 -04:00
Emmanuel Lepage Vallee 458340b4d4 doc: Add examples for the ratio layout 2017-06-26 02:27:20 -04:00
Emmanuel Lepage Vallee 0430f55257 ratio: Add a fill strategy for empty entries
This allows, for example, to imeplement the tag `master_fill_policy`
and simplify the client layouts by not having to hardcode empty
columns and rows in each layouts.
2017-06-26 02:27:20 -04:00
Emmanuel Lepage Vallée ba78882cb3 Merge pull request #1834 from Elv13/fix_896
layoutbox: Use a textbox as the fallback when no images are found
2017-06-21 03:16:28 -04:00
Emmanuel Lepage Vallée 1f8b07d475 debug: Add a signal for deprecation warnings (#1832)
Fixes #1612.
2017-06-21 02:06:32 +02:00
Emmanuel Lepage Vallee 10acd82968 layoutbox: Use a textbox as the fallback when no images are found
Fix #896
2017-06-20 18:22:23 -04:00
Emmanuel Lepage Vallée 983fd4710f Merge pull request #1854 from Elv13/fix_1849
notification: Fix `font` and use `beautiful` directly
2017-06-20 05:19:52 -04:00
Emmanuel Lepage Vallée 8c926027c4 Merge pull request #1859 from psychon/beautiful_newindex
Make beautiful.foo = bar work properly
2017-06-20 04:20:45 -04:00
Emmanuel Lepage Vallée cded8b0837 Merge pull request #1857 from psychon/awful_tag_new
Fix #1853
2017-06-20 04:20:06 -04:00
Uli Schlachter ca12473584 Make beautiful.foo = bar work properly
Without this, users would modify the beautiful table directly instead of
the theme. This made a difference for code using beautiful.get() to get
the theme.

Reference: https://github.com/awesomeWM/awesome/pull/1854
Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-06-20 10:05:32 +02:00
Uli Schlachter 20d15b8be6 awful.tag.new: Handle too few given layouts
When awful.tag.new() got a list of layouts shorter than the list of
names, it would previously create tags with nil as their layout. This
commit changes this so that the first layout is repeated if necessary.

Related-to: https://github.com/awesomeWM/awesome/issues/1853
Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-06-20 09:44:02 +02:00
Uli Schlachter de05ee6678 awful.layout: Apply layouts in a protected context
If an error occurs while a layout is being applied, arrange_lock could
get stuck at true, meaning that no more re-arranges will happen, thus
breaking the whole layout machinery.

Such errors could happen because the layout itself produces an error,
but also because a width is too large and c:geometry() throws an error.
Thus, this commit moves all of the actual "apply a layout"-code into a
protected context.

Fixes: https://github.com/awesomeWM/awesome/issues/1853
Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-06-20 09:41:59 +02:00
Emmanuel Lepage Vallee 0829cc2d76 notification: Fix `font` and use `beautiful` directly
Using `beautiful.get()` has the drawback of not supporting theme
variables set from `rc.lua`. It is also used less often than
direct theme access, making it a bit inconsistent with how other
modules behave.
2017-06-19 19:52:00 -04:00