80
submitted 10 months ago* (last edited 10 months ago) by cyclohexane@lemmy.ml to c/linux@lemmy.ml

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?

you are viewing a single comment's thread
view the rest of the comments
[-] Samueru@lemmy.world 6 points 10 months ago* (last edited 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

this post was submitted on 08 Jan 2024
80 points (96.5% liked)

Linux

48080 readers
789 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS