Linux Setup Guide
lon with your coordinates.
; Global settings for redshift [redshift] ; Set the day and night screen temperatures temp-day=4700 temp-night=3300 ; Enable/Disable a smooth transition between day and night ; 0 will cause a direct change from day to night screen temperature. ; 1 will gradually increase or decrease the screen temperature. transition=1 ; Set the screen brightness. Default is 1.0. ;brightness=0.9 ; It is also possible to use different settings for day and night ; since version 1.8. ;brightness-day=0.7 ;brightness-night=0.4 ; Set the screen gamma (for all colors, or each color channel ; individually) ;gamma=0.8 ;gamma=0.8:0.7:0.8 ; This can also be set individually for day and night since ; version 1.10. ;gamma-day=0.8:0.7:0.8 ;gamma-night=0.6 ; Set the location-provider: 'geoclue', 'geoclue2', 'manual' ; type 'redshift -l list' to see possible values. ; The location provider settings are in a different section. location-provider=manual ; Set the adjustment-method: 'randr', 'vidmode' ; type 'redshift -m list' to see all possible values. ; 'randr' is the preferred method, 'vidmode' is an older API. ; but works in some cases when 'randr' does not. ; The adjustment method settings are in a different section. adjustment-method=randr ; Configuration of the location-provider: ; type 'redshift -l PROVIDER:help' to see the settings. ; ex: 'redshift -l manual:help' ; Keep in mind that longitudes west of Greenwich (e.g. the Americas) ; are negative numbers. [manual] lat=111.0 lon=-222.0 ; Configuration of the adjustment-method ; type 'redshift -m METHOD:help' to see the settings. ; ex: 'redshift -m randr:help' ; In this example, randr is configured to adjust screen 1. ; Note that the numbering starts from 0, so this is actually the ; second screen. If this option is not specified, Redshift will try ; to adjust _all_ screens. [randr] screen=0
All of the i3 configuration is in file
exec --no-startup-id synclient HorizEdgeScroll=1 VertEdgeScroll=1 HorizTwoFingerScroll=1 HorizScrollDelta=-27 VertScrollDelta=-70
The variables are device-specific. Run
synclient with no arguments to see the options available for your device.
The negative values for
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/backlight.sh -inc 45 # increase screen brightness bindsym XF86BrightnessDown exec sudo $HOME/.scripts/backlight.sh -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
#!/bin/bash set -e # Modify this to point to your monitor device. # A good starting point is `ls /sys/class/backlight`. # https://wiki.archlinux.org/index.php/backlight file="/sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-eDP-1/intel_backlight/brightness" current=$(cat "$file") new="$current" if [ "$1" = "-inc" ]; then new =$(( current + $2 )) fi if [ "$1" = "-dec" ] then new=$(( current - $2 )) fi 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/backlight.sh