This is a new series to my blog, which I call “note to myself”, because it’s just that. What urged me to write this first post is the configuration of my laptop after installing a new OS (or configuring a new window manager in this case). I realize that I need to configure the same items every time I do a fresh set-up, and I keep forgetting long file paths and where to look for several settings files etc.
This post will serve me as look-up when I set up my system next time, maybe it is useful for someone else, by chance.
I’m using an Asus zenbook UX31, running Parabola GNU/Linux and i3-gaps window manager
I have the following function (fn) keys, that tend to not work out of the box when installing a new OS/wm:
- F1: sleep
- F2: toggle wifi
- F3: decrease keyboard backlight
- F4: increase keyboard backlight
- F5: decrease screen brightness
- F6: increase screen brightness
- F7: turn off screen
- F8: toggle alternate screen
- F9: disable touch pad
- F10: mute audio
- F11: decrease volume
- F12: increase volume
I usually don’t need all of those, but especially the screen brightness, keyboard leds and audio keys are important to me. This is how I can set the appropriate keybindings:
Keyboard backlight leds
The file containing the keyboards leds’ brightness is
It contains just the number that represents the brightness level, which ranges from 0 (leds off) to 3 (max brightness). I’ve written a script to increase or decrease the level stepwise.
#!/bin/bash if [ -z $1 ]; then echo "usage $0 [-inc|-dec]" exit 1 fi PATH=/sys/class/leds/asus\:\:kbd_backlight/brightness OLD=$(/usr/bin/cat $PATH) if [ $1 == "-inc" ] then if [ $OLD -lt 3 ] then echo $(($OLD + 1)) > $PATH fi elif [ $1 == "-dec" ] then if [ $OLD -gt 0 ] then echo $(($OLD - 1)) > $PATH fi fi
#!/usr/bin/env python import sys path = "/sys/class/leds/asus::kbd_backlight/brightness" try: with open(path, 'r') as b_old: brightness = int(b_old.read()) except: sys.exit(1) if sys.argv == "-inc" and brightness < 3: brightness += 1 elif sys.argv == "-dec" and brightness > 0: brightness -= 1 try: with open(path, 'w') as b_new: b_new.write(str(brightness)) except: sys.exit(1)
Either script works the same way. You must be root to write the brightness file, however. To overcome this in my i3 .config, I modified the sudoers file
sudo visudo %robin ALL = NOPASSWD: <path to script>
This will allow me (Group robin) to execute the script without typing the sudo password. If you want to add this feature for all users on your machine, just add the users to users group and put that into the sudoers
usermod -aG users
I can now add the keybinding to my .config file
bindsym $mod+F3 sudo exec set_kbd_backlight -dec bindsym $mod+F4 sudo exec set_kbd_backlight -inc
The keyboard backlight brightness was luckily the lengthiest part of all.
The screen brightness
The screen brightness can be adjusted with the xbacklight tool. The commands for my .config are
bindsym $mod+F5 exec xbacklight -dec 5 bindsym $mod+F6 exec xbacklight -inc 5
to decrease or increase the brightness by 5% each time.
I’m using pulseaudio per default. Although I heard about cpu consumption issues, I did not yet have reason to switch this to alsa completely. The pulseaudio settings can be controlled with the pactl tool. The audio
sinks can be listed with
pactl list short sinks
I only have one sink wich is labelled #0, so my keybindings in .config are
bindsym $mod+F10 exec pactl set-sink-mute 0 toggle bindsym $mod+F11 exec pactl set-sink-volume 0 -5% bindsym $mod+F12 exec pactl set-sink-volume 0 +5%
to toggle mute or decrease and increase the volume by 5% per keypress.
More to follow
These are the fn keys I definitely need every day. I will take care of the others later and update this post accordingly.
I also seem to have problems escaping my tag symbols using Markdown in wordpress. Looks like I have to surround code by “pre” tags and use < and > notation.