[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.

Welcome to the Slackware Documentation Project

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
howtos:window_managers:i3wm [2012/09/25 04:23 (UTC)] – moved from the general howtos namespace mfillpothowtos:window_managers:i3wm [2016/01/23 13:29 (UTC)] (current) – [i3 in Slackware] sycamorex
Line 1: Line 1:
 <!-- Add your text below. We strongly advise to start with a Headline (see button bar above). --> <!-- Add your text below. We strongly advise to start with a Headline (see button bar above). -->
 +<!-- Reviewed 10-02-2013 by hazel -->
 ===== i3 Tiling Window Manager ===== ===== i3 Tiling Window Manager =====
  
Line 6: Line 7:
 ==== i3 in Slackware==== ==== 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://slackbuilds.org/desktop/i3/|SlackBuilds]].You can build and install the dependencies using [[http://docs.slackware.com/howtos:lets_build_a_slackbuild|this]] tutorial or via [[http://www.sbopkg.org/|sbopkg]], a SlackBuild browser.+Slackware does not come with the i3 window manager. The installation process, however, is a quick and easy one. i3 is available from [[http://slackbuilds.org/desktop/i3/|SlackBuilds]]. Bear in mind that for due to a number of factors the latest versions of i3 will not build on slightly older versions of Slackware: 
 +  * For Slackware systems older than 14.1, you need to install i3 version 4.2.  
 +  * For Slackware 14.1, the highest i3 version that will build without replacing Slackware stock packages will be i3 4.8. 
 +  * Slackware-current (and subsequently 14.2) will be able to host the latest version of i3 (i3wm 4.11) 
 + 
 +You can build and install the dependencies using [[http://docs.slackware.com/slackware:package_management_hands_on?s[]=build&s[]=slackbuild|this]] tutorial or via [[http://www.sbopkg.org/|sbopkg]], a SlackBuild browser.  
  
 ==== i3 Dependencies ==== ==== i3 Dependencies ====
Line 17: Line 24:
  
 It is also highly recommended to install [[http://slackbuilds.org/desktop/i3status/|i3status]] and its dependency [[http://slackbuilds.org/libraries/confuse/|confuse]]. It is also highly recommended to install [[http://slackbuilds.org/desktop/i3status/|i3status]] and its dependency [[http://slackbuilds.org/libraries/confuse/|confuse]].
 +
 +As of version 4.8, i3 is capable of saving and restoring your layouts on particular workspaces. For more information see [[http://www.slackword.net/?p=733|this]].
 +
 +If you'd like to utilise the new features, you need to install more dependencies. All of them are available from [[http://www.slackbuilds.org|Slackbuilds.org]]:
 +
 +  *  [[http://slackbuilds.org/repository/14.1/perl/perl-JSON-XS/|perl-JSON-XS]]
 +  * [[http://slackbuilds.org/repository/14.1/perl/perl-AnyEvent-Handle/|perl-AnyEvent-Handle]]
 +  * [[http://slackbuilds.org/repository/14.1/perl/perl-AnyEvent-I3/|perl-AnyEvent-I3]]
  
 ==== Starting i3 ==== ==== Starting i3 ====
Line 37: Line 52:
  
 As of version 302.17 of nVidia binary driver it is **no longer necessary**. (See more [[http://www.phoronix.com/scan.php?page=news_item&px=MTA5NTY|info]]) As of version 302.17 of nVidia binary driver it is **no longer necessary**. (See more [[http://www.phoronix.com/scan.php?page=news_item&px=MTA5NTY|info]])
- 
-== i3 and Thunar (Slackware 14rcX) == 
- 
-The ''.xinitrc'' file generated by i3.Slackbuild for Slackware 13.37 works fine. There are some issues with Thunar automounting USB drives on Slackware 14, though. The modification in i3 SlackBuild scripts for Slackware 14 have already been submitted. In the meantime if you use Slackware 14rcX, you can add ''dbus-launch --exit-with-session'' to the startup line: 
- 
-<code># Start i3 
-if [ -z "$DESKTOP_SESSION" -a -x /usr/bin/ck-launch-session ]; then 
-    exec ck-launch-session dbus-launch --exit-with-session /usr/bin/i3 
-else 
-    exec i3 
-fi</code> 
  
  
Line 143: Line 147:
 === Keyboard Layout === === Keyboard Layout ===
  
-Please visit [[http://docs.slackware.com/howtos:keyboard_layout_in_i3|this HOWTO]] to configure the keyboard layout in i3.+Please visit [[howtos:window_managers:keyboard_layout_in_i3|this HOWTO]] to configure the keyboard layout in i3.
  
 === Further Reading === === Further Reading ===
Line 151: Line 155:
 These are some notable features: These are some notable features:
  
-  * Excellent window management ([[http://www.i3wm.org/docs/userguide.html#_tree|concept of container trees]])+  * Excellent window management ([[http://www.i3wm.org/docs/userguide.html#_tree|concept of container trees]], [[http://www.youtube.com/watch?v=AWA8Pl57UBY&feature=youtu.be|a screencast on containers and the tree data sctructure]])
   * [[http://www.i3wm.org/docs/userguide.html#_automatically_putting_clients_on_specific_workspaces|Automatically putting clients on specific workspaces]]   * [[http://www.i3wm.org/docs/userguide.html#_automatically_putting_clients_on_specific_workspaces|Automatically putting clients on specific workspaces]]
   * [[http://www.i3wm.org/docs/userguide.html#_scratchpad|The scratchpad feature]]   * [[http://www.i3wm.org/docs/userguide.html#_scratchpad|The scratchpad feature]]
 +  * The [[http://www.slackword.net/?p=657|article]] describes the use of ''goto'' marks and Emacs-like modes in i3.
 ==== i3status ==== ==== i3status ====
  
Line 197: Line 201:
 i3-custom-status.sh i3-custom-status.sh
 <code>#!/bin/sh <code>#!/bin/sh
-# shell scipt to prepend i3status output with some custom stuff+# shell script to prepend i3status output with some custom stuff
  
 i3status --config ~/.i3status-secondary.conf | while : i3status --config ~/.i3status-secondary.conf | while :
Line 203: Line 207:
         read line         read line
         LG=$(setxkbmap -print | grep xkb_symbols | awk -F"+" '{print $2}'         LG=$(setxkbmap -print | grep xkb_symbols | awk -F"+" '{print $2}'
-        pycom=$(/home/xtd8865/.i3/pys.py)+        pycom=$(/home/user/.i3/pys.py)
         todo=$(task ls | sed -n '4s/[[:blank:]]\+/ /pg' )         todo=$(task ls | sed -n '4s/[[:blank:]]\+/ /pg' )
         echo "TODO:$todo | LG: $LG | $pycom | $line" || exit 1         echo "TODO:$todo | LG: $LG | $pycom | $line" || exit 1
Line 219: Line 223:
 <code>todo=$(task ls | sed -n '4s/[[:blank:]]\+/ /pg' )</code> <code>todo=$(task ls | sed -n '4s/[[:blank:]]\+/ /pg' )</code>
  
-The most important task of my todo list ([[howtos:taskwarrior|TaskWarrior]]) is assigned to variable ''todo''.+The most important task of my todo list ([[howtos:general_admin:taskwarrior|TaskWarrior]]) is assigned to variable ''todo''.
  
 <code>echo "TODO:$todo | LG: $LG | $pycom | $line" || exit 1</code> <code>echo "TODO:$todo | LG: $LG | $pycom | $line" || exit 1</code>
Line 268: Line 272:
   * Subscribe to the [[i3-discuss-subscribe@i3.zekjur.net|mailing list]] (Browse [[http://infra.in.zekjur.net/archives/i3-discuss/|archives]])   * Subscribe to the [[i3-discuss-subscribe@i3.zekjur.net|mailing list]] (Browse [[http://infra.in.zekjur.net/archives/i3-discuss/|archives]])
   * Join i3 IRC channel (#i3 on irc.twice-irc.de)   * Join i3 IRC channel (#i3 on irc.twice-irc.de)
-  * Register with the recently created stackexchange-like [[http://faq.i3wm.org/questions/|FAQ section]] +  * Register with the recently created stackexchange-like [[http://faq.i3wm.org/questions/|FAQ section]] (Update: As of 20/12/2015 that site is read only. The i3-related questions have moved to a new place - see the next bullet point) 
 +  * i3wm questions on [[https://www.reddit.com/r/i3wm/|reddit]]
  
 ====== Sources ====== ====== Sources ======
 howtos:window_managers:i3wm ()