Commit Graph

996 Commits

Author SHA1 Message Date
b100b446b8 return early if a layersurface didn't commit something 2023-11-25 19:17:32 -06:00
9cb1ece6cc do not check if a layer surface has monitor on commit
We do not allow creating them w/o monitor and they are destroyed when
destroying their monitor
2023-11-25 19:17:32 -06:00
01a237bd5c send wl_surface.enter before initial commit
It's not necessary but it'll help clients to render a perfect first frame
2023-11-25 19:17:32 -06:00
a5e068b20a destroy the layer-suface's scene tree for popups 2023-11-25 19:16:33 -06:00
39f4ee564b use wlr_box_equal() instead of memcmp 2023-11-25 19:08:56 -06:00
a353eee2ca simplify settings popups scene tree parent 2023-11-25 19:06:17 -06:00
66ec028b00 simplify check for wlr_layer_surface.output 2023-11-25 19:05:27 -06:00
1f10e69b4c use sizeof(*pointer) instead of sizeof(struct) 2023-11-25 19:04:57 -06:00
2783e82bf8 make sure to unlink Monitor.request_state listener 2023-11-25 18:53:18 -06:00
7ac76219df Merge branch 'wlroots-next' 2023-11-25 00:04:19 -06:00
6838f909bd try to apply gamma LUT in updatemons
this in the case the output was re-enabled
2023-11-21 20:41:36 -06:00
d2dd2f4986 ignore wl_surface.commit for xwayland clients
This is no longer needed
2023-11-21 20:16:26 -06:00
a0e79d8145 Do not send repeated xdg_toplevel.configure_bounds
Fixes: 32e66f4582
2023-11-21 20:15:46 -06:00
32e66f4582 resize clients on commit
Fixes: https://github.com/djpohly/dwl/issues/515
This reverts commit 4567979b16.
2023-11-21 20:15:00 -06:00
b4da97446a createkeyboard: do not segfault if xkb_keymap_new_from_names returns NULL
Passing NULL to wlr_keyboard_set_keymap results in a segfault.
Example:

  Thread 1 "dwl" received signal SIGSEGV, Segmentation fault.
  0x00007ffff7e49b64 in xkb_keymap_ref () from /usr/lib/libxkbcommon.so.0
  (gdb) bt
  #0  0x00007ffff7e49b64 in xkb_keymap_ref () at /usr/lib/libxkbcommon.so.0
  #1  0x00007ffff7f06389 in wlr_keyboard_set_keymap () at /usr/lib/libwlroots.so.11
  #2  0x000055555555bc54 in createkeyboard ()
  #3  0x000055555555c283 in inputdevice ()
  #4  0x00007ffff7e8101e in wl_signal_emit_mutable () at /usr/lib/libwayland-server.so.0
  #5  0x00007ffff7e8101e in wl_signal_emit_mutable () at /usr/lib/libwayland-server.so.0
  #6  0x00007ffff7edb52c in  () at /usr/lib/libwlroots.so.11
  #7  0x00007ffff7ee44b6 in  () at /usr/lib/libwlroots.so.11
  #8  0x000055555555fe66 in main ()
2023-11-19 01:14:35 -06:00
2751a6195d do not try to enable adaptive sync 2023-11-18 11:20:56 -06:00
fcf324be6c fix the position of the cursor image after turning all the monitors on 2023-11-17 19:03:23 -06:00
b8e933b9a9 remove unused #include 2023-11-17 11:03:33 -06:00
1044a21555 do not check if session is non-NULL
wlr_session_change_vt() is a no-op if session == NULL
2023-11-17 11:03:33 -06:00
6bcd5d8d87 do not explicitly destroy some wlroots interfaces
they are destroyed when the wayland display is destroyed
2023-11-17 11:03:32 -06:00
e95f14541a fix docs
copied from tinywl
2023-11-17 11:03:32 -06:00
bca1b779aa fix destroynotify() docs
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4421
2023-11-17 11:03:32 -06:00
4f4c540bb9 prevent a use-after-free at exit 2023-11-17 11:03:30 -06:00
8e3f5364d3 do not compute layout box twice 2023-11-17 11:03:30 -06:00
2212363225 make sure fullscreen clients have the right size 2023-11-17 11:03:30 -06:00
6f8a3f9374 fix screen artifacts when setting gamma
the artifacts were caused because we tried to set the gamma right after
receiving the event, this resulted in two pending page-flips, which
not always play well together.

This also seems to fix a screen freeze when turning on a monitor that has
gamma.

Additionally the current method won't work once [0] is merged

[0]: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4423
2023-11-17 11:01:30 -06:00
e1f3983bf8 use wlr_scene_subsurface_tree_set_clip
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4131
Closes: https://github.com/djpohly/dwl/issues/411
2023-11-14 19:44:43 -06:00
31bf1cbaf6 Revert "respect size hints"
This reverts commit 72e0a560d9.
2023-11-14 19:44:28 -06:00
a4a83e95e6 use newer cursor naming spec
References: https://www.freedesktop.org/wiki/Specifications/cursor-spec/
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4416
2023-11-01 12:28:19 -06:00
e45ded7eea ignore maximize events for clients using xdg-shell v5 and newer 2023-11-01 12:16:02 -06:00
892a4d3ec7 Merge remote-tracking branch 'upstream/main' into wlroots-next 2023-10-13 17:10:25 -06:00
8c79f8dc15 check client is mapped before setting border color
For some reason brave configured for as a wayland client triggers this code on startup and segfaults.

Checking if the client is mapped fixes this, like with the previous fix for urgent border colour.

References: 887fde65a3
Fixes: 72a7d78a1a
2023-10-10 10:16:11 -06:00
8781f4dbf5 Merge remote-tracking branch 'upstream/main' into wlroots-next 2023-10-09 22:37:36 -06:00
df131cdb78 use <xcb/xcb.h> instead of <X11/Xlib.h> 2023-10-09 22:33:37 -06:00
887fde65a3 only set border color for urgent *and* mapped X11 clients
this fixes a segfault when the client emits .set_hints but it's not mapped

Fixes: 72a7d78a1a
2023-10-09 22:32:15 -06:00
b299e01e44 Merge remote-tracking branch 'upstream/main' into wlroots-next 2023-10-09 11:45:51 -06:00
6d9a915fb6 Revert "just add define"
I'm going to make some changes in the config file anyway

This reverts commit e5367753bb.
2023-10-09 11:12:24 -06:00
935b852dc5 add [-d] flag to enable debug logging 2023-10-09 11:11:33 -06:00
a18c528300 simplify setting the border color of clients 2023-10-09 11:05:41 -06:00
72a7d78a1a make the borders red borders for urgent clients
iirc this is the same behavior of dwm
2023-10-09 11:04:03 -06:00
f695674361 Check if c is fullscreen before reparenting it to LyrFloating
Closes: https://github.com/djpohly/dwl/issues/487
2023-09-29 18:01:31 -06:00
aec21eca1f make sure that fullscreen clients are on the correct screen when isfloating is true
Bug: https://github.com/djpohly/dwl/issues/487
2023-09-29 18:00:32 -06:00
1333f8cc6e Merge remote-tracking branch 'upstream/main' into wlroots-next 2023-09-24 11:44:29 -06:00
960c32a7d8 call setfloating in setmon
since in the previous commit we may not applying floating in clients
this is to make sure we do
2023-09-06 22:23:37 -06:00
aea8dd6ae1 return early if the client doesn't have monitor in setfloating
there is still a bug, but for now this prevents a segfault

Bug: https://github.com/djpohly/dwl/issues/472
2023-09-06 22:22:21 -06:00
e5367753bb just add define 2023-08-22 22:20:39 -06:00
9be85c1117 tagcount should have been a #define 2023-08-22 22:20:39 -06:00
4b8c1bf31e return nothing in xytonode()
we do not use the node
2023-08-22 14:48:29 -06:00
d7569870b6 Style: use early-return to clarify code
Use an early return to avoid indenting the main logic instead of
wrapping the tail of a function in an if statement.

No functional change, except for a handful of places where printstatus()
was being called spuriously (tag, toggletag, toggleview).

ΔSLOC: 0
2023-08-22 01:44:31 -06:00
4eb54b55f3 No need to send surface.leave/enter events
The scene graph implementation sends these for us, and it does so more
accurately than our overly-simplified approach.  Layer shell surfaces
don't appear to receive these events at all, according to my
WAYLAND_DEBUG experiments with bemenu and dtao.

ΔSLOC: -4
2023-08-22 01:44:31 -06:00