diff options
| author | onelin <oscar@nelin.dk> | 2026-05-02 15:59:44 +0000 |
|---|---|---|
| committer | onelin <oscar@nelin.dk> | 2026-05-02 15:59:44 +0000 |
| commit | 768e1cb3ff8f9f94d5f6b7d262f83063d7c0cefa (patch) | |
| tree | e6fa9b9f10cdac5a4d874133c67f4ae69f3e7217 | |
| parent | b2f183797f513430771f16d459d5a48bc3906191 (diff) | |
| parent | a2d03cf6188350005dbdaac12f3b0fbc4d60c567 (diff) | |
Merge remote-tracking branch 'upstream'main
Merge latest changes from codeberg.org/dwl/dwl:main
| -rw-r--r-- | README.md | 21 | ||||
| -rw-r--r-- | config.def.h | 6 | ||||
| -rw-r--r-- | dwl.c | 11 |
3 files changed, 22 insertions, 16 deletions
@@ -1,7 +1,8 @@ # dwl - dwm for Wayland -Join us on our IRC channel: [#dwl on Libera Chat] -Or on the community-maintained [Discord server]. +Join us on our [Discord server] +Or Matrix: [#dwl-official:matrix.org] +Or on our IRC channel: [#dwl on Libera Chat] dwl is a compact, hackable compositor for [Wayland] based on [wlroots]. It is intended to fill the same space in the Wayland world that [dwm] does in X11, @@ -23,12 +24,14 @@ with each release on the [release] page ### Development branch [main] Active development progresses on the `main` branch. The `main` branch is built -against a late (and often changing) git commit of wlroots. While the adventurous -are welcome to use `main`, it is a rocky road. Using `main` requires that the -user be willing to chase git commits of wlroots. Testing development pull -requests may involve merging unmerged pull requests in [wlroots]' git repository -and/or git commits of wayland. - +against the latest release of [wlroots]. PRs should target this branch unless they +depend on functionality that is not in the current release of `wlroots`. + +### Preview branch [wlroots-next] +The `wlroots-next` branch is built against the git version of [wlroots], which +is unstable and changes frequently. PRs requiring functionality from the git +version of `wlroots` should target this branch. + ### Building dwl dwl has the following dependencies: - libinput @@ -202,6 +205,7 @@ inspiration, and to the various contributors to the project, including: [dwl-patches]: https://codeberg.org/dwl/dwl-patches [list of useful resources on our wiki]: https://codeberg.org/dwl/dwl/wiki/Home#migrating-from-x [main]: https://codeberg.org/dwl/dwl/src/branch/main +[wlroots-next]: https://codeberg.org/dwl/dwl/src/branch/wlroots-next [release]: https://codeberg.org/dwl/dwl/releases [runit]: http://smarden.org/runit/faq.html#userservices [s6]: https://skarnet.org/software/s6/ @@ -209,3 +213,4 @@ inspiration, and to the various contributors to the project, including: [wiki]: https://codeberg.org/dwl/dwl/wiki/Home#compatible-status-bars [Discord server]: https://discord.gg/jJxZnrGPWN [Wayland]: https://wayland.freedesktop.org/ +[#dwl-official:matrix.org]: https://matrix.to/#/#dwl-official:matrix.org diff --git a/config.def.h b/config.def.h index 157db1f..d9163f7 100644 --- a/config.def.h +++ b/config.def.h @@ -76,10 +76,8 @@ static const Layout layouts[] = { /* monitors */ /* (x=-1, y=-1) is reserved as an "autoconfigure" monitor position indicator - * WARNING: negative values other than (-1, -1) cause problems with Xwayland clients - * https://gitlab.freedesktop.org/xorg/xserver/-/issues/899 -*/ -/* NOTE: ALWAYS add a fallback rule, even if you are completely sure it won't be used */ + * WARNING: negative values other than (-1, -1) cause problems with Xwayland clients due to + * https://gitlab.freedesktop.org/xorg/xserver/-/issues/899 */ static const MonitorRule monrules[] = { /* name mfact nmaster scale layout rotate/reflect x y */ /* example of a HiDPI laptop monitor: @@ -27,6 +27,7 @@ #include <wlr/types/wlr_data_device.h> #include <wlr/types/wlr_drm.h> #include <wlr/types/wlr_export_dmabuf_v1.h> +#include <wlr/types/wlr_ext_data_control_v1.h> #include <wlr/types/wlr_fractional_scale_v1.h> #include <wlr/types/wlr_gamma_control_v1.h> #include <wlr/types/wlr_idle_inhibit_v1.h> @@ -714,7 +715,7 @@ arrangelayers(Monitor *m) arrange(m); } - /* Arrange non-exlusive surfaces from top->bottom */ + /* Arrange non-exclusive surfaces from top->bottom */ for (i = 3; i >= 0; i--) arrangelayer(m, &m->layers[i], &usable_area, 0); @@ -2361,7 +2362,8 @@ keybinding(uint32_t mods, xkb_keysym_t sym) const Key *k; for (k = keys; k < END(keys); k++) { if (CLEANMASK(mods) == CLEANMASK(k->mod) - && sym == k->keysym && k->func) { + && xkb_keysym_to_lower(sym) == xkb_keysym_to_lower(k->keysym) + && k->func) { k->func(&k->arg); return 1; } @@ -2891,7 +2893,7 @@ powermgrsetmode(struct wl_listener *listener, void *data) if (!m) return; - m->gamma_lut_changed = 1; /* Reapply gamma LUT when re-enabling the ouput */ + m->gamma_lut_changed = 1; /* Reapply gamma LUT when re-enabling the output */ wlr_output_state_set_enabled(&state, event->mode); wlr_output_commit_state(m->wlr_output, &state); @@ -3236,7 +3238,7 @@ setup(void) wlr_log_init(log_level, NULL); /* The Wayland display is managed by libwayland. It handles accepting - * clients from the Unix socket, manging Wayland globals, and so on. */ + * clients from the Unix socket, managing Wayland globals, and so on. */ dpy = wl_display_create(); event_loop = wl_display_get_event_loop(dpy); @@ -3299,6 +3301,7 @@ setup(void) wlr_export_dmabuf_manager_v1_create(dpy); wlr_screencopy_manager_v1_create(dpy); wlr_data_control_manager_v1_create(dpy); + wlr_ext_data_control_manager_v1_create(dpy, 1); wlr_primary_selection_v1_device_manager_create(dpy); wlr_viewporter_create(dpy); wlr_single_pixel_buffer_manager_v1_create(dpy); |
