wayland (river 0.5+) advice
Currently setting up a wayland environment. Coming from xfce4 and cinnamon before that.
I'm currently setting up a window manager for keybindings (i know about river-classic, but seem to have chosen the masochist's path for this excursion).
would appreciate any advice you have about setting up the window manager. I've previous experience with writing a cinnamon inspired dynamic tiler, will that help here?
would also appreciate tips on choosing things like toolbars, launchers, and setting themes. We're still in gtk territory, right?
Thanks for any time you spend on this thread!
Maybe I can re rewrite this, or compile a new thread with your advices.


\

fozid
in reply to cockmushroom • • •atomkarinca
in reply to cockmushroom • • •river is cool but it's heavily modular. i love it.
first off, you should choose a window manager. there's a list on their page. for example, rill is a scrolling wm like niri. there are also stacking and tiling wms on that list.
then you should also install some tools. their wiki also includes a brief list.
- a bar (e.g. waybar)
- an output manager (e.g. kanshi)
- an input manager (e.g. channel)
- a screen lock tool (e.g. waylock, swaylock)
- a launcher (e.g. wofi, fuzzel, tofi)
- a notification daemon (e.g. fnott, mako)
- a wallpaper tool (e.g. awww, swaybg)
this would give you a fully working wm.
wiki/pages/useful-software.md at main
Codeberg.orgZWQbpkzl [none/use name]
in reply to cockmushroom • • •Because you've chosen the river >=0.4 any advice will depend completely on the window manager you choose. Things like keybindings and decorations are punted are punted to the window manager with that release. If you want to write your own then you'll have to implement all that yourself. Look at the source code for existing river window managers.
Lol no. Even with river-classic you're several layers below individual GUI toolkits. If you want to stay in gtk land then you must only choose widgets/apps that only use GTK. Your toolbar could be GTK, and your launcher could be QT if you want. It could also eschew all that and use pango-cairo if it wants.
For the general flow:
1. Display manager starts river
2. River executes
~/.config/river/initand you're on your own.3. The init file should start your window manager.
4. Your window manager should start communicating with the river server over the protocols that river implements.
5. In river classic there's only 2 protocol methods to implement, layout and user command.
6. In river-classic: everything else, keybindings, hooks, decorations, all get set by executing
riverctlcommands7. In new river: there's more protocol methods covering all that for the window manager to implement.