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.

  • juipeltje@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    5 hours ago

    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.

  • meurglys@lemmy.world
    link
    fedilink
    arrow-up
    4
    ·
    edit-2
    16 hours ago

    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.

    https://arewewaylandyet.com/

    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.

    https://noctalia.dev/

    Happy ricing!

  • atomkarinca@lemmygrad.ml
    link
    fedilink
    arrow-up
    4
    ·
    22 hours ago

    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.

  • ZWQbpkzl [none/use name]@hexbear.net
    link
    fedilink
    English
    arrow-up
    3
    ·
    21 hours ago

    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:

    1. Display manager starts river
    2. River executes ~/.config/river/init and 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 riverctl commands
    7. In new river: there’s more protocol methods covering all that for the window manager to implement.
  • fozid@feddit.uk
    link
    fedilink
    arrow-up
    1
    ·
    22 hours ago

    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.