Tiling window manager users: how exactly do you use yours?

Do you have advanced keybindings for bringing up frequently used programs?

Are there less common layouts you use frequently?

Do you use any advanced or fancy features?

  • @Samueru@lemmy.world
    link
    fedilink
    6
    edit-2
    10 months ago

    i3 here, mine is very different from the usual, I made it to use the left hand as much as possible:

    How I launch commonly used programs:

    bindsym $mod+F1 exec --no-startup-id pgrep librewolf && i3-msg "[class=LibreWolf] focus" && dunstify -r 34 -t 1500 "LibreWolf"  || librewolf | dunstify -r 34 -t 2000 "Launching non-XDG Compliant Software: LibreWolf"
    bindsym $mod+Shift+F1 exec --no-startup-id librewolf | dunstify -r 35 -t 1000 "New LibreWolf Window"
    bindsym $mod+F2 exec --no-startup-id thunar
    bindsym $mod+F3 exec --no-startup-id pgrep deadbeef && i3-msg "[class=Deadbeef] focus" && dunstify -r 36 -t 1500 "DeaDBeef" || deadbeef | dunstify -r 36 -t 2000 "Launching DeaDBeef"
    bindsym $mod+F4 exec --no-startup-id pgrep ferdium && i3-msg "[class=Ferdium] focus" && dunstify -r 37 -t 1500 "Ferdium" || ferdium | dunstify -r 37 -t 2000 "Launching Ferdium"
    bindsym $mod+F5 exec --no-startup-id pgrep freetube && i3-msg "[class=FreeTube] focus" && dunstify -r 38 -t 1500 "FreeTube" || freetube | dunstify -r 38 -t 2000 "Launching Freetube"
    bindsym $mod+F6 exec --no-startup-id pgrep steam && i3-msg "[class=steam] focus" && dunstify -r 39 -t 1500 "Steam" || exec steam | dunstify -r 39 -t 2000 "Launching Ruthless non-XDG Compliant Software: Steam" "(Also fucks your screensaver lol)"
    bindsym $mod+F7 exec --no-startup-id pgrep yuzu && i3-msg "[class=yuzu] focus" && dunstify -r 40 -t 1500 "yuzu" || gamemoderun yuzu | dunstify -r 40 -t 2000 "Launching yuzu"
    

    If the program is already opened and I press the key it will focus on it instead of opening another window, to open another window for the browser I need to press Shift. (And yes I have some beef against programs that don’t follow xdg base directory specs lol)

    For navigation keys, I use esdf instead of wasd, I can also use the arrow keys:

    
    bindsym $mod+Shift+r layout toggle splitv tabbed splith
    bindsym $mod+r layout toggle splith tabbed splitv
    bindsym $mod+q kill
    bindsym $mod+z split toggle
    bindsym $mod+g fullscreen toggle
    bindsym $mod+Shift+space floating toggle, resize set 710 400, move position center
    bindsym $mod+Mod1+space floating toggle
    bindsym $mod+space focus mode_toggle
    bindsym $mod+Shift+x move scratchpad, exec --no-startup-id dunstify -r 33 -t 1500 "Window Moved to Scratchpad"
    bindsym $mod+x scratchpad show, exec --no-startup-id dunstify -r 33 -t 1500 "Scratchpad Show"
    bindsym $mod+Left focus left
    bindsym $mod+Down focus down
    bindsym $mod+Up focus up
    bindsym $mod+Right focus right
    bindsym $mod+a exec --no-startup-id ~/.local/bin/scripts/togglefocus.sh 
    
    bindsym $mod+s focus left
    bindsym $mod+d focus down
    bindsym $mod+e focus up
    bindsym $mod+f focus right
    
    bindsym $mod+Ctrl+Left resize shrink width 100 px or 15 ppt
    bindsym $mod+Ctrl+Down resize shrink height 100 px or 15 ppt
    bindsym $mod+Ctrl+Up resize grow height 100 px or 15 ppt
    bindsym $mod+Ctrl+Right resize grow width 100 px or 15 ppt
    
    bindsym $mod+Ctrl+s resize shrink width 100 px or 15 ppt
    bindsym $mod+Ctrl+d resize shrink height 100 px or 15 ppt
    bindsym $mod+Ctrl+e resize grow height 100 px or 15 ppt
    bindsym $mod+Ctrl+f resize grow width 100 px or 15 ppt
    

    I had to use an script for mod+a because i3 can’t use the same keybind to focus parent and focus child (I use it like select all thing).

    The default config of i3 has a resize mode, I got rid of all of that, it is much better to use mod+control to resize lol.

    I also have the mouse side buttons to control media playback as well as making the window float with middleclick:

    bindsym --whole-window $mod+button2 floating toggle, resize set 710 400, move position center
    bindsym --whole-window $mod+button9 exec --no-startup-id playerctl next
    bindsym --whole-window $mod+button8 exec --no-startup-id playerctl previous
    bindsym --whole-window $mod+Shift+button8 exec --no-startup-id playerctl play-pause && sleep 0.2 && playerctl metadata --format '{{ status }}: {{ title }} by {{ artist }}' | xargs -0 -I {} dunstify -r 11 -t 2000 "Playback" "{}"
    

    edit: lemmy can’t display && when I paste it as code lol