...
Note: for brevity I'm going to refer to my Manjaro i3 system as Mi3 below.
Table of Contents maxLevel 4 minLevel 3
Guide
Turn on firewall
...
View Git file | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Info |
---|
Window Management and various other implementations in i3My usage and window management approaches in |
...
have evolved over time - and continue to evolve. If you look through |
...
my dev branch |
...
you'll see many changes and things tried (and reverted) as I've slowly tried out things until I've found what works best for me. That's one the many things I love about Below are just a few of the window management approaches that have stuck with me. Please note that these approaches might not work for you - and that's fine. Feel free to adapt (or disregard) them. |
My "special" window combiner bindsyms
I found that much of my time was spend combining two adjacent windows into a single container. That is, say I have four application windows all in a tabbed container, like so:
...
Code Block |
---|
# special combo for container tabbed split of two windows next to each other bindsym $mod+z split h, layout tabbed, focus right, move left, focus left, $con_title bindsym $mod+Shift+z split h, layout tabbed, focus left, move right, focus right, $con_title |
Container renaming
Dynamic container renaming
...
Code Block |
---|
set $con_title focus parent; title_format "<span foreground='#ff8c85'><b> %title</b></span>"; focus child; title_format " %title" |
Scratchpad specific applications and bind their showing/hiding to a key shortcut
The i3 scratchpad is great holding area for application windows that you might want to keep hide from all workspaces until you need them. I often use the scratchpad for applications like my email client (which I don't want to see until an email arrives etc.) or for an on-demand terminal (not really a drop-down terminal but similar use case), or for an application that I regularly want to (quickly) popup, retrieve information and then have it get out of the way just as quickly (like a password manager for example).
In order for the use case(s) above, you really want to bind the scratchpad application to a keyboard shortcut that can be pressed to show the scratchpad application, and then pressed again to hide said application.
I wrote several scripts and integrated these directly in my i3.conf. They basically check if an application is running, if it's not then start it (where you can then scratchpad it with the normal shortcut: mod+Shift+minus
). If it is running (and already on the scratchpad) pressing the shortcut will show/hide said application. Of course, you can write a script to do all this and call it from your i3.conf, but I prefer to explicitly define the bash script in my conf (partly to cut down on others needing to take copy of my scripts separately from my i3.conf file).
Enough waffling, some i3.conf examples:
Terminator (terminal application)
I use the very cool (I think) terminator. See my i3.conf bindsym below:
Code Block |
---|
bindsym $mod+Shift+Return exec "APP=\\"terminator\\"; CLASS=\\"Terminator\\"; if pgrep -x \\"$APP\\" > /dev/null 2>&1; then i3-msg \\"[class=\\"$CLASS\\"] scratchpad show\\"; else \\"$APP\\"; fi" |
Info |
---|
You'll note that I define separate bash variables ($ |
KeeWeb
My bindsym for KeeWeb (keepass cross-platform client):
Code Block |
---|
bindsym $mod+o exec "APP=\\"KeeWeb\\"; if pgrep -x \\"$APP\\" > /dev/null 2>&1; then i3-msg \\"[class=\\"$APP\\"] scratchpad show\\"; else \\"$APP\\"; fi" |
References
- https://forum.manjaro.org/t/reversed-scrolling-in-i3-edition/25811
- https://wiki.archlinux.org/index.php/Libinput
- https://wiki.archlinux.org/index.php/Touchpad_Synaptics
- https://wiki.archlinux.org/index.php/Razer_Blade#2018_version
- https://forum.manjaro.org/t/how-disable-bios-beep-like-sound-in-some-applications/17094/5
- https://wiki.archlinux.org/index.php/GNOME/Keyring#PAM_method
- https://i3wm.org/i3status/manpage.html#_disk
- http://duncanlock.net/blog/2013/06/07/how-to-switch-to-compton-for-beautiful-tear-free-compositing-in-xfce/
- http://vadim-kirilchuk-linux.blogspot.com.au/2013/05/swap-file-for-hibernation.html
- https://github.com/DaveDavenport/rofi
- https://wiki.archlinux.org/index.php/Per-application_transparency
- https://forum.manjaro.org/t/manjaro-i3-how-to-use-lightdm-as-lockscreen/42131
- https://www.reddit.com/r/i3wm/comments/7f84ae/is_there_a_way_to_rename_parent_containers/
...