From 30f9fed77a40922ed8d353045f8dc270d00461b0 Mon Sep 17 00:00:00 2001 From: billypom on debian Date: Sat, 28 Jun 2025 13:08:06 -0400 Subject: [PATCH] update --- debian.sh | 130 ++++++++---------- options/{install-dotfiles.sh => dotfiles.sh} | 0 options/gnome-configs.sh | 59 ++++++++ options/gnome-custom-keybinds.sh | 96 +++++++++++++ options/install-colloid-gtk-theme.sh | 43 ------ options/kora-gtk-icons.sh | 27 ++++ ...anda-gtk-theme.sh => lavanda-gtk-theme.sh} | 15 +- options/{install-neovim.sh => neovim.sh} | 0 .../{install-nerdfonts.sh => nerdfonts.sh} | 0 options/tokyonight-gtk-theme.sh | 24 ++++ options/view-gnome-keybinds.sh | 38 +++++ 11 files changed, 310 insertions(+), 122 deletions(-) rename options/{install-dotfiles.sh => dotfiles.sh} (100%) create mode 100755 options/gnome-configs.sh create mode 100755 options/gnome-custom-keybinds.sh delete mode 100755 options/install-colloid-gtk-theme.sh create mode 100755 options/kora-gtk-icons.sh rename options/{install-lavanda-gtk-theme.sh => lavanda-gtk-theme.sh} (60%) rename options/{install-neovim.sh => neovim.sh} (100%) rename options/{install-nerdfonts.sh => nerdfonts.sh} (100%) create mode 100755 options/tokyonight-gtk-theme.sh create mode 100755 options/view-gnome-keybinds.sh diff --git a/debian.sh b/debian.sh index 70564ca..e8a6687 100755 --- a/debian.sh +++ b/debian.sh @@ -10,6 +10,21 @@ fg_white="$(tput setaf 7)" reset="$(tput sgr0)" scriptdir=$PWD +# colored text +cecho() { + local text="$1" + local color="$2" + + # Ensure the color variable exists and is valid + if [[ -z "$color" || -z "${!color}" ]]; then + echo "Error: Invalid color variable" + return 1 + fi + local fg_color="${!color}" + # Print the colored string + echo -e "${fg_color}${text}${reset}" +} + confirm() { # call with a prompt string or use a default read -r -p "${fg_yellow}${1:-Are you sure? [y/N]}${reset} " response @@ -41,82 +56,36 @@ install_neovim=false install_dotfiles=false install_gnome_configs=false include_debian_backports=false -# colored text stopped working? idk -# confirm "\033[94mSwap Left Super & Left Control? (Mac keyboard)\033[0m" && is_macbook=true -# confirm "\033[94mInstall GTK themes?\033[0m" && install_themes=true -# confirm "\0cc[94mInstall Nerd Fonts?\033[0m" && install_nerdfonts=true echo "${fg_blue}" cat ascii.txt -echo "${fg_cyan}-----Debian Install Script-----${reset}" +echo "${reset}" +cecho "----debian install script-----" fg_cyan confirm "Is this a server? (Y/N)" && is_server=true -confirm "Include debian backports in apt package manager? (Y/N)" && include_debian_backports=true +# confirm "Include debian backports in apt package manager? (Y/N)" && include_debian_backports=true confirm "Swap Left Super & Left Control (Y/N)" && is_macbook=true + if $is_server; then echo ":3" else if echo $DESKTOP_SESSION | grep -q "gnome"; then confirm "Install gnome extensions, tweaks, and configs? (Y/N)" && install_gnome_configs=true + confirm "Install GTK themes? (Y/N)" && install_themes=true fi fi -confirm "Install GTK themes? (Y/N)" && install_themes=true confirm "Install Nerd Fonts? (Y/N)" && install_nerdfonts=true confirm "Install billypom dotfiles? - includes .bash_aliases file, tmux, kitty, and nvim configs (Y/N)" && install_dotfiles=true confirm "Install Neovim? (Y/N)" && install_neovim=true -echo "Updating package manager" +cecho "Updating package manager" fg_cyan sudo apt update -echo "Purging yucky packages" +cecho "Purging yucky packages" fg_cyan sudo apt purge nano evolution nautilus -echo "Installing yummy packages" +cecho "Installing yummy packages" fg_cyan if $is_server; then sudo apt install vim git cifs-utils nfs-common ripgrep stow virtualenv wget zip unzip kitty python3-pip ncdu tldr htop else - sudo apt install vim git cifs-utils nfs-common ripgrep stow virtualenv wget zip unzip kitty libfuse-dev python3-pip nemo ncdu tldr htop -fi - -if $is_server; then - echo ":3" -else - # wayland specific packages - if echo $XDG_SESSION_TYPE | grep -q "wayland"; then - echo "Installing wayland specific packages" - sudo apt install -y wl-clipboard - fi - - # gnome specific packages - if echo $DESKTOP_SESSION | grep -q "gnome" && $install_gnome_configs; then - echo "Installing gnome-specific packages" - sudo apt install -y gnome-tweaks - gsettings set org.gnome.desktop.interface gtk-theme Lavanda-Sea-Dark - gsettings set org.gnome.shell.extensions.user-theme name Lavanda-Sea-Dark - gsettings set org.gnome.desktop.interface icon-theme breeze - gsettings set org.gnome.desktop.default-applications.terminal exec ‘kitty’ - # better alt tab functionality - echo "Making alt-tab better :)" - gsettings set org.gnome.desktop.wm.keybindings switch-windows "['Tab']" - gsettings set org.gnome.desktop.wm.keybindings switch-windows-backward "['Tab', 'Above_Tab']" - gsettings set org.gnome.desktop.wm.keybindings switch-applications "[]" - gsettings set org.gnome.desktop.wm.keybindings switch-applications-backward "[]" - if $is_macbook; then - echo "Swapping left Super & left Control" - bash options/toggle-gnome-macbook-keyboard.sh 1 - fi - sudo apt install -y pipx - # adds ~/.local/bin to PATH - pipx ensurepath - # https://github.com/essembeh/gnome-extensions-cli - pipx install gnome-extensions-cli --system-site-packages - # install gnome extensions - gext install dash-to-dock@micxgx.gmail.com user-theme@gnome-shell-extensions.gcampax.github.com openbar@neuromorph emoji-copy@felipeftn tiling-assistant@leleat-on-github Vitals@CoreCoding.com compiz-windows-effect@hermes83.github.com - # enable gnome extensions - gext enable dash-to-dock@micxgx.gmail.com user-theme@gnome-shell-extensions.gcampax.github.com openbar@neuromorph emoji-copy@felipeftn tiling-assistant@leleat-on-github Vitals@CoreCoding.com compiz-windows-effect@hermes83.github.com - fi -fi -# nerdfonts -if $install_nerdfonts; then - echo "Installing nerdfonts" - bash options/install-nerdfonts.sh + sudo apt install vim git cifs-utils nfs-common ripgrep stow virtualenv wget zip unzip kitty python3-pip ncdu tldr htop libfuse-dev nemo fi # themes @@ -125,36 +94,57 @@ if $is_server; then else if $install_themes; then # user theme directory - echo "Installing themes" + cecho "Installing themes" fg_cyan mkdir -p ~/.themes - bash options/install-colloid-gtk-theme.sh - bash options/install-lavanda-gtk-theme.sh + bash options/lavanda-gtk-theme.sh + bash options/kora-gtk-icons.sh + bash options/tokyonight-gtk-theme.sh fi fi +if $is_server; then + echo ":3" +else + # wayland specific packages + if echo $XDG_SESSION_TYPE | grep -q "wayland"; then + cecho "Installing wayland specific packages" fg_cyan + sudo apt install -y wl-clipboard + fi + + # gnome specific packages + if echo $DESKTOP_SESSION | grep -q "gnome" && $install_gnome_configs; then + bash options/gnome-configs.sh + fi +fi +# nerdfonts +if $install_nerdfonts; then + cecho "Installing nerdfonts" fg_cyan + bash options/nerdfonts.sh +fi + # set default file manager xdg-mime default nemo.desktop inode/directory # install neovim if $install_neovim; then - echo "Installing neovim" - bash options/install-neovim.sh + cecho "Installing neovim" fg_cyan + bash options/neovim.sh fi # install my dotfiles if $install_dotfiles; then - echo "Installing billypom dotfiles" - bash options/install-dotfiles.sh + cecho "Installing billypom dotfiles" fg_cyan + bash options/dotfiles.sh fi # apt repositories setup # this wont work because of permissions...hmmm -if ! grep -q "deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware" /etc/apt/sources.list; then echo "deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware" >> /etc/apt/sources.list; fi - -if ! grep -q "deb-src http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware" /etc/apt/sources.list; then echo "deb-src http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware" >> /etc/apt/sources.list; fi -if $include_debian_backports; then - if ! grep -q "deb http://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware" /etc/apt/sources.list; then echo "deb http://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware" >> /etc/apt/sources.list; fi - - if ! grep -q "deb-src http://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware" /etc/apt/sources.list; then echo "deb-src http://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware" >> /etc/apt/sources.list; fi -fi +# if ! grep -q "deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware" /etc/apt/sources.list; then echo "deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware" >> /etc/apt/sources.list; fi +# +# if ! grep -q "deb-src http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware" /etc/apt/sources.list; then echo "deb-src http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware" >> /etc/apt/sources.list; fi +# if $include_debian_backports; then +# if ! grep -q "deb http://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware" /etc/apt/sources.list; then echo "deb http://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware" >> /etc/apt/sources.list; fi +# +# if ! grep -q "deb-src http://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware" /etc/apt/sources.list; then echo "deb-src http://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware" >> /etc/apt/sources.list; fi +# fi echo "\e[0;32m--- debian install script finished running ---\e[0m" diff --git a/options/install-dotfiles.sh b/options/dotfiles.sh similarity index 100% rename from options/install-dotfiles.sh rename to options/dotfiles.sh diff --git a/options/gnome-configs.sh b/options/gnome-configs.sh new file mode 100755 index 0000000..1307ad1 --- /dev/null +++ b/options/gnome-configs.sh @@ -0,0 +1,59 @@ + +fg_black="$(tput setaf 0)" +fg_red="$(tput setaf 1)" +fg_green="$(tput setaf 2)" +fg_yellow="$(tput setaf 3)" +fg_blue="$(tput setaf 4)" +fg_magenta="$(tput setaf 5)" +fg_cyan="$(tput setaf 6)" +fg_white="$(tput setaf 7)" +reset="$(tput sgr0)" +scriptdir=$PWD + + +cecho() { + local text="$1" + local color="$2" + + # Ensure the color variable exists and is valid + if [[ -z "$color" || -z "${!color}" ]]; then + echo "Error: Invalid color variable" + return 1 + fi + local fg_color="${!color}" + # Print the colored string + echo -e "${fg_color}${text}${reset}" +} + +cecho "Installing gnome-specific packages" fg_cyan +sudo apt install -y gnome-tweaks +gsettings set org.gnome.desktop.interface gtk-theme Tokyonight-Dark +gsettings set org.gnome.shell.extensions.user-theme name Tokyonight-Dark +gsettings set org.gnome.desktop.interface icon-theme kora +gsettings set org.gnome.desktop.default-applications.terminal exec ‘kitty’ +# better alt tab functionality +cecho "Making alt-tab better :)" fg_cyan +gsettings set org.gnome.desktop.wm.keybindings switch-windows "['Tab']" +gsettings set org.gnome.desktop.wm.keybindings switch-windows-backward "['Tab', 'Above_Tab']" +gsettings set org.gnome.desktop.wm.keybindings switch-applications "[]" +gsettings set org.gnome.desktop.wm.keybindings switch-applications-backward "[]" +if $is_macbook; then + cecho "Swapping left Super & left Control" fg_cyan + bash options/toggle-gnome-macbook-keyboard.sh 1 +fi +sudo apt install -y pipx +# adds ~/.local/bin to PATH +pipx ensurepath +# https://github.com/essembeh/gnome-extensions-cli +pipx install gnome-extensions-cli --system-site-packages +# install gnome extensions +gext install dash-to-dock@micxgx.gmail.com user-theme@gnome-shell-extensions.gcampax.github.com openbar@neuromorph emoji-copy@felipeftn tiling-assistant@leleat-on-github Vitals@CoreCoding.com compiz-windows-effect@hermes83.github.com +# enable gnome extensions +gext enable dash-to-dock@micxgx.gmail.com user-theme@gnome-shell-extensions.gcampax.github.com openbar@neuromorph emoji-copy@felipeftn tiling-assistant@leleat-on-github Vitals@CoreCoding.com compiz-windows-effect@hermes83.github.com + + + + +bash gnome-custom-keybinds.sh + + diff --git a/options/gnome-custom-keybinds.sh b/options/gnome-custom-keybinds.sh new file mode 100755 index 0000000..151a8c8 --- /dev/null +++ b/options/gnome-custom-keybinds.sh @@ -0,0 +1,96 @@ +#!/bin/bash +# this is the worst script in the world +# "name|command|binding" +keybindings=( + "Terminal|kitty|Return" + "wallpaper|~/utils/gnome-wallpaper/wallpaper.sh|Launch7" + "wallpaper2|~/utils/gnome-wallpaper/my_wallpaper.sh|Launch7" +) + +# Get the current list of custom keybindings +current_keybindings=$(gsettings get org.gnome.settings-daemon.plugins.media-keys custom-keybindings) +current_keybindings=$(echo "$current_keybindings" | sed "s/^\[\(.*\)\]$/\1/") +if [ "$current_keybindings" == "@as []" ]; then + echo "Current keybinds are empty" + next_index=0 +else + # Get the highest index currently used + existing_indices=$(echo "$current_keybindings" | tr ',' '\n' | grep -o 'custom[0-9]\+' | sed 's/custom//' | sort -n) + if [ -z "$existing_indices" ]; then + next_index=0 + else + last_index=$(echo "$existing_indices" | tail -n 1) + next_index=$((last_index + 1)) + fi + + # Store new paths to update the keybinding list + new_keybinding_paths=() + + # Get all existing bindings for comparison (just the binding part) + existing_bindings=() + for keybinding in $(echo "$current_keybindings" | tr ',' '\n'); do + binding_path=$(echo "$keybinding" | sed "s/^'//;s/'$//") + binding_command=$(gsettings get org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:$binding_path binding) + existing_bindings+=("$(echo $binding_command | sed "s/^'//;s/'$//")") # Remove quotes + done + +fi + +# Loop over keybindings and add them +for entry in "${keybindings[@]}"; do + IFS='|' read -r name command binding <<< "$entry" + + # Check if the binding already exists + if [ "$current_keybindings" == "@as []" ]; then + echo "Current keybinds are empty" + else + if [[ " ${existing_bindings[@]} " =~ " $binding " ]]; then + # If binding exists, prompt user to overwrite + echo "Keybinding '$binding' already exists for another action." + read -p "Do you want to overwrite it? (y/n): " overwrite + if [[ "$overwrite" != "y" && "$overwrite" != "Y" ]]; then + echo "Skipping '$binding'." + continue + fi + fi + fi + + # Define the new keybinding path + new_path="/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom$next_index/" + new_keybinding_paths+=("'$new_path'") # Wrap paths in single quotes + + # Set individual keybinding settings + gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:"$new_path" name "$name" + gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:"$new_path" command "$command" + gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:"$new_path" binding "$binding" + + echo "Added keybinding: $name ($binding) -> $command" + + next_index=$((next_index + 1)) +done + +# Now merge old and new keybindings properly +# First, join the keybinding paths with commas, ensuring proper quoting +if [ "$current_keybindings" == "@as []" ]; then + echo "Current keybinds are empty" + all_keybindings="" +else + all_keybindings="$current_keybindings" +fi + +for path in "${new_keybinding_paths[@]}"; do + # Add each new keybinding path to the list, ensuring proper formatting + if [ -z "$all_keybindings" ]; then + all_keybindings="$path" + else + all_keybindings="$all_keybindings,$path" + fi +done + +# Ensure the list is properly wrapped in square brackets +all_keybindings="[$all_keybindings]" + +# Update the system keybinding list +gsettings set org.gnome.settings-daemon.plugins.media-keys custom-keybindings "$all_keybindings" + +echo "Keybindings updated successfully!" diff --git a/options/install-colloid-gtk-theme.sh b/options/install-colloid-gtk-theme.sh deleted file mode 100755 index 60a8d07..0000000 --- a/options/install-colloid-gtk-theme.sh +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# credit: https://github.com/drewgrif/bookworm-scripts - -# Function to check if a directory exists -check_directory() { - if [ -d "$1" ]; then - return 0 # Directory exists - else - return 1 # Directory does not exist - fi -} - -# Check if Colloid-icon-theme is installed -if check_directory "$HOME/.local/share/icons/Colloid-Dark"; then - echo "Colloid-icon-theme is already installed." -else - echo "Installing Colloid-icon-theme..." - cd ~/Downloads || exit - if [ -d "Colloid-icon-theme" ]; then - echo "Colloid-icon-theme repository already cloned. Skipping clone step." - else - git clone https://github.com/vinceliuice/Colloid-icon-theme.git - fi - cd Colloid-icon-theme || exit - ./install.sh -t default -s default - rm -rf ~/Downloads/Colloid-icon-theme/ -fi - -# Check if Colloid-gtk-theme is installed -if check_directory "$HOME/.themes/Colloid-Dark"; then - echo "Colloid-gtk-theme is already installed." -else - echo "Installing Colloid-gtk-theme..." - cd ~/Downloads || exit - if [ -d "Colloid-gtk-theme" ]; then - echo "Colloid-gtk-theme repository already cloned. Skipping clone step." - else - git clone https://github.com/vinceliuice/Colloid-gtk-theme.git - fi - cd Colloid-gtk-theme || exit - yes | ./install.sh -c dark -t default --tweaks black - rm -rf ~/Downloads/Colloid-gtk-theme -fi diff --git a/options/kora-gtk-icons.sh b/options/kora-gtk-icons.sh new file mode 100755 index 0000000..5b40ff4 --- /dev/null +++ b/options/kora-gtk-icons.sh @@ -0,0 +1,27 @@ +#!/bin/sh +# credit: https://github.com/drewgrif/bookworm-scripts + +# Function to check if a directory exists +check_directory() { + if [ -d "$1" ]; then + return 0 # Directory exists + else + return 1 # Directory does not exist + fi +} + +# Check if Colloid-icon-theme is installed +if check_directory "$HOME/.icons/kora"; then + echo "Kora icon theme is already installed" +else + echo "Installing kora icon theme" + DOWNLOAD_DIR="${XDG_DOWNLOAD_DIR:-$(xdg-user-dir DOWNLOAD)}" + cd $DOWNLOAD_DIR || exit + git clone https://github.com/bikass/kora.git + cd kora || exit + cp -r kora ~/.icons/kora + cp -r kora-light ~/.icons/kora-light + cp -r kora-light-panel ~/.icons/kora-light-panel + cp -r kora-pgrey ~/.icons/kora-pgrey + rm -rf $DOWNLOAD_DIR/kora +fi diff --git a/options/install-lavanda-gtk-theme.sh b/options/lavanda-gtk-theme.sh similarity index 60% rename from options/install-lavanda-gtk-theme.sh rename to options/lavanda-gtk-theme.sh index 57d3d6b..ba6b943 100755 --- a/options/install-lavanda-gtk-theme.sh +++ b/options/lavanda-gtk-theme.sh @@ -15,14 +15,11 @@ if check_directory "$HOME/.themes/Lavanda-Dark"; then echo "Lavanda gtk theme is already installed." else echo "Installing Lavanda-gtk-theme..." - cd ~/Downloads || exit - if [ -d "Lavanda-gtk-theme" ]; then - echo "Lavanda-gtk-theme repository already cloned. Skipping clone step." - else - git clone https://github.com/vinceliuice/Lavanda-gtk-theme - cd Lavanda-gtk-theme - bash install.sh - fi - rm -rf ~/Downloads/Lavanda-gtk-theme + DOWNLOAD_DIR="${XDG_DOWNLOAD_DIR:-$(xdg-user-dir DOWNLOAD)}" + cd $DOWNLOAD_DIR || exit + git clone https://github.com/vinceliuice/Lavanda-gtk-theme + cd Lavanda-gtk-theme + bash install.sh + rm -rf $DOWNLOAD_DIR/Lavanda-gtk-theme echo "Finished installing Lavanda-gtk-theme" fi diff --git a/options/install-neovim.sh b/options/neovim.sh similarity index 100% rename from options/install-neovim.sh rename to options/neovim.sh diff --git a/options/install-nerdfonts.sh b/options/nerdfonts.sh similarity index 100% rename from options/install-nerdfonts.sh rename to options/nerdfonts.sh diff --git a/options/tokyonight-gtk-theme.sh b/options/tokyonight-gtk-theme.sh new file mode 100755 index 0000000..86e394d --- /dev/null +++ b/options/tokyonight-gtk-theme.sh @@ -0,0 +1,24 @@ +#!/bin/bash +echo "Running: [sudo apt install gtk2-engines-murrine]" +sudo apt install gtk2-engines-murrine + +# Function to check if a directory exists +check_directory() { + if [ -d "$1" ]; then + return 0 # Directory exists + else + return 1 # Directory does not exist + fi +} + +# Check if Colloid-icon-theme is installed +if check_directory "$HOME/.themes/Tokyonight-Dark/"; then + echo "Tokyonight dark theme already installed" +else + echo "Installing Tokyonight GTK theme" + DOWNLOAD_DIR="${XDG_DOWNLOAD_DIR:-$(xdg-user-dir DOWNLOAD)}" + cd $DOWNLOAD_DIR || exit + git clone https://github.com/Fausto-Korpsvart/Tokyonight-GTK-Theme.git + cd Tokyonight-GTK-Theme/themes || exit + bash install.sh +fi diff --git a/options/view-gnome-keybinds.sh b/options/view-gnome-keybinds.sh new file mode 100755 index 0000000..6a47e4b --- /dev/null +++ b/options/view-gnome-keybinds.sh @@ -0,0 +1,38 @@ +#!/bin/bash + +# Get the list of custom keybindings +keybindings=$(gsettings get org.gnome.settings-daemon.plugins.media-keys custom-keybindings) + +# Clean up the keybindings list: remove square brackets, and strip quotes and spaces +keybindings=$(echo "$keybindings" | sed 's/^\[\(.*\)\]$/\1/' | tr -d '[:space:]') + +# Loop through each custom keybinding path and print the details +IFS=',' read -r -a keybinding_paths <<< "$keybindings" + +for path in "${keybinding_paths[@]}"; do + # Remove both leading/trailing single and double quotes, and any spaces + path=$(echo "$path" | sed 's/^"\(.*\)"$/\1/' | sed "s/^'\(.*\)'$/\1/" | sed 's/^[[:space:]]*//g' | sed 's/[[:space:]]*$//g') + + # Debugging: Print the path to check for hidden characters + echo "DEBUG: Raw Keybinding Path: '$path'" + + # Make sure the path starts with a slash and is not empty + if [[ "$path" != /* ]] || [[ -z "$path" ]]; then + echo "Error: Path does not begin with a slash (/): '$path'" + continue + fi + + # Print the cleaned keybinding path + echo "Keybinding Path: $path" + + # Query the details for the keybinding + name=$(gsettings get org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:$path name) + command=$(gsettings get org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:$path command) + binding=$(gsettings get org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:$path binding) + + # Print the details if they're available + echo " Name: $name" + echo " Command: $command" + echo " Binding: $binding" + echo "--------------------------" +done