When looking up keybinds, if the translated keysyms (based on the keymap
for the keyboard) do not match a defined keybind, try raw keysyms (as if
there were no modifier translation).
This allows a user to define for example keybind with "S-1" rather than
"S-exclam". It also supports "W-S-Tab".
Fixes: issues #163#365#992
By default, leave keyboard-focus with the surface that originally had it
at the end of a dnd operation. This is consistent with the default
behaviour of openbox and mutter.
If the 'focus/followMouse' option is enabled, then focus on the surface
under the cursor at the end of the dnd operation.
Fixes: issue #976
...and change default values for the variables below to keep the
window-switcher look the same as it was at the last release.
osd.window-switcher.padding = 4
osd.window-switcher.item.padding.y = 1
osd.window-switcher.item.active.border.width = 2
This makes explicit the subtle behavioral difference between
xwayland_view_unmap() and handle_unmap().
With this change, the XDG and XWayland versions of handle_map/unmap()
are now identical, which will make further refactoring possible.
...allowing a rule to be applied to only the first window matching a
particular criteria. For example, the following can be used to apply a
window rule to lxqt-panel but not its configuration window with the same
app_id:
<windowRules>
<windowRule identifier="lxqt-panel" matchOnce="true">
<skipTaskbar>yes</skipTaskbar>
<action name="MoveTo" x="0" y="0" />
<action name="ToggleAlwaysOnTop"/>
</windowRule>
</windowRules>
Specify attribute name when adding default mousebind actions.
This is required because in src/action.c action GoToDesktop requires an
argument with key 'to' and does not accept `action_get_first_arg()`
because the action supports other optional attributes so we could not
guarantee that 'to' is the first one.
Fixes: #948
Keyboard focus is not changed during drag, so we need to refocus the
surface under the cursor and the end of a drag-and-drop operation.
Fixes issue #939
Make wrap 'true' by default for both GoToDesktop and SendToDesktop,
in order to default to the current behaviour, and to stay consistent
with Openbox behaviour.
Before this patch it was possible to assign an argument with an
existing name to an action that didn't support the given argument.
An example of this is using `direction` for `GoToDesktop`.
This patch now only creates action arguments that are actually
defined for the given action type and logs an error for
unsupported arguments.
The commit also makes sure to always supply the argument name.
This will reduce required checks in other parts of the codebase
in future commits.
Partly fixes: #894