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.
This is very useful since we are looking for the custom settings we will include in F35.
1. general system update
```
sudo dnf update
```
It can't be avoided, it depends usually on the time since the RC is chosen and converted into GA, and the release time, it's usually like a week, and that's why are updates available even in the release day.
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
```
Custom scripts are hard to include, we usually use packages, and also, not all screens are HiDPI. I think we can include this like a recommendation in docs.
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
```
We can discuss xss-lock, it looks like a good idea.
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
```
rxvt-unicode has half of the size of alacritty. We discuss this a lot in the early days, and we choose rxvt-unicode because it's likeweight and it's the most used in i3 default installations.
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
```
It's a taste decision.
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
```
It's a taste decision. Also, hack is not in the Fedora repositories,
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
```
I never understood why this isn't added as default in Fedora. I need to check Workstation, because you can configure this in the Gnome configuration center.
Again thanks for taking the time to write this, we will definitely check this for next release.
Br,