########################### ## DESKTOP ENVIRONMENT ## ########################### # Designed & tested on Cinnamon 6.4.8 echo "## desktop environment" | tee todo.md -a # remap caps-lock to escape (more efficient neovim) gsettings set org.gnome.libgnomekbd.keyboard options "['grp\tgrp:win_space_toggle', 'terminate\tterminate:ctrl_alt_bksp', 'caps\tcaps:escape']" # fix touchpad scrolling direction (the default is objectively wrong) gsettings set org.cinnamon.desktop.peripherals.touchpad natural-scroll "false" # enable slick touchpad gestures gsettings set org.cinnamon.gestures enabled "true" gsettings set org.cinnamon.gestures swipe-left-3 "WORKSPACE_NEXT::start" # these by default are x::end gsettings set org.cinnamon.gestures swipe-right-3 "WORKSPACE_PREVIOUS::start" # now, the workspace starts to move at the start of the gesture # replace holding to move windows with gsettings set org.cinnamon.desktop.wm.preferences mouse-button-modifier "''" # hide annoying super menu icons echo "* hide annoying super menu icons" | tee todo.md -a # startup programs - artha mkdir -p "$HOME/.config/autostart" cp ./utils/artha-autostart.desktop "$HOME/.config/autostart/artha.desktop" chmod 755 "$HOME/.config/autostart/artha.desktop" # disable calendar widget showing events too # 13.json corresponds to the numerical (zero-indexed) position in the # enabled-applets section of `dconf dump /org/cinnamon/` FP="$HOME/.config/cinnamon/spices/calendar@cinnamon.org/13.json" cat $FP | jq '.["show-events"].value = false' | tee tmp.json && mv tmp.json "$FP" # set up taskbar (grouped-window-list widget) FP="$HOME/.config/cinnamon/spices/grouped-window-list@cinnamon.org/2.json" TASKBAR_LAYOUT='[ "nemo.desktop", "org.gnome.Terminal.desktop", "brave-browser.desktop", "discord.desktop", "code.desktop" ]' cat $FP | jq --argjson layout "$TASKBAR_LAYOUT" '.["pinned-apps"]["value"] = $layout' | tee tmp.json && mv tmp.json "$FP" # set desktop background image IMAGE_NAME="smoky-mountains-background.jpg" mkdir -p "$HOME/.local/share/backgrounds" cp "./utils/$IMAGE_NAME" "$HOME/.local/share/backgrounds/$IMAGE_NAME" gsettings set org.cinnamon.desktop.background picture-uri "file://$HOME/.local/share/backgrounds/$IMAGE_NAME"