Siva Mahadevan
0928b2115e
move util.c to util.h
...
This allows single-source compilation and whole-program optimization using something like:
make CFLAGS='-flto -ffunction-sections -fdata-sections -Wl,--gc-sections'
Furthermore, move more compositor-agnostic utility functions/macros to util.h,
similar to the original dwm sources.
2026-03-19 14:41:09 +01:00
Diego Viola
a2d03cf618
Remove trailing whitespace from README
2026-03-02 02:13:43 +01:00
Diego Viola
cb4cc3ae8f
Fix typos
2026-02-25 02:38:09 -03:00
thanatos
9b76ee8e90
Updated README to clarify branch roles
...
This change effectively reverts DWL to the prior development model, where development of DWL itself happens against the current wlroots release, and changes in anticipation of the next wlroots release are made on a separate branch.
2026-02-21 19:50:17 +01:00
thanatos
908a73da82
Corrected README
2026-02-21 16:53:19 +01:00
thanatos
227cdf0128
Added Matrix to README
2026-02-21 16:46:08 +01:00
Guido Cella
ca4123072d
add support for the data control protocol
...
Enables the protocol documented at
https://wayland.app/protocols/ext-data-control-v1
It is the upstreamed version of the old wlr_data_control.
It is used e.g. by mpv to read and write the clipboard.
2026-02-12 01:47:40 +01:00
fauxmight
a8915224e8
Remove "unmaintained" notice from README
...
User @thanatos has offered to take on the lead developer role for dwl.
2026-02-09 08:06:25 +01:00
A Frederick Christensen
9b11a49cb7
config.def.h clarify Rule and MonitorRule comments closes #660
2025-12-27 17:08:32 -06:00
A Frederick Christensen
53e3e60d4d
config.def.h whitespace cleanup
2025-12-27 16:47:38 -06:00
jackinfurs
9837ea5729
fix: ignore case of keysyms in keybindings
2025-12-27 21:26:26 +00:00
fauxmight
9ba7461f4d
Update README.md
2025-12-19 06:12:24 +01:00
fauxmight
aca61738a2
Note unmaintained status in README
2025-12-19 06:12:03 +01:00
fauxmight
6cd26568d5
Update README.md
...
Document Java nonreparenting WM issue
Closes #722
2025-09-29 05:56:22 +02:00
fauxmight
ed2e1efda8
Update README.md
...
Make "dwl" references in README.md links to dwm main site.
Closes #1168
2025-09-29 05:39:54 +02:00
A Frederick Christensen
ab4cb6e283
Revert "add support for ext-image-copy-capture-v1 and ext-image-capture-source-v1 (wlroots!4545)"
...
This reverts commit b28674e0ca .
This PR is not yet finalized. (Screen freezes).
2025-08-04 16:27:34 -05:00
Leonardo Hernández Hernández
b28674e0ca
add support for ext-image-copy-capture-v1 and ext-image-capture-source-v1 (wlroots!4545)
...
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4545
2025-08-04 23:08:53 +02:00
A Frederick Christensen
15bfffd87a
fullscreen_bg defaults to black
...
Per conversation at PR #1147 with @kilpilainen
2025-06-18 23:41:14 -05:00
fauxmight
90b8371707
Update README.md
...
Correct description of default background color
2025-06-18 14:52:15 +02:00
Guido Cella
ea263a0ed5
float sub-windows matching a rule
...
Currently when a rule that doesn't make windows floating matches, even
sub-windows of float type get tiled rather than just the main window.
This is inconsistent with dwm and other compositors. Fix this by making
these windows floating after applying rules.
Fixes #1142 .
2025-06-14 22:27:25 +02:00
Leonardo Hernández Hernández
67ff29eb95
document status output
2025-06-09 13:55:38 -06:00
Leonardo Hernández Hernández
661e1ee38c
Use a subsection for mouse commands
...
also add missing ".El", s/Toggles/Toggle/ in second command and add newlines
after a full stop
2025-06-09 13:55:38 -06:00
Leonardo Hernández Hernández
9dbce43a69
document mouse button actions
...
[sevz: commit message is mine. The content was written by scottro11 and shared
in https://codeberg.org/dwl/dwl/issues/697 ]
Closes: https://codeberg.org/dwl/dwl/issues/697
2025-06-09 13:55:38 -06:00
Leonardo Hernández Hernández
59c99308b0
drop CAVEATS section from the man page
...
Since 71f11e6cf6 it is not longer the case
2025-06-09 13:55:37 -06:00
kilpilainen
02f8744a48
Use all-scroll instead of fleur xcursor shape for window dragging
...
When there are no xcursor themes available, Wayland uses its own built-in shapes [1].
Wayland (and thus to extend wlroots) is based on the XDG's cursor spec [2],
which itself is based on CSS' [3][4], neither of which define `fleur` shape. So dwl,
without any external themes, falls back to `default` shape when dragging a window.
There is `all-scroll` shape that is being symlinked to (or vice versa) by `move`,
`dnd-move`, `grabbed` and `fleur` shapes by various themes.
Since `all-scroll` is being symlinked to anyway, and has been part of all relevant
specs as the shape for this use case for a very long time now, use it instead.
[1] https://gitlab.freedesktop.org/wayland/wayland/-/blob/main/cursor/cursor-data.h#L559
[2] https://www.freedesktop.org/wiki/Specifications/cursor-spec
[3] https://drafts.csswg.org/css-ui/#cursor
[4] https://developer.mozilla.org/en-US/docs/Web/CSS/cursor
2025-06-09 13:39:40 -06:00
Nikita Ivanov
d1880b4422
Fix crash disabling monitor with locked surface
2025-06-09 13:33:02 -06:00
A Frederick Christensen
78e75a83a4
Revert "Update config.mk"
...
This reverts commit 7d2415bfe8 .
Will stick with wlroots 0.19 for now.
2025-06-09 00:18:17 -05:00
mcsimw
7d2415bfe8
Update config.mk
...
compiles and works fine on wlroots-0.20
2025-06-09 06:54:02 +02:00
A Frederick Christensen
de57f6c315
Cleanup comments
2025-06-07 16:17:30 -05:00
fauxmight
faa56cc9b9
Update README.md
2025-04-24 04:28:44 +00:00
DreamMaoMao
4456f4536a
fix: shouldn't configure uninitialized layer_surface
2025-03-13 20:36:18 +00:00
DreamMaoMao
e0f531d508
fix: crash when open some x11 app
2025-03-12 16:27:47 +08:00
korei999
aa69ed81b5
allocate with LISTEN_STATIC
...
Fixes: https://codeberg.org/dwl/dwl/issues/723
Supersedes: https://codeberg.org/dwl/dwl/pulls/724
2025-02-01 22:34:58 -06:00
Leonardo Hernández Hernández
d1c2f43498
rename some listeners
...
To keep consistency with the rest of listeners
2025-01-19 17:27:16 -06:00
Leonardo Hernández Hernández
da13a95683
destroy keyboard group after unlinking listeners
...
Last commit addressing the issue mentioned in
0925fe956a
2025-01-19 17:26:28 -06:00
Leonardo Hernández Hernández
9a9f67db1c
unlink global listeners on destroy
...
Continuation of 0925fe956a
2025-01-19 17:26:02 -06:00
Leonardo Hernández Hernández
4e7e2999d4
Partially revert "Line saver: LISTEN_STATIC macro"
...
This reverts commit 33bcd2e4ca .
We keep LISTEN_STATIC for three instances where we use it. We use
simple listeners for the rest of signals.
This is the continuation of 0925fe956a
2025-01-19 17:24:54 -06:00
Leonardo Hernández Hernández
0925fe956a
unlink some destroy listeners
...
Recently wlroots was updated to assert that signals do not have listeners
attached on destroy.
This is just a preliminar work to fix dwl. At the moment dwl will trigger the
assertions at exit.
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4918
2025-01-17 21:03:28 -06:00
Leonardo Hernández Hernández
26504f9a6f
do not call waitid(2) in the signal handler when Xwayland is enabled
...
waitid(2) is not a async-signal-safe function acording to signal-safety(7)
We can stop doing this because wlroots!4926 allows compositors to install
signal handlers for SIGCHLD.
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4926
2025-01-14 12:23:55 -06:00
Leonardo Hernández Hernández
6f34a6d3a6
use wlr_xwayland_surface_has_window_type() (wlroots!4553)
...
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4553
2025-01-14 12:23:55 -06:00
Leonardo Hernández Hernández
30f5063474
manually call updatemons in powermgrsetmode()
...
Fixes: https://codeberg.org/dwl/dwl/issues/713
2024-12-10 22:49:09 -06:00
Leonardo Hernández Hernández
1d08ade132
remove binary before copying to destination
...
Since Linux 6.11 is possible overwrite a running executable, possibly making it
crash.
Thanks to: movq42rax
Fixes: https://codeberg.org/dwl/dwl/issues/709
References: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=2a010c412853
References: https://lore.kernel.org/stable/CACKH++YAtEMYu2nTLUyfmxZoGO37fqogKMDkBpddmNaz5HE6ng@mail.gmail.com/T/#u
2024-11-15 00:26:51 -06:00
Leonardo Hernández Hernández
84245764e2
specify version for presentation-time (wlroots!4858)
...
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4858
2024-10-27 20:37:15 -06:00
Leonardo Hernández Hernández
6ca87210d4
check if the backend supports explicit sync before creating the object (wlroots!4848)
...
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4848
2024-10-27 20:37:15 -06:00
Leonardo Hernández Hernández
002c7d2204
tell xwayland clients they're maximized
...
like we do to xdg clients when tiled state is not supported.
2024-09-21 21:00:47 -06:00
Guido Cella
8206cc8889
fix a use after free
...
This line makes dwl crash after closing mpv with the switchtotag patch.
2024-09-12 04:33:19 +00:00
Guido Cella
54f207839f
reorder config.mk variables
...
By placing the default WLR_INCS and WLR_LIBS before the ones for an
alternative wlroots, they don't need to be commented to enable the
alternative ones.
2024-09-08 20:51:41 +02:00
Leonardo Hernández Hernández
9c05b9622c
fix style for client_set_scale()
2024-08-30 22:29:08 -06:00
choc
d34be5d545
remove unused link member from KeyboardGroup
...
unnecessary since grouping Keyboard wl_list to use wlr_keyboard_group in 023efce
ΔSLOC: -1
2024-08-27 23:12:00 -06:00
Leonardo Hernández Hernández
c49312f084
disable scene node unless it is unmanaged
2024-08-27 23:09:46 -06:00
Leonardo Hernández Hernández
f899060965
send a configure to unmanaged clients when mapping
2024-08-27 23:09:46 -06:00
Leonardo Hernández Hernández
cc72df11d6
configure xdg_toplevels after configuring it's decoration
2024-08-27 23:09:46 -06:00
Leonardo Hernández Hernández
0312720ae8
remove a space before parenthesis in function calls
2024-08-27 23:09:46 -06:00
Leonardo Hernández Hernández
6de87121e2
destroy popups when we can't get it's parent or they don't have monitor
2024-08-27 23:09:46 -06:00
Leonardo Hernández Hernández
bbc00d88a4
remove a redundant check
...
resize() now does the same check
2024-08-27 23:09:46 -06:00
Leonardo Hernández Hernández
54b546121b
avoid using a else block
2024-08-27 23:09:46 -06:00
Leonardo Hernández Hernández
43016bdad8
introduce client_set_scale()
2024-08-27 23:09:41 -06:00
Leonardo Hernández Hernández
b616476c85
remove unnecessary LayerShell.geom
...
We only used geom.x and geom.y. We can access those variables directly from the
scene node.
2024-08-27 23:09:08 -06:00
Leonardo Hernández Hernández
d4ad37354e
update comment about first fields of Client and LayerSurface order
2024-08-27 23:09:08 -06:00
Leonardo Hernández Hernández
5db05e82bd
fix style in configurex11()
2024-08-27 23:09:08 -06:00
Leonardo Hernández Hernández
8ec5e52e06
fix crash when a client is created while all outputs are disabled
2024-08-26 21:56:10 -06:00
Leonardo Hernández Hernández
c5275ca571
state that the Discord server is community-maintained
...
Previously I regularly checked the server but it has been quite a long time
since I was able to do it.
2024-08-18 19:24:04 -06:00
A Frederick Christensen
2c0b889f86
Update CHANGELOG.md
2024-08-18 19:23:56 -06:00
Leonardo Hernández Hernández
554754c9a2
chase xdg_surface geometry changes (wlroots!4788)
...
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4788
2024-08-14 13:37:14 -06:00
Leonardo Hernández Hernández
0caa658276
use wlr_scene_set_gamma_control_manager_v1() (wlroots!4192)
...
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4192
2024-08-14 12:21:27 -06:00
Leonardo Hernández Hernández
07aeef1f7e
guarantee client_get_{title,appid} never return NULL
...
ΔSLOC: -6
2024-08-14 12:19:37 -06:00
Leonardo Hernández Hernández
e454f7ae81
allow the use of non-system wlroots library
...
References: https://codeberg.org/dwl/dwl/issues/646#issuecomment-2032644
2024-08-14 12:00:52 -06:00
Leonardo Hernández Hernández
334bbe6f0f
fix potential crash in configurex11()
...
We can't call resize() on unmanaged clients because they don't have borders and
resize() requires them.
Fixes: 94f4ead7da
2024-08-10 10:47:48 -06:00
Leonardo Hernández Hernández
1b805ddd38
account border width in configurex11()
...
Fixes: 13925eb1da
2024-08-08 14:46:25 -06:00
Leonardo Hernández Hernández
94f4ead7da
actually move unmanaged clients in configurex11()
...
only calling wlr_xwayland_surface_configure() may be not enough because we also
need to move the scene node in order to make effective the configure
2024-08-08 14:46:08 -06:00
Leonardo Hernández Hernández
bb21ecda30
improve checking in configurex11()
...
this avoids a client resizing itself when the user is interactively resizing
the client
2024-08-08 14:33:03 -06:00
Leonardo Hernández Hernández
b25717c939
drop a useless check in configurex11()
2024-08-08 14:19:39 -06:00
Leonardo Hernández Hernández
a4fa954616
do not restack xwayland surfaces (wlroots!4756)
...
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4756
2024-08-07 16:58:16 -06:00
Leonardo Hernández Hernández
35951a8d7e
add support for linux-drm-syncobj-v1 (wlroots!4715)
...
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4262
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4715
2024-08-06 12:20:25 -06:00
Leonardo Hernández Hernández
a634e3f527
fix crash when a virtual pointer is destroyed
...
Fixes: https://codeberg.org/dwl/dwl/issues/680
2024-08-06 12:01:22 -06:00
Leonardo Hernández Hernández
d136dadf45
-pedantic -> -Wpedantic
...
Bug: https://codeberg.org/dwl/dwl/issues/584
2024-08-01 22:41:00 -06:00
Sivecano
672b4c405d
fix maximize callback not getting deregisterd
2024-07-27 22:05:53 -06:00
Leonardo Hernández Hernández
b5abbc37d8
fix crash when re-mapping a client
...
Fixes: ab5c554d09
2024-07-27 21:59:27 -06:00
Leonardo Hernández Hernández
986beef5be
replace spaces with tabs
...
Fixes: 71f11e6cf6
2024-07-27 00:41:39 -06:00
Leonardo Hernández Hernández
487abc28ba
add myself to .mailmap
2024-07-24 15:51:49 -06:00
Leonardo Hernández Hernández
cd216908a7
send scale on initial commit to layer surfaces
...
Signed-off-by: Leonardo Hernández Hernández <leohdz172@proton.me >
2024-07-24 06:25:54 -05:00
Lennart Jablonka
f2c5023a3a
dwl(1): use correct special characters for - and '
...
The hyphen-minus <-> and apostrophe-quote <'> are interpreted by troff
as hyphen and right single quotation mark. See groff_char(7).
Fixes: 0db6f3c5b5 ("add dwl(1)")
2024-07-23 23:32:15 +00:00
Lennart Jablonka
4bbbb4907e
add myself to .mailmap
2024-07-23 23:32:15 +00:00
A Frederick Christensen
ea6a450121
README.md Fix links formatting issue after re-flow text to 80 columns
2024-07-21 14:34:45 -05:00
A Frederick Christensen
ad30ca910b
Documentation restructuring
...
Modified documentation to make clear the change in development (main) branch versus releases.
2024-07-21 14:21:43 -05:00
Leonardo Hernández Hernández
452a314faa
update README.md to mention the main branch now requires wlroots-git
...
Closes: https://codeberg.org/dwl/dwl/issues/646
2024-07-14 21:55:58 -06:00
Leonardo Hernández Hernández
da6de7c4d7
update wlr_xwayland_surface names (wlroots!2434)
...
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/2434
2024-07-14 21:37:03 -06:00
Leonardo Hernández Hernández
2553111aa3
bump wlroots version
2024-07-14 21:34:44 -06:00
Leonardo Hernández Hernández
51881da27b
bump version to 0.8-dev
2024-07-14 21:34:28 -06:00
Leonardo Hernández Hernández
7328e5691c
changelog: add new 'unreleased' section
2024-07-14 21:33:37 -06:00
Leonardo Hernández Hernández
bd59573f07
bump version to 0.7-rc1
2024-07-14 21:25:37 -06:00
Leonardo Hernández Hernández
0060e1922d
prepare CHANGELOG.md for 0.7
2024-07-14 21:25:37 -06:00
Leonardo Hernández Hernández
c709b09e10
changelog: add new 'unreleased' section
2024-07-14 21:13:20 -06:00
Guido Cella
efe10ea655
use the parent scene node to determine if move clients out of LyrFloat
...
[sevz: commit message is mine]
2024-07-14 21:10:44 -06:00
Leonardo Hernández Hernández
9a962ce136
Reapply "place child clients above fullscreen clients"
...
This reverts commit 043ab3ac13 .
2024-07-14 21:10:44 -06:00
Leonardo Hernández Hernández
0761fd0691
Merge branch 'wlroots-next'
2024-07-14 21:10:44 -06:00
Leonardo Hernández Hernández
12b44421c8
bump to linux-dmabuf version 5
2024-07-13 20:23:04 -06:00
Leonardo Hernández Hernández
5a4839b1c8
bump version to 0.6
2024-07-13 16:34:01 -06:00
Leonardo Hernández Hernández
bd5001b780
prepare CHANGELOG.md for 0.6
2024-07-13 16:30:51 -06:00
Leonardo Hernández Hernández
043ab3ac13
Revert "place child clients above fullscreen clients"
...
This does not work as intended. Lets revert it temporarily and add it back
after the release.
This reverts commit 298949bbc4 .
2024-07-12 21:08:48 -06:00
Rutherther
aede3b294b
Fix applybounds
...
Applybounds doesn't move client when it overlays
only with border with monitor to the right.
Apparently, c->geom.width already includes the border
as well.
2024-07-03 13:39:32 -06:00
Rutherther
7d8c3ea369
feat: focus empty monitor when clicked
2024-07-03 13:35:29 -06:00
Leonardo Hernández Hernández
2db0a2e8ef
use round(3) and ceilf(3) from the math library
...
ΔSLOC: -1
2024-07-03 13:27:52 -06:00
Leonardo Hernández Hernández
ab5c554d09
set preferred scale after the first commit (XDGshell)
2024-07-03 13:27:51 -06:00
Leonardo Hernández Hernández
b4638fef29
drop useless maplayersurfacenotify()
2024-07-03 13:27:51 -06:00
Leonardo Hernández Hernández
71f11e6cf6
set O_NONBLOCK flag to stdout
2024-07-01 20:40:54 -06:00
Leonardo Hernández Hernández
2b4893a0ad
add a note about having at least a dummy rule for rules[]
...
Closes: https://codeberg.org/dwl/dwl/issues/656
2024-06-29 20:41:54 -06:00
Leonardo Hernández Hernández
1002ea04fa
add bugref about why we call updatemons in outputmgrapplyortest
2024-06-25 22:24:38 -06:00
Leonardo Hernández Hernández
5d73134e33
Merge remote-tracking branch 'upstream/main' into wlroots-next
2024-06-25 11:50:42 -06:00
Leonardo Hernández Hernández
46ae075430
set preferred scale on creation (LayerShell)
2024-06-25 11:33:49 -06:00
Leonardo Hernández Hernández
13925eb1da
correctly report position to xwayland clients
...
Previously we didn't take into account their borders requiring us to add
`borderpx` to override_redirect clients.
Fixes: https://codeberg.org/dwl/dwl/issues/651
2024-06-24 13:32:03 -06:00
Leonardo Hernández Hernández
4a7d1bebf5
add bugref for negative x,y monitor position and xwayland
2024-06-22 00:21:17 -06:00
Leonardo Hernández Hernández
baedf7f791
Merge remote-tracking branch 'upstream/main' into wlroots-next
2024-06-20 23:32:44 -06:00
Leonardo Hernández Hernández
845d3c47bd
Reapply gamma LUT when re-enabling an output using wlr-output-power-management
2024-06-20 23:30:46 -06:00
Leonardo Hernández Hernández
9cdce1b8ff
try to limit (79 characters) the line lenght in the Makefile
2024-06-20 23:29:26 -06:00
Leonardo Hernández Hernández
4cf1d604b8
Merge remote-tracking branch 'upstream/main' into wlroots-next
2024-06-20 22:44:50 -06:00
thanatos
650a918010
Updated power management handling to address issues raised in the PR
2024-06-20 19:11:53 -06:00
David Donahue
2902df94d6
Prevent updatemons() from removing monitors that have been put to sleep from the layout
2024-06-20 19:11:53 -06:00
Emil Miler
9b1f35e42b
Implement support for output power management
...
This patch is based on the original stale patch by Guido Cella @guidocella.
It has been modified to apply cleanly to the latest v5.0 tag. Since the SLOC
limit is now lifted, this core feature should be merged into dwl upstream.
Thanks to Dima Krasner @dimkr for the cherry-pick.
Closes : #559 , #525
2024-06-20 19:11:52 -06:00
Leonardo Hernández Hernández
92d1c286b8
default CC to gcc
...
posix c99 does not accept `-pedantic`
Fixes: https://codeberg.org/dwl/dwl/issues/584
2024-06-20 18:42:00 -06:00
Rutherther
784b047b38
Check for null monitor in resize function
2024-06-20 17:49:29 -06:00
Rutherther
11baacbec0
Add output to layout after enabled state is committed
2024-06-20 17:49:29 -06:00
Rutherther
16076ec5a4
fix: make sure selmon doesn't get set to disabled mon
2024-06-20 17:49:25 -06:00
Leonardo Hernández Hernández
a8403d7b4d
handle gpu resets
...
Fixes: https://codeberg.org/dwl/dwl/issues/601
2024-06-20 16:58:31 -06:00
Peter Hofmann
7a46fccdba
Run startup_cmd in new session and kill the entire group
...
When a user's startup_cmd is a little more complex, e.g. a shell script,
and forks off several processes, then killing only the main child pid
might leave unwanted processes behind on exit. Not all children will
notice when their parent or the compositor has quit.
To fix this, put startup_cmd into its own session and process group, and
kill the entire group on exit.
2024-06-20 16:36:08 -06:00
Forrest Bushstone
c2e7350f2e
Make sure toplevel_from_wlr_surface is called with a valid surface pointer
2024-06-14 01:43:32 -06:00
Leonardo Hernández Hernández
7570dc0a41
minor adjustments in Makefile
2024-06-13 14:46:09 -06:00
Guido Cella
e5a57fb155
use tabs in client.h
...
Fixes 298949bbc4 .
2024-06-12 14:25:58 -06:00
Leonardo Hernández Hernández
57b5e41063
use enum headers when possible
2024-06-08 20:16:16 -06:00
Leonardo Hernández Hernández
f4b6b429ec
Merge remote-tracking branch 'upstream/main' into wlroots-next
2024-06-04 14:03:37 -06:00
Leonardo Hernández Hernández
21205f2f40
make sure clients share the same layer on floating layout
2024-06-04 13:58:16 -06:00
Leonardo Hernández Hernández
8f6fca35d0
create a keyboard group for each virtual keyboard
2024-06-02 23:33:57 -06:00
A Frederick Christensen
bca077b927
Allow negative coordinates in MonitorRules
...
Monitor/output position (-1, -1) remains as a single indicator value for autoconfigure layout.
Additionally, one minor comment typo is corrected.
2024-06-02 18:54:11 -05:00
Forrest Bushstone
0047ff740a
Replicate dwm behavior for sloppyfocus
2024-05-30 16:24:42 -06:00
Leonardo Hernández Hernández
bf81a128ec
wlroots now allows parallel installs
2024-05-27 23:10:40 -06:00
fauxmight
9825c26cdd
dwl-patches overhaul - doc changes
2024-05-10 05:08:54 +00:00
A Frederick Christensen
34b7a57211
Update wmenu-run name
2024-05-05 13:52:25 -05:00
sewn
5c19e23146
switch to wmenu
...
bemenu is very bloated, turning itself into a library, which makes it
7489 SLOC.
wmenu on the other hand, looks suckless by default, and is only 2000
SLOC, which i also find alot nicer to use, since bemenu does nothing
to replicate the original dmenu feel.
2024-05-05 18:40:23 +00:00
Leonardo Hernández Hernández
3b1f0a8a88
add support for alpha-modifier-v1 (wlroots!4616)
...
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4616
2024-04-30 12:36:10 -06:00
Leonardo Hernández Hernández
bb73481662
use wlr_renderer_get_texture_formats (wlroots!4644)
...
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4644
2024-04-21 15:53:59 -06:00
choc
577d8da6d1
put wlr_layer_shell top layer below fullscreen
...
fixes wlr_layer_shell top clients showing over fullscreen clients
2024-04-04 11:09:05 -06:00
Leonardo Hernández Hernández
72e2ce8b00
Merge remote-tracking branch 'upstream/main' into wlroots-next
2024-04-04 10:50:21 -06:00
Leonardo Hernández Hernández
dd00d994ce
do not set withdrawn state for xwayland clients
...
Closes: https://codeberg.org/dwl/dwl/issues/573
2024-03-31 21:41:12 -06:00
korei999
f7154d539d
properly resize on configurex11
2024-03-31 21:39:21 -06:00
A Frederick Christensen
3a95d4ed03
Fix rule examples; minimize newbie surprises
...
Make example rules be actual EXAMPLES.
Now newcomers should not have to ask, "When I start firefox, nothing
happens. What is going on?"
Also clarified a minor typo and a consistency in spacing.
2024-03-26 20:00:46 -05:00
Guido Cella
2b171fd501
fix virtual pointers
...
When motionabsolute() is called from warpd, event->time_msec is 0, so
motionnotify() doesn't call wlr_cursor_move(). Fix this by explicitly
warping the cursor in this case, like it was done before implementing
pointer constraints.
I don't know if this is a bug in warpd or time_msec is always 0 with
virtual pointers, since the only other software that uses the virtual
pointer protocol I know of is wl-kbptr, and I can't get that to work
with dwl at all.
2024-03-11 19:01:13 +01:00
Forrest Bushstone
ea33ce9ae6
Support pointer constraints and relative pointer protocols
...
Fixes: https://codeberg.org/dwl/dwl/issues/489
FIxes: https://codeberg.org/dwl/dwl/issues/317
2024-03-11 11:34:26 -06:00
Leonardo Hernández Hernández
a0117eea76
use enums from the wayland protocol (wlroots!4575)
...
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4575
2024-02-29 14:05:09 -06:00
Leonardo Hernández Hernández
7b3eb70501
misc fixes to xdg-toplevel-decoration
2024-02-06 20:37:36 -06:00
Leonardo Hernández Hernández
c215e8a3e1
send initial configure to xdg-toplevels (wlroots!4396)
...
We still need to fix xdg-popups
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4396
2024-02-06 20:30:40 -06:00
Leonardo Hernández Hernández
8e0b5baf8e
Merge remote-tracking branch 'upstream/main' into wlroots-next
2024-02-07 02:27:07 +00:00
Guido Cella
8006e79200
allow toggling the layout before selecting a different one
2024-02-07 02:23:33 +00:00
Leonardo Hernández Hernández
5ae245beed
fix minimum size
...
continuation of 4043fc3093
2024-02-07 02:21:26 +00:00
A Frederick Christensen
089480e0b6
Update and correct patches/patches-wiki links
...
Signed-off-by: Leonardo Hernández Hernández <leohdz172@proton.me >
2024-02-06 19:53:13 -06:00
Benjamin Chausse
3c98c4c24d
Fix link to patches website
...
Signed-off-by: Benjamin Chausse <benjamin@chausse.xyz >
2024-02-06 00:39:01 +00:00
Guido Cella
298949bbc4
place child clients above fullscreen clients
...
When a child window of a fullscreen client is mapped, the fullscreen is
disabled, and if the previously fullscreen client is floating the child
window is rendered below it and cannot be seen, causing confusion,
though it is still focused and interactable.
Fix this by putting children of fullscreen clients in LyrFS instead of
LyrFloat, and by returning before the unset_fullscreen code is called
when they are mapped.
focusstack() now lets you switch focus from a fullscreen client to its
child windows, otherwise if you switch focus from the child window to
the fullscreen client you could not focus the child window again and the
fullscreen client would stay unresponsive.
Child clients are not reparented to LyrFloat after leaving fullscreen,
so you could spawn a child window, focus back the fullscreen client,
unfullscreen it, and the child window would still be drawn above other
floating clients. Avoid dealing with this edge case to keep the line
count low.
These cases can be tested by pressing Ctrl+o in applications with an
open file dialog.
2024-02-05 16:00:28 -06:00
Guido Cella
17c5cbbf7b
make XWayland clients inherit tags and monitors
...
Revert 3213088 because the linked bug can no longer be reproduced with
wlroots 0.17, and update client_get_parent() so it doesn't segfault with
XWayland surfaces. This also allows reusing the p variable in the next
commit.
2024-02-05 15:59:46 -06:00
Guido Cella
45e3694fc8
remove useless wlr_scene_node_reparent() calls
...
These don't do anything because wlr_scene_node_reparent() is immediately
called again by setfloating() through setmon(). They are also a source
of confusion because if you change the wlr_scene_node_reparent() call in
applyrules() it takes a while to understand why it doesn't work.
2024-02-05 15:59:46 -06:00
Leonardo Hernández Hernández
5c936efc42
Revert "No need to call updatemons ourselves"
...
Fixes: https://codeberg.org/dwl/dwl/issues/577
This reverts commit 26d7c9689f .
2024-01-30 22:54:54 -06:00
A Frederick Christensen
9830a991ff
Correct specifier-data_type mismatches
2024-01-26 23:12:35 -06:00
Guido Cella
863634a61c
configure xwayland surfaces without monitors
...
For wine clients often configurex11() is called before mapnotify() and
therefore c->mon is NULL. configurex11 just returns early in that case,
letting these clients stay in the wrong size. For example only the top
left part of winecfg and wine uninstaller is drawn, or confirmation
dialogs like when closing wine notepad are too big. Fix this by
configuring their surfaces like before 88d386b .
2024-01-25 19:47:34 -06:00
Leonardo Hernández Hernández
5fec98b17a
pass wl_event_loop to wlr_backend_autocreate (wlroots!4443)
...
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4443
2024-01-25 12:12:22 -06:00
Guido Cella
ac6074f4fd
implement the virtual pointer protocol
...
This is used by programs like warpd.
2024-01-25 17:13:01 +00:00
Leonardo Hernández Hernández
433385f7f1
do not arrange monitor if it's disabled (wlroots!4520)
...
This causes us to send negative values to xdg-configures (e.g a bug in our end)
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4520
(cherry picked from commit 4043fc3093 )
2024-01-24 13:36:46 -06:00
Leonardo Hernández Hernández
4043fc3093
do not arrange monitor if it's disabled (wlroots!4520)
...
This causes us to send negative values to xdg-configures (e.g a bug in our end)
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4520
2024-01-24 12:12:09 -06:00
Leonardo Hernández Hernández
b3f33e9147
add support for axis_relative_direction event (wlroots!4003)
...
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4003
2024-01-24 12:10:54 -06:00
Leonardo Hernández Hernández
f136aa088a
Revert "drop wl_drm (wlroots!4397)"
...
There still a lot software that uses this protocol
This reverts commit facbe57fcb .
2024-01-24 12:09:55 -06:00
Leonardo Hernández Hernández
1c3aaa70ba
Merge remote-tracking branch 'upstream/main' into wlroots-next
2024-01-24 12:09:42 -06:00
Devin J. Pohly
26d7c9689f
No need to call updatemons ourselves
...
The output manager in wlroots emits an output_layout.change event when
anything changes, so updatemons will be called anyway.
ΔSLOC: -1
2024-01-20 21:51:20 -06:00
Leonardo Hernández Hernández
6c8be38ec4
drop unused variable
2024-01-15 02:19:02 +00:00
Leonardo Hernández Hernández
417e37f988
request description before logs
2024-01-15 02:15:54 +00:00
Leonardo Hernández Hernández
a1f3e25c35
turn on -Wfloat-conversion
2024-01-15 02:09:18 +00:00
Leonardo Hernández Hernández
0151bd48dd
turn on -Wsign-compare
2024-01-15 02:09:18 +00:00
A Frederick Christensen
337d6ba3fb
acknowledgements refactoring
2024-01-14 09:01:49 -06:00
Leonardo Hernández Hernández
ec557f253b
clarify the code will be kept as small as possible
2024-01-12 22:34:09 -06:00
choc
fd263041a0
check if monitor is null before setting gamma
...
fixes segfault on monitor disconnect when using wlsunset
2024-01-11 17:17:57 +08:00
Leonardo Hernández Hernández
a73afc66ab
drop SLOC limit
2024-01-10 20:50:34 -06:00
Leonardo Hernández Hernández
facbe57fcb
drop wl_drm (wlroots!4397)
...
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4397
2024-01-10 18:13:31 -06:00
Leonardo Hernández Hernández
f5b046ce9e
prefer functionality over philosophy
2024-01-10 00:20:11 -06:00
Leonardo Hernández Hernández
6340989c8e
add acknowledgment to djpohly
2024-01-10 00:17:06 -06:00
Ben Jargowsky
25e34e4d0c
Destroy fullscreen node after moving clients off mon
2024-01-06 17:34:08 -08:00
Leonardo Hernández Hernández
668022bc90
don't send configure events to uninitialized xdg-toplevels
2024-01-05 11:12:34 -06:00
Leonardo Hernández Hernández
c222468887
don't send configure events to uninitialized xdg-popups
2024-01-05 11:08:50 -06:00
Leonardo Hernández Hernández
f3c4f72314
fix posible NULL-dereference in wl_surface.commit handler
2024-01-01 00:51:01 -06:00
Leonardo Hernández Hernández
05c263de45
only create wlr_presentation (wlroots!4482)
...
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4482
2023-12-27 11:45:36 -06:00
Leonardo Hernández Hernández
bf35e77811
Merge remote-tracking branch 'upstream/main' into wlroots-next
2023-12-27 11:22:11 -06:00
Leonardo Hernández Hernández
6cbf8e9b80
unset DISPLAY before setting up xwayland
2023-12-27 11:19:03 -06:00
Leonardo Hernández Hernández
d13015381b
only execute the first keybinding
2023-12-27 11:18:24 -06:00
Leonardo Hernández Hernández
e277d84c51
more style fixes
...
missed from the previous iteration
2023-12-27 11:17:52 -06:00
Leonardo Hernández Hernández
bf5a6be73c
Merge remote-tracking branch 'upstream/main' into wlroots-next
2023-12-26 16:21:28 -06:00
Leonardo Hernández Hernández
1f0afcfc28
create a wlr_keyboard_group for virtual keyboards
...
Fixes: https://codeberg.org/dwl/dwl/issues/554
2023-12-25 21:19:59 -06:00
Leonardo Hernández Hernández
23fd312409
fix typo
...
Fixes: 7afdc191fe
Thanks to: David Donahue <david.donahue2996@gmail.com >
2023-12-18 14:08:09 -06:00
Leonardo Hernández Hernández
e39d931430
tie xdg_toplevel_decorations to Client
...
a xdg_toplevel can only have one xdg_toplevel_decoration so there is no need to
have a new struct for decorations
2023-12-18 12:59:47 -06:00
Leonardo Hernández Hernández
396840cdf2
Revert "nuke CSDs, hopefully for good!"
...
The compositor must respond to the client requesting a change to the decoration
mode, it does not matter if the compositor chooses a different mode.
This reverts commit 9071ce6c84 .
2023-12-18 12:56:20 -06:00
Leonardo Hernández Hernández
a71b368483
Revert "remove typedef Decoration"
...
This reverts commit d1ff1e6f75 .
2023-12-18 12:56:19 -06:00
Leonardo Hernández Hernández
7afdc191fe
style fixes
2023-12-17 21:42:50 +00:00
David Donahue
023efce6eb
use wlr_keyboard_group to manage all keyboards
2023-12-17 21:41:39 +00:00
Leonardo Hernández Hernández
fa660fb61e
check toplevel resources
...
it's just a aesthetic change
2023-12-12 22:21:32 -06:00
Leonardo Hernández Hernández
126a333354
Merge remote-tracking branch 'upstream/main' into wlroots-next
...
Fixes: https://codeberg.org/dwl/dwl/issues/432
Fixes: https://codeberg.org/dwl/dwl/issues/547
2023-12-11 00:31:17 -06:00
Dima Krasner
9a84789ff1
restore and respect rootcolor
2023-12-11 00:30:17 -06:00
Leonardo Hernández Hernández
49bfe92703
merge X11Managed and X11Unmanaged into X11
...
now that client_is_unmanaged() checks the wlr struct we don't need to keep
track of it ourselves
2023-12-10 23:46:49 -06:00
Leonardo Hernández Hernández
c88960751d
check if a client is unmanaged checking the o-r flag
...
it may change at any moment and I don't really want to add a listener for it
2023-12-10 23:46:40 -06:00
Leonardo Hernández Hernández
9c5bdcfbe8
do not blindly try to send motion events when pointer button is pressed
...
we don't have to do this if the surface is the same
2023-12-10 23:27:59 -06:00
Leonardo Hernández Hernández
0de7d1aa71
Merge branch 'main' into wlroots-next
2023-12-07 22:43:13 -06:00
Leonardo Hernández Hernández
1884a07646
sort LISTEN calls in createnotify{,x11}
2023-12-07 22:40:59 -06:00
Leonardo Hernández Hernández
79c51a4584
use the same style for urgent() and sethints()
2023-12-07 22:37:35 -06:00
Leonardo Hernández Hernández
f5d839844d
remove an unneeded cast in createpointer()
2023-12-07 22:37:00 -06:00
Leonardo Hernández Hernández
e03896b4d6
avoid duplication of lines
...
the output state is copied when creating a output configuration head
2023-12-07 22:18:49 -06:00
Leonardo Hernández Hernández
e7e84b1083
add explanation about why we try to re-apply the gamma LUT on output changes
2023-12-07 22:17:48 -06:00
Leonardo Hernández Hernández
9694477b2f
relax a bit the line length limit
2023-12-07 22:16:13 -06:00
Leonardo Hernández Hernández
6a15167754
add a blank line to improve readability
2023-12-07 22:15:42 -06:00
Leonardo Hernández Hernández
e5e2d1c28f
use (struct wlr_box){0} to empty the Monitor areas
2023-12-07 22:04:24 -06:00
Leonardo Hernández Hernández
bdbfb45d66
copy layout symbol when matching a MonitorRule
2023-12-07 21:51:24 -06:00
Leonardo Hernández Hernández
50ea84c5f6
remove extra blank line
2023-12-07 21:49:26 -06:00
Leonardo Hernández Hernández
472a31b5a4
LayerSurface::link -> LayerSurface.link
2023-12-07 21:48:56 -06:00
Leonardo Hernández Hernández
a760757b82
set the correct border color when mapping a client
2023-12-07 21:44:53 -06:00
Leonardo Hernández Hernández
80c9ad12ba
reduce calls to client_get_geometry
2023-12-07 21:43:48 -06:00
Leonardo Hernández Hernández
7341d047da
add a note about not removing the default rule
...
Closes: https://codeberg.org/dwl/dwl/issues/527
2023-12-07 14:20:49 -06:00
fictitiousexistence
be2a1dea26
Update README.md
2023-12-07 14:19:42 -06:00
Leonardo Hernández Hernández
393078d80c
store the layersurface pointer in l->popups->node.data as well
2023-12-07 14:19:09 -06:00
Leonardo Hernández Hernández
28ec843aee
make sure popups of a layer surface are in the correct layer
...
previously it worked because we checked in every commit the layer
in a353eee2ca and
b100b446b8
we changed the way it's handled and now if the layer surface does not change
the layer we don't it either. meaning that if it was created in the bottom
layer and did not change the layer the popups would show behind xdg clients
2023-12-07 14:19:02 -06:00
Leonardo Hernández Hernández
2b3504e439
sort #includes
2023-12-01 21:35:50 -06:00
Leonardo Hernández Hernández
bab5c0185a
Merge remote-tracking branch 'upstream/main' into wlroots-next
2023-11-30 22:44:52 -06:00
Leonardo Hernández Hernández
5f7d396996
don't return early if the first output commit fails
2023-11-30 22:39:03 -06:00
Leonardo Hernández Hernández
901d2e2d9d
check failure of wlr_output_init_render
2023-11-30 22:38:52 -06:00
Leonardo Hernández Hernández
00e867d536
use detached output state in createmon()
...
see previous commit for motivation
2023-11-30 22:38:39 -06:00
Leonardo Hernández Hernández
2e29189b92
use a detached output state in outputmgrapplyortest()
...
wlr_output.pending might be removed in wlroots 0.18
2023-11-30 22:38:11 -06:00
Leonardo Hernández Hernández
43f31b8f1b
improve the bug report template
...
Fixes: https://codeberg.org/dwl/dwl/issues/498
2023-11-28 23:03:35 -06:00
Leonardo Hernández Hernández
ff39cac355
convert issue templates to yaml
...
also move the templates to .gitea to reflect the migration to Codeberg
2023-11-28 21:28:51 -06:00
Leonardo Hernández Hernández
70c5fcc23d
chase xdg-shell events update (wlroots!4345)
...
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4345
2023-11-27 00:06:03 -06:00
Leonardo Hernández Hernández
3fe3581a59
chase wlr_layer_shell_v1.new_surface changes (wlroots!4265)
...
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4265
2023-11-27 00:06:03 -06:00
Leonardo Hernández Hernández
057d50af8c
pass wl_display to wlr_output_layout_create (wlroots!4310)
...
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4310
2023-11-27 00:06:03 -06:00
Leonardo Hernández Hernández
2e4fdc1664
use l instead of layersurface
...
`layer_surface` instead of `wlr_layer_surface`
and `scene_layer` whenever a wlr_scene_tree is related to layer surfaces
2023-11-25 19:18:19 -06:00
Leonardo Hernández Hernández
b100b446b8
return early if a layersurface didn't commit something
2023-11-25 19:17:32 -06:00
Leonardo Hernández Hernández
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
Leonardo Hernández Hernández
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
Leonardo Hernández Hernández
a5e068b20a
destroy the layer-suface's scene tree for popups
2023-11-25 19:16:33 -06:00
Leonardo Hernández Hernández
39f4ee564b
use wlr_box_equal() instead of memcmp
2023-11-25 19:08:56 -06:00
Leonardo Hernández Hernández
a353eee2ca
simplify settings popups scene tree parent
2023-11-25 19:06:17 -06:00
Leonardo Hernández Hernández
66ec028b00
simplify check for wlr_layer_surface.output
2023-11-25 19:05:27 -06:00
Leonardo Hernández Hernández
1f10e69b4c
use sizeof(*pointer) instead of sizeof(struct)
2023-11-25 19:04:57 -06:00
Leonardo Hernández Hernández
922e117fc5
add new 'unreleased' section
2023-11-25 19:04:08 -06:00
Leonardo Hernández Hernández
2783e82bf8
make sure to unlink Monitor.request_state listener
2023-11-25 18:53:18 -06:00
Squibid
66ef4ecfec
Change github links to codeberg links in README.md
2023-11-25 10:54:56 -06:00
Leonardo Hernández Hernández
d08e6a3a7e
include CHANGELOG.md in the tarball
...
Fixes: 24576f1fdf
2023-11-25 01:22:48 -06:00