update
This commit is contained in:
parent
fb104323be
commit
30f9fed77a
130
debian.sh
130
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 <for mac keyboard> (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 "['<Alt>Tab']"
|
||||
gsettings set org.gnome.desktop.wm.keybindings switch-windows-backward "['<Shift><Alt>Tab', '<Alt>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"
|
||||
|
||||
59
options/gnome-configs.sh
Executable file
59
options/gnome-configs.sh
Executable file
@ -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 "['<Alt>Tab']"
|
||||
gsettings set org.gnome.desktop.wm.keybindings switch-windows-backward "['<Shift><Alt>Tab', '<Alt>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
|
||||
|
||||
|
||||
96
options/gnome-custom-keybinds.sh
Executable file
96
options/gnome-custom-keybinds.sh
Executable file
@ -0,0 +1,96 @@
|
||||
#!/bin/bash
|
||||
# this is the worst script in the world
|
||||
# "name|command|binding"
|
||||
keybindings=(
|
||||
"Terminal|kitty|<Super>Return"
|
||||
"wallpaper|~/utils/gnome-wallpaper/wallpaper.sh|Launch7"
|
||||
"wallpaper2|~/utils/gnome-wallpaper/my_wallpaper.sh|<Control>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!"
|
||||
@ -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
|
||||
27
options/kora-gtk-icons.sh
Executable file
27
options/kora-gtk-icons.sh
Executable file
@ -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
|
||||
@ -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
|
||||
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
|
||||
fi
|
||||
rm -rf ~/Downloads/Lavanda-gtk-theme
|
||||
rm -rf $DOWNLOAD_DIR/Lavanda-gtk-theme
|
||||
echo "Finished installing Lavanda-gtk-theme"
|
||||
fi
|
||||
24
options/tokyonight-gtk-theme.sh
Executable file
24
options/tokyonight-gtk-theme.sh
Executable file
@ -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
|
||||
38
options/view-gnome-keybinds.sh
Executable file
38
options/view-gnome-keybinds.sh
Executable file
@ -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
|
||||
Loading…
x
Reference in New Issue
Block a user