Yeah unfortunately i'm also still on river-classic, so can't be of much help regarding the new river framework and its window managers. My distro hasn't packaged any of the new river stuff yet, and i couldn't be bothered to do it myself. It's hard to say how much trouble you would have setting up a compositor, cause they all have different configuration languages. Some like Sway use their own syntax, then there's river-classic that uses shell script, or even qtile that is configured in python. I use waybar as a bar for most of my compositors (except qtile, which has its own bar and is also very good). I use Fuzzel as my launcher. I have a few themes configured for my programs that i switch with a script, which mainly consists of some sed commands that replace lines in my configs, and then reloading the programs if necessary.
Linux
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
River-classic has long been a favorite of mine. It's easy to setup and maintain. I use that, or Sway on Void linux. Here's a list of apps that might help you get started.
For my own River setup, I used waybar, fuzzel, mako, nwg-look, hyprpicker, brightnessctl, swaybg, swaylock, kitty, imv, grim udiskie, mpd/rmpc, and mpv.
I would suggest looking for user dot files of the the window manager you are interested in, and getting a feel for the syntax and how they set up their system. From there, you could start making small edits to a basic config file, to make it more in line with your workflow. Most ricers, myself included, started this way. You see something you like, look at how they did it, and alter, or adapt it to suit your needs. At first, it may seem difficult, but with time, and a little patience, it's fun and will make for a system that's your own.
Also, check out Noctalia shell. You don't need all the those programs that I listed to set up River, as Noctalia will provide all the functionality you need, and is super customizable in terms of theming. I like setting up Niri with Noctalia and it works quite well. Works fine with Sway as well. AFAIK, River isn't supported at this time.
Happy ricing!
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.
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.
We're still in gtk territory, right?
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:
- Display manager starts river
- River executes
~/.config/river/initand you're on your own. - The init file should start your window manager.
- Your window manager should start communicating with the river server over the protocols that river implements.
- In river classic there's only 2 protocol methods to implement, layout and user command.
- In river-classic: everything else, keybindings, hooks, decorations, all get set by executing
riverctlcommands - In new river: there's more protocol methods covering all that for the window manager to implement.
Can't help you with river specifically, but I went from running x11 with openbox, to Wayland with sway. Sway has a really good ecosystem of tools like swaybg for wallpaper. I use waybar, pcmanfm, and rofi.