summaryrefslogtreecommitdiff
path: root/dwl.c
AgeCommit message (Collapse)Author
2023-11-19createkeyboard: do not segfault if xkb_keymap_new_from_names returns NULLlink2xt
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-18do not try to enable adaptive syncLeonardo Hernández Hernández
2023-11-17fix the position of the cursor image after turning all the monitors onLeonardo Hernández Hernández
2023-11-17remove unused #includeLeonardo Hernández Hernández
2023-11-17do not check if `session` is non-NULLLeonardo Hernández Hernández
wlr_session_change_vt() is a no-op if session == NULL
2023-11-17do not explicitly destroy some wlroots interfacesLeonardo Hernández Hernández
they are destroyed when the wayland display is destroyed
2023-11-17fix docsLeonardo Hernández Hernández
copied from tinywl
2023-11-17fix destroynotify() docsLeonardo Hernández Hernández
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4421
2023-11-17prevent a use-after-free at exitLeonardo Hernández Hernández
2023-11-17do not compute layout box twiceLeonardo Hernández Hernández
2023-11-17make sure fullscreen clients have the right sizeLeonardo Hernández Hernández
2023-11-17fix screen artifacts when setting gammaLeonardo Hernández Hernández
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-14use wlr_scene_subsurface_tree_set_clipLeonardo Hernández Hernández
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4131 Closes: https://github.com/djpohly/dwl/issues/411
2023-11-14Revert "respect size hints"Leonardo Hernández Hernández
This reverts commit 72e0a560d9836c5e8658003f548203bcd722e565.
2023-11-01use newer cursor naming specLeonardo Hernández Hernández
References: https://www.freedesktop.org/wiki/Specifications/cursor-spec/ References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4416
2023-11-01ignore maximize events for clients using xdg-shell v5 and newerLeonardo Hernández Hernández
2023-10-13Merge remote-tracking branch 'upstream/main' into wlroots-nextLeonardo Hernández Hernández
2023-10-10check client is mapped before setting border colorBen Collerson
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: 887fde65a3010905aa10f373cfcfe540cfc1781e Fixes: 72a7d78a1a7926a207539eb50f44b2e1eb089d49
2023-10-09Merge remote-tracking branch 'upstream/main' into wlroots-nextLeonardo Hernández Hernández
2023-10-09use <xcb/xcb.h> instead of <X11/Xlib.h>Leonardo Hernández Hernández
2023-10-09only set border color for urgent *and* mapped X11 clientsLeonardo Hernández Hernández
this fixes a segfault when the client emits .set_hints but it's not mapped Fixes: 72a7d78a1a7926a207539eb50f44b2e1eb089d49
2023-10-09Merge remote-tracking branch 'upstream/main' into wlroots-nextLeonardo Hernández Hernández
2023-10-09Revert "just add define"Leonardo Hernández Hernández
I'm going to make some changes in the config file anyway This reverts commit e5367753bb90add013ee5d170a110064298ac2c4.
2023-10-09add [-d] flag to enable debug loggingLeonardo Hernández Hernández
2023-10-09simplify setting the border color of clientsLeonardo Hernández Hernández
2023-10-09make the borders red borders for urgent clientsLeonardo Hernández Hernández
iirc this is the same behavior of dwm
2023-09-29Check if c is fullscreen before reparenting it to LyrFloatingForrest Bushstone
Closes: https://github.com/djpohly/dwl/issues/487
2023-09-29make sure that fullscreen clients are on the correct screen when isfloating ↵Forrest Bushstone
is true Bug: https://github.com/djpohly/dwl/issues/487
2023-09-24Merge remote-tracking branch 'upstream/main' into wlroots-nextLeonardo Hernández Hernández
2023-09-06call setfloating in setmonLeonardo Hernández Hernández
since in the previous commit we may not applying floating in clients this is to make sure we do
2023-09-06return early if the client doesn't have monitor in setfloatingLeonardo Hernández Hernández
there is still a bug, but for now this prevents a segfault Bug: https://github.com/djpohly/dwl/issues/472
2023-08-22just add defineBen Collerson
2023-08-22tagcount should have been a #defineBen Collerson
2023-08-22return nothing in xytonode()Leonardo Hernández Hernández
we do not use the node
2023-08-22Style: use early-return to clarify codeDevin J. Pohly
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-22No need to send surface.leave/enter eventsDevin J. Pohly
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-18don't resize clients on commitLeonardo Hernández Hernández
It creates an infinite commit-resize loop when scale != 1
2023-07-31add support for xdg-shell v6Leonardo Hernández Hernández
2023-07-23update to xdg-shell v5Leonardo Hernández Hernández
2023-07-23add support for cursor-shape-v1Leonardo Hernández Hernández
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4106
2023-07-15increase wl_compositor versionLeonardo Hernández Hernández
Now scene will handle sending the preferred buffer scale References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4269
2023-07-13Merge branch 'main' into wlroots-nextLeonardo Hernández Hernández
2023-07-13do not use wl_event_loop for signal handlingLeonardo Hernández Hernández
ΔSLOC: -4 Fixes: https://github.com/djpohly/dwl/issues/456 Fixes: https://github.com/djpohly/dwl/issues/459
2023-07-13Remove now-unneeded call to motionnotifyDevin J. Pohly
This appears to have been here for the side effect of updating the drag icon's position.
2023-07-13Remove unused icon variableDevin J. Pohly
2023-07-13Make drag_icon a persistent scene nodeDevin J. Pohly
If there is no current drag icon, this node will be empty, but we now have `drag_icon != NULL` as an invariant. This allows us to eliminate a conditional, since there's no harm in moving an empty node's coordinates around with the pointer. ΔSLOC: -1
2023-07-13properly destroy sceneDevin J. Pohly
ΔSLOC: +1
2023-07-10chase wlroots!4220Leonardo Hernández Hernández
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4220
2023-07-08Line saver: LISTEN_STATIC macroDevin J. Pohly
This parallels the LISTEN macro for statically allocated listeners, and it allows us to remove almost all of the global wl_listener declarations. This also fixes a bug with the axisnotify listener, which was declared with a compound literal. At block scope, these have automatic storage duration [1], so the listener was no longer valid after setup() returned. (The option to declare it static explicitly was standardized in C23, if that ever gains suckless traction.) ΔSLOC: -27 [1]: https://en.cppreference.com/w/c/language/compound_literal#Explanation
2023-07-03Unify signal handling under wl_event_loopDevin J. Pohly
Merge our signal handlers into a single function and let Wayland deal with all the struct sigaction stuff. ΔSLOC: -3