18f6ab1 changed the behavior when resizing floating clients using the
mouse (via modkey + RMB).
Previously, you could initiate the mousegrabber using e.g. "modkey +
RMB", release the key and button, and resize the window using the left
mouse button.
This restores this behavior by canceling the mousegrabbers only if the
cursor was moved, without _any_ mouse button being pressed.
Fixes https://github.com/awesomeWM/awesome/issues/309.
Closes https://github.com/awesomeWM/awesome/pull/310.
Instead of `client.client`, the client object is now referred to as
`client.object` and the client class as `client.class`.
This moves the documentation of `client.focus` to the class.
Closes https://github.com/awesomeWM/awesome/pull/349.
This adds a `stacked` boolean argument to `awful.client.visible`, and
(relevant) callers of it.
This can be used with e.g. `awful.client.swap.bydirection` to swap clients
based on their stacking order.
Fixes https://github.com/awesomeWM/awesome/issues/178.
When windows are set as "above", they will basically behave as "ontop"
(under normal circumstances) and therefore an indicator is useful to get
displayed in that case, too.
Closes https://github.com/awesomeWM/awesome/pull/325.
color_strip_alpha was used to insert colors into Pango markup, but it
did not correctly check for valid Pango colors. ensure_pango_color
checks if the color is valid in Pango, and returns a placeholder if it
is not.
In ed09d8e this was changed accidentally, while only `request::focus`
should have been changed:
- c:emit_signal('request::activate',"rules")
+ c:emit_signal('request::activate', "rules", false)
Currently `taglist_update` gets triggered often, because it listens to
a lot of signals.
This patch makes it only call the last one through `timer.delayed_call`.
Currently `tasklist_update` gets triggered often, because it listens to
a lot of signals.
This patch makes it only call the last one through `timer.delayed_call`.
In #152 I've changed the autofocus handler to emit the request::activate
signal, instead of setting client.focus only.
This is wrong IMHO, and can be annoying:
If you have two floating clients above a tiled / maximized one, and
close one of the floating ones, with the tiled one being the one
selected by autofocus, it will be raised above the other floating
client.
This is changed now to use the new `request::focus` signal instead.
This basically reverts 20cdb5d (#152), but allows for customizing this
behavior, by overriding the default `request::focus` handler
(`ewmh.focus`).
It would be nice if there was a helper to check if a window's content
isn't visible at all (i.e. covered by other windows), and that could be
used then by the (new) default handler for request::focus - raising the
client only, if it's completely covered by another window.
Fixes https://github.com/awesomeWM/awesome/issues/217
This still does `client.focus = c` by default, but allows to customize
it.
This was initially suggested in #194, but by using `request::activate`
instead, which would not be the same. Therefore a new signal is being
used instead.
Helped-by: Samir Benmendil <samir.benmendil@gmail.com>
In commit 3cbdc2a79f, the argument order for awful.layout.inc was changed
from (layouts, i, s) to (i, s, layouts), so that layouts can become an optional
parameter. However, this change (obviously) breaks user configs.
To hide this breakage, we assume the old argument order if the number i is a
table. This cannot break anything, since the operator "+" will error out on
tables anyway. :-)
Signed-off-by: Uli Schlachter <psychon@znc.in>
I doubt that this makes much of a difference since lgi surely caches things, but
this still seems nicer to me.
Signed-off-by: Uli Schlachter <psychon@znc.in>
Since commit 52ec0ebd93, layouts should return the geometries to their caller
instead of setting them directly. The caller will also fix up the geometries for
border width.
Signed-off-by: Uli Schlachter <psychon@znc.in>
This adds an optional `filter` arg to awful.client.focus.history.get,
and uses `awful.client.focus.filter` from the autofocus module.
This improves the behaviour when manually setting clients as
non-focusable (#237), and is considered to be the desired behaviour in
general.
Closes https://github.com/awesomeWM/awesome/pull/242.
Define @classmod wibox.widget.keyboardlayout, otherwise ldoc fails to
find the base class:
> module(...) name deduction failed: base .../src/build/docs/capi/ .../src/build/lib/awful/widget/keyboardlayout.lua
Fixes https://github.com/awesomeWM/awesome/pull/149#issuecomment-94014438
Widget shows current keyboard layout short name (usually two letters,
for example 'us', 'de'). Indicator will be hidden if only one layout
configured. Layout can be switched either by clicking on widget or by
function keyboardlayout.next_layout()
When moving a fullscreen/maximized client to a smaller screen or with
different Y offset etc, its offset was not handled properly.
This moves it first into the new area, and then makes sure that its not
off-screen. The latter should not happen, because the width/height is
adjusted before.
This is basically an initial stab for some modules and some
experimenting with the `@classmod` directive.
For most of the docs only basic transforming was done.
At the moment the tooltip module looks the best.
Signed-off-by: Ignas Anikevicius (gns_ank) <anikevicius@gmail.com>
This converts the old documentation style into the new one to use
markdown instead of HTML in bigger doc blocks. Also, we can use block
comments, which means that writting documentation (and indenting code
blocks) easier.
Signed-off-by: Ignas Anikevicius (gns_ank) <anikevicius@gmail.com>
After a client gets unmanaged, the newly focused client might not be
visible / raised above other windows.
Using the `request::activate` signal makes the autofocus handler more
flexible, and will raise the focused client by default.
This avoids awful.autofocus to kick in, focusing some other client in
between (where a focused signal would get emitted for, although the
intermediate client was never meant to have focus).
This is the traceback:
stack traceback:
/home/user/.config/awesome/cyclefocus/init.lua:199: in function 'add'
/home/user/.config/awesome/cyclefocus/init.lua:309: in function </home/user/.config/awesome/cyclefocus/init.lua:304>
[C]: ?
/usr/local/share/awesome/lib/awful/autofocus.lua:22: in function 'check_focus'
/usr/local/share/awesome/lib/awful/autofocus.lua:31: in function </usr/local/share/awesome/lib/awful/autofocus.lua:28>
[C]: ?
/usr/local/share/awesome/lib/awful/tag.lua:517: in function 'viewonly'
/usr/local/share/awesome/lib/awful/client.lua:69: in function 'jumpto'
/home/user/.config/awesome/rc.lua:1188: in function 'client_run_or_raise'
/home/user/.config/awesome/rc.lua:1217: in function 'run_or_raise'
/home/user/.config/awesome/rc.lua:1243: in function 'press'
/usr/local/share/awesome/lib/awful/key.lua:42: in function </usr/local/share/awesome/lib/awful/key.lua:42>
Ref: https://github.com/awesomeWM/awesome/pull/19
This supersedes https://github.com/awesomeWM/awesome/pull/107.