Linux Setup


All of the i3 configuration is in file ~/.config/i3/config.


exec redshift

Natural scrolling

exec --no-startup-id synclient HorizEdgeScroll=1 VertEdgeScroll=1 HorizTwoFingerScroll=1 HorizScrollDelta=-27 VertScrollDelta=-70

The variables are device-specific. Run

with no arguments to see the options available for your device.

The negative values for HorizScrollDelta and VertScrollDelta are what invert the direction of the scroll for natural scrolling.

Fn / Media Keys

# Pulseaudio controls
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +5% # increase sound volume
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -5% # decrease sound volume
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle # mute sound

# Screen brightness (needs custom script, see comment below)
bindsym XF86MonBrightnessUp exec sudo $HOME/.scripts/ -inc 45 # increase screen brightness
bindsym XF86BrightnessDown  exec sudo $HOME/.scripts/ -dec 45 # decrease screen brightness

# Media player controls
bindsym XF86AudioPlay  exec playerctl play
bindsym XF86AudioPause exec playerctl pause
bindsym XF86AudioNext  exec playerctl next
bindsym XF86AudioPrev  exec playerctl previous

For the screen brightness controls, create the following script under ~/.scripts/

set -e

# Modify this to point to your monitor device.
# A good starting point is `ls /sys/class/backlight`.

current=$(cat "$file")
if [ "$1" = "-inc" ];
    new =$(( current + $2 ))
if [ "$1" = "-dec" ]
    new=$(( current - $2 ))
echo "$new | tee $file"

Now configure sudo to be able to run the script as sudo without entering a password. We will want this since we will be calling this script by pressing on the screen brightness keys. Run

sudo visudo
and enter the following line at the end of the file (replace "user" with your user name):

user ALL = (root) NOPASSWD: /home/user/.scripts/