[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
howtos:i3wm [2012/09/18 20:35 (UTC)] – [i3 Configuration] Added link to a full keybindings map sycamorex | howtos:i3wm [2012/09/25 04:23 (UTC)] (current) – deleted page - moved to the howtos:window_managers section mfillpot | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | <!-- Add your text below. We strongly advise to start with a Headline (see button bar above). --> | ||
- | ===== i3 Tiling Window Manager ===== | ||
- | i3 is a very lightweight, | ||
- | |||
- | ==== i3 in Slackware==== | ||
- | |||
- | Slackware does not come with the i3 window manager. The installation process, however, is a quick an easy one. i3 is available from [[http:// | ||
- | |||
- | ==== i3 Dependencies ==== | ||
- | |||
- | All i3's dependencies are also available from [[http:// | ||
- | |||
- | * [[http:// | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | |||
- | It is also highly recommended to install [[http:// | ||
- | |||
- | ==== Starting i3 ==== | ||
- | |||
- | Having installed all the packages, you can exit X and run '' | ||
- | |||
- | === Known Issues === | ||
- | |||
- | == i3 and nVidia Binary Driver == | ||
- | |||
- | Up until recently, nVidia binary driver users had to add the '' | ||
- | |||
- | < | ||
- | |||
- | if [ -z " | ||
- | exec ck-launch-session i3 --force-xinerama | ||
- | else | ||
- | exec i3 | ||
- | fi</ | ||
- | |||
- | As of version 302.17 of nVidia binary driver it is **no longer necessary**. (See more [[http:// | ||
- | |||
- | == i3 and Thunar (Slackware 14rcX) == | ||
- | |||
- | The '' | ||
- | |||
- | < | ||
- | if [ -z " | ||
- | exec ck-launch-session dbus-launch --exit-with-session /usr/bin/i3 | ||
- | else | ||
- | exec i3 | ||
- | fi</ | ||
- | |||
- | |||
- | ==== i3 Configuration ==== | ||
- | |||
- | When you first start i3, you will be welcomed by '' | ||
- | |||
- | < | ||
- | Do you want me to generate ~/ | ||
- | |||
- | < | ||
- | < | ||
- | |||
- | Let the wizard generate the config file. You'll then face another dilemma: | ||
- | |||
- | < | ||
- | |||
- | --> < | ||
- | < | ||
- | |||
- | Afterwards, press | ||
- | |||
- | < | ||
- | < | ||
- | |||
- | Use the < | ||
- | |||
- | < | ||
- | |||
- | === Changing i3 Modifier Key(s) === | ||
- | |||
- | It is easy to change or add i3 modifiers. Right at the top of the '' | ||
- | |||
- | < | ||
- | |||
- | < | ||
- | |||
- | Or < | ||
- | |||
- | < | ||
- | |||
- | You can also configure a secondary modifier assigning it to a variable (eg. '' | ||
- | |||
- | < | ||
- | set $ms Mod4</ | ||
- | |||
- | === Keybindings for Most Common Activities and Applications === | ||
- | |||
- | The following are some basic keybindings to help you get started. For a full map of default keybindings see [[http:// | ||
- | |||
- | == Terminal == | ||
- | |||
- | Pressing < | ||
- | |||
- | < | ||
- | |||
- | Specify a terminal of your choice: | ||
- | |||
- | < | ||
- | |||
- | == Close a Window == | ||
- | |||
- | < | ||
- | |||
- | == Go to a Given Workspace == | ||
- | |||
- | < | ||
- | |||
- | In this instance we go to '' | ||
- | |||
- | == Reload the Config == | ||
- | |||
- | < | ||
- | |||
- | == Restart i3 == | ||
- | |||
- | < | ||
- | |||
- | == Quit i3 == | ||
- | |||
- | < | ||
- | |||
- | |||
- | === Adding Your Own Keybindings === | ||
- | |||
- | If you want to launch Firefox using < | ||
- | |||
- | < | ||
- | |||
- | |||
- | === Opening Other Applications === | ||
- | |||
- | The < | ||
- | |||
- | === Keyboard Layout === | ||
- | |||
- | Please visit [[http:// | ||
- | |||
- | === Further Reading === | ||
- | |||
- | i3 has a great number of features. Discussing all of them is beyond the scope of this HOWTO. For further help, please refer to i3's excellent [[http:// | ||
- | |||
- | These are some notable features: | ||
- | |||
- | * Excellent window management ([[http:// | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | |||
- | ==== i3status ==== | ||
- | |||
- | [[http:// | ||
- | |||
- | Once you've started i3, you should see a status bar at the bottom of the screen. To start customising it, copy / | ||
- | |||
- | < | ||
- | order += "disk /" | ||
- | # order += " | ||
- | # order += " | ||
- | order += " | ||
- | #order += " | ||
- | # order += " | ||
- | # order += " | ||
- | order += " | ||
- | order += " | ||
- | |||
- | You can configure modules in the sections below. For example: | ||
- | |||
- | < | ||
- | format = " | ||
- | }</ | ||
- | |||
- | ==== Custom i3status Display ==== | ||
- | |||
- | By default '' | ||
- | |||
- | The most basic method of calling i3status is by including the following code in '' | ||
- | |||
- | < | ||
- | status_command i3status | ||
- | }</ | ||
- | |||
- | i3status will first look for '' | ||
- | < | ||
- | |||
- | Instead of calling '' | ||
- | |||
- | < | ||
- | |||
- | i3-custom-status.sh | ||
- | < | ||
- | # shell scipt to prepend i3status output with some custom stuff | ||
- | |||
- | i3status --config ~/ | ||
- | do | ||
- | read line | ||
- | LG=$(setxkbmap -print | grep xkb_symbols | awk -F" | ||
- | pycom=$(/ | ||
- | todo=$(task ls | sed -n ' | ||
- | echo " | ||
- | done</ | ||
- | The following should give you some idea of how you could adapt it for your own needs: | ||
- | |||
- | < | ||
- | |||
- | The current keyboard layout is assigned to variable '' | ||
- | |||
- | < | ||
- | |||
- | The output of a Python script is assigned to variable '' | ||
- | |||
- | < | ||
- | |||
- | The most important task of my todo list ([[howtos: | ||
- | |||
- | < | ||
- | |||
- | The contents of the variables is sent to the status bar followed by default '' | ||
- | |||
- | |||
- | === i3status in a Multi-monitor Setup === | ||
- | |||
- | You can identify your monitors using the ' | ||
- | |||
- | < | ||
- | Screen 0: minimum 8 x 8, current 3840 x 1200, maximum 16384 x 16384 | ||
- | DVI-I-0 disconnected (normal left inverted right x axis y axis) | ||
- | VGA-0 disconnected (normal left inverted right x axis y axis) | ||
- | DVI-I-1 connected 1920x1200+1920+0 (normal left inverted right x axis y axis) 518mm x 324mm | ||
- | | ||
- | ... | ||
- | HDMI-0 connected 1920x1200+0+0 (normal left inverted right x axis y axis) 519mm x 324mm | ||
- | | ||
- | ...</ | ||
- | |||
- | The active connections are identified as '' | ||
- | |||
- | < | ||
- | output DVI-I-1 | ||
- | status_command i3status | ||
- | font -*-terminus-bold-*-normal-*-20-*-*-*-*-*-iso8859-1 | ||
- | colors { | ||
- | background: #002b36 | ||
- | statusline: #586e75 | ||
- | focused_workspace: | ||
- | active_workspace: | ||
- | inactive_workspace: | ||
- | urgent_workspace: | ||
- | } | ||
- | } | ||
- | |||
- | bar { | ||
- | output HDMI-0 | ||
- | status_command / | ||
- | font -*-terminus-bold-*-normal-*-20-*-*-*-*-*-iso8859-1 | ||
- | }</ | ||
- | |||
- | ==== i3 Support ==== | ||
- | |||
- | Apart from excellent [[http:// | ||
- | * Subscribe to the [[i3-discuss-subscribe@i3.zekjur.net|mailing list]] (Browse [[http:// | ||
- | * Join i3 IRC channel (#i3 on irc.twice-irc.de) | ||
- | * Register with the recently created stackexchange-like [[http:// | ||
- | |||
- | |||
- | ====== Sources ====== | ||
- | * Originally written by [[wiki: | ||
- | <!-- * Contrbutions by [[wiki: | ||
- | |||
- | <!-- Please do not modify anything below, except adding new tags.--> | ||
- | <!-- You must also remove the tag-word " | ||
- | {{tag> |