lost in the wired

  • 1 Post
  • 29 Comments
Joined 6 months ago
cake
Cake day: September 22nd, 2025

help-circle


  • Though I can’t say I’m mad about it coming with screenshots built in because I struggled getting screenshots working for my entire stay on Arch. I didn’t try super hard, just had other fish to fry

    exactly, i think this is why right now if a someone were to ask me for a starting point to get into a WM environment–I’d say niri with noctalia. But for me, there is some joy in just writing my scripts with grim and slurp and being able to do wacky things like automatically create a magic link on my local server, and my own domain to the screen shot that is accessible to the outside net.

    yea, one thing that just feels so good for me is being able to view multiple tags at once. So you can temporarily view tag X and Y together (so filling in a password, copying a command, or reading documentation), but then you don’t have to reorganize you applications back into their “designated” work spaces/tags. Your “chat” and “terminal” can remain in their workspaces, but you can view them together briefly without having to move them back and forth. For me as someone who usually tries to abide to each activity has it’s own workspace/tag, this work really well.


  • i did try mango when it was maomaowm–it was pretty cool but at the time it was quite unstable; i think now, it just seems a bit bloated (again, this is a me thing) and like it’s trying to do every single paradigm.

    ultimately i’m hoping river will be something that becomes a solid compositor base that supports most of the wlroots features. but then i can use a super minimal wm that is like a more modern dwm.

    but the compositor/wm space is wayland is still too thin, there aren’t a lot of options

    Hopefully this will change with river! For example here is a wm that is written with 600 lines of janet

    don’t get me wrong though, niri has been so solid and is such a good compositor–maybe i slighted it a bit too much in my previous comment. Niri was a breath of fresh air compared to hyprland not having to worry about the config file/syntax changing every other release. But some of the trade offs that yalter makes aren’t “for me” which is totally fine… certain things feel restrictive (no scratch pads, forced “dynamic” workspaces, no real vertical monitor support), but then some other things feel a bit bloated (overview, recent view, built in screenshot, etc). Overall though Niri has been my favorite. I think it’s a pretty exciting time with four very solid options + countless wm on top of river soon.


  • River scratches the itch for me of hyper minimal. The config file is just a script/executable, it can be written in any language, but by default it’s bash. in 0.4 (which should be coming out soon) they are coming out with a custom protocol to separate the window manager, and the compositor–so river will just handle the lower level/compositor things, and it can be a lot more simple to write a custom window manager. For example, KWM’s first commit was Dec 25 2025 if I remember correctly; and the river wiki already lists 13 wm’s that work with river as the compositor. I saw yalter say that things like animations etc will be more complicated with this model; but for me personally, i pretty much always shut off animations. also rivers community seems pretty good, and their code of conduct is solid.

    I saw one of your previous comments about how you appreciate the unix philosophy of “do one thing best”, i found niri kinda rubbed me weird when things like screenshot, overview, recent apps were built in–while very useful for a “just works” desktop, and it makes niri a compositor that i would recommend to my friends, it makes niri feel like a bit of a wrong fit for me; have you felt this at all?

    I also find with scrolling, I sometimes lose track of my windows, I wrote a script to display how many columns are in the current workspace, and which column is currently active–this helped a bit… but after 3-4 months of using niri i’m not 100% sold.



  • Still haven’t come across a way to do a special/floating workspace. I know you can float windows, but I’m talking about a whole workspace that toggles as an overlay of whatever your current one is.

    This is a feature that I miss; it’s possible, but not with stock niri, it takes some work to set up.

    I also don’t like using niri with vertical monitors… So I’m just using it on my main laptop–desktop is on hyprland

    I am excited to use kwm with river! I like DWMs style of “tags” instead of work spaces, but scrolling is really useful when screen space is limited. I have an old thinkpad that had DWM, and I’ve switch to river-classic and really love it






  • because it’s less work. i don’t have to strip out what a distro thinks i want. i don’t have to worry about major distro releases that might have changes that need manual intervention. if there are updates that need manual intervention, they’re small, easy to deal with and usually do not effect me. everything is well documented and standard. packages are installed with default settings/config (to my understanding), so i can easily read upstream documentation and not have to deal with weirdness. getting packages that are obscure is easier. i don’t have to worry about upstream having a fix, or supporting something that i need but my distro not having the update in their repo. it’s just simpler and easier to manage (for my use case)



  • some benefits to using tmux,

    • When you switch terminal emulators your workflow and keybinds come with you.
    • If you need to operate within a tty, you can still use tmux and it feels almost like using a wm but without a gui.
      • useful if you need to drop out of your desktop environment or maybe your DE/WM/compositor fails to load.
      • also if you DE/WM/compositor crashes, your terminal doesn’t go with it.
    • If you ever end up working on servers it’s so nice to be able to have the same workflow that you already use on desktop.
    • tmux in my experience is much more scriptable.
    • running system updates in tmux scares me less–if i accidently close the running terminal window i won’t end up with a partial update.

    One pro tip: on your local machine, set the tmux prefix to <C-n> (instead of <C-b>), that way when you’re using tmux on a remote server you can run tmux on the remote as well as on your local and the binds don’t conflict.

    unbind C-b
    set-option -g prefix C-n
    

    baby steps though. don’t rush into things. don’t even worry about what i said… just learn to use man and --help (and/or install tldr) keep building on the knowledge you have as you go; and don’t be afraid to jump in when something interests you. good luck friend!





  • Sorta, I use both Navidrome and Jellyfin. I use navidrome primarily for music listening, but then point jellyfin at the same library so that I can play music on the TV easily. With Navidrome I use feishin as my client on desktop, and I use tempo on one of my android smart phones, ultrasonic on my daily driver flip-phone (cat S22 flip), and my partner has used amperfy and subsonic on their iphone–haven’t really been happy with any of the clients for iphone.

    Navidrome built in webserver also works pretty ok for using at work etc. Feishin is really nice for being able to set up dynamic “smart” playlists with a gui.

    I find that using something more dedicated to music like Navidrome is a little more feature built. Plus there are so many *sonic clients–so it just feels more flexible.


  • coltn@lemmy.mltoLinux@lemmy.mlLinux terminal with text selection
    link
    fedilink
    English
    arrow-up
    3
    arrow-down
    1
    ·
    5 months ago

    I think most of this works for me in zsh. But also tmux can help with selection; I believe by default you use your prefix then open bracket (Ctrl-b + [) to put your self in selection mode. I have some configs to use vim bindings in selection mode.

    Tmux selection:

    # Yanking
    bind-key -T copy-mode-vi v send-keys -X begin-selection
    bind-key -T copy-mode-vi C-v send-keys -X rectangle-toggle
    bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel
    

    zsh keybinding:

    # Key Bindings
    # set vim mode
    bindkey -v
    
    # create a zkbd compatible hash;
    # to add other keys to this hash, see: man 5 terminfo
    typeset -g -A key
    
    key[Home]="${terminfo[khome]}"
    key[End]="${terminfo[kend]}"
    key[Insert]="${terminfo[kich1]}"
    key[Backspace]="${terminfo[kbs]}"
    key[Delete]="${terminfo[kdch1]}"
    key[Up]="${terminfo[kcuu1]}"
    key[Down]="${terminfo[kcud1]}"
    key[Left]="${terminfo[kcub1]}"
    key[Right]="${terminfo[kcuf1]}"
    key[PageUp]="${terminfo[kpp]}"
    key[PageDown]="${terminfo[knp]}"
    key[Shift-Tab]="${terminfo[kcbt]}"
    
    # setup key accordingly
    [[ -n "${key[Home]}"      ]] && bindkey -- "${key[Home]}"       beginning-of-line
    [[ -n "${key[End]}"       ]] && bindkey -- "${key[End]}"        end-of-line
    [[ -n "${key[Insert]}"    ]] && bindkey -- "${key[Insert]}"     overwrite-mode
    [[ -n "${key[Backspace]}" ]] && bindkey -- "${key[Backspace]}"  backward-delete-char
    [[ -n "${key[Delete]}"    ]] && bindkey -- "${key[Delete]}"     delete-char
    [[ -n "${key[Up]}"        ]] && bindkey -- "${key[Up]}"         up-line-or-history
    [[ -n "${key[Down]}"      ]] && bindkey -- "${key[Down]}"       down-line-or-history
    [[ -n "${key[Left]}"      ]] && bindkey -- "${key[Left]}"       backward-char
    [[ -n "${key[Right]}"     ]] && bindkey -- "${key[Right]}"      forward-char
    [[ -n "${key[PageUp]}"    ]] && bindkey -- "${key[PageUp]}"     beginning-of-buffer-or-history
    [[ -n "${key[PageDown]}"  ]] && bindkey -- "${key[PageDown]}"   end-of-buffer-or-history
    [[ -n "${key[Shift-Tab]}" ]] && bindkey -- "${key[Shift-Tab]}"  reverse-menu-complete
    
    # Finally, make sure the terminal is in application mode, when zle is
    # active. Only then are the values from $terminfo valid.
    if (( ${+terminfo[smkx]} && ${+terminfo[rmkx]} )); then
    	autoload -Uz add-zle-hook-widget
    	function zle_application_mode_start { echoti smkx }
    	function zle_application_mode_stop { echoti rmkx }
    	add-zle-hook-widget -Uz zle-line-init zle_application_mode_start
    	add-zle-hook-widget -Uz zle-line-finish zle_application_mode_stop
    fi
    
    
    # History - use current line up to cursor to search through history with arrow keys
    autoload -Uz up-line-or-beginning-search down-line-or-beginning-search
    zle -N up-line-or-beginning-search
    zle -N down-line-or-beginning-search
    
    [[ -n "${key[Up]}"   ]] && bindkey -- "${key[Up]}"   up-line-or-beginning-search
    [[ -n "${key[Down]}" ]] && bindkey -- "${key[Down]}" down-line-or-beginning-search