Commit 08ca70c00d added support for Xlib cursor themes by making awesome use
Xlib for its X11 connection and for setting cursor icons. Everything else was
still done through xcb.
However, an unexpected side effect of this is that Xlib enabled the XKB
extension without asking us. This changes the way that keyboard events are
reported which causes problems with various keyboard events.
(Normally, Xlib hides these things by silently fixing up the events that it
hands out to applications. However, since we bypassed Xlib via xcb...)
The fix is simple: Luckily Xlib provides a function for disabling its XKB
support which is just what we need.
Signed-off-by: Uli Schlachter <psychon@znc.in>
Thanks to dadrc for reporting that gmusicbrowser's notifications didn't work and
for testing this patch.
Signed-off-by: Uli Schlachter <psychon@znc.in>
The same patch, only for branch 3.4
(there is a bunch of differences from master)
Signed-off-by: Tumin Alexander <iamtakingiteasy@eientei.org>
Signed-off-by: Uli Schlachter <psychon@znc.in>
Simply adds a define required for awesomewm to work on the BSDs.
Signed-off-by: Edward O'Callaghan <eocallaghan@auroraux.org>
Signed-off-by: Uli Schlachter <psychon@znc.in>
The FindLua module from CMake now displays the correct Lua version.
Signed-off-by: Steven Oliver <oliver.steven@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
xcb_event_get_{request,error}_label() return NULL for non-core requests and
error codes. Obviously, that's not really helpful at all, so also print the
numeric information about what failed.
Signed-off-by: Uli Schlachter <psychon@znc.in>
Add a function keygrabber.isrunning() which return a boolean state of
keygrabber
Signed-off-by: Sébastien Luttringer <seblu@seblu.net>
Signed-off-by: Julien Danjou <julien@danjou.info>
Add a function mousegrabber.isrunning() which return a boolean state of
mousegrabber
Signed-off-by: Sébastien Luttringer <seblu@seblu.net>
Signed-off-by: Julien Danjou <julien@danjou.info>
Previously, setslave() put a client only at the end of the list of visible
clients. Obviously this means that it didn't do anything helpful if the target
client was not visible.
Fix this by iterating over all clients on the target screen instead of just the
visible ones.
Signed-off-by: Uli Schlachter <psychon@znc.in>
This commit adds a new {bg,fg}_occupied option to the taglist. These control the
background and foreground color that unselected but occupied tags get in the
taglist. Occupied here means that at least one client is tagged with that tag.
Thanks to NougatRillettes for submitting this.
Signed-off-by: Uli Schlachter <psychon@znc.in>
The only caller of focus.history.add() should be the "focus" signal, so at that
time the unfocusable client already does have the focus. At that point, there is
no reason why this shouldn't be recorded in the focus history.
(And yes, unfocusable clients can be focused. Don't ask.)
This should hopefully fix FS#778.
Signed-off-by: Uli Schlachter <psychon@znc.in>
add awful.client.cycle to iterate through clients that match a given condition
A common use case is to cycle through clients that match a given rule and take
certain action on them: raise, set or get property, etc.; see usage example in
the docs.
Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
awful.util.table.cycle iterates through elements of the table that match the
given condition.
This will help writing concise code when one wants to apply a function to
(read, take some action) on a select list of elements in a table (of say,
clients and tags).
Conflicts:
lib/awful/util.lua.in
Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
Most probably, the original author chose to use 'K' first, switched to
'myclock' later, and forgot to update remaining occurrences of 'K'.
Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
There was a few days ago a bug report about missing icons with provided
link to the original ones. My previous patch was with icons made
by me using the ones from default theme, just changed the color.
Probably you should ignore it and use this one unless you like
my made more.
Signed-off-by: Arvydas Sidorenko <asido4@gmail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
Starting with glib2 2.31.0, It is no longer possible to
include individual headers (like "ghash.h") -- you must
#include <glib.h>.
Signed-off-by: Thomas Moschny <thomas.moschny@gmx.de>
Signed-off-by: Uli Schlachter <psychon@znc.in>
Initializing the client property "floating_geometry" on the
property::geometry signal is problematic since this is emitted before
client_set_border_width(), causing the internal client geometry to get
stored and later passed to client:geometry() which assumes it includes
titlebar and borders.
Signed-off-by: Corey Thompson <cmtptr@gmail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
Biggest plus is that this no longer errors out when wallpaper_cmd isn't a table.
Second biggest plus is that this now prints a warning.
Signed-off-by: Uli Schlachter <psychon@znc.in>
When I cherry-picked commit 2785d695ce from master, I didn't notice that it uses
connect_signal() which is add_signal() in 3.4-land. That was half a month ago.
Since then, no one complaint about this, so no one hit the problem yet?
Ok, it is in the default config which I guess isn't what the people who use
git/3.4 run. Still, would have been nice to know that people actually test the
mess which I produce. :-(
Signed-off-by: Uli Schlachter <psychon@znc.in>
wallpaper.is_valid(tw):
Checks that the table has only string entries.
Signed-off-by: Perry Hargrave <resixian@gmail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
If the first argument to cycle must be > 1 or else return nil
immediately.
Signed-off-by: Perry Hargrave <resixian@gmail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
Whenever awesome's C code calls into lua via a protected call, the debug::error
signal is emitted on errors. We now use this to give naughty popups for every
single error that happens. This should help people to notice errors easier.
The only exception are mouse and key grabbers and config loading, those don't go
through debug::error. I guess that means that the grabbers need to be hooked up
to debug::error. :-)
Signed-off-by: Uli Schlachter <psychon@znc.in>