Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Added note about why I use mod and mod_next. Some other cleanup.

I'm a big fan of i3 (tiling window manager for Linux).  I'm also a big fan of Arch and the user-friendly Manjaro Linux (which is based on Arch).  Put these together (i3 + Manjaro) and you get the pure awesomeness that is get Manjaro i3 (Community Edition): a very nice distro with a well implemented i3wm environment (by default).

Tiling window managers do have a fairly steep learning curve, but dang, in terms of efficiency and managing many windows and tasks at once, you just can't beat a tiling window manager (for me anyway).

...

Code Block
languagebash
sudo systemctl enable xhc-sleep.service
sudo systemctl start xhc-sleep.service


Info

Note, even with this, after first starting up and then (the first) sleep - my machine wakes up immediately (unless I close my lid, which makes it stay asleep).  After that first "wake-up" it will now sleep properly (i.e. not wakeup automatically).

Set default applications

We can generally set default (or preferred applications) in Mi3 by using the morec_menu (mod+z).  Navigate with mod+z → settings → preferred applications.  However, in my case, even setting my preferred browser to chrome (or chromium) didn't stick.

...

  • define mod_next at top of file (: used throughout config, e.g.  mod=Mod1 (i.e. super), mod_next=Mod4 (i.e. alt)
  • conky config files (see following section)
  • pamac-manager now starts as normal (not float);
  • also using rofi (sudo pacman -S rofi) for both window listing (mod+Tab) and as a launcher (mod+d);
  • using py3status instead of i3status (sudo pacman -S py3status);
  • using '$modmod_next+uiop[' u|i|o|p|[ keys for various apps (like launching pamac, chromium, bitwarden, putty, nautilus);
  • added resizing windows without needing resize mode and disabled resizing mode.  Can also use vim style keys here;
  • changes to container and splitting shortcuts; 
  • mod+altmod_next+z, mod+mod+altnext+x increases/decreases current window transparency needs transset-df (sudo pacman -S transset-df);
  • sticky window toggle set to (mod+ctrl+s);
  • added "netflix" and "spotify" modes (mod+mod_next+n, mod+mod_next+m);
  • change split h/v keys to mod+z/x|x (alternatively mod+mod_next+q|e)
Warning

I have several bindsyms that use integrated bash scripts (i.e. not external but explicitly defined in my i3 config) which depend on xdotool. Please ensure you have xdotool installed, e.g. do "pacman -S xdotool"

...


...

Info

You'll note that I (perhaps peculiarly) use mod=Mod1 (super key) and mod_next=Mod4 (alt) instead of just using a single key mod key.  I thought I would briefly explain the reason why:

At work I'm in a rather peculiar environment where I usually have to work on a base windows environment (which I really only use for email) and then remote desktop into a variety of Linux desktops and dev environments (either running i3 or no gui at all).  As such, Super+L locks the host windows machine (which behaviour I am not permitted to change).

Hence, by necessity, I've moved to alt as the default mod key (since I'm a die-hard vim key fan), and now use the super key for mostly launching applications etc.  On my home machines I'm under no such restrictions (and just run straight Linux environments).  I did try to get used to two different configs (one at work and one at home) but my muscle memory didn't like that so I settled on the current config which I'm now used to.

View Git file
pathi3/config
repository-id3
titleContents of my ~/.i3/config
branchrefs/remotes/origin/master
linenumberstrue
collapsetrue

...

View Git file
pathconky/conky_numix
repository-id3
titleConky (numix) theme for system stats (top right in image above)
branchrefs/remotes/origin/master
collapsetrue

View Git file
pathconky/conky_shortcuts_numix
repository-id3
titleConky shortcuts conf (see lower left in image above)
branchrefs/remotes/origin/master
collapsetrue

...

View Git file
pathrofi/themes/lb-numixcustom.rasi
repository-id3
titleContents of my /usr/share/rofi/themes/lb-numix.rasi
branchrefs/remotes/origin/master
linenumberstrue
collapsetrue

...

Info

Window Management and various other implementations in i3

My usage and window management approaches in i3 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 i3 (and linux in general).

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.

...

I've found what works best for me.  That's one the many things I love about i3 (and linux in general).

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

Info

Note I no longer use these.  I use of i3 is constantly evolving and I find myself using more of a "master-stack" or a "stack-stack" approach to window management.  As such, I haven't used the below approach much lately so have deprecated them (removed them) in my config.  These might work well for you though so give them a try!

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:

...

Save i3 layouts with i3-layout-manager

Info

Although still in my i3 config file, this is now disabled (commented out) as it is still experimental with several issuesThis is now removed from my current config.  Was great but I no longer use it (plus was a bit experimental and had a few issues I ran into).  Would still recommend though if you like the idea of predefining i3 layouts.

i3 natively supports saving and loading specific window layouts with the i3-save-tree, however the implementation is not really "user ready" in the sense that you can't use it as is to easily save and load different layouts.

...