-
-
Notifications
You must be signed in to change notification settings - Fork 154
Home
Here you will find information, guides, tips and tricks that do not fit into the main documentation.
Feel free to contribute!
- How do I reload the configuration file?
- Wait, the configuration is a shell script?
- How can I configure outputs?
- My windows are not tiled!
- How do I set a wallpaper?
- River does not appear in my display managers session selector!
- How do I disable GTK decorations (e.g. title bar)?
- What are the minimum hardware requirements for running river?
- Where can I get more help?
You don't. The default river init is a shell script executing riverctl
a bunch of times to configure river. If you want to change a setting, just run the corresponding riverctl
command again with the updated value.
The default one is a shell script, yes. However, since river just tries to run an executable file called init
on startup (for possible locations of the file see the man page), it can be anything. You could configure river using a python script or a compiled C program if you wanted to, just make sure the file is executable and in the right place.
- Example configuration in posix shell
- Example configuration in Lua5.4
- Example configuration in Perl 5.36
- Example configuration in python using pywayland
River implements the wlr-output-management-unstable-v1
protocol extension to allow external programs to configure its output. To keep river simple, this is the only way to configure outputs. See the Recommended Software section of this wiki to find out which output configuration programs we recommend.
Should you run into issues (especially with USB-C/DisplayPort monitors) failing to change resolution or frequency try setting
export WLR_DRM_NO_MODIFIERS=1
. See this issue for details.
You probably forgot to either run a layout generator or to configure the layout namespace of the output. River does not have any built-in layouts and depends entirely on external programs to dynamically arrange views. If no layout generator is active for the current output, river will fall back to floating window management. River is perfectly usable in this floating mode, thanks to the move
, resize
and snap
commands.
To use a layout generator, make sure it is running (they are constantly running daemons, not one-shot programs) and then enable it in river (either per output or as a global default).
As an example, this following snippet will start rivertile, rivers default and bundled layout generator, in the background and then tells river to use it on the currently focused output.
riverctl spawn rivertile
riverctl output-layout rivertile
Behold: The name of the layout is not guaranteed to be equal to the filename of the executable.
River itself does not support displaying image. Instead you will have to use an external program, like for example swaybg. You can imagine these wallpaper programs to be like image viewers that just run in the background (using the layer shell).
River ships with a session file, but by default does not install it because display managers are not officially supported.
If you wish to install it, copy river.desktop
(from the river/contrib
directory) to /usr/local/share/wayland-sessions/
. However, note that not every display manager supports Wayland sessions.
Try adding dtoverlay=vc4-kms-v3d
in /boot/config.txt
.
GTK unfortunately does not support the standard xdg-decoration protocol but rather the obsolete KDE server-decoration protocol. See #24 for more information.
In the meantime, for Firefox you can do this: Right click on toolbar and click on "Customize Toolbar..."
. In the bottom, uncheck "Title Bar"
.
It is also possible to remove GTK window buttons with gsettings set org.gnome.desktop.wm.preferences button-layout ""
One may also apply this 1 line patch to gtk3:
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index 8df1c8e861..d102017942 100644
--- a/gtk/gtkwindow.c
+++ b/gtk/gtkwindow.c
@@ -6121,8 +6121,7 @@ gtk_window_should_use_csd (GtkWindow *window)
#ifdef GDK_WINDOWING_WAYLAND
if (GDK_IS_WAYLAND_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
{
- GdkDisplay *gdk_display = gtk_widget_get_display (GTK_WIDGET (window));
- return !gdk_wayland_display_prefers_ssd (gdk_display);
+ return FALSE;
}
#endif
River runs well on a ThinkPad X200 from 2008. Any newer hardware should be perfectly fine, as long as you don't use proprietary graphics drivers.
Probably the best place to get help is the #river channel on irc.libera.chat. Before actually asking, you may be able to save yourself some time by searching the archives to see if your question has already been answered. Use the "Enter keywords" box and click "Search".