Commit Graph

9108 Commits

Author SHA1 Message Date
Emmanuel Lepage Vallee 74508098de rules: Add a rule building chain of responsability
Before this commit, there was a conflict between the spawn and
awful.rules rules.

Also, modules such as Tryannical monkey-patched this function to
add their own rules to the mix. This commit introduce a proper
API to add handlers.

The order is crutial for this to work, so a dependency system is
also added.

Fix #1482
2018-03-04 01:34:33 -05:00
Emmanuel Lepage Vallee 20db37f892 tests: Test the gears.sort module 2018-03-04 01:34:33 -05:00
Emmanuel Lepage Vallee 4e0915674d gears: Add a new sort module
The first use case is a topological sort to handle dependency graphs

Closes #2159
2018-03-04 01:29:33 -05:00
Uli Schlachter 8a44d59716 Correctly convert colors with alpha to a Lua string
Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-03-03 10:57:48 +01:00
Uli Schlachter d82f883c0b test-focus.lua: Improve error messages on assertion failure
Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-03-03 10:57:48 +01:00
Uli Schlachter 1acae2aa6c Make alpha work on window borders
Up to now, we always asked the X11 server for color allocation ("which
pixel value corresponds to (r,g,b)?", an AllocCollor request).

This commit adds direct support for TrueColor and DirectColor visuals.
In such a visual, the X11 server gives tells us where the red, green,
and blue color components are in a pixel value and we can then just
directly compute the pixel value.

Additionally, this commit adds code that assumes that in a depth=32
visual, the remaining values (after handling red, green, blue) is the
alpha channel for colors. Thus, this adds support for transparent client
borders.

This commit also touches code for the systray. However, the systray must
always use the X11 server's default visual and that one always(?) has
depth=24, i.e. does not support an alpha channel. Thus, the systray
background still cannot be transparent.

Also, in theory this commit should support visuals where some color
component does not have 8 bits, for example RGB565. However, this is
just theoretic and I have no idea how to actually test this (without
jumping through too many hoops).

Fixes: https://github.com/awesomeWM/awesome/issues/162
Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-03-03 10:57:48 +01:00
Emmanuel Lepage Vallee cfaf7d8fe8 titlebar: Expose some previously private properties.
I am not happy with this API in general, I keep it undocumented
for now. In a perfect world, the whole client frame would be
a hierarchy.
2018-02-25 18:01:08 -05:00
Emmanuel Lepage Vallee 45135b28b1 shims: Use cairo PNG support instead of GDK
It is inferior, but at least doesn't print warnings on Travis due
to the lack of X server.
2018-02-25 18:01:08 -05:00
Emmanuel Lepage Vallée fb0ccc3220
doc: Add a common problem section 2018-02-25 17:21:32 -05:00
Uli Schlachter b2d1e8574f Merge branch 'gdkpixbuf' of https://github.com/psychon/awesome 2018-02-17 13:26:23 +01:00
Uli Schlachter 59aa4ac7d9 Merge branch 'more-manpage-updates' of https://github.com/psychon/awesome 2018-02-10 20:10:05 +01:00
Uli Schlachter d4e2b917a7 Merge branch 'signal_array_getbyname' of https://github.com/psychon/awesome 2018-02-10 20:09:33 +01:00
Uli Schlachter 2ec698894e Merge branch 'manpage-translation' of https://github.com/psychon/awesome 2018-02-10 20:09:13 +01:00
Alexander Melnyk 584c5cedb1 Add support for resizing notification icon with respect to aspect (#2176)
* Add support for resizing notification icon with respect to aspect

Previously, if an icon was not exactly square, an icon size set in configuration
would cause the notification to pad the icon with empty space so dimensions are
equal.

Now behaviour is different: the bigger dimension of the icon is scaled to fit
the icon_size value, while smaller is scaled same amount to preserve aspect.

Also, ImageSurface is now not created as fixed size square, but it's dimensions
are computed in similar way.

* Round the computed dimensions of ImageSurface

Even one pixel off is still off.
2018-02-06 11:01:40 -05:00
Uli Schlachter 859d7b20fe awesome-client.1.de.txt: Improve wording
As suggested by @ff2000.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-01-26 13:13:06 +01:00
Uli Schlachter 30a0916764 Translate the new English text in awesome.1.de.txt
Thanks to @ff2000 for coming up with a better translation than what I
originally had!

Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-01-25 10:42:53 +01:00
Emmanuel Lepage Vallée b0b5a1c1ab
Merge pull request #2166 from actionless/manpages-ru
Manpages ru
2018-01-24 13:15:05 -05:00
Uli Schlachter cfe9231e59 awful.keygrabber.run: Fix example (#2169)
Fixes: https://github.com/awesomeWM/awesome/issues/2167
Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-01-24 13:13:08 -05:00
Uli Schlachter 477cb25d1c Translate the English text in awesome-client.1.de.txt
Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-01-24 09:25:25 +01:00
Uli Schlachter 3f93bf4cd5 Use signal_array_getbyname() where appropriate
Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-01-24 09:13:35 +01:00
Uli Schlachter 782adcfd29 signal.h: Introduce signal_array_getbyname()
This is a nice utility function that actually does what most callers
want, instead of signal_array_getbyid() which requires callers to come
up with the signal id.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-01-24 09:05:00 +01:00
Emmanuel Lepage Vallée 8d063f573e
Merge pull request #2165 from psychon/wallpaper_docs
Improve docs for gears.wallpaper and gears.color
2018-01-22 21:18:54 -05:00
Emmanuel Lepage Vallée 1182ad0f92
Merge pull request #2153 from otommod/master
Add set/get for textclock attributes
2018-01-22 17:44:03 -05:00
actionless 7dcdefbb41 doc(manpages: awesome): mention Mod4+s keybinding (show keybondings popup) 2018-01-22 13:58:33 +01:00
actionless ac3735ea32 doc(manpages: awesome-client: ru): translation) 2018-01-22 13:58:29 +01:00
Uli Schlachter 28e8894f05 Give the docs for gears.color some improvements
Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-01-22 11:53:39 +01:00
Uli Schlachter 0864829c0a Add some introductionary documentation to gears.wallpaper
Related-to: https://github.com/awesomeWM/awesome/issues/1373
Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-01-22 11:22:05 +01:00
Kevin Zander 80b21cfbc3 Fix manpage warnings during build (#2161)
Fixes #1392
2018-01-21 21:20:33 -05:00
Kevin Zander 1149e03396 Add examples and help text for awesome-client (#2162)
This adds a -h|--help option to awesome-client. In addition it adds
examples to the awesome-client manpage.
2018-01-21 17:40:38 -05:00
Otto Modinos 3687d198f2 textclock: mimick other widgets for docs/naming 2018-01-21 02:32:26 +02:00
Otto Modinos 1e685635a8 textclock: rename timeout to refresh 2018-01-21 02:06:24 +02:00
Otto Modinos 9d3a9547b1 Add set/get for textclock attributes
To allow "declarative" construction of clocks.
2018-01-21 02:04:12 +02:00
Uli Schlachter ee944f4da8 gears.surface: Use GdkPixbuf
This now does directly what previously awesome.load_image() did. Also,
this commit removes the only caller of awesome.load_image(), so that
function could (in theory) be removed now.

Fixes: https://github.com/awesomeWM/awesome/issues/1235
Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-01-18 18:19:07 +01:00
Uli Schlachter c5badcbe37 Add awesome.pixbuf_to_surface
This function takes a GdkPixbuf, copies it to a cairo image surface and
returns the image surface.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-01-18 18:10:35 +01:00
Yauhen Kirylau 19a1ee6c16 fix(beautiful: xresources): don't return fallback colorscheme if only some of the values are missing (#2151)
related to #2150
2018-01-17 22:43:15 -05:00
Emmanuel Lepage Vallée ad68d3bf5b
Merge pull request #2156 from varingst/fix-icon-lookup
Fix: #2152
2018-01-16 21:16:34 -05:00
Uli Schlachter a4936c963c Fix 'creating new widgets' link (#2157)
This was broken ever since it was introduced in commit b1e69dba8c.
Yay. :-(

Fixes: https://github.com/awesomeWM/awesome/issues/1373#issuecomment-357891791
Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-01-16 21:15:49 -05:00
get 5b882f3b2e Add unit tests for #2152
Adds unit tests for menubar.utils.lookup_icon_uncached.

Tests that icons and themes are found in the icon base directories, and
icons are resolved with the correct priority.

Creates directories and symlinks in spec/menubar/{home,usr} as test
data.
2018-01-15 23:47:20 +01:00
get a65079b104 Fix icon path resolution in menubar.utils
Issue #2152

Rewrites get_icon_lookup_path to find icons and themes in
$HOME/.icons. Also adds 'scalable' as the top priority icon size.
2018-01-15 23:25:31 +01:00
Uli Schlachter c9bd787fd6 Check for xdgInitHandle() failures (#2146)
Before this, running "env -i ./awesome" resulted in a segfault. This was
because xdgInitHandle() failed and the following
xdgSearchableConfigDirectories() followed a NULL pointer.

After this commit, awesome fails with an error message.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-01-12 21:33:25 -05:00
Uli Schlachter 5c6e25fe0a Revert 31b8623ff6 and fix things properly (#2142)
The code here has things like "if cache.bgb" which suggests that "bgb"
(great name, by the way) is supposed to be optional. However,
31b8623ff6 made this thing definitely not optional by making it
*the* widget that is displayed. That feels wrong.

Also, after the above commit, the ".primary" entry is no longer used,
which is at least surprising for something which is called "primary".

None of this is explicitly documented (I didn't find anything when
looking for "primary" in common.lua nor tasklist.lua; I know that there
are examples for using this, but still that doesn't say how this is
supposed to work), so I'm not quite sure how this was intended to work.
Instead, I am just proposing this commit as a better fix with the above
rational and see what feedback I get...

Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-01-12 21:32:51 -05:00
Uli Schlachter 8cc469322f ensure_pango_color: Support hex values with alpha
Reference: https://github.com/awesomeWM/awesome/pull/2129#discussion_r155397507
Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-01-13 02:15:30 +01:00
Uli Schlachter 9b6cea5a13 Add unit tests for gears.color.ensure_pango_color
Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-01-13 02:15:30 +01:00
Daniel Hahler cc68ac9292
doc: fix wallpaper_changed signal, SETUP_SIGNAL comment (#2141) 2017-12-20 01:26:06 +01:00
Emmanuel Lepage Vallee 31b8623ff6 widget.common: Fix the background color
regression from f147f0d28a
2017-12-05 19:52:36 -05:00
Emmanuel Lepage Vallée dd5be865c3
Merge pull request #2127 from Elv13/doc_tests_and_notif_p3_1
awful.widget.common overhaul
2017-12-05 14:06:05 -05:00
Emmanuel Lepage Vallée 19fd21111a
awful.placement: Fix `next_to` logic. (#2130)
Fix #2128
2017-12-03 15:05:19 -05:00
Emmanuel Lepage Vallee 0300f6484a tests: Test the taglist 2017-12-02 16:41:25 -05:00
Emmanuel Lepage Vallee acb4c36ac4 tests: Test the tasklist 2017-12-02 16:41:25 -05:00
Emmanuel Lepage Vallee 20c4f71e19 taglist: Support externally defined layouts and widgets 2017-12-02 16:41:25 -05:00