aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorLines
2023-11-19createkeyboard: do not segfault if xkb_keymap_new_from_names returns NULLlink2xt-0/+2
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-01add a comment about chvt keybindingsLeonardo Hernández Hernández-0/+3
Closes: https://github.com/djpohly/dwl/issues/427
2023-10-11clarify the dependencies needed by dwlLeonardo Hernández Hernández-3/+17
Note that previous df131cdb78c6e3e79c3fafa522f0e4f6b43d2ab4 libX11 headers were also required for building (but not for runtime) Also, I want to apologize to the packagers for do not list *all* the required dependencies before.
2023-10-11update README.mdLeonardo Hernández Hernández-2/+3
these things were changed in the code but not in the readme
2023-10-10check client is mapped before setting border colorBen Collerson-1/+2
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-09use <xcb/xcb.h> instead of <X11/Xlib.h>Leonardo Hernández Hernández-5/+5
2023-10-09only set border color for urgent *and* mapped X11 clientsLeonardo Hernández Hernández-1/+4
this fixes a segfault when the client emits .set_hints but it's not mapped Fixes: 72a7d78a1a7926a207539eb50f44b2e1eb089d49
2023-10-09Revert "just add define"Leonardo Hernández Hernández-3/+2
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-2/+16
2023-10-09simplify setting the border color of clientsLeonardo Hernández Hernández-13/+13
2023-10-09make the borders red borders for urgent clientsLeonardo Hernández Hernández-0/+9
iirc this is the same behavior of dwm
2023-10-09use the same border colors as dwmLeonardo Hernández Hernández-2/+2
2023-10-05add missing url about the COLOR macroLeonardo Hernández Hernández-0/+1
2023-10-05add macro to configure colorsLeonardo Hernández Hernández-3/+7
Closes: https://github.com/djpohly/dwl/issues/466
2023-09-29Check if c is fullscreen before reparenting it to LyrFloatingForrest Bushstone-3/+4
Closes: https://github.com/djpohly/dwl/issues/487
2023-09-29make sure that fullscreen clients are on the correct screen when isfloating ↵Forrest Bushstone-1/+1
is true Bug: https://github.com/djpohly/dwl/issues/487
2023-09-24include dwl.desktop in the tarbalLeonardo Hernández Hernández-1/+1
2023-09-24allow specify DATADIR (to install desktop file)Leonardo Hernández Hernández-4/+5
2023-09-22Add desktop entry fileWeiseguy-1/+9
2023-09-10fix typoAngelo Antony-1/+1
2023-09-06call setfloating in setmonLeonardo Hernández Hernández-0/+1
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-0/+2
there is still a bug, but for now this prevents a segfault Bug: https://github.com/djpohly/dwl/issues/472
2023-08-23prefer IRC over DiscordLeonardo Hernández Hernández-2/+3
I regularly check the discord server, but it is much more likely that I will be online on IRC, and djpohly does not seem to be active on either.
2023-08-22just add defineBen Collerson-2/+3
2023-08-22tagcount should have been a #defineBen Collerson-3/+3
2023-08-22return nothing in xytonode()Leonardo Hernández Hernández-3/+2
we do not use the node
2023-08-22Style: use early-return to clarify codeDevin J. Pohly-44/+52
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-6/+2
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-6/+0
It creates an infinite commit-resize loop when scale != 1
2023-07-13do not use wl_event_loop for signal handlingLeonardo Hernández Hernández-13/+10
Δ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-1/+0
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-3/+1
2023-07-13Make drag_icon a persistent scene nodeDevin J. Pohly-7/+7
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-0/+1
ΔSLOC: +1
2023-07-03Unify signal handling under wl_event_loopDevin J. Pohly-48/+35
Merge our signal handlers into a single function and let Wayland deal with all the struct sigaction stuff. ΔSLOC: -3
2023-06-25Separate drag icon from layers array and Lyr enumDevin J. Pohly-37/+32
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-16Don't bother with ignoring SIGCHLDDevin J. Pohly-41/+32
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-0/+3
2023-06-16fix startup_cmd SIGCHLD handlerDevin J. Pohly-0/+2
Ignored handlers are not reset by exec() calls
2023-06-07Stray whitespace fixesA Frederick Christensen-4/+4
2023-06-02activate lock surface in updatemonsLeonardo Hernández Hernández-1/+4
Fixes an issue when swaylock does not receive input after turn off and then turn on the outputs
2023-06-02send frame done even if output commit failsLeonardo Hernández Hernández-2/+2
Bug: https://github.com/djpohly/dwl/issues/420 Fixes: https://github.com/djpohly/dwl/issues/353
2023-06-01Set XCURSOR_SIZENikita Ivanov-0/+1
2023-05-28remove note about contact me for patch issuesLeonardo Hernández Hernández-5/+0
I am no longer able to spend much time developing dwl let alone maintaining other's patches :)
2023-05-27destroy old client popups when focusing another clientLeonardo Hernández Hernández-9/+15
Closes: https://github.com/djpohly/dwl/issues/408
2023-05-25Prevent using a wlr_layer_surface after destroying it, due to no available ↵Micah Gorrell-1/+3
outputs
2023-04-13correctly check if a scene node is enabledLeonardo Hernández Hernández-4/+4
checking only wlr_scene_node.enabled may result in a false positive because it does not consider if its ancestors are enabled as well.
2023-04-13remove unneeded check of `m` in arrange()Leonardo Hernández Hernández-3/+3
arrange must never be called with a NULL argument
2023-04-09Use uint32_t for ui ArgBen Collerson-1/+1
2023-04-08use fixed-size type for client tagsLeonardo Hernández Hernández-9/+9
while the size of `int` in most compilers is 32-bits, the size of int and all other integer types are implementation defined, so make sure we can use up to 32-bits