From 847ecc8ef7ca78318b4d3828eac62e2b1fefc63d Mon Sep 17 00:00:00 2001 From: Janis Hutz Date: Thu, 20 Mar 2025 18:57:39 +0100 Subject: [PATCH] Prepare for new configs --- README.md | 10 - ai-update.sh | 3 - ai.sh | 24 - collect | 3 + collect.sh | 57 - collectLaptop.sh | 33 - .../general}/Thunar/accels.scm | 0 .../configs => config/general}/Thunar/uca.xml | 0 .../general}/fish/config.fish | 0 .../general}/fish/fish_variables | 0 .../general}/hypr/hypridle.conf | 0 .../general}/hypr/hyprland.conf | 0 .../general/hypr}/hyprland/binds.conf | 0 config/general/hypr/hyprland/colors.conf | 14 + .../general/hypr}/hyprland/general.conf | 3 - .../general/hypr}/hyprland/windowrules.conf | 0 .../general}/hypr/hyprlock.conf | 4 +- .../general}/hypr/xdg-portal-hyprland | 0 .../general}/kitty/current-theme.conf | 0 .../general}/kitty/kitty.conf | 0 .../general}/kitty/kitty.conf.bak | 0 .../general}/lazygit/config.yml | 0 .../mpv/fonts/Material-Design-Iconic-Font.ttf | Bin .../general}/mpv/scripts/modernx.lua | 0 .../yazi/flavors/tokyo-night.yazi/LICENSE | 0 .../flavors/tokyo-night.yazi/LICENSE-tmtheme | 0 .../yazi/flavors/tokyo-night.yazi/README.md | 0 .../yazi/flavors/tokyo-night.yazi/flavor.toml | 0 .../yazi/flavors/tokyo-night.yazi/preview.png | Bin .../yazi/flavors/tokyo-night.yazi/tmtheme.xml | 0 .../general}/yazi/keymap.toml | 0 .../general}/yazi/theme.toml | 0 fix-da-snippets.py | 73 - general/.bash_history | 500 ---- general/.bashrc | 359 --- .../Kvantum/KvAdapta/KvAdapta.kvconfig | 536 ----- general/configs/Kvantum/KvAdapta/KvAdapta.svg | 924 -------- general/configs/Kvantum/KvArc/KvArc.kvconfig | 461 ---- general/configs/Kvantum/KvArc/KvArc.svg | 1042 -------- .../Kvantum/KvMojave#/KvMojave#.kvconfig | 546 ----- .../KvSimplicity/KvSimplicity.kvconfig | 425 ---- .../Kvantum/KvSimplicity/KvSimplicity.svg | 978 -------- general/configs/Kvantum/kvantum.kvconfig | 2 - .../configs/VSCodium/User/keybindings.json | 1 - general/configs/VSCodium/User/settings.json | 73 - .../User/snippets/docSetup.code-snippets | 22 - .../configs/VSCodium/User/snippets/html.json | 58 - .../VSCodium/User/snippets/javascript.json | 106 - .../configs/VSCodium/User/snippets/latex.json | 361 --- .../configs/VSCodium/User/snippets/tex.json | 124 - .../VSCodium/User/snippets/typescript.json | 106 - .../configs/VSCodium/User/snippets/vue.json | 24 - .../VSCodium/User/syncLocalSettings.json | 36 - general/configs/VSCodium/product.json | 8 - general/configs/dunst/defaultDunst | 58 - general/configs/dunst/dunstrc | 58 - general/configs/rofi/config.rasi | 13 - general/configs/rofi/spotlight/README.md | 107 - general/configs/rofi/spotlight/history.txt | 0 general/configs/rofi/spotlight/icons/ddg.svg | 615 ----- .../configs/rofi/spotlight/icons/google.svg | 365 --- .../configs/rofi/spotlight/icons/history.svg | 75 - .../configs/rofi/spotlight/icons/result.svg | 57 - .../configs/rofi/spotlight/rofi-spotlight.sh | 692 ------ general/configs/rofi/spotlight/rofi.rasi | 152 -- general/configs/rofi/spotlight/web-search.py | 167 -- .../themes/arc_dark_transparent_colors.rasi | 34 - general/configs/rofi/themes/defaultTheme.rasi | 78 - general/configs/rofi/themes/mcLarenTheme.rasi | 82 - general/configs/rofi/themes/nord.rasi | 127 - general/configs/rofi/themes/power.rasi | 78 - general/configs/rofi/themes/runnerTheme.rasi | 78 - general/configs/rofi/themes/sidetab-nord.rasi | 78 - general/configs/rofi/themes/sidetab.rasi | 135 -- general/configs/terminator/config | 21 - general/configs/wlogout/default-style.css | 60 - general/configs/wlogout/layout | 30 - general/configs/wlogout/lock-hover.png | Bin 5771 -> 0 bytes general/configs/wlogout/lock.png | Bin 5771 -> 0 bytes general/configs/wlogout/logout-hover.png | Bin 3784 -> 0 bytes general/configs/wlogout/logout.png | Bin 3784 -> 0 bytes general/configs/wlogout/mclaren-style.css | 0 general/configs/wlogout/power-hover.png | Bin 10841 -> 0 bytes general/configs/wlogout/power.png | Bin 10782 -> 0 bytes general/configs/wlogout/restart-hover.png | Bin 7810 -> 0 bytes general/configs/wlogout/restart.png | Bin 7810 -> 0 bytes general/configs/wlogout/sleep-hover.png | Bin 5721 -> 0 bytes general/configs/wlogout/sleep.png | Bin 5721 -> 0 bytes general/configs/wlogout/style.css | 60 - general/docker/daemon.json | 3 - general/kmonad/swap-esc-caps.kbd | 14 - general/mkinitcpio.conf | 73 - general/pacman.conf | 100 - general/scripts/ethz-vpn | 59 - general/vscode-extensions | 49 - install | 4 + install-new.sh | 58 - install-part-two.sh | 30 - laptop/.bashrc | 359 --- laptop/configs/hypr/hyprland-old.conf | 349 --- laptop/configs/hypr/hyprland.conf | 64 - laptop/configs/hypr/hyprlock.conf | 96 - laptop/configs/hypr/wall_4K.png | Bin 49045 -> 0 bytes laptop/configs/rofi/config.rasi | 13 - laptop/configs/waybar/config.jsonc | 145 -- laptop/configs/waybar/scripts/supower.py | 196 -- laptop/configs/waybar/style.css | 140 -- laptop/environment | 13 - laptop/grub | 63 - laptop/installedPackages.txt | 1537 ------------ laptop/mkinitcpio.conf | 73 - laptop/pacman.conf | 100 - laptop/vscode-extensions | 36 - notes.md | 58 + pc/.bash_history | 500 ---- pc/.bashrc | 359 --- pc/configs/OpenRGB/OpenRGB.json | 1284 ---------- pc/configs/Portmaster/Preferences | 1 - pc/configs/hypr/hypridle.conf | 44 - pc/configs/hypr/wall_4K.png | Bin 49045 -> 0 bytes pc/configs/hypr/xdg-portal-hyprland | 8 - pc/configs/rofi/config.rasi | 12 - pc/configs/waybar/config.jsonc | 98 - pc/configs/waybar/default-style.css | 117 - pc/configs/waybar/dualsense-notifier.sh | 34 - pc/configs/waybar/mclaren-style.css | 112 - pc/configs/waybar/style.css | 113 - pc/docker/daemon.json | 3 - pc/environment | 16 - pc/grub | 63 - pc/installedPackages.txt | 2093 ----------------- pc/mkinitcpio.conf | 73 - pc/mnt/mnt-janis.mount | 13 - pc/mnt/mnt-janisShare.mount | 13 - pc/mnt/mnt-shared.mount | 13 - pc/pacman.conf | 100 - pc/vscode-extensions | 48 - .../dunst/mcLarenDunst => scripts/compile.js | 0 server/background.jpg | Bin 214408 -> 0 bytes server/index.html | 95 - setup | 2 + setup.sh | 14 - setupLaptop.sh | 16 - setupVSCodium.sh | 6 - 144 files changed, 83 insertions(+), 18935 deletions(-) delete mode 100644 README.md delete mode 100755 ai-update.sh delete mode 100755 ai.sh create mode 100755 collect delete mode 100755 collect.sh delete mode 100755 collectLaptop.sh rename {general/configs => config/general}/Thunar/accels.scm (100%) rename {general/configs => config/general}/Thunar/uca.xml (100%) rename {general/configs => config/general}/fish/config.fish (100%) rename {general/configs => config/general}/fish/fish_variables (100%) rename {laptop/configs => config/general}/hypr/hypridle.conf (100%) rename {pc/configs => config/general}/hypr/hyprland.conf (100%) rename {general => config/general/hypr}/hyprland/binds.conf (100%) create mode 100644 config/general/hypr/hyprland/colors.conf rename {general => config/general/hypr}/hyprland/general.conf (94%) rename {general => config/general/hypr}/hyprland/windowrules.conf (100%) rename {pc/configs => config/general}/hypr/hyprlock.conf (98%) rename {laptop/configs => config/general}/hypr/xdg-portal-hyprland (100%) rename {general/configs => config/general}/kitty/current-theme.conf (100%) rename {general/configs => config/general}/kitty/kitty.conf (100%) rename {general/configs => config/general}/kitty/kitty.conf.bak (100%) rename {general/configs => config/general}/lazygit/config.yml (100%) rename {general/configs => config/general}/mpv/fonts/Material-Design-Iconic-Font.ttf (100%) rename {general/configs => config/general}/mpv/scripts/modernx.lua (100%) rename {general/configs => config/general}/yazi/flavors/tokyo-night.yazi/LICENSE (100%) rename {general/configs => config/general}/yazi/flavors/tokyo-night.yazi/LICENSE-tmtheme (100%) rename {general/configs => config/general}/yazi/flavors/tokyo-night.yazi/README.md (100%) rename {general/configs => config/general}/yazi/flavors/tokyo-night.yazi/flavor.toml (100%) rename {general/configs => config/general}/yazi/flavors/tokyo-night.yazi/preview.png (100%) rename {general/configs => config/general}/yazi/flavors/tokyo-night.yazi/tmtheme.xml (100%) rename {general/configs => config/general}/yazi/keymap.toml (100%) rename {general/configs => config/general}/yazi/theme.toml (100%) delete mode 100644 fix-da-snippets.py delete mode 100644 general/.bash_history delete mode 100644 general/.bashrc delete mode 100644 general/configs/Kvantum/KvAdapta/KvAdapta.kvconfig delete mode 100644 general/configs/Kvantum/KvAdapta/KvAdapta.svg delete mode 100644 general/configs/Kvantum/KvArc/KvArc.kvconfig delete mode 100644 general/configs/Kvantum/KvArc/KvArc.svg delete mode 100644 general/configs/Kvantum/KvMojave#/KvMojave#.kvconfig delete mode 100644 general/configs/Kvantum/KvSimplicity/KvSimplicity.kvconfig delete mode 100644 general/configs/Kvantum/KvSimplicity/KvSimplicity.svg delete mode 100644 general/configs/Kvantum/kvantum.kvconfig delete mode 100755 general/configs/VSCodium/User/keybindings.json delete mode 100644 general/configs/VSCodium/User/settings.json delete mode 100755 general/configs/VSCodium/User/snippets/docSetup.code-snippets delete mode 100755 general/configs/VSCodium/User/snippets/html.json delete mode 100755 general/configs/VSCodium/User/snippets/javascript.json delete mode 100644 general/configs/VSCodium/User/snippets/latex.json delete mode 100644 general/configs/VSCodium/User/snippets/tex.json delete mode 100644 general/configs/VSCodium/User/snippets/typescript.json delete mode 100755 general/configs/VSCodium/User/snippets/vue.json delete mode 100755 general/configs/VSCodium/User/syncLocalSettings.json delete mode 100755 general/configs/VSCodium/product.json delete mode 100644 general/configs/dunst/defaultDunst delete mode 100755 general/configs/dunst/dunstrc delete mode 100755 general/configs/rofi/config.rasi delete mode 100644 general/configs/rofi/spotlight/README.md delete mode 100644 general/configs/rofi/spotlight/history.txt delete mode 100644 general/configs/rofi/spotlight/icons/ddg.svg delete mode 100644 general/configs/rofi/spotlight/icons/google.svg delete mode 100644 general/configs/rofi/spotlight/icons/history.svg delete mode 100644 general/configs/rofi/spotlight/icons/result.svg delete mode 100755 general/configs/rofi/spotlight/rofi-spotlight.sh delete mode 100644 general/configs/rofi/spotlight/rofi.rasi delete mode 100755 general/configs/rofi/spotlight/web-search.py delete mode 100755 general/configs/rofi/themes/arc_dark_transparent_colors.rasi delete mode 100755 general/configs/rofi/themes/defaultTheme.rasi delete mode 100644 general/configs/rofi/themes/mcLarenTheme.rasi delete mode 100755 general/configs/rofi/themes/nord.rasi delete mode 100755 general/configs/rofi/themes/power.rasi delete mode 100755 general/configs/rofi/themes/runnerTheme.rasi delete mode 100755 general/configs/rofi/themes/sidetab-nord.rasi delete mode 100755 general/configs/rofi/themes/sidetab.rasi delete mode 100755 general/configs/terminator/config delete mode 100644 general/configs/wlogout/default-style.css delete mode 100755 general/configs/wlogout/layout delete mode 100755 general/configs/wlogout/lock-hover.png delete mode 100755 general/configs/wlogout/lock.png delete mode 100755 general/configs/wlogout/logout-hover.png delete mode 100755 general/configs/wlogout/logout.png delete mode 100644 general/configs/wlogout/mclaren-style.css delete mode 100755 general/configs/wlogout/power-hover.png delete mode 100755 general/configs/wlogout/power.png delete mode 100755 general/configs/wlogout/restart-hover.png delete mode 100755 general/configs/wlogout/restart.png delete mode 100755 general/configs/wlogout/sleep-hover.png delete mode 100755 general/configs/wlogout/sleep.png delete mode 100755 general/configs/wlogout/style.css delete mode 100644 general/docker/daemon.json delete mode 100644 general/kmonad/swap-esc-caps.kbd delete mode 100644 general/mkinitcpio.conf delete mode 100644 general/pacman.conf delete mode 100755 general/scripts/ethz-vpn delete mode 100644 general/vscode-extensions create mode 100755 install delete mode 100644 install-new.sh delete mode 100644 install-part-two.sh delete mode 100755 laptop/.bashrc delete mode 100644 laptop/configs/hypr/hyprland-old.conf delete mode 100644 laptop/configs/hypr/hyprland.conf delete mode 100644 laptop/configs/hypr/hyprlock.conf delete mode 100755 laptop/configs/hypr/wall_4K.png delete mode 100755 laptop/configs/rofi/config.rasi delete mode 100755 laptop/configs/waybar/config.jsonc delete mode 100755 laptop/configs/waybar/scripts/supower.py delete mode 100755 laptop/configs/waybar/style.css delete mode 100644 laptop/environment delete mode 100644 laptop/grub delete mode 100644 laptop/installedPackages.txt delete mode 100644 laptop/mkinitcpio.conf delete mode 100644 laptop/pacman.conf delete mode 100644 laptop/vscode-extensions create mode 100644 notes.md delete mode 100644 pc/.bash_history delete mode 100755 pc/.bashrc delete mode 100755 pc/configs/OpenRGB/OpenRGB.json delete mode 100755 pc/configs/Portmaster/Preferences delete mode 100644 pc/configs/hypr/hypridle.conf delete mode 100755 pc/configs/hypr/wall_4K.png delete mode 100755 pc/configs/hypr/xdg-portal-hyprland delete mode 100755 pc/configs/rofi/config.rasi delete mode 100755 pc/configs/waybar/config.jsonc delete mode 100644 pc/configs/waybar/default-style.css delete mode 100755 pc/configs/waybar/dualsense-notifier.sh delete mode 100644 pc/configs/waybar/mclaren-style.css delete mode 100755 pc/configs/waybar/style.css delete mode 100644 pc/docker/daemon.json delete mode 100644 pc/environment delete mode 100644 pc/grub delete mode 100644 pc/installedPackages.txt delete mode 100644 pc/mkinitcpio.conf delete mode 100755 pc/mnt/mnt-janis.mount delete mode 100755 pc/mnt/mnt-janisShare.mount delete mode 100755 pc/mnt/mnt-shared.mount delete mode 100644 pc/pacman.conf delete mode 100644 pc/vscode-extensions rename general/configs/dunst/mcLarenDunst => scripts/compile.js (100%) delete mode 100644 server/background.jpg delete mode 100644 server/index.html create mode 100755 setup delete mode 100755 setup.sh delete mode 100755 setupLaptop.sh delete mode 100644 setupVSCodium.sh diff --git a/README.md b/README.md deleted file mode 100644 index 75234cf..0000000 --- a/README.md +++ /dev/null @@ -1,10 +0,0 @@ -# my personal dotfiles for Hyprland and others - -Contains the following config files: - -- waybar conifg (including CSS styling) -- hyprland config (hyprland.conf) -- dunst config -- fish config -- rofi config -- vscodium settings diff --git a/ai-update.sh b/ai-update.sh deleted file mode 100755 index 1bd642e..0000000 --- a/ai-update.sh +++ /dev/null @@ -1,3 +0,0 @@ -docker pull ghcr.io/open-webui/open-webui:latest -docker container rm open-webui -docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v /home/janis/projects/otherProjects/open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:latest diff --git a/ai.sh b/ai.sh deleted file mode 100755 index 67f9763..0000000 --- a/ai.sh +++ /dev/null @@ -1,24 +0,0 @@ -echo " - ▄▄▄▄▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄▄▄▄ ▄▄ ▄▄ ▄▄▄▄▄▄ -█ █ █ █ █ █ █ █▄█ █ █ -█ ▄ █ █ █ █ █ ▄ █ █ ▄ █ -█ █ █ █ █ █ █ █ █▄█ █ █ █▄█ █ -█ █▄█ █ █▄▄▄█ █▄▄▄█ █ █ █ -█ █ █ █ ▄ █ ██▄██ █ ▄ █ -█▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█▄█ █▄▄█▄█ █▄█▄█ █▄▄█ - -==> Starting ollama -" - -cmd="ollama serve"; -eval "${cmd}" &>/dev/null & disown; - -echo "==> Starting docker" -systemctl start docker - -echo "==> Starting open-webui." -docker start -i open-webui - -echo "==> Done. Visit http://localhost:3000 for a web-ui, http://localhost:11434 to check ollama status" - -read "Press enter to finish" diff --git a/collect b/collect new file mode 100755 index 0000000..9584893 --- /dev/null +++ b/collect @@ -0,0 +1,3 @@ +#!/bin/sh + +# Read file in ~/.config and check if on laptop or desktop diff --git a/collect.sh b/collect.sh deleted file mode 100755 index 54abb72..0000000 --- a/collect.sh +++ /dev/null @@ -1,57 +0,0 @@ -#! /bin/bash - -# Copy VSCodium settings -mkdir -p ./general/configs/VSCodium/User -cp ~/.config/VSCodium/product.json ./general/configs/VSCodium/ -cp -r ~/.config/VSCodium/User/snippets ./general/configs/VSCodium/User/ -cp -r ~/.config/VSCodium/User/globalStorage ./general/configs/VSCodium/User/ -cp ~/.config/VSCodium/User/keybindings.json ./general/configs/VSCodium/User/ -cp ~/.config/VSCodium/User/settings.json ./general/configs/VSCodium/User/ -cp ~/.config/VSCodium/User/syncLocalSettings.json ./general/configs/VSCodium/User/ -rm -rf ./general/configs/VSCodium/User/globalStorage - -rm ./pc/installedPackages.txt -pacman -Qq > ./pc/installedPackages.txt -sudo cat /etc/pacman.conf > ./general/pacman.conf -sudo cat /etc/mkinitcpio.conf > ./general/mkinitcpio.conf -sudo cat /etc/environment > ./pc/environment -sudo cat /etc/default/grub > ./pc/grub -mkdir ./general/docker -sudo cat /etc/docker/daemon.json > ./general/docker/daemon.json - -cp ~/.bash_history ./general -cp ~/.bashrc ./general - -# copy other config files -mkdir ./pc/configs/OpenRGB -mkdir ./pc/configs/Portmaster -cp -r ~/.config/hypr ./pc/configs/ -cp -r ~/.config/waybar ./pc/configs/ -mkdir ./pc/configs/rofi -cp ~/.config/rofi/config.rasi ./pc/configs/rofi/ -cp -r ~/.config/OpenRGB/OpenRGB.json ./pc/configs/OpenRGB/OpenRGB.json -cp ~/.config/Portmaster/Preferences ./pc/configs/Portmaster/ -cp -r ~/.config/mpv ./general/configs -cp -r ~/.config/wlogout ./general/configs/ -cp -r ~/.config/fish ./general/configs/ -cp -r ~/.config/dunst ./general/configs/ -cp -r ~/.config/rofi ./general/configs/ -cp -r ~/.config/kitty ./general/configs/ -cp -r ~/.config/terminator ./general/configs/ -cp -r ~/.config/Thunar ./general/configs/ -cp -r ~/.config/yazi ./general/configs/ -cp -r ~/.config/Kvantum/ ./general/configs/ -cp -r ~/.config/lazygit/ ./general/configs/ - -rm -rf ./pc/configs/hypr/hyprland/ -cp -r ~/.config/hypr/hyprland/* ./general/hyprland/ - -# Get systemd mount jobs -sudo cp -r /etc/systemd/system/mnt* ./pc/mnt -sudo chmod -R 777 ./pc/mnt - - -vscodium --list-extensions > ./general/vscode-extensions - - -echo "Collected. Also consider running nvim-collect!" diff --git a/collectLaptop.sh b/collectLaptop.sh deleted file mode 100755 index a887409..0000000 --- a/collectLaptop.sh +++ /dev/null @@ -1,33 +0,0 @@ -#! /bin/bash - -# Copy VSCodium settings -mkdir -p ./general/configs/VSCodium/User -cp ~/.config/VSCodium/product.json ./general/configs/VSCodium/ -cp -r ~/.config/VSCodium/User/snippets ./general/configs/VSCodium/User/ -cp ~/.config/VSCodium/User/keybindings.json ./general/configs/VSCodium/User/ -cp ~/.config/VSCodium/User/settings.json ./general/configs/VSCodium/User/ -cp ~/.config/VSCodium/User/syncLocalSettings.json ./general/configs/VSCodium/User/ - -rm ./laptop/installedPackages.txt -pacman -Qq > ./laptop/installedPackages.txt - -# copy other config files -cp -r ~/.config/hypr ./laptop/configs -cp -r ~/.config/waybar ./laptop/configs -mkdir ./laptop/configs/rofi -cp ~/.config/rofi/config.rasi ./laptop/configs/rofi/ -cp -r ~/.config/wlogout ./general/configs -cp -r ~/.config/mpv ./general/configs -cp -r ~/.config/dunst ./general/configs -cp -r ~/.config/fish ./general/configs -cp -r ~/.config/rofi ./general/configs -cp -r ~/.config/yazi ./general/configs -cp -r ~/.config/kitty ./general/configs -cp -r ~/.config/Kvantum/ ./general/configs/ -cp -r ~/.config/lazygit/ ./general/configs/ -rm -rf ./laptop/configs/hypr/hyprland/ -cp -r ~/.config/hypr/hyprland/* ./general/hyprland/ - -echo '=> Collected all laptop config files successfully' - -echo "Also consider running nvim-collect!" diff --git a/general/configs/Thunar/accels.scm b/config/general/Thunar/accels.scm similarity index 100% rename from general/configs/Thunar/accels.scm rename to config/general/Thunar/accels.scm diff --git a/general/configs/Thunar/uca.xml b/config/general/Thunar/uca.xml similarity index 100% rename from general/configs/Thunar/uca.xml rename to config/general/Thunar/uca.xml diff --git a/general/configs/fish/config.fish b/config/general/fish/config.fish similarity index 100% rename from general/configs/fish/config.fish rename to config/general/fish/config.fish diff --git a/general/configs/fish/fish_variables b/config/general/fish/fish_variables similarity index 100% rename from general/configs/fish/fish_variables rename to config/general/fish/fish_variables diff --git a/laptop/configs/hypr/hypridle.conf b/config/general/hypr/hypridle.conf similarity index 100% rename from laptop/configs/hypr/hypridle.conf rename to config/general/hypr/hypridle.conf diff --git a/pc/configs/hypr/hyprland.conf b/config/general/hypr/hyprland.conf similarity index 100% rename from pc/configs/hypr/hyprland.conf rename to config/general/hypr/hyprland.conf diff --git a/general/hyprland/binds.conf b/config/general/hypr/hyprland/binds.conf similarity index 100% rename from general/hyprland/binds.conf rename to config/general/hypr/hyprland/binds.conf diff --git a/config/general/hypr/hyprland/colors.conf b/config/general/hypr/hyprland/colors.conf new file mode 100644 index 0000000..f202770 --- /dev/null +++ b/config/general/hypr/hyprland/colors.conf @@ -0,0 +1,14 @@ +#---------# +# COLOURS # +#---------# + +general { + col.active_border = {{ accent_colour_1 }} {{ accent_colour_2 }} {{ accent_colour_3 }} 45deg + col.inactive_border = {{ inactive_colour }} +} + +decoration { + shadow { + color = {{ shadow_colour }} + } +} diff --git a/general/hyprland/general.conf b/config/general/hypr/hyprland/general.conf similarity index 94% rename from general/hyprland/general.conf rename to config/general/hypr/hyprland/general.conf index 0d127cc..27842f0 100644 --- a/general/hyprland/general.conf +++ b/config/general/hypr/hyprland/general.conf @@ -57,8 +57,6 @@ general { gaps_in = 3 gaps_out = 10 border_size = 1 - col.active_border = rgba(cc5c00ff) rgba(cc5c00ff) rgba(ff0000ff) 45deg - col.inactive_border = rgba(595959aa) layout = master no_border_on_floating = false @@ -72,7 +70,6 @@ decoration { shadow { enabled = true range = 4 - color = rgba(1a1a1aee) } blur { diff --git a/general/hyprland/windowrules.conf b/config/general/hypr/hyprland/windowrules.conf similarity index 100% rename from general/hyprland/windowrules.conf rename to config/general/hypr/hyprland/windowrules.conf diff --git a/pc/configs/hypr/hyprlock.conf b/config/general/hypr/hyprlock.conf similarity index 98% rename from pc/configs/hypr/hyprlock.conf rename to config/general/hypr/hyprlock.conf index 57a8087..2cfc8f6 100644 --- a/pc/configs/hypr/hyprlock.conf +++ b/config/general/hypr/hyprlock.conf @@ -29,7 +29,7 @@ input-field { dots_size = 0.33 # Scale of input-field height, 0.2 - 0.8 dots_spacing = 0.15 # Scale of dots' absolute size, 0.0 - 1.0 dots_center = false - outer_color = rgb(204, 92, 0) + outer_color = {{ accent_colour_1 }} inner_color = rgb(200, 200, 200) font_color = rgb(10, 10, 10) fade_on_empty = true @@ -44,7 +44,7 @@ input-field { label { monitor = text = $TIME - color = rgba(200, 200, 200, 1.0) + color = {{ primary_colour }} font_size = 100 font_family = Source Code Pro diff --git a/laptop/configs/hypr/xdg-portal-hyprland b/config/general/hypr/xdg-portal-hyprland similarity index 100% rename from laptop/configs/hypr/xdg-portal-hyprland rename to config/general/hypr/xdg-portal-hyprland diff --git a/general/configs/kitty/current-theme.conf b/config/general/kitty/current-theme.conf similarity index 100% rename from general/configs/kitty/current-theme.conf rename to config/general/kitty/current-theme.conf diff --git a/general/configs/kitty/kitty.conf b/config/general/kitty/kitty.conf similarity index 100% rename from general/configs/kitty/kitty.conf rename to config/general/kitty/kitty.conf diff --git a/general/configs/kitty/kitty.conf.bak b/config/general/kitty/kitty.conf.bak similarity index 100% rename from general/configs/kitty/kitty.conf.bak rename to config/general/kitty/kitty.conf.bak diff --git a/general/configs/lazygit/config.yml b/config/general/lazygit/config.yml similarity index 100% rename from general/configs/lazygit/config.yml rename to config/general/lazygit/config.yml diff --git a/general/configs/mpv/fonts/Material-Design-Iconic-Font.ttf b/config/general/mpv/fonts/Material-Design-Iconic-Font.ttf similarity index 100% rename from general/configs/mpv/fonts/Material-Design-Iconic-Font.ttf rename to config/general/mpv/fonts/Material-Design-Iconic-Font.ttf diff --git a/general/configs/mpv/scripts/modernx.lua b/config/general/mpv/scripts/modernx.lua similarity index 100% rename from general/configs/mpv/scripts/modernx.lua rename to config/general/mpv/scripts/modernx.lua diff --git a/general/configs/yazi/flavors/tokyo-night.yazi/LICENSE b/config/general/yazi/flavors/tokyo-night.yazi/LICENSE similarity index 100% rename from general/configs/yazi/flavors/tokyo-night.yazi/LICENSE rename to config/general/yazi/flavors/tokyo-night.yazi/LICENSE diff --git a/general/configs/yazi/flavors/tokyo-night.yazi/LICENSE-tmtheme b/config/general/yazi/flavors/tokyo-night.yazi/LICENSE-tmtheme similarity index 100% rename from general/configs/yazi/flavors/tokyo-night.yazi/LICENSE-tmtheme rename to config/general/yazi/flavors/tokyo-night.yazi/LICENSE-tmtheme diff --git a/general/configs/yazi/flavors/tokyo-night.yazi/README.md b/config/general/yazi/flavors/tokyo-night.yazi/README.md similarity index 100% rename from general/configs/yazi/flavors/tokyo-night.yazi/README.md rename to config/general/yazi/flavors/tokyo-night.yazi/README.md diff --git a/general/configs/yazi/flavors/tokyo-night.yazi/flavor.toml b/config/general/yazi/flavors/tokyo-night.yazi/flavor.toml similarity index 100% rename from general/configs/yazi/flavors/tokyo-night.yazi/flavor.toml rename to config/general/yazi/flavors/tokyo-night.yazi/flavor.toml diff --git a/general/configs/yazi/flavors/tokyo-night.yazi/preview.png b/config/general/yazi/flavors/tokyo-night.yazi/preview.png similarity index 100% rename from general/configs/yazi/flavors/tokyo-night.yazi/preview.png rename to config/general/yazi/flavors/tokyo-night.yazi/preview.png diff --git a/general/configs/yazi/flavors/tokyo-night.yazi/tmtheme.xml b/config/general/yazi/flavors/tokyo-night.yazi/tmtheme.xml similarity index 100% rename from general/configs/yazi/flavors/tokyo-night.yazi/tmtheme.xml rename to config/general/yazi/flavors/tokyo-night.yazi/tmtheme.xml diff --git a/general/configs/yazi/keymap.toml b/config/general/yazi/keymap.toml similarity index 100% rename from general/configs/yazi/keymap.toml rename to config/general/yazi/keymap.toml diff --git a/general/configs/yazi/theme.toml b/config/general/yazi/theme.toml similarity index 100% rename from general/configs/yazi/theme.toml rename to config/general/yazi/theme.toml diff --git a/fix-da-snippets.py b/fix-da-snippets.py deleted file mode 100644 index 5633425..0000000 --- a/fix-da-snippets.py +++ /dev/null @@ -1,73 +0,0 @@ -import os -import re -import json -import sys - -def clean_json(content): - # Step 1: Remove comments (lines starting with //) - content = re.sub(r'^//.*\n', '', content, flags=re.MULTILINE) - - # Step 2: Replace single quotes with double quotes for JSON compatibility - content = content.replace("'", '"') - - # Step 3: Remove trailing commas in both objects and arrays - # Remove trailing commas in arrays - content = re.sub(r',\s*([\]}])', r'\1', content) - # Remove trailing commas in objects - content = re.sub(r',\s*(\n|\})', r'\1', content) - - # Step 4: Escape backslashes in LaTeX snippets - content = content.replace("\\", "\\\\") # Double backslashes for JSON - - # Step 5: Parse and re-encode to ensure valid JSON (removes trailing commas) - try: - data = json.loads(content) # Parse the content into a Python dictionary - cleaned_json = json.dumps(data, indent=4) # Re-encode into JSON, pretty-printed - except json.JSONDecodeError as e: - print(f"Error parsing JSON: {e}") - return None - - return cleaned_json - -def process_directory(directory): - # Loop through files in the specified directory (non-recursively) - for filename in os.listdir(directory): - file_path = os.path.join(directory, filename) - - # Only process files that end with .json - if os.path.isfile(file_path) and filename.endswith('.json'): - print(f"Processing {file_path}") - - # Read the file content - with open(file_path, 'r', encoding='utf-8') as file: - content = file.read() - - # Clean the JSON content - cleaned_content = clean_json(content) - - if cleaned_content is not None: - # Write the cleaned content back to the file - with open(file_path, 'w', encoding='utf-8') as file: - file.write(cleaned_content) - print(f"Fixed formatting in {file_path}") - else: - print(f"Failed to fix {file_path} due to JSON parsing error.") - -def main(): - # Check if a directory was passed as an argument, otherwise read from stdin - if len(sys.argv) > 1: - directory = sys.argv[1] - else: - print("Please provide a directory path as an argument.") - sys.exit(1) - - # Check if the directory exists - if not os.path.isdir(directory): - print(f"The provided path '{directory}' is not a valid directory.") - sys.exit(1) - - # Process all .json files in the directory - process_directory(directory) - -if __name__ == '__main__': - main() diff --git a/general/.bash_history b/general/.bash_history deleted file mode 100644 index e691e82..0000000 --- a/general/.bash_history +++ /dev/null @@ -1,500 +0,0 @@ -pyinstaller imagevideoupscaler.spec -./imagevideoupscaler -./imagevideoupscaler -pyinstaller imagevideoupscaler.spec -./imagevideoupscaler -pyinstaller imagevideoupscaler.spec -pyinstaller imagevideoupscaler.spec -./imagevideoupscaler -pyinstaller imagevideoupscaler.spec -./imagevideoupscaler -pyinstaller imagevideoupscaler-cli.py --onefile --name imagevideoupscaler --hidden-import "bin.engines" -./imagevideoupscaler -pyinstaller imagevideoupscaler-cli.py --onefile --name imagevideoupscaler -python3 imagevideoupscaler-cli.py -i ~/Downloads/test.mp4 -o ~/Downloads/test_us.mp4 -python3 imagevideoupscaler-cli.py -i ~/Downloads/test.mp4 -o ~/Downloads/test_us.mp4 -pyinstaller imagevideoupscaler-cli.py --name imagevideoupscaler -cd dist/imagevideoupscaler/ -./imagevideoupscaler -i -cd ../.. -cd ~/projects/FSRImageVideoUpscalerFrontend_New/ -ls -clear -ls -clear -yay -S rpm-build -yay -S rpm-tools -yay -S dpkg -yay -S fakeroot -clear -pip3 install py2deb -py2deb -r ./ -py2deb -r ~/projects/FSRImageVideoUpscalerFrontend_New/ -pip3 install symbol -clear -yay -S symbol -clear -pip3 install pyinstaller -yay -S python-pip -py2deb -python3 imagevideoupscaler-cli.py -clear -pip3 install symbol -pip3 install setuptools -yay -R python-pip -yay -S python-pip -pip install --upgrade pip -clear -pip install setuptools -yay -S setuptools -sudo pacman -Syu "pacman>=6.0.2-7" -pip3 -yay -S python-pip -yay -S python3-pip -clear -yay -S python-pip -pip3 install -python -m pip3 -python -m pip -pip -pip3 -clear -pip3 -pip3 install -python3 imagevideoupscaler-cli.py -i ~/Downloads/test.mp4 -o ~/Downloads/test_us.mp4 -python3 imagevideoupscaler-cli.py -i ~/Downloads/test.mp4 -o ~/Downloads/test_us.mp4 -python3 imagevideoupscaler-cli.py -i ~/Downloads/test.mp4 -o ~/Downloads/test_us.mp4 -python3 imagevideoupscaler-cli.py -i ~/Downloads/test.mp4 -o ~/Downloads/test_us.mp4 -s 2 -clear -python3 imagevideoupscaler-cli.py -i ~/Downloads/test.mp4 -o ~/Downloads/test_us.mp4 -E ss -python3 imagevideoupscaler-cli.py -i ~/Downloads/test.mp4 -o ~/Downloads/test_us.mp4 -E ss -python3 imagevideoupscaler-cli.py -i ~/Downloads/test.mp4 -o ~/Downloads/test_us.mp4 -E ss -python3 imagevideoupscaler-cli.py -i ~/Downloads/test.mp4 -o ~/Downloads/test_us.mp4 -E ss -s 2 -clear -python3 imagevideoupscaler-cli.py -i ~/Downloads/test.mp4 -o ~/Downloads/test_us.mp4 -E fsr -s 2 -python3 imagevideoupscaler-cli.py -i ~/Downloads/test.mp4 -o ~/Downloads/test_us.mp4 -E fsr -M c -s 2 -clear -python3 imagevideoupscaler-cli.py -i ~/Downloads/test.mp4 -o ~/Downloads/test_us.mp4 -E fsr -s 2 -python3 imagevideoupscaler-cli.py -i ~/Downloads/test.mp4 -o ~/Downloads/test_us.mp4 -E ss -s 2 -python3 imagevideoupscaler-cli.py -i ~/Downloads/test.mp4 -o ~/Downloads/test_us.mp4 -E ss -s 2 -npm run serve -npm run serve -npm run serve -npm i -npm run serve -clear -cd ../../website/ -cd dist/ -http-server -http-server -git pull origin main -git checkout origin master -git checkout origin main -cd frontend/ -npm run electron:serve -npm i -g @vue/cli -sudo npm i -g @vue/cli -npm audit fix --force -npm audit fix --force -npm audit fix --force -npm i -npm i -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm i child_process -clear -npm run electron:serve -npm run serve -npm run serve -npm run serve -cd .. -ls -clear -python3 imagevideoupscaler-cli.py -h -python3 imagevideoupscaler-cli.py -p -python3 imagevideoupscaler-cli.py -h -python3 imagevideoupscaler-cli.py -d ss -cd frontend/ -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm i --save-dev @electron-forge/cli -npm exec --package=@electron-forge/cli -c "electron-forge import" -npm run make -cd src/ -npm run make -clear -cd .. -npm run electron:build -npm run electron:build -- --linux deb --win nsis -clear -npm run electron:build -- --linux deb --win nsis -npm run electron:build -- --linux deb --win nsis -npm run electron:build -- --linux deb --win nsis -npm run electron:build -- --linux deb --win nsis -npm run electron:build -- --linux deb --win nsis -yay -S libcript -yay -S libssl -clear -npm run electron:build -- --linux deb --linux rpm --win nsis -npm run electron:build -- --linux deb rpm --win nsis -yay -S libxcrypt-compat -npm run electron:build -- --linux deb rpm --win nsis -npm run electron:build -- --linux deb rpm --win nsis -cd ../packaging/ -ls -sudo chmod +x package.sh -./package.sh -mv --help -pip3 install pyinstaller -./package.sh -./package.sh -./package.sh -./package.sh -./package.sh -./package.sh -./package.sh -./package.sh -./package.sh -./package.sh -cd packaging/ -ls -sudo chmod +x package.sh -sudo chmod +x package.sh -./package.sh -./package.sh -./package.sh -cd ../dist/imagevideoupscaler/ -cd ../../frontend/ -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -cd ../packaging/ -./package.sh -clear -cd ../frontend/ -npm run electron:serve -cd ../packaging/ -./package.sh -cd ../frontend/ -npm run electron:serve -npm run electron:serve -cd ../packaging/ -./package.sh -clear -cd ../frontend/ -npm run electron:serve -npm run electron:serve -npm run electron:serve -./imagevideoupscaler -./imagevideoupscaler -i /home/janis/Downloads/test.mp4 -o ~/Downloads/test_us.mp4 -s 2 -S 0.25 -clear -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm i socket.io -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm i socket.io-client -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -cd ../packaging/ -sudo chmod +x ./prepareWindowsPackaging.sh -./prepareWindowsPackaging.sh -wine python -m pip install pyinstaller -./package.sh -./package.sh -wine python -m PyInstaller -./package.sh -cd ../frontend/dist_electron/ -wine imagevideoupscaler\ Setup\ 2.0.0-dev1.exe -clear -cd ../../packaging/ -clear -cd ../frontend/ -npm run electron:serve -cd .. -python3 imagevideoupscaler-cli.py -d ss -cd frontend/ -npm run electron:serve -npm run electron:serve -cd ../packaging/ -./package.sh -sudo chmod +x packageWindows.sh -sudo chmod +x packageLinux.sh -./packageWindows.sh -./packageWindows.sh -cd .. -python3 imagevideoupscaler-cli.py -h -cd frontend/ -npm run serve -npm run electron:serve -npm run electron:serve -cd ../frontend/ -cd ../packaging/ -./packageWindows.sh -cd ../frontend/ -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm i electron -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -cd ../packaging/ -sudo chmod +x startTesting.sh -sudo chmod +x stopTesting.sh -clear -./startTesting.sh -cd ../frontend/ -npm run serve -npm run electron:serve -npm run electron:serve -cd ../packaging/ -./stopTesting.sh -./stopTesting.sh -./packageWindows.sh -cd .. -python3 imagevideoupscaler-cli.py -i /home/janis/projects/FSRImageVideoUpscalerFrontend_New/logo.png -python3 imagevideoupscaler-cli.py -i /home/janis/projects/FSRImageVideoUpscalerFrontend_New/logo.png -python3 imagevideoupscaler-cli.py -i /home/janis/projects/FSRImageVideoUpscalerFrontend_New/logo.png -python3 imagevideoupscaler-cli.py -i /home/janis/projects/FSRImageVideoUpscalerFrontend_New/logo.png -s 2 -cd ../fro -cd frontend/ -npm run serve -npm run electron:serve -cd ../packaging/ -./package.sh -./stopTesting.sh -./package.sh -./package.sh -cd ../frontend/ -npm run electron:serve -cd ../packaging/ -./packageWindows.sh -cd src/webapp/ -npm run serve -./packageWindows.sh -cd ../frontend/ -wine ./smuL-cli.exe -cd ../packaging/ -clear -./stopTesting.sh -./packageLinux.sh -cd ../frontend/ -./smuL-cli -clear -cd ../packaging/ -./stopTesting.sh -./packageWindows.sh -wine -m pip install importlib -clear -./stopTesting.sh -./prepareWindowsPackaging.sh -clear -cd ../ -wine python ./smuL-cli.py -wine python ./smuL-cli.py -wine python ./smuL-cli.py -wine python ./smuL-cli.py -wine python ./smuL-cli.py -wine python ./smuL-cli.py -wine python ./smuL-cli.py -cd packaging/ -./stopTesting.sh -./packageWindows.sh -cd ../frontend/dist_electron/ -wine ./SimpleMediaScalerLite\ Setup\ 2.0.0-dev1.exe -clear -cd ../../packaging/ -./packageWindows.sh -cd ../frontend/ -wine ./smuL-cli.exe -h -wine ./smuL-cli.exe -i ~/Downloads/test.png -s 2 -cd ../packaging/ -./stopTesting.sh -./packageWindows.sh -cd ../frontend/ -wine ./smuL-cli.exe -i ~/Downloads/test.png -s 2 -wine ./smuL-cli.exe -i ~/Downloads/test.png -s 2 -wine ./smuL-cli.exe -i ~/Downloads/test.png -s 2 -wine ./smuL-cli.exe -i ~/Downloads/test.png -s 2 -cd ../packaging/ -./stopTesting.sh -./packageWindows.sh -clear -cd ../frontend/ -wine ./smuL-cli.exe -i ~/Downloads/test.png -s 2 -clear -cd ../packaging/ -./stopTesting.sh -./packageWindows.sh -cd ../frontend/ -wine ./smuL-cli.exe -i ~/Downloads/test.png -s 2 -cd ../packaging/ -./stopTesting.sh -./packageWindows.sh -cd ../frontend/dist_electron/ -wine ./SimpleMediaScalerLite\ Setup\ 2.0.0-dev1.exe -wine ./SimpleMediaScalerLite\ Setup\ 2.0.0-dev1.exe -clear -cd ../../packaging/ -sudo chmod +x packageTesting.sh -./packageTesting.sh -cd ../frontend/dist_electron/linux-unpacked/ -ls -./simplemediascalerlite -cd ../../ -cd ../packag -cd ../packaging/ -./packageLinux.sh -./packageLinux.sh -./packageLinux.sh -./packageTesting.sh -./packageTesting.sh -./packageTesting.sh -./packageTesting.sh -./packageTesting.sh -./packageTesting.sh -./packageTesting.sh -./packageTesting.sh -./packageTesting.sh -./packageTesting.sh -./packageTesting.sh -./packageTesting.sh -./packageTesting.sh -./packageTesting.sh -./packageWindows.sh -cd ../frontend/dist_electron/ -wine SimpleMediaScalerLite\ Setup\ 2.0.0-dev1.exe -wine SimpleMediaScalerLite\ Setup\ 2.0.0-dev1.exe -clear -cd ../../packaging/ -./package.sh -cd .. -python3 smuL-cli.py -i /home/janis/Downloads/test.png -S 2 -python3 smuL-cli.py -i /home/janis/Downloads/test.mp4 -s 2 -python3 smuL-cli.py -i /home/janis/Downloads/test.mp4 -S 2 -python3 smuL-cli.py -i /home/janis/Downloads/test.mp4 -S 2 -python3 smuL-cli.py -i /home/janis/Downloads/test.mp4 -S 2 -python3 smuL-cli.py -i /home/janis/Downloads/test.mp4 -S 2 -python3 smuL-cli.py -i /home/janis/Downloads/test.mp4 -S 2 -python3 smuL-cli.py -i /home/janis/Downloads/test.mp4 -S 2 -python3 smuL-cli.py -i /home/janis/Downloads/test.mp4 -S 2 -python3 smuL-cli.py -i /home/janis/Downloads/test.mp4 -s 2 -clear -cd ./packaging/ -./packageWindows.sh -./packageWindows.sh -./packageWindows.sh -./packageWindows.sh -./package.sh -cd packag -cd packaging/ -./packageWindows.sh -./packageWindows.sh -cd ../../italian/ -http-server -node server.js -node server.js -node server.js -node server.js -node server.js -node server.js -node server.js -ls | grep -v jpg$ | while IFS= read -r FILENAME; do convert "${FILENAME}" "${FILENAME%.*}.jpg"; done -clear -for i in *.avi; do ffmpeg -i "$i" "${i%.*}.mp4"; done -for i in *.mov; do ffmpeg -i "$i" "${i%.*}.mp4"; done -rm ./*.mp4 -for i in *.mov; do ffmpeg -i "$i" "./Transcoded/${i%.*}.mp4"; done -for i in *.mov; do ffmpeg -i "$i" "./Transcoded/${i%.*}.mp4"; done -for i in *.mov; do ffmpeg -i "$i" "./Transcoded/${i%.*}.mp4"; done -file="/home/janis/dotfiles/config/vscode-extensions" -while read line; do vscodium --install-extension "${line}"; done < "${file}" -yay -S vscodium -clear -cp ./dotfiles/config/.bashrc .bashrc -clear -exit -clear -sudo plymouth-set-default-theme -R bgrt -cd dotfiles/ -sudo cp ./config/environment /etc/environment -sudo cp ./config/mkinitcpio.conf /etc/mkinitcpio.conf -sudo cp ./config/pacman.conf /etc/pacman.conf -clear -yay -Syu -clear -hugo -clear -cd /tmp -git clone https://github.com/rtlewis1/GTK/tree/Material-Black-Colors-Desktop -cd Material-Black-Colors-Desktop/ -sudo cp ./Material-Black-Blueberry /usr/share/themes -ls -git clone https://github.com/rtlewis1/GTK -cd gtk -cd GTK -git checkout Material-Black-Colors-Desktop -clear -ls -sudo cp ./Material-Black-Blueberry /usr/share/themes -sudo cp -r ./Material-Black-Blueberry /usr/share/themes -cd /tmp -git clone https://github.com/varlesh/oreo-cursors -cd oreo-cursors/generator -echo "black = #424242" > ./colours.conf -ruby convert.rb -cd .. -make build -sudo make install -ls -sudo make -sudo make build -make build -clear -cat build.sh -make build -clear -yay -S librewolf-bin -exit -file="/home/janis/dotfiles/config/vscode-extensions" -while read line; do vscodium --install-extension "${line}"; done < "${file}" diff --git a/general/.bashrc b/general/.bashrc deleted file mode 100644 index 95b0a32..0000000 --- a/general/.bashrc +++ /dev/null @@ -1,359 +0,0 @@ -# -# ~/.bashrc -# - -# If not running interactively, don't do anything -[[ $- != *i* ]] && return - -export PATH="/home/janis/.local/share/gem/ruby/3.0.0/bin: $PATH" -export PATH="/home/janis/.local/bin: $PATH" -alias editHyprlandConf='nano ~/.config/hypr/hyprland.conf' -alias ls='ls -l --color=auto' -alias ll='ls -la --color=auto' -alias sl='ls --color=auto' -alias start-httpd='sudo systemctl start httpd' -PS1='[\u@\h \W]\$ ' - -################################################################################ -## FUNCTIONS ## -################################################################################ - -## -## ARRANGE $PWD AND STORE IT IN $NEW_PWD -## * The home directory (HOME) is replaced with a ~ -## * The last pwdmaxlen characters of the PWD are displayed -## * Leading partial directory names are striped off -## /home/me/stuff -> ~/stuff (if USER=me) -## /usr/share/big_dir_name -> ../share/big_dir_name (if pwdmaxlen=20) -## -## Original source: WOLFMAN'S color bash promt -## https://wiki.chakralinux.org/index.php?title=Color_Bash_Prompt#Wolfman.27s -## -bash_prompt_command() { - # How many characters of the $PWD should be kept - local pwdmaxlen=25 - - # Indicate that there has been dir truncation - local trunc_symbol=".." - - # Store local dir - local dir=${PWD##*/} - - # Which length to use - pwdmaxlen=$(( ( pwdmaxlen < ${#dir} ) ? ${#dir} : pwdmaxlen )) - - NEW_PWD=${PWD/#$HOME/\~} - - local pwdoffset=$(( ${#NEW_PWD} - pwdmaxlen )) - - # Generate name - if [ ${pwdoffset} -gt "0" ] - then - NEW_PWD=${NEW_PWD:$pwdoffset:$pwdmaxlen} - NEW_PWD=${trunc_symbol}/${NEW_PWD#*/} - fi -} - - - - -## -## GENERATE A FORMAT SEQUENCE -## -format_font() -{ - ## FIRST ARGUMENT TO RETURN FORMAT STRING - local output=$1 - - - case $# in - 2) - eval $output="'\[\033[0;${2}m\]'" - ;; - 3) - eval $output="'\[\033[0;${2};${3}m\]'" - ;; - 4) - eval $output="'\[\033[0;${2};${3};${4}m\]'" - ;; - *) - eval $output="'\[\033[0m\]'" - ;; - esac -} - - - -## -## COLORIZE BASH PROMT -## -bash_prompt() { - - ############################################################################ - ## COLOR CODES ## - ## These can be used in the configuration below ## - ############################################################################ - - ## FONT EFFECT - local NONE='0' - local BOLD='1' - local DIM='2' - local UNDERLINE='4' - local BLINK='5' - local INVERT='7' - local HIDDEN='8' - - - ## COLORS - local DEFAULT='9' - local BLACK='0' - local RED='1' - local GREEN='2' - local YELLOW='3' - local BLUE='4' - local MAGENTA='5' - local CYAN='6' - local L_GRAY='7' - local D_GRAY='60' - local L_RED='61' - local L_GREEN='62' - local L_YELLOW='63' - local L_BLUE='64' - local L_MAGENTA='65' - local L_CYAN='66' - local WHITE='67' - - - ## TYPE - local RESET='0' - local EFFECT='0' - local COLOR='30' - local BG='40' - - - ## 256 COLOR CODES - local NO_FORMAT="\[\033[0m\]" - local ORANGE_BOLD="\[\033[1;38;5;208m\]" - local TOXIC_GREEN_BOLD="\[\033[1;38;5;118m\]" - local RED_BOLD="\[\033[1;38;5;1m\]" - local CYAN_BOLD="\[\033[1;38;5;87m\]" - local BLACK_BOLD="\[\033[1;38;5;0m\]" - local WHITE_BOLD="\[\033[1;38;5;15m\]" - local GRAY_BOLD="\[\033[1;90m\]" - local BLUE_BOLD="\[\033[1;38;5;74m\]" - - - - - - ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## - ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## - ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## - - - - ## CONFIGURE HERE ## - - - - ############################################################################ - ## CONFIGURATION ## - ## Choose your color combination here ## - ############################################################################ - local FONT_COLOR_1=$WHITE - local BACKGROUND_1=$RED - local TEXTEFFECT_1=$BOLD - - local FONT_COLOR_2=$WHITE - local BACKGROUND_2=$YELLOW - local TEXTEFFECT_2=$BOLD - - local FONT_COLOR_3=$D_GRAY - local BACKGROUND_3=$WHITE - local TEXTEFFECT_3=$BOLD - - local PROMT_FORMAT=$BLUE_BOLD - - - ############################################################################ - ## EXAMPLE CONFIGURATIONS ## - ## I use them for different hosts. Test them out ;) ## - ############################################################################ - - ## CONFIGURATION: BLUE-WHITE - if [ "$HOSTNAME" = dell ]; then - FONT_COLOR_1=$WHITE; BACKGROUND_1=$BLUE; TEXTEFFECT_1=$BOLD - FONT_COLOR_2=$WHITE; BACKGROUND_2=$L_BLUE; TEXTEFFECT_2=$BOLD - FONT_COLOR_3=$D_GRAY; BACKGROUND_3=$WHITE; TEXTEFFECT_3=$BOLD - PROMT_FORMAT=$CYAN_BOLD - fi - - ## CONFIGURATION: BLACK-RED - if [ "$HOSTNAME" = giraff6 ]; then - FONT_COLOR_1=$WHITE; BACKGROUND_1=$BLACK; TEXTEFFECT_1=$BOLD - FONT_COLOR_2=$WHITE; BACKGROUND_2=$D_GRAY; TEXTEFFECT_2=$BOLD - FONT_COLOR_3=$WHITE; BACKGROUND_3=$RED; TEXTEFFECT_3=$BOLD - PROMT_FORMAT=$RED_BOLD - fi - - ## CONFIGURATION: RED-BLACK - #FONT_COLOR_1=$WHITE; BACKGROUND_1=$RED; TEXTEFFECT_1=$BOLD - #FONT_COLOR_2=$WHITE; BACKGROUND_2=$D_GRAY; TEXTEFFECT_2=$BOLD - #FONT_COLOR_3=$WHITE; BACKGROUND_3=$BLACK; TEXTEFFECT_3=$BOLD - #PROMT_FORMAT=$RED_BOLD - - ## CONFIGURATION: CYAN-BLUE - if [ "$HOSTNAME" = sharkoon ]; then - FONT_COLOR_1=$BLACK; BACKGROUND_1=$L_CYAN; TEXTEFFECT_1=$BOLD - FONT_COLOR_2=$WHITE; BACKGROUND_2=$L_BLUE; TEXTEFFECT_2=$BOLD - FONT_COLOR_3=$WHITE; BACKGROUND_3=$BLUE; TEXTEFFECT_3=$BOLD - PROMT_FORMAT=$CYAN_BOLD - fi - - ## CONFIGURATION: GRAY-SCALE - if [ "$HOSTNAME" = giraff ]; then - FONT_COLOR_1=$WHITE; BACKGROUND_1=$BLACK; TEXTEFFECT_1=$BOLD - FONT_COLOR_2=$WHITE; BACKGROUND_2=$D_GRAY; TEXTEFFECT_2=$BOLD - FONT_COLOR_3=$WHITE; BACKGROUND_3=$L_GRAY; TEXTEFFECT_3=$BOLD - PROMT_FORMAT=$BLACK_BOLD - fi - - ## CONFIGURATION: GRAY-CYAN - if [ "$HOSTNAME" = light ]; then - FONT_COLOR_1=$WHITE; BACKGROUND_1=$BLACK; TEXTEFFECT_1=$BOLD - FONT_COLOR_2=$WHITE; BACKGROUND_2=$D_GRAY; TEXTEFFECT_2=$BOLD - FONT_COLOR_3=$BLACK; BACKGROUND_3=$L_CYAN; TEXTEFFECT_3=$BOLD - PROMT_FORMAT=$CYAN_BOLD - fi - - - ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## - ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## - ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## - - - - - ############################################################################ - ## TEXT FORMATING ## - ## Generate the text formating according to configuration ## - ############################################################################ - - ## CONVERT CODES: add offset - FC1=$(($FONT_COLOR_1+$COLOR)) - BG1=$(($BACKGROUND_1+$BG)) - FE1=$(($TEXTEFFECT_1+$EFFECT)) - - FC2=$(($FONT_COLOR_2+$COLOR)) - BG2=$(($BACKGROUND_2+$BG)) - FE2=$(($TEXTEFFECT_2+$EFFECT)) - - FC3=$(($FONT_COLOR_3+$COLOR)) - BG3=$(($BACKGROUND_3+$BG)) - FE3=$(($TEXTEFFECT_3+$EFFECT)) - - FC4=$(($FONT_COLOR_4+$COLOR)) - BG4=$(($BACKGROUND_4+$BG)) - FE4=$(($TEXTEFFECT_4+$EFFECT)) - - - ## CALL FORMATING HELPER FUNCTION: effect + font color + BG color - local TEXT_FORMAT_1 - local TEXT_FORMAT_2 - local TEXT_FORMAT_3 - local TEXT_FORMAT_4 - format_font TEXT_FORMAT_1 $FE1 $FC1 $BG1 - format_font TEXT_FORMAT_2 $FE2 $FC2 $BG2 - format_font TEXT_FORMAT_3 $FC3 $FE3 $BG3 - format_font TEXT_FORMAT_4 $FC4 $FE4 $BG4 - - - # GENERATE PROMT SECTIONS - local PROMT_USER=$"$TEXT_FORMAT_1 \u " - local PROMT_HOST=$"$TEXT_FORMAT_2 \h " - local PROMT_PWD=$"$TEXT_FORMAT_3 \${NEW_PWD} " - local PROMT_INPUT=$"$PROMT_FORMAT " - - - ############################################################################ - ## SEPARATOR FORMATING ## - ## Generate the separators between sections ## - ## Uses background colors of the sections ## - ############################################################################ - - ## CONVERT CODES - TSFC1=$(($BACKGROUND_1+$COLOR)) - TSBG1=$(($BACKGROUND_2+$BG)) - - TSFC2=$(($BACKGROUND_2+$COLOR)) - TSBG2=$(($BACKGROUND_3+$BG)) - - TSFC3=$(($BACKGROUND_3+$COLOR)) - TSBG3=$(($DEFAULT+$BG)) - - - ## CALL FORMATING HELPER FUNCTION: effect + font color + BG color - local SEPARATOR_FORMAT_1 - local SEPARATOR_FORMAT_2 - local SEPARATOR_FORMAT_3 - format_font SEPARATOR_FORMAT_1 $TSFC1 $TSBG1 - format_font SEPARATOR_FORMAT_2 $TSFC2 $TSBG2 - format_font SEPARATOR_FORMAT_3 $TSFC3 $TSBG3 - - - # GENERATE SEPARATORS WITH FANCY TRIANGLE - local TRIANGLE=$'\uE0B0' - local SEPARATOR_1=$SEPARATOR_FORMAT_1$TRIANGLE - local SEPARATOR_2=$SEPARATOR_FORMAT_2$TRIANGLE - local SEPARATOR_3=$SEPARATOR_FORMAT_3$TRIANGLE - - - - ############################################################################ - ## WINDOW TITLE ## - ## Prevent messed up terminal-window titles ## - ############################################################################ - case $TERM in - xterm*|rxvt*) - local TITLEBAR='\[\033]0;\u:${NEW_PWD}\007\]' - ;; - *) - local TITLEBAR="" - ;; - esac - - - - ############################################################################ - ## BASH PROMT ## - ## Generate promt and remove format from the rest ## - ############################################################################ - PS1="$TITLEBAR\n${PROMT_USER}${SEPARATOR_1}${PROMT_HOST}${SEPARATOR_2}${PROMT_PWD}${SEPARATOR_3}${PROMT_INPUT}" - - - - ## For terminal line coloring, leaving the rest standard - none="$(tput sgr0)" - trap 'echo -ne "${none}"' DEBUG -} - - - - -################################################################################ -## MAIN ## -################################################################################ - -## Bash provides an environment variable called PROMPT_COMMAND. -## The contents of this variable are executed as a regular Bash command -## just before Bash displays a prompt. -## We want it to call our own command to truncate PWD and store it in NEW_PWD -PROMPT_COMMAND=bash_prompt_command - -## Call bash_promnt only once, then unset it (not needed any more) -## It will set $PS1 with colors and relative to $NEW_PWD, -## which gets updated by $PROMT_COMMAND on behalf of the terminal -bash_prompt -unset bash_prompt - -### EOF ### diff --git a/general/configs/Kvantum/KvAdapta/KvAdapta.kvconfig b/general/configs/Kvantum/KvAdapta/KvAdapta.kvconfig deleted file mode 100644 index a820f58..0000000 --- a/general/configs/Kvantum/KvAdapta/KvAdapta.kvconfig +++ /dev/null @@ -1,536 +0,0 @@ -[%General] -author=Tsu Jan -comment=An uncomplicated theme inspired by the Adapta GTK theme -x11drag=menubar_and_primary_toolbar -alt_mnemonic=true -left_tabs=true -attach_active_tab=false -mirror_doc_tabs=true -group_toolbar_buttons=false -toolbar_item_spacing=0 -toolbar_interior_spacing=2 -spread_progressbar=true -composite=true -menu_shadow_depth=5 -tooltip_shadow_depth=6 -splitter_width=4 -scroll_width=9 -scroll_arrows=false -scroll_min_extent=60 -slider_width=2 -slider_handle_width=18 -slider_handle_length=15 -tickless_slider_handle_size=16 -center_toolbar_handle=true -check_size=14 -textless_progressbar=false -progressbar_thickness=4 -menubar_mouse_tracking=true -toolbutton_style=1 -click_behavior=0 -translucent_windows=false -blurring=false -popup_blurring=false -vertical_spin_indicators=false -spin_button_width=24 -fill_rubberband=false -merge_menubar_with_toolbar=true -small_icon_size=16 -large_icon_size=32 -button_icon_size=16 -toolbar_icon_size=22 -combo_as_lineedit=true -animate_states=true -combo_menu=true -hide_combo_checkboxes=true -combo_focus_rect=false -groupbox_top_label=true -inline_spin_indicators=true -joined_inactive_tabs=true -layout_spacing=6 -layout_margin=9 -scrollbar_in_view=true -transient_scrollbar=true -transient_groove=false -submenu_overlap=0 -tooltip_delay=-1 -tree_branch_line=true -no_window_pattern=false -opaque=kaffeine,kmplayer,subtitlecomposer,kdenlive,vlc,smplayer,smplayer2,avidemux,avidemux2_qt4,avidemux3_qt4,avidemux3_qt5,kamoso,QtCreator,VirtualBox,VirtualBoxVM,trojita,dragon,digikam,lyx -reduce_window_opacity=0 -respect_DE=true -submenu_delay=250 - -[GeneralColors] -window.color=#fafbfc -base.color=white -alt.base.color=#fafafa -button.color=#fafbfc -light.color=white -mid.light.color=#f0f0f0 -dark.color=#c8c8c8 -mid.color=#e1e1e196 -highlight.color=#00bcd4 -inactive.highlight.color=#00bcd4 -text.color=#000000c8 -window.text.color=#000000aa -button.text.color=#000000aa -disabled.text.color=#00000073 -tooltip.text.color=#eefcff -highlight.text.color=white -link.color=#0057AE -link.visited.color=#452886 -progress.indicator.text.color=white - -[Hacks] -transparent_ktitle_label=true -transparent_dolphin_view=false -transparent_pcmanfm_sidepane=true -blur_translucent=false -transparent_menutitle=true -respect_darkness=false -force_size_grip=true -iconless_pushbutton=true -iconless_menu=false -disabled_icon_opacity=100 -lxqtmainmenu_iconsize=22 -normal_default_pushbutton=true -single_top_toolbar=true -tint_on_mouseover=0 -transparent_pcmanfm_view=false -no_selection_tint=true -transparent_arrow_button=true -middle_click_scroll=false - -[PanelButtonCommand] -frame=true -frame.element=button -frame.top=4 -frame.bottom=4 -frame.left=4 -frame.right=4 -interior=true -interior.element=button -indicator.size=9 -text.normal.color=#000000b4 -text.focus.color=black -text.press.color=#000000b4 -text.toggle.color=white -text.shadow=0 -text.margin=1 -text.iconspacing=4 -indicator.element=arrow -text.margin.top=2 -text.margin.bottom=4 -text.margin.left=2 -text.margin.right=2 -min_width=+0.3font -min_height=+0.3font -frame.expansion=14 - -[PanelButtonTool] -inherits=PanelButtonCommand -text.normal.color=#00000096 -text.bold=true - -[ToolbarButton] -frame.element=tbutton -interior.element=tbutton -indicator.element=tarrow -text.normal.color=#ffffffb4 -text.focus.color=white -text.press.color=white -text.toggle.color=white -text.bold=true - -[ToolbarLineEdit] -frame.element=lineedit - -[ToolbarComboBox] -frame.element=combo -indicator.element=flat-arrow-down -text.normal.color=#ffffffb4 -text.focus.color=white -text.press.color=white -text.toggle.color=white -text.bold=true - -[Dock] -inherits=PanelButtonCommand -interior.element=dock -frame.element=dock -frame.top=1 -frame.bottom=1 -frame.left=1 -frame.right=1 -text.normal.color=#000000c8 - -[DockTitle] -inherits=PanelButtonCommand -frame=false -interior=false -text.normal.color=#00000096 -text.focus.color=black -text.bold=true - -[IndicatorSpinBox] -inherits=PanelButtonCommand -frame=true -interior=true -frame.top=2 -frame.bottom=2 -frame.left=2 -frame.right=2 -indicator.element=spin -indicator.size=10 -text.normal.color=#000000c8 -text.margin.top=2 -text.margin.bottom=2 -text.margin.left=2 -text.margin.right=2 - -[RadioButton] -inherits=PanelButtonCommand -frame=false -interior.element=radio -text.normal.color=#000000c8 -text.focus.color=black -min_width=+0.3font -min_height=+0.3font - -[CheckBox] -inherits=PanelButtonCommand -frame=false -interior.element=checkbox -text.normal.color=#000000c8 -text.focus.color=black -min_width=+0.3font -min_height=+0.3font - -[Focus] -inherits=PanelButtonCommand -frame=true -frame.element=focus -frame.top=1 -frame.bottom=1 -frame.left=1 -frame.right=1 -frame.patternsize=20 - -[GenericFrame] -inherits=PanelButtonCommand -frame=true -interior=false -frame.element=common -interior.element=common -frame.top=3 -frame.bottom=3 -frame.left=3 -frame.right=3 - -[LineEdit] -inherits=PanelButtonCommand -frame.element=lineedit -interior.element=lineedit -interior=false -frame.top=2 -frame.bottom=2 -frame.left=2 -frame.right=2 -text.margin.top=2 -text.margin.bottom=2 -text.margin.left=2 -text.margin.right=2 -frame.expansion=0 - -[DropDownButton] -inherits=PanelButtonCommand -indicator.element=arrow-down - -[IndicatorArrow] -indicator.element=arrow -indicator.size=9 - -[ToolboxTab] -inherits=PanelButtonCommand -text.normal.color=#000000c8 -text.press.color=#00000096 -text.focus.color=#007e8c - -[Tab] -inherits=PanelButtonCommand -interior.element=tab -text.margin.left=8 -text.margin.right=8 -text.margin.top=2 -text.margin.bottom=2 -frame.element=tab -indicator.element=tab -frame.top=2 -frame.bottom=2 -frame.left=2 -frame.right=2 -text.normal.color=#0000007d -text.focus.color=#000000b4 -text.toggle.color=#000000c8 -frame.expansion=0 -text.bold=true - -[TabFrame] -inherits=PanelButtonCommand -frame.element=tabframe -interior.element=tabframe -frame.top=2 -frame.bottom=2 -frame.left=2 -frame.right=2 - -[TreeExpander] -inherits=PanelButtonCommand -indicator.size=12 -indicator.element=tree - -[HeaderSection] -inherits=PanelButtonCommand -interior.element=header -frame.element=header -frame.top=1 -frame.bottom=1 -frame.left=1 -frame.right=1 -text.normal.color=#000000aa -text.focus.color=#007e8c -text.press.color=black -text.toggle.color=white -frame.expansion=0 - -[SizeGrip] -indicator.element=resize-grip - -[Toolbar] -inherits=PanelButtonCommand -indicator.element=toolbar -indicator.size=5 -text.margin=0 -interior.element=menubar -frame.element=menubar -text.normal.color=#ffffffa0 -text.focus.color=white -frame.left=0 -frame.right=0 -frame.top=0 -frame.bottom=4 -frame.expansion=0 - -[Slider] -inherits=PanelButtonCommand -frame.element=slider -interior.element=slider -frame.top=3 -frame.bottom=3 -frame.left=3 -frame.right=3 - -[SliderCursor] -inherits=PanelButtonCommand -frame=false -interior.element=slidercursor - -[Progressbar] -inherits=PanelButtonCommand -frame.element=progress -interior.element=progress -text.margin=0 -text.normal.color=#000000c8 -text.focus.color=black -text.press.color=black -text.toggle.color=black -text.bold=true -frame.expansion=8 - -[ProgressbarContents] -inherits=PanelButtonCommand -frame=true -frame.element=progress-pattern -interior.element=progress-pattern - -[ItemView] -inherits=PanelButtonCommand -text.margin=1 -frame.element=itemview -interior.element=itemview -frame.top=2 -frame.bottom=2 -frame.left=2 -frame.right=2 -text.margin.top=0 -text.margin.bottom=0 -text.margin.left=1 -text.margin.right=1 -text.normal.color=#000000c8 -text.focus.color=black -text.press.color=white -text.toggle.color=white -min_width=+0.3font -min_height=+0.3font -frame.expansion=0 - -[Splitter] -indicator.size=48 - -[Scrollbar] -inherits=PanelButtonCommand -indicator.element=arrow -indicator.size=10 - -[ScrollbarSlider] -inherits=PanelButtonCommand -interior.element=scrollbarslider -interior=true -frame=false -indicator.element=grip -indicator.size=13 -frame.expansion=48 - -[ScrollbarGroove] -inherits=PanelButtonCommand -interior=false -frame=false - -[MenuItem] -inherits=PanelButtonCommand -frame=true -frame.element=menuitem -interior.element=menuitem -indicator.element=menuitem -text.normal.color=#000000c8 -text.focus.color=black -text.margin.top=1 -text.margin.bottom=1 -text.margin.left=15 -text.margin.right=5 -frame.top=3 -frame.bottom=3 -frame.left=3 -frame.right=3 -text.bold=false -min_width=+0.3font -min_height=+0.3font -frame.expansion=0 - -[MenuBar] -inherits=PanelButtonCommand -frame.element=menubar -interior.element=menubar -frame.bottom=0 -text.normal.color=#ffffffa0 -frame.expansion=0 - -[MenuBarItem] -inherits=PanelButtonCommand -interior=true -interior.element=menubaritem -frame.element=menubaritem -frame.top=2 -frame.bottom=2 -frame.left=2 -frame.right=2 -text.margin.left=4 -text.margin.right=4 -text.margin.top=0 -text.margin.bottom=0 -text.normal.color=#ffffffb4 -text.focus.color=white -text.bold=false -min_width=+0.3font -min_height=+0.3font -frame.expansion=0 - -[TitleBar] -inherits=PanelButtonCommand -frame=false -text.margin.top=2 -text.margin.bottom=2 -text.margin.left=2 -text.margin.right=2 -interior.element=titlebar -indicator.size=12 -indicator.element=mdi -text.normal.color=#c8c8c8 -text.focus.color=white -text.bold=true -text.italic=true -frame.expansion=0 - -[ComboBox] -inherits=PanelButtonCommand -frame.element=combo -interior.element=combo -interior=false -frame.top=2 -frame.bottom=2 -frame.left=2 -frame.right=2 -text.margin.top=2 -text.margin.bottom=2 -text.margin.left=2 -text.margin.right=2 -text.focus.color=#007e8c -text.press.color=#005a64 -text.toggle.color=black -indicator.element=carrow -frame.expansion=0 - -[Menu] -inherits=PanelButtonCommand -frame.top=1 -frame.bottom=1 -frame.left=1 -frame.right=1 -frame.element=menu -interior.element=menu -text.normal.color=#000000c8 -text.shadow=false -frame.expansion=0 - -[GroupBox] -inherits=GenericFrame -frame=false -text.shadow=0 -text.margin=0 -text.normal.color=#00000096 -text.focus.color=#00bcd4 -text.bold=true -frame.expansion=0 - -[TabBarFrame] -inherits=GenericFrame -frame=true -frame.element=tabBarFrame -interior=false -frame.top=2 -frame.bottom=2 -frame.left=2 -frame.right=2 - -[ToolTip] -inherits=GenericFrame -frame.top=3 -frame.bottom=3 -frame.left=3 -frame.right=3 -interior=true -text.shadow=0 -text.margin=0 -interior.element=tooltip -frame.element=tooltip -frame.expansion=0 - -[StatusBar] -inherits=GenericFrame -frame=false -interior=false - -[Window] -interior=true -interior.element=window diff --git a/general/configs/Kvantum/KvAdapta/KvAdapta.svg b/general/configs/Kvantum/KvAdapta/KvAdapta.svg deleted file mode 100644 index 508a962..0000000 --- a/general/configs/Kvantum/KvAdapta/KvAdapta.svg +++ /dev/null @@ -1,924 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/general/configs/Kvantum/KvArc/KvArc.kvconfig b/general/configs/Kvantum/KvArc/KvArc.kvconfig deleted file mode 100644 index bb6e909..0000000 --- a/general/configs/Kvantum/KvArc/KvArc.kvconfig +++ /dev/null @@ -1,461 +0,0 @@ -[%General] -author=Tsu Jan -comment=A minimalistic theme inspired by the Arc GTK theme -x11drag=menubar_and_primary_toolbar -alt_mnemonic=true -left_tabs=true -attach_active_tab=true -mirror_doc_tabs=true -group_toolbar_buttons=false -toolbar_item_spacing=1 -toolbar_interior_spacing=3 -spread_progressbar=true -composite=true -menu_shadow_depth=7 -menu_separator_height=6 -tooltip_shadow_depth=6 -splitter_width=4 -scroll_width=9 -scroll_arrows=false -scroll_min_extent=60 -slider_width=6 -slider_handle_width=18 -slider_handle_length=18 -center_toolbar_handle=true -check_size=14 -textless_progressbar=false -progressbar_thickness=3font -menubar_mouse_tracking=true -toolbutton_style=1 -click_behavior=0 -translucent_windows=false -blurring=false -popup_blurring=false -vertical_spin_indicators=false -spin_button_width=32 -fill_rubberband=false -merge_menubar_with_toolbar=true -small_icon_size=16 -large_icon_size=32 -button_icon_size=16 -toolbar_icon_size=22 -combo_as_lineedit=true -animate_states=false -combo_menu=true -hide_combo_checkboxes=true -combo_focus_rect=true -groupbox_top_label=true -inline_spin_indicators=false -joined_inactive_tabs=false -layout_spacing=6 -layout_margin=9 -scrollbar_in_view=true -transient_scrollbar=true -transient_groove=true -submenu_overlap=3 -tooltip_delay=-1 -tree_branch_line=true - -[GeneralColors] -window.color=#f5f6f7 -base.color=white -alt.base.color=#f8f8f8 -button.color=#fbfbfc -light.color=white -mid.light.color=#f0f0f0 -dark.color=#c8c8c8 -mid.color=#e1e1e1 -highlight.color=#5294e2 -inactive.highlight.color=#5294e2 -text.color=#000000c8 -window.text.color=#000000c8 -button.text.color=#000000c8 -disabled.text.color=#00000073 -tooltip.text.color=#eefcff -highlight.text.color=white -link.color=#0057AE -link.visited.color=#452886 -progress.indicator.text.color=white - -[Hacks] -transparent_ktitle_label=true -transparent_dolphin_view=false -transparent_pcmanfm_sidepane=true -blur_translucent=false -transparent_menutitle=true -respect_darkness=false -force_size_grip=true -iconless_pushbutton=true -iconless_menu=false -disabled_icon_opacity=100 -lxqtmainmenu_iconsize=22 -normal_default_pushbutton=true -single_top_toolbar=true -tint_on_mouseover=0 -transparent_pcmanfm_view=false - -[PanelButtonCommand] -frame=true -frame.element=button -frame.top=3 -frame.bottom=3 -frame.left=3 -frame.right=3 -interior=true -interior.element=button -indicator.size=9 -text.normal.color=#000000c8 -text.focus.color=black -text.press.color=white -text.toggle.color=white -text.shadow=0 -text.margin=1 -text.iconspacing=4 -indicator.element=arrow -text.margin.top=2 -text.margin.bottom=2 -text.margin.left=2 -text.margin.right=2 -min_width=+0.3font -min_height=+0.3font -frame.expansion=6 - -[PanelButtonTool] -inherits=PanelButtonCommand - -[Dock] -inherits=PanelButtonCommand -interior.element=dock -frame.element=dock -frame.top=1 -frame.bottom=1 -frame.left=1 -frame.right=1 -text.normal.color=#000000c8 - -[DockTitle] -inherits=PanelButtonCommand -frame=false -interior=false -text.normal.color=#00000096 -text.focus.color=black -text.bold=true - -[IndicatorSpinBox] -inherits=PanelButtonCommand -frame=true -interior=true -frame.left=1 -indicator.element=spin -indicator.size=10 -text.normal.color=#000000c8 - -[RadioButton] -inherits=PanelButtonCommand -frame=false -interior.element=radio -text.normal.color=#000000c8 -text.focus.color=black - -[CheckBox] -inherits=PanelButtonCommand -frame=false -interior.element=checkbox -text.normal.color=#000000c8 -text.focus.color=black - -[Focus] -inherits=PanelButtonCommand -frame=true -frame.element=focus -frame.top=1 -frame.bottom=1 -frame.left=1 -frame.right=1 -frame.patternsize=20 - -[GenericFrame] -inherits=PanelButtonCommand -frame=true -interior=false -frame.element=common -interior.element=common -frame.top=3 -frame.bottom=3 -frame.left=3 -frame.right=3 - -[LineEdit] -inherits=PanelButtonCommand -frame.element=lineedit -interior.element=lineedit -text.margin.left=1 -text.margin.right=1 - -[DropDownButton] -inherits=PanelButtonCommand -indicator.element=arrow-down - -[IndicatorArrow] -indicator.element=arrow -indicator.size=9 - -[ToolboxTab] -inherits=PanelButtonCommand -text.normal.color=#000000c8 -text.press.color=#00000096 -text.focus.color=black - -[Tab] -inherits=PanelButtonCommand -interior.element=tab -text.margin.left=8 -text.margin.right=8 -text.margin.top=2 -text.margin.bottom=2 -frame.element=tab -indicator.element=tab -frame.top=4 -frame.bottom=4 -frame.left=4 -frame.right=4 -text.normal.color=#0000007d -text.focus.color=#000000b4 -text.toggle.color=#000000c8 -frame.expansion=0 - -[TabFrame] -inherits=PanelButtonCommand -frame.element=tabframe -interior.element=tabframe -frame.top=4 -frame.bottom=4 -frame.left=4 -frame.right=4 - -[TreeExpander] -inherits=PanelButtonCommand -indicator.size=12 -indicator.element=tree - -[HeaderSection] -inherits=PanelButtonCommand -interior.element=header -frame.element=header -frame.top=3 -frame.bottom=3 -frame.left=1 -frame.right=1 -text.bold=true -text.normal.color=#00000096 -text.focus.color=#4c85cb -text.toggle.color=black -indicator.element=harrow -frame.expansion=0 - -[SizeGrip] -indicator.element=resize-grip - -[Toolbar] -inherits=PanelButtonCommand -indicator.element=toolbar -indicator.size=5 -text.margin=0 -frame=false -interior.element=menubar -frame.element=menubar -text.normal.color=#000000c8 -text.focus.color=black -frame.bottom=0 -frame.expansion=0 - -[Slider] -inherits=PanelButtonCommand -frame.element=slider -interior.element=slider -frame.top=3 -frame.bottom=3 -frame.left=3 -frame.right=3 - -[SliderCursor] -inherits=PanelButtonCommand -frame=false -interior.element=slidercursor - -[Progressbar] -inherits=PanelButtonCommand -frame.element=progress -interior.element=progress -text.margin=0 -text.normal.color=#000000c8 -text.focus.color=black -text.press.color=black -text.toggle.color=black -text.bold=false -frame.expansion=8 - -[ProgressbarContents] -inherits=PanelButtonCommand -frame=true -frame.element=progress-pattern -interior.element=progress-pattern - -[ItemView] -inherits=PanelButtonCommand -text.margin=0 -frame.element=itemview -interior.element=itemview -frame.top=2 -frame.bottom=2 -frame.left=2 -frame.right=2 -text.margin.top=2 -text.margin.bottom=2 -text.margin.left=4 -text.margin.right=4 -text.normal.color=#000000c8 -text.focus.color=black -text.press.color=white -text.toggle.color=white -frame.expansion=0 - -[Splitter] -indicator.size=48 - -[Scrollbar] -inherits=PanelButtonCommand -indicator.element=arrow -indicator.size=10 - -[ScrollbarSlider] -inherits=PanelButtonCommand -frame.element=scrollbarslider -interior=false -frame.left=6 -frame.right=6 -frame.top=6 -frame.bottom=6 -indicator.element=grip -indicator.size=13 -frame.expansion=48 - -[ScrollbarGroove] -inherits=PanelButtonCommand -interior=false -frame=false - -[MenuItem] -inherits=PanelButtonCommand -frame=true -frame.element=menuitem -interior.element=menuitem -indicator.element=menuitem -text.normal.color=#000000c8 -text.focus.color=white -text.margin.top=1 -text.margin.bottom=1 -text.margin.left=15 -text.margin.right=5 -frame.top=3 -frame.bottom=3 -frame.left=3 -frame.right=3 -frame.expansion=0 - -[MenuBar] -inherits=PanelButtonCommand -frame.element=menubar -interior.element=menubar -frame.bottom=0 -frame.expansion=0 - -[MenuBarItem] -inherits=PanelButtonCommand -interior=true -interior.element=menubaritem -frame.element=menubaritem -frame.top=2 -frame.bottom=2 -frame.left=2 -frame.right=2 -text.margin.left=4 -text.margin.right=4 -text.margin.top=0 -text.margin.bottom=0 -text.normal.color=#000000b4 -text.focus.color=white -frame.expansion=0 - -[TitleBar] -inherits=PanelButtonCommand -frame=false -interior.element=titlebar -indicator.size=12 -indicator.element=mdi -text.normal.color=#787878 -text.focus.color=black -text.bold=true -text.italic=true -frame.expansion=0 - -[ComboBox] -inherits=PanelButtonCommand -interior.element=combo -frame.element=combo -text.press.color=#000000c8 -indicator.element=carrow - -[Menu] -inherits=PanelButtonCommand -frame.top=1 -frame.bottom=1 -frame.left=1 -frame.right=1 -frame.element=menu -interior.element=menu -text.normal.color=#000000c8 -text.shadow=false -frame.expansion=0 - -[GroupBox] -inherits=GenericFrame -frame=false -text.shadow=0 -text.margin=0 -text.normal.color=#00000096 -text.focus.color=black -text.bold=true -frame.expansion=0 - -[TabBarFrame] -inherits=GenericFrame -frame=true -frame.element=tabBarFrame -interior=false -frame.top=4 -frame.bottom=4 -frame.left=4 -frame.right=4 - -[ToolTip] -inherits=GenericFrame -frame.top=3 -frame.bottom=3 -frame.left=3 -frame.right=3 -interior=true -text.shadow=0 -text.margin=0 -interior.element=tooltip -frame.element=tooltip -frame.expansion=0 - -[StatusBar] -inherits=GenericFrame -frame=false -interior=false - -[Window] -interior=true -interior.element=window diff --git a/general/configs/Kvantum/KvArc/KvArc.svg b/general/configs/Kvantum/KvArc/KvArc.svg deleted file mode 100644 index 854239c..0000000 --- a/general/configs/Kvantum/KvArc/KvArc.svg +++ /dev/null @@ -1,1042 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/general/configs/Kvantum/KvMojave#/KvMojave#.kvconfig b/general/configs/Kvantum/KvMojave#/KvMojave#.kvconfig deleted file mode 100644 index 609e9f0..0000000 --- a/general/configs/Kvantum/KvMojave#/KvMojave#.kvconfig +++ /dev/null @@ -1,546 +0,0 @@ -[%General] -author=Tsu Jan -comment=A dark theme with translucency similar to the style of macOS Mojave -x11drag=all -alt_mnemonic=true -left_tabs=false -attach_active_tab=false -embedded_tabs=true -mirror_doc_tabs=false -group_toolbar_buttons=true -spread_progressbar=true -composite=true -menu_shadow_depth=7 -menu_blur_radius=2 -spread_menuitems=true -tooltip_shadow_depth=6 -scroll_width=12 -scroll_arrows=false -scroll_min_extent=50 -transient_scrollbar=true -slider_width=6 -slider_handle_width=16 -slider_handle_length=16 -center_toolbar_handle=true -check_size=18 -textless_progressbar=false -progressbar_thickness=6 -menubar_mouse_tracking=true -toolbutton_style=0 -click_behavior=0 -translucent_windows=false -blurring=false -popup_blurring=false -opaque=kaffeine,kmplayer,subtitlecomposer,kdenlive,vlc,smplayer,smplayer2,avidemux,avidemux2_qt4,avidemux3_qt4,avidemux3_qt5,kamoso,QtCreator,VirtualBox,VirtualBoxVM,trojita,dragon,digikam,lyx -vertical_spin_indicators=false -fill_rubberband=false -merge_menubar_with_toolbar=true -small_icon_size=16 -large_icon_size=32 -button_icon_size=16 -toolbar_interior_spacing=2 -toolbar_icon_size=16 -combo_as_lineedit=true -combo_menu=true -combo_focus_rect=true -groupbox_top_label=false -inline_spin_indicators=true -joined_inactive_tabs=true -remove_extra_frames=true -layout_spacing=3 -submenu_overlap=0 -tooltip_delay=-1 -animate_states=true -dark_titlebar=true -hide_combo_checkboxes=false -layout_margin=4 -no_window_pattern=false -reduce_window_opacity=0 -respect_DE=true -scrollbar_in_view=false -spin_button_width=16 -submenu_delay=250 -transient_groove=false -tree_branch_line=false -no_inactiveness=false -reduce_menu_opacity=0 -contrast=1.00 -dialog_button_layout=0 -drag_from_buttons=false -intensity=1.00 -saturation=1.00 -scrollable_menu=true -shadowless_popup=false -tooltip_blur_radius=0 - -[GeneralColors] -window.color=#302f2e -inactive.window.color=#2c2b2a -base.color=#242424cc -inactive.base.color=#1f1f1fcc -alt.base.color=#2d2d2d -inactive.alt.base.color=#282828 -button.color=#3e3e3e -light.color=#5a5a5a -mid.light.color=#555555 -dark.color=#171717 -mid.color=#3c3c3c -highlight.color=#c3c3c6 -inactive.highlight.color=#adadaf -tooltip.base.color=#313237 -text.color=#fafafa -inactive.text.color=#e1e1e1 -window.text.color=#fafafa -inactive.window.text.color=#e1e1e1 -button.text.color=#f5f5f5 -disabled.text.color=#A0A0A0 -tooltip.text.color=#fafafa -highlight.text.color=black -inactive.highlight.text.color=#141414 -link.color=#2EB8E6 -link.visited.color=#FF6666 - -[Hacks] -transparent_ktitle_label=true -transparent_dolphin_view=true -transparent_pcmanfm_sidepane=true -blur_translucent=true -transparent_menutitle=false -respect_darkness=true -force_size_grip=true -iconless_pushbutton=false -iconless_menu=false -disabled_icon_opacity=100 -lxqtmainmenu_iconsize=22 -normal_default_pushbutton=false -single_top_toolbar=false -tint_on_mouseover=0 -middle_click_scroll=false -no_selection_tint=true -transparent_pcmanfm_view=true -transparent_arrow_button=true -blur_only_active_window=false -centered_forms=false -kinetic_scrolling=false -noninteger_translucency=false -style_vertical_toolbars=false - -[PanelButtonCommand] -frame=true -frame.element=button -frame.top=3 -frame.bottom=3 -frame.left=3 -frame.right=3 -interior=true -interior.element=button -indicator.size=11 -text.normal.color=#fdfdfd -text.focus.color=white -text.press.color=#fdfdfd -text.toggle.color=#fdfdfd -text.normal.inactive.color=#ebebeb -text.toggle.inactive.color=#ebebeb -text.shadow=true -text.shadow.color=black -text.shadow.xshift=1 -text.shadow.yshift=1 -text.shadow.depth=1 -text.shadow.alpha=80 -text.margin=1 -text.iconspacing=4 -indicator.element=arrow -text.margin.top=2 -text.margin.bottom=2 -text.margin.left=4 -text.margin.right=4 -frame.expansion=12 -min_width=+4 - -[PanelButtonTool] -inherits=PanelButtonCommand - -[ToolbarButton] -inherits=PanelButtonCommand -frame.element=tbutton -interior.element=tbutton -text.press.color=black -text.toggle.color=black -text.toggle.inactive.color=#191919 -indicator.element=tarrow - -[ToolbarLineEdit] -frame.element=tlineedit -interior.element=tlineedit -indicator.element=carrow - -[Dock] -inherits=PanelButtonCommand -interior.element=dock -frame.element=dock -frame.top=1 -frame.bottom=1 -frame.left=1 -frame.right=1 -indicator.element=dock - -[DockTitle] -inherits=PanelButtonCommand -frame=false -interior=false -text.normal.color=#fafafa -text.focus.color=#fafafa -text.normal.inactive.color=#e1e1e1 -text.bold=true - -[IndicatorSpinBox] -inherits=PanelButtonCommand -indicator.element=arrow -frame.top=3 -frame.bottom=3 -frame.left=3 -frame.right=3 -indicator.size=11 -text.normal.color=#fafafa - -[RadioButton] -inherits=PanelButtonCommand -frame=false -interior.element=radio -text.normal.color=#fafafa -text.focus.color=#9bccff -text.press.color=#fdfdfd -text.toggle.color=#fafafa -text.normal.inactive.color=#e1e1e1 -text.toggle.inactive.color=#e1e1e1 - -[CheckBox] -inherits=PanelButtonCommand -frame=false -interior.element=checkbox -text.normal.color=#fafafa -text.focus.color=#9bccff -text.press.color=#fdfdfd -text.toggle.color=#fafafa -text.normal.inactive.color=#e1e1e1 -text.toggle.inactive.color=#e1e1e1 - -[GenericFrame] -inherits=PanelButtonCommand -frame=true -interior=false -frame.element=common -interior.element=common -frame.top=3 -frame.bottom=3 -frame.left=3 -frame.right=3 - -[LineEdit] -inherits=PanelButtonCommand -frame.element=le -interior.element=le -frame.expandedElement=lineedit -interior.expandedElement=lineedit -text.margin.left=2 -text.margin.right=2 -text.margin.top=2 -text.margin.bottom=2 -indicator.element=larrow - -[DropDownButton] -inherits=PanelButtonCommand -indicator.element=arrow-down - -[IndicatorArrow] -indicator.element=arrow -indicator.size=11 - -[ToolboxTab] -inherits=PanelButtonCommand -text.normal.color=#fafafa -text.press.color=#fafafa -text.focus.color=#9bccff -text.normal.inactive.color=#e1e1e1 -text.press.inactive.color=#e1e1e1 -text.boldness=2 - -[Tab] -inherits=PanelButtonCommand -interior.element=button -text.margin.left=6 -text.margin.right=6 -text.margin.top=2 -text.margin.bottom=2 -frame.element=button -focusFrame=true -indicator.element=tab -indicator.size=14 -text.normal.color=#fafafa -text.focus.color=#fafafa -text.toggle.color=#fafafa -text.normal.inactive.color=#e1e1e1 -text.toggle.inactive.color=#e1e1e1 -text.bold=true -text.boldness=2 -min_width=+0.2font - -[TabFrame] -inherits=PanelButtonCommand -frame=true -frame.element=tframe -frame.top=4 -frame.bottom=4 -frame.left=4 -frame.right=4 -interior=true -interior.element=tframe - -[TreeExpander] -inherits=PanelButtonCommand -frame=false -interior=false -indicator.size=12 -indicator.element=arrow - -[HeaderSection] -inherits=PanelButtonCommand -frame.top=2 -frame.bottom=2 -frame.left=2 -frame.right=2 -text.margin.top=2 -text.margin.bottom=2 -text.margin.left=2 -text.margin.right=2 - -[SizeGrip] -indicator.element=resize-grip - -[Toolbar] -inherits=PanelButtonCommand -indicator.element=toolbar -indicator.size=5 -text.margin=0 -interior.element=menubar -frame.element=menubar -text.normal.color=#fafafa -text.focus.color=#fafafa -text.normal.inactive.color=#e1e1e1 -frame.top=0 -frame.bottom=3 -frame.expansion=0 - -[Slider] -inherits=PanelButtonCommand -frame.element=slider -interior.element=slider -frame.top=3 -frame.bottom=3 -frame.left=3 -frame.right=3 -focusFrame=true - -[SliderCursor] -inherits=PanelButtonCommand -frame=false -interior.element=slidercursor - -[Progressbar] -inherits=PanelButtonCommand -frame.element=progress -frame.top=3 -frame.bottom=3 -frame.left=3 -frame.right=3 -interior.element=progress -text.margin=0 -text.normal.color=#fafafa -text.focus.color=#fafafa -text.press.color=#fafafa -text.toggle.color=#fafafa -text.normal.inactive.color=#e1e1e1 -text.toggle.inactive.color=#e1e1e1 -text.bold=true - -[ProgressbarContents] -inherits=PanelButtonCommand -frame=true -frame.element=progress-pattern -frame.top=3 -frame.bottom=3 -frame.left=3 -frame.right=3 -interior.element=progress-pattern - -[ItemView] -inherits=PanelButtonCommand -text.margin=true -frame.element=itemview -interior.element=itemview -frame.top=2 -frame.bottom=2 -frame.left=2 -frame.right=2 -text.margin.top=0 -text.margin.bottom=0 -text.margin.left=2 -text.margin.right=2 -text.normal.color=#fafafa -text.focus.color=#fafafa -text.press.color=black -text.toggle.color=black -text.normal.inactive.color=#e1e1e1 -text.toggle.inactive.color=#191919 -frame.expansion=0 - -[Splitter] -indicator.size=32 - -[Scrollbar] -inherits=PanelButtonCommand -indicator.element=arrow -indicator.size=11 - -[ScrollbarSlider] -inherits=PanelButtonCommand -frame.element=scrollbarslider -interior=false -frame.left=6 -frame.right=6 -frame.top=6 -frame.bottom=6 -indicator.element=grip -indicator.size=13 -frame.expansion=0 - -[ScrollbarGroove] -inherits=PanelButtonCommand -interior=false -frame=false - -[MenuItem] -inherits=PanelButtonCommand -frame=true -frame.element=menuitem -interior.element=menuitem -indicator.element=menuitem -text.normal.color=#fafafa -text.focus.color=white -text.margin.top=0 -text.margin.bottom=0 -text.margin.left=2 -text.margin.right=2 -frame.top=3 -frame.bottom=3 -frame.left=6 -frame.right=6 -text.shadow.alpha=80 -frame.expansion=0 - -[MenuBar] -inherits=PanelButtonCommand -frame.element=menubar -interior.element=menubar -frame.expansion=0 - -[MenuBarItem] -inherits=PanelButtonCommand -interior=true -frame=false -interior.element=menubaritem -frame.element=menubaritem -frame.top=3 -frame.bottom=2 -frame.left=2 -frame.right=2 -text.margin.left=4 -text.margin.right=4 -text.margin.top=3 -text.margin.bottom=3 -text.normal.color=#fafafa -text.focus.color=#fafafa -text.normal.inactive.color=#e1e1e1 -text.shadow=false -frame.expansion=0 - -[TitleBar] -inherits=PanelButtonCommand -frame=false -interior.element=titlebar -indicator.size=12 -indicator.element=mdi -text.normal.color=#969696 -text.focus.color=#fafafa -text.bold=true -text.italic=true -frame.expansion=0 - -[ComboBox] -inherits=PanelButtonCommand -indicator.element=carrow - -[Menu] -inherits=PanelButtonCommand -frame.top=3 -frame.bottom=3 -frame.left=3 -frame.right=3 -frame.element=menu -interior.element=menu -text.normal.color=#fafafa -frame.expansion=0 - -[GroupBox] -inherits=GenericFrame -frame=true -frame.element=group -text.shadow=0 -text.margin=0 -frame.top=4 -frame.bottom=4 -frame.left=4 -frame.right=4 -text.normal.color=#fafafa -text.press.color=#fafafa -text.focus.color=#9bccff -text.normal.inactive.color=#e1e1e1 -text.toggle.inactive.color=#e1e1e1 -text.bold=true -text.boldness=2 -frame.expansion=0 - -[TabBarFrame] -inherits=GenericFrame -frame=false -interior=false -text.shadow=0 - -[ToolTip] -inherits=GenericFrame -frame.top=6 -frame.bottom=6 -frame.left=6 -frame.right=6 -interior=true -text.shadow=0 -text.margin=0 -interior.element=tooltip -frame.element=tooltip -frame.expansion=0 - -[StatusBar] -inherits=GenericFrame -frame=false -interior=false - -[Window] -interior=true -interior.element=window - -[Dialog] -interior=true -interior.element=dialog - -[Focus] -frame=true diff --git a/general/configs/Kvantum/KvSimplicity/KvSimplicity.kvconfig b/general/configs/Kvantum/KvSimplicity/KvSimplicity.kvconfig deleted file mode 100644 index 3928a29..0000000 --- a/general/configs/Kvantum/KvSimplicity/KvSimplicity.kvconfig +++ /dev/null @@ -1,425 +0,0 @@ -[%General] -author=Tsu Jan -comment=A light theme with an emphasis on elegant simplicity -x11drag=true -alt_mnemonic=true -left_tabs=false -attach_active_tab=false -embedded_tabs=true -mirror_doc_tabs=false -group_toolbar_buttons=true -spread_progressbar=true -composite=true -menu_shadow_depth=7 -menu_blur_radius=2 -spread_menuitems=true -tooltip_shadow_depth=6 -tooltip_blur_radius=2 -scroll_width=12 -scroll_arrows=false -scroll_min_extent=50 -transient_scrollbar=true -transient_groove=true -slider_width=6 -slider_handle_width=18 -slider_handle_length=18 -center_toolbar_handle=true -check_size=16 -textless_progressbar=false -progressbar_thickness=8 -menubar_mouse_tracking=true -toolbutton_style=0 -click_behavior=0 -translucent_windows=false -blurring=false -popup_blurring=true -opaque=kaffeine,kmplayer,subtitlecomposer,kdenlive,vlc,smplayer,smplayer2,avidemux,avidemux2_qt4,avidemux3_qt4,avidemux3_qt5,kamoso,QtCreator,VirtualBox,VirtualBoxVM,trojita,dragon,digikam,lyx -vertical_spin_indicators=false -fill_rubberband=false -merge_menubar_with_toolbar=true -small_icon_size=16 -large_icon_size=32 -button_icon_size=16 -toolbar_icon_size=16 -combo_as_lineedit=true -combo_menu=true -combo_focus_rect=true -inline_spin_indicators=true -remove_extra_frames=true -animate_states=true - -[GeneralColors] -window.color=#F0F0F0 -base.color=#FAFAFA -alt.base.color=#F0F0F0 -button.color=#F0F0F0 -light.color=white -mid.light.color=#ECECEC -dark.color=#B4B4B4 -mid.color=#D9D9D9 -highlight.color=#3176bf -inactive.highlight.color=#828282 -text.color=black -window.text.color=black -button.text.color=black -disabled.text.color=#00000073 -tooltip.text.color=white -highlight.text.color=white -link.color=#0057AE -link.visited.color=#452886 -progress.indicator.text.color=white - -[Hacks] -transparent_ktitle_label=true -transparent_dolphin_view=false -transparent_pcmanfm_sidepane=true -blur_translucent=true -transparent_menutitle=true -respect_darkness=false -force_size_grip=true -iconless_pushbutton=false -iconless_menu=false -transparent_arrow_button=true -lxqtmainmenu_iconsize=22 -single_top_toolbar=true -no_selection_tint=true - -[PanelButtonCommand] -frame=true -frame.element=button -frame.top=3 -frame.bottom=3 -frame.left=3 -frame.right=3 -interior=true -interior.element=button -indicator.size=10 -text.normal.color=black -text.focus.color=#0052aa -text.press.color=black -text.toggle.color=white -text.shadow=0 -text.margin=1 -text.iconspacing=4 -indicator.element=arrow -text.margin.top=2 -text.margin.bottom=2 -text.margin.left=3 -text.margin.right=3 -frame.expansion=10 - -[PanelButtonTool] -inherits=PanelButtonCommand - -[Dock] -inherits=PanelButtonCommand -interior.element=dock -frame.element=dock -frame.top=1 -frame.bottom=1 -frame.left=1 -frame.right=1 -text.normal.color=black - -[DockTitle] -inherits=PanelButtonCommand -frame=false -interior=false -text.normal.color=black -text.focus.color=#0052aa -text.bold=true - -[IndicatorSpinBox] -inherits=PanelButtonCommand -indicator.element=arrow -frame.top=3 -frame.bottom=3 -frame.left=3 -frame.right=3 -indicator.size=10 -text.normal.color=black - -[RadioButton] -inherits=PanelButtonCommand -frame=false -interior.element=radio -text.normal.color=black -text.focus.color=#0052aa - -[CheckBox] -inherits=PanelButtonCommand -frame=false -interior.element=checkbox -text.normal.color=black -text.focus.color=#0052aa - -[GenericFrame] -inherits=PanelButtonCommand -frame=true -interior=false -frame.element=common -interior.element=common -frame.top=4 -frame.bottom=4 -frame.left=4 -frame.right=4 - -[LineEdit] -inherits=PanelButtonCommand -frame.element=lineedit -interior.element=lineedit -text.margin.left=1 -text.margin.right=1 - -[DropDownButton] -inherits=PanelButtonCommand -indicator.element=arrow-down - -[IndicatorArrow] -indicator.element=arrow -indicator.size=10 - -[ToolboxTab] -inherits=PanelButtonCommand -text.normal.color=black -text.press.color=black -text.focus.color=#0052aa - -[Tab] -inherits=PanelButtonCommand -interior.element=button -text.margin.left=6 -text.margin.right=6 -text.margin.top=3 -text.margin.bottom=3 -frame.element=button -focusFrame=true -indicator.element=tab -indicator.size=12 -text.normal.color=black -text.focus.color=#0052aa -min_width=4font -min_height=1.4font - -[TabFrame] -inherits=PanelButtonCommand -frame.element=tabframe -interior=false -frame.top=4 -frame.bottom=4 -frame.left=4 -frame.right=4 - -[TreeExpander] -inherits=PanelButtonCommand -frame=false -interior=false -indicator.size=10 -indicator.element=arrow - -[HeaderSection] -inherits=PanelButtonCommand - -[SizeGrip] -indicator.element=resize-grip - -[Toolbar] -inherits=PanelButtonCommand -indicator.element=toolbar -indicator.size=5 -text.margin=0 -interior.element=menubar -frame.element=menubar -text.normal.color=black -text.focus.color=#0052aa -frame.top=0 -frame.bottom=5 -frame.expansion=0 - -[Slider] -inherits=PanelButtonCommand -frame.element=slider -interior.element=slider -frame.top=3 -frame.bottom=3 -frame.left=3 -frame.right=3 - -[SliderCursor] -inherits=PanelButtonCommand -frame=false -interior.element=slidercursor - -[Progressbar] -inherits=PanelButtonCommand -frame.element=progress -frame.expandedElement=eprogress -interior.element=progress -text.margin=0 -text.normal.color=black -text.focus.color=black -text.press.color=black -text.toggle.color=black -text.bold=true -frame.expansion=10 - -[ProgressbarContents] -inherits=PanelButtonCommand -frame=true -frame.element=progress-pattern -frame.expandedElement=eprogress-pattern -interior.element=progress-pattern - -[ItemView] -inherits=PanelButtonCommand -text.margin=true -frame.element=itemview -interior.element=itemview -frame.top=2 -frame.bottom=2 -frame.left=2 -frame.right=2 -text.margin.top=0 -text.margin.bottom=0 -text.margin.left=2 -text.margin.right=2 -text.normal.color=black -text.focus.color=#0052aa -text.press.color=white -text.toggle.color=white -frame.expansion=6 - -[Splitter] -indicator.size=32 - -[Scrollbar] -inherits=PanelButtonCommand -indicator.element=arrow -indicator.size=10 - -[ScrollbarSlider] -inherits=PanelButtonCommand -frame.element=scrollbarslider -interior=false -frame.left=6 -frame.right=6 -frame.top=6 -frame.bottom=6 -indicator.element=grip -indicator.size=13 -frame.expansion=0 - -[ScrollbarGroove] -inherits=PanelButtonCommand -interior=false -frame=false - -[MenuItem] -inherits=PanelButtonCommand -frame=true -frame.element=menuitem -interior.element=menuitem -indicator.element=menuitem -text.normal.color=black -text.focus.color=white -text.margin.top=0 -text.margin.bottom=0 -text.margin.left=3 -text.margin.right=3 -frame.top=3 -frame.bottom=3 -frame.left=3 -frame.right=3 -frame.expansion=0 - -[MenuBar] -inherits=PanelButtonCommand -frame.element=none -interior.element=none -frame.expansion=0 - -[MenuBarItem] -inherits=PanelButtonCommand -interior=false -frame.element=menubaritem -frame.top=0 -frame.bottom=2 -frame.left=2 -frame.right=2 -text.margin.left=1 -text.margin.right=4 -text.margin.top=2 -text.normal.color=black -text.focus.color=#0052aa -frame.expansion=0 - -[TitleBar] -inherits=PanelButtonCommand -frame=false -interior.element=titlebar -indicator.size=12 -indicator.element=mdi -text.normal.color=#787878 -text.focus.color=black -text.bold=true -text.italic=true -frame.expansion=0 - -[ComboBox] -inherits=PanelButtonCommand - -[Menu] -inherits=PanelButtonCommand -frame.top=3 -frame.bottom=3 -frame.left=3 -frame.right=3 -frame.element=menu -interior.element=menu -text.normal.color=black -frame.expansion=0 - -[GroupBox] -inherits=GenericFrame -frame=true -frame.element=group -text.shadow=0 -text.margin=0 -frame.top=4 -frame.bottom=4 -frame.left=4 -frame.right=4 -text.normal.color=black -text.press.color=black -text.focus.color=#0052aa -text.bold=true -frame.expansion=0 - -[TabBarFrame] -inherits=GenericFrame -frame=false -interior=false -text.shadow=0 - -[ToolTip] -inherits=GenericFrame -frame.top=3 -frame.bottom=3 -frame.left=3 -frame.right=3 -interior=true -text.shadow=0 -text.margin=0 -interior.element=tooltip -frame.element=tooltip -frame.expansion=0 - -[StatusBar] -inherits=GenericFrame -frame=false -interior=false - -[Window] -interior=true -interior.element=window -min_height=16font diff --git a/general/configs/Kvantum/KvSimplicity/KvSimplicity.svg b/general/configs/Kvantum/KvSimplicity/KvSimplicity.svg deleted file mode 100644 index ac81cb8..0000000 --- a/general/configs/Kvantum/KvSimplicity/KvSimplicity.svg +++ /dev/null @@ -1,978 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/general/configs/Kvantum/kvantum.kvconfig b/general/configs/Kvantum/kvantum.kvconfig deleted file mode 100644 index 48b2498..0000000 --- a/general/configs/Kvantum/kvantum.kvconfig +++ /dev/null @@ -1,2 +0,0 @@ -[General] -theme=KvAdaptaDark diff --git a/general/configs/VSCodium/User/keybindings.json b/general/configs/VSCodium/User/keybindings.json deleted file mode 100755 index 23ca3db..0000000 --- a/general/configs/VSCodium/User/keybindings.json +++ /dev/null @@ -1 +0,0 @@ -// Empty \ No newline at end of file diff --git a/general/configs/VSCodium/User/settings.json b/general/configs/VSCodium/User/settings.json deleted file mode 100644 index b859cb5..0000000 --- a/general/configs/VSCodium/User/settings.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "workbench.colorTheme": "Community Material Theme Darker High Contrast", - "workbench.iconTheme": "eq-material-theme-icons-darker", - "editor.fontFamily": "Source Code Pro, FluentSystemIcons-Regular", - "python.languageServer": "Jedi", - "python.devOptions": ["DEBUG_ON_STARTUP"], - "python.analysis.logLevel": "Trace", - "git.enableSmartCommit": true, - "git.autofetch": true, - "ltex.language": "en-GB", - "[latex]": { - "editor.defaultFormatter": "James-Yu.latex-workshop" - }, - "latex-workshop.latex.tools": [ - { - "name": "latexmk", - "command": "latexmk", - "args": [ - "-synctex=1", - "-interaction=nonstopmode", - "-file-line-error", - "--shell-escape", - "-pdf", - "%DOC%" - ] - }, - { - "name": "pdflatex", - "command": "pdflatex", - "args": [ - "--shell-escape", - "-synctex=1", - "-interaction=nonstopmode", - "-file-line-error", - "%DOC%" - ] - }, - { - "name": "bibtex", - "command": "bibtex", - "args": [ - "%DOCFILE%" - ], - "env": {} - } - ], - "[vue]": { - "editor.defaultFormatter": "Vue.volar" - }, - "redhat.telemetry.enabled": false, - "editor.defaultFormatter": "vscode.typescript-language-features", - "[html]": { - "editor.defaultFormatter": "vscode.html-language-features" - }, - "cSpell.userWords": [ - "fulfillable", - "libreǝvent", - "unsatisfiable" - ], - "[java]": { - "editor.defaultFormatter": "redhat.java" - }, - "[xml]": { - "editor.defaultFormatter": "redhat.vscode-xml" - }, - "cSpell.language": "en-GB", - "git.openRepositoryInParentFolders": "never", - "[lua]": { - "editor.defaultFormatter": "yinfei.luahelper" - }, - "diffEditor.ignoreTrimWhitespace": false, - -} \ No newline at end of file diff --git a/general/configs/VSCodium/User/snippets/docSetup.code-snippets b/general/configs/VSCodium/User/snippets/docSetup.code-snippets deleted file mode 100755 index f818959..0000000 --- a/general/configs/VSCodium/User/snippets/docSetup.code-snippets +++ /dev/null @@ -1,22 +0,0 @@ -{ - // Place your global snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and - // description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope - // is left empty or omitted, the snippet gets applied to all languages. The prefix is what is - // used to trigger the snippet and the body will be expanded and inserted. Possible variables are: - // $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. - // Placeholders with the same ids are connected. - // Example: - // "Print to console": { - // "scope": "javascript,typescript", - // "prefix": "log", - // "body": [ - // "console.log('$1');", - // "$2" - // ], - // "description": "Log output to console" - // } - "docTitle": { - "prefix": "prepareDoc", - "body": "$BLOCK_COMMENT_START\n*\t\t\t\t$WORKSPACE_NAME - $TM_FILENAME\n*\n*\tCreated by Janis Hutz $CURRENT_MONTH/$CURRENT_DATE/$CURRENT_YEAR, Licensed under ${1|the GPL V3,the MIT,a proprietary,the BSD,the LGPL V3,the Apache|} License\n*\t\t\thttps://janishutz.com, development@janishutz.com\n*\n*\n$BLOCK_COMMENT_END" - } -} \ No newline at end of file diff --git a/general/configs/VSCodium/User/snippets/html.json b/general/configs/VSCodium/User/snippets/html.json deleted file mode 100755 index adcf69c..0000000 --- a/general/configs/VSCodium/User/snippets/html.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - // Place your snippets for html here. Each snippet is defined under a snippet name and has a prefix, body and - // description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are: - // $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the - // same ids are connected. - // Example: - // "Print to console": { - // "prefix": "log", - // "body": [ - // "console.log('$1');", - // "$2" - // ], - // "description": "Log output to console" - // } - "impress": { - "prefix": "impress", - "body": [ - "", - "", - "\t\n\t\t$1\n\t\t\n\t", - "\t", - "\t\t
\n\t\t\t

Your browser doesn't support the features required by impress.js, so you are presented with a simplified version of this presentation.

\n\t\t\t

For the best experience please use the latest Chrome, Safari or Firefox browser.

\n\t\t
", - "\t\t
", - "\t\t\t
\n\t\t\t\t
", - "\t\t\t\t\t

$2

\n\t\t\t\t
", - "\t\t\t
\n\t\t
", - "\n\t\t\n\t", - "" - ] - }, - "impress-step": { - "prefix": "impressStep", - "body": [ - "\n
", - "\t
", - "\t\t

$2

\n\t
", - "
\n" - ] - }, - "html-basic": { - "prefix": "basic", - "body": [ - "", - "", - "\t\n\t\t$1\n\t\t\n\t\t\n\t\t\n\t", - "\t\n\t\t

$3

", - "\t\n" - ] - }, - "impress-notes": { - "prefix": "impressNotes", - "body": "
\n\t$1\n
" - }, - "impress-substep": { - "prefix": "impressSubstep", - "body": "
\n\t$1\n
" - } -} \ No newline at end of file diff --git a/general/configs/VSCodium/User/snippets/javascript.json b/general/configs/VSCodium/User/snippets/javascript.json deleted file mode 100755 index 4577ae3..0000000 --- a/general/configs/VSCodium/User/snippets/javascript.json +++ /dev/null @@ -1,106 +0,0 @@ -{ - // Place your snippets for javascript here. Each snippet is defined under a snippet name and has a prefix, body and - // description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are: - // $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the - // same ids are connected. - // Example: - // "Print to console": { - // "prefix": "log", - // "body": [ - // "console.log('$1');", - // "$2" - // ], - // "description": "Log output to console" - // } - "JS-Class": { - "prefix": "jsSetupClass", - "body": "class $1 { \n\tconstructor () {} \n\n \t$2 () {\n\t$3\n\t}\n}", - "description": "Setup the basic structure of a class in JS" - }, - "ExpressJS": { - "prefix": "jsExpressSetup", - "body": [ - "const express = require( 'express' );", - "let app = express();", - "const path = require( 'path' );", - "const expressSession = require( 'express-session' );", - "const fs = require( 'fs' );", - "const bodyParser = require( 'body-parser' );", - "const cookieParser = require( 'cookie-parser' )", - "const favicon = require( 'serve-favicon' );", - "\napp.use( expressSession ( {\n\tsecret: $1,\n\tresave: true,\n\tsaveUninitialized: true\n} ) );", - "app.use( bodyParser.urlencoded( { extended: false } ) );", - "app.use( bodyParser.json() );", - "app.use( cookieParser() );", - "app.use( favicon( path.join( __dirname + '$2' ) ) );\n", - "app.use( ( request, response, next ) => {\n\tresponse.sendFile( path.join( __dirname + '$3' ) ) \n} );", - "\n\napp.get( '/', ( request, response ) => {\n$4\n} );", - "\n\nconst PORT = process.env.PORT || 8080;", - "http.createServer( app ).listen( PORT );" - ] - }, - "ExpressJS-Route": { - "prefix": "jsEjsRoute", - "body": "\n\napp.get( '$1', ( request, response ) => {\n$4\n} );" - }, - "JSAsync": { - "prefix": "jsAsync", - "body": "(async () => {\n$1\n} ) ();" - }, - "JSpromiseReturnFunc": { - "prefix": "jsPromise", - "body": "function $1 () {\n\treturn new Promise( ( resolve, reject ) => {\n\t$2\n\t} );\n}" - }, - "fetch from other url": { - "prefix": "remoteURL", - "body": [ - "localStorage.getItem( 'url' ) + '/$1'", - ], - "description": "remote URL fetching (get from base address from local storage)" - }, - "fetch post": { - "prefix": "fetchPost", - "body": [ - "const fetchOptions = {", - "\tmethod: 'post',", - "\tbody: JSON.stringify( $1 ),", - "\tcredentials: 'include',", - "\theaders: {", - "\t\t'Content-Type': 'application/json',", - "\t\t'charset': 'utf-8'", - "\t}", - "};", - "fetch( $2, fetchOptions ).then( res => {", - "\tif ( res.status === 200 ) {", - "\t\tres.json().then( json => {", - "\t\t\t$3", - "\t\t} );", - "\t}", - "} );", - "$4" - ], - "description": "POST request using fetch" - }, - "fetch get": { - "prefix": "fetchGet", - "body": [ - "fetch( $2, { credentials: 'include' } ).then( res => {", - "\tif ( res.status === 200 ) {", - "\t\tres.json().then( json => {", - "\t\t\t$3", - "\t\t} );", - "\t}", - "} );", - "$4" - ], - "description": "POST request using fetch" - }, - "promise": { - "prefix": "promise", - "body": [ - "return new Promise( ( resolve, reject ) => {", - "\t", - "} );" - ] - } -} \ No newline at end of file diff --git a/general/configs/VSCodium/User/snippets/latex.json b/general/configs/VSCodium/User/snippets/latex.json deleted file mode 100644 index 772352b..0000000 --- a/general/configs/VSCodium/User/snippets/latex.json +++ /dev/null @@ -1,361 +0,0 @@ -{ - // Place your snippets for latex here. Each snippet is defined under a snippet name and has a prefix, body and - // description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are: - // $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the - // same ids are connected. - // Example: - // "Print to console": { - // "prefix": "log", - // "body": [ - // "console.log('$1');", - // "$2" - // ], - // "description": "Log output to console" - // } - // Place your snippets for tex here. Each snippet is defined under a snippet name and has a prefix, body and - // description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are: - // $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the - // same ids are connected. - // Example: - // "Print to console": { - // "prefix": "log", - // "body": [ - // "console.log('$1');", - // "$2" - // ], - // "description": "Log output to console" - // } - "Formula (old)": { - "prefix": "formulaBare", - "body": [ - "\\begin{tcolorbox}[colback=red!5!white,colframe=red!75!black,title=Formula: $1]", - "\t$2", - "\\end{tcolorbox}", - ], - "description": "Red tcolorbox to provide a formula (without the default setup)" - }, - "Prepare Latex doc (old)": { - "prefix": "LaTeX-Prepare-Old", - "body": [ - "\\documentclass{article}\n", - "% Imports %", - "\\usepackage{amsmath}", - "\\usepackage{graphicx}", - "\\usepackage{subcaption}", - "\\usepackage[export]{adjustbox}", - "\\usepackage{tcolorbox}", - "\\usepackage{xcolor}", - "\\usepackage{cancel}", - "\\usepackage{dsfont}", - "\\usepackage{amssymb}", - "\\usepackage[a4paper]{geometry}", - "\\usepackage{parskip}\n", - "% Setup %", - "\\title{\\Huge \\textbf{$1}}", - "\\author{Janis Hutz}\n", - "% Configuring %", - "\\addtolength{\\oddsidemargin}{-0.75in}", - "\\addtolength{\\textwidth}{1.5in}", - "\\addtolength{\\evensidemargin}{-0.75in}", - "\\addtolength{\\topmargin}{-1in}", - "\\addtolength{\\textheight}{2in}\n", - "% Main doc %", - "\\begin{document}", - "\\maketitle", - "$2", - "\\end{document}", - ], - "description": "Prepare a LaTeX Document with all relevant imports" - }, - "prepare LaTeX Document (New)": { - "prefix": "latex-prepare", - "body": [ - "\\documentclass{article}\n", - "\\input{~/projects/generalSchool/helpers.tex}\n", - "\\setup{$1}\n", - "\\begin{document}", - "\\maketitle", - "\\pagestyle{fancy}", - "\\thispagestyle{fancy}\n\n", - "$2\n\n", - "\\end{document}" - ], - "description": "Prepares a full LaTeX Document for use and compiling" - }, - "Fancy table": { - "prefix": "table", - "body": [ - "\\begin{tabular}[h!]{|$1|}", - "\t\\hline", - "\t\\rowcolor{$2}\\multicolumn{$3}{|c|}{$4}\\", - "\t\\hline", - "\t$5\\\\\\", - "\t\\hline", - "\\end{tabular}" - ], - "description": "Inserts a tcolorbox to provide a formula (red)" - }, - "Formula (new)": { - "prefix": "formula", - "body": [ - "\\begin{formula}[]{$1}", - "\t$2", - "\\end{formula}" - ], - "description": "Inserts a tcolorbox to provide a formula (red)" - }, - "Definition (new)": { - "prefix": "definition", - "body": [ - "\\begin{definition}[]{$1}", - "\t$2", - "\\end{definition}" - ], - "description": "Inserts a tcolorbox to provide a definition (blue)" - }, - "Recall (new)": { - "prefix": "recall", - "body": [ - "\\begin{recall}[]{$1}", - "\t$2", - "\\end{recall}" - ], - "description": "Inserts a tcolorbox to provide a recall / revision of previous knowledge (yellow)" - }, - "Important Remarks (new)": { - "prefix": "remarks", - "body": [ - "\\begin{remarks}[]{$1}", - "\t$2", - "\\end{remarks}" - ], - "description": "Inserts a tcolorbox to provide remarks (green)" - }, - "Guides (new)": { - "prefix": "guides", - "body": [ - "\\begin{guides}[]{$1}{${2:Usage}}", - "\t$2", - "\\end{guides}" - ], - "description": "Inserts a tcolorbox to provide guides / instructions on how to use (purple)" - }, - "Properties (new)": { - "prefix": "properties", - "body": [ - "\\begin{properties}[]{$1}", - "\t$2", - "\\end{properties}" - ], - "description": "Inserts a tcolorbox to inform about properties / restrictions / limitations" - }, - "Restrictions (new)": { - "prefix": "restrictions", - "body": [ - "\\begin{restrictions}[]{$1}", - "\t$2", - "\\end{restrictions}" - ], - "description": "Inserts a tcolorbox to inform about restrictions" - }, - "Limitations (new)": { - "prefix": "limitations", - "body": [ - "\\begin{limitations}[]{$1}", - "\t$2", - "\\end{limitations}" - ], - "description": "Inserts a tcolorbox to inform about limitations" - }, - "Theorem (new)": { - "prefix": "theorem", - "body": [ - "\\begin{theorem}[]{$1}", - "\t$2", - "\\end{theorem}" - ], - "description": "Inserts a tcolorbox to inform about theorems" - }, - "Lemma (new)": { - "prefix": "lemma", - "body": [ - "\\begin{lemma}[]{$1}", - "\t$2", - "\\end{lemma}" - ], - "description": "Inserts a tcolorbox to inform about lemmas" - }, - "Corollary (new)": { - "prefix": "corollary", - "body": [ - "\\begin{corollary}[]{$1}", - "\t$2", - "\\end{corollary}" - ], - "description": "Inserts a tcolorbox to inform about corollaries" - }, - "Terms (new)": { - "prefix": "terms", - "body": [ - "\\begin{terms}[]{$1}", - "\t$2", - "\\end{terms}" - ], - "description": "Inserts a tcolorbox to inform about terms" - }, - "Proof (new)": { - "prefix": "proof", - "body": [ - "\\begin{proof}[]{$1}", - "\t$2", - "\\end{proof}" - ], - "description": "Inserts a tcolorbox to show a proof" - }, - "Axiom (new)": { - "prefix": "axiom", - "body": [ - "\\begin{axiom}[]{$1}", - "\t$2", - "\\end{axiom}" - ], - "description": "Inserts a tcolorbox to show an axiom" - }, - "Notation (new)": { - "prefix": "notation", - "body": [ - "\\begin{notation}[]{$1}", - "\t$2", - "\\end{notation}" - ], - "description": "Inserts a tcolorbox to show notation" - }, - "Example (new)": { - "prefix": "example", - "body": [ - "\\begin{example}[]{$1}", - "\t$2", - "\\end{example}" - ], - "description": "Inserts a tcolorbox to show example" - }, - "Usage (languages, new)": { - "prefix": "usage", - "body": [ - "\\begin{usage}[]{$1}", - "\t$2", - "\\end{usage}" - ], - "description": "Inserts a tcolorbox to inform about usage in a language context" - }, - "Conjugation (languages, new)": { - "prefix": "conjugation", - "body": [ - "\\begin{conjugation}[]{$1}", - "\t$2", - "\\end{conjugation}" - ], - "description": "Inserts a tcolorbox to inform about conjugation" - }, - "Forms (languages, new)": { - "prefix": "forms", - "body": [ - "\\begin{forms}[]{$1}", - "\t$2", - "\\end{forms}" - ], - "description": "Inserts a tcolorbox to inform about forms of e.g. grammatical structures" - }, - "General-Tcolorbox (new)": { - "prefix": "general-tcb", - "body": [ - "\\begin{general}[]{${1:title}}{${2:second title}}{${3|red,green,blue,cyan,magenta,yellow,black,gray,white,darkgray,lightgray,brown,lime,olive,orange,pink,purple,teal,violet|}}", - "\t$4", - "\\end{general}" - ], - "description": "Inserts a tcolorbox for general purposes. First bracket is title, second one is second title, third one colour" - }, - "Derivative": { - "prefix": "derivative", - "body": [ - "\\frac{\\mbox{d}}{\\mbox{d}x}$1" - ] - }, - "Example (inline)": { - "prefix": "example-inline", - "body": [ - "\\inlineex" - ] - }, - "bold": { - "prefix": "#bold", - "body": [ - "\\textbf{$1}" - ] - }, - "italic": { - "prefix": "#i", - "body": [ - "\\textit{$1}" - ] - }, - "bolditalic": { - "prefix": "#bi", - "body": [ - "\\textbf{\\textit{$1}}" - ] - }, - "underlinie": { - "prefix": "#u", - "body": [ - "\\underbar{$1}" - ] - }, - "algebra": { - "prefix": "algebra", - "body": [ - "\\langle $1 \\rangle" - ] - }, - "fill-width": { - "prefix": "#fill", - "body": [ - "\\hspace{\\fill}$1" - ] - }, - "Latex-Colour": { - "prefix": "colour", - "body": [ - "${1|red,green,blue,cyan,magenta,yellow,black,gray,white,darkgray,lightgray,brown,lime,olive,orange,pink,purple,teal,violet|}" - ] - }, - "Latex-Text-Colour": { - "prefix": "colour-text", - "body": [ - "\\color{${1|red,green,blue,cyan,magenta,yellow,black,gray,white,darkgray,lightgray,brown,lime,olive,orange,pink,purple,teal,violet|}}" - ] - }, - "German doc": { - "prefix": "latex-german", - "body": [ - "\\usepackage[ngerman]{babel}", - "\\setcounter{lang}{2} % Move below \\begin{document}", - ] - }, - "Letter": { - "prefix": "latex-letter", - "body": [ - "\\documentclass[12pt,a4paper]{scrlttr2}\n", - "\\input{~/projects/generalSchool/letter-helpers.tex}\n", - "% Subject", - "\\setkomavar{subject}{$1}", - "\\begin{document}\\raggedright", - "\t\\begin{letter}{Company \\\\\\ Name \\\\\\ Address \\\\\\ CH-Place}", - "\t\t\\opening{Intro}\n", - "\t\t$2\n", - "\t\t\\closing{Mit freundlichen Grüssen}", - "\t\\end{letter}", - "\\end{document}", - ] - }, -} \ No newline at end of file diff --git a/general/configs/VSCodium/User/snippets/tex.json b/general/configs/VSCodium/User/snippets/tex.json deleted file mode 100644 index 8f1f6fe..0000000 --- a/general/configs/VSCodium/User/snippets/tex.json +++ /dev/null @@ -1,124 +0,0 @@ -{ - // Place your snippets for tex here. Each snippet is defined under a snippet name and has a prefix, body and - // description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are: - // $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the - // same ids are connected. - // Example: - // "Print to console": { - // "prefix": "log", - // "body": [ - // "console.log('$1');", - // "$2" - // ], - // "description": "Log output to console" - // } - "Formula (old)": { - "prefix": "formulaBare", - "body": [ - "\\begin{tcolorbox}[colback=red!5!white,colframe=red!75!black,title=Formula: $1]", - "\t$2", - "\\end{tcolorbox}", - ], - "description": "Red tcolorbox to provide a formula (without the default setup)" - }, - "Prepare Latex doc (old)": { - "prefix": "LaTeX-Prepare-Old", - "body": [ - "\\documentclass{article}\n", - "% Imports %", - "\\usepackage{amsmath}", - "\\usepackage{graphicx}", - "\\usepackage{subcaption}", - "\\usepackage[export]{adjustbox}", - "\\usepackage{tcolorbox}", - "\\usepackage{xcolor}", - "\\usepackage{cancel}", - "\\usepackage{dsfont}", - "\\usepackage{amssymb}", - "\\usepackage[a4paper]{geometry}", - "\\usepackage{parskip}\n", - "% Setup %", - "\\title{\\Huge \\textbf{$1}}", - "\\author{Janis Hutz}\n", - "% Configuring %", - "\\addtolength{\\oddsidemargin}{-0.75in}", - "\\addtolength{\\textwidth}{1.5in}", - "\\addtolength{\\evensidemargin}{-0.75in}", - "\\addtolength{\\topmargin}{-1in}", - "\\addtolength{\\textheight}{2in}\n", - "% Main doc %", - "\\begin{document}", - "\\maketitle", - "$2", - "\\end{document}" - ], - "description": "Prepare a LaTeX Document with all relevant imports" - }, - "prepare LaTeX Document (New)": { - "prefix": "latex-prepare", - "body": [ - "\\documentclass{article}\n", - "\\input{~/projects/generalSchool/helpers.tex}\n", - "\\setup{$1}\n", - "\\begin{document}", - "\\maketitle\n\n", - "$2\n\n", - "\\end{document}" - ], - "description": "Prepares a full LaTeX Document for use and compiling" - }, - "Formula (new)": { - "prefix": "formula", - "body": [ - "\\begin{formula}[]{$1}", - "\t$2", - "\\end{formula}" - ], - "description": "Inserts a tcolorbox to provide a formula (red)" - }, - "Definition (new)": { - "prefix": "definition", - "body": [ - "\\begin{definition}[]{$1}", - "\t$2", - "\\end{definition}" - ], - "description": "Inserts a tcolorbox to provide a definition (blue)" - }, - "Recall (new)": { - "prefix": "recall", - "body": [ - "\\begin{recall}[]{$1}", - "\t$2", - "\\end{recall}" - ], - "description": "Inserts a tcolorbox to provide a recall / revision of previous knowledge (yellow)" - }, - "Important Remarks (new)": { - "prefix": "remarks", - "body": [ - "\\begin{remarks}[]{$1}", - "\t$2", - "\\end{remarks}" - ], - "description": "Inserts a tcolorbox to provide remarks (green)" - }, - "Guides (new)": { - "prefix": "guides", - "body": [ - "\\begin{guides}[]{$1}", - "\t$2", - "\\end{guides}" - ], - "description": "Inserts a tcolorbox to provide guides / instructions on how to use (purple)" - }, - "Properties / Restrictions (new)": { - "prefix": "properties", - "body": [ - "\\begin{properties}[]{$1}", - "\t$2", - "\\end{properties}" - ], - "description": "Inserts a tcolorbox to inform about properties / restrictions / limitations" - } -} \ No newline at end of file diff --git a/general/configs/VSCodium/User/snippets/typescript.json b/general/configs/VSCodium/User/snippets/typescript.json deleted file mode 100644 index 88d8683..0000000 --- a/general/configs/VSCodium/User/snippets/typescript.json +++ /dev/null @@ -1,106 +0,0 @@ -{ - // Place your snippets for javascript here. Each snippet is defined under a snippet name and has a prefix, body and - // description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are: - // $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the - // same ids are connected. - // Example: - // "Print to console": { - // "prefix": "log", - // "body": [ - // "console.log('$1');", - // "$2" - // ], - // "description": "Log output to console" - // } - "JS-Class": { - "prefix": "jsSetupClass", - "body": "class $1 { \n\tconstructor () {} \n\n \t$2 () {\n\t$3\n\t}\n}", - "description": "Setup the basic structure of a class in JS" - }, - "ExpressJS": { - "prefix": "jsExpressSetup", - "body": [ - "const express = require( 'express' );", - "let app = express();", - "const path = require( 'path' );", - "const expressSession = require( 'express-session' );", - "const fs = require( 'fs' );", - "const bodyParser = require( 'body-parser' );", - "const cookieParser = require( 'cookie-parser' )", - "const favicon = require( 'serve-favicon' );", - "\napp.use( expressSession ( {\n\tsecret: $1,\n\tresave: true,\n\tsaveUninitialized: true\n} ) );", - "app.use( bodyParser.urlencoded( { extended: false } ) );", - "app.use( bodyParser.json() );", - "app.use( cookieParser() );", - "app.use( favicon( path.join( __dirname + '$2' ) ) );\n", - "app.use( ( request, response, next ) => {\n\tresponse.sendFile( path.join( __dirname + '$3' ) ) \n} );", - "\n\napp.get( '/', ( request, response ) => {\n$4\n} );", - "\n\nconst PORT = process.env.PORT || 8080;", - "http.createServer( app ).listen( PORT );" - ] - }, - "ExpressJS-Route": { - "prefix": "jsEjsRoute", - "body": "\n\napp.get( '$1', ( request: express.Request, response: express.Response ) => {\n$4\n} );" - }, - "JSAsync": { - "prefix": "jsAsync", - "body": "(async () => {\n$1\n} ) ();" - }, - "JSpromiseReturnFunc": { - "prefix": "jsPromise", - "body": "function $1 () {\n\treturn new Promise( ( resolve, reject ) => {\n\t$2\n\t} );\n}" - }, - "fetch from other url": { - "prefix": "remoteURL", - "body": [ - "localStorage.getItem( 'url' ) + '/$1'", - ], - "description": "remote URL fetching (get from base address from local storage)" - }, - "fetch post": { - "prefix": "fetchPost", - "body": [ - "const fetchOptions = {", - "\tmethod: 'post',", - "\tbody: JSON.stringify( $1 ),", - "\tcredentials: 'include',", - "\theaders: {", - "\t\t'Content-Type': 'application/json',", - "\t\t'charset': 'utf-8'", - "\t}", - "};", - "fetch( $2, fetchOptions ).then( res => {", - "\tif ( res.status === 200 ) {", - "\t\tres.json().then( json => {", - "\t\t\t$3", - "\t\t} );", - "\t}", - "} );", - "$4" - ], - "description": "POST request using fetch" - }, - "fetch get": { - "prefix": "fetchGet", - "body": [ - "fetch( $2, { credentials: 'include' } ).then( res => {", - "\tif ( res.status === 200 ) {", - "\t\tres.json().then( json => {", - "\t\t\t$3", - "\t\t} );", - "\t}", - "} );", - "$4" - ], - "description": "POST request using fetch" - }, - "promise": { - "prefix": "promise", - "body": [ - "return new Promise( ( resolve, reject ) => {", - "\t", - "} );" - ] - } -} \ No newline at end of file diff --git a/general/configs/VSCodium/User/snippets/vue.json b/general/configs/VSCodium/User/snippets/vue.json deleted file mode 100755 index e7219f6..0000000 --- a/general/configs/VSCodium/User/snippets/vue.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - // Place your snippets for vue here. Each snippet is defined under a snippet name and has a prefix, body and - // description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are: - // $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the - // same ids are connected. - // Example: - // "Print to console": { - // "prefix": "log", - // "body": [ - // "console.log( '$1' );", - // "$2" - // ], - // "description": "Log output to console" - // }, - "script:setup": { - "prefix": "script:setup", - "body": [ - "" - ], - "description": "Setup the basic structure of a class in JS" - }, -} \ No newline at end of file diff --git a/general/configs/VSCodium/User/syncLocalSettings.json b/general/configs/VSCodium/User/syncLocalSettings.json deleted file mode 100755 index 25554e0..0000000 --- a/general/configs/VSCodium/User/syncLocalSettings.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "ignoreUploadFiles": [ - "state.*", - "syncLocalSettings.json", - ".DS_Store", - "sync.lock", - "projects.json", - "projects_cache_vscode.json", - "projects_cache_git.json", - "projects_cache_svn.json", - "gpm_projects.json", - "gpm-recentItems.json" - ], - "ignoreUploadFolders": [ - "workspaceStorage" - ], - "ignoreExtensions": [], - "gistDescription": "Visual Studio Code Settings Sync Gist", - "version": 343, - "token": "", - "downloadPublicGist": false, - "supportedFileExtensions": [ - "json", - "code-snippets" - ], - "openTokenLink": true, - "disableUpdateMessage": false, - "lastUpload": null, - "lastDownload": null, - "githubEnterpriseUrl": null, - "askGistDescription": false, - "customFiles": {}, - "hostName": null, - "universalKeybindings": false, - "autoUploadDelay": 20 -} \ No newline at end of file diff --git a/general/configs/VSCodium/product.json b/general/configs/VSCodium/product.json deleted file mode 100755 index ba7257d..0000000 --- a/general/configs/VSCodium/product.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extensionsGallery": { - "serviceUrl": "https://marketplace.visualstudio.com/_apis/public/gallery", - "itemUrl": "https://marketplace.visualstudio.com/items", - "cacheUrl": "https://vscode.blob.core.windows.net/gallery/index", - "controlUrl": "" - } -} diff --git a/general/configs/dunst/defaultDunst b/general/configs/dunst/defaultDunst deleted file mode 100644 index 60f79e2..0000000 --- a/general/configs/dunst/defaultDunst +++ /dev/null @@ -1,58 +0,0 @@ -[global] - follow = mouse - indicate_hidden = yes - - offset = 10x10 - - notification_height = 0 - - separator_height = 2 - - padding = 8 - horizontal_padding = 8 - text_icon_padding = 0 - frame_width = 2 - - frame_color = "#a6f7ad" - separator_color = frame - - sort = yes - idle_threshold = 120 - font = monospace 10 - line_height = 0 - markup = full - alignment = left - vertical_alignment = center - show_age_threshold = 60 - word_wrap = yes - stack_duplicates = true - hide_duplicate_count = false - - show_indicators = yes - - min_icon_size = 0 - max_icon_size = 64 - - icon_path = /usr/share/icons/candy-icons/16x16/status/:/usr/share/icons/candy-icons/16x16/devices/:/usr/share/icons/candy-icons/16x16/actions/:/usr/share/icons/candy-icons/16x16/animations/:/usr/share/icons/candy-icons/16x16/apps/:/usr/share/icons/candy-icons/16x16/categories/:/usr/share/icons/candy-icons/16x16/emblems/:/usr/share/icons/candy-icons/16x16/emotes/:/usr/share/icons/candy-icons/16x16/devices/mimetypes:/usr/share/icons/candy-icons/16x16/panel/:/usr/share/icons/candy-icons/16x16/places/ - - dmenu = /usr/bin/wofi -p dunst: - browser = /usr/bin/firefox --new-tab - - title = Dunst - class = Dunst - - corner_radius = 10 - timeout = 5 - -[urgency_low] - background = "#00003a" - foreground = "#CDD6F4" - -[urgency_normal] - background = "#00003a" - foreground = "#CDD6F4" - -[urgency_critical] - background = "#00003a" - foreground = "#CDD6F4" - frame_color = "#6c0000" diff --git a/general/configs/dunst/dunstrc b/general/configs/dunst/dunstrc deleted file mode 100755 index 32e0118..0000000 --- a/general/configs/dunst/dunstrc +++ /dev/null @@ -1,58 +0,0 @@ -[global] - follow = mouse - indicate_hidden = yes - - offset = 10x10 - - notification_height = 0 - - separator_height = 2 - - padding = 8 - horizontal_padding = 8 - text_icon_padding = 0 - frame_width = 2 - - frame_color = "#cc5c00" - separator_color = frame - - sort = yes - idle_threshold = 120 - font = monospace 10 - line_height = 0 - markup = full - alignment = left - vertical_alignment = center - show_age_threshold = 60 - word_wrap = yes - stack_duplicates = true - hide_duplicate_count = false - - show_indicators = yes - - min_icon_size = 0 - max_icon_size = 64 - - icon_path = /usr/share/icons/candy-icons/16x16/status/:/usr/share/icons/candy-icons/16x16/devices/:/usr/share/icons/candy-icons/16x16/actions/:/usr/share/icons/candy-icons/16x16/animations/:/usr/share/icons/candy-icons/16x16/apps/:/usr/share/icons/candy-icons/16x16/categories/:/usr/share/icons/candy-icons/16x16/emblems/:/usr/share/icons/candy-icons/16x16/emotes/:/usr/share/icons/candy-icons/16x16/devices/mimetypes:/usr/share/icons/candy-icons/16x16/panel/:/usr/share/icons/candy-icons/16x16/places/ - - dmenu = /usr/bin/wofi -p dunst: - browser = /usr/bin/firefox --new-tab - - title = Dunst - class = Dunst - - corner_radius = 10 - timeout = 5 - -[urgency_low] - background = "#000000" - foreground = "#CDD6F4" - -[urgency_normal] - background = "#000000" - foreground = "#CDD6F4" - -[urgency_critical] - background = "#000000" - foreground = "#CDD6F4" - frame_color = "#6c0000" diff --git a/general/configs/rofi/config.rasi b/general/configs/rofi/config.rasi deleted file mode 100755 index ab94e55..0000000 --- a/general/configs/rofi/config.rasi +++ /dev/null @@ -1,13 +0,0 @@ -/** Basic config file **/ - -configuration { - show-icons: true; - icon-theme: "Candy"; - display-drun: ""; - display-run: "🏃🏽‍♂️ "; - display-window: "🗔 "; - display-combi: "🔎 "; - dpi: 160; -} - -@theme "themes/mcLarenTheme.rasi" diff --git a/general/configs/rofi/spotlight/README.md b/general/configs/rofi/spotlight/README.md deleted file mode 100644 index 3414477..0000000 --- a/general/configs/rofi/spotlight/README.md +++ /dev/null @@ -1,107 +0,0 @@ -## rofi: *spotlight* - -A spotlight-like rofi. Supports file and web search. - -

- rofi: spotlight -
- - rofi: spotlight - -

- -#### Dependencies - -+ `rofi-git master branch` -+ `python3` -+ `bash` -+ `fd (optional)` -+ `an icon theme (optional)` - -#### Icon themes used: - -+ Papirus -+ Tela Blue - -#### Run it by: - -```bash -$ rofi -modi "Global Search":"rofi-spotlight/rofi-spotlight.sh" -show "Global Search" \ --config rofi-spotlight/rofi.rasi -``` - -#### Recommendation - -+ Install `fd` for faster file searching. Defaults to `find` if not installed. - -#### Configuration: - -You can change the following variables in the `rofi-spotlight.sh` -+ Terminal Emulator -+ File Manager -+ Bluetooth sender - -You can change the following variables in the `web-search.py` -+ Search engine -+ Web browser -+ Terminal Emulator - -#### Available commands: - -Just type them on rofi search bar: - -+ **`:help`** to print the help message -+ **`:h`** or **`:hidden`** to show hidden files/directories -+ **`:xdg XDGDIR`** to jump to an xdg directory - -Examples: - -``` -:xdg DOCUMENTS -:xdg DOWNLOADS - -# Also supports incomplete path. Examples: - -:xdg doc # Same as :xdg DOCUMENTS -:xdg down # Same as :xdg DOWNLOADS - -# For more info about XDG dirs, see: -# man xdg-user-dir -``` - -**File search syntaxes:** -+ **`!`** to search for a file and web suggestions -+ **`?`** to search parent directories - -Examples: - -``` -!half-life 3 -?portal 3 -``` - -**Web search syntaxes:** - -+ **`!`** to get a search suggestions -+ **`:web `** to also to gets search suggestions -+ **`:webbro `** to search directly from your browser - -Examples: - -``` -!how to install archlinux -:web how to install gentoo -:webbro how to install wine in windowsxp -``` - -#### TODOs: - -- [x] Web search support -- [x] Cleaner bash script - -#### Notes: - -+ This is not a file manager nor a web browser. This is a file/web-searching rofi. Nothing else. -+ Default rofi design is better with blur. Rofi's appearance can be change in `rofi.rasi`. It uses CSS syntax. More info by executing `man rofi-theme` in your terminal emulator. - -#### Credits to [these people](https://github.com/manilarome/rofi-spotlight/graphs/contributors) diff --git a/general/configs/rofi/spotlight/history.txt b/general/configs/rofi/spotlight/history.txt deleted file mode 100644 index e69de29..0000000 diff --git a/general/configs/rofi/spotlight/icons/ddg.svg b/general/configs/rofi/spotlight/icons/ddg.svg deleted file mode 100644 index 20ea387..0000000 --- a/general/configs/rofi/spotlight/icons/ddg.svg +++ /dev/null @@ -1,615 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/general/configs/rofi/spotlight/icons/google.svg b/general/configs/rofi/spotlight/icons/google.svg deleted file mode 100644 index 21e5bf3..0000000 --- a/general/configs/rofi/spotlight/icons/google.svg +++ /dev/null @@ -1,365 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/general/configs/rofi/spotlight/icons/history.svg b/general/configs/rofi/spotlight/icons/history.svg deleted file mode 100644 index 872bac8..0000000 --- a/general/configs/rofi/spotlight/icons/history.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - diff --git a/general/configs/rofi/spotlight/icons/result.svg b/general/configs/rofi/spotlight/icons/result.svg deleted file mode 100644 index 0f4d883..0000000 --- a/general/configs/rofi/spotlight/icons/result.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - diff --git a/general/configs/rofi/spotlight/rofi-spotlight.sh b/general/configs/rofi/spotlight/rofi-spotlight.sh deleted file mode 100755 index d0b76aa..0000000 --- a/general/configs/rofi/spotlight/rofi-spotlight.sh +++ /dev/null @@ -1,692 +0,0 @@ -#!/usr/bin/env bash - -TMP_DIR="/tmp/rofi/${USER}/" - -PREV_LOC_FILE="${TMP_DIR}rofi_fb_prevloc" -CURRENT_FILE="${TMP_DIR}rofi_fb_current_file" - -MY_PATH="$(realpath "$0" | xargs dirname)" -HIST_FILE="${MY_PATH}/history.txt" - -OPENER=xdg-open -TERM_EMU=kitty -TEXT_EDITOR=$EDITOR -FILE_MANAGER=y -BLUETOOTH_SEND=blueman-sendto - -CUR_DIR=$PWD -NEXT_DIR="" -FD_INSTALLED=$(command -v fd) - -SHOW_HIDDEN=false - -# Setup menu options -declare -a OPEN_FILE_LOCATION=( - "Open file location in ${TERM_EMU}" - "Open file location in ${FILE_MANAGER}" -) -declare -a RUN_COMMANDS=( - "Run" - "Execute in ${TERM_EMU}" -) -declare -a STANDARD_CONTROLS=( - "Move to trash" - "Delete" - "Back" -) -declare -a SHELL_NO_X_OPTIONS=( - "Edit" - "${OPEN_FILE_LOCATION[@]}" - "${STANDARD_CONTROLS[@]}" -) -declare -a SHELL_OPTIONS=( - "${RUN_COMMANDS[@]}" - "${SHELL_NO_X_OPTIONS[@]}" -) -declare -a BIN_NO_X_OPTIONS=( - "${OPEN_FILE_LOCATION[@]}" - "Back" -) -declare -a BIN_OPTIONS=( - "${RUN_COMMANDS[@]}" - "${BIN_NO_X_OPTIONS[@]}" -) -declare -a TEXT_OPTIONS=("${SHELL_NO_X_OPTIONS[@]}") -declare -a HTML_OPTIONS=( - "Open" - "Edit" - "${OPEN_FILE_LOCATION[@]}" - "${STANDARD_CONTROLS[@]}" -) -declare -a XCF_SVG_OPTIONS=( - "Open" - "${OPEN_FILE_LOCATION[@]}" - "${STANDARD_CONTROLS[@]}" -) -declare -a IMAGE_OPTIONS=( - "Open" - "Send via Bluetooth" - "${OPEN_FILE_LOCATION[@]}" - "${STANDARD_CONTROLS[@]}" -) - -declare -a ALL_OPTIONS=() - -# Combine all context menu -COMBINED_OPTIONS=( - "${SHELL_OPTIONS[@]}" - "${IMAGE_OPTIONS[@]}" -) - -# Remove duplicates -ALL_OPTIONS=("$(printf '%s\n' "${COMBINED_OPTIONS[@]}" | sort -u)") - -# Create tmp dir for rofi -[ ! -d "${TMP_DIR}" ] && mkdir -p "${TMP_DIR}"; - -# Create hist file if it doesn't exist -[ ! -f "${HIST_FILE}" ] && touch "${HIST_FILE}" - -# Help message -if [ -n "$*" ] && [[ "$*" = ":help" ]] -then - echo -en "Rofi Spotlight -A Rofi with file and web searching functionality - -Commands: -:help to print this help message -:h or :hidden to show hidden files/dirs -:sh or :show_hist to show search history -:ch or :clear_hist to clear search history -:xdg to jump to an xdg directory -Examples: - :xdg DOCUMENTS - :xdg DOWNLOADS -Also supports incomplete path: -Examples: - :xdg doc - :xdg down -For more info about XDG dirs, see: -\`man xdg-user-dir\` - -File search syntaxes: -! to search for a file and web suggestions -? to search parent directories -Examples: - !half-life 3 - ?portal 3 - -Web search syntaxes: -! to gets search suggestions -:web/:w to also to gets search suggestions -:webbro/:wb to search directly from your browser -Examples: - !how to install archlinux - :web how to install gentoo - :w how to make a nuclear fission - :webbro how to install wine in windowsxp -Back\0icon\x1fdraw-arrow-back\n" - - exit -fi - -# Return the icon string -function icon_file_type(){ - icon_name="" - mime_type=$(file --mime-type -b "${1}") - - case "${mime_type}" in - "inode/directory") - case "${1}" in - "Desktop/" ) - icon_name='folder-blue-desktop' - ;; - "Documents/" ) - icon_name='folder-blue-documents' - ;; - "Downloads/" ) - icon_name='folder-blue-downloads' - ;; - "Music/" ) - icon_name='folder-blue-music' - ;; - "Pictures/" ) - icon_name='folder-blue-pictures' - ;; - "Public/" ) - icon_name='folder-blue-public' - ;; - "Templates/" ) - icon_name='folder-blue-templates' - ;; - "Videos/" ) - icon_name='folder-blue-videos' - ;; - "root/" ) - icon_name='folder-root' - ;; - "home/" | "${USER}/") - icon_name='folder-home' - ;; - *"$" ) - icon_name='folder-blue' - ;; - *) - icon_name='folder-blue' - ;; - esac - ;; - "inode/symlink" ) - icon_name='inode-symlink' - ;; - "audio/flac" | "audio/mpeg" ) - icon_name='music' - ;; - "video/mp4" ) - icon_name='video-mp4' - ;; - "video/x-matroska" ) - icon_name=video-x-matroska - ;; - "image/x-xcf" ) - # notify-send '123' - icon_name='image-x-xcf' - ;; - "image/jpeg" | "image/png" | "image/svg+xml") - icon_name="${CUR_DIR}/${1}" - ;; - "image/gif" ) - icon_name='gif' - ;; - "image/vnd.adobe.photoshop" ) - icon_name='image-vnd.adobe.photoshop' - ;; - "image/webp" ) - icon_name='gif' - ;; - "application/x-pie-executable" ) - icon_name='binary' - ;; - "application/pdf" ) - icon_name='pdf' - ;; - "application/zip" ) - icon_name='application-zip' - ;; - "application/x-xz" ) - icon_name='application-x-xz-compressed-tar' - ;; - "application/x-7z-compressed" ) - icon_name='application-x-7zip' - ;; - "application/x-rar" ) - icon_name='application-x-rar' - ;; - "application/octet-stream" | "application/x-iso9660-image" ) - icon_name='application-x-iso' - ;; - "application/x-dosexec" ) - icon_name='application-x-ms-dos-executable' - ;; - "text/plain" ) - icon_name='application-text' - ;; - "text/x-shellscript" ) - icon_name='application-x-shellscript' - ;; - "text/html" ) - icon_name='text-html' - ;; - "font/sfnt" | "application/vnd.ms-opentype" ) - icon_name='application-x-font-ttf' - ;; - * ) - case "${1}" in - *."docx" | *".doc" ) - icon_name='application-msword' - ;; - *."apk" ) - icon_name='android-package-archive' - ;; - * ) - icon_name='unknown' - ;; - esac - ;; - esac - - echo -en "$1\0icon\x1f$icon_name\n" -} - -export -f icon_file_type - -# Pass the argument to python script -function web_search() { - # Pass the search query to web-search script - "${MY_PATH}/web-search.py" "${1}" - exit; -} - -# Handles the web search method -if [ ! -z "$@" ] && ([[ "$@" == ":webbro"* ]] || [[ "$@" == ":wb"* ]]) -then - remove='' - [[ "$*" = ":webbro"* ]] && remove=":webbro" || remove=":wb" - - # Search directly from your web browser - web_search "$(printf '%s\n' "${1//$remove/}")" - exit; - -elif [ ! -z "$@" ] && ([[ "$@" == ":web"* ]] || [[ "$@" == ":w"* ]]) -then - remove='' - [[ "$*" = ":web"* ]] && remove=":web" || remove=":w" - - # Get search suggestions - web_search "!$(printf '%s\n' "${1//$remove/}")" - exit; -fi - -function find_query() { - QUERY=${1} - if [[ ! "${QUERY}" =~ ( |\') ]] - then - if [ -z "$FD_INSTALLED" ]; - then - find "${HOME}" -iname *"${QUERY}"* | sed "s/\/home\/$USER/\~/" | - awk -v MY_PATH="${MY_PATH}" '{print $0"\0icon\x1f"MY_PATH"/icons/result.svg\n"}' - else - fd -H ${QUERY} ${HOME} | sed "s/\/home\/$USER/\~/" | - awk -v MY_PATH="${MY_PATH}" '{print $0"\0icon\x1f"MY_PATH"/icons/result.svg\n"}' - fi - fi -} - -# File and calls to the web search -if [ ! -z "$@" ] && ([[ "$@" == ?(\~)/* ]] || [[ "$@" == \?* ]] || [[ "$@" == \!* ]]) -then - QUERY=$@ - - echo "${QUERY}" >> "${HIST_FILE}" - - if [[ "$@" == ?(\~)/* ]] - then - [[ "$*" = \~* ]] && QUERY="${QUERY//"~"/"$HOME"}" - - coproc ${OPENER} "${QUERY}" > /dev/null 2>&1 - exec 1>&- - exit - - elif [[ "$@" == \?* ]] - then - find_query ${QUERY#\?} - - else - # Find the file - find_query ${QUERY#!} - - # Web search - web_search "! ${QUERY#!}" - fi - exit; -fi - -# Create notification if there's an error -function create_notification() { - case "${1}" in - "denied" ) - notify-send -a "Global Search" "Permission denied!" \ - 'You have no permission to access '"${CUR_DIR}!" - ;; - "deleted" ) - notify-send -a "Global Search" "Success!" \ - 'File deleted!' - ;; - "trashed" ) - notify-send -a "Global Search" "Success!" \ - 'The file has been moved to trash!' - ;; - "cleared" ) - notify-send -a "Global Search" "Success!" \ - 'Search history has been successfully cleared!' - ;; - * ) - notify-send -a "Global Search" "Somethings wrong I can feel it!" \ - 'This incident will be reported!' - ;; - esac -} - -# Show the files in the current directory -function navigate_to() { - # process current dir. - if [ -n "${CUR_DIR}" ] - then - CUR_DIR=$(readlink -e "${CUR_DIR}") - if [ ! -d "${CUR_DIR}" ] || [ ! -r "${CUR_DIR}" ] - then - create_notification "denied" - CUR_DIR=$(realpath ${CUR_DIR} | xargs dirname) - echo "${CUR_DIR}" > "${PREV_LOC_FILE}" - else - echo "${CUR_DIR}/" > "${PREV_LOC_FILE}" - fi - pushd "${CUR_DIR}" >/dev/null || exit - fi - - printf "..\0icon\x1fup\n" - - if [[ -z "$FD_INSTALLED" ]] - then - #Group directories - if [[ ${SHOW_HIDDEN} == true ]] - then - for i in .*/ - do - [[ -d "${i}" ]] && ([[ "${i}" != "./" ]] && [[ "${i}" != "../"* ]]) && icon_file_type "${i}" - done - fi - for i in */ - do - [[ -d "${i}" ]] && icon_file_type "${i}" - done - #Group files - if [[ ${SHOW_HIDDEN} = true ]] - then - for i in .* - do - [[ -f "${i}" ]] && icon_file_type "${i}" - done - fi - for i in * - do - [[ -f "${i}" ]] && icon_file_type "${i}" - done - else - THREADS=$(getconf _NPROCESSORS_ONLN) - export CUR_DIR - if [[ ${SHOW_HIDDEN} == true ]] - then - fd -Ht d -d 1 -x bash -c 'icon_file_type "$1/"' _ {} \ | sort -V --parallel=$THREADS - fd -Ht f -d 1 -x bash -c 'icon_file_type "$1"' _ {} \ | sort -V --parallel=$THREADS - else - fd -t d -d 1 -x bash -c 'icon_file_type "$1/"' _ {} \ | sort -V --parallel=$THREADS - fd -t f -d 1 -x bash -c 'icon_file_type "$1"' _ {} \ | sort -V --parallel=$THREADS - fi - fi -} - -# Set XDG dir -function return_xdg_dir() { - target_dir=${1^^} - - if [[ "HOME" == *"${target_dir}"* ]] - then - CUR_DIR=$(xdg-user-dir) - - elif [[ "DESKTOP" == *"${target_dir}"* ]] - then - CUR_DIR=$(xdg-user-dir DESKTOP) - - elif [[ "DOCUMENTS" == *"${target_dir}"* ]] - then - CUR_DIR=$(xdg-user-dir DOCUMENTS) - - elif [[ "DOWNLOADS" == *"${target_dir}"* ]] - then - CUR_DIR=$(xdg-user-dir DOWNLOAD) - - elif [[ "MUSIC" == *"${target_dir}"* ]] - then - CUR_DIR=$(xdg-user-dir MUSIC) - - elif [[ "PICTURES" == *"${target_dir}"* ]] - then - CUR_DIR=$(xdg-user-dir PICTURES) - - elif [[ "PUBLICSHARE" == *"${target_dir}"* ]] - then - CUR_DIR=$(xdg-user-dir PUBLICSHARE) - - elif [[ "TEMPLATES" == *"${target_dir}"* ]] - then - CUR_DIR=$(xdg-user-dir TEMPLATES) - - elif [[ "VIDEOS" == *"${target_dir}"* ]] - then - CUR_DIR=$(xdg-user-dir VIDEOS) - - elif [[ "ROOT" == *"${target_dir}"* ]] - then - CUR_DIR="/" - - else - CUR_DIR="${HOME}" - fi - navigate_to - exit; -} - -# Show and Clear History -if [ ! -z "$@" ] && ([[ "$@" == ":sh" ]] || [[ "$@" == ":show_hist" ]]) -then - hist=$(tac "${HIST_FILE}") - - echo -en "Back\0icon\x1fdraw-arrow-back\n" - [ -z "${hist}" ] && echo -en "No History Yet\0icon\x1ftext-plain\n" - - while IFS= read -r line; - do - echo -en "${line}\0icon\x1f${MY_PATH}/icons/history.svg\n"; - done <<< "${hist}" - - exit; -elif [ ! -z "$@" ] && ([[ "$@" == ":ch" ]] || [[ "$@" == ":clear_hist" ]]) -then - :> "${HIST_FILE}" - create_notification "cleared" - - CUR_DIR="${HOME}" - navigate_to - exit; -fi - -# Accepts XDG command -if [[ ! -z "$@" ]] && [[ "$@" == ":xdg"* ]] -then - NEXT_DIR=${*//":xdg "/} - - [[ -n "$NEXT_DIR" ]] && return_xdg_dir "${NEXT_DIR}" || return_xdg_dir "${HOME}" -fi - -# Read last location, otherwise we default to PWD. -[ -f "${PREV_LOC_FILE}" ] && CUR_DIR=$(< "${PREV_LOC_FILE}") - -if [[ ! -z "$@" ]] && ([[ "$@" == ":h" ]] || [[ "$@" == ":hidden" ]]) -then - SHOW_HIDDEN=true - navigate_to - exit; -fi - -# Handle argument. -[ -n "$*" ] && CUR_DIR="${CUR_DIR}/$*" - -# Context Menu -if [ -n "$*" ] && [[ "${ALL_OPTIONS[*]} " = *"$*"* ]] -then - case "${1}" in - "Run" ) - coproc ( eval "$(< ${CURRENT_FILE})" & > /dev/null 2>&1 ) - kill -9 $(pgrep rofi) - ;; - "Execute in ${TERM_EMU}" ) - coproc ( eval "${TERM_EMU} \"$(< ${CURRENT_FILE})\"" & > /dev/null 2>&1 ) - kill -9 $(pgrep rofi) - ;; - "Open" ) - coproc ( eval "${OPENER} \"$(< ${CURRENT_FILE})\"" & > /dev/null 2>&1 ) - kill -9 $(pgrep rofi) - ;; - "Open file location in ${TERM_EMU}" ) - file_path="$(< ${CURRENT_FILE})" - coproc ( ${TERM_EMU} bash -c "cd ${file_path%/*} ; ${SHELL}" & > /dev/null 2>&1 ) - kill -9 $(pgrep rofi) - ;; - "Open file location in ${FILE_MANAGER}" ) - file_path="$(< "${CURRENT_FILE}")" - coproc ( eval "${FILE_MANAGER} "${file_path%/*}"" & > /dev/null 2>&1 ) - kill -9 $(pgrep rofi) - ;; - "Edit" ) - coproc ( eval "${TERM_EMU} ${TEXT_EDITOR} \"$(< ${CURRENT_FILE})\"" & > /dev/null 2>&1 ) - kill -9 $(pgrep rofi) - ;; - "Move to trash" ) - coproc( gio trash "$(< ${CURRENT_FILE})" & > /dev/null 2>&1 ) - create_notification "trashed" - CUR_DIR="$(dirname "$(< ${CURRENT_FILE})")" - navigate_to - ;; - "Delete" ) - shred "$(< ${CURRENT_FILE})" - rm "$(< ${CURRENT_FILE})" - create_notification "deleted" - CUR_DIR="$(dirname "$(< ${CURRENT_FILE})")" - navigate_to - ;; - "Send via Bluetooth" ) - rfkill unblock bluetooth && bluetoothctl power on - sleep 1 - blueman-sendto "$(< ${CURRENT_FILE})" & > /dev/null 2>&1 - kill -9 $(pgrep rofi) - ;; - "Back" ) - CUR_DIR="$(< ${PREV_LOC_FILE})" - navigate_to - ;; - esac - exit; -fi - -function context_menu_icons() { - - if [[ "${1}" == "Run" ]] - then - echo '\0icon\x1fsystem-run\n' - - elif [[ "${1}" == "Execute in ${TERM_EMU}" ]] - then - echo "\0icon\x1f${TERM_EMU}\n" - - elif [[ "${1}" == "Open" ]] - then - echo "\0icon\x1futilities-x-terminal\n" - - elif [[ "${1}" == "Open file location in ${TERM_EMU}" ]] - then - echo "\0icon\x1f${TERM_EMU}\n" - - elif [[ "${1}" == "Open file location in ${FILE_MANAGER}" ]] - then - echo "\0icon\x1fblue-folder-open\n" - - elif [[ "${1}" == "Edit" ]] - then - echo "\0icon\x1faccessories-text-editor\n" - - elif [[ "${1}" == "Move to trash" ]] - then - echo "\0icon\x1fapplication-x-trash\n" - - elif [[ "${1}" == "Delete" ]] - then - echo "\0icon\x1findicator-trashindicator\n" - - elif [[ "${1}" == "Send via Bluetooth" ]] - then - echo "\0icon\x1fbluetooth\n" - - elif [[ "${1}" == "Back" ]] - then - echo "\0icon\x1fback\n" - fi -} - -function print_context_menu() { - declare -a arg_arr=("${!1}") - - for menu in "${arg_arr[@]}" - do - printf "$menu$(context_menu_icons "${menu}")\n" - done -} - -function context_menu() { - - type="$(file --mime-type -b "${CUR_DIR}")" - - if [ -w "${CUR_DIR}" ] && [[ "${type}" == "text/x-shellscript" ]] - then - if [ -x "${CUR_DIR}" ]; - then - print_context_menu SHELL_OPTIONS[@] - else - print_context_menu SHELL_NO_X_OPTIONS[@] - fi - - elif [[ "${type}" == "application/x-executable" ]] || [[ "${type}" == "application/x-pie-executable" ]] - then - if [ -x "${CUR_DIR}" ] - then - print_context_menu BIN_OPTIONS[@] - else - print_context_menu BIN_NO_X_OPTIONS[@] - fi - - elif [[ "${type}" == "text/plain" ]] - then - print_context_menu TEXT_OPTIONS[@] - - elif [[ "${type}" == "text/html" ]] - then - print_context_menu HTML_OPTIONS[@] - - elif [[ "${type}" == "image/jpeg" ]] || [[ "${type}" == "image/png" ]] - then - print_context_menu IMAGE_OPTIONS[@] - - elif [[ "${type}" == "image/x-xcf" ]] || [[ "${type}" == "image/svg+xml" ]] - then - print_context_menu XCF_SVG_OPTIONS[@] - - elif [ ! -w "${CUR_DIR}" ] && [[ "${type}" == "text/x-shellscript" ]] - then - coproc ( exec "${CUR_DIR}" & > /dev/null 2>&1 ) - - else - if [ ! -d "${CUR_DIR}" ] && [ ! -f "${CUR_DIR}" ] - then - QUERY="${CUR_DIR//*\/\//}" - - echo "${QUERY}" >> "${HIST_FILE}" - - find_query "${QUERY#!}" - - web_search "!${QUERY}" - else - coproc ( ${OPENER} "${CUR_DIR}" & > /dev/null 2>&1 ) - fi - fi - exit; -} - -# If argument is not a directory/folder -if [ ! -d "${CUR_DIR}" ] -then - echo "${CUR_DIR}" > "${CURRENT_FILE}" - context_menu - exit; -fi - -navigate_to diff --git a/general/configs/rofi/spotlight/rofi.rasi b/general/configs/rofi/spotlight/rofi.rasi deleted file mode 100644 index 1c154bf..0000000 --- a/general/configs/rofi/spotlight/rofi.rasi +++ /dev/null @@ -1,152 +0,0 @@ -configuration { - font: "Inter Regular 10"; - show-icons: true; - drun-display-format: "{name}"; - fullscreen: false; - threads: 0; - matching: "fuzzy"; - scroll-method: 0; - disable-history: false; - fullscreen: false; - window-thumbnail: true; -} - -* { - transparent: #00000000; - foreground: #F2F2F2EE; - background-selected: #F2F2F245; - background-active: #F2F2F230; - background-white: #F2F2F211; - background-black: #00000066; - urgent: #E91E6366; - urgent-selected: #E91E6377; -} - -window { - transparency: "real"; - background-color: @transparent; - location: center; - anchor: center; - x-offset: 0px; - height: 500px; - width: 750px; - orientation: vertical; - border-radius: 12px; -} - -prompt { - enabled: false; -} - -button { - action: "ok"; - str: " "; - font: "FantasqueSansMono Nerd Font 11"; - expand: false; - text-color: @foreground; - background-color: @transparent; - vertical-align: 0.7; - horizontal-align: 0.5; -} - -entry { - font: "Inter Regular 11"; - background-color: @transparent; - text-color: @foreground; - expand: true; - vertical-align: 0.5; - horizontal-align: 0.5; - placeholder: "Type to search"; - placeholder-color: @foreground; - blink: true; -} - -case-indicator { - background-color: @transparent; - text-color: @foreground; - vertical-align: 0.5; - horizontal-align: 0.5; -} - -entry-wrapper { - orientation: horizontal; - vertical-align: 0.5; - spacing: 4px; - background-color: @transparent; - children: [ button, entry, case-indicator ]; -} - -inputbar { - background-color: @background-white; - text-color: @foreground; - expand: false; - border-radius: 24px; - margin: 0px 225px 0px 225px; - padding: 10px 10px 10px 10px; - position: north; - children: [ entry-wrapper ]; -} - -listview { - background-color: @transparent; - columns: 2; - spacing: 5px; - cycle: false; - dynamic: true; - layout: vertical; -} - -mainbox { - background-color: @background-black; - children: [ inputbar, listview ]; - spacing: 25px; - padding: 40px 25px 25px 25px; -} - -element { - background-color: @transparent; - text-color: @foreground; - orientation: horizontal; - border-radius: 6px; - padding: 5px 10px 5px 10px; -} - -element-icon { - size: 36px; - border: 0; -} - -element-text { - expand: true; - horizontal-align: 0; - vertical-align: 0.5; - margin: 0 10px 0 10px; -} - -element normal.urgent, -element alternate.urgent { - background-color: @urgent; - text-color: @foreground; - border-radius: 9px; -} - -element normal.active, -element alternate.active { - background-color: @background-active; - text-color: @foreground; -} - -element selected { - background-color: @background-selected; - text-color: @foreground; -} - -element selected.urgent { - background-color: @urgent-selected; - text-color: @foreground; -} - -element selected.active { - background-color: @background-active; - color: @foreground-selected; -} diff --git a/general/configs/rofi/spotlight/web-search.py b/general/configs/rofi/spotlight/web-search.py deleted file mode 100755 index 733f8d9..0000000 --- a/general/configs/rofi/spotlight/web-search.py +++ /dev/null @@ -1,167 +0,0 @@ -#!/usr/bin/env python3 - -# MIT License - -# Copyright (c) 2019 Paolo Donadeo - -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - -import json -import re -import urllib.parse -import urllib.request -import sys -import os -import datetime -import gzip - -import subprocess as sp - -import html - - -################################################################################ -##### C O N F I G U R A T I O N ###### -################################################################################ -SEARCH_ENGINE = 'duckduckgo' # or 'duckduckgo' -BROWSER = 'firefox' # or 'firefox', 'chromium', 'brave', 'lynx' -TERMINAL = ['kitty', '--'] # or ['st', '-e'] or something like that -################################################################################ - -CONFIG = { - 'BROWSER_PATH' : { - 'chrome' : ['google-chrome-stable'], - 'firefox' : ['firefox'], - 'chromium' : ['chromium-browser'], - 'brave' : ['brave-browser'], - 'lynx' : TERMINAL + ['lynx'] - }, - 'USER_AGENT' : { - 'chrome' : 'Mozilla/5.0 (X11; Fedora; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36', - 'firefox' : 'Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:69.0) Gecko/20100101 Firefox/69.0', - 'chromium' : 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/76.0.3809.100 Chrome/76.0.3809.100 Safari/537.36', - 'brave' : 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36', - 'lynx' : 'Lynx/2.8.9rel.1 libwww-FM/2.14 SSL-MM/1.4.1 OpenSSL/1.1.1d' - }, - 'SEARCH_ENGINE_NAME' : { - 'google' : 'Google', - 'duckduckgo' : 'DuckDuckGo' - }, - 'SEARCH_URL' : { - 'google' : 'https://www.google.com/search?q=', - 'duckduckgo' : 'https://duckduckgo.com/?q=' - }, - 'SUGGESTION_URL' : { - 'google' : 'https://www.google.com/complete/search?', - 'duckduckgo' : 'https://duckduckgo.com/ac/?' - } -} - -def cleanhtml(txt): - return re.sub(r'<.*?>', '', txt) - -def fetch_suggestions(search_string): - if SEARCH_ENGINE == 'google': - r = { - 'q' : search_string, - 'cp' : '11', - 'client' : 'psy-ab', - 'xssi' : 't', - 'gs_ri' : 'gws-wiz', - 'hl' : 'en-IT', - 'authuser' : '0' - } - url = CONFIG['SUGGESTION_URL'][SEARCH_ENGINE] + urllib.parse.urlencode(r) - headers = { - 'sec-fetch-mode' : 'cors', - 'dnt' : '1', - 'accept-encoding' : 'gzip', - 'accept-language' : 'en-US;q=0.9,en;q=0.8', - 'pragma' : 'no-cache', - 'user-agent' : CONFIG['USER_AGENT'][BROWSER], - 'accept' : '*/*', - 'cache-control' : 'no-cache', - 'authority' : 'www.google.com', - 'referer' : 'https://www.google.com/', - 'sec-fetch-site' : 'same-origin' - } - req = urllib.request.Request(url, headers=headers, method='GET') - - reply_data = gzip.decompress(urllib.request.urlopen(req).read()).split(b'\n')[1] - reply_data = json.loads(reply_data) - return [ cleanhtml(res[0]).strip() for res in reply_data[0] ] - else: # 'duckduckgo' - if search_string.startswith('!'): - bang_search = True - search_string = search_string.lstrip('!') - else: - bang_search = False - r = { - 'q' : search_string, - 'callback' : 'autocompleteCallback', - 'kl' : 'wt-wt', - '_' : str(int((datetime.datetime.now().timestamp())*1000)) - } - url = CONFIG['SUGGESTION_URL'][SEARCH_ENGINE] + urllib.parse.urlencode(r) - if bang_search: - url = url.replace('?q=', '?q=!') - headers = { - 'pragma' : 'no-cache', - 'dnt' : '1', - 'accept-encoding' : 'gzip', - 'accept-language' : 'en-US;q=0.9,en;q=0.8', - 'user-agent' : CONFIG['USER_AGENT'][BROWSER], - 'sec-fetch-mode' : 'no-cors', - 'accept' : '*/*', - 'cache-control' : 'no-cache', - 'authority' : 'duckduckgo.com', - 'referer' : 'https://duckduckgo.com/', - 'sec-fetch-site' : 'same-origin', - } - req = urllib.request.Request(url, headers=headers, method='GET') - reply_data = gzip.decompress(urllib.request.urlopen(req).read()).decode('utf8') - reply_data = json.loads(re.match(r'autocompleteCallback\((.*)\);', reply_data).group(1)) - return [ cleanhtml(res['phrase']).strip() for res in reply_data ] - -def main(): - search_string = html.unescape((' '.join(sys.argv[1:])).strip()) - - path_str = os.path.dirname(os.path.realpath(__file__)) + '/' - icon_path_str = path_str + 'icons/' - icon_name = icon_path_str - - if SEARCH_ENGINE == 'google': - icon_name += 'google.svg' - else: - icon_name += 'ddg.svg' - - if search_string.startswith('!'): - search_string = search_string.rstrip('!').strip() - results = fetch_suggestions(search_string) - for r in results: - print(":wb " + html.unescape(r) + "\0icon\x1f"+icon_name+"\n") - else: - url = CONFIG['SEARCH_URL'][SEARCH_ENGINE] + urllib.parse.quote_plus(search_string) - sp.Popen(CONFIG['BROWSER_PATH'][BROWSER] + [url], stdout=sp.DEVNULL, stderr=sp.DEVNULL, shell=False) - -if __name__ == "__main__": - try: - main() - except Exception as e: - if e: - sys.exit(1) diff --git a/general/configs/rofi/themes/arc_dark_transparent_colors.rasi b/general/configs/rofi/themes/arc_dark_transparent_colors.rasi deleted file mode 100755 index 4dc8195..0000000 --- a/general/configs/rofi/themes/arc_dark_transparent_colors.rasi +++ /dev/null @@ -1,34 +0,0 @@ -/******************************************************* - * ROFI Arch Dark Transparent colors for EndeavourOS - * Maintainer: joekamprad - *******************************************************/ -* { - selected-normal-foreground: rgba ( 255, 147, 5, 100 % ); - foreground: rgba ( 196, 203, 212, 100 % ); - normal-foreground: @foreground; - alternate-normal-background: rgba ( 45, 48, 59, 1 % ); - red: rgba ( 220, 50, 47, 100 % ); - selected-urgent-foreground: rgba ( 249, 249, 249, 100 % ); - blue: rgba ( 38, 139, 210, 100 % ); - urgent-foreground: rgba ( 204, 102, 102, 100 % ); - alternate-urgent-background: rgba ( 75, 81, 96, 90 % ); - active-foreground: rgba ( 101, 172, 255, 100 % ); - lightbg: rgba ( 238, 232, 213, 100 % ); - selected-active-foreground: rgba ( 249, 249, 249, 100 % ); - alternate-active-background: rgba ( 45, 48, 59, 88 % ); - background: rgba ( 45, 48, 59, 88 % ); - alternate-normal-foreground: @foreground; - normal-background: rgba ( 45, 48, 59, 1 % ); - lightfg: rgba ( 88, 104, 117, 100 % ); - selected-normal-background: rgba ( 24, 26, 32, 100 % ); - border-color: rgba ( 124, 131, 137, 100 % ); - spacing: 2; - separatorcolor: rgba ( 45, 48, 59, 1 % ); - urgent-background: rgba ( 45, 48, 59, 15 % ); - selected-urgent-background: rgba ( 165, 66, 66, 100 % ); - alternate-urgent-foreground: @urgent-foreground; - background-color: rgba ( 0, 0, 0, 0 % ); - alternate-active-foreground: @active-foreground; - active-background: rgba ( 29, 31, 33, 17 % ); - selected-active-background: rgba ( 26, 28, 35, 100 % ); -} diff --git a/general/configs/rofi/themes/defaultTheme.rasi b/general/configs/rofi/themes/defaultTheme.rasi deleted file mode 100755 index 7d4774c..0000000 --- a/general/configs/rofi/themes/defaultTheme.rasi +++ /dev/null @@ -1,78 +0,0 @@ -* { - background: rgba(0, 30, 50, 1); - foreground: #ffffff; - border-color: @background; - bg-selected: #282c34; - grey: #565c64; - spacing: 2; - width: 30em; - margin: 0; - padding: 0; -} - -#window { - background-color: @background; - border: 0; - padding: 0; - location: west; - anchor: west; - height: 70%; - margin: 0; -} - -#mainbox { - background-color: @background; - spacing: 10px; - margin: 10px 0 0 0; - width: 200px; -} - -#inputbar { - children: [prompt,entry]; - background-color: @background; -} - -#listview { - background-color: @background; - fixed-height: true; - margin: 5px 0 0 10px; -} - -#element { - padding: 5px; - background-color: @background; - text-color: @foreground; -} - -element selected { - background-color: @bg-selected; - text-color: @foreground; -} - -element-text { - background-color: inherit; - text-color: inherit; -} - -element-icon { - background-color: inherit; - margin: 0 4px 0 0; - size: 25px; -} - -#entry { - background-color: @background; - text-color: @foreground; - placeholder: "Search"; - placeholder-color: @grey; - font: "Sora Regular 20"; -} - -#prompt { - background-color: @background; - padding: 0 4px; - margin: 0 5px 0 0; - text-color: @foreground; - font: "Sora Regular 20"; -} - diff --git a/general/configs/rofi/themes/mcLarenTheme.rasi b/general/configs/rofi/themes/mcLarenTheme.rasi deleted file mode 100644 index 9db5700..0000000 --- a/general/configs/rofi/themes/mcLarenTheme.rasi +++ /dev/null @@ -1,82 +0,0 @@ -* { - background: rgba(0, 0, 0, 1); - foreground: #ffffff; - mclaren: #cc5c00; - border-color: @mclaren; - bg-selected: #282c34; - grey: #565c64; - spacing: 2; - width: 30em; - margin: 0; - padding: 0; -} - -#window { - background-color: @background; - border-color: @mclaren; - border: 1px; - border-radius: 10px; - padding: 0; - location: west; - anchor: west; - margin: 0; -} - -#mainbox { - background-color: @background; - spacing: 10px; - margin: 10px 0 0 0; - width: 200px; -} - -#inputbar { - children: [prompt,entry]; - background-color: @background; -} - -#listview { - background-color: @background; - fixed-height: true; - margin: 5px 0 0 10px; -} - -#element { - padding: 5px; - background-color: @background; - text-color: @foreground; -} - -element selected { - background-color: @bg-selected; - text-color: @mclaren; - border: 1px; - border-radius: 5px; -} - -element-text { - background-color: inherit; - text-color: inherit; -} - -element-icon { - background-color: inherit; - margin: 0 4px 0 0; - size: 25px; -} - -#entry { - background-color: @background; - text-color: @mclaren; - placeholder: "Search"; - placeholder-color: @grey; - font: "Sora Regular 20"; -} - -#prompt { - background-color: @background; - padding: 0 4px; - margin: 0 5px 0 0; - text-color: @foreground; - font: "Sora Regular 20"; -} - diff --git a/general/configs/rofi/themes/nord.rasi b/general/configs/rofi/themes/nord.rasi deleted file mode 100755 index e81b5eb..0000000 --- a/general/configs/rofi/themes/nord.rasi +++ /dev/null @@ -1,127 +0,0 @@ -/** - * Nordic rofi theme - * Adapted by undiabler - * - * Nord Color palette imported from https://www.nordtheme.com/ - * - */ - - -* { - nord0: #2e3440; - nord1: #3b4252; - nord2: #434c5e; - nord3: #4c566a; - - nord4: #d8dee9; - nord5: #e5e9f0; - nord6: #eceff4; - - nord7: #8fbcbb; - nord8: #88c0d0; - nord9: #81a1c1; - nord10: #5e81ac; - nord11: #bf616a; - - nord12: #d08770; - nord13: #ebcb8b; - nord14: #a3be8c; - nord15: #b48ead; - - foreground: @nord9; - backlight: #ccffeedd; - background-color: transparent; - - highlight: underline bold #eceff4; - - transparent: rgba(46,52,64,0); -} - -window { - location: center; - anchor: center; - transparency: "screenshot"; - padding: 10px; - border: 0px; - border-radius: 6px; - - background-color: @transparent; - spacing: 0; - children: [mainbox]; - orientation: horizontal; -} - -mainbox { - spacing: 0; - children: [ inputbar, message, listview ]; -} - -message { - color: @nord0; - padding: 5; - border-color: @foreground; - border: 0px 2px 2px 2px; - background-color: @nord7; -} - -inputbar { - color: @nord6; - padding: 11px; - background-color: #3b4252; - - border: 1px; - border-radius: 6px 6px 0px 0px; - border-color: @nord10; -} - -entry, prompt, case-indicator { - text-font: inherit; - text-color:inherit; -} - -prompt { - margin: 0px 1em 0em 0em ; -} - -listview { - padding: 8px; - border-radius: 0px 0px 6px 6px; - border-color: @nord10; - border: 0px 1px 1px 1px; - background-color: rgba(46,52,64,0.9); - dynamic: false; -} - -element { - padding: 3px; - vertical-align: 0.5; - border-radius: 4px; - background-color: transparent; - color: @foreground; - text-color: rgb(216, 222, 233); -} - -element selected.normal { - background-color: @nord7; - text-color: #2e3440; -} - -element-text, element-icon { - background-color: inherit; - text-color: inherit; -} - -button { - padding: 6px; - color: @foreground; - horizontal-align: 0.5; - - border: 2px 0px 2px 2px; - border-radius: 4px 0px 0px 4px; - border-color: @foreground; -} - -button selected normal { - border: 2px 0px 2px 2px; - border-color: @foreground; -} \ No newline at end of file diff --git a/general/configs/rofi/themes/power.rasi b/general/configs/rofi/themes/power.rasi deleted file mode 100755 index 8c70407..0000000 --- a/general/configs/rofi/themes/power.rasi +++ /dev/null @@ -1,78 +0,0 @@ -* { - background: rgba(0, 30, 50, 1); - foreground: #ffffff; - border-color: @background; - bg-selected: #282c34; - grey: #565c64; - spacing: 2; - width: 20em; - margin: 0; - padding: 0; -} - -#window { - background-color: @background; - border: 0; - padding: 0; - location: west; - anchor: west; - height: 40%; - margin: 0; -} - -#mainbox { - background-color: @background; - spacing: 10px; - margin: 10px 0 0 0; - width: 200px; -} - -#inputbar { - children: [prompt,entry]; - background-color: @background; -} - -#listview { - background-color: @background; - fixed-height: true; - margin: 5px 0 0 10px; -} - -#element { - padding: 5px; - background-color: @background; - text-color: @foreground; -} - -element selected { - background-color: @bg-selected; - text-color: @foreground; -} - -element-text { - background-color: inherit; - text-color: inherit; -} - -element-icon { - background-color: inherit; - margin: 0 4px 0 0; - size: 25px; -} - -#entry { - background-color: @background; - text-color: @foreground; - placeholder: "Search"; - placeholder-color: @grey; - font: "Sora Regular 20"; -} - -#prompt { - background-color: @background; - padding: 0 4px; - margin: 0 5px 0 0; - text-color: @foreground; - font: "Sora Regular 20"; -} - diff --git a/general/configs/rofi/themes/runnerTheme.rasi b/general/configs/rofi/themes/runnerTheme.rasi deleted file mode 100755 index 7d4774c..0000000 --- a/general/configs/rofi/themes/runnerTheme.rasi +++ /dev/null @@ -1,78 +0,0 @@ -* { - background: rgba(0, 30, 50, 1); - foreground: #ffffff; - border-color: @background; - bg-selected: #282c34; - grey: #565c64; - spacing: 2; - width: 30em; - margin: 0; - padding: 0; -} - -#window { - background-color: @background; - border: 0; - padding: 0; - location: west; - anchor: west; - height: 70%; - margin: 0; -} - -#mainbox { - background-color: @background; - spacing: 10px; - margin: 10px 0 0 0; - width: 200px; -} - -#inputbar { - children: [prompt,entry]; - background-color: @background; -} - -#listview { - background-color: @background; - fixed-height: true; - margin: 5px 0 0 10px; -} - -#element { - padding: 5px; - background-color: @background; - text-color: @foreground; -} - -element selected { - background-color: @bg-selected; - text-color: @foreground; -} - -element-text { - background-color: inherit; - text-color: inherit; -} - -element-icon { - background-color: inherit; - margin: 0 4px 0 0; - size: 25px; -} - -#entry { - background-color: @background; - text-color: @foreground; - placeholder: "Search"; - placeholder-color: @grey; - font: "Sora Regular 20"; -} - -#prompt { - background-color: @background; - padding: 0 4px; - margin: 0 5px 0 0; - text-color: @foreground; - font: "Sora Regular 20"; -} - diff --git a/general/configs/rofi/themes/sidetab-nord.rasi b/general/configs/rofi/themes/sidetab-nord.rasi deleted file mode 100755 index 49a1f49..0000000 --- a/general/configs/rofi/themes/sidetab-nord.rasi +++ /dev/null @@ -1,78 +0,0 @@ -* { - background: #1e222a; - foreground: #E5E9F0; - border-color: @background; - bg-selected: #282c34; - grey: #565c64; - spacing: 2; - width: 30em; - margin: 0; - padding: 0; -} - -#window { - background-color: @background; - border: 0; - padding: 0; - location: west; - anchor: west; - height: 100%; - margin: 0; -} - -#mainbox { - background-color: @background; - spacing: 10px; - margin: 10px 0 0 0; - width: 200px; -} - -#inputbar { - children: [prompt,entry]; - background-color: @background; -} - -#listview { - background-color: @background; - fixed-height: true; - margin: 5px 0 0 10px; -} - -#element { - padding: 5px; - background-color: @background; - text-color: @foreground; -} - -element selected { - background-color: @bg-selected; - text-color: @foreground; -} - -element-text { - background-color: inherit; - text-color: inherit; -} - -element-icon { - background-color: inherit; - margin: 0 4px 0 0; - size: 25px; -} - -#entry { - background-color: @background; - text-color: @foreground; - placeholder: "Search"; - placeholder-color: @grey; - font: "Sora Regular 20"; -} - -#prompt { - background-color: @background; - padding: 0 4px; - margin: 0 5px 0 0; - text-color: @foreground; - font: "Sora Regular 20"; -} - diff --git a/general/configs/rofi/themes/sidetab.rasi b/general/configs/rofi/themes/sidetab.rasi deleted file mode 100755 index 507e3c4..0000000 --- a/general/configs/rofi/themes/sidetab.rasi +++ /dev/null @@ -1,135 +0,0 @@ -/******************************************************* - * ROFI configs i3 Apps menu for EndeavourOS - * Maintainer: joekamprad - *******************************************************/ -configuration { - font: "Sourcecode Pro Regular 10"; - show-icons: true; - icon-theme: "Arc-X-D"; - display-drun: "Apps"; - drun-display-format: "{name}"; - scroll-method: 0; - disable-history: false; - sidebar-mode: false; -} - -@import "~/.config/rofi/arc_dark_transparent_colors.rasi" - -window { - background-color: @background; - border: 0; - padding: 30; -} -listview { - lines: 10; - columns: 3; -} -mainbox { - border: 0; - padding: 0; -} -message { - border: 2px 0px 0px ; - border-color: @separatorcolor; - padding: 1px ; -} -textbox { - text-color: @foreground; -} -listview { - fixed-height: 0; - border: 8px 0px 0px ; - border-color: @separatorcolor; - spacing: 8px ; - scrollbar: false; - padding: 2px 0px 0px ; -} -element { - border: 0; - padding: 1px ; -} -element-text { - background-color: inherit; - text-color: inherit; -} -element.normal.normal { - background-color: @normal-background; - text-color: @normal-foreground; -} -element.normal.urgent { - background-color: @urgent-background; - text-color: @urgent-foreground; -} -element.normal.active { - background-color: @active-background; - text-color: @active-foreground; -} -element.selected.normal { - background-color: @selected-normal-background; - text-color: @selected-normal-foreground; -} -element.selected.urgent { - background-color: @selected-urgent-background; - text-color: @selected-urgent-foreground; -} -element.selected.active { - background-color: @selected-active-background; - text-color: @selected-active-foreground; -} -element.alternate.normal { - background-color: @alternate-normal-background; - text-color: @alternate-normal-foreground; -} -element.alternate.urgent { - background-color: @alternate-urgent-background; - text-color: @alternate-urgent-foreground; -} -element.alternate.active { - background-color: @alternate-active-background; - text-color: @alternate-active-foreground; -} -scrollbar { - width: 4px ; - border: 0; - handle-color: @normal-foreground; - handle-width: 8px ; - padding: 0; -} -mode-switcher { - border: 2px 0px 0px ; - border-color: @separatorcolor; -} -button { - spacing: 0; - text-color: @normal-foreground; -} -button.selected { - background-color: @selected-normal-background; - text-color: @selected-normal-foreground; -} -inputbar { - spacing: 0; - text-color: @normal-foreground; - padding: 1px ; -} -case-indicator { - spacing: 0; - text-color: @normal-foreground; -} -entry { - spacing: 0; - text-color: @normal-foreground; -} -prompt { - spacing: 0; - text-color: @normal-foreground; -} -inputbar { - children: [ prompt,textbox-prompt-colon,entry,case-indicator ]; -} -textbox-prompt-colon { - expand: false; - str: ":"; - margin: 0px 0.3em 0em 0em ; - text-color: @normal-foreground; -} \ No newline at end of file diff --git a/general/configs/terminator/config b/general/configs/terminator/config deleted file mode 100755 index 6a401a1..0000000 --- a/general/configs/terminator/config +++ /dev/null @@ -1,21 +0,0 @@ -[global_config] -[keybindings] -[profiles] - [[default]] - background_darkness = 0.9 - background_type = transparent - font = Source Code Pro 10 - foreground_color = "#cc5c00" - custom_command = fish - use_system_font = False - title_transmit_fg_color = "#000000" - title_transmit_bg_color = "#cc5c00" -[layouts] - [[default]] - [[[window0]]] - type = Window - parent = "" - [[[child1]]] - type = Terminal - parent = window0 -[plugins] diff --git a/general/configs/wlogout/default-style.css b/general/configs/wlogout/default-style.css deleted file mode 100644 index 56a3578..0000000 --- a/general/configs/wlogout/default-style.css +++ /dev/null @@ -1,60 +0,0 @@ -window { - font-family: monospace; - font-size: 14pt; - color: #ffffff; /* text */ - background-color: rgba(1, 9, 36, 0.5); -} - -button { - background-repeat: no-repeat; - background-position: center; - background-size: 25%; - border: none; - background-color: rgba(30, 30, 46, 0); - margin: 5px; - transition: box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out; -} - -button:hover { - background-color: rgba(0, 94, 31, 0.2); -} - -button:focus { - background-color: rgba(0, 94, 31, 1); - color: #1e1e2e; -} - -#lock { - background-image: image(url("./lock.png")); -} -#lock:focus { - background-image: image(url("./lock-hover.png")); -} - -#logout { - background-image: image(url("./logout.png")); -} -#logout:focus { - background-image: image(url("./logout-hover.png")); -} - -#suspend { - background-image: image(url("./sleep.png")); -} -#suspend:focus { - background-image: image(url("./sleep-hover.png")); -} - -#shutdown { - background-image: image(url("./power.png")); -} -#shutdown:focus { - background-image: image(url("./power-hover.png")); -} - -#reboot { - background-image: image(url("./restart.png")); -} -#reboot:focus { - background-image: image(url("./restart-hover.png")); -} diff --git a/general/configs/wlogout/layout b/general/configs/wlogout/layout deleted file mode 100755 index 86b2184..0000000 --- a/general/configs/wlogout/layout +++ /dev/null @@ -1,30 +0,0 @@ -{ - "label" : "lock", - "action" : "hyprlock", - "text" : "Lock", - "keybind" : "l" -} -{ - "label" : "reboot", - "action" : "systemctl reboot", - "text" : "Reboot", - "keybind" : "r" -} -{ - "label" : "shutdown", - "action" : "systemctl poweroff", - "text" : "Shutdown", - "keybind" : "s" -} -{ - "label" : "logout", - "action" : "hyprctl dispatch exit 0", - "text" : "Logout", - "keybind" : "e" -} -{ - "label" : "suspend", - "action" : "systemctl suspend", - "text" : "Suspend", - "keybind" : "u" -} diff --git a/general/configs/wlogout/lock-hover.png b/general/configs/wlogout/lock-hover.png deleted file mode 100755 index 8fb86fe4421996ac31b81124dd628f74478672bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5771 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 Z=BpAK;a9M7S`-ulERi;5wI&`n{|3+(eklL| diff --git a/general/configs/wlogout/lock.png b/general/configs/wlogout/lock.png deleted file mode 100755 index 430451c8df14dd98eac8bc6fd4a9aea3b6a1d8df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5771 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 z 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 diff --git a/general/configs/wlogout/logout.png b/general/configs/wlogout/logout.png deleted file mode 100755 index 128c9955b46dcd12fcbb3df8c9d989d1adca1fb7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3784 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 ALjV8( diff --git a/general/configs/wlogout/mclaren-style.css b/general/configs/wlogout/mclaren-style.css deleted file mode 100644 index e69de29..0000000 diff --git a/general/configs/wlogout/power-hover.png b/general/configs/wlogout/power-hover.png deleted file mode 100755 index 122d3318ec07cff6a5b2883830d7003491ea9ecf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10841 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 d6L~C&U+kZxR&qr-LCKQx#otWy|u8Qq#y)A z!Zt*U;}8S~f5IVt6!=((?p_5Sd;z9*rV#WbOK9B(3I50V5|7(KP>eDJk*`4zZwZ+L zK@nOIH02FJ_}dV)JCye7*dZ{1I%8{X0d4VqN*XJ2!H7U8(JdT;;TL(ouzdbV7cht> z+1Od4e+r^7{00)7-3}0>T4!Tn>J;5SJs8#J;as%zXEv8=CPclaY)Impvu+pkRG!j+BM zU+38TY&4?}wqdLZYa1*9tbBxN#a&@G_;tCJtNj;{2Jugm`gSJnXm3#(vYwPoT=wE9BxF%+ifB0*(U~hu0|? zNPA_?54WuThL>co8U~&kzFwB(E#MeiHv&wd7b+bZN)jD^4<-%y43l>kkL_;VQF1OQ zW<^8_o~bz9E~iOF5`=X4;)<4rj%vVCSs#IYvG6#d*+1@(iF85nF~%Q;Dbv*Rsx4nn zopS!_qHhB01}#YP<%u*`NYBI?KAVQoHruz|>4bdV>f&e;y*G-*o7wMGx-q=&)zS;A zJ~cqun3(WNY$`XeyrKcclzxU$tSFppB|=2&;)sdH#4mUKClKf5lFC+yU>+pwJ|nW_ zW0d*3$_f}PR%Gz9%Q=BBC8Y5Yli#Y}HHhJE5Fa;^Wi;xsddL;t{kX<>UG5S8%HdjT zlIVwDEMc$4ZxV*rBY$%Z&H=U_hq+DlrZE{eqREbbG$6l$J%$-|S^9$xL$1yr9s^`mxcUBe!48TyTbOZ9=NcJZ+gmp*WC!cX}) z_iiq5Wnb(FJupf1+4T|bcvqWohY`axg>U;T;Cc|B;$G1{yYAI?pMHXGP^UploIEEj zd~r8czGakAk$9>ssWM^)S(A#{&M9I{0Ij%*lb^nkT{%Ze!A(HF;LY&xvL>(u@^o;Q zS#~7d#!+Cg))dEZ4QRY?$BHK@1e+&+((IwM}0jpZYR<7Fyz)$-;Ei{$WTk+5s2w;^diA{DuOq%6MYZUA`q) zq|)H0d!97Zo18f-L>}5+$!^a{iW~H5*7oM}g=q(R(N?@P)}n|j8mPx^WYlrAg!>Cf z(Nz2=_?Mu8<6pOzsK5(h23F`}6Ex_JV8dQO_OOkb$&{)PAxcw(cC>%_^{@LmZ%Z2k zW)kwILU#s|Ch0(<67YEFp*YrJu@)kAsj{taKKU@ANiUoeV46BzQz1uX3kC@Ig$uBJ zeD2xd_FYAm6uyOi@4=SA0w zf>YV6UwymCQlL z1+teVI{T*&hU?6lN$e_b>OQxhby;8v5+WG9Nnfyk^Ponhs3+coBs!@?vyXAvB$B9- zR|<7b?uodIERo7YDqB%1Tg6y^J}d(|R-7W7dhgryQ>LlnB%#= z+@6JVObFEl47mjz%;EG!RFsQR7wlke z-nxwkH;RSw@Hj-|Ai@(u+NemJgRhP5B}!S+w!RPau4aD=bT;aDF+H1nsvHc7ay`6{ zl0=;W!(Hzg>SgBJ`W6`je?}h9#E?l=%^pls)WslHC#@|Vi8E1$7iVC!z3a36*Gwd_ z7S-Q8=>KSX6nUi^DcXX6>pLEb%eXo>UNgtoPo8p zA0Sa->sK=sz>Y{|%7lkRsVuxH6bHttK6M_r*gZN4~7{NIordg$ot0mWM!Y4#Py zZw?NjVho>Op_j{Q3uiu6g2KP7$B9IQ9(L(-N;ml&FQqd=7<1lTu)- zlA&QF{wk%n+i1M$%_P$24@< zSkr__@4%iR%-|Z^ZtuccoWG-z=)vg}xLS zGJ+p&a}_i|pEnjFytXTo+RfyOR_JctL%!x)A@Pn&368rwsR1Ujf=5#@+R$*xsazTz zj}@j#V$VQ%B?tZP=W0OH&oycj!15J^!GTw<)dSYV3jUunqYM^PPA^29ytJxV8%jz! z+=0WotviuK_v&V`G6bHbu`+sZ7oCNjt570~SX1_p9dhme$#ojM$Jox4L$OC2;WM6rz-*tI(Um>Wk@yyQ@R_7^!W@uBOxr(gzL%ronX@#i|Rv1%j1c~ z7`XTiOz8w~#asG#g3%gIW>#Ie%`4Htg2L%y(f1?IZwF$f%Ws8jRlwe*W8@+}{b3-P za;qfK!{P29wsiZ)gBa(*|6IPn#jEu9YkLCy>}tM3k(rp%05_iD6RqGNQ`NiP$K<&py$f3=GK>PDTW;5nD8>!IL9NK3;izJ)I5{%fAh7+D z^dLG;4u8$*wnO#{p-$!x#t>5uXfcgezp>8pl?5ks9?!KwAw^L)T=-R>U(I-eLId0IIaXjDB zLH0UFGzVId2(=`o$c)E`{032j=10bsn=f#v94P1RL^u-`Q>Xh+aeRR$n2LhR!4%u< z`-1iP!nBrfG4E~MC64I5r_kTu6!3(s%ybMc@NQ-*=1ckM+3Vk)L4Uhu9unDnx!rI- z{u=!d zF}K{D=w7mgngMD`lAgT*DC&jS%t>#WprST%`-4&3K_G5lUfi-pYaX)Xa)@F_Tu19p z#uKKTVn$0nxr!;LCTae*z3iDE?A%acIbwm`JQll9=~O^z4KJMWC_~)*2>o1U>h zY<`#tQ*_Q5)nBvnF6D?SJ%RKt2+hTQj!@vP0WGP$6l+kzTUh3DQ`lB+P{FOygEgb& z2;x+$08kNkl>_m1sMo`}+xBhbhDE?9>ln1L$gEEV$Py!4cp-@Aocytu_g#`A?Oq~4lqILZ1t#QL_BI{Y$>*U?=7dJ4+1ceCU;M0+Lg<%9_SsdR@_e(VT zri>@-)qpxK2a(9B@%9A>++Ht-Y|ruWF?}ZNh!5=C#~qAUK;*XR`*MLpovC1dGUEqO zs5h88Ikvc&pcd*w;j*zbDsqDqz**_a=0ahXJdq&4{k2 zzF?O)6Q&ln;x(1$Wr40d*AAqtg}Ot;YLAgp1pQ$F))cCq<2%S7WIb*b-f-S|1w_sR1nxXyFOS6Nwjq8&rSLXDo0;ca7;qso9E?S0C-fmRx;6z5}$= z^J6c28Hn8yG+)P~^;}*{n|HniAoqY)^QV;&#*};Y3GVoKu?*ov3M4@`&)cRYqr^(A z#K|$^3nN#O7X%5%qde^Ue<|!X8Z>|A3#;ty2V6FYgD7>4?rw}ZEsHI?O8e>P*9^$$ z12Um*fJ{cqq&~S2*3$w8X@}n=0QaxjZj=FykwiK`8F@Gj)((`(z7MXFWOmo{xA0mb zDW&Eq)Ey8pXY}a|Ce#*KBctI4sbj*M-&G%P;R4i`+eKNjr$MT>eq3V90tC^fr#gU;Q!EO?zugI zx>YK^#)R{@eF_0a%V|TW24%2>v;#n9+ zQ~P1KqOiR^()$Sq@;D2tY%b&3!URvIi-K~fk^y%_fTdxQu-oE5j+99-3%n8xXVDHn z)a4xws&pFf+(vjUMD%+KiFJZWZLqFoQW+N*8m6{oGnyvQq`6WL;-k5P<|Ib8Cin*mm91sPj;Fh+<_w7}7`A%+mM~9A ztF`u-7~I~!>43E{l0yfNRu)hqa2hiGeQVV^D78v>#*F6OHKRd3p5}Yw?U%cGjQnu~ zw4`CwwwpZW{!%yb$o#N6>?AB1q}}t~qP%)(dkh~ah5o~(TF3PnfAK03Mg8-a=e{BJ z{?ij*ngH%zZbKfCOa~O5xC9cJcaJ7!f%#mGfO@UQomOX4FkhTOZ1^q%T(AfD!TIiL zFy8=D6YpY$TLWRfW`H|-?AL#2VE+j>H&r}=GQLpSG3oDEtxh&BGk0pKj%=@57~cNx zU3v*NBQIokqL%-Dw6uy2jUn+z{1xrp!3#wTeroD(;gz3@=)xLdwW76=yxZ)G-h%~q z#vc}CN#Upo5w6^YgY}6%UJIqP}d;1)K^`ymElLGYA!K8f`HI6DN}$IA~c4rax)PJKm}5DvM~Fz z1O)Y3qd7WYVsj6+r0fxpzuGytcO?UugBScLnV z+8dy4dbVZv@-b+hrT(pO$9J^Df45T)2xNB~|3cV;_>HUB@8AYBzP|zv)$*dr^OouU z&gr2$fRl}y43KK#%)Ilmu{1IvOMN!C3;6n2|2#0(GTpQ;zJ8JDp)D94PD)AL2OD0i5PPz_)f{%h1Kj@8m42EQ-?sQ)y%hknAH|bhM5G8N15%9R}PZ`vv-N zfMnPk75~p*s)8=}_`9?;mcW8vQNt5N{NVvs6xD1b?qd>fW^8rZOzr(DBa$f>6AI%x zl2UfKK|jXuV-b$PndV9Smpi+RjPZo3|MZ*VnwI@5XD*Vcss6BEP`wp8dm-T~U$F8! zg*U~hyk-HioHQ(Do`3Qh<9j;ltti%vH7{)+FOoo>=Z?q%R)2K^R{IO}1aW(ZRvE$I z)SJH^e6g>E{$Ab71udLRI{d8|)@%o~Wq)^hu9>V0RHo4^VwZmuX@3J$)PrPU;0@OY z_@ZsW;tf8KYIqfObTdd)OwrJ@pcD`FlKXsT3o=Q;IPz-r3uI8IES!t=&gY08FO5V- z@(Od>Y-|xQJB3!rH6ZgU`@hnWnV{08&}J|HJ28Cy5i0HwuTe8BE_FE1v z=CC!?KN-(n;fP+5MAD$6=@@yx^EPaYx%d@xN#?@Huo-A(@w9cyr;~r%nb1A2h^zpU zTq&^cZy;)d7VL2XD}yp|kh~1sU+0-@Z2+$)77ukG@plx4L;XR4>=4EoAcY>HFSQO& zU|kL3KaJ6l#?l=ea+Wkf9g_01V>>xA7Fw|fJNJmtOowcx?kOKt^iY3kvMx6r_@n9F z2hb8P7n4TE9^N8alYbsAwW)4bWiiduM|@4i=nz12o`xySeg=(AoM4;)Qg9;Z%flsrg&5npnzFHh9mJ=ep?NpwY z7}7^Gi;P9+K3gc>?Lk%ixbOK5AUr_{>}-yxzTq}QP~GbROw}tD(4izE00PUy#0G5* z-Z>Krj;(vFr>l9H(|7)Pg)fWH3LNnAYb(64nTgn!4q&w`2)vB|bWTmu&ixy!C!}R} zcHXR-uQ++VL(Wd4Kn6=!o`uJ6OV7Z_XM8bai?KJDrss8p`?5&0$3AL6gWLd?VtGyf zPQ!eXT3NUM&cu1n5PoZ7_0ZiBrU1ZW4O8o!LtTP|z!QrCK1EOV0hFH|S^v9w_)B9( zOR67$8^1APiMrvh&quJsydQ9IETK24q-wAHrKN;YYqAJ+MxTc_)_=DvFzofqO`K1x z2cX!`e&L4O!9`OB``2@AStzsWN`6JwFlDb%uU*?AA{qJYca_ituB z$|YV8fRTF27_wyj@+3XBy!U?gCI_e1rpQ)dNR@$+$Bd7RolH|b*GvH0I zsA<$`^u?V3kba^Ws!$sRMh2lcE&R19pr*F~U`uQUY;wlwcG;O9HLvx&zD}%I@qixg z!QMA@fMTgXcT@pD!f!=)awFO%HcAABhFo&|wQQX)9x1S%54jmpOfxT7h_WS#_B^JG zL{4_{y_LkuGprcSbS6L~n<^K@m8bV#QmQp2-G(R#fK!$FH;542tPtwX>ARt$Y{SOsyxl5%X=Q-CIT+99S#R}5RJlnK4vi8Xto z0l`r$fuHTh*@ukkNe_A{oO*yl7eYUI|c=;W!# zcl9L!s&=FM9{q-IeA31GM>bO5)?v{qL!+LYW_oYD(zIapKinT*YQdeb$t_%;zGz+X=a-Fg>-fGt--Le`aNK`De8nj6G1M`vz?fth*gO{O zexsjw#YW`0Us+S#cO-rLLkXs7H|V`O+U4m%re3?TiaSpbXPpzSs#Nv_Ne7CgiNFR% z4K}hHq@#`F4=lpL%FlePoCX(5bZZN@k`c)G(9rx>NjmBUa*1yUrXhhAp%Wf8^2$4P8%IK}; z2d&Vpea7G!(#~Zc!?<@M03IltTtpP9881ip{XXRF;_XfneV&gbC}?NuJ>1CS;ILY` zb#(6cmnNV&5PSifOnkR9@ZN{p90E2}xz+&mqoU6X!E*fqQhIP}#r>XH<51TTTg62l?2^lF!g0nEp3xUbR9H$15-%$nMXE27z2gw78 z38;WriCUdn!CJN2eSk;Qq}02DOMHQ`UQsJuDd4&EK^Cl;YK0UFKz+_jjJ0_nB12o7 z|MI=qIyzFPZMD3!Z#iJ{xdzYYKbIaHUUpM8#G`*?v8SZG(iS|T*2Q>?|Psa2j{FRjl z0pif&uNd!ec0UJqTrL=Tfh&quUHk+uF>RpKIsf_xWWvlf{Xl{7Veq_`0NyIwd>K-S zO`#GwdgsE)k8=);hN;*HUqcd-^n_M+a8I(C9IfNlhwSlula7bHk08#1hwo11BKc@v zkeS2lsXzN@+p!jdzA#6RO|ybZ60qss6BX1*hxHRA(TH3mAwtr#Vm9a^|g0}%nW-*7AdZ*FGI_R~*Ye{hIHCmvhU^73xMMC}1_$J!w)U zGcjT-TD8J~FW!l@!AoA;M$n*#<^{r<5v||o*)_g@PQ7#g3yis$14X++}RnKYs?xs!ynj05UwQqIV&C6&uAvIZj4~Qm$!r z6W6VmtDkE?ZSOtkz3>58uO%h>=cqe7fy7)@-#z(N8IGpDP1M|u zwX(b|7$>x%#wC*WRJmkAs!<}jR`8PwgVYL3^zi^Yg^u4|!iHk9n{6~C!Q+qU z7qz`W*PbKoxn3Yh6O5B>zyqgH6e1rv0P9PuYiFNi`gB(o+9;SeXP?X=egL3hE1q$f z5l?SKb{l6QDyVO#x8(5YVjXat@o*U_Oynm2^O>={%Gv_k=Ia#$ zf3Rm5Qeof8gA6H(Lxaisx&Y#AdhM&IHY+{S>g;A&UQJ_mLsOx1!GUyyf%|*V@ zU6X|y_rep3WUxo3)P%_050BAx1rFeLCGkSluJR=P-}~6fAWG&YFNMh2{mku#z#@$8 zpNkT%BCbNNcl6$el1L3Q9q<`cFgjStm_w0W&9b269sytX>JQq+-Oo^?n`y28YNPvR zs_d)}A2AP4kb!0tjXAT?osSb#8k_UG%|N+Gtt05#G$^W$>DCBIQ|KwuHC9$w23udn~_9{={tvtW+|Z_kMke^QiBm>(1s6}2xg_(Hg^PpIF%kg$Nl TnM0Cb5oBX&Z&73Bef9qU&dpfM diff --git a/general/configs/wlogout/restart-hover.png b/general/configs/wlogout/restart-hover.png deleted file mode 100755 index 3e1853601ef6d61e2d49593f56d4b92d2280453b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7810 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%0D^TMR7k8sOQ9pF4k+?e){3PqY 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 diff --git a/general/configs/wlogout/sleep-hover.png b/general/configs/wlogout/sleep-hover.png deleted file mode 100755 index 0fd3badea33fadee1245b528bc04defa9510649d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5721 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 diff --git a/general/configs/wlogout/style.css b/general/configs/wlogout/style.css deleted file mode 100755 index 48b3a11..0000000 --- a/general/configs/wlogout/style.css +++ /dev/null @@ -1,60 +0,0 @@ -window { - font-family: monospace; - font-size: 14pt; - color: #ffffff; /* text */ - background-color: rgba(0, 0, 0, 0.6); -} - -button { - background-repeat: no-repeat; - background-position: center; - background-size: 25%; - border: none; - background-color: rgba(30, 30, 46, 0); - margin: 5px; - transition: box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out; -} - -button:hover { - background-color: rgba(204, 92, 0, 0.3); -} - -button:focus { - background-color: #cc5c00; - color: #1e1e2e; -} - -#lock { - background-image: image(url("./lock.png")); -} -#lock:focus { - background-image: image(url("./lock-hover.png")); -} - -#logout { - background-image: image(url("./logout.png")); -} -#logout:focus { - background-image: image(url("./logout-hover.png")); -} - -#suspend { - background-image: image(url("./sleep.png")); -} -#suspend:focus { - background-image: image(url("./sleep-hover.png")); -} - -#shutdown { - background-image: image(url("./power.png")); -} -#shutdown:focus { - background-image: image(url("./power-hover.png")); -} - -#reboot { - background-image: image(url("./restart.png")); -} -#reboot:focus { - background-image: image(url("./restart-hover.png")); -} diff --git a/general/docker/daemon.json b/general/docker/daemon.json deleted file mode 100644 index 581de36..0000000 --- a/general/docker/daemon.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "data-root": "/mnt/storage/docker" -} diff --git a/general/kmonad/swap-esc-caps.kbd b/general/kmonad/swap-esc-caps.kbd deleted file mode 100644 index 3c21dc4..0000000 --- a/general/kmonad/swap-esc-caps.kbd +++ /dev/null @@ -1,14 +0,0 @@ -(defcfg - input (device-file "/dev/input/event4") - fallthrough true) - -(defsrc - esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 ptsc del - -) - -(deflayer main - (switchesc capslock escape) - (switchcaps escape capslock)) - -(defoutput uinput-sink) diff --git a/general/mkinitcpio.conf b/general/mkinitcpio.conf deleted file mode 100644 index 2fd80a4..0000000 --- a/general/mkinitcpio.conf +++ /dev/null @@ -1,73 +0,0 @@ -# vim:set ft=sh -# MODULES -# The following modules are loaded before any boot hooks are -# run. Advanced users may wish to specify all system modules -# in this array. For instance: -# MODULES=(usbhid xhci_hcd) -MODULES=() - -# BINARIES -# This setting includes any additional binaries a given user may -# wish into the CPIO image. This is run last, so it may be used to -# override the actual binaries included by a given hook -# BINARIES are dependency parsed, so you may safely ignore libraries -BINARIES=() - -# FILES -# This setting is similar to BINARIES above, however, files are added -# as-is and are not parsed in any way. This is useful for config files. -FILES=() - -# HOOKS -# This is the most important setting in this file. The HOOKS control the -# modules and scripts added to the image, and what happens at boot time. -# Order is important, and it is recommended that you do not change the -# order in which HOOKS are added. Run 'mkinitcpio -H ' for -# help on a given hook. -# 'base' is _required_ unless you know precisely what you are doing. -# 'udev' is _required_ in order to automatically load modules -# 'filesystems' is _required_ unless you specify your fs modules in MODULES -# Examples: -## This setup specifies all modules in the MODULES setting above. -## No RAID, lvm2, or encrypted root is needed. -# HOOKS=(base) -# -## This setup will autodetect all modules for your system and should -## work as a sane default -# HOOKS=(base udev autodetect modconf block filesystems fsck) -# -## This setup will generate a 'full' image which supports most systems. -## No autodetection is done. -# HOOKS=(base udev modconf block filesystems fsck) -# -## This setup assembles a mdadm array with an encrypted root file system. -## Note: See 'mkinitcpio -H mdadm_udev' for more information on RAID devices. -# HOOKS=(base udev modconf keyboard keymap consolefont block mdadm_udev encrypt filesystems fsck) -# -## This setup loads an lvm2 volume group. -# HOOKS=(base udev modconf block lvm2 filesystems fsck) -# -## NOTE: If you have /usr on a separate partition, you MUST include the -# usr and fsck hooks. -HOOKS=(base udev autodetect modconf kms keyboard keymap consolefont block filesystems fsck plymouth) - -# COMPRESSION -# Use this to compress the initramfs image. By default, zstd compression -# is used. Use 'cat' to create an uncompressed image. -#COMPRESSION="zstd" -#COMPRESSION="gzip" -#COMPRESSION="bzip2" -#COMPRESSION="lzma" -#COMPRESSION="xz" -#COMPRESSION="lzop" -#COMPRESSION="lz4" - -# COMPRESSION_OPTIONS -# Additional options for the compressor -#COMPRESSION_OPTIONS=() - -# MODULES_DECOMPRESS -# Decompress kernel modules during initramfs creation. -# Enable to speedup boot process, disable to save RAM -# during early userspace. Switch (yes/no). -#MODULES_DECOMPRESS="yes" diff --git a/general/pacman.conf b/general/pacman.conf deleted file mode 100644 index 7d7c2fd..0000000 --- a/general/pacman.conf +++ /dev/null @@ -1,100 +0,0 @@ -# -# /etc/pacman.conf -# -# See the pacman.conf(5) manpage for option and repository directives - -# -# GENERAL OPTIONS -# -[options] -# The following paths are commented out with their default values listed. -# If you wish to use different paths, uncomment and update the paths. -#RootDir = / -#DBPath = /var/lib/pacman/ -#CacheDir = /var/cache/pacman/pkg/ -#LogFile = /var/log/pacman.log -#GPGDir = /etc/pacman.d/gnupg/ -#HookDir = /etc/pacman.d/hooks/ -HoldPkg = pacman glibc -#XferCommand = /usr/bin/curl -L -C - -f -o %o %u -#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u -#CleanMethod = KeepInstalled -Architecture = auto -ILoveCandy -# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup -#IgnorePkg = -#IgnoreGroup = - -#NoUpgrade = -#NoExtract = - -# Misc options -#UseSyslog -Color -#NoProgressBar -CheckSpace -#VerbosePkgLists -ParallelDownloads = 5 - -# By default, pacman accepts packages signed by keys that its local keyring -# trusts (see pacman-key and its man page), as well as unsigned packages. -SigLevel = Required DatabaseOptional -LocalFileSigLevel = Optional -#RemoteFileSigLevel = Required - -# NOTE: You must run `pacman-key --init` before first using pacman; the local -# keyring can then be populated with the keys of all official Arch Linux -# packagers with `pacman-key --populate archlinux`. - -# -# REPOSITORIES -# - can be defined here or included from another file -# - pacman will search repositories in the order defined here -# - local/custom mirrors can be added here or in separate files -# - repositories listed first will take precedence when packages -# have identical names, regardless of version number -# - URLs will have $repo replaced by the name of the current repo -# - URLs will have $arch replaced by the name of the architecture -# -# Repository entries are of the format: -# [repo-name] -# Server = ServerName -# Include = IncludePath -# -# The header [repo-name] is crucial - it must be present and -# uncommented to enable the repo. -# - -# The testing repositories are disabled by default. To enable, uncomment the -# repo name header and Include lines. You can add preferred servers immediately -# after the header, and they will be used before the default mirrors. - -#[testing] -#Include = /etc/pacman.d/mirrorlist - -[core] -Include = /etc/pacman.d/mirrorlist - -[extra] -Include = /etc/pacman.d/mirrorlist - -#[extra-testing] -#Include = /etc/pacman.d/mirrorlist - -# If you want to run 32 bit applications on your x86_64 system, -# enable the multilib repositories as required here. - -#[multilib-testing] -#Include = /etc/pacman.d/mirrorlist - -[multilib] -Include = /etc/pacman.d/mirrorlist - -[arch4edu] -Server = https://de.arch4edu.mirror.kescher.at/$arch - -# An example of a custom package repository. See the pacman manpage for -# tips on creating your own repositories. -#[custom] -#SigLevel = Optional TrustAll -#Server = file:///home/custompkgs diff --git a/general/scripts/ethz-vpn b/general/scripts/ethz-vpn deleted file mode 100755 index 7343ede..0000000 --- a/general/scripts/ethz-vpn +++ /dev/null @@ -1,59 +0,0 @@ -#!/usr/bin/env bash - -connect() { - read -sp $'Please type in your Encryption Password:\n' encpass - TOKEN=$(cat ~/.local/share/ethz-vpn-connect/ethzvpntoken.secret | openssl enc -aes-256-cbc -pbkdf2 -d -a -k $encpass) - PASSWORD=$(cat ~/.local/share/ethz-vpn-connect/ethzvpnpass.secret | openssl enc -aes-256-cbc -pbkdf2 -d -a -k $encpass) - USERNAME=$(cat ~/.local/share/ethz-vpn-connect/ethzvpnusername.txt) - echo $PASSWORD | sudo openconnect -b -u $USERNAME@student-net.ethz.ch -g student-net --useragent=AnyConnect --passwd-on-stdin --token-mode=totp --token-secret=sha1:base32:$TOKEN sslvpn.ethz.ch - encpass="" - PASSWORD="" - TOKEN="" -} - -disconnect() { - sudo killall -v -SIGINT openconnect #add -i option to ask for confirmation, usefull if running multible openconnect. -} - -setup() { - echo 'You are about to overwrite your secrets. Press ctrl + C to cancel.' - read -p $'Please type in your Username: ' USERNAME - echo 'Ok!' - read -sp $'Please type in your Encryption Password: ' encpass - echo 'Ok!' - read -sp $'Please type in your ETHZ WLAN Password: ' PASSWORD - echo 'Ok!' - read -sp $'Please type in your ETHZ OTP Secret: ' TOKEN - mkdir ~/.local/share/ethz-vpn-connect - echo $PASSWORD | openssl enc -aes-256-cbc -pbkdf2 -a -k $encpass >~/.local/share/ethz-vpn-connect/ethzvpnpass.secret - echo $TOKEN | openssl enc -aes-256-cbc -pbkdf2 -a -k $encpass >~/.local/share/ethz-vpn-connect/ethzvpntoken.secret - echo $USERNAME >~/.local/share/ethz-vpn-connect/ethzvpnusername.txt - encpass="" - PASSWORD="" - TOKEN="" - echo $'Secrets set\n' -} - -case "$1" in -'connect') - connect - ;; -c) - connect - ;; -'disconnect') - disconnect - ;; -d) - disconnect - ;; -dc) - disconnect - ;; -setup) - setup - ;; -*) - echo -e 'Usage: ethz-vpn [Option] \n [Option]: \n connect, c: Connect VPN \n disconnect, d, dc: Disconnect VPN \n setup: set secrets and eth-Kürzel.\n' - ;; -esac diff --git a/general/vscode-extensions b/general/vscode-extensions deleted file mode 100644 index d61326c..0000000 --- a/general/vscode-extensions +++ /dev/null @@ -1,49 +0,0 @@ -aaron-bond.better-comments -abusaidm.html-snippets -bmewburn.vscode-intelephense-client -bungcip.better-toml -dbaeumer.vscode-eslint -dlasagno.rasi -donjayamanne.jquerysnippets -ecmel.vscode-html-css -equinusocio.vsc-community-material-theme -equinusocio.vsc-material-theme -equinusocio.vsc-material-theme-icons -eww-yuck.yuck -fivethree.vscode-hugo-snippets -formulahendry.auto-rename-tag -gitlab.gitlab-workflow -golang.go -hollowtree.vue-snippets -ionic.ionic -james-yu.latex-workshop -lllllllqw.jsdoc -mads-hartmann.bash-ide-vscode -mathematic.vscode-latex -mathiasfrohlich.kotlin -mechatroner.rainbow-csv -ms-python.debugpy -ms-python.python -ms-vscode.cpptools -nadim-vscode.html-meta-tags-hero -nilssoderman.sitemap-generator -pwabuilder.pwa-studio -quicktype.quicktype -redhat.java -redhat.vscode-xml -rust-lang.rust-analyzer -sbsnippets.pytorch-snippets -spences10.robots-txt -streetsidesoftware.code-spell-checker -streetsidesoftware.code-spell-checker-german -svelte.svelte-vscode -tecosaur.latex-utilities -valentjn.vscode-ltex -vitest.explorer -vscjava.vscode-java-debug -vscjava.vscode-java-test -vscodevim.vim -vue.volar -wayou.vscode-todo-highlight -xdebug.php-debug -yinfei.luahelper diff --git a/install b/install new file mode 100755 index 0000000..4895251 --- /dev/null +++ b/install @@ -0,0 +1,4 @@ +#!/bin/sh + +# Read platform to install on (only if no platform file present in ~/.config/) +read -p "Choose the configs to install, Laptop or Desktop (l/D): " platform diff --git a/install-new.sh b/install-new.sh deleted file mode 100644 index 0a1f3b2..0000000 --- a/install-new.sh +++ /dev/null @@ -1,58 +0,0 @@ -echo "Welcome!" - -currentDir=pwd - -sudo pacman-key --recv-keys 7931B6D628C8D3BA -sudo pacman-key --finger 7931B6D628C8D3BA -sudo pacman-key --lsign-key 7931B6D628C8D3BA - -curl -O https://mirrors.tuna.tsinghua.edu.cn/arch4edu/any/arch4edu-keyring-20200805-1-any.pkg.tar.zst -pacman -U arch4edu-keyring-20200805-1-any.pkg.tar.zst - -echo " - -Installed arch4edu keyring, running reflector to update pacman mirrorlist... - -" -sudo pacman -Syu base-devel git reflector -sudo reflector -c 'Switzerland, Germany' --sort 'rate' --protocol https --latest 10 --save /etc/pacman.d/mirrorlist - -echo " - -Mirrorlist created, installing yay - -" - -cd /tmp -git clone https://aur.archlinux.org/yay.git -cd yay && makepkg -si - -echo " - -yay installed, updating & installing - -" - -yay -Syu - -# Hyprland -yay -S hyprland hypridle hyprfreeze hyprlock plymouth dunst rofi wlogout waybar xdg-desktop-portal-hyprland pipewire pipewire-alsa pipewire-pulse pipewire-jack mesa thunar yazi wireplumber grimblast wl-clipboard wget ttf-fantasque-nerd ttf-jetbrains-mono-nerd ttf-fluentui-system-icons ttf-comfortaa - -# Core -yay -S fish adobe-source-code-pro-fonts gnome-font-viewer gnome-characters gnome-tweaks lxappearance kvantum gnome-keyring smartmontools ffmpeg polkit-gnome swaybg network-manager-applet polkit-kde-agent cpupower-gui - -# Programming -yay -S meld docker vscodium kitty fish docker terminator ghex nodejs npm python-pip git-credential-manager-core-bin wine kate rustup cargo filezilla typescript-language-server php jdk vscode-css-languageserver vscode-html-languageserver bash-language-server lazygit -sudo npm i -g @vue/typescript-plugin - -# nvim -yay -S neovim lua lua-language-server tree-sitter texlab stylua luarocks jdtls perl julia autojump pyright - -# Internet -yay -S librewolf-bin webcord-bin thunderbird rustdesk brave-bin - -# Utilities -yay -S okular vlc nextcloud-client p7zip zip unzip gnome-keyring noto-fonts thunderbird pamixer pavucontrol light neofetch bashtop hugo sddm uxplay upower - -# LaTeX -yay -S texlive biber diff --git a/install-part-two.sh b/install-part-two.sh deleted file mode 100644 index 53cc98b..0000000 --- a/install-part-two.sh +++ /dev/null @@ -1,30 +0,0 @@ -echo "Welcome!" - -file="/home/janis/projects/dotfiles/pc/vscode-extensions" -while read line; do - vscodium --install-extension "${line}" -done < "${file}" - -echo "\n==> VSCode Extensions installed\n" - -cp -r ./pc/.config/* ~/.config -cp ./pc/.bashrc ~/.bashrc -cp ./pc/.bash_history ~/.bash_history - -sudo cp ./pc/mkinitcpio.conf /etc/mkinitcpio.conf -sudo cp ./pc/environment /etc/environment -sudo cp ./pc/grub /etc/default/grub -sudo plymouth-set-default-theme -R bgrt - -sudo mkinitcpio -P - -cd /tmp -git clone https://github.com/rtlewis1/GTK -cd GTK/ -git checkout Material-Black-Colors-Desktop -sudo cp -r ./Material-Black-Blueberry /usr/share/themes - -cd /tmp -git clone https://github.com/sandesh236/monterey-grub-theme -cd monterey-grub-theme/ -sudo ./install.sh diff --git a/laptop/.bashrc b/laptop/.bashrc deleted file mode 100755 index 95b0a32..0000000 --- a/laptop/.bashrc +++ /dev/null @@ -1,359 +0,0 @@ -# -# ~/.bashrc -# - -# If not running interactively, don't do anything -[[ $- != *i* ]] && return - -export PATH="/home/janis/.local/share/gem/ruby/3.0.0/bin: $PATH" -export PATH="/home/janis/.local/bin: $PATH" -alias editHyprlandConf='nano ~/.config/hypr/hyprland.conf' -alias ls='ls -l --color=auto' -alias ll='ls -la --color=auto' -alias sl='ls --color=auto' -alias start-httpd='sudo systemctl start httpd' -PS1='[\u@\h \W]\$ ' - -################################################################################ -## FUNCTIONS ## -################################################################################ - -## -## ARRANGE $PWD AND STORE IT IN $NEW_PWD -## * The home directory (HOME) is replaced with a ~ -## * The last pwdmaxlen characters of the PWD are displayed -## * Leading partial directory names are striped off -## /home/me/stuff -> ~/stuff (if USER=me) -## /usr/share/big_dir_name -> ../share/big_dir_name (if pwdmaxlen=20) -## -## Original source: WOLFMAN'S color bash promt -## https://wiki.chakralinux.org/index.php?title=Color_Bash_Prompt#Wolfman.27s -## -bash_prompt_command() { - # How many characters of the $PWD should be kept - local pwdmaxlen=25 - - # Indicate that there has been dir truncation - local trunc_symbol=".." - - # Store local dir - local dir=${PWD##*/} - - # Which length to use - pwdmaxlen=$(( ( pwdmaxlen < ${#dir} ) ? ${#dir} : pwdmaxlen )) - - NEW_PWD=${PWD/#$HOME/\~} - - local pwdoffset=$(( ${#NEW_PWD} - pwdmaxlen )) - - # Generate name - if [ ${pwdoffset} -gt "0" ] - then - NEW_PWD=${NEW_PWD:$pwdoffset:$pwdmaxlen} - NEW_PWD=${trunc_symbol}/${NEW_PWD#*/} - fi -} - - - - -## -## GENERATE A FORMAT SEQUENCE -## -format_font() -{ - ## FIRST ARGUMENT TO RETURN FORMAT STRING - local output=$1 - - - case $# in - 2) - eval $output="'\[\033[0;${2}m\]'" - ;; - 3) - eval $output="'\[\033[0;${2};${3}m\]'" - ;; - 4) - eval $output="'\[\033[0;${2};${3};${4}m\]'" - ;; - *) - eval $output="'\[\033[0m\]'" - ;; - esac -} - - - -## -## COLORIZE BASH PROMT -## -bash_prompt() { - - ############################################################################ - ## COLOR CODES ## - ## These can be used in the configuration below ## - ############################################################################ - - ## FONT EFFECT - local NONE='0' - local BOLD='1' - local DIM='2' - local UNDERLINE='4' - local BLINK='5' - local INVERT='7' - local HIDDEN='8' - - - ## COLORS - local DEFAULT='9' - local BLACK='0' - local RED='1' - local GREEN='2' - local YELLOW='3' - local BLUE='4' - local MAGENTA='5' - local CYAN='6' - local L_GRAY='7' - local D_GRAY='60' - local L_RED='61' - local L_GREEN='62' - local L_YELLOW='63' - local L_BLUE='64' - local L_MAGENTA='65' - local L_CYAN='66' - local WHITE='67' - - - ## TYPE - local RESET='0' - local EFFECT='0' - local COLOR='30' - local BG='40' - - - ## 256 COLOR CODES - local NO_FORMAT="\[\033[0m\]" - local ORANGE_BOLD="\[\033[1;38;5;208m\]" - local TOXIC_GREEN_BOLD="\[\033[1;38;5;118m\]" - local RED_BOLD="\[\033[1;38;5;1m\]" - local CYAN_BOLD="\[\033[1;38;5;87m\]" - local BLACK_BOLD="\[\033[1;38;5;0m\]" - local WHITE_BOLD="\[\033[1;38;5;15m\]" - local GRAY_BOLD="\[\033[1;90m\]" - local BLUE_BOLD="\[\033[1;38;5;74m\]" - - - - - - ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## - ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## - ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## - - - - ## CONFIGURE HERE ## - - - - ############################################################################ - ## CONFIGURATION ## - ## Choose your color combination here ## - ############################################################################ - local FONT_COLOR_1=$WHITE - local BACKGROUND_1=$RED - local TEXTEFFECT_1=$BOLD - - local FONT_COLOR_2=$WHITE - local BACKGROUND_2=$YELLOW - local TEXTEFFECT_2=$BOLD - - local FONT_COLOR_3=$D_GRAY - local BACKGROUND_3=$WHITE - local TEXTEFFECT_3=$BOLD - - local PROMT_FORMAT=$BLUE_BOLD - - - ############################################################################ - ## EXAMPLE CONFIGURATIONS ## - ## I use them for different hosts. Test them out ;) ## - ############################################################################ - - ## CONFIGURATION: BLUE-WHITE - if [ "$HOSTNAME" = dell ]; then - FONT_COLOR_1=$WHITE; BACKGROUND_1=$BLUE; TEXTEFFECT_1=$BOLD - FONT_COLOR_2=$WHITE; BACKGROUND_2=$L_BLUE; TEXTEFFECT_2=$BOLD - FONT_COLOR_3=$D_GRAY; BACKGROUND_3=$WHITE; TEXTEFFECT_3=$BOLD - PROMT_FORMAT=$CYAN_BOLD - fi - - ## CONFIGURATION: BLACK-RED - if [ "$HOSTNAME" = giraff6 ]; then - FONT_COLOR_1=$WHITE; BACKGROUND_1=$BLACK; TEXTEFFECT_1=$BOLD - FONT_COLOR_2=$WHITE; BACKGROUND_2=$D_GRAY; TEXTEFFECT_2=$BOLD - FONT_COLOR_3=$WHITE; BACKGROUND_3=$RED; TEXTEFFECT_3=$BOLD - PROMT_FORMAT=$RED_BOLD - fi - - ## CONFIGURATION: RED-BLACK - #FONT_COLOR_1=$WHITE; BACKGROUND_1=$RED; TEXTEFFECT_1=$BOLD - #FONT_COLOR_2=$WHITE; BACKGROUND_2=$D_GRAY; TEXTEFFECT_2=$BOLD - #FONT_COLOR_3=$WHITE; BACKGROUND_3=$BLACK; TEXTEFFECT_3=$BOLD - #PROMT_FORMAT=$RED_BOLD - - ## CONFIGURATION: CYAN-BLUE - if [ "$HOSTNAME" = sharkoon ]; then - FONT_COLOR_1=$BLACK; BACKGROUND_1=$L_CYAN; TEXTEFFECT_1=$BOLD - FONT_COLOR_2=$WHITE; BACKGROUND_2=$L_BLUE; TEXTEFFECT_2=$BOLD - FONT_COLOR_3=$WHITE; BACKGROUND_3=$BLUE; TEXTEFFECT_3=$BOLD - PROMT_FORMAT=$CYAN_BOLD - fi - - ## CONFIGURATION: GRAY-SCALE - if [ "$HOSTNAME" = giraff ]; then - FONT_COLOR_1=$WHITE; BACKGROUND_1=$BLACK; TEXTEFFECT_1=$BOLD - FONT_COLOR_2=$WHITE; BACKGROUND_2=$D_GRAY; TEXTEFFECT_2=$BOLD - FONT_COLOR_3=$WHITE; BACKGROUND_3=$L_GRAY; TEXTEFFECT_3=$BOLD - PROMT_FORMAT=$BLACK_BOLD - fi - - ## CONFIGURATION: GRAY-CYAN - if [ "$HOSTNAME" = light ]; then - FONT_COLOR_1=$WHITE; BACKGROUND_1=$BLACK; TEXTEFFECT_1=$BOLD - FONT_COLOR_2=$WHITE; BACKGROUND_2=$D_GRAY; TEXTEFFECT_2=$BOLD - FONT_COLOR_3=$BLACK; BACKGROUND_3=$L_CYAN; TEXTEFFECT_3=$BOLD - PROMT_FORMAT=$CYAN_BOLD - fi - - - ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## - ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## - ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## - - - - - ############################################################################ - ## TEXT FORMATING ## - ## Generate the text formating according to configuration ## - ############################################################################ - - ## CONVERT CODES: add offset - FC1=$(($FONT_COLOR_1+$COLOR)) - BG1=$(($BACKGROUND_1+$BG)) - FE1=$(($TEXTEFFECT_1+$EFFECT)) - - FC2=$(($FONT_COLOR_2+$COLOR)) - BG2=$(($BACKGROUND_2+$BG)) - FE2=$(($TEXTEFFECT_2+$EFFECT)) - - FC3=$(($FONT_COLOR_3+$COLOR)) - BG3=$(($BACKGROUND_3+$BG)) - FE3=$(($TEXTEFFECT_3+$EFFECT)) - - FC4=$(($FONT_COLOR_4+$COLOR)) - BG4=$(($BACKGROUND_4+$BG)) - FE4=$(($TEXTEFFECT_4+$EFFECT)) - - - ## CALL FORMATING HELPER FUNCTION: effect + font color + BG color - local TEXT_FORMAT_1 - local TEXT_FORMAT_2 - local TEXT_FORMAT_3 - local TEXT_FORMAT_4 - format_font TEXT_FORMAT_1 $FE1 $FC1 $BG1 - format_font TEXT_FORMAT_2 $FE2 $FC2 $BG2 - format_font TEXT_FORMAT_3 $FC3 $FE3 $BG3 - format_font TEXT_FORMAT_4 $FC4 $FE4 $BG4 - - - # GENERATE PROMT SECTIONS - local PROMT_USER=$"$TEXT_FORMAT_1 \u " - local PROMT_HOST=$"$TEXT_FORMAT_2 \h " - local PROMT_PWD=$"$TEXT_FORMAT_3 \${NEW_PWD} " - local PROMT_INPUT=$"$PROMT_FORMAT " - - - ############################################################################ - ## SEPARATOR FORMATING ## - ## Generate the separators between sections ## - ## Uses background colors of the sections ## - ############################################################################ - - ## CONVERT CODES - TSFC1=$(($BACKGROUND_1+$COLOR)) - TSBG1=$(($BACKGROUND_2+$BG)) - - TSFC2=$(($BACKGROUND_2+$COLOR)) - TSBG2=$(($BACKGROUND_3+$BG)) - - TSFC3=$(($BACKGROUND_3+$COLOR)) - TSBG3=$(($DEFAULT+$BG)) - - - ## CALL FORMATING HELPER FUNCTION: effect + font color + BG color - local SEPARATOR_FORMAT_1 - local SEPARATOR_FORMAT_2 - local SEPARATOR_FORMAT_3 - format_font SEPARATOR_FORMAT_1 $TSFC1 $TSBG1 - format_font SEPARATOR_FORMAT_2 $TSFC2 $TSBG2 - format_font SEPARATOR_FORMAT_3 $TSFC3 $TSBG3 - - - # GENERATE SEPARATORS WITH FANCY TRIANGLE - local TRIANGLE=$'\uE0B0' - local SEPARATOR_1=$SEPARATOR_FORMAT_1$TRIANGLE - local SEPARATOR_2=$SEPARATOR_FORMAT_2$TRIANGLE - local SEPARATOR_3=$SEPARATOR_FORMAT_3$TRIANGLE - - - - ############################################################################ - ## WINDOW TITLE ## - ## Prevent messed up terminal-window titles ## - ############################################################################ - case $TERM in - xterm*|rxvt*) - local TITLEBAR='\[\033]0;\u:${NEW_PWD}\007\]' - ;; - *) - local TITLEBAR="" - ;; - esac - - - - ############################################################################ - ## BASH PROMT ## - ## Generate promt and remove format from the rest ## - ############################################################################ - PS1="$TITLEBAR\n${PROMT_USER}${SEPARATOR_1}${PROMT_HOST}${SEPARATOR_2}${PROMT_PWD}${SEPARATOR_3}${PROMT_INPUT}" - - - - ## For terminal line coloring, leaving the rest standard - none="$(tput sgr0)" - trap 'echo -ne "${none}"' DEBUG -} - - - - -################################################################################ -## MAIN ## -################################################################################ - -## Bash provides an environment variable called PROMPT_COMMAND. -## The contents of this variable are executed as a regular Bash command -## just before Bash displays a prompt. -## We want it to call our own command to truncate PWD and store it in NEW_PWD -PROMPT_COMMAND=bash_prompt_command - -## Call bash_promnt only once, then unset it (not needed any more) -## It will set $PS1 with colors and relative to $NEW_PWD, -## which gets updated by $PROMT_COMMAND on behalf of the terminal -bash_prompt -unset bash_prompt - -### EOF ### diff --git a/laptop/configs/hypr/hyprland-old.conf b/laptop/configs/hypr/hyprland-old.conf deleted file mode 100644 index b5568f4..0000000 --- a/laptop/configs/hypr/hyprland-old.conf +++ /dev/null @@ -1,349 +0,0 @@ -#░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ -#░ ░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░ -#▒ ▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒ ▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒ -#▒ ▒▒▒▒ ▒ ▒▒▒ ▒ ▒ ▒▒▒ ▒ ▒ ▒▒▒▒ ▒▒▒▒▒ ▒ ▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒ ▒ ▒▒▒ ▒ ▒▒▒▒▒▒▒ ▒▒ -#▓ ▓▓ ▓ ▓▓ ▓▓ ▓▓▓ ▓▓▓▓ ▓▓ ▓▓ ▓▓▓ ▓▓ ▓▓ ▓ ▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓ ▓▓ ▓▓▓ ▓▓ ▓▓▓ ▓▓▓▓ ▓ ▓▓ -#▓ ▓▓▓▓ ▓▓▓▓ ▓▓▓ ▓▓▓ ▓▓ ▓▓▓▓ ▓ ▓▓▓ ▓▓▓ ▓▓ ▓ ▓▓▓ ▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓ ▓▓▓▓ ▓▓ ▓▓ ▓▓▓ ▓▓▓▓ ▓ ▓▓▓ -#▓ ▓▓▓▓ ▓▓▓▓▓ ▓▓▓ ▓ ▓▓▓ ▓▓▓▓ ▓ ▓▓▓ ▓▓▓ ▓▓ ▓ ▓▓▓ ▓▓▓▓▓▓▓▓▓ ▓▓▓ ▓▓ ▓▓ ▓▓▓ ▓▓ ▓▓▓ ▓▓▓▓ ▓ ▓ -#█ ████ ████ ████ ██████ ████ ███ █ █ ██ ██ █ ███████████ ██████ █████ ██ ███ ████ █████ █ -#██████████████ █████ ██████████████████████████████████████████████████████████████████████████████████████████████████████ ██ - - - - -#----------# -# MONITORS # -#----------# - -monitor=eDP-1, 2880x1800@60, 0x0, 1.5 -# monitor=,highres highrr, auto, 1 - - -#-----------------------# -# LAUNCHING OF PROGRAMS # -#-----------------------# -exec-once = dunst -# exec-once = wl-clipboard-history -t -exec-once = ~/.config/hypr/xdg-portal-hyprland -exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP XAUTHORITY DISPLAY -exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP -exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 -exec-once = waybar -exec-once = hypridle - -# exec-once = openrgb --startminimized -# exec-once = polychromatic-tray-applet -# exec-once = blueman-applet -exec-once = nm-applet -exec-once = nextcloud - -exec = swaybg -m fill -i /home/janis/Pictures/arch-bg.png - -exec = hyprctl setcursor oreo_spark_blue_cursors 36 -env = QT_QPA_PLATFORM,wayland -env = QT_QPA_PLATFORM_THEME,qt6ct -# env = GDK_SCALE,2 -# env = GDK_DPI_SCALE,0.75 - -env = HYPRCURSOR_THEME, Oreo_spark_blue_cursor -env = X_CURSOR_THEME, Oreo_spark_blue_cursor -env = XCURSOR_SIZE,24 -# env = ELECTRON_OZONE_PLATFORM_HINT,wayland - -#-------# -# INPUT # -#-------# -input { - kb_layout = ch - natural_scroll = true - - numlock_by_default = true - - follow_mouse = 2 - mouse_refocus = true - - touchpad { - disable_while_typing = true - natural_scroll = true - } - - sensitivity = 0 # -1.0 - 1.0, 0 means no modification. -} - - -#----------------# -# GENERAL CONFIG # -#----------------# -general { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - - gaps_in = 3 - gaps_out = 10 - border_size = 1 - col.active_border = rgba(2288ffee) rgba(a6f7adff) 45deg - col.inactive_border = rgba(595959aa) - - layout = master - no_border_on_floating = false -} - -decoration { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - inactive_opacity = 1 - rounding = 10 - - shadow { - enabled = false - range = 4 - color = rgba(1a1a1aee) - } - - blur { - enabled = false - xray = true - new_optimizations = true - size = 1 - passes = 2 - } - dim_inactive = true - dim_strength = 0.1 -} - -animations { - enabled = yes - - # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more - - bezier = myBezier, 0.05, 0.9, 0.1, 1.05 - - animation = windows, 1, 7, myBezier - animation = windowsOut, 1, 7, default, popin 80% - animation = border, 1, 10, default - animation = fade, 1, 7, default - animation = workspaces, 1, 6, default -} - -misc { - disable_hyprland_logo = true - disable_splash_rendering = false - vrr = 2 - vfr = 1 - allow_session_lock_restore = true -} - -dwindle { - # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more - pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below - preserve_split = yes # you probably want this -} - -master { - # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more -} - -gestures { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - workspace_swipe = true - workspace_swipe_distance = 300 -} - -cursor { - no_warps = false - inactive_timeout = 60 -} - -xwayland { - force_zero_scaling = true -} - - -# Display full sized (without gaps), if only window on screen -workspace = w[tv1], gapsout:0, gapsin:0 -workspace = f[1], gapsout:0, gapsin:0 -windowrulev2 = bordersize 0, floating:0, onworkspace:w[tv1] -windowrulev2 = rounding 0, floating:0, onworkspace:w[tv1] -windowrulev2 = bordersize 0, floating:0, onworkspace:f[1] -windowrulev2 = rounding 0, floating:0, onworkspace:f[1] - - -# See https://wiki.hyprland.org/Configuring/Keywords/ for more -$mainMod = SUPER - -# WINDOW RULES -windowrule = float, title:^(.*)(rofi)(.*)$ -# windowrule = size 800 900, title:^(.*)(rofi)(.*)$ -windowrule = animation popin, title:^(.*)(rofi)(.*)$ -windowrule = center, title:^(.*)(rofi)(.*)$ -windowrule = move 1450 50, title:^(.*)(Power menu)$ -windowrule = workspace 2, evince -windowrule = workspace 2, okular -windowrule = fullscreen, title:wlogout -windowrule = workspace 2, title:^(.*)(LibreWolf)(.*)$ -windowrule = workspace 2, title:^(.*)(WebCord)(.*)$ -windowrule = workspace 3, title:^(Steam)(.*)$ -windowrule = workspace 1, title:^(.*)(VSCodium)$ -windowrule = workspace 3, minecraft-launcher -windowrule = tile, minecraft-launcher -windowrule = fullscreen, title:^(.*)Minecraft*(.*)$ -windowrule = workspace 3, title:^(.*)Minecraft*(.*)$ -# Hide terminator -windowrule = float, title:^(.*)hidden-terminator(.*)$ -windowrule = size 0 0, title:^(.*)hidden-terminator(.*)$ -windowrule = move 3000 0, title:^(.*)hidden-terminator(.*)$ -windowrule = workspace 1, title:^(.*)hidden-terminator(.*)$ - -windowrule = float, file_progress -windowrule = float, confirm -windowrule = float, dialog -windowrule = float, download -windowrule = float, notification -windowrule = float, error -windowrule = float, splash -windowrule = float, confirmreset -windowrule = float, title:Open File -windowrule = float, title:branchdialog -windowrule = float, Lxappearance -windowrule = float, title:^(Media viewer)$ -windowrule = float, title:^(Volume Control)$ -windowrule = float, title:^(Picture-in-Picture)$ -windowrule = float, title:^(Loading)(.*)$ -windowrule = float, pavucontrol-qt -windowrule = float, pavucontrol -windowrule = float, file-roller -windowrule = idleinhibit always, ^(Steam)$ -windowrule = idleinhibit focus, ^(Rocket League)(.*)$ -windowrule = fullscreen, ^(Steam Big Picture)$ -windowrule = idleinhibit always, steam -windowrule = idleinhibit always, lutris -windowrule = idleinhibit focus, vlc -windowrule = idleinhibit focus, supertuxkart -windowrule = idleinhibit fullscreen, title:^(.*)(WebCord)(.*)$ -windowrule = idleinhibit fullscreen, title:^(.*)(~)(.*)$ -windowrule = idleinhibit focus, title:^(.*)(~)(.*)$ -windowrule = idleinhibit focus, title:^(.*)(LibreWolf)(.*)$ - -# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more -bind = $mainMod, Q, killactive -bind = $mainMod SHIFT, Q, exit -bind = $mainMod, Return, exec, kitty -# bind = $mainMod, Return, exec, terminator -bind = $mainMod, C, killactive, -bind = $mainMod, E, exec, thunar -bind = $mainMod, V, togglefloating, -bind = $mainMod, F, fullscreen, - -# Launch commands -bind = $mainMod SHIFT, L, exec, librewolf -bind = $mainMod SHIFT, K, exec, librewolf http://localhost:8080/admin && librewolf http://localhost:8081/test/login -bind = $mainMod SHIFT, D, exec, terminator --title "hidden-terminator" -e "GDK_SCALE=2 webcord && exit" -# bind = $mainMod SHIFT, D, exec, webcord -# bind = $mainMod SHIFT, V, exec, terminator --title "hidden-terminator" -e "GDK_SCALE=2 codium && exit" -bind = $mainMod SHIFT, V, exec, codium -bind = $mainMod SHIFT, T, exec, thunderbird -bind = $mainMod SHIFT, M, exec, systemctl start docker && terminator -e "sudo docker run -it --network=host --device=/dev/kfd --device=/dev/dri --ipc=host --shm-size 16G --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -v /home/janis/projects:/mnt rocm/pytorch:latest" -# bind = $mainMod SHIFT, G, exec, notify-send 'Preparing system for gaming...' && /usr/lib/polkit-kde-authentication-agent-1 && notify-send 'Starting CoreCtrl...' && corectrl -bind = $mainMod SHIFT, G, exec, notify-send 'Preparing system for gaming...' && corectrl -bind = $mainMod SHIFT, P, exec, notify-send 'Steam is launching...' && steam -bind = $mainMod SHIFT, R, exec, notify-send 'START CORECTRL! (Super + Shift + G twice). Launching in Remoteplay optimised session' && steam -pipewire -bind = $mainMod CTRL, K, exec, notify-send 'Insta-Kill activated' && hyprctl kill - -# Screenshots -bind = $mainMod SHIFT, S, exec, grimblast --notify copy area -bind = $mainMod CTRL, S, exec, grimblast --notify copysave area -bind = $mainMod ALT, S, exec, grimblast --notify save area -bind = , PRINT, exec, grimblast --notify copy screen -bind = CTRL, PRINT, exec, grimblast --notify copysave screen -bind = SHIFT, PRINT, exec, grimblast --notify save screen - -# Rofi commands -bind = $mainMod, Space, exec, killall rofi || rofi -show combi -modes combi -combi-modes "window,drun,run" -bind = $mainMod SHIFT, Space, exec, rofi -modi "Global Search":"~/.config/rofi/spotlight/rofi-spotlight.sh" -show "Global Search" -config ~/.config/rofi/spotlight/rofi.rasi -bind = $mainMod, P, exec, killall rofi || rofi -show p -modi p:rofi-power-menu -theme ~/.config/rofi/themes/power.rasi - -# Logout commands -bind = $mainMod, escape, exec, wlogout -bind = $mainMod, L, exec, hyprlock -#bind = $mainMod, L, exec, swaylock --screenshots --clock --indicator --grace 10 --fade-in 2 --effect-blur 10x10 --indicator-radius 200 --ring-color ff0202 --show-failed-attempts --effect-greyscale --effect-vignette 0.6:0.6 - -# Move focus with mainMod + arrow keys -bind = $mainMod, left, movefocus, l -bind = $mainMod, right, movefocus, r -bind = $mainMod, up, movefocus, u -bind = $mainMod, down, movefocus, d - -# Switch workspaces with mainMod + [0-9] -bind = $mainMod, 1, workspace, 1 -bind = $mainMod, 2, workspace, 2 -bind = $mainMod, 3, workspace, 3 -bind = $mainMod, 4, workspace, 4 -bind = $mainMod, 5, workspace, 5 -bind = $mainMod, 6, workspace, 6 -bind = $mainMod, 7, workspace, 7 -bind = $mainMod, 8, workspace, 8 -bind = $mainMod, 9, workspace, 9 -bind = $mainMod, 0, workspace, 10 -bind = $mainMod ALT, left, workspace, e-1 -bind = $mainMod ALT, right, workspace, e+1 - - -# Move active window to a workspace with mainMod + SHIFT + [0-9] -bind = $mainMod SHIFT, 1, movetoworkspace, 1 -bind = $mainMod SHIFT, 2, movetoworkspace, 2 -bind = $mainMod SHIFT, 3, movetoworkspace, 3 -bind = $mainMod SHIFT, 4, movetoworkspace, 4 -bind = $mainMod SHIFT, 5, movetoworkspace, 5 -bind = $mainMod SHIFT, 6, movetoworkspace, 6 -bind = $mainMod SHIFT, 7, movetoworkspace, 7 -bind = $mainMod SHIFT, 8, movetoworkspace, 8 -bind = $mainMod SHIFT, 9, movetoworkspace, 9 -bind = $mainMod SHIFT, 0, movetoworkspace, 10 -bind = $mainMod SHIFT, left, movetoworkspace, e-1 -bind = $mainMod SHIFT, right, movetoworkspace, e+1 - -# Scroll through existing workspaces with mainMod + scroll -bind = $mainMod, mouse_down, workspace, e+1 -bind = $mainMod, mouse_up, workspace, e-1 - -# Tile window to a part of the screen -bind = $mainMod CTRL, left, movewindow, left -bind = $mainMod CTRL, right, movewindow, right - -# move to next window / previous window with ALT + Tab / SHIFT + ALT + Tab -bind = ALT SHIFT, tab, cyclenext, prev -# bind = ALT, tab, cyclenext, next -# bind = ALT CTRL, tab, focusurgentorlast -bind = ALT, tab, focusurgentorlast - -# Master layout commands -bind = $mainMod CTRL, M, layoutmsg, swapwithmaster -bind = $mainMod SHIFT, A, layoutmsg, addmaster -bind = $mainMod SHIFT CTRL, right, layoutmsg, orientationnext -bind = $mainMod SHIFT CTRL, left, layoutmsg, orientationprev - -# Move/resize windows with mainMod + LMB/RMB and dragging -bindm = $mainMod, mouse:272, movewindow -bindm = $mainMod, mouse:273, resizewindow - - -# Freeze -bind = $mainMod SHIFT, escape, exec, hyprfreeze -a - - -# Volume control -bind = ,code:123, exec, pamixer -i 5 -bind = ,code:122, exec, pamixer -d 5 -bind = ,code:121, exec, pamixer -t - - -# Brightness-Control -bind = ,code:232, exec, light -U 5 && notify-send 'Display brightness decreased by 5%' -bind = ,code:233, exec, light -A 5 && notify-send 'Display brightness increased by 5%' - - -# Monitor config binds -bind = $mainMod CTRL, D, exec, hyprctl keyword monitor HDMI-A-1, 1920x1080@60, 1920x0, 1, mirror, eDP-1 && notify-send 'Set to mirror internal display' -bind = $mainMod CTRL, E, exec, hyprctl keyword monitor HDMI-A-1, 1920x1080@60, 1920x0, 1 && notify-send 'Set to expand external display' - -# Internal display controls -bind = $mainMod ALT, E, exec, hyprctl keyword monitor eDP-1, 2880x1800@60, 0x0, 1.5 && notify-send 'Set to battery optimized display settings' -bind = $mainMod ALT, P, exec, hyprctl keyword monitor eDP-1, preferred, 0x0, 1.5 && notify-send 'Set to performance optimized display settings' diff --git a/laptop/configs/hypr/hyprland.conf b/laptop/configs/hypr/hyprland.conf deleted file mode 100644 index 2d580d6..0000000 --- a/laptop/configs/hypr/hyprland.conf +++ /dev/null @@ -1,64 +0,0 @@ -#░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ -#░ ░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░ -#▒ ▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒ ▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒ -#▒ ▒▒▒▒ ▒ ▒▒▒ ▒ ▒ ▒▒▒ ▒ ▒ ▒▒▒▒ ▒▒▒▒▒ ▒ ▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒ ▒ ▒▒▒ ▒ ▒▒▒▒▒▒▒ ▒▒ -#▓ ▓▓ ▓ ▓▓ ▓▓ ▓▓▓ ▓▓▓▓ ▓▓ ▓▓ ▓▓▓ ▓▓ ▓▓ ▓ ▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓ ▓▓ ▓▓▓ ▓▓ ▓▓▓ ▓▓▓▓ ▓ ▓▓ -#▓ ▓▓▓▓ ▓▓▓▓ ▓▓▓ ▓▓▓ ▓▓ ▓▓▓▓ ▓ ▓▓▓ ▓▓▓ ▓▓ ▓ ▓▓▓ ▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓ ▓▓▓▓ ▓▓ ▓▓ ▓▓▓ ▓▓▓▓ ▓ ▓▓▓ -#▓ ▓▓▓▓ ▓▓▓▓▓ ▓▓▓ ▓ ▓▓▓ ▓▓▓▓ ▓ ▓▓▓ ▓▓▓ ▓▓ ▓ ▓▓▓ ▓▓▓▓▓▓▓▓▓ ▓▓▓ ▓▓ ▓▓ ▓▓▓ ▓▓ ▓▓▓ ▓▓▓▓ ▓ ▓ -#█ ████ ████ ████ ██████ ████ ███ █ █ ██ ██ █ ███████████ ██████ █████ ██ ███ ████ █████ █ -#██████████████ █████ ██████████████████████████████████████████████████████████████████████████████████████████████████████ ██ - - - - -#----------# -# MONITORS # -#----------# - -monitor=eDP-1, 2880x1800@60, 0x0, 1.5 -# monitor=,highres highrr, auto, 1 - - -exec = swaybg -m fill -i /home/janis/Pictures/arch-bg.png - - -source=./hyprland/binds.conf -source=./hyprland/general.conf -source=./hyprland/windowrules.conf - -#--------# -# LAPTOP # -#--------# -exec = hyprctl setcursor oreo_spark_blue_cursors 36 -env = HYPRCURSOR_THEME, Oreo_spark_blue_cursor -env = X_CURSOR_THEME, Oreo_spark_blue_cursor -env = XCURSOR_SIZE,24 -env = ELECTRON_ENABLE_HIGHDPI_SUPPORT, 1 -env = XDG_SESSION_TYPE, wayland -env = QT_QPA_PLATFORM,wayland -# env = QT_QPA_PLATFORM_THEME,qt6ct -env = ELECTRON_OZONE_PLATFORM_HINT,wayland -env = GDK_SCALE,2 - -xwayland { - force_zero_scaling = true -} - -# Volume control -bind = ,code:123, exec, pamixer -i 5 -bind = ,code:122, exec, pamixer -d 5 -bind = ,code:121, exec, pamixer -t - - -# Brightness-Control -bind = ,code:232, exec, light -U 5 && notify-send 'Display brightness decreased by 5%' -bind = ,code:233, exec, light -A 5 && notify-send 'Display brightness increased by 5%' - - -# Monitor config binds -bind = $mainMod CTRL, D, exec, hyprctl keyword monitor HDMI-A-1, 1920x1080@60, 1920x0, 1, mirror, eDP-1 && notify-send 'Set to mirror internal display' -bind = $mainMod CTRL, E, exec, hyprctl keyword monitor HDMI-A-1, 1920x1080@60, 1920x0, 1 && notify-send 'Set to expand external display' - -# Internal display controls -bind = $mainMod ALT, E, exec, hyprctl keyword monitor eDP-1, 2880x1800@60, 0x0, 1.5 && cpupower-gui -b && notify-send 'Set to battery optimized settings' -bind = $mainMod ALT, P, exec, hyprctl keyword monitor eDP-1, 2880x1800@120, 0x0, 1.5 && cpupower-gui -p && notify-send 'Set to performance optimized settings' diff --git a/laptop/configs/hypr/hyprlock.conf b/laptop/configs/hypr/hyprlock.conf deleted file mode 100644 index eb9c47f..0000000 --- a/laptop/configs/hypr/hyprlock.conf +++ /dev/null @@ -1,96 +0,0 @@ -#░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ -#░ ░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░ -#▒ ▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒ -#▒ ▒▒▒▒ ▒ ▒▒▒ ▒ ▒ ▒▒▒ ▒ ▒ ▒▒▒▒ ▒▒▒▒▒▒▒▒ ▒ ▒▒ ▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒ ▒ ▒▒▒ ▒ ▒▒▒▒▒▒▒ ▒▒ -#▓ ▓▓ ▓ ▓▓ ▓▓ ▓▓▓ ▓▓▓▓ ▓▓ ▓▓ ▓▓▓ ▓▓▓▓ ▓ ▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓ ▓▓ ▓▓▓ ▓▓ ▓▓▓ ▓▓▓▓ ▓ ▓▓ -#▓ ▓▓▓▓ ▓▓▓▓ ▓▓▓ ▓▓▓ ▓▓ ▓▓▓▓ ▓ ▓▓▓▓ ▓ ▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓ ▓▓▓▓ ▓▓ ▓▓ ▓▓▓ ▓▓▓▓ ▓ ▓▓▓ -#▓ ▓▓▓▓ ▓▓▓▓▓ ▓▓▓ ▓ ▓▓▓ ▓▓▓▓ ▓▓ ▓▓ ▓▓▓ ▓▓▓▓ ▓ ▓▓▓▓▓▓▓▓▓ ▓▓▓ ▓▓ ▓▓ ▓▓▓ ▓▓ ▓▓▓ ▓▓▓▓ ▓ ▓ -#█ ████ ████ ████ ██████ ████ ████ ████████ █ ██ ██████████ ██████ █████ ██ ███ ████ █████ █ -#██████████████ █████ ███████████████████████████████████████████████████████████████████████████████████████████████████ ██ - - -general { - grace = 15 -} - -# BACKGROUND -background { - monitor = - path = /home/janis/Pictures/arch-bg.png # Or screenshot - - blur_passes = 1 -} - -# PASSWORD INPUT -input-field { - monitor = - size = 300, 40 - outline_thickness = 3 - dots_size = 0.33 # Scale of input-field height, 0.2 - 0.8 - dots_spacing = 0.15 # Scale of dots' absolute size, 0.0 - 1.0 - dots_center = false - outer_color = rgb(204, 92, 0) - inner_color = rgb(200, 200, 200) - font_color = rgb(10, 10, 10) - fade_on_empty = true - placeholder_text = Input Password... # Text rendered in the input box when it's empty. - hide_input = false - - position = 0, -80 - halign = center - valign = center -} - -label { - monitor = - text = $TIME - color = rgba(200, 200, 200, 1.0) - font_size = 100 - font_family = Source Code Pro - - position = 0, 80 - halign = center - valign = center -} - -label { - monitor = - text = $LAYOUT - color = rgba(200, 200, 200, 1.0) - font_size = 12 - font_family = Source Code Pro - - position = 0, 0 - halign = right - valign = bottom -} - -label { - monitor = - text = $USER - color = rgba(200, 200, 200, 1.0) - font_size = 12 - font_family = Source Code Pro - - position = 0, 0 - halign = left - valign = bottom - shadow_passes = 3 -} - -label { - monitor = - text = Failed attempts: $ATTEMPTS - color = rgba(200, 0, 0, 1.0) - font_size = 12 - font_family = Source Code Pro - - position = 0, 20 - halign = center - valign = bottom - shadow_passes = 3 - shadow_size = 5 - shadow_boost = 3 - shadow_color = rgb(255,255,255) -} - diff --git a/laptop/configs/hypr/wall_4K.png b/laptop/configs/hypr/wall_4K.png deleted file mode 100755 index f835a978661c8670b0d74f57fb94fbd7a263ee9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49045 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 He}DDAM^699 diff --git a/laptop/configs/rofi/config.rasi b/laptop/configs/rofi/config.rasi deleted file mode 100755 index ab94e55..0000000 --- a/laptop/configs/rofi/config.rasi +++ /dev/null @@ -1,13 +0,0 @@ -/** Basic config file **/ - -configuration { - show-icons: true; - icon-theme: "Candy"; - display-drun: ""; - display-run: "🏃🏽‍♂️ "; - display-window: "🗔 "; - display-combi: "🔎 "; - dpi: 160; -} - -@theme "themes/mcLarenTheme.rasi" diff --git a/laptop/configs/waybar/config.jsonc b/laptop/configs/waybar/config.jsonc deleted file mode 100755 index cadc950..0000000 --- a/laptop/configs/waybar/config.jsonc +++ /dev/null @@ -1,145 +0,0 @@ -{ - "layer": "top", - "position": "top", - "mod": "dock", - "exclusive": true, - "passthrough": false, - "gtk-layer-shell": true, - "height": 0, - "modules-left": [ - "clock", - "cpu", - "memory", - "battery", - "backlight", - "hyprland/workspaces" - ], - "modules-center": ["hyprland/window"], - "modules-right": [ - "tray", - "network", - "pulseaudio", - "pulseaudio#microphone", - "keyboard-state", - ], - "keyboard-state": { - "capslock": true, - "interval": 1, - "format": { - "capslock": "{icon}", - }, - "binding-keys": [1, 69, 70], - "format-icons": { - "locked": "", - "unlocked": "" - } - }, - "hyprland/window": { - "format": "{}" - }, - "tray": { - "icon-size": 14, - "spacing": 8 - }, - "network": { - "format-disconnected": " Net", - "format-wifi": "{icon} {essid}", - "format-ethernet": " Wired", - "tooltip-format-ethernet": "Ethernet\nInterface: {ifname}\nIP: {ipaddr}\nUp/Down (bps): {bandwidthUpBits}/{bandwidthDownBits}", - "tooltip-format-wifi": "Wi-Fi\nSSID: {essid}\nIP: {ipaddr}\nSignal strength: {signalStrength}%\nUp/Down (bps): {bandwidthUpBits}/{bandwidthDownBits}\nFrequency: {frequency}GHz", - "tooltip-format-disconnected": "Networking\n{ifname} disconnected", - "on-click": "terminator -x nmtui", - "format-icons": ["", "", "", ""] - }, - "battery":{ - "states": { - "95": 100, - "85": 90, - "75": 80, - "65": 70, - "55": 60, - "45": 50, - "35": 40, - "25": 30, - "15": 20, - "5": 10, - "critical": 0, - }, - "format":" {capacity}", - "format-95": " {capacity}", - "format-85": " {capacity}", - "format-75": " {capacity}", - "format-65": " {capacity}", - "format-55": " {capacity}", - "format-45": " {capacity}", - "format-35": " {capacity}", - "format-25": " {capacity}", - "format-15": " {capacity}", - "format-15": " {capacity}", - "format-critical": " {capacity}", - "format-charging":" {capacity}", - "format-plugged": " ", - "format-full": " 100", - "format-empty": " ({capacity}%)", - "tooltip-format":"Battery\nCurrently {timeTo}\nCurrently drawing: {power}W\nBattery status: {capacity}%" - }, - "backlight": { - "stages": { - "high": 50, - "low": 0, - }, - "format": "🌣 {percent}", - "format-high": " {percent}", - "format-low": " {percent}", - "tooltip-format": "Brightness\n🌣 {percent}", - "on-scroll-up": "light -A 1", - "on-scroll-down": "light -U 1" - }, - "clock": { - "format": "{:%a, %d.%m %H:%M:%S}", - "tooltip-format": "Calendar\n{calendar}", - "interval": 1 - }, - "hyprland/workspaces": { - "disable-scroll": true, - "all-outputs": true, - "on-click": "activate", - "format": "{icon}" - }, - "cpu": { - "tooltip-format": "CPU\nTotal: {usage}", - "format": " {usage}", - "interval": 5 - }, - "memory": { - "format": " {percentage}", - "interval": 5 - }, - "pulseaudio": { - "format": "{icon} {volume}", - "tooltip": true, - "format-muted": " Off", - "on-click": "pamixer -t", - "on-scroll-up": "pamixer -i 5", - "on-scroll-down": "pamixer -d 5", - "scroll-step": 5, - "format-icons": { - "headphone": "", - "hands-free": "", - "headset": "", - "phone": "", - "portable": "", - "car": "🏎", - "default": ["", "", ""] - } - }, - "pulseaudio#microphone": { - "format": "{format_source}", - "format-source": " {volume}", - "format-source-muted": " 0", - "on-click": "pamixer --default-source -t", - "on-scroll-up": "pamixer --default-source -i 5", - "on-scroll-down": "pamixer --default-source -d 5", - "scroll-step": 5 - } -} diff --git a/laptop/configs/waybar/scripts/supower.py b/laptop/configs/waybar/scripts/supower.py deleted file mode 100755 index a534143..0000000 --- a/laptop/configs/waybar/scripts/supower.py +++ /dev/null @@ -1,196 +0,0 @@ -#!/usr/bin/python -# pylint: disable=missing-module-docstring -import json -import sys -import time -import dbus -import click - -FBOOL = ('no', 'yes') -PROPERTIES = { - 'BatteryLevel': ('unknown', 'none', 'low', 'critical', 'normal', 'high', 'full'), - 'Capacity': None, - 'Energy': None, - 'EnergyEmpty': None, - 'EnergyFull': None, - 'EnergyFullDesign': None, - 'EnergyRate': None, - 'HasHistory': FBOOL, - 'HasStatistics': FBOOL, - 'IconName': None, - 'IsPresent': FBOOL, - 'IsRechargeable': FBOOL, - 'Luminosity': None, - 'Model': None, - 'NativePath': None, - 'Online': FBOOL, - 'Percentage': None, - 'PowerSupply': FBOOL, - 'Serial': None, - 'State': ('unknown', 'charging', 'discharging', 'empty', 'fully charged', - 'pending charge','pending discharge'), - 'Technology': ('unknown', 'lithium ion', 'lithium polymer', 'lithium iron phosphate', - 'lead acid', 'nickel cadmium', 'nickel metal hydride'), - 'Temperature': None, - 'TimeToEmpty': None, - 'TimeToFull': None, - 'Type': ('unknown', 'line-power', 'battery', 'ups', 'monitor', 'mouse', 'keyboard', - 'pda', 'phone', 'media-player', 'tablet', 'computer', 'gaming_input', - 'pen', 'touchpad', 'modem', 'network', 'headset', 'speakers', - 'headphones', 'video', 'other_audio', 'remote_control', 'printer', 'scanner', - 'camera', 'wearable', 'toy', 'bluetooth-generic'), - 'UpdateTime': None, - 'Vendor': None, - 'Voltage': None, - 'WarningLevel': ('unknown', 'none', 'discharging', 'low', 'critical', 'action') -} - - -def get_tooltip(_type): - #TOOLTIP_OTHER=""" luminosity: {Luminosity}""" I don't have a way to test this property - header = ('native-path: {NativePath}' - '\npower supply: {PowerSupply}' - '\nupdated: {UpdateTime}' - '\nhas history: {HasHistory}' - '\nhas statistics: {HasStatistics}') - - body = ('\n{Type}' - '\n warning-level: {WarningLevel}' - '\n icon-name: {IconName}') - - if _type == 'line-power': - body += '\n online: {Online}' - - else: - header += ('\nmodel: {Model}' - '\nserial: {Serial}') - - body += ('\n percentage: {Percentage}%' - '\n present: {IsPresent}') - - if _type == "battery": - header += ('\nvendor: {Vendor}') - body += ('\n state: {State}' - '\n rechargeable: {IsRechargeable}' - '\n energy: {Energy} Wh' - '\n energy-empty: {EnergyEmpty} Wh' - '\n energy-full: {EnergyFull} Wh' - '\n energy-full-design: {EnergyFullDesign} Wh' - '\n energy-rate: {EnergyRate} W' - '\n voltage: {Voltage} V' - '\n capacity: {Capacity}%' - '\n technology: {Technology}' - '\n temperature: {Temperature}' - '\n time-to-empty: {TimeToEmpty}' - '\n time-to-full: {TimeToFull}' - '\n battery-level: {BatteryLevel}') - - return f'{header}{body}' - - -def device_info(bus, device): - """Lookup device properties""" - result = {} - device_proxy = bus.get_object('org.freedesktop.UPower', device) - device_interface = dbus.Interface(device_proxy, 'org.freedesktop.DBus.Properties') - for _property, friendly_name in PROPERTIES.items(): - try: - data = device_interface.Get('org.freedesktop.UPower.Device', _property) - if _property == 'UpdateTime': - result[_property] = time.ctime(data) - else: - result[_property] = friendly_name[data] if friendly_name else data - except (dbus.exceptions.DBusException, IndexError): - result[_property] = 'none' - - return result - - -def get_devices(bus): - """Retrieve list of Upower devices""" - devices_proxy = bus.get_object('org.freedesktop.UPower', '/org/freedesktop/UPower') - devices_interface = dbus.Interface(devices_proxy, 'org.freedesktop.UPower') - devices = devices_interface.EnumerateDevices() - - return devices - - -def get_device(bus, devices, device): - """Retrieve Upower device using path or model""" - - if device in devices: - return device - - for path in devices: - inspect = device_info(bus, path) - if inspect.get('Model') == device: - return path - - raise Exception("Device Not Found") - - -def output_devices(bus, devices): - """Output device list""" - for device in devices: - print(f'{device}\t{device_info(bus, device).get("Model")}') - sys.exit(0) - -def check_device(key, info): - sys.exit(FBOOL.index(info.get(key.replace('{','').replace('}', '')))) - - -@click.command() -@click.option('--list-devices', is_flag=True, help='List devices and models') -@click.option('--check', help='Exists using boolean values for device') -@click.option('--device', '--model', help='Path or Model') -@click.option('--text', show_default=True, default="{Model}") -@click.option('--alt', show_default=True, default="{BatteryLevel}") -@click.option('--tooltip', default=None, help="Similar to upower -i ") -@click.option('--class', '_class', show_default=True, default="{BatteryLevel}") -@click.option('--percentage', show_default=True, default="{Percentage:.0f}") -def main(list_devices, check, device, text, alt, tooltip, _class, percentage): - """ - TEXT can be replaced using one or more {KEY}\n - {BatteryLevel} {Capacity} {Energy} {EnergyEmpty} {EnergyFull} - {EnergyFullDesign} {EnergyRate} {HasHistory} {HasStatistics} - {IconName} {IsPresent} {IsRechargeable} {Luminosity} - {Model} {NativePath} {Online} {Percentage} {PowerSupply} - {Serial} {State} {Technology} {Temperature} {TimeToEmpty} - {TimeToFull} {Type} {UpdateTime} {Vendor} {Voltage} - {WarningLevel} - - Example: supower.py --model 'MX Master 2S' --tooltip '{State}' - supower.py --model '/org/freedesktop/UPower/devices/line_power_AC' --check Online - - """ - exit = 0 - bus = dbus.SystemBus() - devices = get_devices(bus) - - if list_devices: - output_devices(bus, devices) - - try: - device = get_device(bus, devices, device) - info = device_info(bus, device) - if check: - check_device(check, info) - - output = { - "text": text.format(**info), - "alt": alt.format(**info), - "tooltip": (tooltip if tooltip else get_tooltip(info['Type'])).format(**info), - "class": _class.format(**info), - "percentage": float(percentage.format(**info)) - } - except Exception as error: - output = {"text": f'Error {device.split("/")[-1]} {error}', 'tooltip': f'{error}'} - exit = 2 - - print(json.dumps(output)) - sys.exit(exit) - - -if __name__ == "__main__": - # pylint: disable=no-value-for-parameter - main() \ No newline at end of file diff --git a/laptop/configs/waybar/style.css b/laptop/configs/waybar/style.css deleted file mode 100755 index 64901a7..0000000 --- a/laptop/configs/waybar/style.css +++ /dev/null @@ -1,140 +0,0 @@ -* { - border: none; - border-radius: 0; - font-family: 'FluentSystemIcons-Regular,Comfortaa', monospace; - font-weight: 600; - font-size: 16px; - min-height: 0; - margin-left: 3px; - margin-right: 3px; -} - -window#waybar { - background: rgba(0, 0, 0, 0); - color: #cdd6f4; -} - -tooltip { - background: #1e1e2e; - border-radius: 10px; - border-width: 2px; - border-style: solid; - border-color: #11111b; -} - -#workspaces button { - padding: 3px; - color: #313244; - margin-right: 5px; -} - -#workspaces button.active { - color: #a6adc8; -} - -#workspaces button.focused { - color: #a6adc8; - background: #eba0ac; - border-radius: 10px; -} - -#workspaces button.urgent { - color: #11111b; - background: #a6e3a1; - border-radius: 10px; -} - -#workspaces button:hover { - background: #11111b; - color: #cdd6f4; - border-radius: 10px; -} - -#workspaces { - background: #1e1e2e; - border-radius: 10px; - margin-left: 10px; - padding-right: 0px; - padding-left: 5px; -} - -#window, -#clock, -#custom-powerMenu, -#pulseaudio, -#memory, -#battery, -#backlight, -#tray, -#network, -#workspaces, -#keyboard-state, -#cpu { - background: #000024; - padding: 2px 12px; - margin: 3px 2px; - margin-top: 9px; - border: 1px solid #181825; - border-radius: 10px; -} - -#tray { - border-radius: 10px; - margin-right: 10px; -} - -#cpu { - margin-right: 0; - border-radius: 10px 0px 0px 10px; - background-color: #222244; -} - -#memory, #battery { - color: #89b4fa; - margin-left: 0; - margin-right: 0; - border-radius: 0px; - background-color: #222244; -} - -#backlight { - color: #89b4fa; - margin-left: 0; - border-radius: 0px 10px 10px 0px; - background-color: #222244; -} - -#battery.critical { - color: orange; -} - -#battery.empty { - color: red; -} - -#window { - border-radius: 10px; - margin-left: 60px; - margin-right: 60px; -} - -#clock { - color: #a6f7ad; - min-width: 145px; -} - -#pulseaudio { - color: #89b4fa; - border-left: 0px; - border-right: 0px; -} - -#pulseaudio.microphone { - color: #a6f7ad; - border-left: 0px; - border-right: 0px; -} - -#keyboard-state { - color: #89b4fa; -} diff --git a/laptop/environment b/laptop/environment deleted file mode 100644 index ec041a4..0000000 --- a/laptop/environment +++ /dev/null @@ -1,13 +0,0 @@ -# -# This file is parsed by pam_env module -# -# Syntax: simple "KEY=VAL" pairs on separate lines -# - -QT_QPA_PLATFORMTHEME=qt5ct -GCM_CREDENTIAL_STORE=secretservice -VKD3D_CONFIG=dxr11,dxr -RADV_PERFTEST_RT=1 -QT_QPA_PLATFORM=wayland -GTK_THEME=Material-Black-Blueberry -QT_STYLE_OVERRIDE=kvantum diff --git a/laptop/grub b/laptop/grub deleted file mode 100644 index f09a5b8..0000000 --- a/laptop/grub +++ /dev/null @@ -1,63 +0,0 @@ -# GRUB boot loader configuration - -GRUB_DEFAULT=0 -GRUB_TIMEOUT=5 -GRUB_DISTRIBUTOR="Arch" -GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet splash" -GRUB_CMDLINE_LINUX="" - -# Preload both GPT and MBR modules so that they are not missed -GRUB_PRELOAD_MODULES="part_gpt part_msdos" - -# Uncomment to enable booting from LUKS encrypted devices -#GRUB_ENABLE_CRYPTODISK=y - -# Set to 'countdown' or 'hidden' to change timeout behavior, -# press ESC key to display menu. -GRUB_TIMEOUT_STYLE=menu - -# Uncomment to use basic console -GRUB_TERMINAL_INPUT=console - -# Uncomment to disable graphical terminal -#GRUB_TERMINAL_OUTPUT=console - -# The resolution used on graphical terminal -# note that you can use only modes which your graphic card supports via VBE -# you can see them in real GRUB with the command `videoinfo' -GRUB_GFXMODE=auto - -# Uncomment to allow the kernel use the same resolution used by grub -GRUB_GFXPAYLOAD_LINUX=keep - -# Uncomment if you want GRUB to pass to the Linux kernel the old parameter -# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx" -#GRUB_DISABLE_LINUX_UUID=true - -# Uncomment to disable generation of recovery mode menu entries -GRUB_DISABLE_RECOVERY=true - -# Uncomment and set to the desired menu colors. Used by normal and wallpaper -# modes only. Entries specified as foreground/background. -#GRUB_COLOR_NORMAL="light-blue/black" -#GRUB_COLOR_HIGHLIGHT="light-cyan/blue" - -# Uncomment one of them for the gfx desired, a image background or a gfxtheme -#GRUB_BACKGROUND="/path/to/wallpaper" - -# Uncomment to get a beep at GRUB start -#GRUB_INIT_TUNE="480 440 1" - -# Uncomment to make GRUB remember the last selection. This requires -# setting 'GRUB_DEFAULT=saved' above. -#GRUB_SAVEDEFAULT=true - -# Uncomment to disable submenus in boot menu -#GRUB_DISABLE_SUBMENU=y - -# Probing for other operating systems is disabled for security reasons. Read -# documentation on GRUB_DISABLE_OS_PROBER, if still want to enable this -# functionality install os-prober and uncomment to detect and include other -# operating systems. -GRUB_DISABLE_OS_PROBER=false -GRUB_THEME="/usr/share/grub/themes/monterey-grub-theme/theme.txt" diff --git a/laptop/installedPackages.txt b/laptop/installedPackages.txt deleted file mode 100644 index 19cb640..0000000 --- a/laptop/installedPackages.txt +++ /dev/null @@ -1,1537 +0,0 @@ -7zip -a52dec -aalib -abseil-cpp -accounts-qml-module -accountsservice -acl -acpi -adobe-source-code-pro-fonts -adwaita-cursors -adwaita-icon-theme -adwaita-icon-theme-legacy -alsa-card-profiles -alsa-lib -alsa-plugins -alsa-topology-conf -alsa-ucm-conf -aom -appstream -appstream-glib -aquamarine -archlinux-keyring -argon2 -aribb24 -ark -at-spi2-core -atkmm -attica -attr -audit -autoconf -autojump -automake -avahi -babl -baloo -base -base-devel -bash -bash-language-server -bashtop -bazel -biber -bind -binutils -bison -blas -blas64-openblas -blueman -bluez -bluez-libs -bluez-qt -bluez-qt5 -boost-libs -botan2 -brave-bin -breeze-icons -bridge-utils -brotli -bubblewrap -bzip2 -c-ares -ca-certificates -ca-certificates-mozilla -ca-certificates-utils -cairo -cairomm -cairomm-1.16 -cantarell-fonts -cdparanoia -cfitsio -cheese -chromaprint -clutter -clutter-gst -clutter-gtk -cmake -cmark -cmatrix -cogl -colord -composer -containerd -convertlit -coreutils -cpio -cppdap -cpupower-gui -cracklib -cryptsetup -curl -dav1d -db5.3 -dbus -dbus-broker -dbus-broker-units -dbus-glib -dconf -debugedit -default-cursors -desktop-file-utils -device-mapper -diffutils -discount -djvulibre -dnssec-anchors -docker -double-conversion -duktape -dunst -dvisvgm -e2fsprogs -ebook-tools -eclipse-java-bin -editline -editorconfig-core-c -efibootmgr -efivar -electron34 -elementary-icon-theme -enchant -evtest -exiv2 -exo -expat -faac -faad2 -fakeroot -fcitx5 -fcitx5-configtool -fcitx5-qt -ffcall -ffmpeg -ffmpeg4.4 -fftw -file -filesystem -filezilla -findutils -fish -flac -flex -fluidsynth -fmt -fontconfig -freeglut -freetype2 -frei0r-plugins -fribidi -fuse-common -fuse3 -garcon -gawk -gc -gcc -gcc-libs -gcr -gcr-4 -gd -gdbm -gdk-pixbuf2 -gegl -geoclue -gettext -ghc-libs -ghex -ghostscript -giflib -gimp -girara -git -git-credential-manager-core-bin -gjs -glib-networking -glib2 -glibc -glibmm -glibmm-2.68 -glslang -glu -gmp -gnome-characters -gnome-desktop -gnome-desktop-4 -gnome-desktop-common -gnome-disk-utility -gnome-font-viewer -gnome-keyring -gnome-themes-extra -gnome-tweaks -gnome-video-effects -gnulib-l10n -gnupg -gnutls -go -gobject-introspection -gobject-introspection-runtime -gperftools -gpgme -gpm -graphene -graphite -grep -grim -grimblast-git -groff -grub -gsettings-desktop-schemas -gsettings-system-schemas -gsfonts -gsm -gssdp -gst-libav -gst-plugin-pipewire -gst-plugins-bad -gst-plugins-bad-libs -gst-plugins-base -gst-plugins-base-libs -gst-plugins-good -gstreamer -gtest -gtk-layer-shell -gtk-update-icon-cache -gtk2 -gtk3 -gtk4 -gtkmm-4.0 -gtkmm3 -gtksourceview4 -guile -gupnp -gupnp-igd -gvfs -gwenview -gzip -handbrake -harfbuzz -harfbuzz-icu -haskell-aeson -haskell-aeson-pretty -haskell-ansi-terminal -haskell-ansi-terminal-types -haskell-ansi-wl-pprint -haskell-appar -haskell-asn1-encoding -haskell-asn1-parse -haskell-asn1-types -haskell-assoc -haskell-async -haskell-attoparsec -haskell-attoparsec-aeson -haskell-attoparsec-iso8601 -haskell-auto-update -haskell-base-compat -haskell-base-compat-batteries -haskell-base-orphans -haskell-base-unicode-symbols -haskell-base16-bytestring -haskell-base64-bytestring -haskell-basement -haskell-bifunctors -haskell-bitvec -haskell-blaze-builder -haskell-blaze-html -haskell-blaze-markup -haskell-boring -haskell-bsb-http-chunked -haskell-byteorder -haskell-call-stack -haskell-case-insensitive -haskell-cassava -haskell-cereal -haskell-citeproc -haskell-cmdargs -haskell-colour -haskell-commonmark -haskell-commonmark-extensions -haskell-commonmark-pandoc -haskell-comonad -haskell-conduit -haskell-conduit-extra -haskell-constraints -haskell-contravariant -haskell-cookie -haskell-crypton -haskell-crypton-connection -haskell-crypton-x509 -haskell-crypton-x509-store -haskell-crypton-x509-system -haskell-crypton-x509-validation -haskell-data-array-byte -haskell-data-default -haskell-data-default-class -haskell-data-default-instances-containers -haskell-data-default-instances-dlist -haskell-data-default-instances-old-locale -haskell-data-fix -haskell-dec -haskell-digest -haskell-distributive -haskell-djot -haskell-dlist -haskell-doclayout -haskell-doctemplates -haskell-easy-file -haskell-emojis -haskell-erf -haskell-fast-logger -haskell-file-embed -haskell-foldable1-classes-compat -haskell-generically -haskell-ghc-bignum-orphans -haskell-glob -haskell-gridtables -haskell-haddock-library -haskell-hashable -haskell-hourglass -haskell-hslua -haskell-hslua-aeson -haskell-hslua-classes -haskell-hslua-core -haskell-hslua-list -haskell-hslua-marshalling -haskell-hslua-module-doclayout -haskell-hslua-module-path -haskell-hslua-module-system -haskell-hslua-module-text -haskell-hslua-module-version -haskell-hslua-module-zip -haskell-hslua-objectorientation -haskell-hslua-packaging -haskell-hslua-repl -haskell-hslua-typing -haskell-http-api-data -haskell-http-client -haskell-http-client-tls -haskell-http-date -haskell-http-media -haskell-http-types -haskell-http2 -haskell-hunit -haskell-indexed-traversable -haskell-indexed-traversable-instances -haskell-integer-logarithms -haskell-iproute -haskell-ipynb -haskell-isocline -haskell-jira-wiki-markup -haskell-juicypixels -haskell-lexer -haskell-libyaml -haskell-lpeg -haskell-lua -haskell-memory -haskell-mime-types -haskell-mmorph -haskell-monad-control -haskell-mono-traversable -haskell-network -haskell-network-byte-order -haskell-network-uri -haskell-old-locale -haskell-old-time -haskell-onetuple -haskell-only -haskell-optparse-applicative -haskell-ordered-containers -haskell-os-string -haskell-pandoc -haskell-pandoc-lua-engine -haskell-pandoc-lua-marshal -haskell-pandoc-server -haskell-pandoc-types -haskell-pem -haskell-pretty-show -haskell-prettyprinter -haskell-primitive -haskell-psqueues -haskell-quickcheck -haskell-random -haskell-recv -haskell-regex-base -haskell-regex-tdfa -haskell-resourcet -haskell-safe -haskell-safe-exceptions -haskell-scientific -haskell-semialign -haskell-semigroupoids -haskell-servant -haskell-servant-server -haskell-sha -haskell-simple-sendfile -haskell-singleton-bool -haskell-skylighting -haskell-skylighting-core -haskell-skylighting-format-ansi -haskell-skylighting-format-blaze-html -haskell-skylighting-format-context -haskell-skylighting-format-latex -haskell-socks -haskell-some -haskell-sop-core -haskell-split -haskell-splitmix -haskell-statevar -haskell-streaming-commons -haskell-strict -haskell-syb -haskell-tagged -haskell-tagsoup -haskell-temporary -haskell-texmath -haskell-text-conversions -haskell-text-icu -haskell-text-short -haskell-th-abstraction -haskell-th-compat -haskell-th-lift -haskell-th-lift-instances -haskell-these -haskell-time-compat -haskell-time-manager -haskell-tls -haskell-toml-parser -haskell-transformers-base -haskell-transformers-compat -haskell-type-equality -haskell-typed-process -haskell-typst -haskell-typst-symbols -haskell-unicode-collation -haskell-unicode-data -haskell-unicode-transforms -haskell-uniplate -haskell-unix-compat -haskell-unix-time -haskell-unliftio -haskell-unliftio-core -haskell-unordered-containers -haskell-utf8-string -haskell-uuid-types -haskell-vault -haskell-vector -haskell-vector-algorithms -haskell-vector-stream -haskell-wai -haskell-wai-app-static -haskell-wai-cors -haskell-wai-extra -haskell-wai-logger -haskell-warp -haskell-witherable -haskell-word8 -haskell-xml -haskell-xml-conduit -haskell-xml-types -haskell-yaml -haskell-zip-archive -haskell-zlib -hicolor-icon-theme -hidapi -highway -hslua-cli -http-parser -hugo -hunspell -hwdata -hwloc -hyphen -hyprcursor -hyprevents-git -hyprfreeze-git -hyprgraphics -hypridle -hyprland -hyprland-qt-support -hyprland-qtutils -hyprlang -hyprlock -hyprprop-git -hyprutils -hyprwayland-scanner -iana-etc -ibus -icu -ijs -imagemagick -imath -imlib2 -inetutils -iproute2 -iptables -iputils -iso-codes -jansson -jasper -java-environment-common -java-runtime-common -jbig2dec -jbigkit -jdk-openjdk -jdk21-openjdk -jdtls -jemalloc -jq -js115 -js128 -json-c -json-glib -jsoncpp -julia -kaccounts-integration -karchive -kate -kauth -kauth5 -kbd -kbookmarks -kcmutils -kcodecs -kcodecs5 -kcolorpicker -kcolorscheme -kcompletion -kconfig -kconfig5 -kconfigwidgets -kconfigwidgets5 -kcoreaddons -kcoreaddons5 -kcrash -kdbusaddons -kdbusaddons5 -kdnssd -keyutils -kfilemetadata -kglobalaccel -kguiaddons -kguiaddons5 -ki18n -ki18n5 -kiconthemes -kidletime -kimageannotator -kio -kirigami -kitemmodels -kitemviews -kitemviews5 -kitty -kitty-shell-integration -kitty-terminfo -kjobwidgets -kmines -kmod -knewstuff -knotifications -knotifications5 -kpackage -kparts -kpty -krb5 -kservice -kservice5 -ktexteditor -ktextwidgets -kuserfeedback -kvantum -kwallet -kwallet5 -kwidgetsaddons -kwidgetsaddons5 -kwindowsystem -kwindowsystem5 -kxmlgui -l-smash -lame -lapack -lazygit -lcms2 -ldns -leancrypto -lensfun -less -lib32-acl -lib32-alsa-lib -lib32-alsa-plugins -lib32-audit -lib32-brotli -lib32-bzip2 -lib32-curl -lib32-dbus -lib32-e2fsprogs -lib32-expat -lib32-fontconfig -lib32-freetype2 -lib32-gcc-libs -lib32-gettext -lib32-glib2 -lib32-glibc -lib32-harfbuzz -lib32-icu -lib32-json-c -lib32-keyutils -lib32-krb5 -lib32-libcap -lib32-libdrm -lib32-libelf -lib32-libffi -lib32-libgcrypt -lib32-libglvnd -lib32-libgpg-error -lib32-libidn2 -lib32-libldap -lib32-libnghttp2 -lib32-libnghttp3 -lib32-libnl -lib32-libnsl -lib32-libpcap -lib32-libpciaccess -lib32-libpng -lib32-libpng12 -lib32-libpsl -lib32-libssh2 -lib32-libtasn1 -lib32-libtirpc -lib32-libunistring -lib32-libunwind -lib32-libx11 -lib32-libxau -lib32-libxcb -lib32-libxcrypt -lib32-libxcrypt-compat -lib32-libxcursor -lib32-libxdmcp -lib32-libxext -lib32-libxfixes -lib32-libxi -lib32-libxkbcommon -lib32-libxml2 -lib32-libxrandr -lib32-libxrender -lib32-libxshmfence -lib32-libxss -lib32-libxxf86vm -lib32-llvm-libs -lib32-lm_sensors -lib32-mesa -lib32-ncurses -lib32-nspr -lib32-nss -lib32-openssl -lib32-p11-kit -lib32-pam -lib32-pcre2 -lib32-spirv-tools -lib32-sqlite -lib32-systemd -lib32-util-linux -lib32-vulkan-icd-loader -lib32-vulkan-radeon -lib32-wayland -lib32-xcb-util-keysyms -lib32-xz -lib32-zlib -lib32-zstd -libaccounts-glib -libaccounts-qt -libadwaita -libao -libappindicator-gtk3 -libarchive -libass -libassuan -libasyncns -libatasmart -libavc1394 -libavif -libavtp -libb2 -libblastrampoline -libblockdev -libblockdev-crypto -libblockdev-fs -libblockdev-loop -libblockdev-mdraid -libblockdev-nvme -libblockdev-part -libblockdev-swap -libbluray -libbpf -libbs2b -libbsd -libbytesize -libcaca -libcamera -libcamera-ipa -libcanberra -libcap -libcap-ng -libcdio -libcdio-paranoia -libcheese -libcloudproviders -libcolord -libcpuid -libcups -libdaemon -libdatrie -libdbusmenu-glib -libdbusmenu-gtk3 -libdbusmenu-qt5 -libdc1394 -libdca -libde265 -libdecor -libdeflate -libdisplay-info -libdovi -libdrm -libdv -libdvbpsi -libdvdnav -libdvdread -libebml -libebur128 -libedit -libei -libelf -libepoxy -libevdev -libevent -libexif -libfdk-aac -libffi -libfilezilla -libfontenc -libfreeaptx -libgcrypt -libgexiv2 -libgirepository -libgit2 -libglvnd -libgme -libgpg-error -libgtop -libgudev -libgusb -libhandy -libheif -libibus -libice -libidn -libidn2 -libiec61883 -libimobiledevice -libimobiledevice-glue -libinih -libinput -libinstpatch -libisl -libjpeg-turbo -libjxl -libkdcraw -libkdegames -libkexiv2 -libkeybinder3 -libksba -liblc3 -libldac -libldap -libliftoff -liblqr -liblrdf -libltc -libluv -libmad -libmanette -libmatroska -libmaxminddb -libmd -libmfx -libmicrodns -libmm-glib -libmng -libmnl -libmodplug -libmpc -libmpcdec -libmpdclient -libmpeg2 -libmspack -libmypaint -libmysofa -libndp -libnet -libnetfilter_conntrack -libnewt -libnfnetlink -libnftnl -libnghttp2 -libnghttp3 -libngtcp2 -libnice -libnl -libnm -libnma -libnma-common -libnotify -libnsl -libnvme -libogg -libomxil-bellagio -libopenmpt -libp11-kit -libpaper -libpcap -libpciaccess -libpgm -libpipeline -libpipewire -libplacebo -libplist -libpng -libpng12 -libproxy -libpsl -libpulse -libpwquality -libqalculate -libqt5xdg -libqxp -libraqm -libraw -libraw1394 -librevenge -librewolf-bin -librewolf-bin-debug -librsvg -librsync -libsamplerate -libsasl -libseccomp -libsecret -libshout -libsigc++ -libsigc++-3.0 -libsigsegv -libsixel -libsm -libsndfile -libsodium -libsoup -libsoup3 -libsoxr -libspectre -libspiro -libspng -libsrtp -libssh -libssh2 -libstemmer -libsynctex -libsysprof-capture -libtar -libtasn1 -libteam -libthai -libtheora -libtiff -libtirpc -libtommath -libtool -libunibreak -libunistring -libunwind -libupnp -liburcu -libusb -libusbmuxd -libutempter -libutf8proc -libuv -libva -libvdpau -libverto -libvlc -libvorbis -libvpl -libvpx -libvterm -libwacom -libwebp -libwireplumber -libwmf -libwnck3 -libx11 -libxau -libxaw -libxcb -libxcomposite -libxcrypt -libxcrypt-compat -libxcursor -libxcvt -libxdamage -libxdg-basedir -libxdmcp -libxext -libxfce4ui -libxfce4util -libxfce4windowing -libxfixes -libxfont2 -libxft -libxi -libxinerama -libxkbcommon -libxkbcommon-x11 -libxkbfile -libxklavier -libxml2 -libxmlb -libxmu -libxpm -libxpresent -libxrandr -libxrender -libxres -libxshmfence -libxslt -libxss -libxt -libxtst -libxv -libxxf86vm -libyaml -libyuv -libzip -licenses -light -light-debug -lilv -linux -linux-api-headers -linux-firmware -linux-firmware-whence -lld -llhttp -llvm-julia-libs -llvm-libs -lm_sensors -lmdb -lowdown -lsb-release -lsof -lua -lua-language-server -lua-lpeg -lua51-lpeg -luajit -luarocks -lv2 -lz4 -lzo -m4 -mailcap -make -man-db -maven -mbedtls2 -md4c -mdadm -media-player-info -meld -mesa -mesa-utils -meson -minizip -mjpegtools -mkinitcpio -mkinitcpio-busybox -mobile-broadband-provider-info -mpdecimal -mpfr -mpg123 -mpv -msgpack-c -mtdev -mujs -mypaint-brushes1 -nano -ncurses -ncurses5-compat-libs -neofetch -neon -neovim -nettle -network-manager-applet -networkmanager -nextcloud-client -ninja -nix -nix-busybox -nlohmann-json -nm-connection-editor -nmap -node-gyp -nodejs-lts-jod -nodejs-nopt -noto-fonts -noto-fonts-emoji -npm -npth -nspr -nss -numactl -nwg-look -oath-toolkit -ocl-icd -okular -onetbb -oniguruma -openal -openblas64 -openconnect -opencore-amr -openexr -openh264 -openjpeg2 -openlibm -openssh -openssl -openvr -opus -orc -p11-kit -pacman -pacman-mirrorlist -pam -pambase -pamixer -pandoc-cli -pango -pangomm -pangomm-2.48 -parted -patch -pavucontrol -pciutils -pcre -pcre2 -pcsclite -perl -perl-alien-build -perl-alien-libxml2 -perl-autovivification -perl-b-hooks-endofscope -perl-business-isbn -perl-business-isbn-data -perl-business-ismn -perl-business-issn -perl-capture-tiny -perl-class-accessor -perl-class-data-inheritable -perl-class-inspector -perl-class-load -perl-class-singleton -perl-clone -perl-data-compare -perl-data-dump -perl-data-optlist -perl-data-uniqid -perl-datetime -perl-datetime-calendar-julian -perl-datetime-format-builder -perl-datetime-format-strptime -perl-datetime-locale -perl-datetime-timezone -perl-devel-stacktrace -perl-dist-checkconflicts -perl-encode-locale -perl-error -perl-eval-closure -perl-exception-class -perl-exporter-tiny -perl-ffi-checklib -perl-file-chdir -perl-file-find-rule -perl-file-listing -perl-file-sharedir -perl-file-sharedir-install -perl-file-slurp-tiny -perl-file-slurper -perl-file-which -perl-html-parser -perl-html-tagset -perl-http-cookiejar -perl-http-cookies -perl-http-daemon -perl-http-date -perl-http-message -perl-http-negotiate -perl-io-html -perl-io-socket-ssl -perl-io-string -perl-ipc-run3 -perl-libwww -perl-lingua-translit -perl-list-allutils -perl-list-moreutils -perl-list-moreutils-xs -perl-list-someutils -perl-list-utilsby -perl-log-log4perl -perl-lwp-mediatypes -perl-lwp-protocol-https -perl-mailtools -perl-math-round -perl-mime-charset -perl-module-implementation -perl-module-runtime -perl-mozilla-ca -perl-mro-compat -perl-namespace-autoclean -perl-namespace-clean -perl-net-http -perl-net-ssleay -perl-number-compare -perl-package-deprecationmanager -perl-package-stash -perl-package-stash-xs -perl-params-util -perl-params-validate -perl-params-validationcompiler -perl-parse-recdescent -perl-path-tiny -perl-perlio-utf8-strict -perl-regexp-common -perl-role-tiny -perl-sort-key -perl-specio -perl-sub-exporter -perl-sub-exporter-progressive -perl-sub-identify -perl-sub-install -perl-test-fatal -perl-text-bibtex -perl-text-csv -perl-text-glob -perl-text-roman -perl-tie-cycle -perl-timedate -perl-try-tiny -perl-unicode-linebreak -perl-uri -perl-variable-magic -perl-www-robotrules -perl-xml-libxml -perl-xml-libxml-simple -perl-xml-libxslt -perl-xml-namespacesupport -perl-xml-sax -perl-xml-sax-base -perl-xml-writer -phonon-qt6 -phonon-qt6-vlc -php -pinentry -pipewire -pipewire-alsa -pipewire-audio -pipewire-jack -pipewire-pulse -pipewire-session-manager -pixman -pkgconf -plasma-activities -playerctl -plymouth -polkit -polkit-gnome -polkit-kde-agent -polkit-qt5 -polkit-qt6 -poppler -poppler-data -poppler-glib -poppler-qt6 -popt -portaudio -potrace -powertop -prettier -prismlauncher -procps-ng -psmisc -pugixml -purpose -pyright -python -python-attrs -python-autocommand -python-cairo -python-cffi -python-colorama -python-configobj -python-cryptography -python-dbus -python-fastjsonschema -python-filelock -python-gobject -python-greenlet -python-inflect -python-jaraco.collections -python-jaraco.context -python-jaraco.functools -python-jaraco.text -python-mako -python-markdown -python-markupsafe -python-more-itertools -python-msgpack -python-ordered-set -python-packaging -python-pip -python-platformdirs -python-psutil -python-pycparser -python-pygments -python-pynvim -python-pyxdg -python-setuptools -python-shtab -python-termcolor -python-tomli -python-tqdm -python-trove-classifiers -python-typeguard -python-typing_extensions -python-validate-pyproject -python-wheel -qalculate-gtk -qca-qt5 -qca-qt6 -qqc2-desktop-style -qrencode -qsynth -qt5-base -qt5-declarative -qt5-graphicaleffects -qt5-location -qt5-multimedia -qt5-quickcontrols2 -qt5-speech -qt5-svg -qt5-translations -qt5-wayland -qt5-webchannel -qt5-webengine -qt5-websockets -qt5-x11extras -qt5ct -qt6-5compat -qt6-base -qt6-declarative -qt6-imageformats -qt6-multimedia -qt6-multimedia-ffmpeg -qt6-networkauth -qt6-positioning -qt6-shadertools -qt6-speech -qt6-svg -qt6-translations -qt6-wayland -qt6-webchannel -qt6-webengine -qt6-websockets -qt6ct -qtkeychain-qt5 -qtkeychain-qt6 -quazip-qt6 -raptor -rav1e -re2 -readline -reflector -rhash -ripgrep -rofi -rofi-power-menu -rtkit -rtmpdump -rubberband -ruby -rubygems -runc -rustdesk -rustup -sbc -scdoc -sdbus-cpp -sddm -sdl2-compat -sdl2-debug -sdl3 -seahorse -seatd -sed -semver -serd -serpl -shaderc -shadow -shairplay -shared-mime-info -shfmt -signon-kwallet-extension -signon-plugin-oauth2 -signon-ui -signond -slang -slurp -smartmontools -snappy -sndio -socat -solid -sonnet -sonnet5 -sord -sound-theme-freedesktop -soundtouch -spandsp -spdlog -speex -speexdsp -spirv-tools -sqlite -sratom -srt -startup-notification -steam -stoken -stylua -sudo -suitesparse -svt-av1 -svt-hevc -swaybg -syndication -syntax-highlighting -systemd -systemd-libs -systemd-sysvcompat -taglib -tar -tcl -tdb -terminator -texinfo -texlab -texlive-basic -texlive-bibtexextra -texlive-bin -texlive-binextra -texlive-context -texlive-fontsextra -texlive-fontsrecommended -texlive-fontutils -texlive-formatsextra -texlive-games -texlive-humanities -texlive-langgerman -texlive-latex -texlive-latexextra -texlive-latexrecommended -texlive-luatex -texlive-mathscience -texlive-metapost -texlive-music -texlive-pictures -texlive-plaingeneric -texlive-pstricks -texlive-publishers -texlive-xetex -threadweaver -thunar -thunar-media-tags-plugin -thunar-volman -thunderbird -tinysparql -tk -tldr -tomlplusplus -tpm2-tss -tree-sitter -tree-sitter-c -tree-sitter-lua -tree-sitter-markdown -tree-sitter-query -tree-sitter-vim -tree-sitter-vimdoc -tslib -ttf-comfortaa -ttf-fantasque-nerd -ttf-fluentui-system-icons -ttf-iosevka-nerd -ttf-jetbrains-mono-nerd -ttf-nerd-fonts-symbols -ttf-nerd-fonts-symbols-common -tumbler -twolame -typescript -typescript-language-server -tzdata -uchardet -udisks2 -ufw -unibilium -unzip -upower -usbutils -util-linux -util-linux-libs -uxplay -uxplay-debug -v4l-utils -vapoursynth -verible-bin -verible-bin-debug -veridian-bin -veridian-bin-debug -vesktop-bin -vid.stab -vlc -vmaf -volume_key -vpnc -vscode-html-languageserver -vscodium -vte-common -vte3 -vulkan-headers -vulkan-icd-loader -vulkan-radeon -vulkan-validation-layers -wavpack -waybar -wayland -wayland-protocols -webcord-bin -webkit2gtk -webrtc-audio-processing-1 -wget -which -wildmidi -wine -wireplumber -wl-clipboard -wlogout -wlogout-debug -wlroots -woff2 -wpa_supplicant -wxwidgets-common -wxwidgets-gtk3 -x264 -x265 -xcb-imdkit -xcb-proto -xcb-util -xcb-util-cursor -xcb-util-errors -xcb-util-image -xcb-util-keysyms -xcb-util-renderutil -xcb-util-wm -xcb-util-xrm -xclip -xcur2png -xdg-dbus-proxy -xdg-desktop-portal -xdg-desktop-portal-hyprland -xdg-user-dirs -xdg-utils -xdotool -xf86-input-libinput -xfce4-appfinder -xfce4-notifyd -xfce4-panel -xfce4-power-manager -xfce4-session -xfce4-settings -xfconf -xfdesktop -xfwm4 -xfwm4-themes -xkeyboard-config -xmlsec -xorg-fonts-encodings -xorg-iceauth -xorg-server -xorg-server-common -xorg-setxkbmap -xorg-xauth -xorg-xinit -xorg-xinput -xorg-xkbcomp -xorg-xlsclients -xorg-xmodmap -xorg-xprop -xorg-xrandr -xorg-xrdb -xorg-xset -xorg-xwayland -xorgproto -xvidcore -xxhash -xz -y-cruncher -yay -yazi -zathura -zbar -zenity -zeromq -zimg -zip -zix -zlib -zstd -zvbi -zxing-cpp -zziplib diff --git a/laptop/mkinitcpio.conf b/laptop/mkinitcpio.conf deleted file mode 100644 index 2fd80a4..0000000 --- a/laptop/mkinitcpio.conf +++ /dev/null @@ -1,73 +0,0 @@ -# vim:set ft=sh -# MODULES -# The following modules are loaded before any boot hooks are -# run. Advanced users may wish to specify all system modules -# in this array. For instance: -# MODULES=(usbhid xhci_hcd) -MODULES=() - -# BINARIES -# This setting includes any additional binaries a given user may -# wish into the CPIO image. This is run last, so it may be used to -# override the actual binaries included by a given hook -# BINARIES are dependency parsed, so you may safely ignore libraries -BINARIES=() - -# FILES -# This setting is similar to BINARIES above, however, files are added -# as-is and are not parsed in any way. This is useful for config files. -FILES=() - -# HOOKS -# This is the most important setting in this file. The HOOKS control the -# modules and scripts added to the image, and what happens at boot time. -# Order is important, and it is recommended that you do not change the -# order in which HOOKS are added. Run 'mkinitcpio -H ' for -# help on a given hook. -# 'base' is _required_ unless you know precisely what you are doing. -# 'udev' is _required_ in order to automatically load modules -# 'filesystems' is _required_ unless you specify your fs modules in MODULES -# Examples: -## This setup specifies all modules in the MODULES setting above. -## No RAID, lvm2, or encrypted root is needed. -# HOOKS=(base) -# -## This setup will autodetect all modules for your system and should -## work as a sane default -# HOOKS=(base udev autodetect modconf block filesystems fsck) -# -## This setup will generate a 'full' image which supports most systems. -## No autodetection is done. -# HOOKS=(base udev modconf block filesystems fsck) -# -## This setup assembles a mdadm array with an encrypted root file system. -## Note: See 'mkinitcpio -H mdadm_udev' for more information on RAID devices. -# HOOKS=(base udev modconf keyboard keymap consolefont block mdadm_udev encrypt filesystems fsck) -# -## This setup loads an lvm2 volume group. -# HOOKS=(base udev modconf block lvm2 filesystems fsck) -# -## NOTE: If you have /usr on a separate partition, you MUST include the -# usr and fsck hooks. -HOOKS=(base udev autodetect modconf kms keyboard keymap consolefont block filesystems fsck plymouth) - -# COMPRESSION -# Use this to compress the initramfs image. By default, zstd compression -# is used. Use 'cat' to create an uncompressed image. -#COMPRESSION="zstd" -#COMPRESSION="gzip" -#COMPRESSION="bzip2" -#COMPRESSION="lzma" -#COMPRESSION="xz" -#COMPRESSION="lzop" -#COMPRESSION="lz4" - -# COMPRESSION_OPTIONS -# Additional options for the compressor -#COMPRESSION_OPTIONS=() - -# MODULES_DECOMPRESS -# Decompress kernel modules during initramfs creation. -# Enable to speedup boot process, disable to save RAM -# during early userspace. Switch (yes/no). -#MODULES_DECOMPRESS="yes" diff --git a/laptop/pacman.conf b/laptop/pacman.conf deleted file mode 100644 index 7d7c2fd..0000000 --- a/laptop/pacman.conf +++ /dev/null @@ -1,100 +0,0 @@ -# -# /etc/pacman.conf -# -# See the pacman.conf(5) manpage for option and repository directives - -# -# GENERAL OPTIONS -# -[options] -# The following paths are commented out with their default values listed. -# If you wish to use different paths, uncomment and update the paths. -#RootDir = / -#DBPath = /var/lib/pacman/ -#CacheDir = /var/cache/pacman/pkg/ -#LogFile = /var/log/pacman.log -#GPGDir = /etc/pacman.d/gnupg/ -#HookDir = /etc/pacman.d/hooks/ -HoldPkg = pacman glibc -#XferCommand = /usr/bin/curl -L -C - -f -o %o %u -#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u -#CleanMethod = KeepInstalled -Architecture = auto -ILoveCandy -# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup -#IgnorePkg = -#IgnoreGroup = - -#NoUpgrade = -#NoExtract = - -# Misc options -#UseSyslog -Color -#NoProgressBar -CheckSpace -#VerbosePkgLists -ParallelDownloads = 5 - -# By default, pacman accepts packages signed by keys that its local keyring -# trusts (see pacman-key and its man page), as well as unsigned packages. -SigLevel = Required DatabaseOptional -LocalFileSigLevel = Optional -#RemoteFileSigLevel = Required - -# NOTE: You must run `pacman-key --init` before first using pacman; the local -# keyring can then be populated with the keys of all official Arch Linux -# packagers with `pacman-key --populate archlinux`. - -# -# REPOSITORIES -# - can be defined here or included from another file -# - pacman will search repositories in the order defined here -# - local/custom mirrors can be added here or in separate files -# - repositories listed first will take precedence when packages -# have identical names, regardless of version number -# - URLs will have $repo replaced by the name of the current repo -# - URLs will have $arch replaced by the name of the architecture -# -# Repository entries are of the format: -# [repo-name] -# Server = ServerName -# Include = IncludePath -# -# The header [repo-name] is crucial - it must be present and -# uncommented to enable the repo. -# - -# The testing repositories are disabled by default. To enable, uncomment the -# repo name header and Include lines. You can add preferred servers immediately -# after the header, and they will be used before the default mirrors. - -#[testing] -#Include = /etc/pacman.d/mirrorlist - -[core] -Include = /etc/pacman.d/mirrorlist - -[extra] -Include = /etc/pacman.d/mirrorlist - -#[extra-testing] -#Include = /etc/pacman.d/mirrorlist - -# If you want to run 32 bit applications on your x86_64 system, -# enable the multilib repositories as required here. - -#[multilib-testing] -#Include = /etc/pacman.d/mirrorlist - -[multilib] -Include = /etc/pacman.d/mirrorlist - -[arch4edu] -Server = https://de.arch4edu.mirror.kescher.at/$arch - -# An example of a custom package repository. See the pacman manpage for -# tips on creating your own repositories. -#[custom] -#SigLevel = Optional TrustAll -#Server = file:///home/custompkgs diff --git a/laptop/vscode-extensions b/laptop/vscode-extensions deleted file mode 100644 index f96a2b0..0000000 --- a/laptop/vscode-extensions +++ /dev/null @@ -1,36 +0,0 @@ -aaron-bond.better-comments -abusaidm.html-snippets -bungcip.better-toml -dbaeumer.vscode-eslint -dlasagno.rasi -donjayamanne.jquerysnippets -ecmel.vscode-html-css -Equinusocio.vsc-community-material-theme -Equinusocio.vsc-material-theme -equinusocio.vsc-material-theme-icons -ev3dev.ev3dev-browser -eww-yuck.yuck -fivethree.vscode-hugo-snippets -formulahendry.auto-rename-tag -golang.go -hollowtree.vue-snippets -Ionic.ionic -James-Yu.latex-workshop -lllllllqw.jsdoc -mads-hartmann.bash-ide-vscode -mathematic.vscode-latex -mechatroner.rainbow-csv -ms-python.python -ms-vscode.cpptools -NilsSoderman.sitemap-generator -quicktype.quicktype -rust-lang.rust-analyzer -Shan.code-settings-sync -spences10.robots-txt -streetsidesoftware.code-spell-checker -streetsidesoftware.code-spell-checker-german -svelte.svelte-vscode -tecosaur.latex-utilities -valentjn.vscode-ltex -Vue.volar -wayou.vscode-todo-highlight diff --git a/notes.md b/notes.md new file mode 100644 index 0000000..6a27b4c --- /dev/null +++ b/notes.md @@ -0,0 +1,58 @@ +# Needed Colours +- accent_colour_1 +- accent_colour_2 +- accent_colour_3 +- primary_colour +- background_colour +- shadow_colour +- inactive_colour + +# TODO +- [ ] Astal + - [ ] Bar + - [ ] Notifications + - [ ] Quick controls + - [ ] Wlogout replacement + - [ ] Media controls + - [ ] AppLauncher (possibly, if anyrun is no good) + - [ ] OSD (see [here](https://github.com/Aylur/astal/tree/main/examples/gtk3/js)) +- [ ] Text recognition +- [ ] Theming + - [ ] GTK + - [ ] QT + - [ ] Librewolf + - [ ] Astal + - [ ] Hyprland + - [ ] Rofi + - [ ] nvim + - [ ] yazi + - [ ] kitty + - [ ] DisplayManager + - [ ] Cursor (maybe stick with oreo cursor, or otherwise find good replacement) +- [ ] Rofi + - [ ] Spotlight-Search (or replace with anyrun) + - [ ] Wallpaper selector (that automatically triggers the theming script) +- [ ] Hyprland + - [ ] Keybinds: Resize window, move window, open calculator, plus more programs + - [ ] Read docs + - [ ] battery management +- [ ] Programs + - [ ] New image viewer + - [ ] Other pdf reader (maybe) + - [ ] Maybe TUI archive manager (felix-rs) +- [ ] Lazygit: Configure +- [ ] Nvim (other repo) + - [ ] Replace notification handler +- [ ] Yazi + - [ ] More keybinds + - [ ] Configure + - [ ] Drag and drop support? + - [ ] Check out plugins +- [ ] SDDM + - [ ] Replace with LightDM or ensure theming works, but prefer replacing +- [ ] Scripts + - [ ] Installer (after the basic OS setup is done (= from chroot onwards)) + - [ ] Theming script + - [ ] Instaler for configs + - [ ] Vivado cleanup (run after vivado and hope vivado is blocking) + - [ ] migrate to zoxide from autojump diff --git a/pc/.bash_history b/pc/.bash_history deleted file mode 100644 index e691e82..0000000 --- a/pc/.bash_history +++ /dev/null @@ -1,500 +0,0 @@ -pyinstaller imagevideoupscaler.spec -./imagevideoupscaler -./imagevideoupscaler -pyinstaller imagevideoupscaler.spec -./imagevideoupscaler -pyinstaller imagevideoupscaler.spec -pyinstaller imagevideoupscaler.spec -./imagevideoupscaler -pyinstaller imagevideoupscaler.spec -./imagevideoupscaler -pyinstaller imagevideoupscaler-cli.py --onefile --name imagevideoupscaler --hidden-import "bin.engines" -./imagevideoupscaler -pyinstaller imagevideoupscaler-cli.py --onefile --name imagevideoupscaler -python3 imagevideoupscaler-cli.py -i ~/Downloads/test.mp4 -o ~/Downloads/test_us.mp4 -python3 imagevideoupscaler-cli.py -i ~/Downloads/test.mp4 -o ~/Downloads/test_us.mp4 -pyinstaller imagevideoupscaler-cli.py --name imagevideoupscaler -cd dist/imagevideoupscaler/ -./imagevideoupscaler -i -cd ../.. -cd ~/projects/FSRImageVideoUpscalerFrontend_New/ -ls -clear -ls -clear -yay -S rpm-build -yay -S rpm-tools -yay -S dpkg -yay -S fakeroot -clear -pip3 install py2deb -py2deb -r ./ -py2deb -r ~/projects/FSRImageVideoUpscalerFrontend_New/ -pip3 install symbol -clear -yay -S symbol -clear -pip3 install pyinstaller -yay -S python-pip -py2deb -python3 imagevideoupscaler-cli.py -clear -pip3 install symbol -pip3 install setuptools -yay -R python-pip -yay -S python-pip -pip install --upgrade pip -clear -pip install setuptools -yay -S setuptools -sudo pacman -Syu "pacman>=6.0.2-7" -pip3 -yay -S python-pip -yay -S python3-pip -clear -yay -S python-pip -pip3 install -python -m pip3 -python -m pip -pip -pip3 -clear -pip3 -pip3 install -python3 imagevideoupscaler-cli.py -i ~/Downloads/test.mp4 -o ~/Downloads/test_us.mp4 -python3 imagevideoupscaler-cli.py -i ~/Downloads/test.mp4 -o ~/Downloads/test_us.mp4 -python3 imagevideoupscaler-cli.py -i ~/Downloads/test.mp4 -o ~/Downloads/test_us.mp4 -python3 imagevideoupscaler-cli.py -i ~/Downloads/test.mp4 -o ~/Downloads/test_us.mp4 -s 2 -clear -python3 imagevideoupscaler-cli.py -i ~/Downloads/test.mp4 -o ~/Downloads/test_us.mp4 -E ss -python3 imagevideoupscaler-cli.py -i ~/Downloads/test.mp4 -o ~/Downloads/test_us.mp4 -E ss -python3 imagevideoupscaler-cli.py -i ~/Downloads/test.mp4 -o ~/Downloads/test_us.mp4 -E ss -python3 imagevideoupscaler-cli.py -i ~/Downloads/test.mp4 -o ~/Downloads/test_us.mp4 -E ss -s 2 -clear -python3 imagevideoupscaler-cli.py -i ~/Downloads/test.mp4 -o ~/Downloads/test_us.mp4 -E fsr -s 2 -python3 imagevideoupscaler-cli.py -i ~/Downloads/test.mp4 -o ~/Downloads/test_us.mp4 -E fsr -M c -s 2 -clear -python3 imagevideoupscaler-cli.py -i ~/Downloads/test.mp4 -o ~/Downloads/test_us.mp4 -E fsr -s 2 -python3 imagevideoupscaler-cli.py -i ~/Downloads/test.mp4 -o ~/Downloads/test_us.mp4 -E ss -s 2 -python3 imagevideoupscaler-cli.py -i ~/Downloads/test.mp4 -o ~/Downloads/test_us.mp4 -E ss -s 2 -npm run serve -npm run serve -npm run serve -npm i -npm run serve -clear -cd ../../website/ -cd dist/ -http-server -http-server -git pull origin main -git checkout origin master -git checkout origin main -cd frontend/ -npm run electron:serve -npm i -g @vue/cli -sudo npm i -g @vue/cli -npm audit fix --force -npm audit fix --force -npm audit fix --force -npm i -npm i -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm i child_process -clear -npm run electron:serve -npm run serve -npm run serve -npm run serve -cd .. -ls -clear -python3 imagevideoupscaler-cli.py -h -python3 imagevideoupscaler-cli.py -p -python3 imagevideoupscaler-cli.py -h -python3 imagevideoupscaler-cli.py -d ss -cd frontend/ -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm i --save-dev @electron-forge/cli -npm exec --package=@electron-forge/cli -c "electron-forge import" -npm run make -cd src/ -npm run make -clear -cd .. -npm run electron:build -npm run electron:build -- --linux deb --win nsis -clear -npm run electron:build -- --linux deb --win nsis -npm run electron:build -- --linux deb --win nsis -npm run electron:build -- --linux deb --win nsis -npm run electron:build -- --linux deb --win nsis -npm run electron:build -- --linux deb --win nsis -yay -S libcript -yay -S libssl -clear -npm run electron:build -- --linux deb --linux rpm --win nsis -npm run electron:build -- --linux deb rpm --win nsis -yay -S libxcrypt-compat -npm run electron:build -- --linux deb rpm --win nsis -npm run electron:build -- --linux deb rpm --win nsis -cd ../packaging/ -ls -sudo chmod +x package.sh -./package.sh -mv --help -pip3 install pyinstaller -./package.sh -./package.sh -./package.sh -./package.sh -./package.sh -./package.sh -./package.sh -./package.sh -./package.sh -./package.sh -cd packaging/ -ls -sudo chmod +x package.sh -sudo chmod +x package.sh -./package.sh -./package.sh -./package.sh -cd ../dist/imagevideoupscaler/ -cd ../../frontend/ -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -cd ../packaging/ -./package.sh -clear -cd ../frontend/ -npm run electron:serve -cd ../packaging/ -./package.sh -cd ../frontend/ -npm run electron:serve -npm run electron:serve -cd ../packaging/ -./package.sh -clear -cd ../frontend/ -npm run electron:serve -npm run electron:serve -npm run electron:serve -./imagevideoupscaler -./imagevideoupscaler -i /home/janis/Downloads/test.mp4 -o ~/Downloads/test_us.mp4 -s 2 -S 0.25 -clear -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm i socket.io -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm i socket.io-client -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -cd ../packaging/ -sudo chmod +x ./prepareWindowsPackaging.sh -./prepareWindowsPackaging.sh -wine python -m pip install pyinstaller -./package.sh -./package.sh -wine python -m PyInstaller -./package.sh -cd ../frontend/dist_electron/ -wine imagevideoupscaler\ Setup\ 2.0.0-dev1.exe -clear -cd ../../packaging/ -clear -cd ../frontend/ -npm run electron:serve -cd .. -python3 imagevideoupscaler-cli.py -d ss -cd frontend/ -npm run electron:serve -npm run electron:serve -cd ../packaging/ -./package.sh -sudo chmod +x packageWindows.sh -sudo chmod +x packageLinux.sh -./packageWindows.sh -./packageWindows.sh -cd .. -python3 imagevideoupscaler-cli.py -h -cd frontend/ -npm run serve -npm run electron:serve -npm run electron:serve -cd ../frontend/ -cd ../packaging/ -./packageWindows.sh -cd ../frontend/ -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm i electron -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -npm run electron:serve -cd ../packaging/ -sudo chmod +x startTesting.sh -sudo chmod +x stopTesting.sh -clear -./startTesting.sh -cd ../frontend/ -npm run serve -npm run electron:serve -npm run electron:serve -cd ../packaging/ -./stopTesting.sh -./stopTesting.sh -./packageWindows.sh -cd .. -python3 imagevideoupscaler-cli.py -i /home/janis/projects/FSRImageVideoUpscalerFrontend_New/logo.png -python3 imagevideoupscaler-cli.py -i /home/janis/projects/FSRImageVideoUpscalerFrontend_New/logo.png -python3 imagevideoupscaler-cli.py -i /home/janis/projects/FSRImageVideoUpscalerFrontend_New/logo.png -python3 imagevideoupscaler-cli.py -i /home/janis/projects/FSRImageVideoUpscalerFrontend_New/logo.png -s 2 -cd ../fro -cd frontend/ -npm run serve -npm run electron:serve -cd ../packaging/ -./package.sh -./stopTesting.sh -./package.sh -./package.sh -cd ../frontend/ -npm run electron:serve -cd ../packaging/ -./packageWindows.sh -cd src/webapp/ -npm run serve -./packageWindows.sh -cd ../frontend/ -wine ./smuL-cli.exe -cd ../packaging/ -clear -./stopTesting.sh -./packageLinux.sh -cd ../frontend/ -./smuL-cli -clear -cd ../packaging/ -./stopTesting.sh -./packageWindows.sh -wine -m pip install importlib -clear -./stopTesting.sh -./prepareWindowsPackaging.sh -clear -cd ../ -wine python ./smuL-cli.py -wine python ./smuL-cli.py -wine python ./smuL-cli.py -wine python ./smuL-cli.py -wine python ./smuL-cli.py -wine python ./smuL-cli.py -wine python ./smuL-cli.py -cd packaging/ -./stopTesting.sh -./packageWindows.sh -cd ../frontend/dist_electron/ -wine ./SimpleMediaScalerLite\ Setup\ 2.0.0-dev1.exe -clear -cd ../../packaging/ -./packageWindows.sh -cd ../frontend/ -wine ./smuL-cli.exe -h -wine ./smuL-cli.exe -i ~/Downloads/test.png -s 2 -cd ../packaging/ -./stopTesting.sh -./packageWindows.sh -cd ../frontend/ -wine ./smuL-cli.exe -i ~/Downloads/test.png -s 2 -wine ./smuL-cli.exe -i ~/Downloads/test.png -s 2 -wine ./smuL-cli.exe -i ~/Downloads/test.png -s 2 -wine ./smuL-cli.exe -i ~/Downloads/test.png -s 2 -cd ../packaging/ -./stopTesting.sh -./packageWindows.sh -clear -cd ../frontend/ -wine ./smuL-cli.exe -i ~/Downloads/test.png -s 2 -clear -cd ../packaging/ -./stopTesting.sh -./packageWindows.sh -cd ../frontend/ -wine ./smuL-cli.exe -i ~/Downloads/test.png -s 2 -cd ../packaging/ -./stopTesting.sh -./packageWindows.sh -cd ../frontend/dist_electron/ -wine ./SimpleMediaScalerLite\ Setup\ 2.0.0-dev1.exe -wine ./SimpleMediaScalerLite\ Setup\ 2.0.0-dev1.exe -clear -cd ../../packaging/ -sudo chmod +x packageTesting.sh -./packageTesting.sh -cd ../frontend/dist_electron/linux-unpacked/ -ls -./simplemediascalerlite -cd ../../ -cd ../packag -cd ../packaging/ -./packageLinux.sh -./packageLinux.sh -./packageLinux.sh -./packageTesting.sh -./packageTesting.sh -./packageTesting.sh -./packageTesting.sh -./packageTesting.sh -./packageTesting.sh -./packageTesting.sh -./packageTesting.sh -./packageTesting.sh -./packageTesting.sh -./packageTesting.sh -./packageTesting.sh -./packageTesting.sh -./packageTesting.sh -./packageWindows.sh -cd ../frontend/dist_electron/ -wine SimpleMediaScalerLite\ Setup\ 2.0.0-dev1.exe -wine SimpleMediaScalerLite\ Setup\ 2.0.0-dev1.exe -clear -cd ../../packaging/ -./package.sh -cd .. -python3 smuL-cli.py -i /home/janis/Downloads/test.png -S 2 -python3 smuL-cli.py -i /home/janis/Downloads/test.mp4 -s 2 -python3 smuL-cli.py -i /home/janis/Downloads/test.mp4 -S 2 -python3 smuL-cli.py -i /home/janis/Downloads/test.mp4 -S 2 -python3 smuL-cli.py -i /home/janis/Downloads/test.mp4 -S 2 -python3 smuL-cli.py -i /home/janis/Downloads/test.mp4 -S 2 -python3 smuL-cli.py -i /home/janis/Downloads/test.mp4 -S 2 -python3 smuL-cli.py -i /home/janis/Downloads/test.mp4 -S 2 -python3 smuL-cli.py -i /home/janis/Downloads/test.mp4 -S 2 -python3 smuL-cli.py -i /home/janis/Downloads/test.mp4 -s 2 -clear -cd ./packaging/ -./packageWindows.sh -./packageWindows.sh -./packageWindows.sh -./packageWindows.sh -./package.sh -cd packag -cd packaging/ -./packageWindows.sh -./packageWindows.sh -cd ../../italian/ -http-server -node server.js -node server.js -node server.js -node server.js -node server.js -node server.js -node server.js -ls | grep -v jpg$ | while IFS= read -r FILENAME; do convert "${FILENAME}" "${FILENAME%.*}.jpg"; done -clear -for i in *.avi; do ffmpeg -i "$i" "${i%.*}.mp4"; done -for i in *.mov; do ffmpeg -i "$i" "${i%.*}.mp4"; done -rm ./*.mp4 -for i in *.mov; do ffmpeg -i "$i" "./Transcoded/${i%.*}.mp4"; done -for i in *.mov; do ffmpeg -i "$i" "./Transcoded/${i%.*}.mp4"; done -for i in *.mov; do ffmpeg -i "$i" "./Transcoded/${i%.*}.mp4"; done -file="/home/janis/dotfiles/config/vscode-extensions" -while read line; do vscodium --install-extension "${line}"; done < "${file}" -yay -S vscodium -clear -cp ./dotfiles/config/.bashrc .bashrc -clear -exit -clear -sudo plymouth-set-default-theme -R bgrt -cd dotfiles/ -sudo cp ./config/environment /etc/environment -sudo cp ./config/mkinitcpio.conf /etc/mkinitcpio.conf -sudo cp ./config/pacman.conf /etc/pacman.conf -clear -yay -Syu -clear -hugo -clear -cd /tmp -git clone https://github.com/rtlewis1/GTK/tree/Material-Black-Colors-Desktop -cd Material-Black-Colors-Desktop/ -sudo cp ./Material-Black-Blueberry /usr/share/themes -ls -git clone https://github.com/rtlewis1/GTK -cd gtk -cd GTK -git checkout Material-Black-Colors-Desktop -clear -ls -sudo cp ./Material-Black-Blueberry /usr/share/themes -sudo cp -r ./Material-Black-Blueberry /usr/share/themes -cd /tmp -git clone https://github.com/varlesh/oreo-cursors -cd oreo-cursors/generator -echo "black = #424242" > ./colours.conf -ruby convert.rb -cd .. -make build -sudo make install -ls -sudo make -sudo make build -make build -clear -cat build.sh -make build -clear -yay -S librewolf-bin -exit -file="/home/janis/dotfiles/config/vscode-extensions" -while read line; do vscodium --install-extension "${line}"; done < "${file}" diff --git a/pc/.bashrc b/pc/.bashrc deleted file mode 100755 index 95b0a32..0000000 --- a/pc/.bashrc +++ /dev/null @@ -1,359 +0,0 @@ -# -# ~/.bashrc -# - -# If not running interactively, don't do anything -[[ $- != *i* ]] && return - -export PATH="/home/janis/.local/share/gem/ruby/3.0.0/bin: $PATH" -export PATH="/home/janis/.local/bin: $PATH" -alias editHyprlandConf='nano ~/.config/hypr/hyprland.conf' -alias ls='ls -l --color=auto' -alias ll='ls -la --color=auto' -alias sl='ls --color=auto' -alias start-httpd='sudo systemctl start httpd' -PS1='[\u@\h \W]\$ ' - -################################################################################ -## FUNCTIONS ## -################################################################################ - -## -## ARRANGE $PWD AND STORE IT IN $NEW_PWD -## * The home directory (HOME) is replaced with a ~ -## * The last pwdmaxlen characters of the PWD are displayed -## * Leading partial directory names are striped off -## /home/me/stuff -> ~/stuff (if USER=me) -## /usr/share/big_dir_name -> ../share/big_dir_name (if pwdmaxlen=20) -## -## Original source: WOLFMAN'S color bash promt -## https://wiki.chakralinux.org/index.php?title=Color_Bash_Prompt#Wolfman.27s -## -bash_prompt_command() { - # How many characters of the $PWD should be kept - local pwdmaxlen=25 - - # Indicate that there has been dir truncation - local trunc_symbol=".." - - # Store local dir - local dir=${PWD##*/} - - # Which length to use - pwdmaxlen=$(( ( pwdmaxlen < ${#dir} ) ? ${#dir} : pwdmaxlen )) - - NEW_PWD=${PWD/#$HOME/\~} - - local pwdoffset=$(( ${#NEW_PWD} - pwdmaxlen )) - - # Generate name - if [ ${pwdoffset} -gt "0" ] - then - NEW_PWD=${NEW_PWD:$pwdoffset:$pwdmaxlen} - NEW_PWD=${trunc_symbol}/${NEW_PWD#*/} - fi -} - - - - -## -## GENERATE A FORMAT SEQUENCE -## -format_font() -{ - ## FIRST ARGUMENT TO RETURN FORMAT STRING - local output=$1 - - - case $# in - 2) - eval $output="'\[\033[0;${2}m\]'" - ;; - 3) - eval $output="'\[\033[0;${2};${3}m\]'" - ;; - 4) - eval $output="'\[\033[0;${2};${3};${4}m\]'" - ;; - *) - eval $output="'\[\033[0m\]'" - ;; - esac -} - - - -## -## COLORIZE BASH PROMT -## -bash_prompt() { - - ############################################################################ - ## COLOR CODES ## - ## These can be used in the configuration below ## - ############################################################################ - - ## FONT EFFECT - local NONE='0' - local BOLD='1' - local DIM='2' - local UNDERLINE='4' - local BLINK='5' - local INVERT='7' - local HIDDEN='8' - - - ## COLORS - local DEFAULT='9' - local BLACK='0' - local RED='1' - local GREEN='2' - local YELLOW='3' - local BLUE='4' - local MAGENTA='5' - local CYAN='6' - local L_GRAY='7' - local D_GRAY='60' - local L_RED='61' - local L_GREEN='62' - local L_YELLOW='63' - local L_BLUE='64' - local L_MAGENTA='65' - local L_CYAN='66' - local WHITE='67' - - - ## TYPE - local RESET='0' - local EFFECT='0' - local COLOR='30' - local BG='40' - - - ## 256 COLOR CODES - local NO_FORMAT="\[\033[0m\]" - local ORANGE_BOLD="\[\033[1;38;5;208m\]" - local TOXIC_GREEN_BOLD="\[\033[1;38;5;118m\]" - local RED_BOLD="\[\033[1;38;5;1m\]" - local CYAN_BOLD="\[\033[1;38;5;87m\]" - local BLACK_BOLD="\[\033[1;38;5;0m\]" - local WHITE_BOLD="\[\033[1;38;5;15m\]" - local GRAY_BOLD="\[\033[1;90m\]" - local BLUE_BOLD="\[\033[1;38;5;74m\]" - - - - - - ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## - ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## - ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## - - - - ## CONFIGURE HERE ## - - - - ############################################################################ - ## CONFIGURATION ## - ## Choose your color combination here ## - ############################################################################ - local FONT_COLOR_1=$WHITE - local BACKGROUND_1=$RED - local TEXTEFFECT_1=$BOLD - - local FONT_COLOR_2=$WHITE - local BACKGROUND_2=$YELLOW - local TEXTEFFECT_2=$BOLD - - local FONT_COLOR_3=$D_GRAY - local BACKGROUND_3=$WHITE - local TEXTEFFECT_3=$BOLD - - local PROMT_FORMAT=$BLUE_BOLD - - - ############################################################################ - ## EXAMPLE CONFIGURATIONS ## - ## I use them for different hosts. Test them out ;) ## - ############################################################################ - - ## CONFIGURATION: BLUE-WHITE - if [ "$HOSTNAME" = dell ]; then - FONT_COLOR_1=$WHITE; BACKGROUND_1=$BLUE; TEXTEFFECT_1=$BOLD - FONT_COLOR_2=$WHITE; BACKGROUND_2=$L_BLUE; TEXTEFFECT_2=$BOLD - FONT_COLOR_3=$D_GRAY; BACKGROUND_3=$WHITE; TEXTEFFECT_3=$BOLD - PROMT_FORMAT=$CYAN_BOLD - fi - - ## CONFIGURATION: BLACK-RED - if [ "$HOSTNAME" = giraff6 ]; then - FONT_COLOR_1=$WHITE; BACKGROUND_1=$BLACK; TEXTEFFECT_1=$BOLD - FONT_COLOR_2=$WHITE; BACKGROUND_2=$D_GRAY; TEXTEFFECT_2=$BOLD - FONT_COLOR_3=$WHITE; BACKGROUND_3=$RED; TEXTEFFECT_3=$BOLD - PROMT_FORMAT=$RED_BOLD - fi - - ## CONFIGURATION: RED-BLACK - #FONT_COLOR_1=$WHITE; BACKGROUND_1=$RED; TEXTEFFECT_1=$BOLD - #FONT_COLOR_2=$WHITE; BACKGROUND_2=$D_GRAY; TEXTEFFECT_2=$BOLD - #FONT_COLOR_3=$WHITE; BACKGROUND_3=$BLACK; TEXTEFFECT_3=$BOLD - #PROMT_FORMAT=$RED_BOLD - - ## CONFIGURATION: CYAN-BLUE - if [ "$HOSTNAME" = sharkoon ]; then - FONT_COLOR_1=$BLACK; BACKGROUND_1=$L_CYAN; TEXTEFFECT_1=$BOLD - FONT_COLOR_2=$WHITE; BACKGROUND_2=$L_BLUE; TEXTEFFECT_2=$BOLD - FONT_COLOR_3=$WHITE; BACKGROUND_3=$BLUE; TEXTEFFECT_3=$BOLD - PROMT_FORMAT=$CYAN_BOLD - fi - - ## CONFIGURATION: GRAY-SCALE - if [ "$HOSTNAME" = giraff ]; then - FONT_COLOR_1=$WHITE; BACKGROUND_1=$BLACK; TEXTEFFECT_1=$BOLD - FONT_COLOR_2=$WHITE; BACKGROUND_2=$D_GRAY; TEXTEFFECT_2=$BOLD - FONT_COLOR_3=$WHITE; BACKGROUND_3=$L_GRAY; TEXTEFFECT_3=$BOLD - PROMT_FORMAT=$BLACK_BOLD - fi - - ## CONFIGURATION: GRAY-CYAN - if [ "$HOSTNAME" = light ]; then - FONT_COLOR_1=$WHITE; BACKGROUND_1=$BLACK; TEXTEFFECT_1=$BOLD - FONT_COLOR_2=$WHITE; BACKGROUND_2=$D_GRAY; TEXTEFFECT_2=$BOLD - FONT_COLOR_3=$BLACK; BACKGROUND_3=$L_CYAN; TEXTEFFECT_3=$BOLD - PROMT_FORMAT=$CYAN_BOLD - fi - - - ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## - ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## - ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## - - - - - ############################################################################ - ## TEXT FORMATING ## - ## Generate the text formating according to configuration ## - ############################################################################ - - ## CONVERT CODES: add offset - FC1=$(($FONT_COLOR_1+$COLOR)) - BG1=$(($BACKGROUND_1+$BG)) - FE1=$(($TEXTEFFECT_1+$EFFECT)) - - FC2=$(($FONT_COLOR_2+$COLOR)) - BG2=$(($BACKGROUND_2+$BG)) - FE2=$(($TEXTEFFECT_2+$EFFECT)) - - FC3=$(($FONT_COLOR_3+$COLOR)) - BG3=$(($BACKGROUND_3+$BG)) - FE3=$(($TEXTEFFECT_3+$EFFECT)) - - FC4=$(($FONT_COLOR_4+$COLOR)) - BG4=$(($BACKGROUND_4+$BG)) - FE4=$(($TEXTEFFECT_4+$EFFECT)) - - - ## CALL FORMATING HELPER FUNCTION: effect + font color + BG color - local TEXT_FORMAT_1 - local TEXT_FORMAT_2 - local TEXT_FORMAT_3 - local TEXT_FORMAT_4 - format_font TEXT_FORMAT_1 $FE1 $FC1 $BG1 - format_font TEXT_FORMAT_2 $FE2 $FC2 $BG2 - format_font TEXT_FORMAT_3 $FC3 $FE3 $BG3 - format_font TEXT_FORMAT_4 $FC4 $FE4 $BG4 - - - # GENERATE PROMT SECTIONS - local PROMT_USER=$"$TEXT_FORMAT_1 \u " - local PROMT_HOST=$"$TEXT_FORMAT_2 \h " - local PROMT_PWD=$"$TEXT_FORMAT_3 \${NEW_PWD} " - local PROMT_INPUT=$"$PROMT_FORMAT " - - - ############################################################################ - ## SEPARATOR FORMATING ## - ## Generate the separators between sections ## - ## Uses background colors of the sections ## - ############################################################################ - - ## CONVERT CODES - TSFC1=$(($BACKGROUND_1+$COLOR)) - TSBG1=$(($BACKGROUND_2+$BG)) - - TSFC2=$(($BACKGROUND_2+$COLOR)) - TSBG2=$(($BACKGROUND_3+$BG)) - - TSFC3=$(($BACKGROUND_3+$COLOR)) - TSBG3=$(($DEFAULT+$BG)) - - - ## CALL FORMATING HELPER FUNCTION: effect + font color + BG color - local SEPARATOR_FORMAT_1 - local SEPARATOR_FORMAT_2 - local SEPARATOR_FORMAT_3 - format_font SEPARATOR_FORMAT_1 $TSFC1 $TSBG1 - format_font SEPARATOR_FORMAT_2 $TSFC2 $TSBG2 - format_font SEPARATOR_FORMAT_3 $TSFC3 $TSBG3 - - - # GENERATE SEPARATORS WITH FANCY TRIANGLE - local TRIANGLE=$'\uE0B0' - local SEPARATOR_1=$SEPARATOR_FORMAT_1$TRIANGLE - local SEPARATOR_2=$SEPARATOR_FORMAT_2$TRIANGLE - local SEPARATOR_3=$SEPARATOR_FORMAT_3$TRIANGLE - - - - ############################################################################ - ## WINDOW TITLE ## - ## Prevent messed up terminal-window titles ## - ############################################################################ - case $TERM in - xterm*|rxvt*) - local TITLEBAR='\[\033]0;\u:${NEW_PWD}\007\]' - ;; - *) - local TITLEBAR="" - ;; - esac - - - - ############################################################################ - ## BASH PROMT ## - ## Generate promt and remove format from the rest ## - ############################################################################ - PS1="$TITLEBAR\n${PROMT_USER}${SEPARATOR_1}${PROMT_HOST}${SEPARATOR_2}${PROMT_PWD}${SEPARATOR_3}${PROMT_INPUT}" - - - - ## For terminal line coloring, leaving the rest standard - none="$(tput sgr0)" - trap 'echo -ne "${none}"' DEBUG -} - - - - -################################################################################ -## MAIN ## -################################################################################ - -## Bash provides an environment variable called PROMPT_COMMAND. -## The contents of this variable are executed as a regular Bash command -## just before Bash displays a prompt. -## We want it to call our own command to truncate PWD and store it in NEW_PWD -PROMPT_COMMAND=bash_prompt_command - -## Call bash_promnt only once, then unset it (not needed any more) -## It will set $PS1 with colors and relative to $NEW_PWD, -## which gets updated by $PROMT_COMMAND on behalf of the terminal -bash_prompt -unset bash_prompt - -### EOF ### diff --git a/pc/configs/OpenRGB/OpenRGB.json b/pc/configs/OpenRGB/OpenRGB.json deleted file mode 100755 index 4ee3f30..0000000 --- a/pc/configs/OpenRGB/OpenRGB.json +++ /dev/null @@ -1,1284 +0,0 @@ -{ - "AutoStart": { - "client": "localhost:6742", - "custom": "", - "enabled": false, - "host": "0.0.0.0", - "port": "6742", - "profile": "Main", - "setclient": false, - "setcustom": false, - "setminimized": false, - "setprofile": false, - "setserver": false, - "setserverhost": false, - "setserverport": false - }, - "CorsairDominatorSettings": { - "model": "CMT" - }, - "Detectors": { - "detectors": { - "AMD Wraith Prism": true, - "AOC AGON AMM700": true, - "AOC GK500": true, - "AOC GM500": true, - "ASRock Deskmini Addressable LED Strip": true, - "ASRock Motherboard SMBus Controllers": true, - "ASRock Polychrome USB": true, - "ASUS AREZ Strix RX Vega 56 O8G": true, - "ASUS Aura Addressable": true, - "ASUS Aura Core": true, - "ASUS Aura Motherboard": true, - "ASUS Aura SMBus Motherboard": true, - "ASUS Cerberus Mech": true, - "ASUS GTX 1060 Strix": true, - "ASUS GTX 1060 Strix 6G Gaming": true, - "ASUS GTX 1070 Strix Gaming": true, - "ASUS GTX 1070 Strix OC": true, - "ASUS GTX 1080 Strix OC": true, - "ASUS KO RTX 3060 O12G V2 GAMING": true, - "ASUS KO RTX 3060 OC O12G GAMING": true, - "ASUS KO RTX 3060Ti O8G GAMING": true, - "ASUS KO RTX 3060Ti O8G V2 GAMING": true, - "ASUS KO RTX 3070 O8G V2 GAMING": true, - "ASUS ROG AURA Terminal": true, - "ASUS ROG Ally": true, - "ASUS ROG Balteus": true, - "ASUS ROG Balteus Qi": true, - "ASUS ROG Chakram (Wireless)": true, - "ASUS ROG Claymore": true, - "ASUS ROG Falchion (Wired)": true, - "ASUS ROG Falchion (Wireless)": true, - "ASUS ROG GTX 1660 Ti OC 6G": true, - "ASUS ROG Gladius II": true, - "ASUS ROG Gladius II Core": true, - "ASUS ROG Gladius II Origin": true, - "ASUS ROG Gladius II Origin COD": true, - "ASUS ROG Gladius II Origin PNK LTD": true, - "ASUS ROG Gladius II Wireless": true, - "ASUS ROG Gladius III": true, - "ASUS ROG Gladius III Wireless 2.4Ghz": true, - "ASUS ROG Gladius III Wireless Bluetooth": true, - "ASUS ROG Gladius III Wireless USB": true, - "ASUS ROG Keris": true, - "ASUS ROG Keris Wireless 2.4Ghz": true, - "ASUS ROG Keris Wireless Bluetooth": true, - "ASUS ROG Keris Wireless USB": true, - "ASUS ROG PG32UQ": true, - "ASUS ROG Pugio": true, - "ASUS ROG Pugio II (Wired)": true, - "ASUS ROG Pugio II (Wireless)": true, - "ASUS ROG RTX 3080 10G GUNDAM EDITION": true, - "ASUS ROG Ryuo AIO": true, - "ASUS ROG STRIX 3060 12G GAMING": true, - "ASUS ROG STRIX 3060 O12G GAMING": true, - "ASUS ROG STRIX 3060 O12G V2 GAMING": true, - "ASUS ROG STRIX 3060Ti O8G OC": true, - "ASUS ROG STRIX 3060Ti O8G V2": true, - "ASUS ROG STRIX 3070 O8G GAMING": true, - "ASUS ROG STRIX 3070 O8G V2 GAMING": true, - "ASUS ROG STRIX 3070 O8G V2 White": true, - "ASUS ROG STRIX 3070 O8G White": true, - "ASUS ROG STRIX 3070 OC": true, - "ASUS ROG STRIX 3070Ti O8G GAMING": true, - "ASUS ROG STRIX 3080 10G GAMING": true, - "ASUS ROG STRIX 3080 10G V2 GAMING": true, - "ASUS ROG STRIX 3080 O10G GAMING": true, - "ASUS ROG STRIX 3080 O10G V2 GAMING": true, - "ASUS ROG STRIX 3080 O10G V2 WHITE": true, - "ASUS ROG STRIX 3080 O10G WHITE": true, - "ASUS ROG STRIX 3080Ti O12G GAMING": true, - "ASUS ROG STRIX 3090 24G GAMING": true, - "ASUS ROG STRIX 3090 O24G GAMING": true, - "ASUS ROG STRIX 3090 O24G GAMING White OC": true, - "ASUS ROG STRIX LC 3080Ti O12G GAMING": true, - "ASUS ROG STRIX LC RX 6800XT O16G GAMING": true, - "ASUS ROG STRIX LC RX 6900XT O16G GAMING": true, - "ASUS ROG STRIX LC RX 6900XT O16G GAMING TOP": true, - "ASUS ROG STRIX LC RX 6950XT O16G GAMING": true, - "ASUS ROG STRIX RTX 2060 EVO Gaming 6G": true, - "ASUS ROG STRIX RTX 2060 O6G EVO Gaming": true, - "ASUS ROG STRIX RTX 2060 O6G Gaming": true, - "ASUS ROG STRIX RTX 2060S 8G Gaming": true, - "ASUS ROG STRIX RTX 2060S A8G EVO Gaming": true, - "ASUS ROG STRIX RTX 2060S A8G Gaming": true, - "ASUS ROG STRIX RTX 2060S O8G Gaming": true, - "ASUS ROG STRIX RTX 2070 A8G Gaming": true, - "ASUS ROG STRIX RTX 2070 O8G Gaming": true, - "ASUS ROG STRIX RTX 2070S 8G Gaming": true, - "ASUS ROG STRIX RTX 2070S A8G Gaming": true, - "ASUS ROG STRIX RTX 2070S O8G Gaming": true, - "ASUS ROG STRIX RTX 2080 8G Gaming": true, - "ASUS ROG STRIX RTX 2080 O8G Gaming": true, - "ASUS ROG STRIX RTX 2080 O8G V2 Gaming": true, - "ASUS ROG STRIX RTX 2080 Ti 11G Gaming": true, - "ASUS ROG STRIX RTX 2080 Ti A11G Gaming": true, - "ASUS ROG STRIX RTX 2080 Ti O11G Gaming": true, - "ASUS ROG STRIX RTX 2080S A8G Gaming": true, - "ASUS ROG STRIX RTX 2080S O8G Gaming": true, - "ASUS ROG STRIX RTX 2080S O8G White": true, - "ASUS ROG STRIX RTX 3080 12G": true, - "ASUS ROG STRIX RTX 3080 O12G": true, - "ASUS ROG STRIX RTX 3080 O12G EVA EDITION": true, - "ASUS ROG STRIX RTX 4080 16G GAMING": true, - "ASUS ROG STRIX RTX 4080 O16G GAMING": true, - "ASUS ROG STRIX RTX 4090 24G GAMING": true, - "ASUS ROG STRIX RTX 4090 O24G GAMING": true, - "ASUS ROG STRIX RX 6700XT O12G GAMING": true, - "ASUS ROG STRIX RX 6750XT O12G GAMING": true, - "ASUS ROG STRIX RX 6800 O16G Gaming": true, - "ASUS ROG STRIX RX470 O4G GAMING": true, - "ASUS ROG STRIX RX470 O4G Gaming": true, - "ASUS ROG STRIX RX480 Gaming OC": true, - "ASUS ROG STRIX RX560 Gaming": true, - "ASUS ROG Strix Claw": true, - "ASUS ROG Strix Evolve": true, - "ASUS ROG Strix Flare": true, - "ASUS ROG Strix Flare CoD Black Ops 4 Edition": true, - "ASUS ROG Strix Flare PNK LTD": true, - "ASUS ROG Strix GTX 1050 O2G Gaming": true, - "ASUS ROG Strix GTX 1050 TI 4G Gaming": true, - "ASUS ROG Strix GTX 1050 TI O4G Gaming": true, - "ASUS ROG Strix GTX 1650S OC 4G": true, - "ASUS ROG Strix GTX 1660S O6G Gaming": true, - "ASUS ROG Strix GTX1070 Ti 8G Gaming": true, - "ASUS ROG Strix GTX1070 Ti A8G Gaming": true, - "ASUS ROG Strix GTX1080 A8G Gaming": true, - "ASUS ROG Strix GTX1080 O8G 11Gbps": true, - "ASUS ROG Strix GTX1080 O8G Gaming": true, - "ASUS ROG Strix GTX1080 Ti 11G Gaming": true, - "ASUS ROG Strix GTX1080 Ti Gaming": true, - "ASUS ROG Strix GTX1080 Ti O11G Gaming": true, - "ASUS ROG Strix Impact": true, - "ASUS ROG Strix Impact II": true, - "ASUS ROG Strix Impact II Electro Punk": true, - "ASUS ROG Strix Impact II Gundam": true, - "ASUS ROG Strix Impact II Moonlight White": true, - "ASUS ROG Strix Impact II Wireless 2.4 Ghz": true, - "ASUS ROG Strix Impact II Wireless USB": true, - "ASUS ROG Strix LC": true, - "ASUS ROG Strix SCAR 15": true, - "ASUS ROG Strix Scope": true, - "ASUS ROG Strix Scope RX": true, - "ASUS ROG Strix Scope RX TKL Wireless Deluxe": true, - "ASUS ROG Strix Scope TKL": true, - "ASUS ROG Strix Scope TKL PNK LTD": true, - "ASUS ROG Strix XG279Q": true, - "ASUS ROG Strix XG27AQ": true, - "ASUS ROG Strix XG27AQM": true, - "ASUS ROG Strix XG27W": true, - "ASUS ROG Throne": true, - "ASUS ROG Throne QI": true, - "ASUS ROG Throne QI GUNDAM": true, - "ASUS RX 5600XT Strix O6G Gaming": true, - "ASUS RX 570 Strix O4G Gaming OC": true, - "ASUS RX 570 Strix O8G Gaming OC": true, - "ASUS RX 5700XT Strix 08G Gaming": true, - "ASUS RX 5700XT Strix Gaming OC": true, - "ASUS RX 580 Strix Gaming OC": true, - "ASUS RX 580 Strix Gaming TOP": true, - "ASUS RX 6800 TUF Gaming OC": true, - "ASUS TUF 3060 O12G GAMING": true, - "ASUS TUF 3060 O12G V2 GAMING": true, - "ASUS TUF Gaming K1": true, - "ASUS TUF Gaming K3": true, - "ASUS TUF Gaming K5": true, - "ASUS TUF Gaming K7": true, - "ASUS TUF Gaming M3": true, - "ASUS TUF Gaming M5": true, - "ASUS TUF Laptop": true, - "ASUS TUF RTX 3060 Ti 8G Gaming OC": true, - "ASUS TUF RTX 3060Ti O8G": true, - "ASUS TUF RTX 3060Ti O8G OC": true, - "ASUS TUF RTX 3070 8G GAMING": true, - "ASUS TUF RTX 3070 O8G GAMING": true, - "ASUS TUF RTX 3070 O8G V2 GAMING": true, - "ASUS TUF RTX 3070Ti O8G GAMING": true, - "ASUS TUF RTX 3070Ti O8G V2 GAMING": true, - "ASUS TUF RTX 3080 10G GAMING": true, - "ASUS TUF RTX 3080 O10G OC": true, - "ASUS TUF RTX 3080 O10G V2 GAMING": true, - "ASUS TUF RTX 3080 O12G GAMING": true, - "ASUS TUF RTX 3080Ti 12G GAMING": true, - "ASUS TUF RTX 3080Ti O12G GAMING": true, - "ASUS TUF RTX 3090 O24G": true, - "ASUS TUF RTX 3090 O24G OC": true, - "ASUS TUF RTX 3090Ti 24G GAMING": true, - "ASUS TUF RTX 3090Ti O24G OC GAMING": true, - "ASUS TUF RTX 4070 O12G Gaming": true, - "ASUS TUF RTX 4070 Ti 12G Gaming": true, - "ASUS TUF RTX 4070 Ti O12G Gaming": true, - "ASUS TUF RTX 4080 16G GAMING": true, - "ASUS TUF RTX 4080 O16G GAMING": true, - "ASUS TUF RTX 4080 O16G OC": true, - "ASUS TUF RTX 4090 O24G": true, - "ASUS TUF RTX 4090 O24G OC": true, - "ASUS TUF RX 6700XT O12G GAMING": true, - "ASUS TUF RX 6800XT O16G GAMING": true, - "ASUS TUF RX 6900XT O16G GAMING": true, - "ASUS TUF RX 6900XT T16G GAMING": true, - "ASUS TUF RX 6950XT O16G GAMING": true, - "ASUS Vega 64 Strix": true, - "ASUS_TUF RX 6700XT O12G GAMING": true, - "Acer Predator Gaming Mouse (Rival 300)": true, - "Alienware AW510K": true, - "Anne Pro 2": true, - "Aorus CPU Coolers": true, - "Asus ROG Chakram (Wired)": true, - "Asus ROG Chakram Core": true, - "Asus ROG Chakram X 2.4GHz": true, - "Asus ROG Chakram X USB": true, - "Asus ROG Spatha X 2.4GHz": true, - "Asus ROG Spatha X USB": true, - "BlinkyTape": true, - "Bloody MP 50RS": true, - "Bloody W60 Pro": true, - "CRYORIG H7 Quad Lumi": true, - "Cherry Keyboard CCF MX 1.0 TKL BL": true, - "Cherry Keyboard CCF MX 1.0 TKL NBL": true, - "Cherry Keyboard CCF MX 8.0 TKL BL": true, - "Cherry Keyboard G80-3000 TKL NBL": true, - "Cherry Keyboard G80-3000 TKL NBL KOREAN": true, - "Cherry Keyboard G80-3000 TKL RGB": true, - "Cherry Keyboard G80-3000N FL RGB": true, - "Cherry Keyboard G80-3000N TKL RGB": true, - "Cherry Keyboard MV BOARD 3.0 FL RGB": true, - "Cherry Keyboard MX 1.0 FL BL": true, - "Cherry Keyboard MX 1.0 FL NBL": true, - "Cherry Keyboard MX 1.0 FL RGB": true, - "Cherry Keyboard MX BOARD 1.0 TKL RGB": true, - "Cherry Keyboard MX BOARD 10.0 FL RGB": true, - "Cherry Keyboard MX BOARD 10.0N FL RGB": true, - "Cherry Keyboard MX BOARD 2.0S FL NBL": true, - "Cherry Keyboard MX BOARD 2.0S FL RGB": true, - "Cherry Keyboard MX BOARD 2.0S FL RGB DE": true, - "Cherry Keyboard MX BOARD 3.0S FL NBL": true, - "Cherry Keyboard MX BOARD 3.0S FL RGB": true, - "Cherry Keyboard MX BOARD 3.0S FL RGB KOREAN": true, - "Cherry Keyboard MX BOARD 8.0 TKL RGB": true, - "Cooler Master ARGB": true, - "Cooler Master ARGB Gen 2 A1": true, - "Cooler Master ARGB Gen 2 A1 V2": true, - "Cooler Master MK750": true, - "Cooler Master MM530": true, - "Cooler Master MM711": true, - "Cooler Master MM720": true, - "Cooler Master MM730": true, - "Cooler Master MP750 Large": true, - "Cooler Master MP750 Medium": true, - "Cooler Master MP750 XL": true, - "Cooler Master MasterKeys Pro L": true, - "Cooler Master MasterKeys Pro L White": true, - "Cooler Master MasterKeys Pro S": true, - "Cooler Master RGB": true, - "Cooler Master Radeon 6000 GPU": true, - "Cooler Master Radeon 6900 GPU": true, - "Cooler Master SK630": true, - "Cooler Master SK650": true, - "Cooler Master Small ARGB": true, - "Corsair 1000D Obsidian": true, - "Corsair Commander Core": true, - "Corsair Commander Pro": true, - "Corsair Dominator Platinum": true, - "Corsair Glaive RGB": true, - "Corsair Glaive RGB PRO": true, - "Corsair H100i v2": true, - "Corsair Harpoon RGB": true, - "Corsair Harpoon RGB PRO": true, - "Corsair Hydro H100i Platinum": true, - "Corsair Hydro H100i Platinum SE": true, - "Corsair Hydro H100i Pro XT": true, - "Corsair Hydro H100i Pro XT v2": true, - "Corsair Hydro H115i Platinum": true, - "Corsair Hydro H115i Pro XT": true, - "Corsair Hydro H150i Pro XT": true, - "Corsair Hydro H60i Pro XT": true, - "Corsair Hydro Series": true, - "Corsair Ironclaw RGB": true, - "Corsair Ironclaw Wireless": true, - "Corsair Ironclaw Wireless (Wired)": true, - "Corsair K100": true, - "Corsair K55 RGB": true, - "Corsair K55 RGB PRO": true, - "Corsair K55 RGB PRO XT": true, - "Corsair K57 RGB (Wired)": true, - "Corsair K60 RGB PRO": true, - "Corsair K60 RGB PRO Low Profile": true, - "Corsair K65 LUX RGB": true, - "Corsair K65 Mini": true, - "Corsair K65 RGB": true, - "Corsair K65 RGB RAPIDFIRE": true, - "Corsair K68 RGB": true, - "Corsair K70 LUX": true, - "Corsair K70 LUX RGB": true, - "Corsair K70 RGB": true, - "Corsair K70 RGB MK.2": true, - "Corsair K70 RGB MK.2 Low Profile": true, - "Corsair K70 RGB MK.2 SE": true, - "Corsair K70 RGB RAPIDFIRE": true, - "Corsair K95 RGB": true, - "Corsair K95 RGB PLATINUM": true, - "Corsair K95 RGB PLATINUM XT": true, - "Corsair LS100 Lighting Kit": true, - "Corsair LT100": true, - "Corsair Lighting Node Core": true, - "Corsair Lighting Node Pro": true, - "Corsair M55 RGB PRO": true, - "Corsair M65": true, - "Corsair M65 PRO": true, - "Corsair M65 RGB Elite": true, - "Corsair MM700": true, - "Corsair MM800 RGB Polaris": true, - "Corsair Nightsword": true, - "Corsair SPEC OMEGA RGB": true, - "Corsair ST100 RGB": true, - "Corsair Sabre RGB": true, - "Corsair Scimitar Elite RGB": true, - "Corsair Scimitar PRO RGB": true, - "Corsair Scimitar RGB": true, - "Corsair Strafe": true, - "Corsair Strafe MK.2": true, - "Corsair Strafe Red": true, - "Corsair Vengeance": true, - "Corsair Vengeance Pro": true, - "Cougar 700K EVO Gaming Keyboard": true, - "Cougar Revenger ST": true, - "Creative SoundBlasterX G6": true, - "Crucial": true, - "DMX": true, - "Dark Project KD3B V2": true, - "Das Keyboard Q4 RGB": true, - "Das Keyboard Q5 RGB": true, - "Das Keyboard Q5S RGB": true, - "Debug Controllers": true, - "Dell G Series LED Controller": true, - "Ducky One 2 RGB TKL": true, - "Ducky Shine 7/Ducky One 2 RGB": true, - "Dygma Raise": true, - "E1.31": true, - "EK Loop Connect": true, - "ENE SMBus DRAM": true, - "EVGA GP102 GPU": true, - "EVGA GeForce RTX 2070 SUPER FTW3 Ultra": true, - "EVGA GeForce RTX 2070 SUPER FTW3 Ultra+": true, - "EVGA GeForce RTX 2070 SUPER XC Gaming": true, - "EVGA GeForce RTX 2070 SUPER XC Ultra": true, - "EVGA GeForce RTX 2070 SUPER XC Ultra+": true, - "EVGA GeForce RTX 2070 XC Black": true, - "EVGA GeForce RTX 2070 XC Gaming": true, - "EVGA GeForce RTX 2070 XC OC": true, - "EVGA GeForce RTX 2080 Black": true, - "EVGA GeForce RTX 2080 SUPER FTW3 Hybrid OC": true, - "EVGA GeForce RTX 2080 SUPER FTW3 Ultra": true, - "EVGA GeForce RTX 2080 SUPER FTW3 Ultra Hydro Copper": true, - "EVGA GeForce RTX 2080 SUPER XC Gaming": true, - "EVGA GeForce RTX 2080 SUPER XC Ultra": true, - "EVGA GeForce RTX 2080 XC Black": true, - "EVGA GeForce RTX 2080 XC Gaming": true, - "EVGA GeForce RTX 2080 XC Ultra Gaming": true, - "EVGA GeForce RTX 2080Ti Black": true, - "EVGA GeForce RTX 2080Ti FTW3 Ultra": true, - "EVGA GeForce RTX 2080Ti XC HYBRID GAMING": true, - "EVGA GeForce RTX 2080Ti XC HYDRO COPPER": true, - "EVGA GeForce RTX 2080Ti XC Ultra": true, - "EVGA GeForce RTX 3060TI FTW3 Gaming": true, - "EVGA GeForce RTX 3060TI FTW3 Ultra": true, - "EVGA GeForce RTX 3060TI FTW3 Ultra LHR": true, - "EVGA GeForce RTX 3070 Black Gaming": true, - "EVGA GeForce RTX 3070 FTW3 Ultra": true, - "EVGA GeForce RTX 3070 FTW3 Ultra LHR": true, - "EVGA GeForce RTX 3070 XC3 Gaming": true, - "EVGA GeForce RTX 3070 XC3 Ultra": true, - "EVGA GeForce RTX 3070 XC3 Ultra LHR": true, - "EVGA GeForce RTX 3070Ti FTW3 Ultra": true, - "EVGA GeForce RTX 3070Ti FTW3 Ultra v2": true, - "EVGA GeForce RTX 3070Ti XC3 Gaming": true, - "EVGA GeForce RTX 3070Ti XC3 Ultra": true, - "EVGA GeForce RTX 3070Ti XC3 Ultra v2": true, - "EVGA GeForce RTX 3080 FTW3 Gaming": true, - "EVGA GeForce RTX 3080 FTW3 Ultra": true, - "EVGA GeForce RTX 3080 FTW3 Ultra 12GB": true, - "EVGA GeForce RTX 3080 FTW3 Ultra Hybrid": true, - "EVGA GeForce RTX 3080 FTW3 Ultra Hybrid Gaming LHR": true, - "EVGA GeForce RTX 3080 FTW3 Ultra Hybrid LHR": true, - "EVGA GeForce RTX 3080 FTW3 Ultra Hydro Copper": true, - "EVGA GeForce RTX 3080 FTW3 Ultra Hydro Copper 12G": true, - "EVGA GeForce RTX 3080 FTW3 Ultra LHR": true, - "EVGA GeForce RTX 3080 FTW3 Ultra v2 LHR": true, - "EVGA GeForce RTX 3080 XC3 Black": true, - "EVGA GeForce RTX 3080 XC3 Black LHR": true, - "EVGA GeForce RTX 3080 XC3 Gaming": true, - "EVGA GeForce RTX 3080 XC3 Gaming LHR": true, - "EVGA GeForce RTX 3080 XC3 Ultra": true, - "EVGA GeForce RTX 3080 XC3 Ultra 12G": true, - "EVGA GeForce RTX 3080 XC3 Ultra Hybrid": true, - "EVGA GeForce RTX 3080 XC3 Ultra Hybrid LHR": true, - "EVGA GeForce RTX 3080 XC3 Ultra Hydro Copper": true, - "EVGA GeForce RTX 3080 XC3 Ultra LHR": true, - "EVGA GeForce RTX 3080Ti FTW3 Ultra": true, - "EVGA GeForce RTX 3080Ti FTW3 Ultra Hybrid": true, - "EVGA GeForce RTX 3080Ti FTW3 Ultra Hydro Copper": true, - "EVGA GeForce RTX 3080Ti XC3 Gaming": true, - "EVGA GeForce RTX 3080Ti XC3 Gaming Hybrid": true, - "EVGA GeForce RTX 3080Ti XC3 Gaming Hydro Copper": true, - "EVGA GeForce RTX 3080Ti XC3 Ultra Gaming": true, - "EVGA GeForce RTX 3090 FTW3 Ultra": true, - "EVGA GeForce RTX 3090 FTW3 Ultra Hybrid": true, - "EVGA GeForce RTX 3090 FTW3 Ultra Hydro Copper": true, - "EVGA GeForce RTX 3090 FTW3 Ultra v2": true, - "EVGA GeForce RTX 3090 FTW3 Ultra v3": true, - "EVGA GeForce RTX 3090 K|NGP|N Hybrid": true, - "EVGA GeForce RTX 3090 K|NGP|N Hydro Copper": true, - "EVGA GeForce RTX 3090 XC3 Black": true, - "EVGA GeForce RTX 3090 XC3 Gaming": true, - "EVGA GeForce RTX 3090 XC3 Ultra": true, - "EVGA GeForce RTX 3090 XC3 Ultra Hybrid": true, - "EVGA GeForce RTX 3090 XC3 Ultra Hydro Copper": true, - "EVGA GeForce RTX 3090Ti FTW3 Black Gaming": true, - "EVGA GeForce RTX 3090Ti FTW3 Gaming": true, - "EVGA GeForce RTX 3090Ti FTW3 Ultra Gaming": true, - "EVGA Pascal GPU": true, - "EVGA X20 Gaming Mouse": true, - "EVGA X20 USB Receiver": true, - "EVGA Z15 Keyboard": true, - "EVGA Z20 Keyboard": true, - "EVision Keyboard 0C45:5004": true, - "EVision Keyboard 0C45:5104": true, - "EVision Keyboard 0C45:5204": true, - "EVision Keyboard 0C45:652F": true, - "EVision Keyboard 0C45:7698": true, - "EVision Keyboard 0C45:8520": true, - "EVision Keyboard 320F:5000": true, - "EVision Keyboard 320F:502A": true, - "EVision Keyboard 320F:5064": true, - "ElgatoKeyLight": true, - "Epomaker TH80 Pro (USB Cable)": true, - "Epomaker TH80 Pro (USB Dongle)": true, - "Espurna": true, - "Everest GT-100 RGB": true, - "FanBus": true, - "Faustus": true, - "GALAX RTX 2070 Super EX Gamer Black": true, - "GaiZhongGai 17 PRO": true, - "GaiZhongGai 17+4+Touch PRO": true, - "GaiZhongGai 20 PRO": true, - "GaiZhongGai 42 PRO": true, - "GaiZhongGai 68+4 PRO": true, - "GaiZhongGai Dial": true, - "GaiZhongGai LightBoard": true, - "GaiZhongGai RGB HUB Blue": true, - "GaiZhongGai RGB HUB Green": true, - "Gainward GTX 1080 Phoenix": true, - "Gainward GTX 1080 Ti Phoenix": true, - "Gainward RTX 2070 Super Phantom": true, - "Gainward RTX 2080 Phoenix GS": true, - "Gainward RTX 3070 Phoenix": true, - "Gainward RTX 3070 Ti Phoenix": true, - "Gainward RTX 3080 Phoenix": true, - "Gainward RTX 3080 Ti Phoenix": true, - "Gainward RTX 3090 Phoenix": true, - "Genesis Thor 300": true, - "Gigabyte AORUS RTX2060 SUPER 8G V1": true, - "Gigabyte AORUS RTX2070 SUPER 8G": true, - "Gigabyte AORUS RTX2070 XTREME 8G": true, - "Gigabyte AORUS RTX2080 8G": true, - "Gigabyte AORUS RTX2080 SUPER 8G": true, - "Gigabyte AORUS RTX2080 SUPER 8G Rev 1.0": true, - "Gigabyte AORUS RTX2080 SUPER Waterforce WB 8G": true, - "Gigabyte AORUS RTX2080 Ti XTREME 11G": true, - "Gigabyte AORUS RTX2080 XTREME 8G": true, - "Gigabyte AORUS RTX3060 ELITE 12G": true, - "Gigabyte AORUS RTX3060 ELITE 12G LHR": true, - "Gigabyte AORUS RTX3060 ELITE 12G Rev a1": true, - "Gigabyte AORUS RTX3060 Ti ELITE 8G LHR": true, - "Gigabyte AORUS RTX3070 Ti MASTER 8G": true, - "Gigabyte AORUS RTX3080 Ti XTREME WATERFORCE 12G": true, - "Gigabyte AORUS RTX3080 XTREME WATERFORCE 10G Rev 2.0": true, - "Gigabyte AORUS RTX3080 XTREME WATERFORCE WB 10G": true, - "Gigabyte AORUS RTX3080 XTREME WATERFORCE WB 12G LHR": true, - "Gigabyte AORUS RTX3090 XTREME WATERFORCE 24G": true, - "Gigabyte AORUS RTX3090 XTREME WATERFORCE WB 24G": true, - "Gigabyte AORUS RTX4080 MASTER 16G": true, - "Gigabyte AORUS RTX4090 MASTER 24G": true, - "Gigabyte Aorus M2": true, - "Gigabyte GTX1050 Ti G1 Gaming": true, - "Gigabyte GTX1050 Ti G1 Gaming (rev A1)": true, - "Gigabyte GTX1060 G1 Gaming 6G": true, - "Gigabyte GTX1060 G1 Gaming 6G OC": true, - "Gigabyte GTX1060 Xtreme Gaming V1": true, - "Gigabyte GTX1060 Xtreme Gaming v2": true, - "Gigabyte GTX1070 G1 Gaming 8G V1": true, - "Gigabyte GTX1070 Ti 8G Gaming": true, - "Gigabyte GTX1070 Xtreme Gaming": true, - "Gigabyte GTX1080 G1 Gaming": true, - "Gigabyte GTX1080 Ti 11G": true, - "Gigabyte GTX1080 Ti Gaming OC 11G": true, - "Gigabyte GTX1080 Ti Gaming OC BLACK 11G": true, - "Gigabyte GTX1080 Ti Xtreme Edition": true, - "Gigabyte GTX1080 Ti Xtreme Waterforce Edition": true, - "Gigabyte GTX1650 Gaming OC": true, - "Gigabyte GTX1660 Gaming OC 6G": true, - "Gigabyte GTX1660 SUPER Gaming OC": true, - "Gigabyte RGB": true, - "Gigabyte RGB Fusion": true, - "Gigabyte RGB Fusion 2 DRAM": true, - "Gigabyte RGB Fusion 2 SMBus": true, - "Gigabyte RGB Fusion 2 USB": true, - "Gigabyte RTX2060 Gaming OC": true, - "Gigabyte RTX2060 Gaming OC PRO": true, - "Gigabyte RTX2060 Gaming OC PRO V2": true, - "Gigabyte RTX2060 Gaming OC PRO White": true, - "Gigabyte RTX2060 SUPER Gaming": true, - "Gigabyte RTX2060 SUPER Gaming OC": true, - "Gigabyte RTX2060 SUPER Gaming OC 3X 8G V2": true, - "Gigabyte RTX2060 SUPER Gaming OC 3X White 8G": true, - "Gigabyte RTX2070 Gaming OC 8G": true, - "Gigabyte RTX2070 Gaming OC 8GC": true, - "Gigabyte RTX2070 Windforce 8G": true, - "Gigabyte RTX2070S Gaming OC": true, - "Gigabyte RTX2070S Gaming OC 3X": true, - "Gigabyte RTX2070S Gaming OC 3X White": true, - "Gigabyte RTX2080 Gaming OC 8G": true, - "Gigabyte RTX2080 Ti GAMING OC 11G": true, - "Gigabyte RTX2080S Gaming OC 8G": true, - "Gigabyte RTX3050 Gaming OC 8G": true, - "Gigabyte RTX3060 EAGLE 12G LHR V2": true, - "Gigabyte RTX3060 EAGLE OC 12G": true, - "Gigabyte RTX3060 EAGLE OC 12G V2": true, - "Gigabyte RTX3060 Gaming OC 12G": true, - "Gigabyte RTX3060 Gaming OC 12G (rev. 2.0)": true, - "Gigabyte RTX3060 Ti EAGLE OC 8G": true, - "Gigabyte RTX3060 Ti EAGLE OC 8G V2.0 LHR": true, - "Gigabyte RTX3060 Ti GAMING OC 8G": true, - "Gigabyte RTX3060 Ti GAMING OC LHR 8G": true, - "Gigabyte RTX3060 Ti GAMING OC PRO 8G": true, - "Gigabyte RTX3060 Ti Gaming OC PRO 8G LHR": true, - "Gigabyte RTX3060 Ti Vision OC 8G": true, - "Gigabyte RTX3060 Vision OC 12G": true, - "Gigabyte RTX3060 Vision OC 12G LHR": true, - "Gigabyte RTX3060 Vision OC 12G v3.0": true, - "Gigabyte RTX3070 Eagle OC 8G": true, - "Gigabyte RTX3070 Eagle OC 8G V2.0 LHR": true, - "Gigabyte RTX3070 Gaming OC 8G": true, - "Gigabyte RTX3070 Gaming OC 8G v3.0 LHR": true, - "Gigabyte RTX3070 MASTER 8G": true, - "Gigabyte RTX3070 MASTER 8G LHR": true, - "Gigabyte RTX3070 Ti EAGLE 8G": true, - "Gigabyte RTX3070 Ti Gaming OC 8G": true, - "Gigabyte RTX3070 Ti Vision OC 8G": true, - "Gigabyte RTX3070 Vision 8G": true, - "Gigabyte RTX3070 Vision 8G V2.0 LHR": true, - "Gigabyte RTX3080 EAGLE OC 10G": true, - "Gigabyte RTX3080 Gaming OC 10G": true, - "Gigabyte RTX3080 Gaming OC 12G": true, - "Gigabyte RTX3080 Ti EAGLE 12G": true, - "Gigabyte RTX3080 Ti EAGLE OC 12G": true, - "Gigabyte RTX3080 Ti Gaming OC 12G": true, - "Gigabyte RTX3080 Ti Vision OC 12G": true, - "Gigabyte RTX3080 Vision OC 10G": true, - "Gigabyte RTX3080 Vision OC 10G (REV 2.0)": true, - "Gigabyte RTX3090 Gaming OC 24G": true, - "Gigabyte RTX3090 VISION OC 24G ": true, - "Gigabyte RTX4070Ti Gaming OC 12G": true, - "Gigabyte RTX4080 AERO OC 16G": true, - "Gigabyte RTX4080 Eagle OC 16G": true, - "Gigabyte RTX4080 Gaming OC 16G": true, - "Gigabyte RTX4090 GAMING OC 24G": true, - "Glorious Model D / D-": true, - "Glorious Model D / D- Wireless": true, - "Glorious Model O / O-": true, - "Glorious Model O / O- Wireless": true, - "HP Omen 30L": true, - "Holtek Mousemat": true, - "Holtek USB Gaming Mouse": true, - "HyperX Alloy Elite 2": true, - "HyperX Alloy Elite 2 (HP)": true, - "HyperX Alloy Elite RGB": true, - "HyperX Alloy FPS RGB": true, - "HyperX Alloy Origins": true, - "HyperX Alloy Origins (HP)": true, - "HyperX Alloy Origins 60": true, - "HyperX Alloy Origins 60 (HP)": true, - "HyperX Alloy Origins 65 (HP)": true, - "HyperX Alloy Origins Core": true, - "HyperX Alloy Origins Core (HP)": true, - "HyperX DRAM": true, - "HyperX DuoCast": true, - "HyperX Fury Ultra": true, - "HyperX Pulsefire Core": true, - "HyperX Pulsefire Dart (Wired)": true, - "HyperX Pulsefire Dart (Wireless)": true, - "HyperX Pulsefire FPS Pro": true, - "HyperX Pulsefire Haste": true, - "HyperX Pulsefire Mat": true, - "HyperX Pulsefire Mat RGB Mouse Pad XL": true, - "HyperX Pulsefire Raid": true, - "HyperX Pulsefire Surge": true, - "HyperX Quadcast S": true, - "Intel Arc A770 Limited Edition": true, - "Ionico Keyboard": true, - "Ionico Light Bar": true, - "JSAUX RGB Docking Station": true, - "KFA2 RTX 2070 EX": true, - "KFA2 RTX 2080 EX OC": true, - "KFA2 RTX 2080 Super EX OC": true, - "KFA2 RTX 2080 TI EX OC": true, - "KasaSmart": true, - "Keychron Gaming Keyboard 1": true, - "LED Strip": true, - "LIFX": true, - "Lego Dimensions Toypad Base": true, - "Lenovo": true, - "Lenovo 5 2020": true, - "Lenovo 5 2021": true, - "Lenovo 5 2022": true, - "Lenovo Ideapad 3-15ach6": true, - "Lenovo Legion 7 gen 5": true, - "Lenovo Legion 7 gen 6": true, - "Lenovo Legion 7S gen 5": true, - "Lenovo Legion 7S gen 6": true, - "Lenovo Legion Y740": true, - "Lian Li O11 Dynamic - Razer Edition": true, - "Lian Li Uni Hub": true, - "Lian Li Uni Hub - AL": true, - "Lian Li Uni Hub - SL V2": true, - "Lian Li Uni Hub - SL V2 v0.5": true, - "Linux LED": true, - "Logitech G Pro (HERO) Gaming Mouse": true, - "Logitech G Pro Gaming Mouse": true, - "Logitech G Pro RGB Mechanical Gaming Keyboard": true, - "Logitech G Pro Wireless Gaming Mouse": true, - "Logitech G Pro Wireless Gaming Mouse (wired)": true, - "Logitech G203 Lightsync": true, - "Logitech G203 Prodigy": true, - "Logitech G213": true, - "Logitech G303 Daedalus Apex": true, - "Logitech G403 Hero": true, - "Logitech G403 Prodigy Gaming Mouse": true, - "Logitech G403 Wireless Gaming Mouse": true, - "Logitech G403 Wireless Gaming Mouse (wired)": true, - "Logitech G502 Hero Gaming Mouse": true, - "Logitech G502 Proteus Spectrum Gaming Mouse": true, - "Logitech G502 Wireless Gaming Mouse": true, - "Logitech G502 Wireless Gaming Mouse (wired)": true, - "Logitech G512": true, - "Logitech G512 RGB": true, - "Logitech G560 Lightsync Speaker": true, - "Logitech G610 Orion": true, - "Logitech G633 Gaming Headset": true, - "Logitech G703 Hero Wireless Gaming Mouse": true, - "Logitech G703 Hero Wireless Gaming Mouse (wired)": true, - "Logitech G703 Wireless Gaming Mouse": true, - "Logitech G703 Wireless Gaming Mouse (wired)": true, - "Logitech G733 Gaming Headset": true, - "Logitech G810 Orion Spectrum": true, - "Logitech G813 RGB Mechanical Gaming Keyboard": true, - "Logitech G815 RGB Mechanical Gaming Keyboard": true, - "Logitech G900 Wireless Gaming Mouse": true, - "Logitech G900 Wireless Gaming Mouse (wired)": true, - "Logitech G903 Hero Wireless Gaming Mouse": true, - "Logitech G903 Hero Wireless Gaming Mouse (wired)": true, - "Logitech G903 Wireless Gaming Mouse": true, - "Logitech G903 Wireless Gaming Mouse (wired)": true, - "Logitech G910 Orion Spark": true, - "Logitech G910 Orion Spectrum": true, - "Logitech G915 Wireless RGB Mechanical Gaming Keyboard": true, - "Logitech G915 Wireless RGB Mechanical Gaming Keyboard (Wired)": true, - "Logitech G915TKL Wireless RGB Mechanical Gaming Keyboard": true, - "Logitech G915TKL Wireless RGB Mechanical Gaming Keyboard (Wired)": true, - "Logitech G933 Lightsync Headset": true, - "Logitech G935 Gaming Headset": true, - "Logitech Powerplay Mat": true, - "Logitech X56 Rhino Hotas Joystick": true, - "Logitech X56 Rhino Hotas Throttle": true, - "MSI 3-Zone Laptop": true, - "MSI GeForce GTX 1070 Gaming X": true, - "MSI GeForce GTX 1660 Gaming X 6G": true, - "MSI GeForce GTX 1660 Super Gaming 6G": true, - "MSI GeForce GTX 1660 Super Gaming X 6G": true, - "MSI GeForce GTX 1660Ti Gaming 6G": true, - "MSI GeForce GTX 1660Ti Gaming X 6G": true, - "MSI GeForce RTX 2060 Gaming Z 6G": true, - "MSI GeForce RTX 2060 Super ARMOR OC": true, - "MSI GeForce RTX 2060 Super Gaming X": true, - "MSI GeForce RTX 2070 ARMOR": true, - "MSI GeForce RTX 2070 ARMOR OC": true, - "MSI GeForce RTX 2070 Gaming": true, - "MSI GeForce RTX 2070 Gaming Z": true, - "MSI GeForce RTX 2070 SUPER ARMOR OC": true, - "MSI GeForce RTX 2070 Super Gaming": true, - "MSI GeForce RTX 2070 Super Gaming Trio": true, - "MSI GeForce RTX 2070 Super Gaming X": true, - "MSI GeForce RTX 2070 Super Gaming X Trio": true, - "MSI GeForce RTX 2070 Super Gaming Z Trio": true, - "MSI GeForce RTX 2080 Duke 8G OC": true, - "MSI GeForce RTX 2080 Gaming Trio": true, - "MSI GeForce RTX 2080 Gaming X Trio": true, - "MSI GeForce RTX 2080 Sea Hawk EK X": true, - "MSI GeForce RTX 2080 Super Gaming X Trio": true, - "MSI GeForce RTX 2080Ti 11G Gaming X Trio": true, - "MSI GeForce RTX 2080Ti Gaming X Trio": true, - "MSI GeForce RTX 2080Ti Gaming Z Trio": true, - "MSI GeForce RTX 2080Ti Sea Hawk EK X": true, - "MSI GeForce RTX 3050 Gaming X 8G": true, - "MSI GeForce RTX 3060 12G Gaming X Trio": true, - "MSI GeForce RTX 3060 12G Gaming X Trio LHR": true, - "MSI GeForce RTX 3060 12G Gaming Z Trio": true, - "MSI GeForce RTX 3060 12GB Gaming X Trio": true, - "MSI GeForce RTX 3060 Gaming X 12G": true, - "MSI GeForce RTX 3060 Gaming X 12G (GA104)": true, - "MSI GeForce RTX 3060 Gaming X 12G LHR": true, - "MSI GeForce RTX 3060 Ti 8GB Gaming X LHR": true, - "MSI GeForce RTX 3060 Ti 8GB Gaming X Trio": true, - "MSI GeForce RTX 3060 Ti 8GB Gaming X Trio LHR": true, - "MSI GeForce RTX 3070 8GB Gaming Trio": true, - "MSI GeForce RTX 3070 8GB Gaming X Trio": true, - "MSI GeForce RTX 3070 8GB Suprim": true, - "MSI GeForce RTX 3070 8GB Suprim X": true, - "MSI GeForce RTX 3070 8GB Suprim X LHR": true, - "MSI GeForce RTX 3070 Ti 8GB Gaming X Trio": true, - "MSI GeForce RTX 3070 Ti Suprim X 8G": true, - "MSI GeForce RTX 3080 10GB Gaming X Trio": true, - "MSI GeForce RTX 3080 10GB Gaming Z Trio": true, - "MSI GeForce RTX 3080 10GB Gaming Z Trio LHR": true, - "MSI GeForce RTX 3080 12GB Gaming Z Trio LHR": true, - "MSI GeForce RTX 3080 Suprim X 10G": true, - "MSI GeForce RTX 3080 Suprim X 10G LHR": true, - "MSI GeForce RTX 3080 Suprim X 12G LHR": true, - "MSI GeForce RTX 3080 Ti Gaming X Trio 12G": true, - "MSI GeForce RTX 3080 Ti Suprim X 12G": true, - "MSI GeForce RTX 3090 24GB Gaming X Trio": true, - "MSI GeForce RTX 3090 Suprim 24G": true, - "MSI GeForce RTX 3090 Suprim X 24G": true, - "MSI GeForce RTX 3090 Ti Gaming X Trio 24G": true, - "MSI GeForce RTX 3090 Ti Suprim X 24G": true, - "MSI GeForce RTX 4070 12GB Gaming X Trio": true, - "MSI GeForce RTX 4070Ti 12GB Gaming X Trio": true, - "MSI GeForce RTX 4070Ti 12GB Suprim X Trio": true, - "MSI GeForce RTX 4080 16GB Gaming X Trio": true, - "MSI GeForce RTX 4080 16GB Suprim X": true, - "MSI GeForce RTX 4090 24GB Gaming X Trio": true, - "MSI GeForce RTX 4090 24GB Suprim Liquid X": true, - "MSI GeForce RTX 4090 24GB Suprim X": true, - "MSI Mystic Light MS_1562": true, - "MSI Mystic Light MS_1563": true, - "MSI Mystic Light MS_1564": true, - "MSI Mystic Light MS_1720": true, - "MSI Mystic Light MS_7B12": true, - "MSI Mystic Light MS_7B16": true, - "MSI Mystic Light MS_7B17": true, - "MSI Mystic Light MS_7B18": true, - "MSI Mystic Light MS_7B50": true, - "MSI Mystic Light MS_7B85": true, - "MSI Mystic Light MS_7B93": true, - "MSI Mystic Light MS_7C34": true, - "MSI Mystic Light MS_7C35": true, - "MSI Mystic Light MS_7C36": true, - "MSI Mystic Light MS_7C37": true, - "MSI Mystic Light MS_7C56": true, - "MSI Mystic Light MS_7C59": true, - "MSI Mystic Light MS_7C60": true, - "MSI Mystic Light MS_7C67": true, - "MSI Mystic Light MS_7C71": true, - "MSI Mystic Light MS_7C73": true, - "MSI Mystic Light MS_7C75": true, - "MSI Mystic Light MS_7C76": true, - "MSI Mystic Light MS_7C77": true, - "MSI Mystic Light MS_7C79": true, - "MSI Mystic Light MS_7C80": true, - "MSI Mystic Light MS_7C81": true, - "MSI Mystic Light MS_7C82": true, - "MSI Mystic Light MS_7C83": true, - "MSI Mystic Light MS_7C84": true, - "MSI Mystic Light MS_7C86": true, - "MSI Mystic Light MS_7C87": true, - "MSI Mystic Light MS_7C90": true, - "MSI Mystic Light MS_7C91": true, - "MSI Mystic Light MS_7C92": true, - "MSI Mystic Light MS_7C94": true, - "MSI Mystic Light MS_7C95": true, - "MSI Mystic Light MS_7C98": true, - "MSI Mystic Light MS_7D03": true, - "MSI Mystic Light MS_7D06": true, - "MSI Mystic Light MS_7D07": true, - "MSI Mystic Light MS_7D08": true, - "MSI Mystic Light MS_7D09": true, - "MSI Mystic Light MS_7D13": true, - "MSI Mystic Light MS_7D15": true, - "MSI Mystic Light MS_7D17": true, - "MSI Mystic Light MS_7D18": true, - "MSI Mystic Light MS_7D19": true, - "MSI Mystic Light MS_7D20": true, - "MSI Mystic Light MS_7D25": true, - "MSI Mystic Light MS_7D27": true, - "MSI Mystic Light MS_7D28": true, - "MSI Mystic Light MS_7D29": true, - "MSI Mystic Light MS_7D30": true, - "MSI Mystic Light MS_7D31": true, - "MSI Mystic Light MS_7D32": true, - "MSI Mystic Light MS_7D36": true, - "MSI Mystic Light MS_7D38": true, - "MSI Mystic Light MS_7D41": true, - "MSI Mystic Light MS_7D42": true, - "MSI Mystic Light MS_7D43": true, - "MSI Mystic Light MS_7D46": true, - "MSI Mystic Light MS_7D50": true, - "MSI Mystic Light MS_7D51": true, - "MSI Mystic Light MS_7D52": true, - "MSI Mystic Light MS_7D53": true, - "MSI Mystic Light MS_7D54": true, - "MSI Mystic Light MS_7D59": true, - "MSI Mystic Light MS_7D67": true, - "MSI Mystic Light MS_7D69": true, - "MSI Mystic Light MS_7D70": true, - "MSI Mystic Light MS_7D73": true, - "MSI Mystic Light MS_7D75": true, - "MSI Mystic Light MS_7D76": true, - "MSI Mystic Light MS_7D77": true, - "MSI Mystic Light MS_7D78": true, - "MSI Mystic Light MS_7D86": true, - "MSI Mystic Light MS_7D89": true, - "MSI Mystic Light MS_7D91": true, - "MSI Mystic Light MS_7E01": true, - "MSI Mystic Light MS_7E06": true, - "MSI Mystic Light MS_7E07": true, - "MSI Mystic Light MS_B926": true, - "MSI Optix controller": true, - "MSI Radeon RX 6600 XT Gaming X": true, - "MSI Radeon RX 6700 XT Gaming X": true, - "MSI Radeon RX 6750 XT Gaming X Trio 12G": true, - "MSI Radeon RX 6800 Gaming X Trio": true, - "MSI Radeon RX 6800 Gaming Z Trio v1": true, - "MSI Radeon RX 6800 XT Gaming X Trio": true, - "MSI Radeon RX 6800 XT Gaming Z Trio": true, - "MSI Radeon RX 6900 XT Gaming X Trio": true, - "MSI Radeon RX 6900 XT Gaming Z Trio": true, - "MSI Radeon RX 6950 XT Gaming X Trio": true, - "MSI Vigor GK30 controller": true, - "MSI-RGB": true, - "Mountain Everest": true, - "N5312A USB Optical Mouse": true, - "NVIDIA RTX2060S": true, - "NVIDIA RTX2080S": true, - "NZXT Hue 2": true, - "NZXT Hue 2 Ambient": true, - "NZXT Hue 2 Motherboard": true, - "NZXT Hue+": true, - "NZXT Kraken M2": true, - "NZXT Kraken X2": true, - "NZXT Kraken X3": true, - "NZXT Kraken X3 Series": true, - "NZXT Kraken X3 Series RGB": true, - "NZXT RGB & Fan Controller": true, - "NZXT RGB Controller": true, - "NZXT Smart Device V1": true, - "NZXT Smart Device V2": true, - "Nanoleaf": true, - "Nollie 32CH": true, - "Np93 ALPHA - Gaming Mouse": true, - "Nvidia ESA - Dell XPS 730x": true, - "OKS Optical Axis RGB": true, - "OpenRazer": false, - "PNY XLR8 OC EDITION RTX 2060": true, - "PNY XLR8 Revel EPIC-X RTX 3060": true, - "PNY XLR8 Revel EPIC-X RTX 3070": true, - "PNY XLR8 Revel EPIC-X RTX 3070 LHR": true, - "PNY XLR8 Revel EPIC-X RTX 3080": true, - "PNY XLR8 Revel EPIC-X RTX 3090": true, - "Palit 1080": true, - "Palit 3060": true, - "Palit 3060 LHR": true, - "Palit 3060TI LHR": true, - "Palit 3060Ti": true, - "Palit 3070": true, - "Palit 3070 LHR": true, - "Palit 3070Ti": true, - "Palit 3070Ti GamingPro": true, - "Palit 3080": true, - "Palit 3080 Gamerock": true, - "Palit 3080 Gamerock LHR": true, - "Palit 3080 GamingPro 12G": true, - "Palit 3080 LHR": true, - "Palit 3080Ti": true, - "Palit 3080Ti Gamerock": true, - "Palit 3090": true, - "Palit 3090 Gamerock": true, - "Palit 4070Ti Gamerock": true, - "Palit 4090 Gamerock": true, - "Palit GeForce RTX 3060 Ti Dual": true, - "Patriot Viper": true, - "Patriot Viper Steel": true, - "Philips Hue": true, - "Philips Wiz": true, - "Razer Abyssus Elite D.Va Edition": true, - "Razer Abyssus Essential": true, - "Razer Base Station Chroma": true, - "Razer Base Station V2 Chroma": true, - "Razer Basilisk": true, - "Razer Basilisk Essential": true, - "Razer Basilisk Ultimate (Wired)": true, - "Razer Basilisk Ultimate (Wireless)": true, - "Razer Basilisk V2": true, - "Razer Basilisk V3": true, - "Razer Basilisk V3 Pro (Wired)": true, - "Razer Basilisk V3 Pro (Wireless)": true, - "Razer Blackwidow 2019": true, - "Razer Blackwidow Chroma": true, - "Razer Blackwidow Chroma Tournament Edition": true, - "Razer Blackwidow Chroma V2": true, - "Razer Blackwidow Elite": true, - "Razer Blackwidow Overwatch": true, - "Razer Blackwidow V3": true, - "Razer Blackwidow V3 Mini (Wired)": true, - "Razer Blackwidow V3 Mini (Wireless)": true, - "Razer Blackwidow V3 Pro (Wired)": true, - "Razer Blackwidow V3 Pro (Wireless)": true, - "Razer Blackwidow V3 TKL": true, - "Razer Blackwidow X Chroma": true, - "Razer Blackwidow X Chroma Tournament Edition": true, - "Razer Blade (2016)": true, - "Razer Blade (Late 2016)": true, - "Razer Blade 14 (2021)": true, - "Razer Blade 14 (2022)": true, - "Razer Blade 15 (2018 Advanced)": true, - "Razer Blade 15 (2018 Base)": true, - "Razer Blade 15 (2018 Mercury)": true, - "Razer Blade 15 (2019 Advanced)": true, - "Razer Blade 15 (2019 Base)": true, - "Razer Blade 15 (2019 Mercury)": true, - "Razer Blade 15 (2019 Studio)": true, - "Razer Blade 15 (2020 Advanced)": true, - "Razer Blade 15 (2020 Base)": true, - "Razer Blade 15 (2021 Advanced)": true, - "Razer Blade 15 (2021 Base)": true, - "Razer Blade 15 (2022)": true, - "Razer Blade 15 (Late 2020)": true, - "Razer Blade 15 (Late 2021 Advanced)": true, - "Razer Blade Pro (2016)": true, - "Razer Blade Pro (2017 FullHD)": true, - "Razer Blade Pro (2017)": true, - "Razer Blade Pro (2019)": true, - "Razer Blade Pro (Late 2019)": true, - "Razer Blade Pro 17 (2020)": true, - "Razer Blade Pro 17 (2021)": true, - "Razer Blade Stealth (2016)": true, - "Razer Blade Stealth (2017)": true, - "Razer Blade Stealth (2019)": true, - "Razer Blade Stealth (2020)": true, - "Razer Blade Stealth (Late 2016)": true, - "Razer Blade Stealth (Late 2017)": true, - "Razer Blade Stealth (Late 2019)": true, - "Razer Blade Stealth (Late 2020)": true, - "Razer Book 13 (2020)": true, - "Razer Charging Pad Chroma": true, - "Razer Chroma Addressable RGB Controller": true, - "Razer Chroma HDK": true, - "Razer Chroma Mug Holder": true, - "Razer Chroma PC Case Lighting Kit": true, - "Razer Core": true, - "Razer Core X": true, - "Razer Cynosa Chroma": true, - "Razer Cynosa Chroma V2": true, - "Razer Cynosa Lite": true, - "Razer Deathadder Chroma": true, - "Razer Deathadder Elite": true, - "Razer Deathadder Essential": true, - "Razer Deathadder Essential V2": true, - "Razer Deathadder Essential White Edition": true, - "Razer Deathadder V2": true, - "Razer Deathadder V2 Mini": true, - "Razer Deathadder V2 Pro (Wired)": true, - "Razer Deathadder V2 Pro (Wireless)": true, - "Razer Deathstalker Chroma": true, - "Razer Deathstalker V2": true, - "Razer Deathstalker V2 Pro (Wired)": true, - "Razer Deathstalker V2 Pro (Wireless)": true, - "Razer Diamondback": true, - "Razer Firefly": true, - "Razer Firefly Hyperflux": true, - "Razer Firefly V2": true, - "Razer Goliathus": true, - "Razer Goliathus Extended": true, - "Razer Huntsman": true, - "Razer Huntsman Elite": true, - "Razer Huntsman Mini": true, - "Razer Huntsman Tournament Edition": true, - "Razer Huntsman V2": true, - "Razer Huntsman V2 Analog": true, - "Razer Huntsman V2 TKL": true, - "Razer Kraken 7.1": true, - "Razer Kraken 7.1 Chroma": true, - "Razer Kraken 7.1 V2": true, - "Razer Kraken Kitty Black Edition": true, - "Razer Kraken Kitty Edition": true, - "Razer Kraken Ultimate": true, - "Razer Lancehead 2017 (Wired)": true, - "Razer Lancehead 2017 (Wireless)": true, - "Razer Lancehead 2019 (Wired)": true, - "Razer Lancehead 2019 (Wireless)": true, - "Razer Lancehead Tournament Edition": true, - "Razer Laptop Stand Chroma": true, - "Razer Laptop Stand Chroma V2": true, - "Razer Leviathan V2 X": true, - "Razer Mamba 2012 (Wired)": true, - "Razer Mamba 2012 (Wireless)": true, - "Razer Mamba 2015 (Wired)": true, - "Razer Mamba 2015 (Wireless)": true, - "Razer Mamba 2018 (Wired)": true, - "Razer Mamba 2018 (Wireless)": true, - "Razer Mamba Elite": true, - "Razer Mamba Tournament Edition": true, - "Razer Mouse Bungee V3 Chroma": true, - "Razer Mouse Dock Chroma": true, - "Razer Mouse Dock Pro": true, - "Razer Naga Chroma": true, - "Razer Naga Classic": true, - "Razer Naga Epic Chroma": true, - "Razer Naga Hex V2": true, - "Razer Naga Left Handed": true, - "Razer Naga Pro (Wired)": true, - "Razer Naga Pro (Wireless)": true, - "Razer Naga Trinity": true, - "Razer Nommo Chroma": true, - "Razer Nommo Pro": true, - "Razer Orbweaver Chroma": true, - "Razer Ornata Chroma": true, - "Razer Ornata Chroma V2": true, - "Razer Ornata V3": true, - "Razer Ornata V3 Rev2": true, - "Razer Ornata V3 X": true, - "Razer Seiren Emote": true, - "Razer Strider Chroma": true, - "Razer Tartarus Chroma": true, - "Razer Tartarus Pro": true, - "Razer Tartarus V2": true, - "Razer Thunderbolt 4 Dock Chroma": true, - "Razer Tiamat 7.1 V2": true, - "Razer Viper": true, - "Razer Viper 8kHz": true, - "Razer Viper Mini": true, - "Razer Viper Ultimate (Wired)": true, - "Razer Viper Ultimate (Wireless)": true, - "Red Square Keyrox TKL": true, - "Red Square Keyrox TKL Classic": true, - "Redragon M602 Griffin": true, - "Redragon M711 Cobra": true, - "Redragon M715 Dagger": true, - "Redragon M716 Inquisitor": true, - "Redragon M808 Storm": true, - "Redragon M908 Impact": true, - "Roccat Burst Core": true, - "Roccat Burst Pro": true, - "Roccat Elo 7.1": true, - "Roccat Horde Aimo": true, - "Roccat Kone Aimo": true, - "Roccat Kone Aimo 16K": true, - "Roccat Kova": true, - "Roccat Vulcan 120-Series Aimo": true, - "SRGBMods LED Controller v1": true, - "SRGBmods Pico LED Controller": true, - "Sapphire RX 470/480 Nitro+": true, - "Sapphire RX 5500 XT Nitro+": true, - "Sapphire RX 570/580/590 Nitro+": true, - "Sapphire RX 5700 (XT) Nitro+": true, - "Sapphire RX 5700 XT Nitro+": true, - "Sapphire RX 580 Nitro+ (2048SP)": true, - "Sapphire RX 6600 XT Nitro+": true, - "Sapphire RX 6700 XT Nitro+": true, - "Sapphire RX 6750 XT Nitro+": true, - "Sapphire RX 6800 Nitro+": true, - "Sapphire RX 6800 XT Nitro+ SE": true, - "Sapphire RX 6800 XT/6900 XT Nitro+": true, - "Sapphire RX 6900 XT Nitro+ SE": true, - "Sapphire RX 6900 XT Toxic": true, - "Sapphire RX 6900 XT Toxic Limited Edition": true, - "Sapphire RX 6950 XT Nitro+": true, - "Sapphire RX 7900 XTX Nitro+": true, - "Sapphire RX Vega 56/64 Nitro+": true, - "Sony DualSense": true, - "Sony DualShock 4": true, - "SteelSeries Aerox 3 Wired": true, - "SteelSeries Aerox 9 Wired": true, - "SteelSeries Apex (OG)/Apex Fnatic": true, - "SteelSeries Apex 3": true, - "SteelSeries Apex 3 TKL": true, - "SteelSeries Apex 350": true, - "SteelSeries Apex 5": true, - "SteelSeries Apex 7": true, - "SteelSeries Apex 7 TKL": true, - "SteelSeries Apex M750": true, - "SteelSeries Apex Pro": true, - "SteelSeries Apex Pro TKL": true, - "SteelSeries Arctis 5": true, - "SteelSeries QCK Prism Cloth 3XL": true, - "SteelSeries QCK Prism Cloth 4XL": true, - "SteelSeries QCK Prism Cloth Medium": true, - "SteelSeries QCK Prism Cloth XL": true, - "SteelSeries QCK Prism Cloth XL CS:GO Neon Rider Ed.": true, - "SteelSeries QCK Prism Cloth XL Destiny Ed.": true, - "SteelSeries Rival 100": true, - "SteelSeries Rival 100 DotA 2 Edition": true, - "SteelSeries Rival 105": true, - "SteelSeries Rival 106": true, - "SteelSeries Rival 110": true, - "SteelSeries Rival 3": true, - "SteelSeries Rival 3 (Old Firmware)": true, - "SteelSeries Rival 300": true, - "SteelSeries Rival 300 Black Ops Edition": true, - "SteelSeries Rival 300 CS:GO Fade Edition": true, - "SteelSeries Rival 300 CS:GO Fade Edition (stm32)": true, - "SteelSeries Rival 300 CS:GO Hyperbeast Edition": true, - "SteelSeries Rival 300 Dota 2 Edition": true, - "SteelSeries Rival 300 HP Omen Edition": true, - "SteelSeries Rival 310": true, - "SteelSeries Rival 310 CS:GO Howl Edition": true, - "SteelSeries Rival 310 PUBG Edition": true, - "SteelSeries Rival 600": true, - "SteelSeries Rival 600 Dota 2 Edition": true, - "SteelSeries Rival 650": true, - "SteelSeries Rival 650 Wireless": true, - "SteelSeries Rival 700": true, - "SteelSeries Rival 710": true, - "SteelSeries Sensei 310": true, - "SteelSeries Sensei TEN": true, - "SteelSeries Sensei TEN CS:GO Neon Rider Edition": true, - "SteelSeries Siberia 350": true, - "Strimer L Connect": true, - "Tecknet M008": true, - "Thermaltake Poseidon Z RGB": true, - "Thermaltake Riing (PID 0x1FA5)": true, - "Thermaltake Riing (PID 0x1FA6)": true, - "Thermaltake Riing (PID 0x1FA7)": true, - "Thermaltake Riing (PID 0x1FA8)": true, - "Thermaltake Riing (PID 0x1FA9)": true, - "Thermaltake Riing (PID 0x1FAA)": true, - "Thermaltake Riing (PID 0x1FAB)": true, - "Thermaltake Riing (PID 0x1FAC)": true, - "Thermaltake Riing (PID 0x1FAD)": true, - "Thermaltake Riing (PID 0x1FAE)": true, - "Thermaltake Riing (PID 0x1FAF)": true, - "Thermaltake Riing (PID 0x1FB0)": true, - "Thermaltake Riing (PID 0x1FB1)": true, - "Thermaltake Riing (PID 0x1FB2)": true, - "Thermaltake Riing (PID 0x1FB3)": true, - "Thermaltake Riing (PID 0x1FB4)": true, - "Thermaltake Riing (PID 0x1FB5)": true, - "Thermaltake Riing Quad (PID 0x2260)": true, - "Thermaltake Riing Quad (PID 0x2261)": true, - "Thermaltake Riing Quad (PID 0x2262)": true, - "Thermaltake Riing Quad (PID 0x2263)": true, - "Thermaltake Riing Quad (PID 0x2264)": true, - "Thermaltake Riing Quad (PID 0x2265)": true, - "Thermaltake Riing Quad (PID 0x2266)": true, - "Thermaltake Riing Quad (PID 0x2267)": true, - "Thermaltake Riing Quad (PID 0x2268)": true, - "Thermaltake Riing Quad (PID 0x2269)": true, - "Thermaltake Riing Quad (PID 0x226A)": true, - "Thermaltake Riing Quad (PID 0x226B)": true, - "Thermaltake Riing Quad (PID 0x226C)": true, - "Thermaltake Riing Quad (PID 0x226D)": true, - "Thermaltake Riing Quad (PID 0x226E)": true, - "Thermaltake Riing Quad (PID 0x226F)": true, - "Thermaltake Riing Quad (PID 0x2270)": true, - "ThingM blink(1) mk2": true, - "Trust GXT 114": true, - "Trust GXT 180": true, - "ViewSonic Monitor XG270QG": true, - "Wooting One (Classic)": true, - "Wooting One (Legacy)": true, - "Wooting One (None)": true, - "Wooting One (Xbox)": true, - "Wooting Two (Classic)": true, - "Wooting Two (Legacy)": true, - "Wooting Two (None)": true, - "Wooting Two (Xbox)": true, - "Wooting Two 60HE (ARM) (Classic)": true, - "Wooting Two 60HE (ARM) (None)": true, - "Wooting Two 60HE (ARM) (Xbox)": true, - "Wooting Two 60HE (Classic)": true, - "Wooting Two 60HE (None)": true, - "Wooting Two 60HE (Xbox)": true, - "Wooting Two HE (ARM) (Classic)": true, - "Wooting Two HE (ARM) (None)": true, - "Wooting Two HE (ARM) (Xbox)": true, - "Wooting Two HE (Classic)": true, - "Wooting Two HE (None)": true, - "Wooting Two HE (Xbox)": true, - "Wooting Two LE (Classic)": true, - "Wooting Two LE (None)": true, - "Wooting Two LE (Xbox)": true, - "XPG Spectrix S40G": true, - "Yeelight": true, - "ZET Blade Optical": true, - "ZET Fury Pro": true, - "ZET GAMING Edge Air Elit": true, - "ZET GAMING Edge Air Elit (Wireless)": true, - "ZET GAMING Edge Air Pro": true, - "ZET GAMING Edge Air Pro (Wireless)": true, - "ZOTAC GAMING GeForce RTX 2070 SUPER Twin Fan": true, - "ZOTAC GAMING GeForce RTX 3070 Ti Trinity OC": true, - "ZOTAC GAMING GeForce RTX 3080 Ti AMP Holo": true, - "ZOTAC GAMING GeForce RTX 3090 AMP Extreme Holo": true, - "ZOTAC GAMING GeForce RTX 4090 AMP Extreme AIRO": true, - "ZOTAC GAMING GeForce RTX 4090 Trinity OC": true, - "Zalman Z Sync": true, - "iGame GeForce RTX 2070 SUPER Advanced OC-V": true, - "iGame GeForce RTX 3060 Advanced OC 12G L-V": true, - "iGame GeForce RTX 3060 Ti Advanced OC-V": true, - "iGame GeForce RTX 3060 Ti Ultra W OC LHR-V": true, - "iGame GeForce RTX 3060 Ultra W OC 12G L-V": true, - "iGame GeForce RTX 3070 Advanced OC-V": true, - "iGame GeForce RTX 3070 Ti Advanced OC-V": true, - "iGame GeForce RTX 3070 Ti Ultra W OC LHR": true, - "iGame GeForce RTX 3070 Ultra W OC LHR": true, - "iGame GeForce RTX 3080 Ti Advanced OC-V": true, - "iGame GeForce RTX 4070 Ti Advanced OC-V": true, - "iGame GeForce RTX 4080 Ultra W OC-V": true - } - }, - "Gigabyte RGB Fusion 2 SMBus": { - "SupportedDevices": [ - "B450 AORUS ELITE", - "B450 AORUS ELITE V2", - "B450 AORUS M", - "B450 AORUS PRO WIFI-CF", - "B450 AORUS PRO-CF", - "B450 AORUS PRO-CF4", - "B450 I AORUS PRO WIFI-CF", - "B450M DS3H-CF", - "X299 DESIGNARE EX-CF", - "X399 AORUS XTREME-CF", - "X399 DESIGNARE EX-CF", - "X470 AORUS GAMING 5 WIFI", - "X470 AORUS GAMING 7 WIFI-CF", - "X470 AORUS GAMING 7 WIFI-50-CF", - "X470 AORUS ULTRA GAMING", - "X470 AORUS ULTRA GAMING-CF", - "B360M AORUS Gaming 3-CF", - "Z370 AORUS Gaming 5-CF", - "Z370 AORUS Ultra Gaming-CF" - ] - }, - "Theme": { - "theme": "dark" - }, - "UserInterface": { - "RunZoneChecks": false, - "exit_profile": { - "profile_name": "Main", - "set_on_exit": true - }, - "geometry": { - "height": 0, - "load_geometry": false, - "save_on_exit": false, - "width": 0, - "x": 0, - "y": 0 - }, - "greyscale_tray_icon": false, - "language": "default", - "minimize_on_close": true - } -} \ No newline at end of file diff --git a/pc/configs/Portmaster/Preferences b/pc/configs/Portmaster/Preferences deleted file mode 100755 index 1ec6df7..0000000 --- a/pc/configs/Portmaster/Preferences +++ /dev/null @@ -1 +0,0 @@ -{"spellcheck":{"dictionaries":["en-US"],"dictionary":""}} \ No newline at end of file diff --git a/pc/configs/hypr/hypridle.conf b/pc/configs/hypr/hypridle.conf deleted file mode 100644 index b2add3a..0000000 --- a/pc/configs/hypr/hypridle.conf +++ /dev/null @@ -1,44 +0,0 @@ -#░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ -#░ ░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░ ░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░ -#▒ ▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒ ▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒ -#▒ ▒▒▒▒ ▒ ▒▒▒ ▒ ▒ ▒▒▒ ▒ ▒▒▒▒▒▒▒▒▒▒ ▒▒ ▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒ ▒ ▒▒▒ ▒ ▒▒▒▒▒▒▒ ▒▒ -#▓ ▓▓ ▓ ▓▓ ▓▓ ▓▓▓ ▓▓▓▓ ▓▓ ▓ ▓▓ ▓▓ ▓▓▓ ▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓ ▓▓ ▓▓▓ ▓▓ ▓▓▓ ▓▓▓▓ ▓ ▓▓ -#▓ ▓▓▓▓ ▓▓▓▓ ▓▓▓ ▓▓▓ ▓▓ ▓▓▓▓ ▓ ▓▓▓ ▓▓ ▓ ▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓ ▓▓▓▓ ▓▓ ▓▓ ▓▓▓ ▓▓▓▓ ▓ ▓▓▓ -#▓ ▓▓▓▓ ▓▓▓▓▓ ▓▓▓ ▓ ▓▓▓ ▓▓▓▓ ▓ ▓▓▓ ▓▓ ▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓ ▓▓ ▓▓ ▓▓▓ ▓▓ ▓▓▓ ▓▓▓▓ ▓ ▓ -#█ ████ ████ ████ ██████ ████ ██ █ ██ ███ █████████████ ██████ █████ ██ ███ ████ █████ █ -#██████████████ █████ ████████████████████████████████████████████████████████████████████████████████████████████████ ██ - -general { - lock_cmd = hyprlock --immediate - unlock_cmd = loginctl unlock-session - before_sleep_cmd = hyprlock --immediate - after_sleep_cmd = hyprlock --immediate -} - -listener { - timeout = 100 - on-timeout = notify-send "Entering idle state... (200s to screen off)" - on-resume = notify-send "Welcome back!" -} - -listener { - timeout = 200 - on-timeout = notify-send "100s to screen off" -} - -listener { - timeout = 210 - on-timeout = hyprlock -} - -listener { - timeout = 300 - on-timeout = hyprctl dispatch dpms off - on-resume = hyprctl dispatch dpms on -} - -listener { - timeout = 600 - on-timeout = systemctl suspend - on-resume = hyprctl dispatch dpms on -} diff --git a/pc/configs/hypr/wall_4K.png b/pc/configs/hypr/wall_4K.png deleted file mode 100755 index f835a978661c8670b0d74f57fb94fbd7a263ee9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49045 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 He}DDAM^699 diff --git a/pc/configs/hypr/xdg-portal-hyprland b/pc/configs/hypr/xdg-portal-hyprland deleted file mode 100755 index 61a3648..0000000 --- a/pc/configs/hypr/xdg-portal-hyprland +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash -sleep 1 -killall xdg-desktop-portal-hyprland -killall xdg-desktop-portal-wlr -killall xdg-desktop-portal -/usr/libexec/xdg-desktop-portal-hyprland & -sleep 2 -/usr/lib/xdg-desktop-portal & \ No newline at end of file diff --git a/pc/configs/rofi/config.rasi b/pc/configs/rofi/config.rasi deleted file mode 100755 index 14a54c3..0000000 --- a/pc/configs/rofi/config.rasi +++ /dev/null @@ -1,12 +0,0 @@ -/** Basic config file **/ - -configuration { - show-icons: true; - icon-theme: "Candy"; - display-drun: ""; - display-run: "🏃🏽‍♂️ "; - display-window: "🗔 "; - display-combi: "🔎 "; -} - -@theme "themes/mcLarenTheme.rasi" diff --git a/pc/configs/waybar/config.jsonc b/pc/configs/waybar/config.jsonc deleted file mode 100755 index 2870ad0..0000000 --- a/pc/configs/waybar/config.jsonc +++ /dev/null @@ -1,98 +0,0 @@ -{ - "layer": "top", - "position": "top", - "mod": "dock", - "exclusive": true, - "passthrough": false, - "gtk-layer-shell": true, - "height": 0, - "modules-left": [ - "clock", - "cpu", - "memory", - "hyprland/workspaces" - ], - "modules-center": ["hyprland/window"], - "modules-right": [ - "tray", - "network", - "custom/dualsense", - "pulseaudio", - "pulseaudio#microphone", - "custom/powerMenu" - ], - "hyprland/window": { - "format": "{}" - }, - "tray": { - "icon-size": 14, - "spacing": 8 - }, - "custom/dualsense": { - "tooltip": false, - "return-type": "json", - "exec": "$HOME/.config/waybar/dualsense-notifier.sh", - "on-click": "dualsensectl power-off" - }, - "custom/powerMenu": { - "format": "⏻", - "on-click": "rofi -show p -modi p:rofi-power-menu -theme ~/.config/rofi/themes/power.rasi" - }, - "network": { - "format-disconnected": " Net", - "format-wifi": "{icon} {essid}", - "format-ethernet": " Wired", - "tooltip-format-ethernet": "Ethernet\nInterface: {ifname}\nIP: {ipaddr}\nUp/Down (bps): {bandwidthUpBits}/{bandwidthDownBits}", - "tooltip-format-wifi": "Wi-Fi\nSSID: {essid}\nIP: {ipaddr}\nSignal strength: {signalStrength}%\nUp/Down (bps): {bandwidthUpBits}/{bandwidthDownBits}\nFrequency: {frequency}GHz", - "tooltip-format-disconnected": "Networking\n{ifname} disconnected", - "on-click": "terminator -x nmtui", - "format-icons": ["", "", "", ""] - }, - "clock": { - "format": "{:%a, %d.%m %H:%M:%S}", - "tooltip-format": "Calendar\n{calendar}", - "interval": 1 - }, - "hyprland/workspaces": { - "disable-scroll": true, - "all-outputs": true, - "on-click": "activate", - "format": "{icon}" - }, - "cpu": { - "tooltip-format": "CPU\nTotal: {usage}", - "format": " {usage}", - "interval": 5 - }, - "memory": { - "format": " {percentage}", - "interval": 5 - }, - "pulseaudio": { - "format": "{icon} {volume}", - "tooltip": true, - "format-muted": " Off", - "on-click": "pamixer -t", - "on-scroll-up": "pamixer -i 5", - "on-scroll-down": "pamixer -d 5", - "scroll-step": 5, - "format-icons": { - "headphone": "", - "hands-free": "", - "headset": "", - "phone": "", - "portable": "", - "car": "🏎", - "default": ["", "", ""] - } - }, - "pulseaudio#microphone": { - "format": "{format_source}", - "format-source": " {volume}", - "format-source-muted": " 0", - "on-click": "pamixer --default-source -t", - "on-scroll-up": "pamixer --default-source -i 5", - "on-scroll-down": "pamixer --default-source -d 5", - "scroll-step": 5 - } -} diff --git a/pc/configs/waybar/default-style.css b/pc/configs/waybar/default-style.css deleted file mode 100644 index 23a5fc8..0000000 --- a/pc/configs/waybar/default-style.css +++ /dev/null @@ -1,117 +0,0 @@ -* { - border: none; - border-radius: 0; - font-family: Cartograph CF Nerd Font, monospace; - font-weight: bold; - font-size: 13px; - min-height: 0; - margin-left: 3px; - margin-right: 3px; -} - -window#waybar { - background: rgba(0, 0, 0, 0.8); - color: #cdd6f4; -} - -tooltip { - background: #1e1e2e; - border-radius: 10px; - border-width: 2px; - border-style: solid; - border-color: #11111b; -} - -#workspaces button { - padding: 3px; - color: #313244; - margin-right: 5px; -} - -#workspaces button.active { - color: #a6adc8; -} - -#workspaces button.focused { - color: #a6adc8; - background: #eba0ac; - border-radius: 10px; -} - -#workspaces button.urgent { - color: #11111b; - background: #a6e3a1; - border-radius: 10px; -} - -#workspaces button:hover { - background: #11111b; - color: #cdd6f4; - border-radius: 10px; -} - -#workspaces { - background: #1e1e2e; - border-radius: 10px; - margin-left: 10px; - padding-right: 0px; - padding-left: 5px; -} - -#window, -#clock, -#custom-powerMenu, -#pulseaudio, -#memory, -#tray, -#custom-dualsense, -#network, -#workspaces, -#cpu { - background: #000024; - padding: 4px 12px; - margin: 3px 2px; - margin-top: 9px; - border: 1px solid #181825; - border-radius: 10px; -} - -#tray { - border-radius: 10px; - margin-right: 10px; -} - -#cpu { - margin-right: 0; - border-radius: 10px 0px 0px 10px; - background-color: #222244; -} - -#memory { - color: #89b4fa; - margin-left: 0; - border-radius: 0px 10px 10px 0px; - background-color: #222244; -} - -#window { - border-radius: 10px; - margin-left: 60px; - margin-right: 60px; -} - -#clock { - color: #a6f7ad; -} - -#pulseaudio { - color: #89b4fa; - border-left: 0px; - border-right: 0px; -} - -#pulseaudio.microphone { - color: #a6f7ad; - border-left: 0px; - border-right: 0px; -} diff --git a/pc/configs/waybar/dualsense-notifier.sh b/pc/configs/waybar/dualsense-notifier.sh deleted file mode 100755 index 8007849..0000000 --- a/pc/configs/waybar/dualsense-notifier.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/bash - -notify_id=-1 -icon="/usr/share/icons/breeze-dark/devices/64/input-gamepad.svg" - -dev=$(echo $DS_DEV | tr '[:lower:]' '[:upper:]') - -case "$1" in -add) - notify_id=$(notify-desktop -r $notify_id -i $icon "$dev" "Controller connected") - while true; do - class="" - battery=$(dualsensectl battery 2> /dev/null) - perc=$(echo $battery | cut -d' ' -f1) - state=$(echo $perc | cut -d' ' -f2) - if [ -z "$perc" -o -z "$state" ]; then - exit; - fi - if [ $perc -lt 15 -a "$state" != "charging" ]; then - notify_id=$(notify-desktop -r $notify_id -i $icon "$dev" "Low battery ${perc}%") - fi - echo "{\"class\": \"$class\", \"text\": \" ${perc}%\"}" - sleep 5m - done - ;; -remove) - notify_id=$(notify-desktop -r $notify_id -i $icon "$dev" "Controller disconnected") - echo "{\"text\": \"\"}" - ;; -*) - echo "{\"text\": \"\"}" - exec dualsensectl monitor add "${BASH_SOURCE[0]} add" remove "${BASH_SOURCE[0]} remove" - ;; -esac \ No newline at end of file diff --git a/pc/configs/waybar/mclaren-style.css b/pc/configs/waybar/mclaren-style.css deleted file mode 100644 index 411c2c3..0000000 --- a/pc/configs/waybar/mclaren-style.css +++ /dev/null @@ -1,112 +0,0 @@ -* { - border: none; - border-radius: 0; - font-family: Cartograph CF Nerd Font, monospace; - font-weight: bold; - font-size: 13px; - min-height: 0; - margin-left: 3px; - margin-right: 3px; -} - -window#waybar { - background: rgba(0, 0, 0, 0); - color: #cc5c00; -} - -tooltip { - background: black; - border-radius: 10px; - border-width: 2px; - border-style: solid; - border-color: #cc5c00; -} - -#workspaces button { - padding: 3px; - color: #a79f9d; - margin-right: 5px; -} - -#workspaces button.active { - color: white; -} - -#workspaces button.focused { - color: white; - background: #cc5c00; - border-radius: 10px; -} - -#workspaces button.urgent { - color: white; - background: #cc5c00; - border-radius: 10px; -} - -#workspaces button:hover { - background: white; - color: #cc5c00; - border-radius: 10px; -} - -#workspaces { - background: black; - border-radius: 10px; - margin-left: 10px; - padding-right: 0px; - padding-left: 5px; -} - -#window, -#clock, -#custom-powerMenu, -#pulseaudio, -#memory, -#tray, -#custom-dualsense, -#network, -#workspaces, -#cpu { - background: black; - padding: 4px 12px; - margin: 3px 2px; - margin-top: 9px; - border: 1px solid rgb(204, 92, 0); - border-radius: 10px; -} - -#tray { - border-radius: 10px; - margin-right: 10px; -} - -#cpu { - margin-right: 0; - border-radius: 10px 0px 0px 10px; - background-color: #010006; -} - -#memory { - margin-left: 0; - border-radius: 0px 10px 10px 0px; - background-color: #010006; -} - -#window { - border-radius: 10px; - margin-left: 60px; - margin-right: 60px; -} - -#clock { - color: #009e58; -} - -#pulseaudio { - color: #9b1603; -} - -#pulseaudio.microphone { - color: rgb(167, 159, 157); -} diff --git a/pc/configs/waybar/style.css b/pc/configs/waybar/style.css deleted file mode 100755 index bad3d70..0000000 --- a/pc/configs/waybar/style.css +++ /dev/null @@ -1,113 +0,0 @@ -* { - border: none; - border-radius: 0; - font-family: 'FluentSystemIcons-Regular,Comfortaa', monospace; - font-weight: bold; - font-size: 13px; - min-height: 0; - margin-left: 3px; - margin-right: 3px; -} - -window#waybar { - background: rgba(0, 0, 0, 0); - color: #cc5c00; -} - -tooltip { - background: black; - border-radius: 10px; - border-width: 2px; - border-style: solid; - border-color: #cc5c00; -} - -#workspaces button { - padding: 3px; - color: #a79f9d; - margin-right: 5px; -} - -#workspaces button.active { - color: white; -} - -#workspaces button.focused { - color: white; - background: #cc5c00; - border-radius: 10px; -} - -#workspaces button.urgent { - color: white; - background: #cc5c00; - border-radius: 10px; -} - -#workspaces button:hover { - background: white; - color: #cc5c00; - border-radius: 10px; -} - -#workspaces { - background: black; - border-radius: 10px; - margin-left: 10px; - padding-right: 0px; - padding-left: 5px; -} - -#window, -#clock, -#custom-powerMenu, -#pulseaudio, -#memory, -#tray, -#custom-dualsense, -#network, -#workspaces, -#cpu { - background: black; - padding: 4px 12px; - margin: 3px 2px; - margin-top: 9px; - border: 1px solid rgb(204, 92, 0); - border-radius: 10px; -} - -#tray { - border-radius: 10px; - margin-right: 10px; -} - -#cpu { - margin-right: 0; - border-radius: 10px 0px 0px 10px; - background-color: #010006; -} - -#memory { - margin-left: 0; - border-radius: 0px 10px 10px 0px; - background-color: #010006; -} - -#window { - border-radius: 10px; - margin-left: 60px; - margin-right: 60px; -} - -#clock { - color: #009e58; - min-width: 125px; -} - -#pulseaudio { - color: #9b1603; -} - -#pulseaudio.microphone { - color: rgb(167, 159, 157); -} diff --git a/pc/docker/daemon.json b/pc/docker/daemon.json deleted file mode 100644 index 581de36..0000000 --- a/pc/docker/daemon.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "data-root": "/mnt/storage/docker" -} diff --git a/pc/environment b/pc/environment deleted file mode 100644 index 23ce03f..0000000 --- a/pc/environment +++ /dev/null @@ -1,16 +0,0 @@ -# -# This file is parsed by pam_env module -# -# Syntax: simple "KEY=VAL" pairs on separate lines -# - -QT_QPA_PLATFORMTHEME=qt5ct -QT_STYLE_OVERRIDE=kvantum -GCM_CREDENTIAL_STORE=secretservice -VKD3D_CONFIG=dxr11,dxr -RADV_PERFTEST_RT=1 -ANDROID_HOME=/home/janis/Android/Sdk -QT_QPA_PLATFORM=wayland -JELLYFIN_WEB_DIR=/usr/share/jellyfin-web -GTK_THEME=Material-Black-Blueberry -EDITOR=nvim diff --git a/pc/grub b/pc/grub deleted file mode 100644 index 25e09c8..0000000 --- a/pc/grub +++ /dev/null @@ -1,63 +0,0 @@ -# GRUB boot loader configuration - -GRUB_DEFAULT=0 -GRUB_TIMEOUT=5 -GRUB_DISTRIBUTOR="Arch" -GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet splash" -GRUB_CMDLINE_LINUX="" - -# Preload both GPT and MBR modules so that they are not missed -GRUB_PRELOAD_MODULES="part_gpt part_msdos" - -# Uncomment to enable booting from LUKS encrypted devices -#GRUB_ENABLE_CRYPTODISK=y - -# Set to 'countdown' or 'hidden' to change timeout behavior, -# press ESC key to display menu. -GRUB_TIMEOUT_STYLE=menu - -# Uncomment to use basic console -GRUB_TERMINAL_INPUT=console - -# Uncomment to disable graphical terminal -#GRUB_TERMINAL_OUTPUT=console - -# The resolution used on graphical terminal -# note that you can use only modes which your graphic card supports via VBE -# you can see them in real GRUB with the command `videoinfo' -GRUB_GFXMODE=1920x1080 - -# Uncomment to allow the kernel use the same resolution used by grub -GRUB_GFXPAYLOAD_LINUX=keep - -# Uncomment if you want GRUB to pass to the Linux kernel the old parameter -# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx" -#GRUB_DISABLE_LINUX_UUID=true - -# Uncomment to disable generation of recovery mode menu entries -GRUB_DISABLE_RECOVERY=true - -# Uncomment and set to the desired menu colors. Used by normal and wallpaper -# modes only. Entries specified as foreground/background. -#GRUB_COLOR_NORMAL="light-blue/black" -#GRUB_COLOR_HIGHLIGHT="light-cyan/blue" - -# Uncomment one of them for the gfx desired, a image background or a gfxtheme -#GRUB_BACKGROUND="/path/to/wallpaper" - -# Uncomment to get a beep at GRUB start -#GRUB_INIT_TUNE="480 440 1" - -# Uncomment to make GRUB remember the last selection. This requires -# setting 'GRUB_DEFAULT=saved' above. -#GRUB_SAVEDEFAULT=true - -# Uncomment to disable submenus in boot menu -#GRUB_DISABLE_SUBMENU=y - -# Probing for other operating systems is disabled for security reasons. Read -# documentation on GRUB_DISABLE_OS_PROBER, if still want to enable this -# functionality install os-prober and uncomment to detect and include other -# operating systems. -GRUB_DISABLE_OS_PROBER=false -GRUB_THEME="/usr/share/grub/themes/monterey-grub-theme/theme.txt" diff --git a/pc/installedPackages.txt b/pc/installedPackages.txt deleted file mode 100644 index 9e528b5..0000000 --- a/pc/installedPackages.txt +++ /dev/null @@ -1,2093 +0,0 @@ -7zip -a52dec -aalib -abseil-cpp -accounts-qml-module -accountsservice -acl -adobe-source-code-pro-fonts -adwaita-cursors -adwaita-icon-theme -adwaita-icon-theme-legacy -alembic -alsa-card-profiles -alsa-lib -alsa-plugins -alsa-topology-conf -alsa-ucm-conf -android-studio -android-udev -aom -appmenu-glib-translator-git-debug -appstream -appstream-glib -aquamarine -archlinux-keyring -argon2 -aria2 -aribb24 -ark -at-spi2-core -atkmm -attica -attica5 -attr -audit -augeas -autoconf -autoconf-archive -autojump -automake -avahi -ayatana-ido -aylurs-gtk-shell-git-debug -babl -baloo -base -base-devel -bash -bash-language-server -bashtop -betaflight-configurator-bin -biber -bind -binutils -bison -blas -blas64-openblas -blender -blender-benchmark -blosc -blueman -bluez -bluez-libs -boost -boost-libs -botan -botan2 -brave-bin -breeze-icons -bridge-utils -brotli -btrfs-progs -bubblewrap -bzip2 -c-ares -ca-certificates -ca-certificates-mozilla -ca-certificates-utils -cairo -cairomm -cairomm-1.16 -calligra -cantarell-fonts -capstone -cauchy -cblas -cdparanoia -cfitsio -chromaprint -chrono-date -cider -cifs-utils -cjson -clamav -clang -clang15 -clang15-debug -cmake -cmark -colord -colord-sane -comgr -compiler-rt -compiler-rt15 -composer -containerd -convertlit -corectrl -coreutils -cpio -cppdap -cpupower -cpupower-gui -cracklib -cryptsetup -cups -cups-filters -curl -cython -dav1d -db -db5.3 -dbus -dbus-broker -dbus-broker-units -dbus-glib -dconf -debootstrap -debugedit -dee -default-cursors -desktop-file-utils -device-mapper -dhcpcd -diffutils -discount -distro-info -distro-info-data -djvulibre -dkms -dnsmasq -dnssec-anchors -docbook-xml -docbook-xsl -docker -docker-compose -dos2unix -dosfstools -dotnet-host -dotnet-runtime -dotnet-sdk -dotnet-targeting-pack -double-conversion -doxygen -draco -dtc -dualsensectl -dualsensectl-debug -duktape -dunst -dvisvgm -e2fsprogs -easytax-ag-2022 -easytax-ag-2023 -easytax-ag-2024 -ebook-tools -editorconfig-core-c -edk2-ovmf -efibootmgr -efivar -electron34 -elementary-icon-theme -embree -enchant -epiphany -evince -exfatprogs -exiv2 -exo -expat -extra-cmake-modules -f2fs-tools -faac -faad2 -fakeroot -fcitx5 -fd -ffcall -ffmpeg -ffmpeg4.4 -ffmpegthumbnailer -fftw -file -filesystem -filezilla -findutils -fish -flac -flex -fluidsynth -fmt -fontconfig -foomatic-db -foomatic-db-engine -foomatic-db-ppds -freeglut -freetype2 -frei0r-plugins -fribidi -fuse-common -fuse2 -fuse3 -gamemode -gamescope -garcon -gawk -gc -gcc -gcc-libs -gcr -gcr-4 -gd -gdb -gdb-common -gdbm -gdk-pixbuf2 -gegl -geoclue -geocode-glib-2 -geocode-glib-common -gettext -gflags -ghc-libs -ghex -ghostscript -giflib -gimp -girara -git -git-credential-manager-bin -gjs -glances -glew -glfw -glib-networking -glib2 -glib2-devel -glib2-docs -glibc -glibmm -glibmm-2.68 -glm -glslang -glu -gmp -gnome-characters -gnome-common -gnome-desktop -gnome-desktop-4 -gnome-desktop-common -gnome-disk-utility -gnome-font-viewer -gnome-keyring -gnome-settings-daemon -gnome-themes-extra -gnu-free-fonts -gnulib-l10n -gnupg -gnutls -go -gobject-introspection -gobject-introspection-runtime -google-glog -gparted -gperftools -gpgme -gpm -gptfdisk -gradle -graphene -graphicsmagick -graphite -graphviz -grep -grim -grimblast-git -groff -grub -gsettings-desktop-schemas -gsettings-system-schemas -gsfonts -gsl -gsm -gspell -gssdp -gst-libav -gst-plugin-pipewire -gst-plugins-bad -gst-plugins-bad-libs -gst-plugins-base -gst-plugins-base-libs -gst-plugins-good -gstreamer -gtest -gtk-doc -gtk-layer-shell -gtk-update-icon-cache -gtk-vnc -gtk2 -gtk3 -gtk4 -gtkmm-4.0 -gtkmm3 -gtksourceview4 -gts -guile -gupnp -gupnp-igd -gvfs -gwenview -gzip -handbrake -harfbuzz -harfbuzz-icu -haskell-aeson -haskell-aeson-pretty -haskell-ansi-terminal -haskell-ansi-terminal-types -haskell-ansi-wl-pprint -haskell-appar -haskell-asn1-encoding -haskell-asn1-parse -haskell-asn1-types -haskell-assoc -haskell-async -haskell-attoparsec -haskell-attoparsec-aeson -haskell-attoparsec-iso8601 -haskell-auto-update -haskell-base-compat -haskell-base-compat-batteries -haskell-base-orphans -haskell-base-unicode-symbols -haskell-base16-bytestring -haskell-base64-bytestring -haskell-basement -haskell-bifunctors -haskell-bitvec -haskell-blaze-builder -haskell-blaze-html -haskell-blaze-markup -haskell-boring -haskell-bsb-http-chunked -haskell-byteorder -haskell-call-stack -haskell-case-insensitive -haskell-cassava -haskell-cereal -haskell-citeproc -haskell-cmdargs -haskell-colour -haskell-commonmark -haskell-commonmark-extensions -haskell-commonmark-pandoc -haskell-comonad -haskell-conduit -haskell-conduit-extra -haskell-constraints -haskell-contravariant -haskell-cookie -haskell-crypton -haskell-crypton-connection -haskell-crypton-x509 -haskell-crypton-x509-store -haskell-crypton-x509-system -haskell-crypton-x509-validation -haskell-data-array-byte -haskell-data-default -haskell-data-default-class -haskell-data-default-instances-containers -haskell-data-default-instances-dlist -haskell-data-default-instances-old-locale -haskell-data-fix -haskell-dec -haskell-digest -haskell-distributive -haskell-djot -haskell-dlist -haskell-doclayout -haskell-doctemplates -haskell-easy-file -haskell-emojis -haskell-erf -haskell-fast-logger -haskell-file-embed -haskell-foldable1-classes-compat -haskell-generically -haskell-ghc-bignum-orphans -haskell-glob -haskell-gridtables -haskell-haddock-library -haskell-hashable -haskell-hourglass -haskell-hslua -haskell-hslua-aeson -haskell-hslua-classes -haskell-hslua-core -haskell-hslua-list -haskell-hslua-marshalling -haskell-hslua-module-doclayout -haskell-hslua-module-path -haskell-hslua-module-system -haskell-hslua-module-text -haskell-hslua-module-version -haskell-hslua-module-zip -haskell-hslua-objectorientation -haskell-hslua-packaging -haskell-hslua-repl -haskell-hslua-typing -haskell-http-api-data -haskell-http-client -haskell-http-client-tls -haskell-http-date -haskell-http-media -haskell-http-types -haskell-http2 -haskell-hunit -haskell-indexed-traversable -haskell-indexed-traversable-instances -haskell-integer-logarithms -haskell-iproute -haskell-ipynb -haskell-isocline -haskell-jira-wiki-markup -haskell-juicypixels -haskell-lexer -haskell-libyaml -haskell-lpeg -haskell-lua -haskell-memory -haskell-mime-types -haskell-mmorph -haskell-monad-control -haskell-mono-traversable -haskell-network -haskell-network-byte-order -haskell-network-uri -haskell-old-locale -haskell-old-time -haskell-onetuple -haskell-only -haskell-optparse-applicative -haskell-ordered-containers -haskell-os-string -haskell-pandoc -haskell-pandoc-lua-engine -haskell-pandoc-lua-marshal -haskell-pandoc-server -haskell-pandoc-types -haskell-pem -haskell-pretty-show -haskell-prettyprinter -haskell-primitive -haskell-psqueues -haskell-quickcheck -haskell-random -haskell-recv -haskell-regex-base -haskell-regex-tdfa -haskell-resourcet -haskell-safe -haskell-safe-exceptions -haskell-scientific -haskell-semialign -haskell-semigroupoids -haskell-servant -haskell-servant-server -haskell-sha -haskell-simple-sendfile -haskell-singleton-bool -haskell-skylighting -haskell-skylighting-core -haskell-skylighting-format-ansi -haskell-skylighting-format-blaze-html -haskell-skylighting-format-context -haskell-skylighting-format-latex -haskell-socks -haskell-some -haskell-sop-core -haskell-split -haskell-splitmix -haskell-statevar -haskell-streaming-commons -haskell-strict -haskell-syb -haskell-tagged -haskell-tagsoup -haskell-temporary -haskell-texmath -haskell-text-conversions -haskell-text-icu -haskell-text-short -haskell-th-abstraction -haskell-th-compat -haskell-th-lift -haskell-th-lift-instances -haskell-these -haskell-time-compat -haskell-time-manager -haskell-tls -haskell-toml-parser -haskell-transformers-base -haskell-transformers-compat -haskell-type-equality -haskell-typed-process -haskell-typst -haskell-typst-symbols -haskell-unicode-collation -haskell-unicode-data -haskell-unicode-transforms -haskell-uniplate -haskell-unix-compat -haskell-unix-time -haskell-unliftio -haskell-unliftio-core -haskell-unordered-containers -haskell-utf8-string -haskell-uuid-types -haskell-vault -haskell-vector -haskell-vector-algorithms -haskell-vector-stream -haskell-wai -haskell-wai-app-static -haskell-wai-cors -haskell-wai-extra -haskell-wai-logger -haskell-warp -haskell-witherable -haskell-word8 -haskell-xml -haskell-xml-conduit -haskell-xml-types -haskell-yaml -haskell-zip-archive -haskell-zlib -hdf5 -heroic-games-launcher-bin -hicolor-icon-theme -hidapi -highway -hip-runtime-amd -hipblas -hipblas-common -hivex -hsa-rocr -hslua-cli -http-parser -hugo -hunspell -hwdata -hwinfo -hwloc -hyphen -hyprcursor -hyprevents-git -hyprfreeze-git -hyprgraphics -hypridle -hyprland -hyprland-qt-support -hyprland-qtutils -hyprland-qtutils-debug -hyprlang -hyprlock -hyprprop-git -hyprutils -hyprwayland-scanner -iana-etc -ibus -icu -ifuse -ijs -imagemagick -imath -imlib2 -iniparser -inkscape -input-remapper-git -intel-oneapi-common -intel-oneapi-compiler-dpcpp-cpp-runtime-libs -intel-oneapi-compiler-shared-runtime-libs -intel-oneapi-openmp -intel-oneapi-tbb -intel-oneapi-tcm -inter-font -intltool -iozone -iozone-debug -iproute2 -iptables-nft -iputils -iso-codes -itstool -jansson -jasper -java-environment-common -java-hamcrest -java-runtime-common -jbig2dec -jbigkit -jdk-openjdk -jdk17-openjdk -jdk21-openjdk -jdtls -jemalloc -jfsutils -jq -js115 -js128 -json-c -json-glib -jsoncpp -jstest-gtk-git -julia -junit -kaccounts-integration -kactivities5 -karchive -karchive5 -kate -kauth -kauth5 -kbd -kbookmarks -kbookmarks5 -kcmutils -kcmutils5 -kcodecs -kcodecs5 -kcolorpicker -kcolorpicker-qt5 -kcolorscheme -kcompletion -kcompletion5 -kconfig -kconfig5 -kconfigwidgets -kconfigwidgets5 -kcontacts5 -kcoreaddons -kcoreaddons5 -kcrash -kcrash5 -kdbusaddons -kdbusaddons5 -kdeclarative -kdeclarative5 -kded5 -kdelibs4support -kdelibs4support-debug -kdesignerplugin -kdesignerplugin-debug -kdiagram -kdiagram5 -kdoctools5 -kemoticons -kemoticons-debug -keyutils -kfilemetadata -kfilemetadata5 -kglobalaccel -kglobalaccel5 -kguiaddons -kguiaddons5 -khtml -ki18n -ki18n5 -kiconthemes -kiconthemes5 -kidletime -kidletime5 -kimageannotator -kimageannotator-qt5 -kinit -kio -kio5 -kirigami -kirigami-addons -kirigami2 -kitemmodels -kitemmodels5 -kitemviews -kitemviews5 -kitty -kitty-shell-integration -kitty-terminfo -kjobwidgets -kjobwidgets5 -kjs -kmod -knewstuff -knewstuff5 -knock-bin -knock-bin-debug -knotifications -knotifications5 -knotifyconfig -knotifyconfig5 -kotlin -kpackage -kpackage5 -kparts -kparts5 -kpty -kpty5 -kquickcharts -kquickimageeditor -kquickimageeditor5 -kquickimageeditor5-debug -krb5 -kross -ksanecore -kservice -kservice5 -kstatusnotifieritem -ksvg -ksystemstats -ktexteditor -ktexteditor5 -ktextwidgets -ktextwidgets5 -ktorrent -kunitconversion5 -kuserfeedback -kvantum -kvantum-qt5 -kwallet -kwallet5 -kwidgetsaddons -kwidgetsaddons5 -kwindowsystem -kwindowsystem5 -kxmlgui -kxmlgui5 -l-smash -ladspa -lame -lapack -lazygit -lcms2 -ldb -ldns -leancrypto -lensfun -leptonica -less -level-zero-loader -lib2geom -lib32-acl -lib32-alsa-lib -lib32-alsa-plugins -lib32-audit -lib32-brotli -lib32-bzip2 -lib32-curl -lib32-dbus -lib32-e2fsprogs -lib32-expat -lib32-fontconfig -lib32-freetype2 -lib32-gcc-libs -lib32-gettext -lib32-glib2 -lib32-glibc -lib32-harfbuzz -lib32-icu -lib32-json-c -lib32-keyutils -lib32-krb5 -lib32-libcap -lib32-libdrm -lib32-libelf -lib32-libffi -lib32-libgcrypt -lib32-libglvnd -lib32-libgpg-error -lib32-libidn2 -lib32-libldap -lib32-libnghttp2 -lib32-libnghttp3 -lib32-libnl -lib32-libnsl -lib32-libpcap -lib32-libpciaccess -lib32-libpng -lib32-libpsl -lib32-libssh2 -lib32-libtasn1 -lib32-libtirpc -lib32-libunistring -lib32-libunwind -lib32-libx11 -lib32-libxau -lib32-libxcb -lib32-libxcrypt -lib32-libxcrypt-compat -lib32-libxcursor -lib32-libxdamage -lib32-libxdmcp -lib32-libxext -lib32-libxfixes -lib32-libxi -lib32-libxkbcommon -lib32-libxml2 -lib32-libxrandr -lib32-libxrender -lib32-libxshmfence -lib32-libxss -lib32-libxxf86vm -lib32-llvm-libs -lib32-lm_sensors -lib32-mesa -lib32-ncurses -lib32-nspr -lib32-nss -lib32-openssl -lib32-p11-kit -lib32-pam -lib32-pcre2 -lib32-spirv-tools -lib32-sqlite -lib32-systemd -lib32-util-linux -lib32-vulkan-icd-loader -lib32-vulkan-radeon -lib32-wayland -lib32-xcb-util-keysyms -lib32-xz -lib32-zlib -lib32-zstd -libaccounts-glib -libaccounts-qt -libadwaita -libaec -libaio -libappindicator-gtk3 -libarchive -libass -libassuan -libastal-4-git-debug -libastal-apps-git-debug -libastal-auth-git-debug -libastal-battery-git-debug -libastal-bluetooth-git-debug -libastal-cava-git-debug -libastal-git-debug -libastal-greetd-git-debug -libastal-hyprland-git-debug -libastal-io-git-debug -libastal-mpris-git-debug -libastal-network-git-debug -libastal-notifd-git-debug -libastal-powerprofiles-git-debug -libastal-river-git-debug -libastal-tray-git-debug -libastal-wireplumber-git-debug -libasyncns -libatasmart -libavc1394 -libavif -libavtp -libayatana-appindicator -libayatana-indicator -libb2 -libblastrampoline -libblockdev -libblockdev-crypto -libblockdev-fs -libblockdev-loop -libblockdev-mdraid -libblockdev-nvme -libblockdev-part -libblockdev-swap -libbluray -libbpf -libbs2b -libbsd -libburn -libbytesize -libcaca -libcacard -libcamera -libcamera-ipa -libcanberra -libcap -libcap-ng -libcava-debug -libcbor -libcdio -libcdio-paranoia -libcdr -libclc -libcloudproviders -libcolord -libconfig -libcups -libcupsfilters -libdaemon -libdatachannel -libdatrie -libdbusmenu-glib -libdbusmenu-gtk3 -libdbusmenu-qt5 -libdc1394 -libdca -libde265 -libdecor -libdeflate -libdiscid -libdisplay-info -libdovi -libdrm -libdv -libdvbpsi -libdvdcss -libdvdnav -libdvdread -libebml -libebur128 -libedit -libei -libelf -libepoxy -libev -libevdev -libevent -libewf -libexif -libfabric -libfdk-aac -libffi -libfilezilla -libfontenc -libfreeaptx -libgcrypt -libgexiv2 -libgirepository -libgit2 -libglvnd -libgme -libgnome-keyring -libgovirt -libgpg-error -libgphoto2 -libgtop -libgudev -libguestfs -libgusb -libgweather-4 -libgxps -libhandy -libharu -libheif -libibus -libical -libice -libidn -libidn2 -libiec61883 -libieee1284 -libimagequant -libimobiledevice -libimobiledevice-glue -libinih -libinput -libinstpatch -libisl -libisoburn -libisofs -libjpeg-turbo -libjuice -libjxl -libkdcraw -libkdcraw5 -libkexiv2 -libkeybinder3 -libksba -libksysguard -libktorrent -liblc3 -libldac -libldap -libldm -libliftoff -liblqr -liblrdf -libltc -libluv -libmad -libmanette -libmatroska -libmaxminddb -libmd -libmediainfo -libmfx -libmicrodns -libmicrohttpd -libmm-glib -libmms -libmng -libmnl -libmodplug -libmpc -libmpcdec -libmpdclient -libmpeg2 -libmspack -libmtp -libmypaint -libmysofa -libnbd -libndp -libnet -libnetfilter_conntrack -libnewt -libnfnetlink -libnftnl -libnghttp2 -libnghttp3 -libngtcp2 -libnice -libnick -libnl -libnm -libnma -libnma-common -libnotify -libnsl -libnvme -libodfgen -libogg -libomxil-bellagio -libopenmpt -libosinfo -libp11-kit -libpaper -libpcap -libpciaccess -libpgm -libpipeline -libpipewire -libplacebo -libplasma -libplist-git -libplist-git-debug -libpng -libportal -libportal-gtk4 -libppd -libproxy -libpsl -libpulse -libpwquality -libqalculate -libraqm -libraw -libraw1394 -librest -librevenge -librewolf-bin -librewolf-bin-debug -librsvg -librsync -libsamplerate -libsasl -libsass -libseccomp -libsecret -libshout -libsigc++ -libsigc++-3.0 -libsigsegv -libsixel -libslirp -libsm -libsndfile -libsodium -libsoup -libsoup3 -libsoxr -libspectre -libspiro -libspnav -libspng -libsrtp -libssh -libssh2 -libstemmer -libsynctex -libsysprof-capture -libtar -libtasn1 -libtatsu-git -libtatsu-git-debug -libteam -libtermkey -libthai -libtheora -libtiff -libtirpc -libtommath -libtool -libtraceevent -libtracefs -libunibreak -libunistring -libunity -libunwind -libupnp -liburcu -liburing -libusb -libusbmuxd -libutempter -libutf8proc -libuv -libva -libvdpau -libverto -libvirt -libvirt-glib -libvirt-python -libvisio -libvlc -libvorbis -libvpl -libvpx -libvterm -libwacom -libwbclient -libwebp -libwebsockets -libwireplumber -libwmf -libwnck3 -libwpd -libwpe -libwpg -libx11 -libx86emu -libxau -libxaw -libxcb -libxcomposite -libxcrypt -libxcrypt-compat -libxcursor -libxcvt -libxdamage -libxdg-basedir -libxdmcp -libxdp -libxext -libxfce4ui -libxfce4util -libxfce4windowing -libxfixes -libxfont2 -libxft -libxi -libxinerama -libxkbcommon -libxkbcommon-x11 -libxkbfile -libxklavier -libxml++-5.0 -libxml2 -libxmlb -libxmu -libxnvctrl -libxpm -libxpresent -libxrandr -libxrender -libxres -libxshmfence -libxslt -libxss -libxt -libxtst -libxv -libxxf86vm -libyaml -libyuv -libzen -libzip -licenses -lilv -linux-api-headers -linux-firmware -linux-firmware-whence -linux-zen -linux-zen-headers -lld -llhttp -llvm -llvm-julia-libs -llvm-libs -llvm15 -llvm15-libs -lm_sensors -lmdb -log4cplus -lrzip -lsb-release -lsof -lsscsi -lua -lua-filesystem -lua-language-server -lua-lpeg -lua51-lpeg -luajit -luarocks -lv2 -lvm2 -lxappearance -lz4 -lzo -lzop -m4 -mailcap -make -mallard-ducktype -man-db -mangohud -materialx -maven -mbedtls -mbedtls2 -md4c -mdadm -media-player-info -mediainfo -mesa -meson -minecraft-launcher -minecraft-launcher-debug -minisign -minizip -minizip-ng -mjpegtools -mkinitcpio -mkinitcpio-busybox -mlt -mobile-broadband-provider-info -mosquitto -movit -mpdecimal -mpfr -mpg123 -mpv -msgpack-c -mtdev -mtools -mujs -multipath-tools -mypaint-brushes1 -nano -nasm -ncurses -ndctl -neofetch -neon -neovim -net-snmp -netpbm -netstandard-targeting-pack -nettle -network-manager-applet -networkmanager -nextcloud-client -nftables -nilfs-utils -ninja -nm-connection-editor -nmap -node-gyp -nodejs-lts-jod -nodejs-nopt -noto-fonts -noto-fonts-emoji -npm -npth -nspr -nss -ntfs-3g -numactl -nvm -nwjs-bin -nwjs-bin-debug -obs-studio -ocl-icd -okular -ollama -ollama-rocm -onetbb -oniguruma -openal -openblas64 -opencl-clover-mesa -opencl-headers -opencollada -opencolorio -opencore-amr -openexr -openh264 -openimagedenoise -openimageio -openjpeg2 -openlibm -openmp -openmpi -openpgl -openpmix -openrazer-daemon -openrazer-driver-dkms -openresolv -openrgb -openshadinglanguage -openssh -openssl -opensubdiv -openucx -openvdb -openxr -opus -orc -os-prober -osinfo-db -otf-firamono-nerd -otf-sora -p11-kit -pacman -pacman-contrib -pacman-mirrorlist -pahole -pam -pambase -pamixer -pandoc-cli -pango -pangomm -pangomm-2.48 -parabolic-debug -parabolic-gtk -parted -patch -pavucontrol -pciutils -pcre -pcre2 -pcsclite -perl -perl-alien-build -perl-alien-libxml2 -perl-autovivification -perl-b-hooks-endofscope -perl-business-isbn -perl-business-isbn-data -perl-business-ismn -perl-business-issn -perl-capture-tiny -perl-class-accessor -perl-class-data-inheritable -perl-class-inspector -perl-class-load -perl-class-singleton -perl-clone -perl-data-compare -perl-data-dump -perl-data-optlist -perl-data-uniqid -perl-datetime -perl-datetime-calendar-julian -perl-datetime-format-builder -perl-datetime-format-strptime -perl-datetime-locale -perl-datetime-timezone -perl-dbi -perl-devel-stacktrace -perl-dist-checkconflicts -perl-encode-locale -perl-error -perl-eval-closure -perl-exception-class -perl-exporter-tiny -perl-ffi-checklib -perl-file-chdir -perl-file-find-rule -perl-file-listing -perl-file-sharedir -perl-file-sharedir-install -perl-file-slurp-tiny -perl-file-slurper -perl-file-which -perl-html-parser -perl-html-tagset -perl-http-cookiejar -perl-http-cookies -perl-http-daemon -perl-http-date -perl-http-message -perl-http-negotiate -perl-io-html -perl-io-socket-ssl -perl-io-string -perl-ipc-run3 -perl-libintl-perl -perl-libwww -perl-lingua-translit -perl-list-allutils -perl-list-moreutils -perl-list-moreutils-xs -perl-list-someutils -perl-list-utilsby -perl-log-log4perl -perl-lwp-mediatypes -perl-lwp-protocol-https -perl-mailtools -perl-math-round -perl-mime-charset -perl-module-implementation -perl-module-runtime -perl-mozilla-ca -perl-mro-compat -perl-namespace-autoclean -perl-namespace-clean -perl-net-http -perl-net-ssleay -perl-number-compare -perl-package-deprecationmanager -perl-package-stash -perl-package-stash-xs -perl-params-util -perl-params-validate -perl-params-validationcompiler -perl-parse-recdescent -perl-path-tiny -perl-perlio-utf8-strict -perl-regexp-common -perl-role-tiny -perl-sort-key -perl-specio -perl-sub-exporter -perl-sub-exporter-progressive -perl-sub-install -perl-test-fatal -perl-text-bibtex -perl-text-csv -perl-text-glob -perl-text-roman -perl-tie-cycle -perl-timedate -perl-try-tiny -perl-unicode-linebreak -perl-uri -perl-variable-magic -perl-www-robotrules -perl-xml-libxml -perl-xml-libxml-simple -perl-xml-libxslt -perl-xml-namespacesupport -perl-xml-parser -perl-xml-sax -perl-xml-sax-base -perl-xml-writer -phodav -phonon-qt5 -phonon-qt5-vlc -phonon-qt6 -phonon-qt6-vlc -php -picard -pinentry -pipewire -pipewire-alsa -pipewire-audio -pipewire-jack -pipewire-pulse -pipewire-session-manager -pixman -pkgconf -plasma-activities -plasma-systemmonitor -playerctl -plymouth -polkit -polkit-gnome -polkit-kde-agent -polkit-qt5 -polkit-qt6 -polychromatic -poppler -poppler-data -poppler-glib -poppler-qt5 -poppler-qt6 -popt -portaudio -portmaster-stub-bin -potrace -power-profiles-daemon -powertop -prettier -print-manager -prismlauncher -procps-ng -protonup-git -protonup-qt -prrte -psensor -psmisc -ptex -pugixml -purpose -purpose5 -pybind11 -pyright -pyside2 -pyside6 -pystring -python -python-annotated-types -python-anyio -python-appdirs -python-attrs -python-autocommand -python-beautifulsoup4 -python-brotli -python-build -python-cachecontrol -python-cachetools -python-cairo -python-certifi -python-cffi -python-chardet -python-charset-normalizer -python-click -python-colorama -python-colour -python-configobj -python-contourpy -python-coverage -python-cryptography -python-cssselect -python-cycler -python-daemonize -python-dateutil -python-dbus -python-defusedxml -python-discid -python-distlib -python-distro -python-distutils-extra -python-editables -python-evdev -python-fasteners -python-fastjsonschema -python-filelock -python-fonttools -python-gobject -python-greenlet -python-h11 -python-hatch -python-hatchling -python-html2text -python-httpcore -python-httpx -python-hyperlink -python-idna -python-inflect -python-iniconfig -python-inputs -python-installer -python-jaraco.classes -python-jaraco.collections -python-jaraco.context -python-jaraco.functools -python-jaraco.text -python-jeepney -python-jinja -python-keyring -python-kiwisolver -python-lark-parser -python-lockfile -python-lxml -python-mako -python-markdown -python-markdown-it-py -python-markupsafe -python-matplotlib -python-mdurl -python-mock -python-more-itertools -python-msgpack -python-mutagen -python-nose -python-numpy -python-opengl -python-openrazer -python-ordered-set -python-orjson -python-packaging -python-pathspec -python-pbr -python-pexpect -python-pillow -python-pip -python-platformdirs -python-pluggy -python-ply -python-poetry-core -python-psutil -python-ptyprocess -python-pyaml -python-pycparser -python-pycryptodomex -python-pydantic -python-pydantic-core -python-pydbus -python-pygments -python-pyjwt -python-pynvim -python-pyparsing -python-pyproject-hooks -python-pyqt5 -python-pyqt5-sip -python-pyqt5-webengine -python-pyqt6 -python-pyqt6-sip -python-pyqt6-webengine -python-pyserial -python-pytest -python-pytest-cov -python-pyudev -python-pyxattr -python-pyxdg -python-requests -python-rich -python-secretstorage -python-setproctitle -python-setuptools -python-shellingham -python-shiboken2 -python-shtab -python-six -python-sniffio -python-soupsieve -python-steam-solstice -python-termcolor -python-tomli -python-tomli-w -python-tomlkit -python-tqdm -python-trove-classifiers -python-typeguard -python-typing_extensions -python-uc-micro-py -python-ujson -python-urllib3 -python-userpath -python-uv -python-validate-pyproject -python-vdf-solstice -python-virtualenv -python-websockets -python-wheel -python-yaml -python-zstandard -qalculate-qt -qca-qt5 -qca-qt6 -qemu-base -qemu-common -qemu-img -qemu-system-x86 -qemu-system-x86-firmware -qhull -qpdf -qqc2-desktop-style -qqc2-desktop-style5 -qrencode -qt5-base -qt5-charts -qt5-declarative -qt5-doc -qt5-graphicaleffects -qt5-location -qt5-multimedia -qt5-networkauth -qt5-quickcontrols -qt5-quickcontrols2 -qt5-script -qt5-speech -qt5-svg -qt5-tools -qt5-translations -qt5-wayland -qt5-webchannel -qt5-webengine -qt5-websockets -qt5-x11extras -qt5-xmlpatterns -qt5ct -qt6-5compat -qt6-base -qt6-charts -qt6-declarative -qt6-imageformats -qt6-multimedia -qt6-multimedia-ffmpeg -qt6-networkauth -qt6-positioning -qt6-shadertools -qt6-speech -qt6-svg -qt6-tools -qt6-translations -qt6-wayland -qt6-webchannel -qt6-webengine -qt6-websockets -qt6ct -qtkeychain-qt5 -qtkeychain-qt6 -quazip-qt5 -quazip-qt6 -ragel -raptor -rav1e -re2 -readline -reflector -reiserfsprogs -rhash -ripgrep -rnnoise -rocblas -rocm-cmake -rocm-core -rocm-device-libs -rocm-hip-runtime -rocm-language-runtime -rocm-llvm -rocm-opencl-runtime -rocminfo -rocprim -rocprofiler-register -rocsolver -rocsparse -rofi -rofi-power-menu -rsync -rtkit -rtmpdump -rubberband -ruby -ruby-bundled-gems -ruby-bundler -ruby-debug -ruby-default-gems -ruby-erb -ruby-irb -ruby-matrix -ruby-minitest -ruby-net-ftp -ruby-net-imap -ruby-net-pop -ruby-net-smtp -ruby-power_assert -ruby-prime -ruby-racc -ruby-rake -ruby-rbs -ruby-rdoc -ruby-rexml -ruby-rss -ruby-stdlib -ruby-test-unit -ruby-typeprof -rubygems -runc -rustdesk -rustup -samba -sane -sassc -sbc -scdoc -scour -sdbus-cpp -sddm -sdl12-compat -sdl2-compat -sdl3 -seabios -seahorse -seatd -sed -semver -serd -serpl -shaderc -shadow -shairport-sync -shared-mime-info -shfmt -shiboken2 -shiboken6 -shotcut -signon-kwallet-extension -signon-plugin-oauth2 -signon-ui -signond -simple-scan -skanpage -slang -sleuthkit -slurp -smartmontools -smbclient -snappy -sndio -socat -solid -solid5 -sonnet -sonnet5 -sord -sound-theme-freedesktop -soundtouch -source-highlight -spandsp -spdlog -speex -speexdsp -spice-gtk -spice-protocol -spirv-llvm-translator -spirv-tools -sqlite -squashfs-tools -sratom -srt -startup-notification -steam -strace -stripe-cli-bin -stripe-cli-bin-debug -stylua -sudo -suitesparse -supermin -supertuxkart -svt-av1 -svt-hevc -swaybg -syndication -syndication5 -syntax-highlighting -syntax-highlighting5 -sysfsutils -syslinux -systemd -systemd-libs -systemd-sysvcompat -t1lib -taglib -talloc -tar -tcl -tdb -terminator -tesseract -tesseract-data-afr -tesseract-data-osd -tevent -texinfo -texlab -texlive-basic -texlive-bibtexextra -texlive-bin -texlive-binextra -texlive-context -texlive-fontsextra -texlive-fontsrecommended -texlive-fontutils -texlive-formatsextra -texlive-games -texlive-humanities -texlive-langgerman -texlive-latex -texlive-latexextra -texlive-latexrecommended -texlive-luatex -texlive-mathscience -texlive-metapost -texlive-music -texlive-pictures -texlive-plaingeneric -texlive-pstricks -texlive-publishers -texlive-xetex -thin-provisioning-tools -threadweaver -threadweaver5 -thunar -thunderbird -tinysparql -tinyxml -tinyxml2 -tk -tldr -tomlplusplus -tpm2-tss -tree-sitter -tree-sitter-bash -tree-sitter-c -tree-sitter-cli -tree-sitter-lua -tree-sitter-markdown -tree-sitter-python -tree-sitter-query -tree-sitter-vim -tree-sitter-vimdoc -tslib -ttf-comfortaa -ttf-fantasque-nerd -ttf-fluentui-system-icons -ttf-icomoon-feather -ttf-iosevka-nerd -ttf-jetbrains-mono-nerd -ttf-liberation -ttf-nerd-fonts-symbols -ttf-nerd-fonts-symbols-common -turbostat -twolame -typescript -typescript-language-server -tzdata -uchardet -udisks2 -unibilium -unzip -upower -usbmuxd -usbredir -usbutils -usd -uthash -util-linux -util-linux-libs -uv -uxplay -uxplay-debug -v4l-utils -vala -vapoursynth -vde2 -verible-bin -verible-bin-debug -veridian-bin -veridian-bin-debug -vesktop-bin -vi -vid.stab -vim -vim-runtime -virt-install -virt-manager -virt-viewer -virtiofsd -vlc -vmaf -volume_key -vscode-css-languageserver -vscode-html-languageserver -vscodium -vte-common -vte3 -vulkan-headers -vulkan-icd-loader -vulkan-radeon -vulkan-validation-layers -wavpack -waybar -wayland -wayland-protocols -webkitgtk-6.0 -webrtc-audio-processing-1 -wget -which -wildmidi -wine -wireplumber -wl-clipboard -wlogout -wlogout-debug -wlroots -woff2 -wolfssl -wpa_supplicant -wpebackend-fdo -wxwidgets-common -wxwidgets-gtk3 -x264 -x265 -xautomation -xcb-imdkit -xcb-proto -xcb-util -xcb-util-cursor -xcb-util-errors -xcb-util-image -xcb-util-keysyms -xcb-util-renderutil -xcb-util-wm -xcb-util-xrm -xclip -xdg-dbus-proxy -xdg-desktop-portal -xdg-desktop-portal-hyprland -xdg-user-dirs -xdg-utils -xdotool -xf86-input-libinput -xfce4-appfinder -xfce4-notifyd -xfce4-panel -xfce4-power-manager -xfce4-session -xfce4-settings -xfconf -xfdesktop -xfsprogs -xfwm4 -xfwm4-themes -xkeyboard-config -xorg-fonts-encodings -xorg-iceauth -xorg-server -xorg-server-common -xorg-setxkbmap -xorg-xauth -xorg-xcursorgen -xorg-xinit -xorg-xinput -xorg-xkbcomp -xorg-xmodmap -xorg-xprop -xorg-xrandr -xorg-xrdb -xorg-xset -xorg-xwayland -xorgproto -xvidcore -xxhash -xz -y-cruncher -yajl -yaml-cpp -yara -yarn -yay -yazi -yelp-tools -yelp-xsl -yt-dlp -zathura -zbar -zenity -zeromq -zimg -zip -zix -zlib -zlib-ng -zstd -zvbi -zxing-cpp -zziplib diff --git a/pc/mkinitcpio.conf b/pc/mkinitcpio.conf deleted file mode 100644 index 2fd80a4..0000000 --- a/pc/mkinitcpio.conf +++ /dev/null @@ -1,73 +0,0 @@ -# vim:set ft=sh -# MODULES -# The following modules are loaded before any boot hooks are -# run. Advanced users may wish to specify all system modules -# in this array. For instance: -# MODULES=(usbhid xhci_hcd) -MODULES=() - -# BINARIES -# This setting includes any additional binaries a given user may -# wish into the CPIO image. This is run last, so it may be used to -# override the actual binaries included by a given hook -# BINARIES are dependency parsed, so you may safely ignore libraries -BINARIES=() - -# FILES -# This setting is similar to BINARIES above, however, files are added -# as-is and are not parsed in any way. This is useful for config files. -FILES=() - -# HOOKS -# This is the most important setting in this file. The HOOKS control the -# modules and scripts added to the image, and what happens at boot time. -# Order is important, and it is recommended that you do not change the -# order in which HOOKS are added. Run 'mkinitcpio -H ' for -# help on a given hook. -# 'base' is _required_ unless you know precisely what you are doing. -# 'udev' is _required_ in order to automatically load modules -# 'filesystems' is _required_ unless you specify your fs modules in MODULES -# Examples: -## This setup specifies all modules in the MODULES setting above. -## No RAID, lvm2, or encrypted root is needed. -# HOOKS=(base) -# -## This setup will autodetect all modules for your system and should -## work as a sane default -# HOOKS=(base udev autodetect modconf block filesystems fsck) -# -## This setup will generate a 'full' image which supports most systems. -## No autodetection is done. -# HOOKS=(base udev modconf block filesystems fsck) -# -## This setup assembles a mdadm array with an encrypted root file system. -## Note: See 'mkinitcpio -H mdadm_udev' for more information on RAID devices. -# HOOKS=(base udev modconf keyboard keymap consolefont block mdadm_udev encrypt filesystems fsck) -# -## This setup loads an lvm2 volume group. -# HOOKS=(base udev modconf block lvm2 filesystems fsck) -# -## NOTE: If you have /usr on a separate partition, you MUST include the -# usr and fsck hooks. -HOOKS=(base udev autodetect modconf kms keyboard keymap consolefont block filesystems fsck plymouth) - -# COMPRESSION -# Use this to compress the initramfs image. By default, zstd compression -# is used. Use 'cat' to create an uncompressed image. -#COMPRESSION="zstd" -#COMPRESSION="gzip" -#COMPRESSION="bzip2" -#COMPRESSION="lzma" -#COMPRESSION="xz" -#COMPRESSION="lzop" -#COMPRESSION="lz4" - -# COMPRESSION_OPTIONS -# Additional options for the compressor -#COMPRESSION_OPTIONS=() - -# MODULES_DECOMPRESS -# Decompress kernel modules during initramfs creation. -# Enable to speedup boot process, disable to save RAM -# during early userspace. Switch (yes/no). -#MODULES_DECOMPRESS="yes" diff --git a/pc/mnt/mnt-janis.mount b/pc/mnt/mnt-janis.mount deleted file mode 100755 index 46fd799..0000000 --- a/pc/mnt/mnt-janis.mount +++ /dev/null @@ -1,13 +0,0 @@ -[Unit] -Description=Mount Share at boot - -[Mount] -What=//192.168.1.136/janis -Where=/mnt/janis -Options=_netdev,credentials=/etc/samba/credentials/janis,iocharset=utf8,rw,uid=janis,gid=janis -Type=cifs -TimeoutSec=30 -ForceUnmount=true - -[Install] -WantedBy=multi-user.target diff --git a/pc/mnt/mnt-janisShare.mount b/pc/mnt/mnt-janisShare.mount deleted file mode 100755 index 33dd2d4..0000000 --- a/pc/mnt/mnt-janisShare.mount +++ /dev/null @@ -1,13 +0,0 @@ -[Unit] -Description=Mount Share at boot - -[Mount] -What=//192.168.1.136/janis-share -Where=/mnt/janisShare -Options=_netdev,credentials=/etc/samba/credentials/janis,iocharset=utf8,rw,uid=janis,gid=janis -Type=cifs -TimeoutSec=30 -ForceUnmount=true - -[Install] -WantedBy=multi-user.target diff --git a/pc/mnt/mnt-shared.mount b/pc/mnt/mnt-shared.mount deleted file mode 100755 index dda0d05..0000000 --- a/pc/mnt/mnt-shared.mount +++ /dev/null @@ -1,13 +0,0 @@ -[Unit] -Description=Mount Share at boot - -[Mount] -What=//192.168.1.136/shared -Where=/mnt/shared -Options=_netdev,credentials=/etc/samba/credentials/janis,iocharset=utf8,rw,uid=janis,gid=janis -Type=cifs -TimeoutSec=30 -ForceUnmount=true - -[Install] -WantedBy=multi-user.target diff --git a/pc/pacman.conf b/pc/pacman.conf deleted file mode 100644 index 7d7c2fd..0000000 --- a/pc/pacman.conf +++ /dev/null @@ -1,100 +0,0 @@ -# -# /etc/pacman.conf -# -# See the pacman.conf(5) manpage for option and repository directives - -# -# GENERAL OPTIONS -# -[options] -# The following paths are commented out with their default values listed. -# If you wish to use different paths, uncomment and update the paths. -#RootDir = / -#DBPath = /var/lib/pacman/ -#CacheDir = /var/cache/pacman/pkg/ -#LogFile = /var/log/pacman.log -#GPGDir = /etc/pacman.d/gnupg/ -#HookDir = /etc/pacman.d/hooks/ -HoldPkg = pacman glibc -#XferCommand = /usr/bin/curl -L -C - -f -o %o %u -#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u -#CleanMethod = KeepInstalled -Architecture = auto -ILoveCandy -# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup -#IgnorePkg = -#IgnoreGroup = - -#NoUpgrade = -#NoExtract = - -# Misc options -#UseSyslog -Color -#NoProgressBar -CheckSpace -#VerbosePkgLists -ParallelDownloads = 5 - -# By default, pacman accepts packages signed by keys that its local keyring -# trusts (see pacman-key and its man page), as well as unsigned packages. -SigLevel = Required DatabaseOptional -LocalFileSigLevel = Optional -#RemoteFileSigLevel = Required - -# NOTE: You must run `pacman-key --init` before first using pacman; the local -# keyring can then be populated with the keys of all official Arch Linux -# packagers with `pacman-key --populate archlinux`. - -# -# REPOSITORIES -# - can be defined here or included from another file -# - pacman will search repositories in the order defined here -# - local/custom mirrors can be added here or in separate files -# - repositories listed first will take precedence when packages -# have identical names, regardless of version number -# - URLs will have $repo replaced by the name of the current repo -# - URLs will have $arch replaced by the name of the architecture -# -# Repository entries are of the format: -# [repo-name] -# Server = ServerName -# Include = IncludePath -# -# The header [repo-name] is crucial - it must be present and -# uncommented to enable the repo. -# - -# The testing repositories are disabled by default. To enable, uncomment the -# repo name header and Include lines. You can add preferred servers immediately -# after the header, and they will be used before the default mirrors. - -#[testing] -#Include = /etc/pacman.d/mirrorlist - -[core] -Include = /etc/pacman.d/mirrorlist - -[extra] -Include = /etc/pacman.d/mirrorlist - -#[extra-testing] -#Include = /etc/pacman.d/mirrorlist - -# If you want to run 32 bit applications on your x86_64 system, -# enable the multilib repositories as required here. - -#[multilib-testing] -#Include = /etc/pacman.d/mirrorlist - -[multilib] -Include = /etc/pacman.d/mirrorlist - -[arch4edu] -Server = https://de.arch4edu.mirror.kescher.at/$arch - -# An example of a custom package repository. See the pacman manpage for -# tips on creating your own repositories. -#[custom] -#SigLevel = Optional TrustAll -#Server = file:///home/custompkgs diff --git a/pc/vscode-extensions b/pc/vscode-extensions deleted file mode 100644 index e12c0f9..0000000 --- a/pc/vscode-extensions +++ /dev/null @@ -1,48 +0,0 @@ -aaron-bond.better-comments -abusaidm.html-snippets -bmewburn.vscode-intelephense-client -bungcip.better-toml -dbaeumer.vscode-eslint -dlasagno.rasi -donjayamanne.jquerysnippets -ecmel.vscode-html-css -equinusocio.vsc-community-material-theme -equinusocio.vsc-material-theme -equinusocio.vsc-material-theme-icons -eww-yuck.yuck -fivethree.vscode-hugo-snippets -formulahendry.auto-rename-tag -github.github-vscode-theme -gitlab.gitlab-workflow -golang.go -hollowtree.vue-snippets -ionic.ionic -james-yu.latex-workshop -lllllllqw.jsdoc -mads-hartmann.bash-ide-vscode -mathematic.vscode-latex -mathiasfrohlich.kotlin -mechatroner.rainbow-csv -ms-python.debugpy -ms-python.python -ms-vscode.cpptools -nadim-vscode.html-meta-tags-hero -nilssoderman.sitemap-generator -pwabuilder.pwa-studio -quicktype.quicktype -redhat.java -redhat.vscode-xml -rust-lang.rust-analyzer -sbsnippets.pytorch-snippets -spences10.robots-txt -streetsidesoftware.code-spell-checker -streetsidesoftware.code-spell-checker-german -svelte.svelte-vscode -tecosaur.latex-utilities -valentjn.vscode-ltex -vitest.explorer -vscjava.vscode-java-debug -vscjava.vscode-java-test -vue.volar -wayou.vscode-todo-highlight -xdebug.php-debug diff --git a/general/configs/dunst/mcLarenDunst b/scripts/compile.js similarity index 100% rename from general/configs/dunst/mcLarenDunst rename to scripts/compile.js diff --git a/server/background.jpg b/server/background.jpg deleted file mode 100644 index ddd3ef1163e902a8867b86a87c427c6e403de788..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 214408 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 -NSn9S9Bo|X8mcV?2B#?cx&{pXK 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 QNH|$OYWNdB=D+#>1CmLr;Q#;t diff --git a/server/index.html b/server/index.html deleted file mode 100644 index acab0e2..0000000 --- a/server/index.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - πCloud - - - -

-
-
-

πCloud

-

Willkommen!

-
- -
-
- - \ No newline at end of file diff --git a/setup b/setup new file mode 100755 index 0000000..13f4793 --- /dev/null +++ b/setup @@ -0,0 +1,2 @@ +#!/bin/sh + diff --git a/setup.sh b/setup.sh deleted file mode 100755 index 5a92344..0000000 --- a/setup.sh +++ /dev/null @@ -1,14 +0,0 @@ -#! /bin/bash - -# Copy VSCodium settings - -cp -r ./general/configs/VSCodium/* ~/.config/VSCodium/ - -# copy other config files -cp -r ./pc/configs/hypr ~/.config/ -cp -r ./pc/configs/waybar ~/.config/ -cp -r ./general/configs/* ~/.config/ -cp ./pc/configs/rofi/config.rasi ~/.config/rofi/ - -# Copy hyprland general config -cp -r ./general/hyprland ~/.config/hypr/ diff --git a/setupLaptop.sh b/setupLaptop.sh deleted file mode 100755 index 55a9270..0000000 --- a/setupLaptop.sh +++ /dev/null @@ -1,16 +0,0 @@ -#! /bin/bash - -# Copy VSCodium settings - -cp -r ./general/configs/VSCodium/* ~/.config/VSCodium/ - -# copy other config files -cp -r ./laptop/configs/hypr ~/.config/ -cp -r ./laptop/configs/waybar ~/.config/ -cp -r ./general/configs/* ~/.config/ -cp ./laptop/configs/rofi/config.rasi ~/.config/rofi/ - -# Copy hyprland general config -cp -r ./general/hyprland ~/.config/hypr/ - -echo '=> Installed all laptop config files successfully' diff --git a/setupVSCodium.sh b/setupVSCodium.sh deleted file mode 100644 index 1ca8e31..0000000 --- a/setupVSCodium.sh +++ /dev/null @@ -1,6 +0,0 @@ -file="./laptopConfig/vscode-extensions" -while read line; do - vscodium --install-extension "${line}" -done < "${file}" - -echo "==> Done!" \ No newline at end of file