A Friendly Guide To LARBS I3

i3_guide

i3_guide

i3_guide

User Manual:

Open the PDF directly: View PDF PDF.
Page Count: 6

DownloadA Friendly Guide To LARBS I3
Open PDF In BrowserView PDF
A Friendly Guide to LARBS
Luke Smith (https:// lukesmith.xyz)
Use vim keys (h/j/k/l) to navigate this document. Pressing s will fit it to window width (a to revert). K
and J zoom in and out. Mod+f to toggle fullscreen. q to quit. (These are general zathura shortcuts.)
• Mod+F1 will show this document at any time.
• By Mod I mean the Super Key, usually known as “the Windows Key.”
Questions or suggestions? Email me at luke@lukesmith.xyz.

Welcome!
Basic goals and principles of this system:
• Naturalness – Remove the border between mind and matter: everything important should be as few
keypresses as possible away from you, and you shouldn’t have to think about what you’re doing.
Immersion.
• Economy – Programs should be simple and light on system resources and highly extensible. Because of
this, many are terminal or small ncurses programs that have all the magic inside of them.
• Keyboard/vim-centrality – All terminal programs (and other programs) use vim keys when possible.
Your hands never need leave the home row or thereabout.
• Decentralization – This system is a web of small, modifiable and replaceable programs that users can
easily customize.

General keyboard changes
• Capslock is a useless key in high quality space. It’s now remapped. If you press it alone, it will function
as escape, making vimcraft much more natural, but you can also hold it down and it will act as another
Windows/super/mod key.
• The menu button (usually between the right Alt and Ctrl) is an alternative Super/Mod button. This is
to make one-handing on my laptops easier.
• The system also uses the US International keyboard by default. This allows you to type a lot of
characters in many different European languages.
If you’d like to change any of these keyboard changes, you need only open and change ~/.scripts/tools/remaps.
Actually, this should go without saying, but everything here can easily be changed.
Additionally, while this isn’t a part of i3, the default editing mode in the shell is using vi bindings. If you
want to learn more of this, run Mod+Super+E and type and select the option for “vi mode in shell”. This
setting can be changed if you don’t like it by deleting or commenting out the contents of ~/.inputrc.

The Status Bar
If you’re new to i3, notice the status bar on the top of the screen. To the left side, you’ll see the numbers of
your current workspace(s). On the right side, you’ll see various system status notifiers, the date, volume, even
music and local weather if possible etc. I’m sure you can figure it out. Several modules will be click-sensitive,
although if you’re using my system as indented, you probably won’t be doing much clicking.

1

The i3blocks config is ~/.config/i3blocks/config, which you can access by the terminal shortcut cfib.
Notice that the config file refers to several module scripts in the ~/.scripts/ directory. You can read a
summary of all of these scripts in the file ~/.scripts/SCRIPTS.md.

Deeper Tutorials
In addition to this guide and reading the dotfiles of programs manually, you can also get program-specific
information by running the getkeys command. This will give you the bindings of what program you want.
You can also press Mod+E (that’s a capital E) to get be able to watch tutorial videos on specific programs or
concepts directly from YouTube.

Key Bindings
All of the bindings below are in the file ~/.config/i3/config (easily accessible by typing cfi in the terminal)
and can all be easily changed.

Window basics
Notice the case sensitivity of the shortcuts.1
Be sure you play around with these. Be flexible with the basic commands and the system will grow on you
quick.
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•

Mod+Enter – Spawn terminal
Mod+q/Q – Close window
Mod+d – rofi (For running commands or programs without shortcuts)
Mod+t – Toggle between spawning vertically and horizontally
Mod+f – Fullscreen
Mod+h/j/k/l – Move to different windows
Mod+H/J/K/L – Move a window around
Mod+Y/U/I/O – Resize windows
Mod+/ – Spawn vertical terminal
Mod+' – Spawn horizontal terminal
Mod+s/S – Increase/decrease inner gaps
Mod+z/Z – Increase/decrease outer gaps
Mod+D – Reduce gaps to 0 pixels
Mod+T – Restore gaps to default (15 pixels)
Mod+Shift+Space – Make a window float (it will still be resizeable)
Mod+Space – Switch focus from a floating window to a non-floating one (or vice versa)
Mod+o – Make floating window sticky (will stay on active workspace)
Mod+b – Toggle status bar
Mod+B – Make window float in bottom left corner (good for video watched intermittently)

Basic Programs
Note: LARBS will install nearly all of these programs by default, but some only come if you chose an extra
option. Naturally, you can use yay to look for and install any you want to add.
1 To type capital letters, hold down the Shift key—that might sound like an obvious and condescending thing to tell you, but
there have literally been multiple people (Boomers) who have emailed me asking how to type a capital letter since caps lock isn’t
enabled.

2

•
•
•
•
•
•
•
•
•
•
•
•

Mod+r
Mod+e
Mod+m
Mod+w
Mod+a
Mod+i
Mod+n
Mod+y
Mod+u
Mod+A
Mod+W
Mod+G

–
–
–
–
–
–
–
–
–
–
–
–

ranger (file browser/manager)
mutt (email)
ncmpcpp (music player)
nmtui (for connecting to wireless internet)
R/Python calculator (hide with mod+a)
htop (system info)
newsboat (RSS feed reader)
calcurse (calendar and schedule)
“Dropdown” terminal (hide with mod+u)
pulsemixer (audio system control)
Web Browser
GIMP (for general image manipulation)

System
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•

Mod+R – ranger as root user
Mod+x – i3lock (Enter password to return)
Mod+X – shutdown (will ask to confirm)
Mod+Shift+Backspace – reboot (will ask to confirm)
Mod+Shift+Escape – exit i3 (will ask to confirm)
Mod+F1 – Shows this document
Mod+F2 – Refresh i3
Mod+F3 – Select screen/display to use
Mod+F4 – Hibernate (will ask to confirm)
Mod+F5 – Reset Network Manager, search for new networks
Mod+F6 – transmission torrent client (cli)
Mod+F7 – Toggle on/off transmission client via dmenu
Mod+F8 – Check mail, if mutt-wizard is installed
Mod+F9 – Mount a USB drive/hard drive or Android
Mod+F10 – Unmount a non-essential drive or Android
Mod+F11 – Search term on DuckDuckGo
Mod+F12 – Wifi-menu for selecting the wireless internet source.

Audio
I use ncmpcpp as a music player, which is a front end for mpd.
•
•
•
•
•
•
•
•
•
•
•
•

Mod+m
Mod+.
Mod+,
Mod+<
Mod+p
Mod+M
Mod+v
Mod+Mod++
Mod+[
Mod+]
Mod+A

– ncmpcpp music player
– Next track
– Previous track
– Restart track
– Pause
– Mute all audio
– visualizer
– Decrease volume (holding shift increases amount)
– Increase volume (holding shift increases amount)
– Back 10 seconds (holding shift increases amount)
– Forward 10 seconds (holding shift increases amount)
– ncpamixer (general volume sink/source control)

3

Workspaces
There are ten workspaces. They work just like those in vanilla i3 with some additions.
•
•
•
•
•
•

Mod+(Number) – Go to that number workspace
Mod+Shift+(Number) – Send window to that workspace
Mod+Tab – Go to previous workspace
Mod+g – Go to left workspace
Mod+; – Go to right workspace
Mod+Shift+Delete – “Porno-mode” Press this key sequence if you want to hide what you have on
your screen. Moves to a totally new workspace, mutes sound, pauses music and brings up distraction
windows.

Recording
I use scrot and ffmpeg to make different recordings of the desktop and audio. All of these recording shortcuts
will output into ~, and will not overwrite previous recordings as their names are based on their exact times.
•
•
•
•
•
•

PrintScreen – Take a scrot screenshot
Shift+PrintScreen – Take a scrot screenshot of only selected window
Mod+PrintScreen – Opens dmenu menu to select kind of audio/video recording
Mod+Delete – Kills any recording started in the above way.
Mod+ScrollLock – Turn on and off screenkey (if installed) for visual typing display
Mod+Shift+c – Toggles a webcam in the bottom right for screencasting.

Other buttons
I’ve mapped those extra buttons that some keyboards have (play and pause buttons, screen brightness, email,
web browsing buttons, etc.) to what you would expect.

Special traits of this system
Easy config access
Open a terminal and type bf. This will open a file where you will see customizable pairs of key shortcuts and
config files and other important text files. Enter any of these shortcuts in bash or ranger to immediately
open the file in vim.
You may add new entries here and they will be refreshed when you save the file in vim. This will take effect
immediately once you start a new instance of bash or ranger or reload your previous sessions.

Folder and config shortcuts
Open a terminal and type bd. This opens a file when you can keep and create directory/folder shortcuts.
There are only a few here now, because I don’t know what your folder structure is going to look like, but on
my machine, I have 109 and growing.
Each line has a shortcut key/keys and its target. These can be used in several applications. In bash, simply
press d, the shortcut for ~/Documents and you will cd there (and automatically ls -a).
ranger works similarly. When in ranger, just press g then the shortcut of the folder you want to go to. You
may also press t plus the shortcut to open a new tab there. m plus the shortcut moves the selected files to
4

the folder and Y copies them there. Get good at this. It will make management of even the most
complex file system easy.
Lastly qutebrowser implements these shortcuts as well. When you see a file or image you want to download,
press ; followed by the folder shortcut and qutebrowser will let you select the file with its hint system. The
file will then download to the directory you chose.

Dynamically constructed configs
Each time you save changes to either the config shortcut file or the folder shortcut file in vim, vim will
automatically run a bash script that updates your bash/ranger config, allowing you to use your new shortcuts
in your next instance of bash/ranger or after resourcing your rc files.

Other Housekeeping
How do I change the background/wallpaper?
The easiest way is to use ranger, navigate to the file you want as your background, and press bg. To be
specific, i3 will always be looking to the file in ~/.config/wall.png for the wallpaper, this ranger command
copies the given file there and reruns feh to update it.

How do I set up my email?
1. Create a GPG private/public key pair if you haven’t already.
2. Download the mutt-wizard repository to the mutt config directory:
git clone https://github.com/lukesmithxyz/mutt-wizard ~/.config/mutt
3. There run mutt-wizard.sh and follow the directions, specifically:
a. Add an account.
b. Run offlineimap -o in the terminal.
c. Select the “Autodetect mailboxes” option.
You should then be able to open your mail in mutt with Mod+e. And this is somewhat of a miracle considering
all of the moving pieces that have come together to make this happen. Honestly, people give me all this credit
for making LARBS, but the mutt-wizard is probably my favorite work.
You can, through the mutt-wizard, schedule automatic mail checks every several minutes. You can also press
Mod-F8 at any time to check for new mail in your accounts. You might also want to run notmuch setup to
set notmuch up as a mail indexer. This will allow quick searches of your mail in mutt with ctrl+f. The
mailsync script will update the notmuch database once you do this.

How do I set up my music?
By default, mpd, the music daemon assumes that ~/Music is your music directory. This can be changed in
~/.config/mpd/mpd.conf. When you add music to your music folder, you may have to run mpc up in the
terminal to update the database. mpd is controlled by ncmpcpp, which is accessible by Mod+m.

5

Contact
• luke@lukesmith.xyz – For questions!
• https://lukesmith.xyz – For stalking!
• PayPal – For gratitude!
• Patreon – For support!
• My Github Page – For the code behind it!
• RSS – For even better updates!

6



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.5
Linearized                      : No
Page Count                      : 6
Page Mode                       : UseOutlines
Author                          : Luke Smith (https://lukesmith.xyz)
Title                           : A Friendly Guide to LARBS
Subject                         : 
Creator                         : LaTeX with hyperref package
Producer                        : pdfTeX-1.40.19
Create Date                     : 2018:11:07 22:34:45-05:00
Modify Date                     : 2018:11:07 22:34:45-05:00
Trapped                         : False
PTEX Fullbanner                 : This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018/Arch Linux) kpathsea version 6.3.0
EXIF Metadata provided by EXIF.tools

Navigation menu