Merge remote-tracking branch 'upstream/main' into wlroots-next

This commit is contained in:
Leonardo Hernández Hernández 2023-10-13 17:08:30 -06:00
commit 892a4d3ec7
No known key found for this signature in database
GPG key ID: E538897EE11B9624
2 changed files with 22 additions and 6 deletions

View file

@ -27,7 +27,7 @@ given the base on which it is built. Implemented default features are:
monitoring monitoring
- Provide information to external status bars via stdout/stdin - Provide information to external status bars via stdout/stdin
- Urgency hints via xdg-activate protocol - Urgency hints via xdg-activate protocol
- Support screen lockers via input-inhibitor protocol - Support screen lockers via ext-session-lock-v1 protocol
- Various Wayland protocols - Various Wayland protocols
- XWayland support as provided by wlroots (can be enabled in `config.mk`) - XWayland support as provided by wlroots (can be enabled in `config.mk`)
- Zero flickering - Wayland users naturally expect that "every frame is perfect" - Zero flickering - Wayland users naturally expect that "every frame is perfect"
@ -50,14 +50,28 @@ Feature *non-goals* for the main codebase include:
## Building dwl ## Building dwl
dwl has only two dependencies: `wlroots` and `wayland-protocols`. dwl has the following dependencies:
```
libinput
wayland
wlroots (compiled with the libinput backend)
xkbcommon
wayland-protocols (compile-time only)
pkg-config (compile-time only)
```
If you enable X11 support:
```
libxcb
libxcb-wm
wlroots (compiled with X11 support)
Xwayland (runtime only)
```
Simply install these (and their `-devel` versions if your distro has separate Simply install these (and their `-devel` versions if your distro has separate
development packages) and run `make`. If you wish to build against a Git development packages) and run `make`. If you wish to build against a Git
version of wlroots, check out the [wlroots-next branch]. version of wlroots, check out the [wlroots-next branch].
To enable XWayland, you should also install xorg-xwayland and uncomment its flag To enable XWayland, you should uncomment its flags in `config.mk`.
in `config.mk`.
## Configuration ## Configuration
@ -83,6 +97,7 @@ When dwl is run with no arguments, it will launch the server and begin handling
any shortcuts configured in `config.h`. There is no status bar or other any shortcuts configured in `config.h`. There is no status bar or other
decoration initially; these are instead clients that can be run within decoration initially; these are instead clients that can be run within
the Wayland session. the Wayland session.
Do note that the background color is black.
If you would like to run a script or command automatically at startup, you can If you would like to run a script or command automatically at startup, you can
specify the command using the `-s` option. This command will be executed as a specify the command using the `-s` option. This command will be executed as a
@ -106,7 +121,7 @@ automatically, you will need to configure it prior to launching `dwl`, e.g.:
### Status information ### Status information
Information about selected layouts, current window title, and Information about selected layouts, current window title, app-id, and
selected/occupied/urgent tags is written to the stdin of the `-s` command (see selected/occupied/urgent tags is written to the stdin of the `-s` command (see
the `printstatus()` function for details). This information can be used to the `printstatus()` function for details). This information can be used to
populate an external status bar with a script that parses the information. populate an external status bar with a script that parses the information.

3
dwl.c
View file

@ -2628,7 +2628,8 @@ urgent(struct wl_listener *listener, void *data)
if (!c || c == focustop(selmon)) if (!c || c == focustop(selmon))
return; return;
client_set_border_color(c, urgentcolor); if (client_surface(c)->mapped)
client_set_border_color(c, urgentcolor);
c->isurgent = 1; c->isurgent = 1;
printstatus(); printstatus();
} }