111 lines
4.3 KiB
Markdown
111 lines
4.3 KiB
Markdown
|
# wayland
|
||
|
|
||
|
Contains:
|
||
|
[riverwm](https://github.com/riverwm/river)
|
||
|
[waybar](https://github.com/Alexays/Waybar)
|
||
|
|
||
|
My first foray into wayland is based on river,
|
||
|
a tiling window manager somewhat based on bspwm.
|
||
|
|
||
|
This is only a very work-in-progress README file.
|
||
|
|
||
|
Since wayland handles key presses and so on completely differently
|
||
|
from X,
|
||
|
I can't for example use sxhkd which is a shame.
|
||
|
|
||
|
## Missing
|
||
|
|
||
|
not set up:
|
||
|
|
||
|
* [x] lockscreen
|
||
|
* [x] power menu -- rofi on X
|
||
|
* [x] extensive run menu (clipboard, open windows) -- rofi on X
|
||
|
* [x] clipboard manager
|
||
|
* [x] pass frontend dropdown -- clipboard and xdotool
|
||
|
* [ ] investigate [wtype](https://github.com/atx/wtype) over ydotool
|
||
|
* [x] file uploading (works but without url clipboard)
|
||
|
* [x] open_download (qutebrowser script)
|
||
|
* [x] gap regulation
|
||
|
* [x] brightnessctl
|
||
|
* [x] waybar and various status modules
|
||
|
* [ ] include waybar in styler settings
|
||
|
* [x] pacman new packages in status
|
||
|
* [x] personal keyboard layout (ae, oe, ue, ..)
|
||
|
* [x] styler
|
||
|
* still works as before, only less programs respect xresources settings
|
||
|
* works even for foot, if I want to switch to it
|
||
|
* [ ] need to set it up for waybar
|
||
|
* [ ] dropdown terminal and dropdown todo
|
||
|
* [ ] rofimoji emoji dropdown -- clipboard
|
||
|
* [ ] show current mode
|
||
|
* [-] hide cursor
|
||
|
* [-] dropdown calculator -- rofi on X -- could use `qalc` directly
|
||
|
* [-] modes: media, academia (worth?)
|
||
|
* [-] picture in terminal, a-la ueberzug
|
||
|
* ueberzug is X only
|
||
|
* there is sixel rendering for foot, st, xterm, urxvt
|
||
|
* alacritty does *not* support sixel rendering [yet](https://github.com/alacritty/alacritty/issues/910), see also [existing sixel implementation](https://github.com/betaboon/alacritty/tree/graphics).
|
||
|
* We have sixel support enabled in vifm and foot. It is very wonky, however.
|
||
|
|
||
|
|
||
|
### undecided
|
||
|
|
||
|
* [ ] polybar -> waybar / yambar
|
||
|
* [ ] foot / alacritty
|
||
|
|
||
|
## River
|
||
|
|
||
|
River is set up to come close to my old i3 setup.
|
||
|
Of course, some mappings are different
|
||
|
(especially those for movement between windows),
|
||
|
but overall the keys map to the old ones.
|
||
|
|
||
|
Since the window manager now also takes over the task of compositor
|
||
|
and does not pass through all keys to all programs,
|
||
|
it takes over the role of `sxhkd` as well and summons other programs.
|
||
|
|
||
|
I am not entirely sure how I feel about this bundling of tasks into one application,
|
||
|
but so far it works.
|
||
|
Since river is also, mimicking bspwm, using an executable file
|
||
|
(any executable file)
|
||
|
as its configuration file it is also reasonable that the setup can be tamed and refactored better than a single i3 configuration file.
|
||
|
|
||
|
## Waybar
|
||
|
|
||
|
Waybar replaces the old [polybar](https://gitlab.com/marty-oehme/dotfiles/-/tree/89d1402b3e711c4aa473386e47e84f3593e5ae56/polybar) setup.
|
||
|
|
||
|
It displays the first 10 tags on its left,
|
||
|
with tags highlighted that are either occupied by windows or currently in focus.
|
||
|
In the center it displays a clock which can be clicked to open a simple calendar.
|
||
|
|
||
|
![Simple waybar configuration](.assets/waybar/simple.png)
|
||
|
|
||
|
To the right is where most of the info modules are:
|
||
|
If there are upcoming events listed for the khal application, it will display a calendar module here.
|
||
|
If music is playing through an mpris-compatible player, its status is shown here.
|
||
|
If a connection through wireguard or over a vpn tunnel is established, it is shown here.
|
||
|
Then, from left to right, audio, brightness, wifi, cpu, ram, temperature, and battery information are displayed.
|
||
|
|
||
|
Some displays have alternative display states, with for example the battery showing remaining time and ram information showing used and total available.
|
||
|
|
||
|
Clicking on:
|
||
|
|
||
|
* audio opens pulsemixer
|
||
|
* network opens nmtui
|
||
|
* cpu opens top (or glances on right-click)
|
||
|
* temperature shows sensors
|
||
|
|
||
|
## keyd
|
||
|
|
||
|
keyd is set up within `/etc/` and not in the dotfiles themselves.
|
||
|
If using the included `./install.sh` file, there is an option to also set up files outside the home directory, including keyd options.
|
||
|
It is configured through `/etc/keyd/default.cfg`.
|
||
|
Currently, it takes care of mapping `capslock` to both control and escape (depending on if its used alone or with other keys),
|
||
|
as well as adding some German characters that I am otherwise missing on my en_US keyboard.
|
||
|
Lastly, it allows easy clipboard pasting with the `insert` key.
|
||
|
|
||
|
## Swaybg
|
||
|
|
||
|
`swaybg` is used to set the wallpaper from the river configuration file.
|
||
|
|