Skip to content

A large mouse pointer for Linux and BSD

Many people, including me, find that the standard mouse pointer in X is too small, particularly on laptops. You can fix this quite easily by replacing the cursor file (cursor.pcf.gz) with big-cursor.pcf.gz. The steps are as follows.

1. Download big-cursor.pcf.gz here.

The remaining steps must be done as root.

2. Copy big-cursor.pcf.gz to the directory that contains cursor.pcf.gz. In my case this is /usr/X11R6/lib/X11/fonts/misc but yours may be different. Change to this directory.

3. Move cursor.pcf.gz aside
# mv cursor.pcf.gz cursor.pcf.gz.bak

4. Copy big-cursor.pcf.gz to cursor.pcf.gz
# cp big-cursor.pcf.gz cursor.pcf.gz

5. Try it out
Close X and restart it. You should now have a large cursor. Whatever form of the cursor you were using previously will still be there, but larger.

Debian (and possibly other flavours of Linux) provide big-cursor.pcf.gz as a package (which is how I found it). If you are using Debian you can simply install the package and avoid the steps described above.

ArchLinux and Debian - a comparison

Note added 30 November 2015
This post was written more than two years ago and represents what I thought at the time, when I was still pretty new to Arch. I continued to use it for about 18 months and then mostly changed to OpenBSD. (There's a lot more about that on this site - use the bsd tag for that.) But I think the original post is still worth keeping so I haven't deleted it.

In summary,I think that the choice between Arch and Debian comes down to how much you value keeping up to date. If you want a rolling release I'd say that Arch is a better bet than Debian unstable. Arch is less likely to cause unpleasant surprises. But if you don't need or want the latest stuff, choose Debian stable.

I've been a Debian user for many years, mostly on the Sid (unstable) branch, so I'm used to a rolliing release and to coping with the occasional snarl-ups that can result. In that respect, Arch is not a new departure for me. I've been very happy with Debian so my decision to try an alternative was not from discontent, just curiosity. Arch says that it focuses on "the philosophy of simplicity [and] minimalism". I'm all in favour of simplicity and minimalism, which is why I don't use a desktop manager such as KDE or Gnome and prefer a tiling window manager (Spectrwm), so this description made me think that Arch might be right for me.

So here are my impressions - admittedly, still at an early stage because I've been using Arch for only about a month.

Documentation and help
Debian documentation is pretty good but Arch documentation is really excellent. Things are explained in detail with step-by-step descriptions. You do have to do a lot of reading but since the quality is so good it's not a chore.

The Arch mailing lists are also good. You should certainly subscribe to and ask questions on the Beginners' list. I've found people there to be helpful.

Debian is easier to install than Arch, at least if you are used to it. In Debian you simply select from the menus you are offered, and if you've done it once or twice it's pretty straightforward.

For Arch, you have do more work, with a good deal of manual editing of files. There's no problem here provided you are happy using the command line, but there are lots of steps and you have to follow the instructions carefully. I mostly used the unofficial beginner's guide from the Arch site but the official one is good as well. Of course, in the early stages this means that you need to have another computer running alongside so that you can read the manuals!

Configuration of the system is different from Debian; Arch uses systemd so you need the "systemctl" command a lot. All this takes some getting used to.

I'd never even heard of systemd before coming to Arch. I found that it had been introduced some months previously as a replacement for sysvinit and initscripts. There was a lot of controversy about this change when it happened, with flamewars resulting in the Arch mailing lists being moderated and people being banned. Some apparently left Arch in protest, finding the introduction of systemd to be dictatorial and alien to the spirit ot Arch.

I'm not qualified to comment on the pros and cons of this. I prefer sysvinit, presumably because I'm used to it, but that isn't a reason for me to give up on Arch. [Note added 4 April 2015: Debian, along with most other Linux distros, is switching to systemd now.]

Connecting to the internet
This can be a little tricky. Instead of /dev/eth0, as in Debian, you need to use something like enp0s13 for a wired connection. To add further confusion, you may find that you start out with eth0 which changes after the first reboot. (Actually, the manual says you can have eth0 if you want to, but I decided to stay with the default to avoid complication.)

To find out what Arch thinks you have, use the command "ip link". This will show you your wireless link as well, if there is one. But I always install via a wired link, to remove one possible source of error.

See the beginners' manuals for more detail about making a connection to the internet.

Installing and upgrading packages
This is done with pacman, which corresponds to apt-get in Debian but works differently. At first my upgrades kept failing; I assumed it was just a matter of waiting a bit before trying again, as one does in Debian Sid, but that was a mistake. The Arch home page had a news update explaining what was wrong and what needed to be done to fix things. You are advised to watch this page.

On Debian I receive mail with mutt, procmail and getmail. I had some difficulty maklng getmail work on Arch at first. though I'm not sure why - probably some silly typo.

On Debian I send mail with exim4. I tried to configure exim on Arch but failed, and I wasn't alone - I found plenty of other people with problems. So I gave up and installed msmtp instead, and that was pretty easy to set up.

Printing in Arch
I've never liked CUPS and on Debian I've always stayed with lprng and magicfilter. But lprng is not available as a binary for Arch. There is a port available but it wouldn't compile for me. So, reluctantly, I installed CUPS, and I have to say it was easy to do and printing worked perfectly, using the Brother driver for my HL-5250DN. In fact, the results are better than with lprng on Debian, so I've had to eat my words here.

Note added 23 August 2014: The maintainer of the AUR port of lprng has now uploaded a version that does compile. But as CUPS is still working for me I'm staying with it.

Note added 24 September 2013: I later had problems with the previous Brother driver and switched to Brother-HL-5350DN-Postscript-Brother.ppd, which seems to be OK.

Installing Arch takes a fair amount of time, especially reading online. It should provide no real difficulty to anyone who has a reasonably amount of experience with Debian and is therefore likely to be happy using the command line. But is it worth the trouble?

I don't think Arch offers any great advantage over Debian, or vice versa. But getting it working is an interesting challenge and if you enjoy that, it's worth considering. And once it is working, it seems to run very smoothly - in fact, upgrades have been if anything more trouble-free than on Sid. Most of the programs I use on Debian are available on Arch, either as binary packages or via the ports system, which is extremely easy to use - much easier than on FreeBSD.

So far there have been two programs I couldn't find on Arch. One I downloaded from the internet and compiled myself without difficulty. The other was big-cursor. I have a separate post about this because it took me a couple of weeks and a lot of experimenting to find a solution (see under "A large mouse cursor for ArchLinux" under the Computers tag).

Good experience with Logicam webcam (EasyCam)

I recently bought a Logicam webcam (EasyCam) for my Linux Debian (Sid) desktop computer. It was advertised as not needing any drivers and working on Linux, but I still was worried. But I needn't have been; I simply plugged it in and it worked at once on Skype with no need for any configuration. So I'd definitely recommend it to any Linux users looking for a reliable webcam.

Gconf2 error when launching browser

When launching various browsers (iceape, iceweasel, firefox) I kept getting an error message:

GConf Error: Failed to contact configuration server; some possible causes are that you need to enable TCP/IP networking for ORBit, or you have stale NFS locks due to a system crash. See for information.

The browser seemed to run normally but the error message was annoying. This was on Debian stable.

I found various suggestions on the net but none of them worked. In the end I purged gconf2 and reinstalled it, after which the error message went away.

Bug in spectrwm 2.0.2 affects display program

Display (part of Imagemagick) doesn't work in spectrwm 2.0.1 or 2.0.2. The program loads but doesn't produce its windoiw. There is no problem with version 2.0.0 or earlier versions. I've reported this as a bug. Currently I'm using spectrwm 2.0.0 as my window manager.

Note added 8 October: I reported this as a bug and it is now recorded as fixed, although the new version of spectrwm doesn't seem to be available yet.

Further note added 7 November: Version 2.1.0 is now out; the bug is fixed and there are other enhancements as well. Congratulations to the developers for improving what was already my favourite tiling window manager.

Compiling spectrwm on Debian Sid

Note: this post is retained only for historical interest. The recent versions of Spectrwm compile without any problems

The current version of spectrwm in Sid (1.0.0) is old and there are many improvements in later versions. You can compile it quite easily yourself but there dependency requirements. This command will download the necessary packages.

sudo apt-get install "^libxcb*..*-dev$" libx11-xcb-dev libxrandr-dev libxft-dev libxt-dev

This comes courtesy of kbmonkey - see

So the steps are:

1, Run the above command to install all the dependencies.
2. Download the spectrwm source code and unpack it.
3. Move to the resulting directory and then to the linux subdirectory (~/spectrwm-2..x.x/linux).
4. Do "make"

If all goes well you should have a binary in that subdirectory which you can run in the usual way (e.g. from .xinitrc).

One warning: when you run the executable you may see error messages about a missing /usr/local/lib/ The simplest solution is to copy this library from the linux subdirectory to /usr/local/lib and then run ldconfig.

My spectrwm configuration file (with comments)

# NOTE: all rgb color values in this file are in hex! see XQueryColor for examples

workspace_limit = 5 # I don't need more than this
focus_mode = manual # I don't want to follow cursor automatically
# focus_close = previous
# focus_close_wrap = 1
# focus_default = last
# spawn_positio = next

# Window Decoration
border_width = 1
color_focus = red
# color_unfocus = rgb:88/88/88
color_unfocus = blue
tile_gap = 1

# Remove window border when bar is disabled and there is only one window in workspace
disable_border = 0

# Bar Settings
bar_enabled = 1
# bar_border_width = 1
# bar_border[1] = rgb:00/80/80
# bar_border_unfocus[1] = rgb:00/40/40
# bar_color[1] = black
# bar_font_color[1] = rgb:a0/a0/a0
bar_font_color[1] = white
# bar_font = -*-terminus-medium-*--*--*--*--*--
bar_font = -*-courier-*-r-*--*-120-*--*--*-
# bar_action = ~/bin/
bar_justify = left
bar_format = %a %b %d %R %Z +I +S +F +V
#bar_format = +N +I +S <+D>+4<%a %b %d %R %Z %Y+8<+A+4<+V
bar_at_bottom = 1
# stack_enabled = 1
#clock_enabled = 1
# clock_format = %a %b %c %d %R %Z %Y
# region_padding = 0
window_name_enabled = 0
# verbose_layout = 1
# urgent_enabled = 1

# Spawn Applications
# spawn_position = last

# Dialog box size ratio when using TRANSSZ quirk; 0.3 < dialog_ratio <= 1.0
# dialog_ratio = 0.6

# Split a non-RandR dual head setup into one region per monitor
# (non-standard driver-based multihead is not seen by spectrwm)
# region = screen[1]:1280x1024+0+0
# region = screen[1]:1280x1024+1280+0

# Launch applications in a workspace of choice
autorun = ws[1]:xterm -e mutt # xterm only starts on ws 1 (bug?)
autorun = ws[4]:keepassx
autorun = ws[5]:firefox

# Customize workspace layout at start
# layout = ws[1]:4:0:0:0:vertical
# layout = ws[2]:0:0:0:0:fullscreen
# layout = ws[3]:0:0:0:0:fullscreen
# layout = ws[4]:4:0:0:0:vertical_flip
# layout = ws[5]:0:0:0:0:fullscreen_flip

# Mod key, (Windows key is Mod4) (Apple key on OSX is Mod2)
modkey = Mod4

# Also turn off iconify and uniconify (I don't use them)
#bind[] = Mod+w
#bind[] = Mod+S+w
iconic_enabled = 0

# This restricts toggling bar to one workspace
bind[bar_toggle_ws] = Mod+b

# The standard key bindings for screenshots are easy to hit accidentally so replace these with Mod+F12 etc.
bind[] = Mod+s
bind[] = Mod+Shift+s
bind[screenshot_all] = Mod+F12
bind[screenshot_wind] = Mod+Shift+F12

# Swap between workspaces back and forth (very useful)
# Can use various alternatives
bind[ws_prior] = Mod+Shift+Up
bind[ws_prior] = Mod+Shift+Down
bind[ws_prior] = Mod+Shift+Left
bind[ws_prior] = Mod+Shift+Right

# This allows you to include pre-defined key bindings for your keyboard layout.
# keyboard_mapping = ~/.spectrwm_us.conf


# Validated default programs:
program[lock] = xterm # I dpn't use lock so tell it to do xterm instead
program[term] = xterm -fn -adobe-courier-bold-r-normal--18-180-75-75-m-110-iso8859-1

# program[menu] = dmenu_run -fn $bar_font -nb $bar_color -nf $bar_font_color -sb $bar_border -sf $bar_color

# EXAMPLE: Define 'firefox' action and bind to key.
# program[firefox] = firefox
# bind[firefox] = MOD+Shift
# The next two lines allow Mod+v to run my editor (vim)
program[editor] = vim # (or gvim)
bind[editor] = MOD+v

# Default quirks, remove with: quirk[class:name] = NONE
# quirk[MPlayer:xv] = FLOAT + FULLSCREEN + FOCUSPREV
# quirk[ 2.4:VCLSalFrame] = FLOAT
# quirk[ 3.0:VCLSalFrame] = FLOAT
# quirk[ 3.1:VCLSalFrame] = FLOAT
# quirk[xine:Xine Window] = FLOAT + ANYWHERE
# quirk[Xitk:Xitk Combo] = FLOAT + ANYWHERE
# quirk[xine:xine Panel] = FLOAT + ANYWHERE
# quirk[Xitk:Xine Window] = FLOAT + ANYWHERE
# quirk[xine:xine Video Fullscreen Window] = FULLSCREEN + FLOAT
# quirk[pcb:pcb] = FLOAT
quirk[Xsane:xsane] = FLOAT + ANYWHERE
quirk[XaoS:xaos] =FLOAT
quirk[Firefox-bin:firefox-bin] = TRANSSZ
quirk[Firefox:Dialog] = FLOAT
quirk[Gimp:gimp] = FLOAT + ANYWHERE
quirk[XTerm:xterm] = XTERM_FONTADJ

Tiling window managers and awkward programs

I like tiling window managers for a number of reasons. I value simplicity and they don't waste resources and screen space with lots of icons and other stuff I don't need or want. As I say elsewhere, my current favourite is spectrwm.

But one problem with all the tiling WMs I've tried is that they tend to fall down with some programs, such as the gimp and xsane, which open several floating windows. Even worse, some, such as xaos, simply segfault. You can get round the difficulty to some exten by using floating mode but it isn't ideal. The problem has been frankly acknowledged on the spectrwm mailing list, where the developers say it will be worked on when there is time but it isn't a priority. On the i3 list the developer says that tiling WMs are not really suitable for floating windows.

(Note added 21.2.2016: spectrwm is currently working fine with tiling programs so I don't need to do what is written below, but I'm keeping it because it may be useful to someone.)

So what is the solution if, like me, you prefer tiling WMs but do sometimes need programs that open multiple windows?

One tiling WM, ratpoison, takes an intriguing way out, by making it possible to switch window managers on the fly. I don't know of any others that do this but it's easy to achieve the effect yourself. I have a script called wmswtich which runs the following command:

xinit .xxinitrc -- :1 &

The .xxinitrc file is a duplicate of .xinitrc except that it uses icewm instead of spectrwm. Running the script produces a second version of X. With spectrwm this is in F2 and the script takes me there automatically, with icewm running. To go back to spectrwm (in F1) I press Shift-Alt-F1 or else simply exit icewm if I've finished using it.

This should work for any tiling/stacking WM combination, of course; these are just the ones that I use.

Four tiling window managers: spectrwm, i3, dwm, xmonad

Revised 22 August 2017

For several months last year I was trying out various tiling window managers and here I offer my assessment of the ones I've used most. There's more about many of them, including configuration files, elsewhere in this blog (see the tags list).

My outright favourite is Spectrwm because I find that it offers all the features I want without making things over-complicated. Configuration via the text file is easy and the commands quickly become intuitive and automatic.

Dwm is almost as good as spectrwm but lacks some features that I want.

i3 seems to be a popular WM and is better known than Spectrwm, I like it quite a lot but I find Spectrwm more intuitive to use (perhaps because I'm more used to it). I prefer the master/stacking area arrangement of Spectrwm and Dwm to the "containers" used by i3. The i3 system does allow you to split new windows either horizontally or vertically in various ways, but in practice I never want to do this.

Xmonad is an attractive WM but is irretrievably let down by requring Haskell to configure it.

My final ranking:
(1)spectrwm => (2)dwm => (3)i3 => (4)xmonad


1. Spectrwm
This is currently my favourite. It used to be called scrotwm and this rather unfortunate and juvenile-sounding name put some people off. When I tried it some time ago it seemed a little buggy but that is much better now. Configuration by a plain text file is simple. I prefer the lack of window titles at the top and I find spectrwm more intuitive to use than i3. The default window layout is similar to those of dwm and xmonad; it is easy to change the arrangement. It is also easy to switch to a different workspace (desktop) with Mod+Arrow, which I particularly like. The bar at the bottom of the screen is toggled on and off with Mod+B, another good feature. I should say that spectrwm is the most flexible and intuitive WM that I've tried. Currently I'm using it as my default window manager. Download Spectrwm here (updated link).

Here are some screenshots. (Actually, I work fullscreen much of the time, with a browser on one workspace, mutt on another, and so on.)

A screen with three windows (left = master)—vertical split
Screenshot 1

Change master window (Mod + Return)

Screenshot 2

Enlarge master window (Mod + L)
Screenshot 3

Chang to horizontal split (Mod + Space)

Screenshot 4

Make a window fullscreen.(Mod + E)

Screenshot 5

Switch to Workspace 2 from Workspace 1 (Mod +2 or Mod + R. arrow)
Screenshot 6

Note: the xsane windows are floating (set via Quirk in ~/.spectrwm.conf).

2. Dwm
Dwm is the forerunner from which many other tiling WMs forked. There is still a lot going for it: it's simple and functional and easy to learn. Configuration is via C, but don't be put off; it's easier than it looks even if you don't know C (I don't). If you are not willing to embark on learning Haskell, dwm would be an attractive alternative.

3. I3
I liked i3 quite a lot and used it for a time. Configuration is simple since it is done in plain text. The default tiled layout has the windows arranged in columns across the screen which I don't much care for. But I mostly work in stacked mode, and i3 does well like this. The only problem is that if you have a number of windows open their titles list takes up a lot of space at the top of the screen in stacked mode. Admittedly you can fix this by going into full-screen mode, although you must exit that to switch to a different window. But while I liked i3, I found that everything I wanted to do with it could also be done in spectrwm and usually more easily and intuitively.

4. Xmonad
his has a large user base and a helpful mailing list. It has many of the features I want but is let down by its being written in Haskell, which makes any configuration beyond the most basic a major undertaking requiring hours of research on the internet. There is also a large overhead in terms of disk space required to house the libraries needed for said configuration. For these reasons Xmonad loses out to its competitors, at least for me.

Google once again

In the last week or two there has been a considerable rise in the numbers of hits on these pages, almost back to what they were before the last Google algorithm change. I'm not clear whether this is due to my introduction of new domain names or a further change in Google, but anyway it's welcome.

Google algorithm update - more news

Numbers of hits on my pages are still down, but I think the length of visits relative to the number of visits is increasing. This presumably means that the relevance of the hits I'm getting is greater. If so, there is an improvement in quality at the expense of quantity, which is probably a good bargain.

Google algorithm update affects my site

I've noticed a dramatic fall in the number of hits on my pages in the last couple of weeks, by more than 50 per cent. I didn't change anything - in fact, I couldn't do so until now owing to a recent eye oeration which made reading difficult - so it isn't anything I've done.

A quick search in Google itself show that they have recently modified their algorithms significantly. This is apparently meant to improve the ratings for less prominent sites that don't use underhand methods to enhance their rating. I don't do this so I don't know why I am suffering. If my experience is anything to go by this is not an improvement.

Reinstalling Brother HL5240 and Epson Perfection v330 after crash

A few days ago I had a hard disk crash and had to reinstall Debian Sid. Fortunately I had a backup for my home partition. Mostly things went off smoothly but there were two problems.

1. My scanner

This is an Epson Perfection v330. The drivers for this used to be on Avensys but are now on Epson. I had compiling problems with them - dependency failure. I eventually found libltdl3_1.5.26-4+lenny1_i386.deb by googling and was then able to compile things. Someone on a newsgroup says I downloaded the wrong file - it should have been iscan_2.28.1-3.ltdl7_i386.deb, which would probably have avoided the need to find the missing library.

As my correspondent rightly remarks, the Epson site is confusing. This is a pity because the v330 does work on Linux and is one of the few reasonably priced scanners that do. I've seen posts from two people who bought it and gave up trying to get it to work.

2. Printing from my Brother HL5240

I don't like CUPS so use lprng plus magicfilter by preference. Before the crash this was working well and I could also print to the printer from other computers on the local network. After the reinstall, nothing worked. Eventually, with some useful advice from the Debian maintainer for lprng, I got everything working. There are several things to do.

a. My /dev/lp0 had disappeared. I fixed this by adding the following to /etc/modules:


b. For some reason the Brother filter wouldn't work, though it did before. I therefore used ljet4-filter in magicfilter and this seems to give everything I need.

c. To get remote printing from another computer on the LAN I needed to do two things.

First, I added a line to /etc/lprng/lpd.conf :-


Next, I commented out this line in /etc/lprng/lpd.perms:


These are important; otherwise you will get messages about "connection refused" or "no connection permissions".

Three tiling window managers compared - xmonad, dwm, and i3

Update: This post is a bit out of date. My current favourite is none of those discussed here, it's spectrwm. For more about this, please see Four tiling window managers. Download Spectrwm here.

As you may know if you have followed some of the previous posts here, I used icewm as my window manager for a good many years, because I liked its simplicity and unobtrusiveness. As its documentation says, it does its work and gets out of your way. Just what I like.

As time went by I found I was working more with windows in fullscreen mode rather than stacked, swapping between them as needed. Icewm has a menu that allows you to do this, so you know what you have open. But it then occurred to me that I was using icewm as if it were a tiling WM. So why not look into the world of real tiling WMs to see if there was something that would suit me even better than icewm?

I first tried xmonad, which I liked a lot. But, being written in Haskell, it was pretty difficult to configure. So I next looked at dwm, which is visually and functionally similar to xmonad, with quite similar default key bindings. It was simpler to configure than xmonad, being written in C. I don't know C but I found it considerably easier to guess how the configuration file worked than was the case with xmonad, with its Haskell code.

One minor disadvantage of dwm was that to test a new configuration involved restarting the thing, but since I didn't keep making changes that wasn't too serious. What I found more annoying was the lack of anything like a menu to show what other windows were open. In other words, if I was viewing the browser and wanted to switch to, say, mutt, I ended up cycling blindly through the windows until I arrived where I wanted to be - and it was easy to overshoot. Of course, I could also go to tiled layout and choose the correct window there, followed by a return to fullscreen, but it was not very intuitive..

I then had a look at i3. I hadn't done so previously because the docs said it was primarily for developers, but I liked it quite a lot. I used it for a time but I have now switched to spectrwm, as indicated at the head of this post. I find that spectrwm offers the same features as i3 and is more intuitive to use. If you like i3 please do look at spectrwm as well.

Here is the default tiled layout, with several windows open. The browser is the selected window in this case. I can easily add another window with Mod+Enter, or I can start a new application using dmenu (Mod+d).

Now I press Mod+w to get the tabbed layout, which shows the selected window (my home page in my browser). Although this occupies the whole screen apart from the upper and lower bars, it is not actually fullscreen. I can change to any of the other windows by shifting to a different tab, either with the keyboard or with the mouse.

If I want true fullscreen (seldom needed), I press Mod+f. Now the bar disappears. In this mode I can't switch to a different window; I must toggle fullscreen with Mod+f again to return to tabbed layout. To shift to a different window I must first press Mod+f again to get back to the tabbed layout.

There is also an alternative layout to tabbed - the stacked layout (Mod+s). which is what I use most of the time.

I emphasise that this by no means exhausts all the options that i3 offers. For example, you can have the windows tiled in a grid, e.g. 4x4, and you can have different workspaces as you do in other WMs. These are called tags in dwm, but they work in the same way. I can see why they would be useful if you had a lot of applications open, but seldom have more than 3 or 4 windows open and using more workspaces would be confusing. (See the official i3 web page for details of all this.)

The main exception is xsane, used for manipulating my flatbed scanner. This opens several drop-down windows, and these work best if you change to floating mode (shift + mod + space). I find it's best to do this in a separate workspace, otherwise it becomes confusing.

Configuring i3 is very easy*; you just edit the config file (~/.i3/config). This is a plain text file. Here is my config, with comments. Note that i3 has a strange idea of the keys to use for moving around: instead of h,j,k.l it shifts everything to the right and uses j,k,l,semicolon. As I'm used to h.j,k,l in vim I changed the default arrangement in i3. If you do this you must also change Mod+h (which by defajult gives a horizontal arrangement of windows), otherwise you will get an error message because you have Mod+h mapped to two different commands.

*These remarks apply to the current version of i3 -4.1. Previous versions were a bit more complicated to configure.

Note: If you ever find that i3 seems to have locked up, so that you can't change to a different tab, check first that you are not fullscreen. If that is not the problem, do Mod+Shift+R to reload, which should make things work again.