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?
I have a very unusual workflow. In addition to not stacking windows, I don’t minimize them either. Instead, I spread them out over many workspaces. Per workspace, I usually only have 1 or 2 windows, but I ‘group’ workspaces to keep semantically related windows together.
And I do that, by having all workspaces in a column and just placing windows in neighboring workspaces + leaving workspaces empty between the groupings. I also have a minimap for my workspaces in my panel, to just keep track of all of this.I like this workflow a lot, because it maps semantics to location. It feels like a desk where you just place related documents next to each other and might place some documents more in the middle, others in a faraway corner.
This is in contrast to the traditional Windows workflow or the workflow that many tiling folks use, where the first workspace is for web browsing etc…
Those use groupings based on the kind of task you do in them (often effectively being tabs in an application), like web browsing. They don’t group by the topic, e.g. you might frantically research ants and use a separate browser window, separate text editor etc., all grouped up for ants.Now, traditional use of workspaces does allow this grouping by topics, by just assigning each workspace a topic. But personally, I found that too static.
Like, yeah, I have some larger, completely distinct topics, but often I’ll just quickly research bees and that’s kind of ant-related, but doesn’t need to be fully mixed with that either. I’d rather just place it to the side of the ant stuff.I use hyprland My browser and daemons are autostart and I’ve some keybinds
App launch
Mod + e file manager (thunar) Mod + d app launcher (fuzzel) Mod + return terminal emulator (foot) Mod + b btop Mod + c cava
Window control
Mod + q close window Mod + space toggle float mode Mod + f toggle fullscreens mode
I mostly work in qtile in a fullscreen layout or a diagonal split between two windows. My hotkeys are super+d for rofi in dmenu mode and super+q for a shutdown menu also in rofi.
I use mod+enter or mod+~ (the key is called grave) to open rofi
mod+q closes the program while mod+shift+q opens rofi-power-menu which is what I use to reset, shutdown, logout, etc
mod+d is part of my navigation keys, that way I can move focus or programs around with just the left hand:
mod+esdf to move focus
mod+shift+esdf to move the window
mod+control+esdf to resize the window
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
Gnome + pop shell extension. Normal i3 tiling keybinds. All the following bindings include super. w for tabbed layout, f1 for calculator, f2 for Firefox, f3 for nautilus, f4 for settings, f5 for package manager. D for search which I can use like dmenu but much better. Shift+s for screenshot. Shift+q to quit application. I program with in the terminal so I need tiling for keyboard-only use. when I first used i3 I underrated tabbing. It solved nearly all of my problems with tiling.
I have mod+c for the calculator:
bindsym $mod+c exec --no-startup-id pgrep mate-calc && killall mate-calc || mate-calc
mod+c opens it and if I press mod+c again it will close it instead. Same trick with mod+b for pavucontrol.
edit: lemmy can’t display && when I paste it as code lol
Former Xmonad user here.
I had two 5 screens and two columns. One screen was for terminal emulators, one was for writing code and software development, one was for my web browser, 2 others were for miscelaneous things, but most often were for working with files a GUI file browser like Nautilus or Thunar, or for reading PDF files in Evince, or reading PowerPoint or Excel documents in LibreOffice.
On each screen the tiles were always in 2 columns. The left for doing work, writing code, prose, drawing graphics and charts, interacting with the CLI, and so on. On the right was documentation: manual pages, PDF files, HTML documents, sometimes the MPV video player window when watching a tutorial that I was able to download from YouTube.
The right column usually had no more than 3 windows open, they started to get too narrow to be useful if more than that were open. I would occasionally horizontally split the left column as well, usually when going back and forth between two documents I was editing.
However…
I did not use this workflow once I started using Tmux, and then I continued not using this workflow when I switched to Emacs. The reason is of course because Tmux and Emacs both provide their own tiling windowing system that operate within a single application window. So my main workflow was always in a single maximized terminal window, or a single maximized Emacs window, or a single maximized GIMP window. Only occasionally would I un-maximize these windows, but then to keep it from getting too small, I would set it in “floating window” mode. Also my web browser, PDF reader, GIMP, LibreOffice, all worked better in full-screen (maximized window) mode. Even Thunar (GUI file browser) has multiple tabs, and a multi-column mode which was useful for the very few times I ever needed a GUI file browser.
At one point, I actually changed my tiling window manager configuration to always open windows maximized, except for Thnuar (GUI file browser) which would open in floating mode, not tiling mode. At that point I finally realized that I don’t really using a tiling window manager at all, it is just there managing windows the same as a non-tiling window manager would do.
I switched back to the Xfce default window manager, and quit worrying about window managers all together.
Eh.
Alt + F4 to close running commands
Alt + enter for full screen
Alt + (arrow key) to switch between windows
Alt + p to run bemenu
thats it
I use awesome. Right now I use pretty standard key bindings. I have it looking more like i3, due to the awful wibar placement and font size. I’ve thought about making special key bindings for constantly used programs however I’m pretty content with Super-P and type the program I want. The most customized I have the awesome config file is, the only available layout is set to spiral and dwindle.
Soon I’d like to implement glyphs and once I figure that out I’ll be more apt to make keyboard shortcuts. I also would like to see if I can round up the awful wibar.
Using i3, I have a screen shot utility bound, a gif maker bound, and also I have a smart light which i turn on and off via an HTTP request, also bound in i3.
sway with tabs (i usually dont use actual tiling)+4-5 workspaces
waybar for status display and on mobile also for menu access
rofi as the app launcher (i also plan to write a proper rofi menu for my phone for quick access to useful commands/config but it’s heavily wip)
i patched sway for push to talk because wayland spec doesnt support keybindings in a way required for push to talk for now
i also plan to patch it on the phone to completely forbid fullscreen apps (as they hide the menu which i use for workspace/window switching) and show the window bar on all windows (for example, firefox extension/downloads popups)
Pinephone?
Also I like fuzzle better than rofi, check it out if you haven’t
I don’t care much about rofi itself, I primarily like it for how powerful its scripting is compared to e.g. dmenu (css themes are nice to have too I guess)
And no, OnePlus 6
All i need is https://github.com/paperwm/PaperWM it’s a tiling feature for GNOME
Advanced keybindings are Meta+1,2,3,…, to launch the pinned apps
I had to remap some important keys
- Meta+Space for a scratch window (floating window), disabled other scratch commands
- Meta+Tab - cycle through windows
- Meta+Shift+Tab - cycle through windows left (like tabs in a browser just with Meta)
I have an binding for my terminal, my Emacs and a general fuzzy selector for apps or SSH hosts. I generally operate with everything full screen with windows sorted across 10 named workspaces across 3 monitors.
Sway config: https://raw.githubusercontent.com/stsquad/dotfiles/master/dotconfig/sway/config
i use bismuth / polonium on KDE. both are very bare bone, but it’s nice to have a full plasma desktop + tiling.
let me know if you happen to know a better combination