summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* createkeyboard: do not segfault if xkb_keymap_new_from_names returns NULLlink2xt2023-11-191-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 ()
* add a comment about chvt keybindingsLeonardo Hernández Hernández2023-11-011-0/+3
| | | | Closes: https://github.com/djpohly/dwl/issues/427
* clarify the dependencies needed by dwlLeonardo Hernández Hernández2023-10-111-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.
* update README.mdLeonardo Hernández Hernández2023-10-111-2/+3
| | | | these things were changed in the code but not in the readme
* check client is mapped before setting border colorBen Collerson2023-10-101-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
* use <xcb/xcb.h> instead of <X11/Xlib.h>Leonardo Hernández Hernández2023-10-091-5/+5
|
* only set border color for urgent *and* mapped X11 clientsLeonardo Hernández Hernández2023-10-091-1/+4
| | | | | | this fixes a segfault when the client emits .set_hints but it's not mapped Fixes: 72a7d78a1a7926a207539eb50f44b2e1eb089d49
* Revert "just add define"Leonardo Hernández Hernández2023-10-092-3/+2
| | | | | | I'm going to make some changes in the config file anyway This reverts commit e5367753bb90add013ee5d170a110064298ac2c4.
* add [-d] flag to enable debug loggingLeonardo Hernández Hernández2023-10-093-2/+16
|
* simplify setting the border color of clientsLeonardo Hernández Hernández2023-10-092-13/+13
|
* make the borders red borders for urgent clientsLeonardo Hernández Hernández2023-10-092-0/+9
| | | | iirc this is the same behavior of dwm
* use the same border colors as dwmLeonardo Hernández Hernández2023-10-091-2/+2
|
* add missing url about the COLOR macroLeonardo Hernández Hernández2023-10-051-0/+1
|
* add macro to configure colorsLeonardo Hernández Hernández2023-10-051-3/+7
| | | | Closes: https://github.com/djpohly/dwl/issues/466
* Check if c is fullscreen before reparenting it to LyrFloatingForrest Bushstone2023-09-291-3/+4
| | | | Closes: https://github.com/djpohly/dwl/issues/487
* make sure that fullscreen clients are on the correct screen when isfloating ↵Forrest Bushstone2023-09-291-1/+1
| | | | | | is true Bug: https://github.com/djpohly/dwl/issues/487
* include dwl.desktop in the tarbalLeonardo Hernández Hernández2023-09-241-1/+1
|
* allow specify DATADIR (to install desktop file)Leonardo Hernández Hernández2023-09-242-4/+5
|
* Add desktop entry fileWeiseguy2023-09-222-1/+9
|
* fix typoAngelo Antony2023-09-101-1/+1
|
* call setfloating in setmonLeonardo Hernández Hernández2023-09-061-0/+1
| | | | | since in the previous commit we may not applying floating in clients this is to make sure we do
* return early if the client doesn't have monitor in setfloatingLeonardo Hernández Hernández2023-09-061-0/+2
| | | | | | there is still a bug, but for now this prevents a segfault Bug: https://github.com/djpohly/dwl/issues/472
* prefer IRC over DiscordLeonardo Hernández Hernández2023-08-231-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.
* just add defineBen Collerson2023-08-222-2/+3
|
* tagcount should have been a #defineBen Collerson2023-08-222-3/+3
|
* return nothing in xytonode()Leonardo Hernández Hernández2023-08-221-3/+2
| | | | we do not use the node
* Style: use early-return to clarify codeDevin J. Pohly2023-08-221-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
* No need to send surface.leave/enter eventsDevin J. Pohly2023-08-221-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
* don't resize clients on commitLeonardo Hernández Hernández2023-08-181-6/+0
| | | | It creates an infinite commit-resize loop when scale != 1
* do not use wl_event_loop for signal handlingLeonardo Hernández Hernández2023-07-131-13/+10
| | | | | | | ΔSLOC: -4 Fixes: https://github.com/djpohly/dwl/issues/456 Fixes: https://github.com/djpohly/dwl/issues/459
* Remove now-unneeded call to motionnotifyDevin J. Pohly2023-07-131-1/+0
| | | | | This appears to have been here for the side effect of updating the drag icon's position.
* Remove unused icon variableDevin J. Pohly2023-07-131-3/+1
|
* Make drag_icon a persistent scene nodeDevin J. Pohly2023-07-131-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
* properly destroy sceneDevin J. Pohly2023-07-131-0/+1
| | | | ΔSLOC: +1
* Unify signal handling under wl_event_loopDevin J. Pohly2023-07-031-48/+35
| | | | | | | Merge our signal handlers into a single function and let Wayland deal with all the struct sigaction stuff. ΔSLOC: -3
* Separate drag icon from layers array and Lyr enumDevin J. Pohly2023-06-251-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
* Don't bother with ignoring SIGCHLDDevin J. Pohly2023-06-161-41/+32
| | | | | It added complexity, especially with the differences in behavior between handled and ignored signals across an exec().
* Reset ignored signal handler in spawn() as wellDevin J. Pohly2023-06-161-0/+3
|
* fix startup_cmd SIGCHLD handlerDevin J. Pohly2023-06-161-0/+2
| | | | Ignored handlers are not reset by exec() calls
* Stray whitespace fixesA Frederick Christensen2023-06-072-4/+4
|
* activate lock surface in updatemonsLeonardo Hernández Hernández2023-06-021-1/+4
| | | | | Fixes an issue when swaylock does not receive input after turn off and then turn on the outputs
* send frame done even if output commit failsLeonardo Hernández Hernández2023-06-021-2/+2
| | | | | Bug: https://github.com/djpohly/dwl/issues/420 Fixes: https://github.com/djpohly/dwl/issues/353
* Set XCURSOR_SIZENikita Ivanov2023-06-011-0/+1
|
* remove note about contact me for patch issuesLeonardo Hernández Hernández2023-05-281-5/+0
| | | | | I am no longer able to spend much time developing dwl let alone maintaining other's patches :)
* destroy old client popups when focusing another clientLeonardo Hernández Hernández2023-05-271-9/+15
| | | | Closes: https://github.com/djpohly/dwl/issues/408
* Prevent using a wlr_layer_surface after destroying it, due to no available ↵Micah Gorrell2023-05-251-1/+3
| | | | outputs
* correctly check if a scene node is enabledLeonardo Hernández Hernández2023-04-131-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.
* remove unneeded check of `m` in arrange()Leonardo Hernández Hernández2023-04-131-3/+3
| | | | arrange must never be called with a NULL argument
* Use uint32_t for ui ArgBen Collerson2023-04-091-1/+1
|
* use fixed-size type for client tagsLeonardo Hernández Hernández2023-04-081-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