Johan Malm
8d070ab2f4
cursor: fix setting of resize_edges
...
Only calculate nearest `resize_edges` if not clear from the server-side
deco under the cursor.
2021-12-26 21:35:37 +00:00
bi4k8
26d3d13a82
move edge resizing from hard-coded to configuration
2021-12-26 21:31:11 +00:00
bi4k8
5ee4baee7a
implement corner/edge mouse contexts
2021-12-26 21:31:11 +00:00
John Lindgren
2ce961a0bd
Check the return value of wlr_output_layout_get() for NULL
...
wlr_output_layout_get() seems to return NULL for disabled outputs.
Fixes : #174
2021-12-24 21:08:32 +00:00
ARDiDo
fd09e26ac8
view.c: end interactive mode when maximizing a view
2021-12-23 12:22:46 -05:00
Consolatis
fa18f347e5
config/rcxml: Allow multiple <action>s inside of a <mousebind>
...
Issue arises when using the default config from docs/rc.xml.all.
Without this patch only the last action defined inside a <mousebind>
will have an effect.
Without a config or when defining the same <mousebind> multiple times
with each containing only a single <action> the issue does not exist.
2021-12-23 09:53:11 -05:00
Consolatis
80f012602f
Implement foreign toplevel close
2021-12-23 09:29:08 -05:00
Johan Malm
7e57b7fcf5
keyboard: absolve release event if press was bound
...
When key press events are handled by compositor keybindings, do not
forward the corresponding release events to clients.
2021-12-22 10:37:25 -05:00
ARDiDo
57cc72b49e
OSD: fix stuck OSD when NumLock or CapsLock are activated
2021-12-18 10:33:56 -05:00
ARDiDo
7d68eeb5eb
cursor: scale xcursor for all output scales
2021-12-17 10:20:57 -05:00
bi4k8
4ce96f75dc
osd: fix crash when props are NULL
...
this happened while running Xwayland *over* waypipe, so is likely not a common case, but is possible
2021-12-16 20:42:07 -05:00
bi4k8
3a29e436e5
fix crash when a minimized window closes
...
e.g., open an editor from a terminal, minimize it, then hit ^C in the terminal
simply don't unmap xdg or xwayland views if they are not currently marked as mapped
2021-12-12 19:03:03 -05:00
bi4k8
a3796fa6f3
implement libinput tapButtonMap setting
...
this is a standard libinput setting that was not previously exposed
2021-12-12 19:00:58 -05:00
ARDiDo
859495a8be
Config: add OSD font configuration
2021-12-06 17:44:28 -05:00
Johan Malm
238062a859
desktop: rename functions to increase consistency
...
...from
- desktop_raise_view()
- desktop_move_view_to_end_of_cycle()
to
- desktop_move_to_front()
- desktop_move_to_back()
2021-12-06 21:23:49 +00:00
Johan Malm
10884ca2e9
desktop: simplify desktop_move_view_to_end_of_cycle()
2021-12-06 21:07:08 +00:00
bi4k8
bb4c277e08
query passed prop, not 'title'
2021-12-06 15:22:17 -05:00
bi4k8
7b7178ebfa
move windows to back of cycle when they are minimized
2021-12-06 09:59:06 -05:00
bi4k8
b7d4df28c8
implement PreviousWindow action
2021-12-06 09:59:06 -05:00
bi4k8
83f876586a
raise activated foreign windows
...
this is required for taskbars to behave as expected
2021-12-06 09:51:45 -05:00
John Lindgren
5da0ebda5a
keyboard: Remove redundant damage_all_outputs() call
...
It was already called earlier in handle_compositor_keybindings().
2021-12-04 12:24:47 -05:00
John Lindgren
b72d524c50
keyboard: Allow canceling the Alt-Tab switcher with Escape
...
This is a standard feature in most window managers (OpenBox
included) that allow window-switching via Alt-Tab.
2021-12-04 12:24:47 -05:00
John Lindgren
dddc4f5ed8
action: Switch to next window when pressing Alt-Tab once
...
In OpenBox (as in most other stacking window managers), pressing
Alt-Tab once will cycle to the next window. This is especially
convenient in workflows which require switching back and forth
frequently between the two top windows.
2021-12-04 12:24:47 -05:00
Johan Malm
2cb055b94a
cursor.c: fix switch statement indentation
2021-12-03 23:17:12 +00:00
Johan Malm
c5658fde8e
interactive.c: fix style
2021-12-03 23:15:28 +00:00
Johan Malm
3df4ade615
rcxml.c: set default Client Right/Middle Press
...
Raise+Focus, just as for Left Press
2021-12-03 22:11:09 +00:00
Johan Malm
04d69d8711
rcxml.c: add Alt-Left/Right to default mousebinds
2021-12-03 22:02:38 +00:00
ARDiDo
59af8e0986
OSD: fix segfault when no app_id is set
2021-12-03 16:16:59 -05:00
Joshua Ashton
d568c60003
action: If we have a view that is an activator, use that instead of the current focus window
...
If we don't switch focus, we want the close button to close the window associated with it, not the current focus window.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-12-03 18:13:30 +00:00
Joshua Ashton
f9f9d809c8
cursor: Clear grabbed_view when switching from MOVE/GRAB
...
Better not to leave a dangling pointer to screw us over later.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-12-03 18:11:31 +00:00
Joshua Ashton
3e973c92ab
interactive: Fix crash if a window is destroyed while moving it
...
Need to clean this up if it's our grabbed window!
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-12-03 18:11:31 +00:00
bi4k8
a9f11c5fc7
move window raise/focus on click from hard-coded logic to default mouse binding
2021-12-03 06:46:43 +00:00
bi4k8
11512d30af
implement root menu display as a default mouse binding
2021-12-03 06:46:43 +00:00
bi4k8
fc0c06d4c4
implement Raise and Focus actions
2021-12-03 06:46:43 +00:00
bi4k8
3a3b484898
replace hard-coded ShowMenu on root button press with mouse binding trigger
2021-12-03 06:46:43 +00:00
bi4k8
0be4625c1c
implement foreign toplevel activate
2021-12-03 06:43:34 +00:00
bi4k8
24215a3085
correctly detect when cursor is over titlebar
...
this was broken when we added ssd_part_types other than NONE that are not decoration
2021-12-03 06:42:04 +00:00
bi4k8
54e99cd240
forward click events to layer surfaces
...
this was broken when we moved to swallowing mouse events that triggered "Frame"-context mouse bindings. layer surfaces don't run mouse binding logic, so they need mouse events unconditionally forwarded.
2021-12-02 18:53:15 +00:00
bi4k8
a94fb3b225
fix interaction between Move action and click bindings
...
in order to allow the Move action to be bound to "press" on mouse binding contexts that also have "click" bindings, we should not short-circuit event processing when the input_mode is not passthrough (the "normal" mode). doing so seems to have been intended to prevent mouse bindings from being triggered during move/resize/menu interactions, but this does not seem to occur in practice. instead, `cursor_button`'s early return in this case caused the "release" side of "click" bindings to be ignored if their "press" side began an action that changes input_mode (e.g. Move).
the cleaner way to fix this interaction would be to use "drag" rather than "press" for Move bindings, but implementing "drag" is more complexity than I want to include in this changeset.
this change is its own commit to make it easy to bisect for, in case it causes regressions.
2021-12-02 17:58:31 +00:00
bi4k8
d8bbb751d2
handle mouse release bindings on root window
2021-12-02 17:58:31 +00:00
bi4k8
6b3320bcc1
do not add mouse bindings with no set context
2021-12-02 17:58:31 +00:00
bi4k8
347e6115e3
swallow mouse events only when bindings on Frame mouse contexts are triggered
2021-12-02 17:58:31 +00:00
bi4k8
d84103d669
define ssd_part_contains to define the mouse context subset relation
2021-12-02 17:58:31 +00:00
bi4k8
b008917895
implement handling for Client, Frame, and Root/Desktop (conflated for now) mouse contexts
2021-12-02 17:58:31 +00:00
bi4k8
4f6297d1ad
parse menu names from Menu mouse-bindings
2021-12-01 23:17:19 +00:00
bi4k8
031ced85ef
implement Resize as an action
...
this requires action() to know the resize edges to use, so thread them through
2021-12-01 22:45:20 +00:00
bi4k8
8eab1e8132
parse and respect modifiers for mouse bindings
2021-12-01 15:11:21 -05:00
bi4k8
c34a2fc976
make parse_modifiers public
2021-12-01 15:11:21 -05:00
bi4k8
ef49d2c843
be stricter about what counts as a double-click
2021-12-01 07:57:33 +00:00
bi4k8
58ed11c99c
fix signal handlers
...
avoid segfaulting sigint/sigterm handlers and drop an unused argument from sighup handler
2021-12-01 07:12:37 +00:00