Figure 1: My Python-configured i3 set up, running on openSUSE Tumbleweed on 28 November 2018 (commit no 448, hash 151654c), the wallpaper is in the public domain and from https://www.opendesktop.org/p/1276706/
This repository contains my i3 configuration. There are two main routes of using them. Either you can use the i3pystatus (yes you will need to install i3pystatus from the latest git snapshot) powered bar or the C/C++/Shell-powered bar. It is meant to be placed at
~/GitHub/mine/config/i3-configs, with a symlink between its dotfiles and
*XTerm files to
~/. A copy of my common-scripts repository is meant to be at
~/GitHub/mine/scripts/common-scripts and is required to be there, in order for these i3 configs to work.
The C/C++/Shell-powered bar (which has its scripts and C/C++ code in common-scripts) includes weather conditions (including temperatures; presently calculates it for my location, feel free to edit it in
~/GitHub/mine/scripts/common-scripts/.i3/i3status.sh), uptime, % CPU used, RAM usage, core temperatures (set up for my system in particular so may not work for others. It is fairly easy to edit
~/GitHub/mine/scripts/common-scripts/.i3/i3status.sh to set it up for your system) and time.
The Python-based (or i3pystatus) bar displays the following: weather conditions (although sometimes it botches it and labels the temperature in Farenheit as degrees Celsius), download/upload rates for enp24s0 (easy to tweak by editing i3status.py), uptime, disk space (used/total), core temperatures, CPU usage (%), load (average over 1 minute), RAM usage (used/total) and date. Because my Python configs are shared across all the distros I use and this repo has different branches for different distros, I felt the Python configs should be placed in my common-scripts repository.
For these configs to work out-of-the-box one needs to have the following installed:
- feh for desktop background. The precise wallpaper to be used can be set by editing
- Font Awesome icon theme (e.g. the
otf-font-awesomepackage for Arch Linux), for the sake of getting the workspace icons shown in the above screenshot.
- g++ for CPU/RAM information (only for C++ config).
- i3pystatus (for Python-based counterpart of the bar).
- ImageMagick, so that one can take screenshots with PrtScrn (or Print or PrntScr).
- PulseAudio, for the volume information to be obtainable by i3pystatus.
- Rofi, for starting programs from Win+d
- git and wget, so that the latest available version of the tracked packages (in the top bar) can be determined from the internet. cURL may also work in place of wget, to find out you can inspect the scripts at https://github.com/fusion809/common-scripts/tree/master/usr/local/bin.
- xterm, for the Win+Tab shortcut to open a terminal. Split terminals are made by creating multiple xterm sessions in the one workspace and positioned using Win + arrow key. urxvt and other emulators can be used instead, although you will have to edit ~/GitHub/mine/scripts/common-scripts/.i3/config accordingly.
- Zsh, which is required for the floating point arithmetic used in download/upload calculations (C++ config only).
If you do not want to use these apps (xterm and ImageMagick) and want to use alternative apps edit
~/GitHub/mine/scripts/common-scripts/.i3/config accordingly. Likewise these configs are set up for PCs with 5 or more cores. If your screen is small and the i3bar does not seem to fit properly on your screen I would suggest editing the font setting line in
~/GitHub/mine/scripts/common-scripts/.i3/config accordingly. If you use some other internet connection than wlo1 you will need to edit the
~/GitHub/mine/scripts/common-scripts/.i3/upload.sh files to use your network connection.
|F1||Switch to workspace 1.|
|F3||Switch to workspace 3.|
|F4||Switch to workspace 4.|
|F5||Switch to workspace 5.|
|F6||Switch to workspace 6.|
|F7||Switch to workspace 7.|
|F8||Switch to workspace 8.|
|F9||Switch to workspace 9.|
|F10||Change to the workspace where PCManFM is running.|
|F11||Change to workspace where an instance of VLC is running.|
|F12||Change to workspace where an instance of xterm is running.|
|Alt+d||Focus the child container.|
|Win+0||Switch to workspace 10.|
|Win+2||Switch to workspace 2.|
|Win+a||Focus the parent container.|
|Win+c||Launch Chromium browser.|
|Win+d||Launch Rofi (drun mode) so you can enter in a command to run.|
|Win+e||Layout toggle split.|
|Win+f||Enter full screen for the focused window.|
|Win+g||Launch 0 A.D.|
|Win+o||Launch RuneScape NXT Client with Optirun (Bumblebee).|
|Win+p||Launch PCManFM (LXDE's file manager).|
|Win+q||Kill focused window.|
|Win+t||Launch Tor Browser (en).|
|Win+u||Launch urxvt (rxvt-unicode).|
|Win+Print||Start recording the screen.|
|Win+Shift+Space||Toggle between tiling and floating.|
|Win+Shift+10||Move window to workspace 10.|
|Win+Shift+1||Move window to workspace 1.|
|Win+Shift+2||Move window to workspace 2.|
|Win+Shift+3||Move window to workspace 3.|
|Win+Shift+4||Move window to workspace 4.|
|Win+Shift+5||Move window to workspace 5.|
|Win+Shift+6||Move window to workspace 6.|
|Win+Shift+7||Move window to workspace 7.|
|Win+Shift+8||Move window to workspace 8.|
|Win+Shift+9||Move window to workspace 9.|
|Win+Shift+c||Reload the configuration file.|
|Win+Shift+e||Exit i3 (log out of X session).|
|Win+Shift+m||Launch Virt Manager.|
|Win+Shift+o||Launch OpenRA Red Alert mod.|
|Win+Shift+p||Launch VLC media player.|
|Win+Shift+r||Restart i3 (preserves layout and session), can be used to start a newly installed version of i3.|
|Win+Shift+v||Launch Oracle VM VirtualBox.|
|Win+Shift+w||Rofi (window option).|