diff options
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 42 |
1 files changed, 27 insertions, 15 deletions
@@ -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 |
