I3 = improved tiling windows manager
We start from an up-to-date Ubuntu 16.10.
I like to tune my machines. Scripts for Ubuntu 16.10 are here.
https://github.com/erikdubois/Ultimate-Ubuntu-16.10
#Prerequisites
First install Ubuntu 16.10 like you always would.
Then update.
Download and use proprietary drivers if needed. Broadcom, nvidia, ati and the likes.
Upgrade your kernel if you want to.
Get that out of the way.
Get the code from github. Install git first
sudo apt-get install git
Then
git clone https://github.com/erikdubois/i3-on-Ubuntu-16.10
This folder, your are downloading, is all you will need to get I3 working the easy way.
##Contents of the github
Folder Installation is the sequence of the installation procedure you can follow till the last one or not.
Folder I3 are all the settings to get a working I3 and it is in the folder Step 4.
I copy/pasted the procedure for Linux mint 18 from here.
https://github.com/erikdubois/i3-on-Linux-Mint-18-Cinnamon
THERE WAS NO NEED TO CHANGE THE INSTALLATION SCRIPTS
Changes were however made in the config file
- Filemanager in Ubuntu is Nautilus not Nemo.
Let us install I3 first. Go inside the folder Installation. You will find folders that are to be run in sequence. The folders are named according to our titles.
###Folder 1-i3-from-repo
First we will get I3 from the Ubuntu Repositories (version 4.11) by running the script
install_i3_version_4.11_from_repositories.sh
###Folder 2-i3_with_gaps
Install first the dependencies.
0_install_dependencies_for_both_scripts.sh
Then we need to run a script to install a xcb-util-xrm. This package is not yet included in the repositories at mid september 2016. So we compile it ourselves. In the future this can be done easier if it is in the repo's.
1_install_xcb-util-xrm.sh
Next we will run a script to get I3 and its dependancies (version 4.12) with the possibility to have gaps between the windows by running
2_install_i3_gaps_next.sh
The added advantage is that we will have the latest version of I3 as you can see on the website.
We will install an extra menu to start applications. This menu is quite interesting as the menu is based on the .desktop files in your /usr/share/applications. Other menu's tend to show ALL programs. In linux this can be quite a long series.
Run the script to get this extra j4-desktop-dmenu.
j4-dmenu-desktop_install.sh
Now we will install software that is needed specifically for the use in I3.
Run the script
install-extra-software.sh
You will install
- numlockx to enable the numeric key
- feh will help changing the wallpapers from variety
- lxappearance to change icons, themes and cursors
- scrot to take a quick screenshot of your desktop
- compton to enable some dimming of unfocused windows
- unclutter to get rid of the mouse icon if it is in the way
- volti to have a panel icon to adjust sound volume
- traded volti in for pasystray to change the volume due to the bluetooth headset
- terminator - different terminal you can fine-tune in look
When you install i3 it will make an hidden folder in this location, once you login.
~/.config/i3
You have to copy/paste the content of the i3 folder into ~/.config/i3.
You have to make this folder yourself. It is normal that you do not have it.
You never logged in with I3.
Beware the hidden files !! Copy/paste all files (CTRL + H)
At this point we have no hidden files but there might be more in the future.
Some explanations
- config is the most important file - here all the settings of I3 that can be changed
- i3status.conf is the configuration file for you bottom panel that can be changed
- i3exit.sh is used to logoff, exit, reboot etc - no need to change this
- compton.conf is telling the system to dim the windows that have no focus that can be changed
- start-conkys.sh will start the two conky's present
- system-overview conky will show process and memory
- system-shortcuts conky will help you with the shortcuts
Use lxappearance to change icons, themes etc ... Restart programs to see the changes.
In this folder you will find two files. If you have issues changing the icons etc you can check out my settings of these files
This file should be in your home directory as a hidden file. Compare or copy/paste.
.gtkrc-2.0
The other file is a bit deeper in the folder structure.
~/.config/gtk-3.0/settings.ini
Compare your settings or copy/paste to this location.
If you want the conky's to work you will have to run the installation script for the software.
install-conky-software.sh
If you want to have a status bar based on a conky (step 10) you will need this too.
Nothing yet to share in the folder step 7.
The program xrandr will show you how your monitors are named. In the config file you will need to change the code.
Uncomment the ones you need. This is my setup.
set $firstMonitor DVI-I-1
set $secondMonitor DVI-I-2
Use this code in your config or terminal (only once) to tell the system which monitor goes on the left.
xrandr --output DVI-I-2 --right-of DVI-I-1 --auto
Not necessary to do.
The terminal is a place you will be working a lot. I have terminator as terminal. In all distro's it is available and it provides transparency of the background so we can look at the wallpaper provided by variety.
These are my settings. Put them in this folder. Compare or copy/paste.
~/.config/terminator/config
These are all my config files or settings of a wide variety of applications.
Not necessary to do.
You can set your wallpaper with nitrogen also if variety (or feh) does not prove to work.
sudo apt install nitrogen
The best thing to do is :
read the config file in the folder ~/.config/i3
If in a hurry, you can always check the conky or this website.
You can set your mod key. I have set mine to the Windows Key
This line in your config file you set the windows key or super key.
set $mod Mod4
Some commands working with the Mod Key (windows key)
Mod + SHIFT + E = to exit i3 and log back on with Cinnamon
Mod + D = dmenu
Mod + SHIFT + D = j4_dmenu
Mod + Enter = terminal
Mod + SHIFT + Enter= nemo (file manager)
Mod + SHIFT + Q = end current program (move mouse over it)
##Assign section
Remember the 10 possible screens in the bottom-left corner. I have positioned some programs on some specific desktops.
assign [class="Firefox"] → 1
assign [class="sublime-text"] → 2
assign [class="sublime_text"] → 2
assign [class="Sublime_text"] → 2
assign [class="Vlc"] → 7
assign [class="Nemo"] → 8
assign [class="Geary"] → 9
assign [class="Evolution"] → 9
assign [class="Spotify"] → 10
Tip : if you use sublime-text. It gives us 'nag screens' to buy it. They will pop up in workspace 2 because of my setting.
Mod4 + SHIFT + R = reset or rerun i3 if you change some code in the config file
ALT = Mod1 for I3
So CTRL + ALT + f will start firefox. Change the shortcuts if you do not like them in the config file.
bindsym control+Mod1+f exec firefox
bindsym control+Mod1+g exec geary
bindsym control+Mod1+e exec evolution
bindsym control+Mod1+s exec spotify
bindsym control+Mod1+t exec subl
bindsym control+Mod1+b exec nemo --no-desktop
bindsym control+Mod1+n exec cinnamon-settings
bindsym control+mod1+m exec gnome-system-monitor
Log in by clicking the symbol in the top right of the login screen and choose i3. I am set to autologin. It will remember your preferences to log in next time.
Firefox will start on workspace 1. Sublime Text will start on workspace 2. Nemo will start on workspace 8.
Spotify will start on any workspace... There is a bug/issue we have to live with. Put your mouse on top of spotify and press
mod (i.e.windows or super) and SHIFT and 0 to move it to window 10 for example
In the mean time I have a fix for spotify in the config.
#fix for spotify not moving to workspace 10
for_window [class="Spotify"] move to workspace 10