summaryrefslogtreecommitdiff
path: root/dwl.c
AgeCommit message (Collapse)Author
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
2023-07-03Line saver: follow "local = wlr->data = obj" patternDevin J. Pohly
There were still a couple of places where we could use this handy multiple assignment to save a line. ΔSLOC = -3
2023-06-29Merge remote-tracking branch 'upstream/main' into wlroots-nextLeonardo Hernández Hernández
2023-06-25Separate drag icon from layers array and Lyr enumDevin J. Pohly
If we treat the drag icon as distinct from other layers (it doesn't have contents that are interactive, focusable, etc.), then we can iterate over layers meaningfully with a simple for loop. ΔSLOC: -8
2023-06-24schedule a frame after commmiting gammaLeonardo Hernández Hernández
not doing it, may freeze the output or do not actually change the gamma until creating a client
2023-06-23use detached output states to set gammaLeonardo Hernández Hernández
2023-06-23Revert "use wlr_scene_output_build_state() to set gamma"Leonardo Hernández Hernández
This reverts commit 65f68e76437275a0c1c25279af646f726e213b6d.
2023-06-16Don't bother with ignoring SIGCHLDDevin J. Pohly
It added complexity, especially with the differences in behavior between handled and ignored signals across an exec().
2023-06-16Reset ignored signal handler in spawn() as wellDevin J. Pohly