Hi all,

Below are my notes (written in markdown) about the tweaks I made after installing the new F34 i3 spin.

Perhaps some of them are interesting either for integration into F35 version, or perhaps as part of a write-up about using the i3 spin.

Cheers,
Casey




# Essential Tweaks to Fedora 34 i3 Spin

(essential for me at least)

1. general system update

   ```
   sudo dnf update
   ```
2. fix 4k display issues (to scale the display by 2X)

   ```
   # install xrandr which is used to change display properties
   sudo dnf install xrandr
    
   # create a shell script to scale the display
   sudo cat > /usr/share/lightdm/display.sh <<EOF
   #!/usr/bin/env sh
   [ -n "$DISPLAY" ] && /usr/bin/xrandr --output eDP --scale 0.5x0.5
   EOF
   sudo chmod +x /usr/share/lightdm/display.sh
    
   # configure lightdm to run the shell script when showing the greeter and when starting a new session
   sudo sed -i '/greeter-setup-script=/ s/.*/greeter-setup-script=\/usr\/share\/lightdm\/display.sh/' /etc/lightdm/lightdm.conf
   sudo sed -i '/session-setup-script=/ s/.*/session-setup-script=\/usr\/share\/lightdm\/display.sh/' /etc/lightdm/lightdm.conf
   ```
3. install `xss-lock` (this is already included in the default i3 config file) to enable auto start of i3lock when the display is locked; and add a keybinding (mod+shift+p - but use a keycode since I am using Dvorak keyboard layout (which maps this to mod+shift+l in Dvorak)) to lock the screen

   ```
   sudo dnf install xss-lock
   echo 'bindcode $mod+Shift+33 exec --no-startup-id loginctl lock-session' >> ~/.config/i3/config
   ```
4. replace urxvt terminal with alacritty (why bother configuring uxrvt to be usable when there are other terminals that work out of the box?).

   ```
   sudo dnf install alacritty
   sudo dnf remove rxvt-unicode
   ```
5. replace dmenu with rofi (using the default config included in the default i3 config file)

   ```
   sudo dnf install rofi
   # comment out the line that exec's dmenu
   sed -i '/exec --no-startup-id dmenu_run/ s/^/# /' ~/.config/i3/config
   # uncomment the line that runs rofi
   sed -i '/rofi -modi-drun/ s/^# //' ~/.config/i3/config
   ```
6. use Hack font instead of monospace for i3 title bars and i3status (it seems Hack is installed by default but I don't really understand how fonts work or how to verify this)

   ```
   sed -i '/^font / s/.*/font pango: Hack Regular 10/' ~/.config/i3/config
   ```
7. configure trackpad natural scrolling and tap to click

   ```
   sudo cat > /etc/X11/xorg.conf.d/40-trackpad.conf <<EOF
   Section "InputClass"
       Identifier "libinput touchpad catchall"
       MatchIsTouchpad "on"
       MatchDevicePath "/dev/input/event*"
       Option "Tapping" "True"
       Option "TappingDrag" "True"
       Option "NaturalScrolling" "True"
       Driver "libinput"
   EndSection
   EOF
   ```