diff options
author | Justine Smithies <justine@smithies.me.uk> | 2023-10-11 18:25:52 +0100 |
---|---|---|
committer | Justine Smithies <justine@smithies.me.uk> | 2023-10-11 18:25:52 +0100 |
commit | 857f5db03891461da3b9c682531aacd197f4dd82 (patch) | |
tree | 722d701974e922f82a20ccf252ee676325da3238 | |
parent | d52dd0688dfdb3283402c21a27fc6e8c34bf9e0b (diff) |
Switched to River
-rw-r--r-- | README.md | 87 |
1 files changed, 9 insertions, 78 deletions
@@ -1,19 +1,18 @@ -# Various dotfiles for my [Void](https://voidlinux.org/) - [Qtile-Wayland](https://github.com/qtile/qtile) setup. -A full-featured, hackable tiling window manager written and configured in Python. -Please note that I use the latest Qtile from their GitHub repo which can be installed by following the installation instructions [below](#installing-qtile-wayland). +# Various dotfiles for my [Void](https://voidlinux.org/) - [River](https://github.com/riverwm/river) setup. +River is a dynamic tiling Wayland compositor with flexible runtime configuration. ![ScreenShot](screenshot.jpg) ## Details -Below is a list of some of the packages that I use for my current setup which consists of two screens. A monitor as the main screen and the laptop screen as a slave and Kanshi is used to set the monitor as the left most. Please note that my config isn't perfect so your mileage may vary.<br /> +Below is a list of some of the packages that I use for my current setup which consists of two screens. A monitor as the main screen and the laptop screen as a slave and Kanshi is used to set the monitor as the left most and apply focus to it using a riverctl focus-output command. Please note that my config isn't perfect so your mileage may vary.<br /> The wallpaper featured in the screenshots can be found here: https://cdna.artstation.com/p/assets/images/images/015/554/914/large/artur-sadlos-to-sh300-ooh-as-05i.jpg <br /> - **Operating System** --- [Void](https://voidlinux.org/) - **Boot Loader** --- [Grub](https://www.gnu.org/software/grub/index.html) - **Resource Monitor** --- [Btop](https://github.com/aristocratos/btop) -- **Window Manager** --- [Qtile](https://github.com/qtile/qtile) -- **Status Bar** --- [Qtile's own](https://codeberg.org/qtile/qtile) +- **Window Manager** --- [River](https://github.com/riverwm/river) +- **Status Bar** --- [Yambar](https://codeberg.org/dnkl/yambar) - **Screen Detection** --- [wlr-randr](https://sr.ht/~emersion/wlr-randr/) - **Screen Hotplug** --- [Kanshi](https://sr.ht/~emersion/kanshi/) - **Screen Locker** --- [Swaylock](https://github.com/swaywm/swaylock) @@ -78,82 +77,14 @@ The wallpaper featured in the screenshots can be found here: https://cdna.artsta - [w3m](https://w3m.sourceforge.net/) - [msmtpqueue](https://github.com/marlam/msmtp-mirror/tree/master/scripts/msmtpqueue) - -## Installing Qtile Wayland - -#### 1. Ensure the wlroots is installed - -On Void: `sudo xbps-install -S wlroots0.16 wlroots0.16-devel` - -#### 2. Clone the Qtile repo - -`git clone https://github.com/qtile/qtile.git -cd qtile` - -#### 3. Install Qtile dependencies - -`python -m pip install dbus-next pywlroots pywayland "cairocffi >= 1.6.0" "cffi >= 1.1.0" "xcffib >= 1.4.0" wheel --no-cache-dir --force` - -#### 4. Install qtile for the first time - -`python -m pip install .` - -#### 5. Find FFI Names - -The following command lists the names of the system binaries we need copy - -`ls /usr/lib64 | grep "libxkbcommon\|libinput\|libwlroots"` - -The following command lists the names of the pywlroots binaries we need to replace - -`ls ~/.local/lib/python3.11/site-packages/pywlroots.libs | grep "libinput\|li bxkbcommon\|libwlroots" -` -#### 6. Patch the pywlroots FFI - -Symlink the relevant system binary to the pywlroot binaries. In my case - -``` -ln /usr/lib64/libxkbcommon.so.0.0.0 ~/.local/lib/python3.11/site-packages/pywlroots.libs/libxkbcommon-de59cad2.so.0.0.0 -fs -ln /usr/lib64/libinput.so.10.13.0 ~/.local/lib/python3.11/site-packages/pywlroots.libs/libinput-a3c39512.so.10.13.0 -fs -ln /usr/lib64/libwlroots.so.11 ~/.local/lib/python3.11/site-packages/pywlroots.libs/libwlroots-62d802e9.so.11 -fs -``` - -#### 7. Build qtile FFI -This next command is super important, we need to build the ffi for the virtual enviroments qtile - -``` -cd ~/.local/lib/python3.11/site-packages -python libqtile/backend/wayland/cffi/build.py -``` - -#### 8. Install Qtile for the second and (hopefully) final time - -``` -cd 'The location of your qtile git repo'/qtile -python -m pip install . -``` - -#### 9. Start Qtile - -Either: - -`qtile start -b wayland` - -Or: - -`dbus-run-session qtile start -b wayland` - ## Keybindings ### Window manager controls | Keys | Action | | ------------------------------------ | ------------------------- | -| <kbd>CTRL + MOD + r</kbd> | restart Qtile | -| <kbd>CTRL + MOD + q</kbd> | shutdown Qtile | -| <kbd>CTRL + MOD + w</kbd> | Open window switcher | -| <kbd>MOD + w</kbd> | kill window | -| <kbd>MOD + RETURN</kbd> | spawn terminal | -| <kbd>CTRL + Space</kbd> | Rofi menu | -| <kbd>CTRL + MOD + p</kbd> | Rofi power menu | +| <kbd>MOD + q</kbd> | Kill window | +| <kbd>MOD+SHIFT + RETURN</kbd> | Spawn terminal | +| <kbd>MOD + d</kbd> | Fuzzel menu | +| <kbd>CTRL + MOD + p</kbd> | Fuzzel power menu | ## To set the wallpaper |