summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
author0undefined <oscar@nelin.dk>2025-10-17 15:45:28 +0000
committer0undefined <oscar@nelin.dk>2025-10-17 15:45:28 +0000
commit2d924afa8e41fe92c29724d1c36b99a4242f4f18 (patch)
tree7fc8710bdcfc1f80ee72fb4d27fab2a0f09a78b2 /README.md
parent964b3f9ce49bb5d5de229ecb29d970b6bb2155a7 (diff)
parent6cd26568d5b8be2252ac0def36cd194b4fb2d7c3 (diff)
Merge remote-tracking branch 'upstream/main'
Diffstat (limited to 'README.md')
-rw-r--r--README.md42
1 files changed, 27 insertions, 15 deletions
diff --git a/README.md b/README.md
index 1bcc36e..390788d 100644
--- a/README.md
+++ b/README.md
@@ -4,9 +4,9 @@ Join us on our IRC channel: [#dwl on Libera Chat]
Or on the community-maintained [Discord server].
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,
+intended to fill the same space in the Wayland world that [dwm] does in X11,
primarily in terms of functionality, and secondarily in terms of
-philosophy. Like dwm, dwl is:
+philosophy. Like [dwm], dwl is:
- Easy to understand, hack on, and extend with patches
- One C source file (or a very small number) configurable via `config.h`
@@ -15,10 +15,11 @@ philosophy. Like dwm, dwl is:
## Getting Started:
### Latest semi-stable [release]
-This is probably where you want to start. This builds against the dependent
-packages' versions currently shipping in major distributions. If your
-distribution's wlroots version is older, use an earlier dwl [release] or [0.x
-branch].
+This is probably where you want to start. This builds against the [wlroots]
+versions currently shipping in major distributions. If your
+distribution's `wlroots` version is older, use an earlier dwl [release].
+The `wlroots` version against which a given `dwl` release builds is specified
+with each release on the [release] page
### Development branch [main]
Active development progresses on the `main` branch. The `main` branch is built
@@ -54,11 +55,11 @@ To enable XWayland, you should uncomment its flags in `config.mk`.
## Configuration
All configuration is done by editing `config.h` and recompiling, in the same
-manner as dwm. There is no way to separately restart the window manager in
+manner as [dwm]. There is no way to separately restart the window manager in
Wayland without restarting the entire display server, so any changes will take
effect the next time dwl is executed.
-As in the dwm community, we encourage users to share patches they have
+As in the [dwm] community, we encourage users to share patches they have
created. Check out the [dwl-patches] repository!
## Running dwl
@@ -74,7 +75,7 @@ seatd daemon.
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
decoration initially; these are instead clients that can be run within the
-Wayland session. Do note that the default background color is black. This can be
+Wayland session. Do note that the default background color is grey. This can be
modified in `config.h`.
If you would like to run a script or command automatically at startup, you can
@@ -102,7 +103,7 @@ automatically, you will need to configure it prior to launching `dwl`, e.g.:
Information about selected layouts, current window title, app-id, and
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 `STATUS INFORMATION` section in `_dwl_(1)`). This information can be used to
populate an external status bar with a script that parses the
information. Failing to read this information will cause dwl to block, so if you
do want to run a startup command that does not consume the status information,
@@ -117,17 +118,26 @@ script with the line
To get a list of status bars that work with dwl consult our [wiki].
+### (Known) Java nonreparenting WM issue
+Certain IDEs don't display correctly unless an environmental variable for Java AWT
+indicates that the WM is nonreparenting.
+
+For some Java AWT-based IDEs, such as Xilinx Vivado and Microchip MPLAB X, the
+following environment variable needs to be set before running the IDE or dwl:
+
+ export _JAVA_AWT_WM_NONREPARENTING=1
+
## Replacements for X applications
You can find a [list of useful resources on our wiki].
## Background
-dwl is not meant to provide every feature under the sun. Instead, like dwm, it
+dwl is not meant to provide every feature under the sun. Instead, like [dwm], it
sticks to features which are necessary, simple, and straightforward to implement
given the base on which it is built. Implemented default features are:
-- Any features provided by dwm/Xlib: simple window borders, tags, keybindings,
+- Any features provided by [dwm]/Xlib: simple window borders, tags, keybindings,
client rules, mouse move/resize. Providing a built-in status bar is an
exception to this goal, to avoid dependencies on font rendering and/or drawing
libraries when an external bar could work well.
@@ -144,10 +154,10 @@ given the base on which it is built. Implemented default features are:
- Layer shell popups (used by Waybar)
- Damage tracking provided by scenegraph API
-Given the Wayland architecture, dwl has to implement features from dwm **and**
+Given the Wayland architecture, dwl has to implement features from [dwm] **and**
the xorg-server. Because of this, it is impossible to maintain the original
project goal of 2000 SLOC and have a reasonably complete compositor with
-features comparable to dwm. However, this does not mean that the code will grow
+features comparable to [dwm]. However, this does not mean that the code will grow
indiscriminately. We will try to keep the code as small as possible.
Features under consideration (possibly as patches) are:
@@ -171,7 +181,7 @@ developers. This was made possible in many cases by looking at how sway
accomplished something, then trying to do the same in as suckless a way as
possible.
-Many thanks to suckless.org and the dwm developers and community for the
+Many thanks to suckless.org and the [dwm] developers and community for the
inspiration, and to the various contributors to the project, including:
- **Devin J. Pohly for creating and nurturing the fledgling project**
@@ -181,6 +191,8 @@ inspiration, and to the various contributors to the project, including:
- Stivvo for output management and fullscreen support, and patch maintenance
+[wlroots]: https://gitlab.freedesktop.org/wlroots
+[dwm]: https://dwm.suckless.org/
[`systemd --user`]: https://wiki.archlinux.org/title/Systemd/User
[#dwl on Libera Chat]: https://web.libera.chat/?channels=#dwl
[0.7-rc1]: https://codeberg.org/dwl/dwl/releases/tag/v0.7-rc1