Ronan Pigott
30ad4dc4a5
launcher: export xdga tokens and use them for workspace matching
2022-11-26 09:48:58 +01:00
Ronan Pigott
bdeb9f9565
launcher: fudge the interface a bit
...
We want to create a context before knowing the pid it will match with.
2022-11-26 09:48:58 +01:00
Ronan Pigott
66568508c0
launcher: initialize launcher_ctxs once on startup
2022-11-26 09:48:58 +01:00
Ronan Pigott
864b3a9a18
view: associate launch contexts with views
...
Views now maintain a reference to a launch context which, as a last
resort, is populated at map time with a context associated with its pid.
This opens the possibility of populating it before map via another
source, e.g. xdga-tokens or configuration.
2022-11-26 09:48:58 +01:00
Ronan Pigott
d75c9f9722
launcher: rename pid_workspace to launcher_ctx
...
Soon we will match views with more than just a pid.
2022-11-26 09:48:58 +01:00
Ronan Pigott
bd66f4943d
launcher: use xdga tokens
...
This reuses wlroots token tracking for workspace matching. It doesn't
export any xdga tokens for clients yet.
2022-11-26 09:48:58 +01:00
Ronan Pigott
3b49f2782e
launcher: track workspaces by node
...
This removes the need to rename the pid_workspaces when a workspace
is renamed.
It also opens the possibility of tracking other node types. Tracking
containers would allow application to be placed correctly in the
container tree even if the user has moved their focus elsewhere since
it was launched.
2022-11-26 09:48:58 +01:00
Ronan Pigott
1c4b94ae3c
node: prettify node type names
2022-11-26 09:48:58 +01:00
Ronan Pigott
eb5021ef99
root: move the workspace matching code to its own file
...
This removes the pid_workspace bits from tree/root before it gets
too interesting.
No functional change.
2022-11-26 09:48:58 +01:00
Simon Ser
af8a5a8918
build: drop intermediate libraries for protocols
2022-11-25 10:51:20 +01:00
Simon Ser
e5475d9310
build: drop "server" from target name for protocol code
2022-11-25 10:48:07 +01:00
Simon Ser
5be5a038da
build: unify server & client protocol generation
...
No need to make a difference here, let's just generate header
files for both.
2022-11-25 10:46:53 +01:00
Simon Ser
366f6ef3d3
build: drop wayland-scanner fallback
2022-11-25 10:46:00 +01:00
Manuel Stoeckl
e2bc8866f4
Use shm_open instead of mkstemp
...
shm_open is more reliable because it does not require
a writeable filesystem folder, unlike mkstemp.
2022-11-25 00:05:12 +01:00
Simon Ser
7623292734
Update for wlroots!3814
...
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3814
2022-11-15 22:26:43 +01:00
Simon Ser
717e9ef581
ipc: add view content type
...
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3599
2022-11-15 11:06:51 -05:00
Simon Ser
907ca48a61
Listen to the output request_state event
...
References: https://github.com/swaywm/wlroots/pull/2693
2022-11-15 11:05:47 -05:00
Simon Ser
024c3e4428
input/seat: locally compute drag icon offset
...
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3861
2022-11-15 16:58:20 +03:00
Simon Zeni
e1be46875d
sway/server: specify wlr-layer-shell version on creation
2022-11-14 16:10:55 +01:00
Kirill Primak
85005b52fe
output: set damage ring bounds to pixel values
...
Fixes: https://github.com/swaywm/sway/issues/7254
2022-11-12 11:50:04 +01:00
Alexander Orzechowski
34933bb843
workspace_create: Don't allow NULL name
2022-11-11 23:44:03 +01:00
Joe Kappus
fdde67405e
build: bump wlroots dependency to 0.17.0
2022-11-11 22:31:18 +01:00
Baltazár Radics
5c239eaac5
container_get_siblings: handle NULL workspace
2022-11-11 18:57:29 +01:00
Simon Ser
d945c8f519
lock: fix crash on output destroy
...
Closes: https://github.com/swaywm/sway/issues/7120
2022-11-11 17:01:50 +01:00
Kirill Primak
7862fa670e
Use wlr_damage_ring
...
wlr_output_damage is to be replaced with wlr_damage_ring, so use that.
2022-11-11 16:29:04 +01:00
Simon Ser
dcd2076f38
Use wl_signal_emit_mutable()
...
This function fixes segfaults when emitting a signal potentially
removes arbitrary listeners.
2022-11-10 22:27:38 +03:00
Kirill Primak
6c3b35701d
ci: install hwdata
2022-11-09 10:43:44 +01:00
Callum Andrew
3e19836f0e
criteria: allow matching for NULL string criteria
2022-11-04 10:02:11 +01:00
Puck Meerburg
e40eb338b9
criteria: allow matching on empty (NULL) titles
2022-10-30 10:57:19 +01:00
Puck Meerburg
0fdeb4ca84
tree: support formatting null titles
...
Any windows that have never had a title set visually behave closer to
that of an empty title, but are unformattable, as the code bails out
early on a NULL title.
2022-10-30 10:57:19 +01:00
pudiva chip líquida
7cc8ab6d6c
Support libinput's 1.21 new dwtp option
...
Support the new dwtp (disable while trackpointing) option introduced in
libinput 1.21, allowing users to control whether the trackpoint (like
those in Thinkpads, but not only) should be disabled while using the
keyboard/touchpad.
See: https://gitlab.freedesktop.org/libinput/libinput/-/issues/731
2022-10-30 10:56:34 +01:00
Alexander Orzechowski
a61815d385
container_floating_set_default_size: Store workspace size box on the stack
2022-10-29 00:47:01 +02:00
Daniel De Graaf
8aa89dc277
Fix focus tracking when session lock is active
...
Remove the incorrect attempt to block focus changes when an input grab
is present and replace it with the same logic used for layer_shell-based
screen lockers: restore the focus after changing it.
This fixes a use-after-free of seat->workspace if outputs are destroyed
while a screen lock is enabled.
2022-10-28 19:41:24 +02:00
Daniel De Graaf
8f7bb145b7
Rework session lock keyboard focus handling
...
When removing outputs, it is possible to end up in a situation where
none of the session lock client's surfaces have keyboard focus,
resulting in it not receiving keyboard events. Track the focused
surface and update it as needed on surface destroy.
2022-10-28 19:41:24 +02:00
Yaroslav de la Peña Smirnov
9d99bb956f
Fix keymap being NULL and segfaulting on dev add
...
Moved `libinput_config` to the callers of
`sway_input_configure_libinput_device` so that we send the event after
the added event.
2022-10-23 11:56:29 +02:00
Tudor Brindus
5e514e6474
input: tweak focus behavior to allow focusing parent containers
...
Sway focuses the inactive child when focusing split containers. However,
there is currently no way to focus the parent container itself by mouse.
A user must use the keyboard to do so.
This commit maintains the current behavior, but makes it such that a
second click on the split container titlebar (i.e., after its children
are visible) focuses the split container itself.
2022-10-21 10:05:00 +02:00
Simon Ser
9400bd963c
Add support for ext-idle-notify-v1
...
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3753
2022-10-14 15:56:07 +02:00
cparm
99fd096d69
Avoid double free in criteria_destroy()
2022-10-13 14:56:10 +02:00
Simon Ser
7a6afc5199
Fix leaks in criteria_destroy()
2022-10-10 09:51:01 -04:00
Tudor Brindus
c7bced9329
input: focus container when scrolling on titlebar
...
Fixes #6503 .
2022-10-10 08:56:51 +02:00
Tudor Brindus
09354db878
input: focus floating container when clicked on border
...
Fixes #7209 .
2022-10-10 08:55:21 +02:00
Ferdinand Schober
99acdb4e62
Use keyboard_state.focused_surface directly
2022-10-09 10:07:51 +02:00
Ferdinand Schober
be7707874a
use seat directly
2022-10-09 10:07:51 +02:00
Ferdinand Schober
e2bb5799af
check for NULL
2022-10-09 10:07:51 +02:00
Ferdinand Schober
d5659948f1
allow pointer_constraints on layer_shell surfaces
2022-10-09 10:07:51 +02:00
ohno418
07c827b4be
Improve Japanese translation
2022-10-08 10:12:00 +02:00
Andri Yngvason
b00b05f792
sway/commands/output: Add command for unplugging non-physical outputs
2022-10-07 19:17:39 +02:00
Simon Ser
04f8a655e7
build: simplify protocol paths
...
No need for arrays here.
2022-10-04 09:48:29 +02:00
Simon Ser
78b5c0a77e
swaymsg: show mode picture aspect ratio
2022-10-03 13:35:52 +02:00
Simon Ser
f70d1e1b95
ipc: expose mode picture aspect ratio
2022-10-03 13:35:52 +02:00