Post AwHgUl4FlYxJBScEca by samae@bidule.menf.in
 (DIR) More posts by samae@bidule.menf.in
 (DIR) Post #AwGAgVLAfpWcBt7t3I by picnoir@social.alternativebit.fr
       2025-07-18T13:59:37.204268Z
       
       0 likes, 0 repeats
       
       I moved to niri about 2 months ago.I like it a lot. There's however a pitfall I regularly fall into: I open too many windows on a single workspace and I end up losing them.I reach a point where I'm bankrupt and keep on left-right scrolling the various workspaces to find the right window.When I reach that point, I usually pause and garbage collect the useless windows.Not sure if it's a good thing or a bad thing.Maybe we could hack a quick fuzzel script helping to search through the open windows. `niri msg -j windows` seems to give the full list of windows. I guess it shouldn't be too hard to implement.
       
 (DIR) Post #AwGN06JKdrR5nvNPXc by Profpatsch@mastodon.xyz
       2025-07-18T16:04:45Z
       
       1 likes, 0 repeats
       
       @picnoir what really helped me is restricting myself to ~10 workspaces and assigning each a domain.
       
 (DIR) Post #AwGN0CMk85jIaF1Dgu by Profpatsch@mastodon.xyz
       2025-07-18T16:07:06Z
       
       1 likes, 0 repeats
       
       @picnoir So I have it like1: secondary work2: Emacs (mainly for git)3: music4: random terminals / background processes5: videos (for second screen)6: (wee)chat7: Firefox8: primary editors9: primary terminalsany while I will once in a while change the meanings, it’s been consistent for over a decade at this point
       
 (DIR) Post #AwGN0DLMUiDdcFNdB2 by Profpatsch@mastodon.xyz
       2025-07-18T16:08:06Z
       
       1 likes, 0 repeats
       
       @picnoir Also I should really assign 0 to be a screen as well, it’s kind of an obviously wasted key
       
 (DIR) Post #AwGN72q9wZC34G2hPM by picnoir@social.alternativebit.fr
       2025-07-18T16:18:58.482969Z
       
       0 likes, 1 repeats
       
       Ok, in the end, it was almost trivial to implement:```#!/usr/bin/env bashjson=$(niri msg -j windows)selectedWinId=$(echo "$json" | jq -r '.[] | (.id | tostring)   + ") " + .app_id + " | " + .title' | fuzzel --dmenu --width 120 | cut -f 1 -d ')')niri msg action focus-window --id "$selectedWinId"```
       
 (DIR) Post #AwHbBg81PFreamSeLg by lord@pleroma.lord.re
       2025-07-18T16:27:39.129376Z
       
       1 likes, 0 repeats
       
       @picnoir Did you try this first ? It may already be possible without doing anything :-)
       
 (DIR) Post #AwHbzVFy6MePLww760 by picnoir@social.alternativebit.fr
       2025-07-19T06:40:22.233372Z
       
       0 likes, 0 repeats
       
       @lord Nice! Thanks for the pointer.I did not manage to build it overriding the Nixpkgs build. For some reason, meson cannot find the wayland extension xml file used by this PR to list/switch windows.It seems to be vendored through a git submodule, we're not injecting the submodule on NixOS, not sure how we're retrieving those.fuzzel> meson.build:134:22: ERROR: File external/wlr-protocols/unstable/wlr-foreign-toplevel-management-unstable-v1.xml does not exist.To be franc, the quick hack works for me, I'm too lazy to debug that for now :PI'll stay on my bash quick hack until this gets merged :)
       
 (DIR) Post #AwHdqf0weZ62uyovxY by picnoir@social.alternativebit.fr
       2025-07-19T06:52:55.395121Z
       
       0 likes, 0 repeats
       
       @lord Ok, I couldn't help myself. The meson build currently does not depends on the wlr submodule, not sure why the submodule is already there. This PR adds this dependency and breaks the Nixpkgs build.Knowing that, the fix is easy:```  fuzzel = super.fuzzel.overrideAttrs (old: {    patchPhase = ''      rm -rf external/wlr-protocols      ln -s ${super.wlr-protocols}/share/wlr-protocols external/wlr-protocols      ${super.tree}/bin/tree external/wlr-protocols    '';    src = super.fetchFromGitea {      domain = "codeberg.org";      owner = "dnkl";      repo = "fuzzel";      rev = "issue-319-window-switching";      hash = "sha256-eQiz3ViuuXVbTstVVD/ePco21DIedQmzv/1Az0GOAmU=";    };  });```And yep, the window switching works perfectly on Niri with this.Again, thanks for the pointer.
       
 (DIR) Post #AwHgUjrSFf7jRTcV28 by lord@pleroma.lord.re
       2025-07-19T07:10:30.443918Z
       
       0 likes, 0 repeats
       
       @picnoir I had the same problem : this file was missing and i had to provide it myself.In fact i stumbled upon this .
       
 (DIR) Post #AwHgUl4FlYxJBScEca by samae@bidule.menf.in
       2025-07-19T07:26:51.360301Z
       
       1 likes, 0 repeats
       
       @lord @picnoir Awesome!
       
 (DIR) Post #AwM8iLacrbVlZJrivQ by Thib@mamot.fr
       2025-07-21T10:45:37Z
       
       1 likes, 0 repeats
       
       @picnoir Oh, I've been thinking to hack sway to mimick this (I'm too lazy to start from scratch), cause I have too many windows too and it's not that easy to manage in i3/sway/other WMs that I tried. And I usually abuse workspaces to avoid having too many windows on one workspace.Is it stable as a daily driver?
       
 (DIR) Post #AwMZyGSAQTDV2Aiuem by Thib@mamot.fr
       2025-07-21T11:39:46Z
       
       0 likes, 0 repeats
       
       @picnoir Sorry, the question was about Niri.