├── hushlogin └── .hushlogin ├── .config ├── sketchybar │ ├── helpers │ │ ├── .gitignore │ │ ├── event_providers │ │ │ ├── makefile │ │ │ ├── ssd_load │ │ │ │ ├── makefile │ │ │ │ ├── ssd_load.c │ │ │ │ └── ssd.h │ │ │ ├── swap_load │ │ │ │ ├── makefile │ │ │ │ ├── swap_load.c │ │ │ │ └── swap.h │ │ │ ├── cpu_load │ │ │ │ ├── makefile │ │ │ │ ├── cpu_load.c │ │ │ │ └── cpu.h │ │ │ └── network_load │ │ │ │ ├── makefile │ │ │ │ └── network_load.c │ │ ├── makefile │ │ ├── menus │ │ │ └── makefile │ │ ├── init.lua │ │ ├── default_font.lua │ │ └── install.sh │ ├── sketchybarrc │ ├── items │ │ ├── init.lua │ │ ├── widgets │ │ │ ├── init.lua │ │ │ ├── messages.lua │ │ │ └── cpu.lua │ │ └── calendar.lua │ ├── bar.lua │ ├── init.lua │ ├── settings.lua │ ├── colors.lua │ ├── default.lua │ └── icons.lua ├── sketchybar_old │ ├── helpers │ │ ├── .gitignore │ │ ├── event_providers │ │ │ ├── makefile │ │ │ ├── ram_load │ │ │ │ ├── makefile │ │ │ │ └── ram_load.c │ │ │ ├── cpu_load │ │ │ │ ├── makefile │ │ │ │ ├── cpu_load.c │ │ │ │ └── cpu.h │ │ │ ├── ssd_load │ │ │ │ ├── makefile │ │ │ │ ├── ssd_load.c │ │ │ │ └── ssd.h │ │ │ ├── swap_load │ │ │ │ ├── makefile │ │ │ │ ├── swap_load.c │ │ │ │ └── swap.h │ │ │ └── network_load │ │ │ │ ├── makefile │ │ │ │ └── network_load.c │ │ ├── makefile │ │ ├── menus │ │ │ └── makefile │ │ ├── init.lua │ │ ├── default_font.lua │ │ └── install.sh │ ├── sketchybar-system-stats │ │ └── target │ │ │ └── release │ │ │ └── stats_provider │ ├── sketchybarrc │ ├── items │ │ ├── init.lua │ │ ├── widgets │ │ │ ├── init.lua │ │ │ └── cpu.lua │ │ ├── apple.lua │ │ ├── messages.lua │ │ ├── calendar.lua │ │ ├── unused │ │ │ ├── apps.lua │ │ │ └── front_app.lua │ │ ├── menus.lua │ │ └── spaces_minimal.lua │ ├── bar.lua │ ├── init.lua │ ├── settings.lua │ ├── colors_catpuccin.lua │ ├── colors.lua │ ├── default.lua │ └── icons.lua ├── sketchybar_testing │ ├── helpers │ │ ├── .gitignore │ │ ├── event_providers │ │ │ ├── makefile │ │ │ ├── ram_load │ │ │ │ ├── makefile │ │ │ │ ├── ram_load.c │ │ │ │ └── ram.h │ │ │ ├── ssd_load │ │ │ │ ├── makefile │ │ │ │ ├── ssd_load.c │ │ │ │ └── ssd.h │ │ │ ├── cpu_load │ │ │ │ ├── makefile │ │ │ │ ├── cpu_load.c │ │ │ │ └── cpu.h │ │ │ ├── swap_load │ │ │ │ ├── makefile │ │ │ │ ├── swap_load.c │ │ │ │ └── swap.h │ │ │ └── network_load │ │ │ │ ├── makefile │ │ │ │ └── network_load.c │ │ ├── makefile │ │ ├── menus │ │ │ └── makefile │ │ ├── init.lua │ │ ├── default_font.lua │ │ └── install.sh │ ├── sketchybarrc │ ├── items │ │ ├── init.lua │ │ ├── widgets │ │ │ ├── init.lua │ │ │ └── cpu.lua │ │ ├── apple.lua │ │ ├── messages.lua │ │ ├── calendar.lua │ │ ├── unused │ │ │ ├── apps.lua │ │ │ └── front_app.lua │ │ ├── front_apps.lua │ │ ├── menus.lua │ │ └── spaces_minimal.lua │ ├── init.lua │ ├── bar.lua │ ├── settings.lua │ ├── colors_catpuccin.lua │ ├── colors.lua │ ├── default.lua │ └── icons.lua ├── fish │ ├── fish_plugins │ ├── functions │ │ ├── fish.fish │ │ ├── _autopair_tab.fish │ │ ├── _autopair_backspace.fish │ │ ├── fish_greeting.fish │ │ ├── _autopair_insert_right.fish │ │ ├── _autopair_insert_left.fish │ │ └── _autopair_insert_same.fish │ ├── aliases.fish │ ├── config.fish │ ├── completions │ │ └── fzf_configure_bindings.fish │ └── conf.d │ │ ├── fzf.fish │ │ └── autopair.fish ├── sketchybar_old_but_fucked_somehow │ └── sketchybar │ │ ├── helpers │ │ ├── .gitignore │ │ ├── event_providers │ │ │ ├── makefile │ │ │ ├── ram_load │ │ │ │ ├── makefile │ │ │ │ ├── ram_load.c │ │ │ │ └── ram.h │ │ │ ├── cpu_load │ │ │ │ ├── makefile │ │ │ │ ├── cpu_load.c │ │ │ │ └── cpu.h │ │ │ ├── ssd_load │ │ │ │ ├── makefile │ │ │ │ ├── ssd_load.c │ │ │ │ └── ssd.h │ │ │ ├── swap_load │ │ │ │ ├── makefile │ │ │ │ ├── swap_load.c │ │ │ │ └── swap.h │ │ │ └── network_load │ │ │ │ ├── makefile │ │ │ │ └── network_load.c │ │ ├── makefile │ │ ├── menus │ │ │ └── makefile │ │ ├── init.lua │ │ ├── default_font.lua │ │ └── install.sh │ │ ├── sketchybarrc │ │ ├── items │ │ ├── init.lua │ │ ├── widgets │ │ │ ├── init.lua │ │ │ └── cpu.lua │ │ ├── apple.lua │ │ ├── messages.lua │ │ ├── calendar.lua │ │ ├── unused │ │ │ ├── apps.lua │ │ │ └── front_app.lua │ │ ├── menus.lua │ │ └── spaces_minimal.lua │ │ ├── init.lua │ │ ├── bar.lua │ │ ├── settings.lua │ │ ├── colors_catpuccin.lua │ │ ├── colors.lua │ │ ├── default.lua │ │ └── icons.lua ├── fastfetch │ ├── images │ │ ├── hypr.png │ │ └── Asuka01.png │ └── ascii │ │ ├── damn.txt │ │ ├── try.txt │ │ ├── devil.txt │ │ ├── ok.txt │ │ ├── tongue.txt │ │ └── hello.txt ├── borders │ └── bordersrc ├── skhd │ └── skhd_with_aerospace.txt ├── ghostty │ ├── themes │ │ └── own_dracula │ └── config ├── yabai │ ├── resize_windows.sh │ └── float_small_windows.sh ├── btop │ ├── btop.log │ └── themes │ │ ├── catppuccin_frappe.theme │ │ ├── catppuccin_mocha.theme │ │ ├── catppuccin_macchiato.theme │ │ ├── catppuccin_latte.theme │ │ └── dracula.theme ├── zed │ └── settings.json ├── wtf │ └── log.txt ├── kitty │ └── dracula.conf └── topgrade │ └── topgrade.toml ├── nano └── .nanorc ├── bash └── .bashrc ├── scripts ├── lunar.sh ├── rcmd.sh ├── query_window_title.sh ├── query_window.sh ├── utils.sh ├── query_messages.sh ├── mem_pressure.sh ├── toggle_borders.sh ├── paddle.sh ├── symlinks_config.conf └── akt_weather.sh ├── screenshots ├── desktop.png ├── desktop2025.png └── desktop2025_v2.png ├── README.md └── zsh ├── .zshrc ├── transient-prompt.zsh ├── custom.zsh └── iterm-tab-colors.zsh /hushlogin/.hushlogin: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.config/sketchybar/helpers/.gitignore: -------------------------------------------------------------------------------- 1 | bin 2 | -------------------------------------------------------------------------------- /.config/sketchybar_old/helpers/.gitignore: -------------------------------------------------------------------------------- 1 | bin 2 | -------------------------------------------------------------------------------- /.config/sketchybar_testing/helpers/.gitignore: -------------------------------------------------------------------------------- 1 | bin 2 | -------------------------------------------------------------------------------- /nano/.nanorc: -------------------------------------------------------------------------------- 1 | include "/opt/homebrew/share/nanorc/*.nanorc" 2 | -------------------------------------------------------------------------------- /.config/fish/fish_plugins: -------------------------------------------------------------------------------- 1 | patrickf1/fzf.fish 2 | jorgebucaran/autopair.fish 3 | -------------------------------------------------------------------------------- /.config/sketchybar_old_but_fucked_somehow/sketchybar/helpers/.gitignore: -------------------------------------------------------------------------------- 1 | bin 2 | -------------------------------------------------------------------------------- /bash/.bashrc: -------------------------------------------------------------------------------- 1 | # Add Homebrew binaries to PATH 2 | export PATH="/opt/homebrew/bin:$PATH" -------------------------------------------------------------------------------- /scripts/lunar.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | /Users/lukas/.local/bin/lunar night-mode toggle 3 | -------------------------------------------------------------------------------- /screenshots/desktop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waytoabv/Dotfiles/HEAD/screenshots/desktop.png -------------------------------------------------------------------------------- /screenshots/desktop2025.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waytoabv/Dotfiles/HEAD/screenshots/desktop2025.png -------------------------------------------------------------------------------- /screenshots/desktop2025_v2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waytoabv/Dotfiles/HEAD/screenshots/desktop2025_v2.png -------------------------------------------------------------------------------- /.config/fastfetch/images/hypr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waytoabv/Dotfiles/HEAD/.config/fastfetch/images/hypr.png -------------------------------------------------------------------------------- /.config/fastfetch/images/Asuka01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waytoabv/Dotfiles/HEAD/.config/fastfetch/images/Asuka01.png -------------------------------------------------------------------------------- /.config/sketchybar/helpers/event_providers/makefile: -------------------------------------------------------------------------------- 1 | all: 2 | (cd cpu_load && $(MAKE)) 3 | (cd network_load && $(MAKE)) 4 | -------------------------------------------------------------------------------- /.config/sketchybar_old/helpers/event_providers/makefile: -------------------------------------------------------------------------------- 1 | all: 2 | (cd cpu_load && $(MAKE)) 3 | (cd network_load && $(MAKE)) 4 | -------------------------------------------------------------------------------- /.config/sketchybar/helpers/makefile: -------------------------------------------------------------------------------- 1 | all: 2 | (cd event_providers && $(MAKE)) >/dev/null 3 | (cd menus && $(MAKE)) >/dev/null 4 | -------------------------------------------------------------------------------- /.config/sketchybar_testing/helpers/event_providers/makefile: -------------------------------------------------------------------------------- 1 | all: 2 | (cd cpu_load && $(MAKE)) 3 | (cd network_load && $(MAKE)) 4 | -------------------------------------------------------------------------------- /.config/sketchybar_old/helpers/makefile: -------------------------------------------------------------------------------- 1 | all: 2 | (cd event_providers && $(MAKE)) >/dev/null 3 | (cd menus && $(MAKE)) >/dev/null 4 | -------------------------------------------------------------------------------- /.config/sketchybar_testing/helpers/makefile: -------------------------------------------------------------------------------- 1 | all: 2 | (cd event_providers && $(MAKE)) >/dev/null 3 | (cd menus && $(MAKE)) >/dev/null 4 | -------------------------------------------------------------------------------- /.config/fish/functions/fish.fish: -------------------------------------------------------------------------------- 1 | # A way to reload the shell à la "zsh" 2 | function fish 3 | source ~/.config/fish/config.fish 4 | end 5 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | just some dots 2 | ![desktop](screenshots/desktop2025_v2.png) 3 | 4 | or use sketchybar_old 5 | ![desktop](screenshots/desktop2025.png) 6 | -------------------------------------------------------------------------------- /.config/sketchybar_old_but_fucked_somehow/sketchybar/helpers/event_providers/makefile: -------------------------------------------------------------------------------- 1 | all: 2 | (cd cpu_load && $(MAKE)) 3 | (cd network_load && $(MAKE)) 4 | -------------------------------------------------------------------------------- /.config/sketchybar_old_but_fucked_somehow/sketchybar/helpers/makefile: -------------------------------------------------------------------------------- 1 | all: 2 | (cd event_providers && $(MAKE)) >/dev/null 3 | (cd menus && $(MAKE)) >/dev/null 4 | -------------------------------------------------------------------------------- /.config/sketchybar/sketchybarrc: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env lua 2 | 3 | -- Load the sketchybar-package and prepare the helper binaries 4 | require("helpers") 5 | require("init") 6 | -------------------------------------------------------------------------------- /.config/sketchybar/helpers/event_providers/ssd_load/makefile: -------------------------------------------------------------------------------- 1 | bin/ssd_load: ssd_load.c ssd.h ../sketchybar.h | bin 2 | clang -std=c99 -O3 $< -o $@ 3 | 4 | bin: 5 | mkdir bin -------------------------------------------------------------------------------- /.config/sketchybar/helpers/event_providers/swap_load/makefile: -------------------------------------------------------------------------------- 1 | bin/swap_load: swap_load.c swap.h ../sketchybar.h | bin 2 | clang -std=c99 -O3 $< -o $@ 3 | 4 | bin: 5 | mkdir bin -------------------------------------------------------------------------------- /.config/sketchybar_old/helpers/event_providers/ram_load/makefile: -------------------------------------------------------------------------------- 1 | bin/ram_load: ram_load.c ram.h ../sketchybar.h | bin 2 | clang -std=c99 -O3 $< -o $@ 3 | 4 | bin: 5 | mkdir bin -------------------------------------------------------------------------------- /.config/sketchybar/helpers/event_providers/cpu_load/makefile: -------------------------------------------------------------------------------- 1 | bin/cpu_load: cpu_load.c cpu.h ../sketchybar.h | bin 2 | clang -std=c99 -O3 $< -o $@ 3 | 4 | bin: 5 | mkdir bin 6 | -------------------------------------------------------------------------------- /.config/sketchybar_old/helpers/event_providers/cpu_load/makefile: -------------------------------------------------------------------------------- 1 | bin/cpu_load: cpu_load.c cpu.h ../sketchybar.h | bin 2 | clang -std=c99 -O3 $< -o $@ 3 | 4 | bin: 5 | mkdir bin 6 | -------------------------------------------------------------------------------- /.config/sketchybar_old/helpers/event_providers/ssd_load/makefile: -------------------------------------------------------------------------------- 1 | bin/ssd_load: ssd_load.c ssd.h ../sketchybar.h | bin 2 | clang -std=c99 -O3 $< -o $@ 3 | 4 | bin: 5 | mkdir bin -------------------------------------------------------------------------------- /.config/sketchybar_old/helpers/event_providers/swap_load/makefile: -------------------------------------------------------------------------------- 1 | bin/swap_load: swap_load.c swap.h ../sketchybar.h | bin 2 | clang -std=c99 -O3 $< -o $@ 3 | 4 | bin: 5 | mkdir bin -------------------------------------------------------------------------------- /.config/sketchybar_testing/helpers/event_providers/ram_load/makefile: -------------------------------------------------------------------------------- 1 | bin/ram_load: ram_load.c ram.h ../sketchybar.h | bin 2 | clang -std=c99 -O3 $< -o $@ 3 | 4 | bin: 5 | mkdir bin -------------------------------------------------------------------------------- /.config/sketchybar_testing/helpers/event_providers/ssd_load/makefile: -------------------------------------------------------------------------------- 1 | bin/ssd_load: ssd_load.c ssd.h ../sketchybar.h | bin 2 | clang -std=c99 -O3 $< -o $@ 3 | 4 | bin: 5 | mkdir bin -------------------------------------------------------------------------------- /.config/sketchybar_testing/helpers/event_providers/cpu_load/makefile: -------------------------------------------------------------------------------- 1 | bin/cpu_load: cpu_load.c cpu.h ../sketchybar.h | bin 2 | clang -std=c99 -O3 $< -o $@ 3 | 4 | bin: 5 | mkdir bin 6 | -------------------------------------------------------------------------------- /.config/sketchybar_testing/helpers/event_providers/swap_load/makefile: -------------------------------------------------------------------------------- 1 | bin/swap_load: swap_load.c swap.h ../sketchybar.h | bin 2 | clang -std=c99 -O3 $< -o $@ 3 | 4 | bin: 5 | mkdir bin -------------------------------------------------------------------------------- /scripts/rcmd.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | while true; do 4 | 5 | pkill -f "rcmd" 6 | 7 | 8 | sleep 1 9 | 10 | 11 | open /Applications/rcmd.app 12 | 13 | 14 | sleep 2700 15 | done -------------------------------------------------------------------------------- /.config/sketchybar/helpers/event_providers/network_load/makefile: -------------------------------------------------------------------------------- 1 | bin/network_load: network_load.c network.h ../sketchybar.h | bin 2 | clang -std=c99 -O3 $< -o $@ 3 | 4 | bin: 5 | mkdir bin 6 | -------------------------------------------------------------------------------- /.config/sketchybar_old/helpers/event_providers/network_load/makefile: -------------------------------------------------------------------------------- 1 | bin/network_load: network_load.c network.h ../sketchybar.h | bin 2 | clang -std=c99 -O3 $< -o $@ 3 | 4 | bin: 5 | mkdir bin 6 | -------------------------------------------------------------------------------- /.config/sketchybar_testing/helpers/event_providers/network_load/makefile: -------------------------------------------------------------------------------- 1 | bin/network_load: network_load.c network.h ../sketchybar.h | bin 2 | clang -std=c99 -O3 $< -o $@ 3 | 4 | bin: 5 | mkdir bin 6 | -------------------------------------------------------------------------------- /.config/sketchybar/helpers/menus/makefile: -------------------------------------------------------------------------------- 1 | bin/menus: menus.c | bin 2 | clang -std=c99 -O3 -F/System/Library/PrivateFrameworks/ -framework Carbon -framework SkyLight $< -o $@ 3 | 4 | bin: 5 | mkdir bin 6 | -------------------------------------------------------------------------------- /.config/sketchybar_old/sketchybar-system-stats/target/release/stats_provider: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waytoabv/Dotfiles/HEAD/.config/sketchybar_old/sketchybar-system-stats/target/release/stats_provider -------------------------------------------------------------------------------- /.config/sketchybar_old_but_fucked_somehow/sketchybar/helpers/event_providers/ram_load/makefile: -------------------------------------------------------------------------------- 1 | bin/ram_load: ram_load.c ram.h ../sketchybar.h | bin 2 | clang -std=c99 -O3 $< -o $@ 3 | 4 | bin: 5 | mkdir bin -------------------------------------------------------------------------------- /.config/sketchybar_old/helpers/menus/makefile: -------------------------------------------------------------------------------- 1 | bin/menus: menus.c | bin 2 | clang -std=c99 -O3 -F/System/Library/PrivateFrameworks/ -framework Carbon -framework SkyLight $< -o $@ 3 | 4 | bin: 5 | mkdir bin 6 | -------------------------------------------------------------------------------- /.config/sketchybar_old/sketchybarrc: -------------------------------------------------------------------------------- 1 | #!/opt/homebrew/bin/lua 2 | 3 | -- Load the sketchybar-package and prepare the helper binaries 4 | require("helpers") 5 | require("init") 6 | 7 | sbar.hotload(true) 8 | 9 | -------------------------------------------------------------------------------- /.config/sketchybar_old_but_fucked_somehow/sketchybar/helpers/event_providers/cpu_load/makefile: -------------------------------------------------------------------------------- 1 | bin/cpu_load: cpu_load.c cpu.h ../sketchybar.h | bin 2 | clang -std=c99 -O3 $< -o $@ 3 | 4 | bin: 5 | mkdir bin 6 | -------------------------------------------------------------------------------- /.config/sketchybar_old_but_fucked_somehow/sketchybar/helpers/event_providers/ssd_load/makefile: -------------------------------------------------------------------------------- 1 | bin/ssd_load: ssd_load.c ssd.h ../sketchybar.h | bin 2 | clang -std=c99 -O3 $< -o $@ 3 | 4 | bin: 5 | mkdir bin -------------------------------------------------------------------------------- /.config/sketchybar_old_but_fucked_somehow/sketchybar/helpers/event_providers/swap_load/makefile: -------------------------------------------------------------------------------- 1 | bin/swap_load: swap_load.c swap.h ../sketchybar.h | bin 2 | clang -std=c99 -O3 $< -o $@ 3 | 4 | bin: 5 | mkdir bin -------------------------------------------------------------------------------- /.config/sketchybar_testing/helpers/menus/makefile: -------------------------------------------------------------------------------- 1 | bin/menus: menus.c | bin 2 | clang -std=c99 -O3 -F/System/Library/PrivateFrameworks/ -framework Carbon -framework SkyLight $< -o $@ 3 | 4 | bin: 5 | mkdir bin 6 | -------------------------------------------------------------------------------- /.config/sketchybar_testing/sketchybarrc: -------------------------------------------------------------------------------- 1 | #!/opt/homebrew/bin/lua 2 | 3 | -- Load the sketchybar-package and prepare the helper binaries 4 | require("helpers") 5 | require("init") 6 | 7 | sbar.hotload(true) 8 | 9 | -------------------------------------------------------------------------------- /.config/sketchybar_old_but_fucked_somehow/sketchybar/helpers/event_providers/network_load/makefile: -------------------------------------------------------------------------------- 1 | bin/network_load: network_load.c network.h ../sketchybar.h | bin 2 | clang -std=c99 -O3 $< -o $@ 3 | 4 | bin: 5 | mkdir bin 6 | -------------------------------------------------------------------------------- /.config/sketchybar/helpers/init.lua: -------------------------------------------------------------------------------- 1 | -- Add the sketchybar module to the package cpath 2 | package.cpath = package.cpath .. ";/Users/" .. os.getenv("USER") .. "/.local/share/sketchybar_lua/?.so" 3 | 4 | os.execute("(cd helpers && make)") 5 | -------------------------------------------------------------------------------- /.config/sketchybar_old_but_fucked_somehow/sketchybar/helpers/menus/makefile: -------------------------------------------------------------------------------- 1 | bin/menus: menus.c | bin 2 | clang -std=c99 -O3 -F/System/Library/PrivateFrameworks/ -framework Carbon -framework SkyLight $< -o $@ 3 | 4 | bin: 5 | mkdir bin 6 | -------------------------------------------------------------------------------- /.config/sketchybar_old_but_fucked_somehow/sketchybar/sketchybarrc: -------------------------------------------------------------------------------- 1 | #!/opt/homebrew/bin/lua 2 | 3 | -- Load the sketchybar-package and prepare the helper binaries 4 | require("helpers") 5 | require("init") 6 | 7 | sbar.hotload(true) 8 | 9 | -------------------------------------------------------------------------------- /.config/sketchybar_old/helpers/init.lua: -------------------------------------------------------------------------------- 1 | -- Add the sketchybar module to the package cpath 2 | package.cpath = package.cpath .. ";/Users/" .. os.getenv("USER") .. "/.local/share/sketchybar_lua/?.so" 3 | 4 | os.execute("(cd helpers && make)") 5 | -------------------------------------------------------------------------------- /.config/sketchybar_old/items/init.lua: -------------------------------------------------------------------------------- 1 | require("items.apple") 2 | require("items.calendar") 3 | require("items.messages") 4 | require("items.widgets") 5 | require("items.spaces_minimal") 6 | require("items.media") 7 | require("items.front_apps") 8 | -------------------------------------------------------------------------------- /.config/sketchybar_testing/helpers/init.lua: -------------------------------------------------------------------------------- 1 | -- Add the sketchybar module to the package cpath 2 | package.cpath = package.cpath .. ";/Users/" .. os.getenv("USER") .. "/.local/share/sketchybar_lua/?.so" 3 | 4 | os.execute("(cd helpers && make)") 5 | -------------------------------------------------------------------------------- /.config/sketchybar_testing/items/init.lua: -------------------------------------------------------------------------------- 1 | require("items.apple") 2 | require("items.calendar") 3 | require("items.messages") 4 | require("items.widgets") 5 | require("items.front_apps") 6 | require("items.spaces_minimal") 7 | require("items.media") 8 | -------------------------------------------------------------------------------- /.config/sketchybar/items/init.lua: -------------------------------------------------------------------------------- 1 | require("items.apple") 2 | require("items.menus") 3 | require("items.spaces") 4 | require("items.yabai_indicator") 5 | require("items.front_app") 6 | require("items.calendar") 7 | require("items.widgets") 8 | require("items.media") 9 | -------------------------------------------------------------------------------- /.config/sketchybar_old_but_fucked_somehow/sketchybar/helpers/init.lua: -------------------------------------------------------------------------------- 1 | -- Add the sketchybar module to the package cpath 2 | package.cpath = package.cpath .. ";/Users/" .. os.getenv("USER") .. "/.local/share/sketchybar_lua/?.so" 3 | 4 | os.execute("(cd helpers && make)") 5 | -------------------------------------------------------------------------------- /.config/sketchybar_old_but_fucked_somehow/sketchybar/items/init.lua: -------------------------------------------------------------------------------- 1 | require("items.apple") 2 | require("items.calendar") 3 | -- require("items.messages") 4 | require("items.widgets") 5 | require("items.spaces_minimal") 6 | require("items.media") 7 | require("items.front_apps") 8 | -------------------------------------------------------------------------------- /.config/sketchybar_old/items/widgets/init.lua: -------------------------------------------------------------------------------- 1 | require("items.widgets.weather") 2 | require("items.widgets.battery") 3 | require("items.widgets.volume") 4 | require("items.widgets.wifi") 5 | require("items.widgets.cpu") 6 | require("items.widgets.ram") 7 | require("items.widgets.ssd") 8 | -------------------------------------------------------------------------------- /.config/sketchybar_testing/items/widgets/init.lua: -------------------------------------------------------------------------------- 1 | require("items.widgets.wifi") 2 | require("items.widgets.cpu") 3 | require("items.widgets.ram") 4 | require("items.widgets.ssd") 5 | require("items.widgets.weather") 6 | require("items.widgets.battery") 7 | require("items.widgets.volume") 8 | -------------------------------------------------------------------------------- /.config/borders/bordersrc: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | options=( 4 | style=round 5 | width=6.0 6 | hidpi=off 7 | active_color="gradient(top_left=0xddc29df1,bottom_right=0xfff5a97f)" 8 | inactive_color=0xc02c2e34 9 | background_color=0x302c2e34 10 | ) 11 | 12 | borders "${options[@]}" 13 | -------------------------------------------------------------------------------- /.config/sketchybar/items/widgets/init.lua: -------------------------------------------------------------------------------- 1 | require("items.widgets.messages") 2 | require("items.widgets.weather") 3 | require("items.widgets.battery") 4 | require("items.widgets.volume") 5 | require("items.widgets.wifi") 6 | require("items.widgets.cpu") 7 | require("items.widgets.ram") 8 | require("items.widgets.ssd") 9 | -------------------------------------------------------------------------------- /.config/sketchybar_old_but_fucked_somehow/sketchybar/items/widgets/init.lua: -------------------------------------------------------------------------------- 1 | require("items.widgets.weather") 2 | require("items.widgets.battery") 3 | require("items.widgets.volume") 4 | require("items.widgets.wifi") 5 | require("items.widgets.cpu") 6 | -- require("items.widgets.ram") 7 | require("items.widgets.ssd") 8 | -------------------------------------------------------------------------------- /.config/fish/functions/_autopair_tab.fish: -------------------------------------------------------------------------------- 1 | function _autopair_tab 2 | commandline --paging-mode && down-or-search && return 3 | 4 | string match --quiet --regex -- '\$[^\s]*"$' (commandline --current-token) && 5 | commandline --function end-of-line --function backward-delete-char 6 | commandline --function complete 7 | end 8 | -------------------------------------------------------------------------------- /.config/sketchybar_old/helpers/default_font.lua: -------------------------------------------------------------------------------- 1 | return { 2 | text = "MonoLisa", -- Used for text 3 | numbers = "MonoLisa", -- Used for numbers 4 | weather = "Hack Nerd Font", 5 | 6 | -- Unified font style map 7 | style_map = { 8 | ["Regular"] = "Regular", 9 | ["Semibold"] = "Semibold", 10 | ["Bold"] = "Bold", 11 | ["Heavy"] = "Heavy", 12 | ["Black"] = "Black", 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /scripts/query_window_title.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Query yabai for window info 4 | yabai_output=$(yabai -m query --windows id,title --window) 5 | 6 | # Check if the output is empty 7 | if [ -z "$yabai_output" ]; then 8 | # Output is empty, print "empty" to indicate no windows 9 | echo "empty" 10 | else 11 | # Output is not empty, print the yabai output 12 | echo "$yabai_output" 13 | fi -------------------------------------------------------------------------------- /.config/sketchybar_testing/helpers/default_font.lua: -------------------------------------------------------------------------------- 1 | return { 2 | text = "MonoLisa", -- Used for text 3 | numbers = "MonoLisa", -- Used for numbers 4 | weather = "Hack Nerd Font", 5 | 6 | -- Unified font style map 7 | style_map = { 8 | ["Regular"] = "Regular", 9 | ["Semibold"] = "Semibold", 10 | ["Bold"] = "Bold", 11 | ["Heavy"] = "Heavy", 12 | ["Black"] = "Black", 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /.config/fish/functions/_autopair_backspace.fish: -------------------------------------------------------------------------------- 1 | function _autopair_backspace 2 | set --local index (commandline --cursor) 3 | set --local buffer (commandline) 4 | 5 | test $index -ge 1 && 6 | contains -- (string sub --start=$index --length=2 -- "$buffer") $autopair_pairs && 7 | commandline --function delete-char 8 | commandline --function backward-delete-char 9 | end 10 | -------------------------------------------------------------------------------- /.config/sketchybar_old/bar.lua: -------------------------------------------------------------------------------- 1 | local colors = require("colors") 2 | 3 | -- Equivalent to the --bar domain 4 | sbar.bar({ 5 | topmost = "window", 6 | height = 36, 7 | color = colors.bar.bg, 8 | padding_right = 2, 9 | padding_left = 2, 10 | margin = 6, 11 | corner_radius = 12, 12 | y_offset = 2, 13 | border_color = colors.transparent, 14 | border_width = 2, 15 | blur_radius = 10, 16 | }) 17 | -------------------------------------------------------------------------------- /scripts/query_window.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Query yabai for window info 4 | yabai_output=$(yabai -m query --windows id,title,app,has-focus --space) 5 | 6 | # Check if the output is empty 7 | if [ -z "$yabai_output" ]; then 8 | # Output is empty, print "empty" to indicate no windows 9 | echo "empty" 10 | else 11 | # Output is not empty, print the yabai output 12 | echo "$yabai_output" 13 | fi 14 | -------------------------------------------------------------------------------- /.config/sketchybar/helpers/default_font.lua: -------------------------------------------------------------------------------- 1 | return { 2 | text = "MonoLisa", -- Used for text 3 | numbers = "MonoLisa", -- Used for numbers 4 | weather = "Hack Nerd Font", 5 | 6 | -- Unified font style map 7 | style_map = { 8 | ["Regular"] = "Regular", 9 | ["Semibold"] = "Semibold", 10 | ["Bold"] = "Bold", 11 | ["Heavy"] = "Heavy", 12 | ["Black"] = "Black", 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /.config/fish/functions/fish_greeting.fish: -------------------------------------------------------------------------------- 1 | function fish_greeting 2 | set random_number (awk 'BEGIN {srand(); print int(rand() * 100)}') 3 | 4 | # 1/100 chance 5 | if test "$random_number" -eq 0 6 | echo " " 7 | pokemon-colorscripts -r -s --no-title 8 | echo "No way, it's shiny!" 9 | else 10 | echo " " 11 | pokemon-colorscripts -r --no-title 12 | end 13 | end 14 | -------------------------------------------------------------------------------- /.config/sketchybar/bar.lua: -------------------------------------------------------------------------------- 1 | local colors = require("colors") 2 | 3 | -- Equivalent to the --bar domain 4 | sbar.bar({ 5 | topmost = "window", 6 | height = 36, 7 | color = colors.bar.bg, 8 | padding_right = -2, 9 | padding_left = -2, 10 | corner_radius = 16, 11 | margin = 10, 12 | y_offset = 4, 13 | font_smoothing = "on", 14 | border_width = 0, 15 | shadow = "on", 16 | sticky = "on" 17 | }) 18 | -------------------------------------------------------------------------------- /.config/fish/functions/_autopair_insert_right.fish: -------------------------------------------------------------------------------- 1 | function _autopair_insert_right --argument-names key 2 | set --local buffer (commandline) 3 | set --local before (commandline --cut-at-cursor) 4 | 5 | switch "$buffer" 6 | case "$before$key"\* 7 | commandline --cursor (math (commandline --cursor) + 1) 8 | case \* 9 | commandline --insert -- $key 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /.config/sketchybar_old_but_fucked_somehow/sketchybar/helpers/default_font.lua: -------------------------------------------------------------------------------- 1 | return { 2 | text = "MonoLisa", -- Used for text 3 | numbers = "MonoLisa", -- Used for numbers 4 | weather = "Hack Nerd Font", 5 | 6 | -- Unified font style map 7 | style_map = { 8 | ["Regular"] = "Regular", 9 | ["Semibold"] = "Semibold", 10 | ["Bold"] = "Bold", 11 | ["Heavy"] = "Heavy", 12 | ["Black"] = "Black", 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /.config/skhd/skhd_with_aerospace.txt: -------------------------------------------------------------------------------- 1 | #lunar shortcuts 2 | #toogle night mode: shift + lalt + ß 3 | hyper - m : "${HOME}"/.config/scripts/lunar.sh 4 | 5 | #aerospace 6 | #move to workspace 7 | ralt + cmd - 1 : aerospace workspace Code 8 | ralt + cmd - 2 : aerospace workspace Media 9 | ralt + cmd - 3 : aerospace workspace Social 10 | ralt + cmd - 4 : aerospace workspace Todo 11 | ralt + cmd - 5 : aerospace workspace Web 12 | lalt + space : aerospace layout floating tiling -------------------------------------------------------------------------------- /.config/sketchybar_old/items/apple.lua: -------------------------------------------------------------------------------- 1 | local colors = require("colors") 2 | local icons = require("icons") 3 | 4 | 5 | local apple = sbar.add("item", { 6 | icon = { 7 | font = { size = 20.0 }, 8 | string = icons.apple, 9 | padding_right = 10, 10 | padding_left = 10, 11 | color = colors.purple, 12 | y_offset = 1, 13 | }, 14 | label = { drawing = false }, 15 | padding_left = 1, 16 | padding_right = 1, 17 | click_script = "$CONFIG_DIR/helpers/menus/bin/menus -s 0" 18 | }) 19 | -------------------------------------------------------------------------------- /zsh/.zshrc: -------------------------------------------------------------------------------- 1 | # zsh Options 2 | setopt HIST_IGNORE_ALL_DUPS 3 | 4 | 5 | # Custom zsh in dot-config/zsh 6 | [ -f "$HOME/.config/zsh/custom.zsh" ] && source "$HOME/.config/zsh/custom.zsh" 7 | [ -f "$HOME/.config/zsh/iterm-tab-colors.zsh" ] && source "$HOME/.config/zsh/iterm-tab-colors.zsh" 8 | [ -f "$HOME/.config/zsh/transient-prompt.zsh" ] && source "$HOME/.config/zsh/transient-prompt.zsh" 9 | 10 | # Added by LM Studio CLI (lms) 11 | export PATH="$PATH:/Users/lukas/.cache/lm-studio/bin" 12 | -------------------------------------------------------------------------------- /.config/fish/functions/_autopair_insert_left.fish: -------------------------------------------------------------------------------- 1 | function _autopair_insert_left --argument-names left right 2 | set --local buffer (commandline) 3 | set --local before (commandline --cut-at-cursor) 4 | 5 | commandline --insert -- $left 6 | 7 | switch "$buffer" 8 | case "$before"{," "\*,$autopair_right\*} 9 | set --local index (commandline --cursor) 10 | commandline --insert -- $right 11 | commandline --cursor $index 12 | end 13 | end 14 | -------------------------------------------------------------------------------- /.config/sketchybar_testing/items/apple.lua: -------------------------------------------------------------------------------- 1 | local colors = require("colors") 2 | local icons = require("icons") 3 | 4 | 5 | local apple = sbar.add("item", { 6 | icon = { 7 | font = { size = 18.0 }, --20.0 8 | string = icons.apple, 9 | padding_right = 10, 10 | padding_left = 10, 11 | color = colors.purple, 12 | y_offset = 1, 13 | }, 14 | label = { drawing = false }, 15 | padding_left = 1, 16 | padding_right = 1, 17 | click_script = "$CONFIG_DIR/helpers/menus/bin/menus -s 0" 18 | }) 19 | -------------------------------------------------------------------------------- /.config/fastfetch/ascii/damn.txt: -------------------------------------------------------------------------------- 1 | ⠀⠀⠀⠀⠀⠀⠀⠀⣠⣴⣶⡋⠉⠙⠒⢤⡀⠀⠀⠀⠀⠀⢠⠖⠉⠉⠙⠢⡄⠀ 2 | ⠀⠀⠀⠀⠀⠀⢀⣼⣟⡒⠒⠀⠀⠀⠀⠀⠙⣆⠀⠀⠀⢠⠃⠀⠀⠀⠀⠀⠹⡄ 3 | ⠀⠀⠀⠀⠀⠀⣼⠷⠖⠀⠀⠀⠀⠀⠀⠀⠀⠘⡆⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⢷ 4 | ⠀⠀⠀⠀⠀⠀⣷⡒⠀⠀⢐⣒⣒⡒⠀⣐⣒⣒⣧⠀⠀⡇⠀ ⢸ 5 | ⠀⠀⠀⠀⠀⢰⣛⣟⣂⠀⠘⠤⠬⠃⠰⠑⠥⠊⣿⠀⢴⠃⠀ 􀣺 ⢸ 6 | ⠀⠀⠀⠀⠀⢸⣿⡿⠤⠀⠀⠀⠀⠀⢀⡆⠀⠀⣿⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⣸ 7 | ⠀⠀⠀⠀⠀⠈⠿⣯⡭⠀⠀⠀⠀⢀⣀⠀⠀⠀⡟⠀⠀⢸⠀⠀⠀⠀⠀⠀⢠⠏ 8 | ⠀⠀⠀⠀⠀⠀⠀⠈⢯⡥⠄⠀⠀⠀⠀⠀⠀⡼⠁⠀⠀⠀⠳⢄⣀⣀⣀⡴⠃⠀ 9 | ⠀⠀⠀⠀⠀⠀⠀⠀⠀⢱⡦⣄⣀⣀⣀⣠⠞⠁⠀⠀⠀⠀⠀⠀⠈⠉⠀⠀⠀⠀ 10 | ⠀⠀⠀⠀⠀⠀⠀⢀⣤⣾⠛⠃⠀⠀⠀⢹⠳⡶⣤⡤⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀ 11 | ⠀⠀⠀⠀⣠⢴⣿⣿⣿⡟⡷⢄⣀⣀⣀⡼⠳⡹⣿⣷⠞⣳⠀⠀⠀⠀⠀⠀⠀⠀ 12 | ⠀⠀⠀⢰⡯⠭⠹⡟⠿⠧⠷⣄⣀⣟⠛⣦⠔⠋⠛⠛⠋⠙⡆⠀⠀⠀⠀⠀⠀⠀ 13 | ⠀⠀⢸⣿⠭⠉⠀⢠⣤⠀⠀⠀⠘⡷⣵⢻⠀⠀⠀⠀⣼⠀⣇⠀⠀⠀⠀⠀⠀⠀ 14 | ⠀⠀⡇⣿⠍⠁⠀⢸⣗⠂⠀⠀⠀⣧⣿⣼⠀⠀⠀⠀⣯⠀⢸⠀⠀⠀⠀⠀⠀⠀ 15 | -------------------------------------------------------------------------------- /.config/sketchybar_old_but_fucked_somehow/sketchybar/items/apple.lua: -------------------------------------------------------------------------------- 1 | local colors = require("colors") 2 | local icons = require("icons") 3 | 4 | 5 | local apple = sbar.add("item", { 6 | icon = { 7 | font = { size = 18.0 }, --20.0 8 | string = icons.apple, 9 | padding_right = 10, 10 | padding_left = 10, 11 | color = colors.purple, 12 | y_offset = 1, 13 | }, 14 | label = { drawing = false }, 15 | padding_left = 1, 16 | padding_right = 1, 17 | click_script = "$CONFIG_DIR/helpers/menus/bin/menus -s 0" 18 | }) 19 | -------------------------------------------------------------------------------- /scripts/utils.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | default_color=$(tput sgr 0) 4 | red="$(tput setaf 1)" 5 | yellow="$(tput setaf 3)" 6 | green="$(tput setaf 2)" 7 | blue="$(tput setaf 4)" 8 | 9 | info() { 10 | printf "%s==> %s%s\n" "$blue" "$1" "$default_color" 11 | } 12 | 13 | success() { 14 | printf "%s==> %s%s\n" "$green" "$1" "$default_color" 15 | } 16 | 17 | error() { 18 | printf "%s==> %s%s\n" "$red" "$1" "$default_color" 19 | } 20 | 21 | warning() { 22 | printf "%s==> %s%s\n" "$yellow" "$1" "$default_color" 23 | } 24 | -------------------------------------------------------------------------------- /.config/sketchybar/init.lua: -------------------------------------------------------------------------------- 1 | -- Require the sketchybar module 2 | sbar = require("sketchybar") 3 | 4 | -- Set the bar name, if you are using another bar instance than sketchybar 5 | -- sbar.set_bar_name("bottom_bar") 6 | 7 | -- Bundle the entire initial configuration into a single message to sketchybar 8 | sbar.begin_config() 9 | require("bar") 10 | require("default") 11 | require("items") 12 | sbar.end_config() 13 | 14 | -- Run the event loop of the sketchybar module (without this there will be no 15 | -- callback functions executed in the lua module) 16 | sbar.event_loop() 17 | -------------------------------------------------------------------------------- /.config/sketchybar_old/init.lua: -------------------------------------------------------------------------------- 1 | -- Require the sketchybar module 2 | sbar = require("sketchybar") 3 | 4 | 5 | -- Set the bar name, if you are using another bar instance than sketchybar 6 | -- sbar.set_bar_name("bottom_bar") 7 | 8 | -- Bundle the entire initial configuration into a single message to sketchybar 9 | sbar.begin_config() 10 | require("bar") 11 | require("default") 12 | require("items") 13 | sbar.end_config() 14 | 15 | 16 | 17 | -- Run the event loop of the sketchybar module (without this there will be no 18 | -- callback functions executed in the lua module) 19 | sbar.event_loop() -------------------------------------------------------------------------------- /.config/ghostty/themes/own_dracula: -------------------------------------------------------------------------------- 1 | foreground = "#f8f8f2" 2 | background = "#22212C" 3 | cursor-color = "#f8f8f2" 4 | 5 | selection-background = "#7970A9" 6 | selection-foreground = "#ffffff" 7 | 8 | palette = 0=#22212C 9 | palette = 1=#FFA680 10 | palette = 2=#8AFF80 11 | palette = 3=#FFFF80 12 | palette = 4=#9580FF 13 | palette = 5=#FF80BF 14 | palette = 6=#80FFEA 15 | palette = 7=#f8f8f2 16 | palette = 8=#454158 17 | palette = 9=#FFCA80 18 | palette = 10=#80FFEA 19 | palette = 11=#FFFFA5 20 | palette = 12=#D6ACFF 21 | palette = 13=#FF92DF 22 | palette = 14=#A4FFFF 23 | palette = 15=#ffffff 24 | -------------------------------------------------------------------------------- /.config/yabai/resize_windows.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | WINDOW_RESIZE_AMOUNT=100 4 | WINDOW=$(yabai -m query --windows --window) 5 | SPLIT_TYPE=$(echo $WINDOW | jq -r '."split-type"') 6 | 7 | resize() { 8 | if [[ $SPLIT_TYPE == "vertical" ]]; then 9 | echo "right:$1$WINDOW_RESIZE_AMOUNT:0" 10 | else 11 | echo "bottom:0:$1$WINDOW_RESIZE_AMOUNT" 12 | fi 13 | } 14 | 15 | if [[ $1 = "decrease" ]]; then 16 | yabai -m window --resize $(resize "-") 17 | elif [[ $1 = "increase" ]]; then 18 | yabai -m window --resize $(resize "") 19 | else 20 | echo "Invalid flag entered." 21 | fi 22 | -------------------------------------------------------------------------------- /.config/sketchybar_testing/init.lua: -------------------------------------------------------------------------------- 1 | -- Require the sketchybar module 2 | sbar = require("sketchybar") 3 | 4 | 5 | -- Set the bar name, if you are using another bar instance than sketchybar 6 | -- sbar.set_bar_name("bottom_bar") 7 | 8 | -- Bundle the entire initial configuration into a single message to sketchybar 9 | sbar.begin_config() 10 | require("bar") 11 | require("default") 12 | require("items") 13 | sbar.end_config() 14 | 15 | sbar.hotload(true) 16 | 17 | 18 | -- Run the event loop of the sketchybar module (without this there will be no 19 | -- callback functions executed in the lua module) 20 | sbar.event_loop() -------------------------------------------------------------------------------- /.config/sketchybar_old_but_fucked_somehow/sketchybar/init.lua: -------------------------------------------------------------------------------- 1 | -- Require the sketchybar module 2 | sbar = require("sketchybar") 3 | 4 | 5 | -- Set the bar name, if you are using another bar instance than sketchybar 6 | -- sbar.set_bar_name("bottom_bar") 7 | 8 | -- Bundle the entire initial configuration into a single message to sketchybar 9 | sbar.begin_config() 10 | require("bar") 11 | require("default") 12 | require("items") 13 | sbar.end_config() 14 | 15 | sbar.hotload(true) 16 | 17 | 18 | -- Run the event loop of the sketchybar module (without this there will be no 19 | -- callback functions executed in the lua module) 20 | sbar.event_loop() -------------------------------------------------------------------------------- /.config/btop/btop.log: -------------------------------------------------------------------------------- 1 | 2 | 2023/12/11 (22:45:07) | ===> btop++ v.1.2.13 3 | 2023/12/11 (22:45:07) | ERROR: Stall in Runner thread, restarting! 4 | 5 | 2023/12/27 (00:09:09) | ===> btop++ v.1.2.13 6 | 2023/12/27 (00:09:09) | ERROR: Stall in Runner thread, restarting! 7 | 8 | 2024/01/07 (17:14:00) | ===> btop++ v.1.2.13 9 | 2024/01/07 (17:14:00) | ERROR: Stall in Runner thread, restarting! 10 | 11 | 2024/01/08 (01:28:05) | ===> btop++ v.1.2.13 12 | 2024/01/08 (01:28:05) | ERROR: Stall in Runner thread, restarting! 13 | 14 | 2024/03/21 (14:20:21) | ===> btop++ v.1.3.2 15 | 2024/03/21 (14:20:21) | ERROR: Exception during Config::unlock() : unordered_map::at 16 | -------------------------------------------------------------------------------- /.config/sketchybar/helpers/install.sh: -------------------------------------------------------------------------------- 1 | # Packages 2 | brew install lua 3 | brew install switchaudio-osx 4 | brew install nowplaying-cli 5 | 6 | brew tap FelixKratz/formulae 7 | brew install sketchybar 8 | 9 | # Fonts 10 | brew install --cask sf-symbols 11 | brew install --cask homebrew/cask-fonts/font-sf-mono 12 | brew install --cask homebrew/cask-fonts/font-sf-pro 13 | 14 | curl -L https://github.com/kvndrsslr/sketchybar-app-font/releases/download/v2.0.5/sketchybar-app-font.ttf -o $HOME/Library/Fonts/sketchybar-app-font.ttf 15 | 16 | # SbarLua 17 | (git clone https://github.com/FelixKratz/SbarLua.git /tmp/SbarLua && cd /tmp/SbarLua/ && make install && rm -rf /tmp/SbarLua/) 18 | -------------------------------------------------------------------------------- /.config/sketchybar_old/helpers/install.sh: -------------------------------------------------------------------------------- 1 | # Packages 2 | brew install lua 3 | brew install switchaudio-osx 4 | brew install nowplaying-cli 5 | 6 | brew tap FelixKratz/formulae 7 | brew install sketchybar 8 | 9 | # Fonts 10 | brew install --cask sf-symbols 11 | brew install --cask homebrew/cask-fonts/font-sf-mono 12 | brew install --cask homebrew/cask-fonts/font-sf-pro 13 | 14 | curl -L https://github.com/kvndrsslr/sketchybar-app-font/releases/download/v2.0.5/sketchybar-app-font.ttf -o $HOME/Library/Fonts/sketchybar-app-font.ttf 15 | 16 | # SbarLua 17 | (git clone https://github.com/FelixKratz/SbarLua.git /tmp/SbarLua && cd /tmp/SbarLua/ && make install && rm -rf /tmp/SbarLua/) 18 | -------------------------------------------------------------------------------- /.config/sketchybar_testing/helpers/install.sh: -------------------------------------------------------------------------------- 1 | # Packages 2 | brew install lua 3 | brew install switchaudio-osx 4 | brew install nowplaying-cli 5 | 6 | brew tap FelixKratz/formulae 7 | brew install sketchybar 8 | 9 | # Fonts 10 | brew install --cask sf-symbols 11 | brew install --cask homebrew/cask-fonts/font-sf-mono 12 | brew install --cask homebrew/cask-fonts/font-sf-pro 13 | 14 | curl -L https://github.com/kvndrsslr/sketchybar-app-font/releases/download/v2.0.5/sketchybar-app-font.ttf -o $HOME/Library/Fonts/sketchybar-app-font.ttf 15 | 16 | # SbarLua 17 | (git clone https://github.com/FelixKratz/SbarLua.git /tmp/SbarLua && cd /tmp/SbarLua/ && make install && rm -rf /tmp/SbarLua/) 18 | -------------------------------------------------------------------------------- /.config/sketchybar_old_but_fucked_somehow/sketchybar/helpers/install.sh: -------------------------------------------------------------------------------- 1 | # Packages 2 | brew install lua 3 | brew install switchaudio-osx 4 | brew install nowplaying-cli 5 | 6 | brew tap FelixKratz/formulae 7 | brew install sketchybar 8 | 9 | # Fonts 10 | brew install --cask sf-symbols 11 | brew install --cask homebrew/cask-fonts/font-sf-mono 12 | brew install --cask homebrew/cask-fonts/font-sf-pro 13 | 14 | curl -L https://github.com/kvndrsslr/sketchybar-app-font/releases/download/v2.0.5/sketchybar-app-font.ttf -o $HOME/Library/Fonts/sketchybar-app-font.ttf 15 | 16 | # SbarLua 17 | (git clone https://github.com/FelixKratz/SbarLua.git /tmp/SbarLua && cd /tmp/SbarLua/ && make install && rm -rf /tmp/SbarLua/) 18 | -------------------------------------------------------------------------------- /.config/sketchybar_testing/bar.lua: -------------------------------------------------------------------------------- 1 | local colors = require("colors") 2 | 3 | -- Equivalent to the --bar domain 4 | sbar.bar({ 5 | topmost = "window", 6 | height = 26, 7 | color = colors.bar.bg, 8 | padding_right = 0, 9 | padding_left = 0, 10 | margin = 0, 11 | corner_radius = 0, 12 | y_offset = 0, 13 | border_color = colors.transparent, 14 | border_width = 0, 15 | blur_radius = 10, 16 | }) 17 | 18 | -- sbar.bar({ 19 | -- topmost = "window", 20 | -- height = 36, 21 | -- color = colors.bar.bg, 22 | -- padding_right = 2, 23 | -- padding_left = 2, 24 | -- margin = 6, 25 | -- corner_radius = 12, 26 | -- y_offset = 2, 27 | -- border_color = colors.transparent, 28 | -- border_width = 2, 29 | -- blur_radius = 10, 30 | -- }) 31 | -------------------------------------------------------------------------------- /zsh/transient-prompt.zsh: -------------------------------------------------------------------------------- 1 | # transient-prompt.zsh 2 | zle-line-init() { 3 | emulate -L zsh 4 | 5 | [[ $CONTEXT == start ]] || return 0 6 | 7 | while true; do 8 | zle .recursive-edit 9 | local -i ret=$? 10 | [[ $ret == 0 && $KEYS == $'\4' ]] || break 11 | [[ -o ignore_eof ]] || exit 0 12 | done 13 | 14 | local saved_prompt=$PROMPT 15 | local saved_rprompt=$RPROMPT 16 | 17 | # Set prompt value from character module 18 | PROMPT=$(starship module character) 19 | RPROMPT='' 20 | zle .reset-prompt 21 | PROMPT=$saved_prompt 22 | RPROMPT=$saved_rprompt 23 | 24 | if (( ret )); then 25 | zle .send-break 26 | else 27 | zle .accept-line 28 | fi 29 | return ret 30 | } 31 | 32 | zle -N zle-line-init 33 | -------------------------------------------------------------------------------- /.config/sketchybar/settings.lua: -------------------------------------------------------------------------------- 1 | return { 2 | paddings = 3, 3 | group_paddings = 3, 4 | 5 | icons = "sf-symbols", -- alternatively available: NerdFont 6 | 7 | -- This is a font configuration for SF Pro and SF Mono (installed manually) 8 | font = require("helpers.default_font"), 9 | 10 | -- Alternatively, this is a font config for JetBrainsMono Nerd Font 11 | -- font = { 12 | -- text = "JetBrainsMono Nerd Font", -- Used for text 13 | -- numbers = "JetBrainsMono Nerd Font", -- Used for numbers 14 | -- style_map = { 15 | -- ["Regular"] = "Regular", 16 | -- ["Semibold"] = "Medium", 17 | -- ["Bold"] = "SemiBold", 18 | -- ["Heavy"] = "Bold", 19 | -- ["Black"] = "ExtraBold", 20 | -- }, 21 | -- }, 22 | } 23 | -------------------------------------------------------------------------------- /.config/sketchybar_old/settings.lua: -------------------------------------------------------------------------------- 1 | return { 2 | paddings = 3, 3 | group_paddings = 5, 4 | 5 | icons = "sf-symbols", -- alternatively available: NerdFont 6 | 7 | -- This is a font configuration for SF Pro and SF Mono (installed manually) 8 | font = require("helpers.default_font"), 9 | 10 | -- Alternatively, this is a font config for JetBrainsMono Nerd Font 11 | -- font = { 12 | -- text = "JetBrainsMono Nerd Font", -- Used for text 13 | -- numbers = "JetBrainsMono Nerd Font", -- Used for numbers 14 | -- style_map = { 15 | -- ["Regular"] = "Regular", 16 | -- ["Semibold"] = "Medium", 17 | -- ["Bold"] = "SemiBold", 18 | -- ["Heavy"] = "Bold", 19 | -- ["Black"] = "ExtraBold", 20 | -- }, 21 | -- }, 22 | } 23 | -------------------------------------------------------------------------------- /.config/sketchybar_old_but_fucked_somehow/sketchybar/bar.lua: -------------------------------------------------------------------------------- 1 | local colors = require("colors") 2 | 3 | -- Equivalent to the --bar domain 4 | sbar.bar({ 5 | topmost = "window", 6 | height = 26, 7 | color = colors.bar.bg, 8 | padding_right = 0, 9 | padding_left = 0, 10 | margin = 0, 11 | corner_radius = 0, 12 | y_offset = 0, 13 | border_color = colors.transparent, 14 | border_width = 0, 15 | blur_radius = 10, 16 | }) 17 | 18 | -- sbar.bar({ 19 | -- topmost = "window", 20 | -- height = 36, 21 | -- color = colors.bar.bg, 22 | -- padding_right = 2, 23 | -- padding_left = 2, 24 | -- margin = 6, 25 | -- corner_radius = 12, 26 | -- y_offset = 2, 27 | -- border_color = colors.transparent, 28 | -- border_width = 2, 29 | -- blur_radius = 10, 30 | -- }) 31 | -------------------------------------------------------------------------------- /.config/sketchybar_testing/settings.lua: -------------------------------------------------------------------------------- 1 | return { 2 | paddings = 3, 3 | group_paddings = 5, 4 | 5 | icons = "sf-symbols", -- alternatively available: NerdFont 6 | 7 | -- This is a font configuration for SF Pro and SF Mono (installed manually) 8 | font = require("helpers.default_font"), 9 | 10 | -- Alternatively, this is a font config for JetBrainsMono Nerd Font 11 | -- font = { 12 | -- text = "JetBrainsMono Nerd Font", -- Used for text 13 | -- numbers = "JetBrainsMono Nerd Font", -- Used for numbers 14 | -- style_map = { 15 | -- ["Regular"] = "Regular", 16 | -- ["Semibold"] = "Medium", 17 | -- ["Bold"] = "SemiBold", 18 | -- ["Heavy"] = "Bold", 19 | -- ["Black"] = "ExtraBold", 20 | -- }, 21 | -- }, 22 | } 23 | -------------------------------------------------------------------------------- /.config/sketchybar_old_but_fucked_somehow/sketchybar/settings.lua: -------------------------------------------------------------------------------- 1 | return { 2 | paddings = 3, 3 | group_paddings = 5, 4 | 5 | icons = "sf-symbols", -- alternatively available: NerdFont 6 | 7 | -- This is a font configuration for SF Pro and SF Mono (installed manually) 8 | font = require("helpers.default_font"), 9 | 10 | -- Alternatively, this is a font config for JetBrainsMono Nerd Font 11 | -- font = { 12 | -- text = "JetBrainsMono Nerd Font", -- Used for text 13 | -- numbers = "JetBrainsMono Nerd Font", -- Used for numbers 14 | -- style_map = { 15 | -- ["Regular"] = "Regular", 16 | -- ["Semibold"] = "Medium", 17 | -- ["Bold"] = "SemiBold", 18 | -- ["Heavy"] = "Bold", 19 | -- ["Black"] = "ExtraBold", 20 | -- }, 21 | -- }, 22 | } 23 | -------------------------------------------------------------------------------- /scripts/query_messages.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # There can be only one 4 | SCRIPT_NAME=$(basename "$0") 5 | CURRENT_PID=$$ 6 | pgrep -f "$SCRIPT_NAME" | grep -v "$CURRENT_PID" | xargs -r kill 7 | 8 | green="0xff8aff80" 9 | 10 | INTERVAL=5 11 | 12 | while true; do 13 | unread=$(sqlite3 "$HOME/Library/Messages/chat.db" \ 14 | "SELECT COUNT(guid) FROM message WHERE NOT(is_read) AND NOT(is_from_me) AND text !=''") 15 | 16 | if [[ "$unread" =~ ^[0-9]+$ && "$unread" -gt 0 ]]; then 17 | sketchybar --set widgets.messages \ 18 | label.drawing=on \ 19 | label="$unread" \ 20 | icon.drawing=on \ 21 | icon.color=$green \ 22 | background.drawing=on 23 | else 24 | sketchybar --set widgets.messages \ 25 | label.drawing=off \ 26 | icon.drawing=off \ 27 | background.drawing=off 28 | fi 29 | 30 | sleep $INTERVAL 31 | done 32 | -------------------------------------------------------------------------------- /scripts/mem_pressure.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SCRIPT_NAME=$(basename "$0") 4 | CURRENT_PID=$$ 5 | pgrep -f "$SCRIPT_NAME" | grep -v "$CURRENT_PID" | xargs -r kill 6 | 7 | COLOR_DIRTY_WHITE=0xc8cad3f5 8 | COLOR_YELLOW=0xffFFFF80 9 | COLOR_ORANGE=0xffFFCA80 10 | COLOR_RED=0xffFF9580 11 | 12 | INTERVAL=2 13 | 14 | while true; do 15 | PCT=$(memory_pressure | grep "System-wide memory free percentage" \ 16 | | sed -E 's/.*: *([0-9]+)%/\1/') 17 | USED=$((100 - PCT)) 18 | 19 | COLOR=$COLOR_DIRTY_WHITE 20 | if [ "$USED" -ge 75 ]; then COLOR=$COLOR_RED 21 | elif [ "$USED" -ge 60 ]; then COLOR=$COLOR_ORANGE 22 | elif [ "$USED" -ge 50 ]; then COLOR=$COLOR_YELLOW 23 | fi 24 | 25 | sketchybar --set widgets.ram1 \ 26 | label="${USED} %" \ 27 | label.color=$COLOR \ 28 | icon.color=$COLOR 29 | 30 | sleep $INTERVAL 31 | done 32 | -------------------------------------------------------------------------------- /.config/sketchybar/colors.lua: -------------------------------------------------------------------------------- 1 | return { 2 | black = 0xff181819, 3 | white = 0xfff8f8f2, 4 | red = 0xffFF9580, 5 | green = 0xff8AFF80, 6 | blue = 0xff5199ba, 7 | yellow = 0xffFFFF80, 8 | orange = 0xffFFCA80, 9 | pink = 0xffFF80BF, 10 | purple = 0xff9580FF, 11 | other_purple = 0xff302c45, 12 | cyan = 0xff80FFEA, 13 | grey = 0xff7f8490, 14 | dirty_white = 0xc8cad3f5, 15 | dark_grey = 0xff2b2736, 16 | transparent = 0x00000000, 17 | 18 | bar = { 19 | bg = 0xff11111b, 20 | border = 0xff2c2e34, 21 | }, 22 | popup = { 23 | bg = 0xc02c2e34, 24 | border = 0xff74c7ec 25 | }, 26 | bg1 = 0x603c3e4f, 27 | bg2 = 0x60494d64, 28 | 29 | with_alpha = function(color, alpha) 30 | if alpha > 1.0 or alpha < 0.0 then return color end 31 | return (color & 0x00ffffff) | (math.floor(alpha * 255.0) << 24) 32 | end, 33 | } 34 | -------------------------------------------------------------------------------- /.config/sketchybar/items/widgets/messages.lua: -------------------------------------------------------------------------------- 1 | local icons = require("icons") 2 | local colors = require("colors") 3 | local settings = require("settings") 4 | 5 | local messages = sbar.add("item", "widgets.messages", { 6 | position = "right", 7 | icon = { 8 | font = { 9 | style = settings.font.style_map["Regular"], 10 | size = 13.0, 11 | }, 12 | string = icons.messages, 13 | padding_left = 8, 14 | }, 15 | label = { 16 | font = { 17 | family = settings.font.numbers 18 | }, 19 | padding_right = 8, 20 | }, 21 | background = { 22 | color = colors.bg1, 23 | }, 24 | update_freq = 1, 25 | }) 26 | 27 | --script needed for better functionality 28 | messages:subscribe("routine", "forced", function(env) 29 | sbar.exec("$HOME/.scripts/query_messages.sh") 30 | end) 31 | 32 | messages:subscribe("mouse.clicked", function(env) 33 | sbar.exec("open -a 'Messages'") 34 | end) 35 | -------------------------------------------------------------------------------- /.config/fish/functions/_autopair_insert_same.fish: -------------------------------------------------------------------------------- 1 | function _autopair_insert_same --argument-names key 2 | set --local buffer (commandline) 3 | set --local index (commandline --cursor) 4 | set --local next (string sub --start=(math $index + 1) --length=1 -- "$buffer") 5 | 6 | if test (math (count (string match --all --regex -- "$key" "$buffer")) % 2) = 0 7 | test $key = $next && commandline --cursor (math $index + 1) && return 8 | 9 | commandline --insert -- $key 10 | 11 | if test $index -lt 1 || 12 | contains -- (string sub --start=$index --length=1 -- "$buffer") "" " " $autopair_left && 13 | contains -- $next "" " " $autopair_right 14 | commandline --insert -- $key 15 | commandline --cursor (math $index + 1) 16 | end 17 | else 18 | commandline --insert -- $key 19 | end 20 | end 21 | -------------------------------------------------------------------------------- /scripts/toggle_borders.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Path for temporary files 4 | TMP_DIR="$HOME/.tmp" 5 | STATE_FILE="$TMP_DIR/yabai_toggle_state" 6 | 7 | # Ensure the .tmp folder exists 8 | if [[ ! -d "$TMP_DIR" ]]; then 9 | mkdir -p "$TMP_DIR" 10 | fi 11 | 12 | # Initialize state file with default value if it doesn't exist 13 | if [[ ! -f "$STATE_FILE" ]]; then 14 | echo "off" > "$STATE_FILE" 15 | fi 16 | 17 | # Read the current state from the state file 18 | STATE=$(cat "$STATE_FILE") 19 | 20 | # Toggle logic based on the current state 21 | if [[ "$STATE" == "off" ]]; then 22 | # Enable borders 23 | borders style=round width=6.0 hidpi=off active_color="gradient(top_left=0xddc29df1,bottom_right=0xfff5a97f)" inactive_color=0xc02c2e34 background_color=0x302c2e34 24 | echo "on" > "$STATE_FILE" 25 | else 26 | # Disable borders 27 | borders width=0.0 28 | echo "off" > "$STATE_FILE" 29 | fi 30 | -------------------------------------------------------------------------------- /.config/sketchybar_old/colors_catpuccin.lua: -------------------------------------------------------------------------------- 1 | return { 2 | black = 0xff181819, 3 | white = 0xffe2e2e3, 4 | red = 0xffed8796, 5 | green = 0xffa6da95, 6 | blue = 0xff8aadf4, 7 | yellow = 0xffeed49f, 8 | orange = 0xfff5a97f, 9 | magenta = 0xffc6a0f6, 10 | purple = 0xffc29df1, 11 | grey = 0xff7f8490, 12 | dirty_white = 0xc8cad3f5, 13 | lightblack = 0x8a262323, 14 | transparent = 0x00000000, 15 | try = 0xff100f19, 16 | try2 = 0xff1b1e28, 17 | try3 = 0xff262531, 18 | try_border = 0xff58618e, 19 | try4 = 0xff1e1e1e, 20 | 21 | bar = { 22 | bg = 0xf10a0913, 23 | border = 0xff2c2e34, 24 | }, 25 | popup = { 26 | bg = 0xc02c2e34, 27 | border = 0xffc29df1 28 | }, 29 | bg1 = 0xd31e1d29, 30 | bg2 = 0xff131122, --0x88211f21 31 | 32 | with_alpha = function(color, alpha) 33 | if alpha > 1.0 or alpha < 0.0 then return color end 34 | return (color & 0x00ffffff) | (math.floor(alpha * 255.0) << 24) 35 | end, 36 | } 37 | -------------------------------------------------------------------------------- /.config/zed/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "assistant": { 3 | "default_model": { 4 | "provider": "openai", 5 | "model": "gpt-4o-mini" 6 | }, 7 | "version": "2" 8 | }, 9 | "features": { 10 | "inline_completion_provider": "none" 11 | }, 12 | "scrollbar": { 13 | "show": "auto", 14 | "cursors": true, 15 | "git_diff": true, 16 | "search_results": true, 17 | "selected_symbol": true, 18 | "diagnostics": true 19 | }, 20 | "theme": "Dracula Pro", 21 | "hard_tabs": true, 22 | "ui_font_family": "MonoLisa", 23 | "buffer_font_family": "MonoLisa", 24 | "buffer_font_features": { 25 | "zero": true, 26 | "ss02": true, 27 | "ss03": true, 28 | "ss08": true, 29 | "ss15": true, 30 | "ss11": true 31 | }, 32 | "experimental.theme_overrides": { 33 | "syntax": { 34 | "comment": { 35 | "font_style": "italic" 36 | }, 37 | "comment.doc": { 38 | "font_style": "italic" 39 | } 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /.config/sketchybar_testing/colors_catpuccin.lua: -------------------------------------------------------------------------------- 1 | return { 2 | black = 0xff181819, 3 | white = 0xffe2e2e3, 4 | red = 0xffed8796, 5 | green = 0xffa6da95, 6 | blue = 0xff8aadf4, 7 | yellow = 0xffeed49f, 8 | orange = 0xfff5a97f, 9 | magenta = 0xffc6a0f6, 10 | purple = 0xffc29df1, 11 | grey = 0xff7f8490, 12 | dirty_white = 0xc8cad3f5, 13 | lightblack = 0x8a262323, 14 | transparent = 0x00000000, 15 | try = 0xff100f19, 16 | try2 = 0xff1b1e28, 17 | try3 = 0xff262531, 18 | try_border = 0xff58618e, 19 | try4 = 0xff1e1e1e, 20 | 21 | bar = { 22 | bg = 0xf10a0913, 23 | border = 0xff2c2e34, 24 | }, 25 | popup = { 26 | bg = 0xc02c2e34, 27 | border = 0xffc29df1 28 | }, 29 | bg1 = 0xd31e1d29, 30 | bg2 = 0xff131122, --0x88211f21 31 | 32 | with_alpha = function(color, alpha) 33 | if alpha > 1.0 or alpha < 0.0 then return color end 34 | return (color & 0x00ffffff) | (math.floor(alpha * 255.0) << 24) 35 | end, 36 | } 37 | -------------------------------------------------------------------------------- /.config/sketchybar_old/colors.lua: -------------------------------------------------------------------------------- 1 | -- Dracula Colors 2 | 3 | return { 4 | black = 0xff181819, 5 | white = 0xfff8f8f2, 6 | red = 0xffFF9580, 7 | green = 0xff8AFF80, 8 | blue = 0xff5199ba, 9 | yellow = 0xffFFFF80, 10 | orange = 0xffFFCA80, 11 | pink = 0xffFF80BF, 12 | purple = 0xff9580FF, 13 | other_purple = 0xff302c45, 14 | cyan = 0xff80FFEA, 15 | grey = 0xff7f8490, 16 | dirty_white = 0xc8cad3f5, 17 | dark_grey = 0xff2b2736, 18 | transparent = 0x00000000, 19 | bar = { 20 | bg = 0xf822212C, 21 | border = 0xff2c2e34, 22 | }, 23 | popup = { 24 | bg = 0xd322212c, 25 | border = 0xd322212c 26 | }, 27 | spaces = { 28 | active = 0xffFFFF80, 29 | inactive = 0xc8cad3f5, 30 | }, 31 | bg1 = 0x331e1d27, 32 | bg2 = 0xff302c45, 33 | 34 | with_alpha = function(color, alpha) 35 | if alpha > 1.0 or alpha < 0.0 then return color end 36 | return (color & 0x00ffffff) | (math.floor(alpha * 255.0) << 24) 37 | end, 38 | } 39 | -------------------------------------------------------------------------------- /.config/sketchybar_old/items/messages.lua: -------------------------------------------------------------------------------- 1 | local icons = require("icons") 2 | local colors = require("colors") 3 | local settings = require("settings") 4 | 5 | local messages = sbar.add("item", "widgets.messages", { 6 | position = "right", 7 | icon = { 8 | font = { 9 | style = settings.font.style_map["Regular"], 10 | size = 13.0, 11 | }, 12 | string = icons.messages, 13 | padding_left = 8, 14 | }, 15 | label = { 16 | font = { 17 | family = settings.font.numbers 18 | }, 19 | padding_right = 8, 20 | }, 21 | background = { 22 | color = colors.bg2, 23 | border_color = colors.bg1, 24 | border_width = 2, 25 | }, 26 | update_freq = 1, 27 | }) 28 | 29 | --script needed for better functionality 30 | messages:subscribe("routine", "forced", function(env) 31 | sbar.exec("$HOME/.scripts/query_messages.sh") 32 | end) 33 | 34 | messages:subscribe("mouse.clicked", function(env) 35 | sbar.exec("open -a 'Messages'") 36 | end) 37 | -------------------------------------------------------------------------------- /.config/sketchybar_testing/items/messages.lua: -------------------------------------------------------------------------------- 1 | local icons = require("icons") 2 | local colors = require("colors") 3 | local settings = require("settings") 4 | 5 | local messages = sbar.add("item", "widgets.messages", { 6 | position = "right", 7 | icon = { 8 | font = { 9 | style = settings.font.style_map["Regular"], 10 | size = 13.0, 11 | }, 12 | string = icons.messages, 13 | padding_left = 8, 14 | }, 15 | label = { 16 | font = { 17 | family = settings.font.numbers 18 | }, 19 | padding_right = 8, 20 | }, 21 | background = { 22 | color = colors.bg2, 23 | border_color = colors.bg1, 24 | border_width = 2, 25 | }, 26 | update_freq = 1, 27 | }) 28 | 29 | --script needed for better functionality 30 | messages:subscribe("routine", "forced", function(env) 31 | sbar.exec("$HOME/.scripts/query_messages.sh") 32 | end) 33 | 34 | messages:subscribe("mouse.clicked", function(env) 35 | sbar.exec("open -a 'Messages'") 36 | end) 37 | -------------------------------------------------------------------------------- /.config/sketchybar_old_but_fucked_somehow/sketchybar/colors_catpuccin.lua: -------------------------------------------------------------------------------- 1 | return { 2 | black = 0xff181819, 3 | white = 0xffe2e2e3, 4 | red = 0xffed8796, 5 | green = 0xffa6da95, 6 | blue = 0xff8aadf4, 7 | yellow = 0xffeed49f, 8 | orange = 0xfff5a97f, 9 | magenta = 0xffc6a0f6, 10 | purple = 0xffc29df1, 11 | grey = 0xff7f8490, 12 | dirty_white = 0xc8cad3f5, 13 | lightblack = 0x8a262323, 14 | transparent = 0x00000000, 15 | try = 0xff100f19, 16 | try2 = 0xff1b1e28, 17 | try3 = 0xff262531, 18 | try_border = 0xff58618e, 19 | try4 = 0xff1e1e1e, 20 | 21 | bar = { 22 | bg = 0xf10a0913, 23 | border = 0xff2c2e34, 24 | }, 25 | popup = { 26 | bg = 0xc02c2e34, 27 | border = 0xffc29df1 28 | }, 29 | bg1 = 0xd31e1d29, 30 | bg2 = 0xff131122, --0x88211f21 31 | 32 | with_alpha = function(color, alpha) 33 | if alpha > 1.0 or alpha < 0.0 then return color end 34 | return (color & 0x00ffffff) | (math.floor(alpha * 255.0) << 24) 35 | end, 36 | } 37 | -------------------------------------------------------------------------------- /.config/fish/aliases.fish: -------------------------------------------------------------------------------- 1 | # abbreviations 2 | # abbr --add custom original 3 | abbr --add cat bat 4 | abbr --add c clear 5 | abbr --add rm trash 6 | abbr --add mkdir 'mkdir -p -v' 7 | abbr --add .. prevd 8 | abbr --add update 'topgrade' 9 | abbr --add gitl _fzf_search_git_log 10 | abbr --add gits _fzf_search_git_status 11 | 12 | # alias functions 13 | 14 | # ls -> eza 15 | function ls --wraps='eza --git --header -l --no-quotes -a --git --no-user --time-style relative --hyperlink --icons=always --color=always' --description 'alias ls=eza ...' 16 | eza --git --header -l --no-quotes -a --git --no-user --time-style relative --hyperlink --icons=always --color=always $argv 17 | end 18 | 19 | # fastfetch clear 20 | function fastfetch --description 'clear the terminal and run fastfetch' 21 | clear 22 | command fastfetch $argv 23 | end 24 | 25 | # ssh pi and clear 26 | function pi --description 'ssh pi and clear' 27 | clear 28 | command ssh pi $argv 29 | end -------------------------------------------------------------------------------- /.config/fish/config.fish: -------------------------------------------------------------------------------- 1 | # Set PATH, MANPATH, etc., for Homebrew 2 | set -gx HOMEBREW_PREFIX /opt/homebrew 3 | set -gx HOMEBREW_CELLAR /opt/homebrew/Cellar 4 | set -gx HOMEBREW_REPOSITORY /opt/homebrew 5 | set -gx PATH /opt/homebrew/bin /opt/homebrew/sbin $PATH 6 | set -q MANPATH; or set MANPATH '' 7 | set -gx MANPATH /opt/homebrew/share/man $MANPATH 8 | set -q INFOPATH; or set INFOPATH '' 9 | set -gx INFOPATH /opt/homebrew/share/info $INFOPATH 10 | set -gx PATH /Users/lukas/Library/Python/3.12/bin $PATH 11 | set -gx PATH /Users/lukas/.filen-cli/bin $PATH 12 | 13 | # custom aliases 14 | source ~/.config/fish/aliases.fish 15 | 16 | # Default Editor 17 | set -x EDITOR nano 18 | set -x LESSHISTFILE /dev/null 19 | 20 | # zoxide with alias cd 21 | zoxide init --cmd cd fish | source 22 | 23 | # starship 24 | export STARSHIP_CONFIG="$HOME/.config/starship/starship.toml" 25 | starship init fish | source 26 | enable_transience 27 | 28 | export PATH="$PATH:$HOME/.local/bin" 29 | -------------------------------------------------------------------------------- /.config/yabai/float_small_windows.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | window_id=$YABAI_WINDOW_ID 4 | window_data=$(yabai -m query --windows --window "$window_id") 5 | can_resize=$(echo "$window_data" | jq '.["can-resize"]') 6 | floating=$(echo "$window_data" | jq '.["is-floating"]') 7 | 8 | if [[ "$can_resize" == "false" ]] && [[ "$floating" == "false" ]]; then 9 | yabai -m window "$window_id" --toggle float 10 | osascript -e 'display notification "Float successful"' 11 | exit 0 12 | fi 13 | 14 | display_id=$(echo "$window_data" | jq '.display') 15 | display_area=$(yabai -m query --displays --display "$display_id" | jq '.frame.w * .frame.h') 16 | min_area=$(bc <<< "$display_area * 0.10") 17 | window_area=$(echo "$window_data" | jq '.frame.w * .frame.h') 18 | 19 | if (( $(bc <<< "$window_area < $min_area") == 1 )) && [[ "$floating" == "false" ]]; then 20 | yabai -m window "$window_id" --toggle float 21 | osascript -e 'display notification "Float successful"' 22 | fi -------------------------------------------------------------------------------- /.config/sketchybar_old_but_fucked_somehow/sketchybar/items/messages.lua: -------------------------------------------------------------------------------- 1 | local icons = require("icons") 2 | local colors = require("colors") 3 | local settings = require("settings") 4 | 5 | local messages = sbar.add("item", "widgets.messages", { 6 | position = "right", 7 | icon = { 8 | font = { 9 | style = settings.font.style_map["Regular"], 10 | size = 13.0, 11 | }, 12 | string = icons.messages, 13 | padding_left = 8, 14 | }, 15 | label = { 16 | font = { 17 | family = settings.font.numbers 18 | }, 19 | padding_right = 8, 20 | }, 21 | background = { 22 | color = colors.bg2, 23 | border_color = colors.bg1, 24 | border_width = 2, 25 | }, 26 | update_freq = 1, 27 | }) 28 | 29 | --script needed for better functionality 30 | messages:subscribe("routine", "forced", function(env) 31 | sbar.exec("$HOME/.scripts/query_messages.sh") 32 | end) 33 | 34 | messages:subscribe("mouse.clicked", function(env) 35 | sbar.exec("open -a 'Messages'") 36 | end) 37 | -------------------------------------------------------------------------------- /.config/sketchybar_testing/colors.lua: -------------------------------------------------------------------------------- 1 | -- Dracula Colors 2 | 3 | return { 4 | black = 0xff181819, 5 | white = 0xfff8f8f2, 6 | red = 0xffFF9580, 7 | green = 0xff8AFF80, 8 | blue = 0xff5199ba, 9 | yellow = 0xffFFFF80, 10 | orange = 0xffFFCA80, 11 | pink = 0xffFF80BF, 12 | purple = 0xff9580FF, 13 | other_purple = 0xff302c45, 14 | cyan = 0xff80FFEA, 15 | grey = 0xff7f8490, 16 | dirty_white = 0xc8cad3f5, 17 | dark_grey = 0xff2b2736, 18 | transparent = 0x00000000, 19 | bar = { 20 | bg = 0xf02c2e34, --0xf822212C 21 | border = 0xff2c2e34, --0xff2c2e34 22 | }, 23 | popup = { 24 | bg = 0xd322212c, 25 | border = 0xd322212c 26 | }, 27 | spaces = { 28 | active = 0xffFFFF80, 29 | inactive = 0xc8cad3f5, 30 | }, 31 | bg1 = 0xff363944, --0x331e1d27 32 | bg2 = 0xff414550, --0xff302c45 33 | 34 | with_alpha = function(color, alpha) 35 | if alpha > 1.0 or alpha < 0.0 then return color end 36 | return (color & 0x00ffffff) | (math.floor(alpha * 255.0) << 24) 37 | end, 38 | } 39 | -------------------------------------------------------------------------------- /.config/sketchybar_old_but_fucked_somehow/sketchybar/colors.lua: -------------------------------------------------------------------------------- 1 | -- Dracula Colors 2 | 3 | return { 4 | black = 0xff181819, 5 | white = 0xfff8f8f2, 6 | red = 0xffFF9580, 7 | green = 0xff8AFF80, 8 | blue = 0xff5199ba, 9 | yellow = 0xffFFFF80, 10 | orange = 0xffFFCA80, 11 | pink = 0xffFF80BF, 12 | purple = 0xff9580FF, 13 | other_purple = 0xff302c45, 14 | cyan = 0xff80FFEA, 15 | grey = 0xff7f8490, 16 | dirty_white = 0xc8cad3f5, 17 | dark_grey = 0xff2b2736, 18 | transparent = 0x00000000, 19 | bar = { 20 | bg = 0xf02c2e34, --0xf822212C 21 | border = 0xff2c2e34, --0xff2c2e34 22 | }, 23 | popup = { 24 | bg = 0xd322212c, 25 | border = 0xd322212c 26 | }, 27 | spaces = { 28 | active = 0xffFFFF80, 29 | inactive = 0xc8cad3f5, 30 | }, 31 | bg1 = 0xff363944, --0x331e1d27 32 | bg2 = 0xff414550, --0xff302c45 33 | 34 | with_alpha = function(color, alpha) 35 | if alpha > 1.0 or alpha < 0.0 then return color end 36 | return (color & 0x00ffffff) | (math.floor(alpha * 255.0) << 24) 37 | end, 38 | } 39 | -------------------------------------------------------------------------------- /zsh/custom.zsh: -------------------------------------------------------------------------------- 1 | 2 | 3 | # Starship 4 | export STARSHIP_CONFIG="$HOME/.config/starship/starship.toml" 5 | eval "$(starship init zsh)" 6 | 7 | #---plugins and alias--- 8 | 9 | # zoxide 10 | eval "$(zoxide init zsh)" 11 | alias cd="z" 12 | 13 | # bat better cat 14 | export BAT_THEME=Dracula 15 | alias cat="bat" 16 | 17 | # Eza better ls 18 | alias ls="eza --git --header -l --no-quotes -a --git --no-user --time-style relative --hyperlink --icons=always --color=always" 19 | 20 | 21 | # Activate syntax highlighting 22 | source $(brew --prefix)/opt/zsh-fast-syntax-highlighting/share/zsh-fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh 23 | # Disable underline 24 | (( ${+ZSH_HIGHLIGHT_STYLES} )) || typeset -A ZSH_HIGHLIGHT_STYLES 25 | ZSH_HIGHLIGHT_STYLES[path]=none 26 | ZSH_HIGHLIGHT_STYLES[path_prefix]=none 27 | 28 | # Activate Autocomplete 29 | source $(brew --prefix)/share/zsh-autocomplete/zsh-autocomplete.plugin.zsh 30 | # Activate autosuggestions 31 | source $(brew --prefix)/share/zsh-autosuggestions/zsh-autosuggestions.zsh 32 | -------------------------------------------------------------------------------- /.config/ghostty/config: -------------------------------------------------------------------------------- 1 | #~~~~~~~~~~~~~~~~~~~~~~~# 2 | # Ghostty configuration # 3 | #~~~~~~~~~~~~~~~~~~~~~~~# 4 | 5 | theme = pro 6 | 7 | font-family = MonoLisa 8 | font-family-italic = MonoLisa 9 | window-title-font-family = MonoLisa 10 | font-size = 14 11 | font-feature = zero 12 | font-feature = -ss02 13 | font-feature = ss03 14 | font-feature = ss08 15 | font-feature = ss15 16 | font-feature = ss11 17 | font-feature = ss06 18 | 19 | cursor-style = underline 20 | mouse-hide-while-typing = true 21 | 22 | macos-titlebar-style = tabs 23 | macos-icon-frame = chrome 24 | 25 | window-padding-x = 20 26 | window-padding-y = 20 27 | window-padding-color = background 28 | 29 | background-opacity = 0.98 30 | background-blur-radius = 12 31 | 32 | keybind = super+enter=new_split:right 33 | keybind = global:control+t=toggle_quick_terminal 34 | 35 | quick-terminal-position = bottom 36 | quick-terminal-screen = mouse 37 | quick-terminal-size = 50%,75% 38 | 39 | # Mouse 40 | mouse-hide-while-typing = true 41 | focus-follows-mouse = true 42 | 43 | 44 | auto-update-channel = tip 45 | -------------------------------------------------------------------------------- /.config/wtf/log.txt: -------------------------------------------------------------------------------- 1 | 2025/04/06 00:27:26 log.go:23: Protocol version: auto 2 | 2025/04/06 00:27:26 log.go:23: Network: tcp 3 | 2025/04/06 00:36:47 log.go:23: Protocol version: auto 4 | 2025/04/06 00:36:47 log.go:23: Network: tcp 5 | 2025/04/06 00:37:21 log.go:23: Protocol version: auto 6 | 2025/04/06 00:37:21 log.go:23: Network: tcp 7 | 2025/04/06 00:39:38 log.go:23: Protocol version: auto 8 | 2025/04/06 00:39:38 log.go:23: Network: tcp 9 | 2025/04/06 00:40:10 log.go:23: Protocol version: auto 10 | 2025/04/06 00:40:10 log.go:23: Network: tcp 11 | 2025/04/06 00:40:40 log.go:23: Protocol version: auto 12 | 2025/04/06 00:40:40 log.go:23: Network: tcp 13 | 2025/04/06 00:43:11 log.go:23: Protocol version: auto 14 | 2025/04/06 00:43:11 log.go:23: Network: tcp 15 | 2025/04/06 00:45:41 log.go:23: Protocol version: auto 16 | 2025/04/06 00:45:41 log.go:23: Network: tcp 17 | 2025/04/06 10:09:11 log.go:23: Protocol version: auto 18 | 2025/04/06 10:09:11 log.go:23: Network: tcp 19 | 2025/04/06 10:15:26 log.go:23: Protocol version: auto 20 | 2025/04/06 10:15:26 log.go:23: Network: tcp 21 | -------------------------------------------------------------------------------- /.config/fish/completions/fzf_configure_bindings.fish: -------------------------------------------------------------------------------- 1 | complete fzf_configure_bindings --no-files 2 | complete fzf_configure_bindings --long help --short h --description "Print help" --condition "not __fish_seen_argument --help -h" 3 | complete fzf_configure_bindings --long directory --description "Change the key binding for Search Directory" --condition "not __fish_seen_argument --directory" 4 | complete fzf_configure_bindings --long git_log --description "Change the key binding for Search Git Log" --condition "not __fish_seen_argument --git_log" 5 | complete fzf_configure_bindings --long git_status --description "Change the key binding for Search Git Status" --condition "not __fish_seen_argument --git_status" 6 | complete fzf_configure_bindings --long history --description "Change the key binding for Search History" --condition "not __fish_seen_argument --history" 7 | complete fzf_configure_bindings --long processes --description "Change the key binding for Search Processes" --condition "not __fish_seen_argument --processes" 8 | complete fzf_configure_bindings --long variables --description "Change the key binding for Search Variables" --condition "not __fish_seen_argument --variables" 9 | -------------------------------------------------------------------------------- /.config/fastfetch/ascii/try.txt: -------------------------------------------------------------------------------- 1 | ⣿⣿⣿⣿⣿⣿⣿⣿⡿⣡⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣎⢿⣆⢾⣿⣿⣿⣿ 2 | ⣿⣿⣿⣿⣿⣿⣿⣯⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡞⢿⣿⣿⣿⣧⢻⣾⣿⣿⣿⣿ 3 | ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣷⠘⣿⣿⣧⢿⣧⠻⡜⠟⣿⣿ 4 | ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢋⣾⣿⢸⢸⣿⣏⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠈⣿⣿⡆⣿⣿⣿⡜⡿⡆⠑⢸⡿⢋ 5 | ⢿⣿⣿⣿⣿⣿⣿⣿⣿⠃⣼⣿⠃⠈⢸⣿⣿⡁⣿⣿⢹⣿⣿⣿⣿⡏⢿⣿⣿⣿⠘⣿⡿⢗⢹⣿⣿⡏⣇⣿⠀⠀⠚⣻ 6 | ⢸⣿⣿⣿⣿⣿⣿⡟⠋⣸⣿⡏⣶⠀⢸⣿⣿⢀⣿⣿⠀⢿⢿⣿⣿⡇⢸⣿⡿⣿⠀⢰⣾⣿⢸⡇⣿⡇⣧⢿⣶⠄⡱⡙ 7 | ⡄⣻⣿⣿⣿⣿⣿⣇⢠⣿⡟⣼⣿⠀⠸⣷⣾⡆⢸⣿⡀⠀⡄⣷⣿⠀⢸⣿⠃⣿⠀⠛⠙⠁⢸⠇⣿⡇⡏⠸⠛⠀⣷⠹ 8 | ⣅⢻⣿⣿⣿⣿⣿⣸⡜⡟⣰⣿⣿⣆⣶⠿⠛⠁⠈⠉⠁⠐⠀⢿⣿⠀⢸⣿⠐⣋⡄⠀⠰⡏⡼⢀⡿⠀⠀⡀⡄⢠⣿⢰ 9 | ⣤⠸⢹⣿⣿⣿⣿⣧⢷⠀⣭⣍⡀⣴⣶⣶⢀⡤⠀⣤⣴⣶⣶⣾⣿⣶⣿⣿⣾⣿⠃⠀⢰⡇⠁⣷⣶⣾⣀⣿⡇⣼⡿⣼ 10 | ⡛⠆⣧⣿⣿⣿⣿⣿⡎⢇⢿⣿⣦⣈⠻⢿⣆⠳⠴⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⣤⣴⣿⠁⠀⢻⣿⣿⣇⢿⢣⣿⡇⣿ 11 | ⣿⣿⣦⠘⣿⣿⣿⣿⣿⡌⠌⣿⣿⣿⣿⣶⣶⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢠⠀⠈⣿⣿⣿⡈⢸⣿⠁⣿ 12 | ⣿⣿⣿⡆⡹⣿⣿⣿⣿⣿⡄⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣹⣿⣿⡿⠀⢧⡀⠸⣿⣿⣷⢸⣿⢸⣿⠀ 13 | ⣿⣿⣿⣧⠱⡜⣿⣿⣿⣿⣿⡄⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣿⣿⣿⢇⡄⠜⣿⣄⠹⣿⣿⣇⠉⢸⡿ 14 | ⢿⣿⣿⣿⢰⡝⣜⢿⣿⣿⣿⣿⡄⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⠿⣿⣿⢋⣾⣿⣌⢼⣿⣆⠹⣿⣿⣆⢈⠀ 15 | ⢸⣿⣿⣿⡇⣿⡄⠈⢿⣿⣿⣿⡿⣄⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣶⣤⠄⢀⣈⣉⣹⣿⣎⢻⣿⣧⡹⣿⣿⣎⢧ 16 | ⠈⣿⣿⣿⣧⢻⣿⠀⡀⠻⣿⣿⣿⡜⣧⠹⣿⣿⣿⣿⣿⣿⣿⣿⣯⣭⣶⡟⢡⣾⣷⣝⢿⣿⣿⣿⣷⡙⣿⣿⡜⢿⣿⣧ 17 | ⡇⣿⣿⣿⣿⢸⣿⠀⠱⡠⡹⣿⣿⣿⣌⢷⡙⠻⠿⣿⣿⣿⣿⣿⣿⡿⢋⣤⣀⡽⢿⣿⣎⢻⣿⣿⣿⠇⣮⡻⣿⣾⣿⣿ 18 | ⣿⢸⣿⣿⣿⡏⣿⡇⠀⢱⡹⣌⢿⣿⣿⣎⢷⡄⠀⠀⢩⣭⣛⣛⣋⣴⣿⡿⠟⠀⠈⠻⣿⣧⢻⣿⡿⢸⣿⠁⠈⠛⢿⣿ 19 | ⣿⡏⣿⣿⣿⡇⣿⡇⠀⠀⢧⠈⢎⢻⣿⣿⣧⠻⣦⡀⢀⡙⣶⢈⣿⣿⠟⠀⠀⠀⠀⠀⠹⣿⣧⠙⠃⣾⠇⢀⡆⠀⠀⢙ 20 | ⣿⣷⢹⣿⣿⡇⣿⡇⠀⠀⠸⡆⠀⠀⠻⣿⣿⣷⡹⣷⡜⠡⠶⠿⠿⠃⡀⠀⠀⠀⠀⠀⠀⠹⣿⡆⢠⡟⢀⣼⡇⠀⣰⣿ 21 | ⣿⣿⡎⣿⣿⡇⣿⡇⠀⠀⠀⣿⠀⠀⠀⢹⢿⣿⣿⡜⣿⣆⢠⡰⠆⣸⢇⡄⠀⠀⠀⠀⠀⠀⠙⣿⡈⠁⣼⣿⠀⢴⣌⣧ 22 | ⢿⣿⣿⣿⣿⡇⣿⠙⢷⣄⠀⢸⡇⠀⠀⠀⠘⣿⣿⣿⡞⢿⣧⣻⢠⣿⣾⣿⣆⠀⠀⠀⠀⠀⠀⠈⠓⢸⣿⠁⢠⡜⢿⣿ 23 | ⡈⣿⣿⣿⣿⢧⡿⠘⣦⡹⣷⣼⣿⠀⠀⡀⠀⢹⣿⣿⣿⣎⢿⣧⢀⠻⣿⣿⣿⣆⠀⠀⠀⠀⠀⠀⣿⣄⠃⠀⢘⢿⣎⢿ 24 | ⢳⠘⣿⣿⣿⢘⢣⣷⣌⠻⣮⡁⣿⢰⡾⣣⡀⢸⣿⣿⣿⣿⣎⢿⣏⢻⣶⣝⡻⢿⣆⢶⣶⣶⣦⣴⣿⣿⠂⢀⡚⢷⣝⠳ 25 | -------------------------------------------------------------------------------- /.config/sketchybar/helpers/event_providers/cpu_load/cpu_load.c: -------------------------------------------------------------------------------- 1 | #include "cpu.h" 2 | #include "../sketchybar.h" 3 | 4 | int main (int argc, char** argv) { 5 | float update_freq; 6 | if (argc < 3 || (sscanf(argv[2], "%f", &update_freq) != 1)) { 7 | printf("Usage: %s \"\" \"\"\n", argv[0]); 8 | exit(1); 9 | } 10 | 11 | alarm(0); 12 | struct cpu cpu; 13 | cpu_init(&cpu); 14 | 15 | // Setup the event in sketchybar 16 | char event_message[512]; 17 | snprintf(event_message, 512, "--add event '%s'", argv[1]); 18 | sketchybar(event_message); 19 | 20 | char trigger_message[512]; 21 | for (;;) { 22 | // Acquire new info 23 | cpu_update(&cpu); 24 | 25 | // Prepare the event message 26 | snprintf(trigger_message, 27 | 512, 28 | "--trigger '%s' user_load='%d' sys_load='%02d' total_load='%02d'", 29 | argv[1], 30 | cpu.user_load, 31 | cpu.sys_load, 32 | cpu.total_load ); 33 | 34 | // Trigger the event 35 | sketchybar(trigger_message); 36 | 37 | // Wait 38 | usleep(update_freq * 1000000); 39 | } 40 | return 0; 41 | } 42 | -------------------------------------------------------------------------------- /.config/sketchybar_old/helpers/event_providers/cpu_load/cpu_load.c: -------------------------------------------------------------------------------- 1 | #include "cpu.h" 2 | #include "../sketchybar.h" 3 | 4 | int main (int argc, char** argv) { 5 | float update_freq; 6 | if (argc < 3 || (sscanf(argv[2], "%f", &update_freq) != 1)) { 7 | printf("Usage: %s \"\" \"\"\n", argv[0]); 8 | exit(1); 9 | } 10 | 11 | alarm(0); 12 | struct cpu cpu; 13 | cpu_init(&cpu); 14 | 15 | // Setup the event in sketchybar 16 | char event_message[512]; 17 | snprintf(event_message, 512, "--add event '%s'", argv[1]); 18 | sketchybar(event_message); 19 | 20 | char trigger_message[512]; 21 | for (;;) { 22 | // Acquire new info 23 | cpu_update(&cpu); 24 | 25 | // Prepare the event message 26 | snprintf(trigger_message, 27 | 512, 28 | "--trigger '%s' user_load='%d' sys_load='%02d' total_load='%02d'", 29 | argv[1], 30 | cpu.user_load, 31 | cpu.sys_load, 32 | cpu.total_load ); 33 | 34 | // Trigger the event 35 | sketchybar(trigger_message); 36 | 37 | // Wait 38 | usleep(update_freq * 1000000); 39 | } 40 | return 0; 41 | } 42 | -------------------------------------------------------------------------------- /.config/sketchybar_testing/helpers/event_providers/cpu_load/cpu_load.c: -------------------------------------------------------------------------------- 1 | #include "cpu.h" 2 | #include "../sketchybar.h" 3 | 4 | int main (int argc, char** argv) { 5 | float update_freq; 6 | if (argc < 3 || (sscanf(argv[2], "%f", &update_freq) != 1)) { 7 | printf("Usage: %s \"\" \"\"\n", argv[0]); 8 | exit(1); 9 | } 10 | 11 | alarm(0); 12 | struct cpu cpu; 13 | cpu_init(&cpu); 14 | 15 | // Setup the event in sketchybar 16 | char event_message[512]; 17 | snprintf(event_message, 512, "--add event '%s'", argv[1]); 18 | sketchybar(event_message); 19 | 20 | char trigger_message[512]; 21 | for (;;) { 22 | // Acquire new info 23 | cpu_update(&cpu); 24 | 25 | // Prepare the event message 26 | snprintf(trigger_message, 27 | 512, 28 | "--trigger '%s' user_load='%d' sys_load='%02d' total_load='%02d'", 29 | argv[1], 30 | cpu.user_load, 31 | cpu.sys_load, 32 | cpu.total_load ); 33 | 34 | // Trigger the event 35 | sketchybar(trigger_message); 36 | 37 | // Wait 38 | usleep(update_freq * 1000000); 39 | } 40 | return 0; 41 | } 42 | -------------------------------------------------------------------------------- /.config/sketchybar_old_but_fucked_somehow/sketchybar/helpers/event_providers/cpu_load/cpu_load.c: -------------------------------------------------------------------------------- 1 | #include "cpu.h" 2 | #include "../sketchybar.h" 3 | 4 | int main (int argc, char** argv) { 5 | float update_freq; 6 | if (argc < 3 || (sscanf(argv[2], "%f", &update_freq) != 1)) { 7 | printf("Usage: %s \"\" \"\"\n", argv[0]); 8 | exit(1); 9 | } 10 | 11 | alarm(0); 12 | struct cpu cpu; 13 | cpu_init(&cpu); 14 | 15 | // Setup the event in sketchybar 16 | char event_message[512]; 17 | snprintf(event_message, 512, "--add event '%s'", argv[1]); 18 | sketchybar(event_message); 19 | 20 | char trigger_message[512]; 21 | for (;;) { 22 | // Acquire new info 23 | cpu_update(&cpu); 24 | 25 | // Prepare the event message 26 | snprintf(trigger_message, 27 | 512, 28 | "--trigger '%s' user_load='%d' sys_load='%02d' total_load='%02d'", 29 | argv[1], 30 | cpu.user_load, 31 | cpu.sys_load, 32 | cpu.total_load ); 33 | 34 | // Trigger the event 35 | sketchybar(trigger_message); 36 | 37 | // Wait 38 | usleep(update_freq * 1000000); 39 | } 40 | return 0; 41 | } 42 | -------------------------------------------------------------------------------- /.config/sketchybar/helpers/event_providers/network_load/network_load.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include "network.h" 3 | #include "../sketchybar.h" 4 | 5 | int main (int argc, char** argv) { 6 | float update_freq; 7 | if (argc < 4 || (sscanf(argv[3], "%f", &update_freq) != 1)) { 8 | printf("Usage: %s \"\" \"\" \"\"\n", argv[0]); 9 | exit(1); 10 | } 11 | 12 | alarm(0); 13 | // Setup the event in sketchybar 14 | char event_message[512]; 15 | snprintf(event_message, 512, "--add event '%s'", argv[2]); 16 | sketchybar(event_message); 17 | 18 | struct network network; 19 | network_init(&network, argv[1]); 20 | char trigger_message[512]; 21 | for (;;) { 22 | // Acquire new info 23 | network_update(&network); 24 | 25 | // Prepare the event message 26 | snprintf(trigger_message, 27 | 512, 28 | "--trigger '%s' upload='%03d%s' download='%03d%s'", 29 | argv[2], 30 | network.up, 31 | unit_str[network.up_unit], 32 | network.down, 33 | unit_str[network.down_unit]); 34 | 35 | // Trigger the event 36 | sketchybar(trigger_message); 37 | 38 | // Wait 39 | usleep(update_freq * 1000000); 40 | } 41 | return 0; 42 | } 43 | -------------------------------------------------------------------------------- /.config/fastfetch/ascii/devil.txt: -------------------------------------------------------------------------------- 1 | ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ 2 | ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⡷⡀⣀⣀⣀⣀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ 3 | ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠤⠺⣟⡽⠀⠀⠀⠀⠀⠀⠀⠈⠑⠂⢤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ 4 | ⠀⠀⠀⠀⠀⠀⠀⠀⠀⡴⠊⠁⠀⠀⠙⠁⠀⠀⠀⠀⠀⠀⡄⠀⠀⠀⠀⠈⠳⢄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ 5 | ⠀⠀⠀⠀⠀⠀⠀⢠⠎⠀⠀⠆⠀⢰⡃⠀⠐⡄⠀⢲⠀⠃⢻⠀⠀⠀⡄⠀⠀⠈⠱⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ 6 | ⠀⠀⠀⠸⣶⣄⣺⢇⡄⠀⡇⠀⢰⢺⠱⣄⠀⠘⢆⠈⡆⠀⠸⠀⠀⠀⡇⠀⠀⠀⠰⠘⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀ 7 | ⠀⠀⠀⠀⠙⢿⡏⢸⠀⠀⡇⠀⢸⣾⢀⣨⣷⡄⠈⢣⣇⠀⠀⡆⠀⠀⡇⠀⠀⠀⠀⠀⠸⡄⠀⠀⠀⠀⠀⠀⠀⠀ 8 | ⠀⠀⠀⠀⠀⢸⠃⢸⡄⢸⡇⡀⢸⢿⡏⠀⣀⣹⣦⡀⢿⠀⠀⡇⠀⠀⡇⠀⠀⠀⠀⠀⠀⢣⠀⠀⠀⠀⠀⠀⠀⠀ 9 | ⠀⠀⠀⠀⠀⣼⡄⠈⡇⠈⣿⣿⣼⣞⣷⠾⣿⣿⡿⠉⢻⠀⠀⡇⠀⠀⡿⠟⢷⡄⠀⠀⠀⡘⡄⠀⠀⠀⠀⠀⠀⠀ 10 | ⠀⠀⠀⠀⠀⡇⣇⢸⢿⡀⠇⠻⠉⠸⠏⣠⠟⠉⠀⠀⠀⡄⠀⠿⠀⠀⣿⡀⠀⡇⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀ 11 | ⠀⠀⠀⠀⠀⣿⣿⣾⣷⣧⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⢀⡿⢃⣼⠁⠀⠀⠃⠀⢸⠀⠀⠀⠀⠀⠀⠀ 12 | ⠀⠀⠀⠀⠀⢻⡻⢯⣻⠟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢷⠀⠀⠀⢸⡧⡎⢸⠃⠀⠀⢠⢀⣸⠀⠀⠀⠀⠀⠀⠀ 13 | ⠀⠀⠀⠀⠀⢸⡇⢸⠉⠧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠀⠀⠀⢸⡇⡇⢸⠀⠀⠀⢸⡈⣿⠀⠀⠀⠀⠀⠀⠀ 14 | ⠀⠀⠀⠀⠀⢸⠃⢸⡀⠀⠀⠀⢀⡠⠴⠚⠀⠀⠀⠀⠀⢸⠀⠀⠀⢸⡇⢸⢸⡀⠀⠀⠈⡇⢻⠀⠀⠀⠀⠀⠀⠀ 15 | ⠀⠀⠀⠀⠀⠘⡆⠀⢇⠀⠀⠰⠋⠀⠀⠀⠀⠀⠀⠀⠀⢨⠀⠀⠀⢸⠃⠈⡇⡇⠀⠀⠀⢱⢸⠀⠀⠀⠀⠀⠀⠀ 16 | ⠀⠀⠀⠀⠀⠀⣿⠀⠈⢢⡀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⠍⠀⠀⠀⣿⠀⠀⢡⠱⠀⠀⠀⠸⡜⡇⠀⠀⠀⠀⠀⠀ 17 | ⠀⠀⠀⠀⠀⠀⣿⠀⠀⠀⣽⢆⠀⠀⠀⠀⠀⣠⠒⠁⠉⢀⡆⠀⠀⣿⡄⠀⠸⡄⠀⠀⠀⠀⢇⠇⠀⠀⠀⠀⠀⠀ 18 | ⠀⠀⠀⠀⠀⠀⢸⡄⠀⠀⣿⠀⠓⠤⠔⠒⠻⡇⢀⡴⠚⠉⡇⠀⠀⡧⢇⠀⠀⢱⡀⠀⠀⠀⠘⣾⡀⠀⠀⠀⠀⠀ 19 | ⠀⠀⠀⠀⠀⠀⢸⡆⠀⢰⣿⡄⡆⠀⠀⠀⠀⢷⠋⠀⠀⠀⡇⠀⢀⠁⢈⠷⢶⣤⡷⣤⣤⢤⡤⠞⠓⠒⠦⢄⡀⠀ 20 | ⠀⠀⠀⠀⠀⠀⢸⠀⠀⢸⡇⡇⢁⠀⠀⠀⢀⢻⠀⠀⠀⠀⡇⠀⢸⠀⠣⢤⣀⣞⡏⠉⡱⠋⠀⠀⠀⠀⠀⠀⠙⡆ 21 | ⠀⠀⠀⠀⠀⠀⢸⠀⠀⡞⠀⢡⢸⡀⠀⣀⡼⠀⢳⠀⠀⠀⡇⠀⡏⠀⢀⣾⣿⣾⣟⡜⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻ 22 | ⠀⠀⠀⠀⠀⠀⢸⠀⢠⠇⠀⠈⢇⡷⣺⢿⠏⡞⠑⠚⠉⢀⠀⢠⠁⣠⣿⣿⣻⣟⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿ 23 | ⠀⠀⠀⠀⠀⠀⣿⠀⡘⢀⣠⠞⣉⠵⣡⠏⠀⢧⠀⠀⠀⣸⠀⣾⣼⣉⣉⣍⡿⡝⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸ 24 | ⠀⠀⠀⠀⢀⣴⡿⢠⠏⣉⣵⠞⠁⡰⡃⠀⠀⢘⡤⠴⢒⠇⢠⣿⡀⣉⣴⣿⣿⡁⠀⢰⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹ 25 | ⠀⠀⠀⢀⠎⢸⡇⣸⣾⣿⣿⣀⣴⢱⣇⡤⠚⠁⢀⠀⣼⠄⡿⠋⠉⠁⢸⡛⢿⠑⢤⡌⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸ 26 | ⠀⠀⠀⡞⢀⣎⢧⣟⣿⡿⠋⠀⠀⠉⠁⠀⣠⣾⠟⣸⡟⢸⠁⠀⠀⠀⠸⡇⢸⡄⢸⠃⠀⢀⣠⠤⠤⠤⠔⠢⡀⣸ 27 | ⠀⠀⣸⠀⡸⢸⡟⣶⡿⠁⠀⠀⠀⠀⠀⠀⠉⠀⢠⣿⠀⡞⠀⠀⠀⠀⡇⣿⠸⣿⣾⠀⠀⠀⠙⠒⠒⠲⣌⣠⢌⣻ 28 | -------------------------------------------------------------------------------- /.config/sketchybar_old/helpers/event_providers/network_load/network_load.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include "network.h" 3 | #include "../sketchybar.h" 4 | 5 | int main (int argc, char** argv) { 6 | float update_freq; 7 | if (argc < 4 || (sscanf(argv[3], "%f", &update_freq) != 1)) { 8 | printf("Usage: %s \"\" \"\" \"\"\n", argv[0]); 9 | exit(1); 10 | } 11 | 12 | alarm(0); 13 | // Setup the event in sketchybar 14 | char event_message[512]; 15 | snprintf(event_message, 512, "--add event '%s'", argv[2]); 16 | sketchybar(event_message); 17 | 18 | struct network network; 19 | network_init(&network, argv[1]); 20 | char trigger_message[512]; 21 | for (;;) { 22 | // Acquire new info 23 | network_update(&network); 24 | 25 | // Prepare the event message 26 | snprintf(trigger_message, 27 | 512, 28 | "--trigger '%s' upload='%03d%s' download='%03d%s'", 29 | argv[2], 30 | network.up, 31 | unit_str[network.up_unit], 32 | network.down, 33 | unit_str[network.down_unit]); 34 | 35 | // Trigger the event 36 | sketchybar(trigger_message); 37 | 38 | // Wait 39 | usleep(update_freq * 1000000); 40 | } 41 | return 0; 42 | } 43 | -------------------------------------------------------------------------------- /.config/sketchybar_testing/helpers/event_providers/network_load/network_load.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include "network.h" 3 | #include "../sketchybar.h" 4 | 5 | int main (int argc, char** argv) { 6 | float update_freq; 7 | if (argc < 4 || (sscanf(argv[3], "%f", &update_freq) != 1)) { 8 | printf("Usage: %s \"\" \"\" \"\"\n", argv[0]); 9 | exit(1); 10 | } 11 | 12 | alarm(0); 13 | // Setup the event in sketchybar 14 | char event_message[512]; 15 | snprintf(event_message, 512, "--add event '%s'", argv[2]); 16 | sketchybar(event_message); 17 | 18 | struct network network; 19 | network_init(&network, argv[1]); 20 | char trigger_message[512]; 21 | for (;;) { 22 | // Acquire new info 23 | network_update(&network); 24 | 25 | // Prepare the event message 26 | snprintf(trigger_message, 27 | 512, 28 | "--trigger '%s' upload='%03d%s' download='%03d%s'", 29 | argv[2], 30 | network.up, 31 | unit_str[network.up_unit], 32 | network.down, 33 | unit_str[network.down_unit]); 34 | 35 | // Trigger the event 36 | sketchybar(trigger_message); 37 | 38 | // Wait 39 | usleep(update_freq * 1000000); 40 | } 41 | return 0; 42 | } 43 | -------------------------------------------------------------------------------- /.config/sketchybar_old_but_fucked_somehow/sketchybar/helpers/event_providers/network_load/network_load.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include "network.h" 3 | #include "../sketchybar.h" 4 | 5 | int main (int argc, char** argv) { 6 | float update_freq; 7 | if (argc < 4 || (sscanf(argv[3], "%f", &update_freq) != 1)) { 8 | printf("Usage: %s \"\" \"\" \"\"\n", argv[0]); 9 | exit(1); 10 | } 11 | 12 | alarm(0); 13 | // Setup the event in sketchybar 14 | char event_message[512]; 15 | snprintf(event_message, 512, "--add event '%s'", argv[2]); 16 | sketchybar(event_message); 17 | 18 | struct network network; 19 | network_init(&network, argv[1]); 20 | char trigger_message[512]; 21 | for (;;) { 22 | // Acquire new info 23 | network_update(&network); 24 | 25 | // Prepare the event message 26 | snprintf(trigger_message, 27 | 512, 28 | "--trigger '%s' upload='%03d%s' download='%03d%s'", 29 | argv[2], 30 | network.up, 31 | unit_str[network.up_unit], 32 | network.down, 33 | unit_str[network.down_unit]); 34 | 35 | // Trigger the event 36 | sketchybar(trigger_message); 37 | 38 | // Wait 39 | usleep(update_freq * 1000000); 40 | } 41 | return 0; 42 | } 43 | -------------------------------------------------------------------------------- /.config/sketchybar/items/calendar.lua: -------------------------------------------------------------------------------- 1 | local settings = require("settings") 2 | local colors = require("colors") 3 | 4 | -- Padding item required because of bracket 5 | sbar.add("item", { position = "right", width = settings.group_paddings }) 6 | 7 | local cal = sbar.add("item", { 8 | icon = { 9 | color = colors.dirty_white, 10 | font = { 11 | style = settings.font.style_map["Bold"], 12 | size = 12.0, 13 | }, 14 | y_offset = -1, 15 | padding_right = -2, 16 | }, 17 | label = { 18 | color = colors.dirty_white, 19 | width = 96, 20 | align = "left", 21 | font = { 22 | style = settings.font.style_map["Black"], 23 | size = 14.0, 24 | }, 25 | }, 26 | position = "right", 27 | update_freq = 1, 28 | y_offset = 1, 29 | padding_left = 4, 30 | padding_right = 4, 31 | }) 32 | 33 | 34 | cal:subscribe({ "forced", "routine", "system_woke" }, function(env) 35 | local weekdayNames = { 36 | "So.", "Mo.", "Di.", "Mi.", "Do.", "Fr.", "Sa." 37 | } 38 | local monthNames = { 39 | "Jan.", "Feb.", "März", "Apr.", "Mai", "Juni", "Juli", "Aug.", "Sep.", "Okt.", "Nov.", "Dez." 40 | } 41 | 42 | cal:set({ 43 | icon = weekdayNames[tonumber(os.date("%w")) + 1] .. 44 | os.date("%d") .." ".. monthNames[tonumber(os.date("%m"))], 45 | label = "|" .. os.date("%H:%M:%S") 46 | }) 47 | end) 48 | -------------------------------------------------------------------------------- /.config/sketchybar_old/default.lua: -------------------------------------------------------------------------------- 1 | local settings = require("settings") 2 | local colors = require("colors") 3 | 4 | -- Equivalent to the --default domain 5 | sbar.default({ 6 | updates = "when_shown", 7 | icon = { 8 | font = { 9 | family = settings.font.text, 10 | style = settings.font.style_map["Bold"], 11 | size = 14.0 12 | }, 13 | color = colors.dirty_white, 14 | padding_left = settings.paddings, 15 | padding_right = settings.paddings, 16 | background = { image = { corner_radius = 9 } }, 17 | }, 18 | label = { 19 | font = { 20 | family = settings.font.text, 21 | style = settings.font.style_map["Light"], 22 | size = 13.0 23 | }, 24 | color = colors.dirty_white, 25 | padding_left = settings.paddings, 26 | padding_right = settings.paddings, 27 | }, 28 | background = { 29 | height = 28, 30 | corner_radius = 9, 31 | border_width = 2, 32 | border_color = colors.bg2, 33 | image = { 34 | corner_radius = 9, 35 | border_color = colors.lightblack, 36 | border_width = 1 37 | } 38 | }, 39 | popup = { 40 | background = { 41 | border_width = 2, 42 | corner_radius = 9, 43 | border_color = colors.popup.border, 44 | color = colors.popup.bg, 45 | shadow = { drawing = true }, 46 | }, 47 | blur_radius = 50, 48 | }, 49 | padding_left = 5, 50 | padding_right = 5, 51 | scroll_texts = true, 52 | }) 53 | -------------------------------------------------------------------------------- /.config/sketchybar_testing/default.lua: -------------------------------------------------------------------------------- 1 | local settings = require("settings") 2 | local colors = require("colors") 3 | 4 | -- Equivalent to the --default domain 5 | sbar.default({ 6 | updates = "when_shown", 7 | icon = { 8 | font = { 9 | family = settings.font.text, 10 | style = settings.font.style_map["Bold"], 11 | size = 14.0 --14.0 12 | }, 13 | color = colors.dirty_white, 14 | padding_left = settings.paddings, 15 | padding_right = settings.paddings, 16 | background = { image = { corner_radius = 9 } }, 17 | }, 18 | label = { 19 | font = { 20 | family = settings.font.text, 21 | style = settings.font.style_map["Light"], 22 | size = 13.0 23 | }, 24 | color = colors.dirty_white, 25 | padding_left = settings.paddings, 26 | padding_right = settings.paddings, 27 | }, 28 | background = { 29 | height = 22, --28 30 | corner_radius = 5, 31 | border_width = 2, 32 | border_color = colors.bg2, 33 | image = { 34 | corner_radius = 9, 35 | border_color = colors.lightblack, 36 | border_width = 1 37 | } 38 | }, 39 | popup = { 40 | background = { 41 | border_width = 2, 42 | corner_radius = 9, 43 | border_color = colors.popup.border, 44 | color = colors.popup.bg, 45 | shadow = { drawing = true }, 46 | }, 47 | blur_radius = 50, 48 | }, 49 | padding_left = 5, 50 | padding_right = 5, 51 | scroll_texts = true, 52 | }) 53 | -------------------------------------------------------------------------------- /.config/fastfetch/ascii/ok.txt: -------------------------------------------------------------------------------- 1 | ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⣡⣬⣍⠛⣱⣾⣿⣿⣷⣦⣘⡻⠭⢍⣙⣛⣪⣿⣿⣿⣿⣿⣷⣂⣍⣛⡛⢿⣿⣿⣿⣿⣿ 2 | ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⢏⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣮⣍⡛⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣌⡻⠿⡟⢛ 3 | ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢟⣩⡶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣮⣙⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣮⠻⣦ 4 | ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢏⣵⡿⣫⣾⣿⣿⢟⣭⣿⡟⣹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⢿⣷⣌⢻⣿⣿⣿⣿⣿⣿⣿⣿⣷⡜ 5 | ⣿⣿⣿⣿⣿⣿⣿⣿⡟⣱⢟⢏⣴⣿⣿⢟⣵⣿⣿⣿⢱⡿⣿⣿⣿⢿⣧⢹⣿⣿⣿⣿⣿⣿⣿⣿⣷⣝⢻⣷⡙⣿⣿⣿⣿⣿⣿⣿⣿⣷ 6 | ⣿⣿⣿⣿⣿⣿⣿⡟⡼⣡⢏⣾⣿⠋⢀⣾⣿⣿⣿⡇⣾⣇⣿⣿⣿⡹⣿⣧⠹⣿⣿⣿⠻⣿⣿⣿⣿⣿⣷⡙⣿⠈⢿⣿⣿⣿⣿⣿⣿⣿ 7 | ⣿⣿⣿⣿⣿⣿⡿⠘⣴⢏⣾⡿⠁⠈⣼⣿⣿⡟⠉⠀⣿⢹⣿⣿⣿⡇⣿⣿⢣⠘⢿⣿⣷⡜⢿⡽⣿⣿⣿⣿⣿⣿⣦⣍⠩⢵⣶⣿⣿⣟ 8 | ⣿⣿⣿⣿⣿⣿⡇⢰⡿⣸⣿⠃⠀⢰⣿⣿⡟⠀⢀⡄⣿⠀⢿⣿⣿⡇⢹⣿⡌⢷⡀⣿⣿⣿⣎⢻⣮⠻⣿⣿⣿⣿⣏⠙⠿⣦⡹⣿⣿⣿ 9 | ⣿⣿⣿⣿⣿⣿⡇⢸⡇⣿⡏⢰⡆⢸⣿⣿⠁⢀⣿⣇⢻⡇⠸⣿⣿⢰⠈⢿⣇⠈⠳⡜⢿⣿⣿⡆⠻⣷⡌⢿⣿⣿⣿⣇⠑⣬⠛⠄⢿⣿ 10 | ⣿⣿⣿⣿⣿⣿⣿⣘⣧⢻⠇⣿⡇⠈⣿⡏⢀⢘⢿⣿⡜⣷⠀⢿⣿⠈⡄⡜⣿⡆⠀⠙⢮⠻⣿⣿⡄⠹⣿⣆⠙⢿⣿⣿⡆⠰⣿⣦⠘⠁ 11 | ⣿⣿⣿⣿⣿⣿⣿⣿⣿⡘⢰⣿⣷⣄⢹⠇⠘⠈⣀⠹⣷⡹⡄⠈⢿⡆⠀⣿⣎⢻⡄⢈⢮⡑⠌⢿⣷⠀⠻⣿⡄⠰⣌⡻⢿⡄⠻⠋⠀⢼ 12 | ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣿⣿⣿⣦⡀⠀⢈⣿⠀⠘⠃⡙⠀⠌⠻⠀⠘⣿⡷⠬⠈⠃⣑⠀⢀⡙⠂⠀⠘⣧⠀⠿⣟⠀⠁⠀⣴⣦⠘ 13 | ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⣥⡄⢨⣿⣆⢀⡟⣿⣦⠑⣄⡀⢠⡀⠀⠖⠀⠀⣄⡁⣈⢿⡇⣄⠐⣌⠀⢠⡶⠄⠀⠘⣿⣿⡆ 14 | ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⡉⣠⣾⣿⡇⢸⣷⣶⣾⣿⣿⣿⣷⣈⣿⣷⣷⣆⡀⠀⣰⣿⣷⡌⠃⡁⢹⡀⠋⠀⢨⡔⣷⡄⡀⠈⢿⣿ 15 | ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠞⣰⣿⣿⣿⡇⢹⣿⡟⢩⣼⣿⣿⣿⣿⣿⣿⣿⣿⣦⣭⣿⣿⣟⣡⣾⣿⣾⣇⠘⢃⣸⣥⠟⣰⣷⣄⠈⢻ 16 | ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢀⡶⢛⣟⠛⢿⣿⣌⠻⣷⣄⣻⣿⣿⡿⠿⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⠋⢠⣾⣿⣿⡿⣷⣬ 17 | ⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇⢸⠇⢸⠃⣴⠈⡟⣿⣦⡙⣿⣿⣄⠀⢠⣾⣿⣷⣌⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⢋⣴⡆⠀⡘⣿⣿⣿⣿⣶⣽ 18 | ⣿⣿⣿⣿⣿⣿⣿⡿⠏⣰⣿⡀⠀⠈⢀⠼⠁⠛⠛⠃⠈⠻⣿⣆⣸⣿⣿⣿⣿⡇⢻⣿⣿⣿⣿⣿⣿⣿⣿⡿⠋⢀⣬⢳⢱⡝⢿⣿⣿⣿ 19 | ⣿⣿⣿⣿⣿⠟⣋⣴⣾⣿⣿⣿⣶⡖⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣿⣿⣿⣿⣿⠇⣾⣿⣿⣿⡿⠛⠽⠛⠉⢀⣴⠿⠋⠀⠧⠹⣄⠙⢿⣿ 20 | ⣿⣿⡿⣋⣵⣾⣿⣿⣿⣿⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢿⣮⣭⣥⡾⠿⠟⣋⣁⠀⠀⣠⣴⣾⣿⡁⢀⣠⣴⣶⠐⣌⢧⡀⢙ 21 | ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⢀⣠⡄⢰⠀⣿⣶⣄⠀⢀⣴⣶⣄⡻⣿⣤⣴⣿⣿⣿⣿⣿⡿⠟⣋⣤⣾⣿⣷⠈⡢ 22 | ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀⠀⠀⠀⣠⣶⣿⣿⢣⠈⢰⡈⣿⡇⠀⠘⢿⣿⣿⣇⢸⣿⣿⣿⡿⢛⣭⣴⣾⣿⣿⠿⠟⠋⣁⡀⢻ 23 | ⡿⢽⣿⣿⣿⣿⣿⣿⣿⠿⠋⠁⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⡄⡄⡇⣿⠃⣾⣷⣌⠙⣿⣿⠀⡄⢸⠋⣠⣿⡿⠟⠋⣁⣤⣴⣾⣿⣿⣿⡈ 24 | ⣶⣿⣿⣿⣿⠿⠛⠉⠀⠀⠀⠀⢀⣤⣾⣿⣿⣿⣿⣿⣿⣿⣇⢹⡠⠌⢠⣿⡛⢿⣧⠘⣿⠀⡇⢁⣼⣿⠋⣠⣶⣿⣿⣿⣿⣿⣿⣿⣿⣷ 25 | ⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⣀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠃⠠⣾⣿⣿⣌⠻⣧⠘⠦⣤⡾⠟⢁⣼⣿⣿⠿⠟⣋⣥⣾⣧⣙⢿⣿ 26 | -------------------------------------------------------------------------------- /.config/fastfetch/ascii/tongue.txt: -------------------------------------------------------------------------------- 1 | ⠀⠀⠀⠀⠀⠀⢀⣴⣾⣿⣿⣿⡿⠁⢀⣴⣶⣾⡟⠀⣰⡾⠀⠀⠀⣰⣶⡇⠀⢰⣶⡄⠀⠀⢸⣷⣦⡀⠀⠀⠀⠈⢹⣿⣿⡸⣝⠷⢭⢛ 2 | ⠀⠀⠀⠀⠀⠰⠋⢸⣿⣿⣿⡟⢀⣴⣿⣿⣿⠏⠀⣴⣿⠃⠀⠀⣰⣿⣿⢁⠀⣾⣿⣿⠀⠀⠈⣿⣿⣿⣆⠀⠀⠀⠀⠻⡿⠀⠈⠀⠉⠉ 3 | ⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⡟⢠⣾⣿⣿⣿⡏⠀⣸⣿⡏⠀⠀⢈⣿⠿⠣⠾⠄⠿⠿⠿⠇⡄⠀⢸⣿⣿⣿⣧⠀⠀⠈⣆⠀⠀⠀⠀⠀⠀ 4 | ⠀⠀⠀⠀⠀⠀⣼⣿⣿⠟⠀⣿⣿⣿⣿⡟⠀⢰⣿⡿⠀⠀⢀⣤⠖⠀⣀⣤⡄⢰⣶⣶⡆⣶⡀⠀⢿⣿⣿⣿⣆⠀⠀⢹⣦⠀⠀⠀⠀⠀ 5 | ⠀⠀⠀⠀⠀⢰⣿⣿⠏⠀⢠⣿⣿⣿⡿⠁⠀⣿⣿⠇⠀⢀⡚⠉⣢⣾⣿⣿⣿⢸⣿⣿⢣⣏⢿⡄⢸⣿⣿⣿⣿⡀⠀⠀⣿⣇⠀⠀⠀⢀ 6 | ⠀⠀⡀⠀⠀⢼⣿⠃⠀⠀⢸⠿⠿⠛⠁⠀⢸⣿⣏⠃⢠⠟⣱⣾⣿⡿⠟⣫⣾⡆⠿⠟⠘⠉⠙⠛⠈⠛⠛⠟⠛⣃⠀⠀⢹⣿⡆⠀⠀⠀ 7 | ⠀⠀⠀⠀⠀⣿⠃⠀⠀⠀⠰⠾⠃⠀⠀⠀⣿⡟⠁⠠⢫⣾⣿⣿⣿⡇⣾⣿⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⠀⠀⠸⣿⣿⠀⠀⠀ 8 | ⠀⠀⠀⠀⠀⠇⠀⠀⠀⠀⠠⠆⠀⠀⠀⢀⠋⠀⢀⣴⣿⣿⣿⣿⣿⣿⡏⠁⡠⠄⢀⣤⡄⡴⠄⠰⠎⣡⣦⠻⢿⣿⠀⢂⠀⣿⣿⡇⠀⠀ 9 | ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣶⡧⢺⣥⣴⣶⣾⣿⣿⣿⣿⠫⠁⡰⡙⡻⠀⠘⠀⢹⣿⣷⠀⠀ 10 | ⠀⠀⠀⠀⠀⢀⡇⠀⠀⠀⢀⡄⠀⠀⢀⣴⣿⣿⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⢁⣠⣶⣿⡽⡄⠀⠀⠀⢸⣿⣿⡂⠀ 11 | ⠀⠀⠀⠀⠀⡼⠀⠀⠀⠀⠈⠀⠀⠀⠀⢈⣿⣿⢇⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⣶⣿⡿⠟⠁⠠⢩⡄⠀⠀⣼⣿⣿⠀⠀ 12 | ⠀⠀⠀⠀⠠⠃⠀⠀⠀⠀⠀⠀⣠⠄⣀⣬⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⢛⣁⣀⣤⣶⣾⡏⡇⠀⢀⣿⣿⣿⠀⠀ 13 | ⠀⠀⠀⠀⠀⠀⠀⣴⣏⡠⠀⣳⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⣸⣿⣿⡟⢸⠀ 14 | ⠀⠀⠀⠀⠀⠀⠰⣬⣬⣥⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣤⣀⣀⣀⡁⠀⢠⣿⣿⣿⠃⣼⠀ 15 | ⠀⠀⠀⠀⠀⠀⠀⠈⡙⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⢛⣛⣛⣛⣛⣛⣻⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⢀⣿⣿⣿⠏⣰⡏⠀ 16 | ⠀⠀⠀⠀⠀⠀⠀⠀⢿⣶⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⠟⡥⠞⠋⠁⠀⠀⠀⠀⢀⣀⡀⣿⣿⣿⣿⣿⣿⣿⣿⠃⢀⣾⣿⣿⠏⣰⠟⠀⠀ 17 | ⠀⠀⠀⠀⠀⠀⠀⠀⠘⠛⠋⢁⣴⣿⣿⣿⣿⣿⣿⣿⠼⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿⢇⣿⣿⣿⣿⣿⣿⣿⠃⠀⠼⣛⣥⣥⣶⣶⣶⣦⣤ 18 | ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⣶⣿⡿⢻⣿⣿⣿⣿⣿⣿⣦⡂⠀⣀⣴⣶⣾⣿⡟⢹⡏⣼⣿⣿⣿⣿⣿⣿⠃⢀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿ 19 | ⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠋⢀⣾⣿⣿⣿⣿⣿⣿⣿⣷⡐⣿⣿⣿⣿⡿⢡⡟⣴⣿⣿⣿⣿⣿⡿⠁⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ 20 | ⠀⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠺⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⢻⣿⣿⣿⠇⡟⣼⣿⣿⣿⣿⣿⡟⠁⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ 21 | ⠀⢹⡟⣶⡀⠀⠀⢠⠀⠀⠀⠀⠀⠈⠛⢿⣿⣿⣿⣿⣿⣿⣿⣌⢿⣿⣿⢸⣸⣿⣿⣿⣿⣿⠟⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ 22 | ⠀⠀⠃⣿⣷⡀⠀⢸⡆⠀⠀⠀⠀⠀⠀⠀⢨⣛⠿⣿⣿⣿⣿⣿⣮⡻⠿⢡⣿⣿⣿⣿⡿⠋⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ 23 | ⠀⠀⠀⠈⣿⣿⣆⡸⣿⡄⠀⠀⠀⠀⠀⠀⠘⣿⣷⣄⠈⠙⠛⠿⢿⣿⣶⣿⣿⣿⠿⢋⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ 24 | ⠀⠀⠀⣠⣿⣿⣿⣷⣌⠻⡄⠀⠀⠀⠀⠀⠀⠹⣿⣿⣷⣄⡀⠀⠀⠀⠈⠉⠋⠁⠀⠀⠀⠀⢀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ 25 | ⠀⠀⠀⠻⣿⣿⣿⣿⣿⣷⣌⠀⠀⠀⠀⠀⠀⠀⢿⣿⣿⣿⣿⣶⢀⡀⠀⠀⠀⠀⠀⠀⠀⢀⡎⠀⠘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ -------------------------------------------------------------------------------- /.config/kitty/dracula.conf: -------------------------------------------------------------------------------- 1 | # https://draculatheme.com/kitty 2 | # 3 | # Installation instructions: 4 | # 5 | # cp dracula.conf ~/.config/kitty/ 6 | # echo "include dracula.conf" >> ~/.config/kitty/kitty.conf 7 | # 8 | # Then reload kitty for the config to take affect. 9 | # Alternatively copy paste below directly into kitty.conf 10 | 11 | foreground #f8f8f2 12 | background #22212C 13 | selection_foreground #ffffff 14 | selection_background #7970A9 15 | 16 | url_color #80FFEA 17 | 18 | # black 19 | color0 #22212C 20 | color8 #454158 21 | 22 | # red 23 | color1 #FFA680 24 | color9 #FFCA80 25 | 26 | # green 27 | color2 #8AFF80 28 | color10 #80FFEA 29 | 30 | # yellow 31 | color3 #FFFF80 32 | color11 #FFFFA5 33 | 34 | # blue 35 | color4 #9580FF 36 | color12 #D6ACFF 37 | 38 | # magenta 39 | color5 #FF80BF 40 | color13 #FF92DF 41 | 42 | # cyan 43 | color6 #80FFEA 44 | color14 #A4FFFF 45 | 46 | # white 47 | color7 #f8f8f2 48 | color15 #ffffff 49 | 50 | # Cursor colors 51 | cursor #f8f8f2 52 | cursor_text_color background 53 | 54 | # Tab bar colors 55 | active_tab_foreground #22212C 56 | active_tab_background #f8f8f2 57 | inactive_tab_foreground #22212C 58 | inactive_tab_background #454158 59 | 60 | # Marks 61 | mark1_foreground #22212C 62 | mark1_background #FFA680 63 | 64 | # Splits/Windows 65 | active_border_color #80FFEA 66 | inactive_border_color #cccccc 67 | -------------------------------------------------------------------------------- /.config/sketchybar_old_but_fucked_somehow/sketchybar/default.lua: -------------------------------------------------------------------------------- 1 | local settings = require("settings") 2 | local colors = require("colors") 3 | 4 | -- Equivalent to the --default domain 5 | sbar.default({ 6 | updates = "when_shown", 7 | icon = { 8 | font = { 9 | family = settings.font.text, 10 | style = settings.font.style_map["Bold"], 11 | size = 14.0 --14.0 12 | }, 13 | color = colors.dirty_white, 14 | padding_left = settings.paddings, 15 | padding_right = settings.paddings, 16 | background = { image = { corner_radius = 9 } }, 17 | }, 18 | label = { 19 | font = { 20 | family = settings.font.text, 21 | style = settings.font.style_map["Light"], 22 | size = 13.0 23 | }, 24 | color = colors.dirty_white, 25 | padding_left = settings.paddings, 26 | padding_right = settings.paddings, 27 | }, 28 | background = { 29 | height = 22, --28 30 | corner_radius = 5, 31 | border_width = 2, 32 | border_color = colors.bg2, 33 | image = { 34 | corner_radius = 9, 35 | border_color = colors.lightblack, 36 | border_width = 1 37 | } 38 | }, 39 | popup = { 40 | background = { 41 | border_width = 2, 42 | corner_radius = 9, 43 | border_color = colors.popup.border, 44 | color = colors.popup.bg, 45 | shadow = { drawing = true }, 46 | }, 47 | blur_radius = 50, 48 | }, 49 | padding_left = 5, 50 | padding_right = 5, 51 | scroll_texts = true, 52 | }) 53 | -------------------------------------------------------------------------------- /.config/sketchybar/default.lua: -------------------------------------------------------------------------------- 1 | local settings = require("settings") 2 | local colors = require("colors") 3 | 4 | -- Equivalent to the --default domain 5 | sbar.default({ 6 | updates = "when_shown", 7 | icon = { 8 | font = { 9 | family = settings.font.text, 10 | style = settings.font.style_map["Bold"], 11 | size = 14.0 12 | }, 13 | color = colors.dirty_white, 14 | padding_left = settings.paddings, 15 | padding_right = settings.paddings, 16 | background = { image = { corner_radius = 9 } }, 17 | }, 18 | label = { 19 | font = { 20 | family = settings.font.text, 21 | style = settings.font.style_map["Light"], 22 | size = 13.0 23 | }, 24 | color = colors.dirty_white, 25 | padding_left = settings.paddings, 26 | padding_right = settings.paddings, 27 | }, 28 | background = { 29 | height = 26, 30 | corner_radius = 9, 31 | border_width = 2, 32 | border_color = colors.bg2, 33 | image = { 34 | corner_radius = 9, 35 | border_color = colors.lightblack, 36 | border_width = 1 37 | } 38 | }, 39 | popup = { 40 | background = { 41 | border_width = 1, 42 | corner_radius = 9, 43 | border_color = colors.popup.border, 44 | color = colors.bar.bg, 45 | }, 46 | blur_radius = 50, 47 | }, 48 | padding_left = 3, 49 | padding_right = 3, 50 | scroll_texts = false, 51 | }) 52 | -------------------------------------------------------------------------------- /.config/sketchybar_old/items/calendar.lua: -------------------------------------------------------------------------------- 1 | local settings = require("settings") 2 | local colors = require("colors") 3 | 4 | local cal = sbar.add("item", { 5 | icon = { 6 | color = colors.dirty_white, 7 | font = { 8 | style = settings.font.style_map["Bold"], 9 | size = 12.0, 10 | }, 11 | y_offset = -1, 12 | padding_right = -2, 13 | }, 14 | label = { 15 | color = colors.dirty_white, 16 | width = 96, 17 | align = "left", 18 | font = { 19 | style = settings.font.style_map["Black"], 20 | size = 14.0, 21 | }, 22 | }, 23 | position = "right", 24 | update_freq = 1, 25 | y_offset = 1, 26 | padding_left = -2, 27 | }) 28 | 29 | -- german Date 30 | cal:subscribe({ "forced", "routine", "system_woke" }, function(env) 31 | local weekdayNames = { 32 | "So.", "Mo.", "Di.", "Mi.", "Do.", "Fr.", "Sa." 33 | } 34 | local monthNames = { 35 | "Jan.", "Feb.", "März", "Apr.", "Mai", "Juni", "Juli", "Aug.", "Sep.", "Okt.", "Nov.", "Dez." 36 | } 37 | 38 | cal:set({ 39 | icon = weekdayNames[tonumber(os.date("%w")) + 1] .. 40 | os.date("%d") .." ".. monthNames[tonumber(os.date("%m"))], 41 | label = "|" .. os.date("%H:%M:%S") 42 | }) 43 | end) 44 | 45 | cal:subscribe("mouse.clicked", function(env) 46 | sbar.exec("open -a 'Dato'") 47 | end) 48 | 49 | -- english date 50 | -- cal:subscribe({ "forced", "routine", "system_woke" }, function(env) 51 | -- cal:set({ icon = os.date("%a. %d %b."), label = os.date("%H:%M") }) 52 | -- end) 53 | -------------------------------------------------------------------------------- /.config/sketchybar_testing/items/calendar.lua: -------------------------------------------------------------------------------- 1 | local settings = require("settings") 2 | local colors = require("colors") 3 | 4 | local cal = sbar.add("item", { 5 | icon = { 6 | color = colors.dirty_white, 7 | font = { 8 | style = settings.font.style_map["Bold"], 9 | size = 12.0, 10 | }, 11 | y_offset = -1, 12 | padding_right = -2, 13 | }, 14 | label = { 15 | color = colors.dirty_white, 16 | width = 96, 17 | align = "left", 18 | font = { 19 | style = settings.font.style_map["Black"], 20 | size = 14.0, 21 | }, 22 | }, 23 | position = "right", 24 | update_freq = 1, 25 | y_offset = 1, 26 | padding_left = -2, 27 | }) 28 | 29 | -- german Date 30 | cal:subscribe({ "forced", "routine", "system_woke" }, function(env) 31 | local weekdayNames = { 32 | "So.", "Mo.", "Di.", "Mi.", "Do.", "Fr.", "Sa." 33 | } 34 | local monthNames = { 35 | "Jan.", "Feb.", "März", "Apr.", "Mai", "Juni", "Juli", "Aug.", "Sep.", "Okt.", "Nov.", "Dez." 36 | } 37 | 38 | cal:set({ 39 | icon = weekdayNames[tonumber(os.date("%w")) + 1] .. 40 | os.date("%d") .." ".. monthNames[tonumber(os.date("%m"))], 41 | label = "|" .. os.date("%H:%M:%S") 42 | }) 43 | end) 44 | 45 | cal:subscribe("mouse.clicked", function(env) 46 | sbar.exec("open -a 'Dato'") 47 | end) 48 | 49 | -- english date 50 | -- cal:subscribe({ "forced", "routine", "system_woke" }, function(env) 51 | -- cal:set({ icon = os.date("%a. %d %b."), label = os.date("%H:%M") }) 52 | -- end) 53 | -------------------------------------------------------------------------------- /.config/sketchybar_old_but_fucked_somehow/sketchybar/items/calendar.lua: -------------------------------------------------------------------------------- 1 | local settings = require("settings") 2 | local colors = require("colors") 3 | 4 | local cal = sbar.add("item", { 5 | icon = { 6 | color = colors.dirty_white, 7 | font = { 8 | style = settings.font.style_map["Bold"], 9 | size = 12.0, 10 | }, 11 | y_offset = -1, 12 | padding_right = -2, 13 | }, 14 | label = { 15 | color = colors.dirty_white, 16 | width = 96, 17 | align = "left", 18 | font = { 19 | style = settings.font.style_map["Black"], 20 | size = 14.0, 21 | }, 22 | }, 23 | position = "right", 24 | update_freq = 1, 25 | y_offset = 1, 26 | padding_left = -2, 27 | }) 28 | 29 | -- german Date 30 | cal:subscribe({ "forced", "routine", "system_woke" }, function(env) 31 | local weekdayNames = { 32 | "So.", "Mo.", "Di.", "Mi.", "Do.", "Fr.", "Sa." 33 | } 34 | local monthNames = { 35 | "Jan.", "Feb.", "März", "Apr.", "Mai", "Juni", "Juli", "Aug.", "Sep.", "Okt.", "Nov.", "Dez." 36 | } 37 | 38 | cal:set({ 39 | icon = weekdayNames[tonumber(os.date("%w")) + 1] .. 40 | os.date("%d") .." ".. monthNames[tonumber(os.date("%m"))], 41 | label = "|" .. os.date("%H:%M:%S") 42 | }) 43 | end) 44 | 45 | cal:subscribe("mouse.clicked", function(env) 46 | sbar.exec("open -a 'Dato'") 47 | end) 48 | 49 | -- english date 50 | -- cal:subscribe({ "forced", "routine", "system_woke" }, function(env) 51 | -- cal:set({ icon = os.date("%a. %d %b."), label = os.date("%H:%M") }) 52 | -- end) 53 | -------------------------------------------------------------------------------- /.config/fish/conf.d/fzf.fish: -------------------------------------------------------------------------------- 1 | # fzf.fish is only meant to be used in interactive mode. If not in interactive mode and not in CI, skip the config to speed up shell startup 2 | if not status is-interactive && test "$CI" != true 3 | exit 4 | end 5 | 6 | # Because of scoping rules, to capture the shell variables exactly as they are, we must read 7 | # them before even executing _fzf_search_variables. We use psub to store the 8 | # variables' info in temporary files and pass in the filenames as arguments. 9 | # This variable is global so that it can be referenced by fzf_configure_bindings and in tests 10 | set --global _fzf_search_vars_command '_fzf_search_variables (set --show | psub) (set --names | psub)' 11 | 12 | 13 | # Install the default bindings, which are mnemonic and minimally conflict with fish's preset bindings 14 | fzf_configure_bindings 15 | 16 | # Doesn't erase autoloaded _fzf_* functions because they are not easily accessible once key bindings are erased 17 | function _fzf_uninstall --on-event fzf_uninstall 18 | _fzf_uninstall_bindings 19 | 20 | set --erase _fzf_search_vars_command 21 | functions --erase _fzf_uninstall _fzf_migration_message _fzf_uninstall_bindings fzf_configure_bindings 22 | complete --erase fzf_configure_bindings 23 | 24 | set_color cyan 25 | echo "fzf.fish uninstalled." 26 | echo "You may need to manually remove fzf_configure_bindings from your config.fish if you were using custom key bindings." 27 | set_color normal 28 | end 29 | -------------------------------------------------------------------------------- /.config/sketchybar/helpers/event_providers/swap_load/swap_load.c: -------------------------------------------------------------------------------- 1 | #include "swap.h" 2 | #include "../sketchybar.h" 3 | 4 | int main (int argc, char** argv) { 5 | float update_freq; 6 | if (argc < 3 || (sscanf(argv[2], "%f", &update_freq) != 1)) { 7 | printf("Usage: %s \"\" \"\"\n", argv[0]); 8 | exit(1); 9 | } 10 | 11 | alarm(0); 12 | struct swap swap; 13 | swap_init(&swap); 14 | 15 | // Setup the event in sketchybar 16 | char event_message[512]; 17 | snprintf(event_message, 512, "--add event '%s'", argv[1]); 18 | sketchybar(event_message); 19 | 20 | char trigger_message[512]; 21 | for (;;) { 22 | // Acquire new info 23 | swap_update(&swap); 24 | 25 | // Format swap values in GB for better readability 26 | float total_gb = (float)swap.total_swap / (1024.0 * 1024.0 * 1024.0); 27 | float used_gb = (float)swap.used_swap / (1024.0 * 1024.0 * 1024.0); 28 | float free_gb = (float)swap.free_swap / (1024.0 * 1024.0 * 1024.0); 29 | 30 | // Prepare the event message with detailed swap information 31 | snprintf(trigger_message, 32 | 512, 33 | "--trigger '%s' pressure='%d' used_gb='%.2f' free_gb='%.2f' total_gb='%.2f'", 34 | argv[1], 35 | swap.swap_usage, 36 | used_gb, 37 | free_gb, 38 | total_gb); 39 | 40 | // Trigger the event 41 | sketchybar(trigger_message); 42 | 43 | // Wait 44 | usleep(update_freq * 1000000); 45 | } 46 | return 0; 47 | } -------------------------------------------------------------------------------- /.config/sketchybar/helpers/event_providers/ssd_load/ssd_load.c: -------------------------------------------------------------------------------- 1 | #include "ssd.h" 2 | #include "../sketchybar.h" 3 | 4 | int main (int argc, char** argv) { 5 | float update_freq; 6 | if (argc < 3 || (sscanf(argv[2], "%f", &update_freq) != 1)) { 7 | printf("Usage: %s \"\" \"\"\n", argv[0]); 8 | exit(1); 9 | } 10 | 11 | alarm(0); 12 | struct ssd ssd; 13 | ssd_init(&ssd); 14 | 15 | // Setup the event in sketchybar 16 | char event_message[512]; 17 | snprintf(event_message, 512, "--add event '%s'", argv[1]); 18 | sketchybar(event_message); 19 | 20 | char trigger_message[512]; 21 | for (;;) { 22 | // Acquire new info 23 | ssd_update(&ssd); 24 | 25 | // Format values in GB (using 1000^3 for GB as macOS does) 26 | float total_gb = (float)ssd.total_space / (1000.0 * 1000.0 * 1000.0); 27 | float used_gb = (float)ssd.used_space / (1000.0 * 1000.0 * 1000.0); 28 | float free_gb = (float)ssd.free_space / (1000.0 * 1000.0 * 1000.0); 29 | 30 | // Prepare the event message with detailed SSD information 31 | snprintf(trigger_message, 32 | 512, 33 | "--trigger '%s' pressure='%d' used_gb='%.2f' free_gb='%.2f' total_gb='%.2f'", 34 | argv[1], 35 | ssd.usage_percentage, 36 | used_gb, 37 | free_gb, 38 | total_gb); 39 | 40 | // Trigger the event 41 | sketchybar(trigger_message); 42 | 43 | // Wait 44 | usleep(update_freq * 1000000); 45 | } 46 | return 0; 47 | } -------------------------------------------------------------------------------- /scripts/paddle.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Set the framework name 4 | FRAMEWORK_NAME="Paddle.framework" 5 | 6 | # Array to store unique app names 7 | APP_NAMES=() 8 | 9 | # Function to search for the framework in an app 10 | search_framework() { 11 | local APP_PATH="$1" 12 | local APP_NAME=$(basename "$APP_PATH" .app) 13 | if [ -d "$APP_PATH/Contents/Frameworks/$FRAMEWORK_NAME" ]; then 14 | # Check if the app name already exists in the array 15 | if [[ ! " ${APP_NAMES[@]} " =~ " ${APP_NAME} " ]]; then 16 | APP_NAMES+=("$APP_NAME") 17 | fi 18 | fi 19 | } 20 | 21 | # Common folders to search within 22 | COMMON_FOLDERS=( 23 | "/Applications" 24 | "/Users" 25 | # Add more directories as needed 26 | ) 27 | 28 | # Search for apps containing the framework in common folders 29 | for FOLDER in "${COMMON_FOLDERS[@]}"; do 30 | echo "Searching in: $FOLDER" 31 | while IFS= read -r -d '' FILE; do 32 | if [[ "$FILE" == *.app ]]; then 33 | search_framework "$FILE" 34 | fi 35 | done < <(find "$FOLDER" -name "*.app" -print0 2>/dev/null) 36 | done 37 | 38 | # Check if any apps containing the framework were found 39 | if [ ${#APP_NAMES[@]} -eq 0 ]; then 40 | echo "No apps containing the framework $FRAMEWORK_NAME were found in the specified folders." 41 | else 42 | echo "Apps containing the framework $FRAMEWORK_NAME in the specified folders:" 43 | for APP_NAME in "${APP_NAMES[@]}"; do 44 | echo "$APP_NAME" 45 | done 46 | fi 47 | -------------------------------------------------------------------------------- /.config/sketchybar_old/helpers/event_providers/ssd_load/ssd_load.c: -------------------------------------------------------------------------------- 1 | #include "ssd.h" 2 | #include "../sketchybar.h" 3 | 4 | int main (int argc, char** argv) { 5 | float update_freq; 6 | if (argc < 3 || (sscanf(argv[2], "%f", &update_freq) != 1)) { 7 | // printf("Usage: %s \"\" \"\"\n", argv[0]); 8 | exit(1); 9 | } 10 | 11 | alarm(0); 12 | struct ssd ssd; 13 | ssd_init(&ssd); 14 | 15 | // Setup the event in sketchybar 16 | char event_message[512]; 17 | snprintf(event_message, 512, "--add event '%s'", argv[1]); 18 | sketchybar(event_message); 19 | 20 | char trigger_message[512]; 21 | for (;;) { 22 | // Acquire new info 23 | ssd_update(&ssd); 24 | 25 | // Format values in GB (using 1000^3 for GB as macOS does) 26 | float total_gb = (float)ssd.total_space / (1000.0 * 1000.0 * 1000.0); 27 | float used_gb = (float)ssd.used_space / (1000.0 * 1000.0 * 1000.0); 28 | float free_gb = (float)ssd.free_space / (1000.0 * 1000.0 * 1000.0); 29 | 30 | // Prepare the event message with detailed SSD information 31 | snprintf(trigger_message, 32 | 512, 33 | "--trigger '%s' pressure='%d' used_gb='%.2f' free_gb='%.2f' total_gb='%.2f'", 34 | argv[1], 35 | ssd.usage_percentage, 36 | used_gb, 37 | free_gb, 38 | total_gb); 39 | 40 | // Trigger the event 41 | sketchybar(trigger_message); 42 | 43 | // Wait 44 | usleep(update_freq * 1000000); 45 | } 46 | return 0; 47 | } -------------------------------------------------------------------------------- /.config/sketchybar_old/helpers/event_providers/swap_load/swap_load.c: -------------------------------------------------------------------------------- 1 | #include "swap.h" 2 | #include "../sketchybar.h" 3 | 4 | int main (int argc, char** argv) { 5 | float update_freq; 6 | if (argc < 3 || (sscanf(argv[2], "%f", &update_freq) != 1)) { 7 | // printf("Usage: %s \"\" \"\"\n", argv[0]); 8 | exit(1); 9 | } 10 | 11 | alarm(0); 12 | struct swap swap; 13 | swap_init(&swap); 14 | 15 | // Setup the event in sketchybar 16 | char event_message[512]; 17 | snprintf(event_message, 512, "--add event '%s'", argv[1]); 18 | sketchybar(event_message); 19 | 20 | char trigger_message[512]; 21 | for (;;) { 22 | // Acquire new info 23 | swap_update(&swap); 24 | 25 | // Format swap values in GB for better readability 26 | float total_gb = (float)swap.total_swap / (1024.0 * 1024.0 * 1024.0); 27 | float used_gb = (float)swap.used_swap / (1024.0 * 1024.0 * 1024.0); 28 | float free_gb = (float)swap.free_swap / (1024.0 * 1024.0 * 1024.0); 29 | 30 | // Prepare the event message with detailed swap information 31 | snprintf(trigger_message, 32 | 512, 33 | "--trigger '%s' pressure='%d' used_gb='%.2f' free_gb='%.2f' total_gb='%.2f'", 34 | argv[1], 35 | swap.swap_usage, 36 | used_gb, 37 | free_gb, 38 | total_gb); 39 | 40 | // Trigger the event 41 | sketchybar(trigger_message); 42 | 43 | // Wait 44 | usleep(update_freq * 1000000); 45 | } 46 | return 0; 47 | } -------------------------------------------------------------------------------- /.config/sketchybar_testing/helpers/event_providers/swap_load/swap_load.c: -------------------------------------------------------------------------------- 1 | #include "swap.h" 2 | #include "../sketchybar.h" 3 | 4 | int main (int argc, char** argv) { 5 | float update_freq; 6 | if (argc < 3 || (sscanf(argv[2], "%f", &update_freq) != 1)) { 7 | printf("Usage: %s \"\" \"\"\n", argv[0]); 8 | exit(1); 9 | } 10 | 11 | alarm(0); 12 | struct swap swap; 13 | swap_init(&swap); 14 | 15 | // Setup the event in sketchybar 16 | char event_message[512]; 17 | snprintf(event_message, 512, "--add event '%s'", argv[1]); 18 | sketchybar(event_message); 19 | 20 | char trigger_message[512]; 21 | for (;;) { 22 | // Acquire new info 23 | swap_update(&swap); 24 | 25 | // Format swap values in GB for better readability 26 | float total_gb = (float)swap.total_swap / (1024.0 * 1024.0 * 1024.0); 27 | float used_gb = (float)swap.used_swap / (1024.0 * 1024.0 * 1024.0); 28 | float free_gb = (float)swap.free_swap / (1024.0 * 1024.0 * 1024.0); 29 | 30 | // Prepare the event message with detailed swap information 31 | snprintf(trigger_message, 32 | 512, 33 | "--trigger '%s' pressure='%d' used_gb='%.2f' free_gb='%.2f' total_gb='%.2f'", 34 | argv[1], 35 | swap.swap_usage, 36 | used_gb, 37 | free_gb, 38 | total_gb); 39 | 40 | // Trigger the event 41 | sketchybar(trigger_message); 42 | 43 | // Wait 44 | usleep(update_freq * 1000000); 45 | } 46 | return 0; 47 | } -------------------------------------------------------------------------------- /.config/sketchybar_testing/helpers/event_providers/ssd_load/ssd_load.c: -------------------------------------------------------------------------------- 1 | #include "ssd.h" 2 | #include "../sketchybar.h" 3 | 4 | int main (int argc, char** argv) { 5 | float update_freq; 6 | if (argc < 3 || (sscanf(argv[2], "%f", &update_freq) != 1)) { 7 | printf("Usage: %s \"\" \"\"\n", argv[0]); 8 | exit(1); 9 | } 10 | 11 | alarm(0); 12 | struct ssd ssd; 13 | ssd_init(&ssd); 14 | 15 | // Setup the event in sketchybar 16 | char event_message[512]; 17 | snprintf(event_message, 512, "--add event '%s'", argv[1]); 18 | sketchybar(event_message); 19 | 20 | char trigger_message[512]; 21 | for (;;) { 22 | // Acquire new info 23 | ssd_update(&ssd); 24 | 25 | // Format values in GB (using 1000^3 for GB as macOS does) 26 | float total_gb = (float)ssd.total_space / (1000.0 * 1000.0 * 1000.0); 27 | float used_gb = (float)ssd.used_space / (1000.0 * 1000.0 * 1000.0); 28 | float free_gb = (float)ssd.free_space / (1000.0 * 1000.0 * 1000.0); 29 | 30 | // Prepare the event message with detailed SSD information 31 | snprintf(trigger_message, 32 | 512, 33 | "--trigger '%s' pressure='%d' used_gb='%.2f' free_gb='%.2f' total_gb='%.2f'", 34 | argv[1], 35 | ssd.usage_percentage, 36 | used_gb, 37 | free_gb, 38 | total_gb); 39 | 40 | // Trigger the event 41 | sketchybar(trigger_message); 42 | 43 | // Wait 44 | usleep(update_freq * 1000000); 45 | } 46 | return 0; 47 | } -------------------------------------------------------------------------------- /.config/sketchybar_old_but_fucked_somehow/sketchybar/helpers/event_providers/swap_load/swap_load.c: -------------------------------------------------------------------------------- 1 | #include "swap.h" 2 | #include "../sketchybar.h" 3 | 4 | int main (int argc, char** argv) { 5 | float update_freq; 6 | if (argc < 3 || (sscanf(argv[2], "%f", &update_freq) != 1)) { 7 | printf("Usage: %s \"\" \"\"\n", argv[0]); 8 | exit(1); 9 | } 10 | 11 | alarm(0); 12 | struct swap swap; 13 | swap_init(&swap); 14 | 15 | // Setup the event in sketchybar 16 | char event_message[512]; 17 | snprintf(event_message, 512, "--add event '%s'", argv[1]); 18 | sketchybar(event_message); 19 | 20 | char trigger_message[512]; 21 | for (;;) { 22 | // Acquire new info 23 | swap_update(&swap); 24 | 25 | // Format swap values in GB for better readability 26 | float total_gb = (float)swap.total_swap / (1024.0 * 1024.0 * 1024.0); 27 | float used_gb = (float)swap.used_swap / (1024.0 * 1024.0 * 1024.0); 28 | float free_gb = (float)swap.free_swap / (1024.0 * 1024.0 * 1024.0); 29 | 30 | // Prepare the event message with detailed swap information 31 | snprintf(trigger_message, 32 | 512, 33 | "--trigger '%s' pressure='%d' used_gb='%.2f' free_gb='%.2f' total_gb='%.2f'", 34 | argv[1], 35 | swap.swap_usage, 36 | used_gb, 37 | free_gb, 38 | total_gb); 39 | 40 | // Trigger the event 41 | sketchybar(trigger_message); 42 | 43 | // Wait 44 | usleep(update_freq * 1000000); 45 | } 46 | return 0; 47 | } -------------------------------------------------------------------------------- /.config/sketchybar_old/icons.lua: -------------------------------------------------------------------------------- 1 | local settings = require("settings") 2 | 3 | local icons = { 4 | sf_symbols = { 5 | plus = "􀅼", 6 | loading = "􀖇", 7 | apple = "􀣺", --󱚞 8 | gear = "􀍟", 9 | cpu = "󰒆", 10 | clipboard = "􀉄", 11 | messages = "􀌤", 12 | 13 | space_indicator = { 14 | on = "󰄯", 15 | off = "󰄰", 16 | }, 17 | 18 | switch = { 19 | on = "􁏮", 20 | off = "􁏯", 21 | }, 22 | volume = { 23 | _100 = "􀊩", 24 | _66 = "􀊧", 25 | _33 = "􀊥", 26 | _10 = "􀊡", 27 | _0 = "􀊣", 28 | }, 29 | battery = { 30 | _100 = "􀛨", 31 | _75 = "􀺸", 32 | _50 = "􀺶", 33 | _25 = "􀛩", 34 | _0 = "􀛪", 35 | charging = "􀢋" 36 | }, 37 | wifi = { 38 | upload = "􀄨", 39 | download = "􀄩", 40 | connected = "􀙇", 41 | disconnected = "􀙈", 42 | router = "􁓤", 43 | vpn = "󰌾", 44 | test = "", 45 | }, 46 | media = { 47 | back = "􀊊", 48 | forward = "􀊌", 49 | play_pause = "􀊈", 50 | }, 51 | ramicons = { 52 | swap = "󰁄", 53 | ram = "󰍛", 54 | }, 55 | }, 56 | } 57 | 58 | if not (settings.icons == "NerdFont") then 59 | return icons.sf_symbols 60 | else 61 | return icons.nerdfont 62 | end 63 | -------------------------------------------------------------------------------- /.config/sketchybar_old_but_fucked_somehow/sketchybar/helpers/event_providers/ssd_load/ssd_load.c: -------------------------------------------------------------------------------- 1 | #include "ssd.h" 2 | #include "../sketchybar.h" 3 | 4 | int main (int argc, char** argv) { 5 | float update_freq; 6 | if (argc < 3 || (sscanf(argv[2], "%f", &update_freq) != 1)) { 7 | printf("Usage: %s \"\" \"\"\n", argv[0]); 8 | exit(1); 9 | } 10 | 11 | alarm(0); 12 | struct ssd ssd; 13 | ssd_init(&ssd); 14 | 15 | // Setup the event in sketchybar 16 | char event_message[512]; 17 | snprintf(event_message, 512, "--add event '%s'", argv[1]); 18 | sketchybar(event_message); 19 | 20 | char trigger_message[512]; 21 | for (;;) { 22 | // Acquire new info 23 | ssd_update(&ssd); 24 | 25 | // Format values in GB (using 1000^3 for GB as macOS does) 26 | float total_gb = (float)ssd.total_space / (1000.0 * 1000.0 * 1000.0); 27 | float used_gb = (float)ssd.used_space / (1000.0 * 1000.0 * 1000.0); 28 | float free_gb = (float)ssd.free_space / (1000.0 * 1000.0 * 1000.0); 29 | 30 | // Prepare the event message with detailed SSD information 31 | snprintf(trigger_message, 32 | 512, 33 | "--trigger '%s' pressure='%d' used_gb='%.2f' free_gb='%.2f' total_gb='%.2f'", 34 | argv[1], 35 | ssd.usage_percentage, 36 | used_gb, 37 | free_gb, 38 | total_gb); 39 | 40 | // Trigger the event 41 | sketchybar(trigger_message); 42 | 43 | // Wait 44 | usleep(update_freq * 1000000); 45 | } 46 | return 0; 47 | } -------------------------------------------------------------------------------- /.config/fastfetch/ascii/hello.txt: -------------------------------------------------------------------------------- 1 | ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣷⡀⠀⠀⢳⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ 2 | ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢛⣋⣭⣤⠀⠀⢲⣦⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ 3 | ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⠿⠿⠿⣿⣆⡀⠙⢿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ 4 | ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣤⡀⠠⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣩⠖⠒⠋⠉⠉⠀⠀⠀⠀⠉⠹⢷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ 5 | ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣏⠅⠀⠤⠀⠀⠀⠀⠀⠀⠀⠘⡀⠈⠀⠀⠀⠀⠀⠀⠀⠀⢰⣦⠀⠀⣠⡛⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ 6 | ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣷⠱⠘⠀⣼⡄⠑⣀⣂⠈⠀⣸⠏⠀⣰⣿⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ 7 | ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠀⠀⠀⠀⠀⠄⠀⠀⠀⢿⣷⣠⣽⣿⣛⣂⠀⠀⠤⢚⡁⣀⣠⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ 8 | ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡑⢄⠀⠀⠀⢀⡤⡀⠀⢮⡳⠀⡈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ 9 | ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⣿⣧⣾⡿⣠⢿⣄⠸⣿⣦⣼⣶⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ 10 | ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢶⣌⡻⢿⡿⠡⠟⣼⣿⣷⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ 11 | ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠙⠿⣿⣧⢰⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠃⢀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ 12 | ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣶⣾⣿⣇⠙⢿⣿⣍⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠃⢀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ 13 | ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣶⣾⣿⣇⠙⢿⣿⣍⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠃⢀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ 14 | ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⣿⣿⣿⣷⣄⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⠀⣠⠆⣼⣿⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀ 15 | ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⠀⣠⠆⣼⣿⠀⠀⠀⠀⡀⠀⠀⠀⠀ 16 | ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⡀⠀⢈⠻⣿⣿⣿⠧⣤⣤⣴⣤⣭⣭⣭⣿⣿⣿⣿⣿⡟⠁⠀⡠⢀⡼⢋⣾⣿⡏⠀⠀⠀⣰⣿⣦⠀ 17 | ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⡄⢠⣿⣿⣿⣿⣦⡀⠁⠘⢿⣿⣴⣤⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⢋⣤⡾⢋⠴⢋⣠⣾⣿⠃⠀⠀⣰⣿⡿⠋⠀ 18 | ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣾⣿⣿⢡⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠙⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠫⢀⣵⣾⣣⣿⣿⠏⠀⠀⢠⡿⠋⠀⠀⠀ 19 | ⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣿⣿⣿⣿⣧⣿⣿⠿⢟⣛⣯⣥⣶⠂⢀⣼⡄⠀⠙⢿⣿⣿⣿⣿⣿⣿⣿⣿⡿⢛⣁⣴⣾⣿⣿⣿⣿⡿⠀⠀⠐⠉⠀⠀⠀⠀⠀ 20 | ⠀⠀⠀⠀⠀⠀⠀⣠⣿⣿⣿⣿⡿⢟⣋⣭⣶⣾⣿⣿⣿⣿⣧⣶⣿⣿⠃⠀⢀⠄⠙⣿⣿⣿⠿⠟⠛⠉⠁⠀⠻⣿⣿⣿⣿⣿⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀ 21 | ⠀⠀⠀⠀⠀⠀⣰⣿⣿⡿⢛⣥⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⠿⠿⠟⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀ 22 | ⠀⠀⠀⠀⠀⣼⣿⡿⢋⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ 23 | ⠀⠀⠀⠀⣼⡿⠋⠐⣿⣿⣿⣿⣿⣿⣿⣿⠟⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ 24 | ⠀⠀⠀⣼⠟⠀⠀⠀⠿⠿⡿⠿⠟⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ 25 | ⠀⠀⠀⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ 26 | -------------------------------------------------------------------------------- /.config/sketchybar_testing/icons.lua: -------------------------------------------------------------------------------- 1 | local settings = require("settings") 2 | 3 | local icons = { 4 | sf_symbols = { 5 | plus = "􀅼", 6 | loading = "􀖇", 7 | apple = "􀣺", --󱚞 8 | gear = "􀍟", 9 | cpu = "󰒆", 10 | clipboard = "􀉄", 11 | messages = "􀌤", 12 | 13 | space_indicator = { 14 | on = "󰄯", 15 | off = "󰄰", 16 | }, 17 | 18 | switch = { 19 | on = "􁏮", 20 | off = "􁏯", 21 | }, 22 | volume = { 23 | _100 = "􀊩", 24 | _66 = "􀊧", 25 | _33 = "􀊥", 26 | _10 = "􀊡", 27 | _0 = "􀊣", 28 | }, 29 | battery = { 30 | _100 = "􀛨", 31 | _75 = "􀺸", 32 | _50 = "􀺶", 33 | _25 = "􀛩", 34 | _0 = "􀛪", 35 | charging = "􀢋" 36 | }, 37 | wifi = { 38 | upload = "􀄨", 39 | download = "􀄩", 40 | connected = "􀙇", 41 | disconnected = "􀙈", 42 | router = "􁓤", 43 | vpn = "󰌾", 44 | test = "", 45 | }, 46 | media = { 47 | back = "􀊊", 48 | forward = "􀊌", 49 | play_pause = "􀊈", 50 | }, 51 | ramicons = { 52 | swap = "󰁄", 53 | ram = "󰍛", 54 | }, 55 | }, 56 | } 57 | 58 | if not (settings.icons == "NerdFont") then 59 | return icons.sf_symbols 60 | else 61 | return icons.nerdfont 62 | end 63 | -------------------------------------------------------------------------------- /.config/sketchybar_old_but_fucked_somehow/sketchybar/icons.lua: -------------------------------------------------------------------------------- 1 | local settings = require("settings") 2 | 3 | local icons = { 4 | sf_symbols = { 5 | plus = "􀅼", 6 | loading = "􀖇", 7 | apple = "􀣺", --󱚞 8 | gear = "􀍟", 9 | cpu = "󰒆", 10 | clipboard = "􀉄", 11 | messages = "􀌤", 12 | 13 | space_indicator = { 14 | on = "󰄯", 15 | off = "󰄰", 16 | }, 17 | 18 | switch = { 19 | on = "􁏮", 20 | off = "􁏯", 21 | }, 22 | volume = { 23 | _100 = "􀊩", 24 | _66 = "􀊧", 25 | _33 = "􀊥", 26 | _10 = "􀊡", 27 | _0 = "􀊣", 28 | }, 29 | battery = { 30 | _100 = "􀛨", 31 | _75 = "􀺸", 32 | _50 = "􀺶", 33 | _25 = "􀛩", 34 | _0 = "􀛪", 35 | charging = "􀢋" 36 | }, 37 | wifi = { 38 | upload = "􀄨", 39 | download = "􀄩", 40 | connected = "􀙇", 41 | disconnected = "􀙈", 42 | router = "􁓤", 43 | vpn = "󰌾", 44 | test = "", 45 | }, 46 | media = { 47 | back = "􀊊", 48 | forward = "􀊌", 49 | play_pause = "􀊈", 50 | }, 51 | ramicons = { 52 | swap = "󰁄", 53 | ram = "󰍛", 54 | }, 55 | }, 56 | } 57 | 58 | if not (settings.icons == "NerdFont") then 59 | return icons.sf_symbols 60 | else 61 | return icons.nerdfont 62 | end 63 | -------------------------------------------------------------------------------- /.config/fish/conf.d/autopair.fish: -------------------------------------------------------------------------------- 1 | status is-interactive || exit 2 | 3 | set --global autopair_left "(" "[" "{" '"' "'" 4 | set --global autopair_right ")" "]" "}" '"' "'" 5 | set --global autopair_pairs "()" "[]" "{}" '""' "''" 6 | 7 | function _autopair_fish_key_bindings --on-variable fish_key_bindings 8 | set --query fish_key_bindings[1] || return 9 | 10 | test $fish_key_bindings = fish_default_key_bindings && 11 | set --local mode default insert || 12 | set --local mode insert default 13 | 14 | bind --mode $mode[-1] --erase \177 \b \t 15 | 16 | bind --mode $mode[1] \177 _autopair_backspace # macOS ⌫ 17 | bind --mode $mode[1] \b _autopair_backspace 18 | bind --mode $mode[1] \t _autopair_tab 19 | 20 | printf "%s\n" $autopair_pairs | while read --local left right --delimiter "" 21 | bind --mode $mode[-1] --erase $left $right 22 | if test $left = $right 23 | bind --mode $mode[1] $left "_autopair_insert_same \\$left" 24 | else 25 | bind --mode $mode[1] $left "_autopair_insert_left \\$left \\$right" 26 | bind --mode $mode[1] $right "_autopair_insert_right \\$right" 27 | end 28 | end 29 | end 30 | 31 | _autopair_fish_key_bindings 32 | 33 | function _autopair_uninstall --on-event autopair_uninstall 34 | string collect ( 35 | bind --all | string replace --filter --regex -- "_autopair.*" --erase 36 | set --names | string replace --filter --regex -- "^autopair" "set --erase autopair" 37 | ) | source 38 | functions --erase (functions --all | string match "_autopair_*") 39 | end 40 | -------------------------------------------------------------------------------- /scripts/symlinks_config.conf: -------------------------------------------------------------------------------- 1 | # Define an array of symbolic link sources and targets 2 | 3 | #.scripts 4 | $HOME/dotfiles/scripts:$HOME/.scripts 5 | 6 | $HOME/dotfiles/zsh/.zshrc:$HOME/.zshrc 7 | $HOME/dotfiles/zsh/custom.zsh:$HOME/.config/zsh/custom.zsh 8 | $HOME/dotfiles/zsh/transient-prompt.zsh:$HOME/.config/zsh/transient-prompt.zsh 9 | $HOME/dotfiles/zsh/iterm-tab-colors.zsh:$HOME/.config/zsh/iterm-tab-colors.zsh 10 | $HOME/dotfiles/bash/.bashrc:$HOME/.bashrc 11 | $HOME/dotfiles/hushlogin/.hushlogin:$HOME/.hushlogin 12 | $HOME/dotfiles/nano/.nanorc:$HOME/.nanorc 13 | $HOME/dotfiles/zen/userChrome.css:"/Users/lukas/Library/Application Support/zen/Profiles/xr3uprgk.Default (release)/chrome/userChrome.css" 14 | 15 | #.config folders 16 | $HOME/dotfiles/.config/zed:$HOME/.config/zed 17 | $HOME/dotfiles/.config/yabai:$HOME/.config/yabai 18 | $HOME/dotfiles/.config/zed:$HOME/.config/zed 19 | $HOME/dotfiles/.config/topgrade/topgrade.toml:$HOME/.config 20 | $HOME/dotfiles/.config/starship:$HOME/.config/starship 21 | $HOME/dotfiles/.config/skhd:$HOME/.config/skhd 22 | $HOME/dotfiles/.config/sketchybar:$HOME/.config/sketchybar 23 | $HOME/dotfiles/.config/kitty:$HOME/.config/kitty 24 | $HOME/dotfiles/.config/fish:$HOME/.config/fish 25 | $HOME/dotfiles/.config/fastfetch:$HOME/.config/fastfetch 26 | $HOME/dotfiles/.config/btop:$HOME/.config/btop 27 | $HOME/dotfiles/.config/borders:$HOME/.config/borders 28 | $HOME/dotfiles/.config/aerospace:$HOME/.config/aerospace 29 | $HOME/dotfiles/.config/ghostty:$HOME/.config/ghostty 30 | $HOME/dotfiles/.config/topgrade/topgrade.toml:$HOME/.config/topgrade.toml 31 | $HOME/dotfiles/.config/wtf:$HOME/.config/wtf 32 | -------------------------------------------------------------------------------- /.config/sketchybar_old/helpers/event_providers/ram_load/ram_load.c: -------------------------------------------------------------------------------- 1 | #include "ram.h" 2 | #include "../sketchybar.h" 3 | 4 | int main (int argc, char** argv) { 5 | float update_freq; 6 | if (argc < 3 || (sscanf(argv[2], "%f", &update_freq) != 1)) { 7 | // printf("Usage: %s \"\" \"\"\n", argv[0]); 8 | exit(1); 9 | } 10 | 11 | alarm(0); 12 | struct ram ram; 13 | ram_init(&ram); 14 | 15 | // Setup the event in sketchybar 16 | char event_message[512]; 17 | snprintf(event_message, 512, "--add event '%s'", argv[1]); 18 | sketchybar(event_message); 19 | 20 | char trigger_message[512]; 21 | for (;;) { 22 | // Acquire new info 23 | ram_update(&ram); 24 | 25 | // Format RAM values in GB for better readability 26 | float total_gb = (float)ram.total_ram / (1024.0 * 1024.0 * 1024.0); 27 | float active_gb = (float)ram.active_ram / (1024.0 * 1024.0 * 1024.0); 28 | float wired_gb = (float)ram.wired_ram / (1024.0 * 1024.0 * 1024.0); 29 | float compressed_gb = (float)ram.compressed_ram / (1024.0 * 1024.0 * 1024.0); 30 | float available_gb = (float)ram.available_ram / (1024.0 * 1024.0 * 1024.0); 31 | 32 | // Prepare the event message with detailed RAM information 33 | snprintf(trigger_message, 34 | 512, 35 | "--trigger '%s' pressure='%d' active='%.2f' wired='%.2f' available='%.2f' compressed='%.2f' total='%.2f'", 36 | argv[1], 37 | ram.ram_usage, 38 | active_gb, 39 | wired_gb, 40 | available_gb, 41 | compressed_gb, 42 | total_gb); 43 | 44 | // Trigger the event 45 | sketchybar(trigger_message); 46 | 47 | // Wait 48 | usleep(update_freq * 1000000); 49 | } 50 | return 0; 51 | } -------------------------------------------------------------------------------- /.config/sketchybar_testing/helpers/event_providers/ram_load/ram_load.c: -------------------------------------------------------------------------------- 1 | #include "ram.h" 2 | #include "../sketchybar.h" 3 | 4 | int main (int argc, char** argv) { 5 | float update_freq; 6 | if (argc < 3 || (sscanf(argv[2], "%f", &update_freq) != 1)) { 7 | printf("Usage: %s \"\" \"\"\n", argv[0]); 8 | exit(1); 9 | } 10 | 11 | alarm(0); 12 | struct ram ram; 13 | ram_init(&ram); 14 | 15 | // Setup the event in sketchybar 16 | char event_message[512]; 17 | snprintf(event_message, 512, "--add event '%s'", argv[1]); 18 | sketchybar(event_message); 19 | 20 | char trigger_message[512]; 21 | for (;;) { 22 | // Acquire new info 23 | ram_update(&ram); 24 | 25 | // Format RAM values in GB for better readability 26 | float total_gb = (float)ram.total_ram / (1024.0 * 1024.0 * 1024.0); 27 | float active_gb = (float)ram.active_ram / (1024.0 * 1024.0 * 1024.0); 28 | float wired_gb = (float)ram.wired_ram / (1024.0 * 1024.0 * 1024.0); 29 | float compressed_gb = (float)ram.compressed_ram / (1024.0 * 1024.0 * 1024.0); 30 | float available_gb = (float)ram.available_ram / (1024.0 * 1024.0 * 1024.0); 31 | 32 | // Prepare the event message with detailed RAM information 33 | snprintf(trigger_message, 34 | 512, 35 | "--trigger '%s' pressure='%d' active='%.2f' wired='%.2f' available='%.2f' compressed='%.2f' total='%.2f'", 36 | argv[1], 37 | ram.ram_usage, 38 | active_gb, 39 | wired_gb, 40 | available_gb, 41 | compressed_gb, 42 | total_gb); 43 | 44 | // Trigger the event 45 | sketchybar(trigger_message); 46 | 47 | // Wait 48 | usleep(update_freq * 1000000); 49 | } 50 | return 0; 51 | } -------------------------------------------------------------------------------- /.config/sketchybar_old_but_fucked_somehow/sketchybar/helpers/event_providers/ram_load/ram_load.c: -------------------------------------------------------------------------------- 1 | #include "ram.h" 2 | #include "../sketchybar.h" 3 | 4 | int main (int argc, char** argv) { 5 | float update_freq; 6 | if (argc < 3 || (sscanf(argv[2], "%f", &update_freq) != 1)) { 7 | printf("Usage: %s \"\" \"\"\n", argv[0]); 8 | exit(1); 9 | } 10 | 11 | alarm(0); 12 | struct ram ram; 13 | ram_init(&ram); 14 | 15 | // Setup the event in sketchybar 16 | char event_message[512]; 17 | snprintf(event_message, 512, "--add event '%s'", argv[1]); 18 | sketchybar(event_message); 19 | 20 | char trigger_message[512]; 21 | for (;;) { 22 | // Acquire new info 23 | ram_update(&ram); 24 | 25 | // Format RAM values in GB for better readability 26 | float total_gb = (float)ram.total_ram / (1024.0 * 1024.0 * 1024.0); 27 | float active_gb = (float)ram.active_ram / (1024.0 * 1024.0 * 1024.0); 28 | float wired_gb = (float)ram.wired_ram / (1024.0 * 1024.0 * 1024.0); 29 | float compressed_gb = (float)ram.compressed_ram / (1024.0 * 1024.0 * 1024.0); 30 | float available_gb = (float)ram.available_ram / (1024.0 * 1024.0 * 1024.0); 31 | 32 | // Prepare the event message with detailed RAM information 33 | snprintf(trigger_message, 34 | 512, 35 | "--trigger '%s' pressure='%d' active='%.2f' wired='%.2f' available='%.2f' compressed='%.2f' total='%.2f'", 36 | argv[1], 37 | ram.ram_usage, 38 | active_gb, 39 | wired_gb, 40 | available_gb, 41 | compressed_gb, 42 | total_gb); 43 | 44 | // Trigger the event 45 | sketchybar(trigger_message); 46 | 47 | // Wait 48 | usleep(update_freq * 1000000); 49 | } 50 | return 0; 51 | } -------------------------------------------------------------------------------- /zsh/iterm-tab-colors.zsh: -------------------------------------------------------------------------------- 1 | # Move cursor to the beginning of the line 2 | PRELINE="\r\033[A" 3 | 4 | # Set tab color to a specified color in the Dracula palette 5 | function set_color { 6 | case $1 in 7 | green) 8 | # Dracula green: #50fa7b 9 | echo -e "\033]6;1;bg;red;brightness;80\a"$PRELINE 10 | echo -e "\033]6;1;bg;green;brightness;250\a"$PRELINE 11 | echo -e "\033]6;1;bg;blue;brightness;123\a"$PRELINE 12 | ;; 13 | red) 14 | # Dracula red: #ff5555 15 | echo -e "\033]6;1;bg;red;brightness;255\a"$PRELINE 16 | echo -e "\033]6;1;bg;green;brightness;85\a"$PRELINE 17 | echo -e "\033]6;1;bg;blue;brightness;85\a"$PRELINE 18 | ;; 19 | orange) 20 | # Dracula orange: #ffb86c 21 | echo -e "\033]6;1;bg;red;brightness;255\a"$PRELINE 22 | echo -e "\033]6;1;bg;green;brightness;184\a"$PRELINE 23 | echo -e "\033]6;1;bg;blue;brightness;108\a"$PRELINE 24 | ;; 25 | purple) 26 | # Dracula purple: #bd93f9 27 | echo -e "\033]6;1;bg;red;brightness;189\a"$PRELINE 28 | echo -e "\033]6;1;bg;green;brightness;147\a"$PRELINE 29 | echo -e "\033]6;1;bg;blue;brightness;249\a"$PRELINE 30 | ;; 31 | *) 32 | # Randomly select one of the Dracula colors 33 | colors=("green" "red" "orange" "purple") 34 | random_color=${colors[$((RANDOM % ${#colors[@]}))]} 35 | set_color $random_color 36 | ;; 37 | esac 38 | } 39 | 40 | # Call the function with your desired color 41 | # Example usage: set_color green 42 | # Uncomment the line below to automatically set a random color on tab creation 43 | set_color $(echo green red orange purple | tr ' ' '\n' | sort -R | head -n 1) 44 | -------------------------------------------------------------------------------- /.config/sketchybar_old/items/unused/apps.lua: -------------------------------------------------------------------------------- 1 | local colors = require("colors") 2 | local default = require("default") 3 | local settings = require("settings") 4 | 5 | local apps = sbar.add("bracket", "apps", {}, { 6 | position = "left", 7 | label = { 8 | font = { 9 | style = settings.font.style_map["Black"], 10 | size = 12.0, 11 | }, 12 | }, 13 | background = { 14 | color = colors.bg2, 15 | border_color = colors.bg1, 16 | border_width = 2, 17 | }, 18 | }) 19 | 20 | local function focus_window(env) 21 | sbar.exec("yabai -m query --windows id,has-focus", function(output) 22 | for _, line in ipairs(output) do 23 | sbar.set("apps." .. line.id, { 24 | label = { 25 | highlight = line['has-focus'], 26 | } 27 | }) 28 | end 29 | end) 30 | end 31 | 32 | local function update_windows(windows) 33 | -- need to check if exists 34 | sbar.remove("/apps.\\.*/") 35 | for _, line in ipairs(windows) do 36 | Width = 655 / #windows 37 | sbar.add("item", "apps." .. line['id'], { 38 | label = { 39 | string = line['app'] .. ": " .. line['title'], 40 | max_chars = Width, 41 | scroll_duration = 150, 42 | width = Width, 43 | highlight_color = colors.pink, 44 | highlight = line['has-focus'], 45 | }, 46 | padding_right = 2, 47 | click_script = "yabai -m window --focus " .. line['id'], 48 | }) 49 | end 50 | end 51 | 52 | local function get_apps(env) 53 | sbar.exec("yabai -m query --windows id,title,app,has-focus --space", update_windows) 54 | end 55 | 56 | 57 | apps:subscribe("space_change", get_apps) 58 | apps:subscribe("front_app_changed", get_apps) 59 | apps:subscribe("title_change", get_apps) 60 | apps:subscribe("window_focus", get_apps) 61 | apps:subscribe("front_app_switched", focus_window) 62 | -------------------------------------------------------------------------------- /.config/sketchybar_testing/items/unused/apps.lua: -------------------------------------------------------------------------------- 1 | local colors = require("colors") 2 | local default = require("default") 3 | local settings = require("settings") 4 | 5 | local apps = sbar.add("bracket", "apps", {}, { 6 | position = "left", 7 | label = { 8 | font = { 9 | style = settings.font.style_map["Black"], 10 | size = 12.0, 11 | }, 12 | }, 13 | background = { 14 | color = colors.bg2, 15 | border_color = colors.bg1, 16 | border_width = 2, 17 | }, 18 | }) 19 | 20 | local function focus_window(env) 21 | sbar.exec("yabai -m query --windows id,has-focus", function(output) 22 | for _, line in ipairs(output) do 23 | sbar.set("apps." .. line.id, { 24 | label = { 25 | highlight = line['has-focus'], 26 | } 27 | }) 28 | end 29 | end) 30 | end 31 | 32 | local function update_windows(windows) 33 | -- need to check if exists 34 | sbar.remove("/apps.\\.*/") 35 | for _, line in ipairs(windows) do 36 | Width = 655 / #windows 37 | sbar.add("item", "apps." .. line['id'], { 38 | label = { 39 | string = line['app'] .. ": " .. line['title'], 40 | max_chars = Width, 41 | scroll_duration = 150, 42 | width = Width, 43 | highlight_color = colors.pink, 44 | highlight = line['has-focus'], 45 | }, 46 | padding_right = 2, 47 | click_script = "yabai -m window --focus " .. line['id'], 48 | }) 49 | end 50 | end 51 | 52 | local function get_apps(env) 53 | sbar.exec("yabai -m query --windows id,title,app,has-focus --space", update_windows) 54 | end 55 | 56 | 57 | apps:subscribe("space_change", get_apps) 58 | apps:subscribe("front_app_changed", get_apps) 59 | apps:subscribe("title_change", get_apps) 60 | apps:subscribe("window_focus", get_apps) 61 | apps:subscribe("front_app_switched", focus_window) 62 | -------------------------------------------------------------------------------- /.config/sketchybar_old/items/unused/front_app.lua: -------------------------------------------------------------------------------- 1 | local colors = require("colors") 2 | local settings = require("settings") 3 | 4 | -- Events that get pushed by yabai 5 | sbar.add("event", "window_focus") 6 | sbar.add("event", "title_change") 7 | 8 | local front_app = sbar.add("item", "front_app", { 9 | position = "left", 10 | display = "active", 11 | icon = { 12 | font = { 13 | style = settings.font.style_map["Black"], 14 | size = 13.0, 15 | }, 16 | }, 17 | label = { 18 | font = { 19 | style = settings.font.style_map["Black"], 20 | size = 13.0, 21 | }, 22 | }, 23 | updates = true, 24 | }) 25 | 26 | local function set_window_title() 27 | -- Offloading the "yabai -m query --windows --window" script to an external shell script so that we can determine whether the space has no windows 28 | sbar.exec("~/.scripts/query_window.sh", function(result) 29 | if result ~= "empty" and type(result) == "table" and result.title then 30 | local window_title = result.title 31 | if #window_title > 50 then 32 | window_title = window_title:sub(1, 50) .. "…" 33 | end 34 | front_app:set({ label = { string = window_title } }) 35 | else 36 | front_app:set({ label = { string = "-" }, icon = { string = "empty" } }) 37 | end 38 | end) 39 | end 40 | 41 | front_app:subscribe("front_app_switched", function() 42 | set_window_title() 43 | end) 44 | 45 | front_app:subscribe("space_change", function() 46 | set_window_title() 47 | end) 48 | 49 | front_app:subscribe("window_focus", function() 50 | set_window_title() 51 | end) 52 | 53 | front_app:subscribe("title_change", function() 54 | set_window_title() 55 | end) 56 | 57 | front_app:subscribe("front_app_switched", function(env) 58 | front_app:set({ icon = { string = env.INFO .. ":" } }) 59 | end) 60 | -------------------------------------------------------------------------------- /.config/sketchybar_testing/items/unused/front_app.lua: -------------------------------------------------------------------------------- 1 | local colors = require("colors") 2 | local settings = require("settings") 3 | 4 | -- Events that get pushed by yabai 5 | sbar.add("event", "window_focus") 6 | sbar.add("event", "title_change") 7 | 8 | local front_app = sbar.add("item", "front_app", { 9 | position = "left", 10 | display = "active", 11 | icon = { 12 | font = { 13 | style = settings.font.style_map["Black"], 14 | size = 13.0, 15 | }, 16 | }, 17 | label = { 18 | font = { 19 | style = settings.font.style_map["Black"], 20 | size = 13.0, 21 | }, 22 | }, 23 | updates = true, 24 | }) 25 | 26 | local function set_window_title() 27 | -- Offloading the "yabai -m query --windows --window" script to an external shell script so that we can determine whether the space has no windows 28 | sbar.exec("~/.scripts/query_window.sh", function(result) 29 | if result ~= "empty" and type(result) == "table" and result.title then 30 | local window_title = result.title 31 | if #window_title > 50 then 32 | window_title = window_title:sub(1, 50) .. "…" 33 | end 34 | front_app:set({ label = { string = window_title } }) 35 | else 36 | front_app:set({ label = { string = "-" }, icon = { string = "empty" } }) 37 | end 38 | end) 39 | end 40 | 41 | front_app:subscribe("front_app_switched", function() 42 | set_window_title() 43 | end) 44 | 45 | front_app:subscribe("space_change", function() 46 | set_window_title() 47 | end) 48 | 49 | front_app:subscribe("window_focus", function() 50 | set_window_title() 51 | end) 52 | 53 | front_app:subscribe("title_change", function() 54 | set_window_title() 55 | end) 56 | 57 | front_app:subscribe("front_app_switched", function(env) 58 | front_app:set({ icon = { string = env.INFO .. ":" } }) 59 | end) 60 | -------------------------------------------------------------------------------- /.config/sketchybar_old_but_fucked_somehow/sketchybar/items/unused/apps.lua: -------------------------------------------------------------------------------- 1 | local colors = require("colors") 2 | local default = require("default") 3 | local settings = require("settings") 4 | 5 | local apps = sbar.add("bracket", "apps", {}, { 6 | position = "left", 7 | label = { 8 | font = { 9 | style = settings.font.style_map["Black"], 10 | size = 12.0, 11 | }, 12 | }, 13 | background = { 14 | color = colors.bg2, 15 | border_color = colors.bg1, 16 | border_width = 2, 17 | }, 18 | }) 19 | 20 | local function focus_window(env) 21 | sbar.exec("yabai -m query --windows id,has-focus", function(output) 22 | for _, line in ipairs(output) do 23 | sbar.set("apps." .. line.id, { 24 | label = { 25 | highlight = line['has-focus'], 26 | } 27 | }) 28 | end 29 | end) 30 | end 31 | 32 | local function update_windows(windows) 33 | -- need to check if exists 34 | sbar.remove("/apps.\\.*/") 35 | for _, line in ipairs(windows) do 36 | Width = 655 / #windows 37 | sbar.add("item", "apps." .. line['id'], { 38 | label = { 39 | string = line['app'] .. ": " .. line['title'], 40 | max_chars = Width, 41 | scroll_duration = 150, 42 | width = Width, 43 | highlight_color = colors.pink, 44 | highlight = line['has-focus'], 45 | }, 46 | padding_right = 2, 47 | click_script = "yabai -m window --focus " .. line['id'], 48 | }) 49 | end 50 | end 51 | 52 | local function get_apps(env) 53 | sbar.exec("yabai -m query --windows id,title,app,has-focus --space", update_windows) 54 | end 55 | 56 | 57 | apps:subscribe("space_change", get_apps) 58 | apps:subscribe("front_app_changed", get_apps) 59 | apps:subscribe("title_change", get_apps) 60 | apps:subscribe("window_focus", get_apps) 61 | apps:subscribe("front_app_switched", focus_window) 62 | -------------------------------------------------------------------------------- /.config/sketchybar_old_but_fucked_somehow/sketchybar/items/unused/front_app.lua: -------------------------------------------------------------------------------- 1 | local colors = require("colors") 2 | local settings = require("settings") 3 | 4 | -- Events that get pushed by yabai 5 | sbar.add("event", "window_focus") 6 | sbar.add("event", "title_change") 7 | 8 | local front_app = sbar.add("item", "front_app", { 9 | position = "left", 10 | display = "active", 11 | icon = { 12 | font = { 13 | style = settings.font.style_map["Black"], 14 | size = 13.0, 15 | }, 16 | }, 17 | label = { 18 | font = { 19 | style = settings.font.style_map["Black"], 20 | size = 13.0, 21 | }, 22 | }, 23 | updates = true, 24 | }) 25 | 26 | local function set_window_title() 27 | -- Offloading the "yabai -m query --windows --window" script to an external shell script so that we can determine whether the space has no windows 28 | sbar.exec("~/.scripts/query_window.sh", function(result) 29 | if result ~= "empty" and type(result) == "table" and result.title then 30 | local window_title = result.title 31 | if #window_title > 50 then 32 | window_title = window_title:sub(1, 50) .. "…" 33 | end 34 | front_app:set({ label = { string = window_title } }) 35 | else 36 | front_app:set({ label = { string = "-" }, icon = { string = "empty" } }) 37 | end 38 | end) 39 | end 40 | 41 | front_app:subscribe("front_app_switched", function() 42 | set_window_title() 43 | end) 44 | 45 | front_app:subscribe("space_change", function() 46 | set_window_title() 47 | end) 48 | 49 | front_app:subscribe("window_focus", function() 50 | set_window_title() 51 | end) 52 | 53 | front_app:subscribe("title_change", function() 54 | set_window_title() 55 | end) 56 | 57 | front_app:subscribe("front_app_switched", function(env) 58 | front_app:set({ icon = { string = env.INFO .. ":" } }) 59 | end) 60 | -------------------------------------------------------------------------------- /.config/sketchybar/items/widgets/cpu.lua: -------------------------------------------------------------------------------- 1 | local icons = require("icons") 2 | local colors = require("colors") 3 | local settings = require("settings") 4 | 5 | -- Execute the event provider binary which provides the event "cpu_update" for 6 | -- the cpu load data, which is fired every 2.0 seconds. 7 | sbar.exec("killall cpu_load >/dev/null; $CONFIG_DIR/helpers/event_providers/cpu_load/bin/cpu_load cpu_update 2.0") 8 | 9 | local cpu = sbar.add("graph", "widgets.cpu" , 42, { 10 | position = "right", 11 | graph = { color = colors.blue }, 12 | background = { 13 | height = 22, 14 | color = { alpha = 0 }, 15 | border_color = { alpha = 0 }, 16 | drawing = true, 17 | }, 18 | icon = { string = icons.cpu }, 19 | label = { 20 | string = "cpu ??%", 21 | font = { 22 | family = settings.font.numbers, 23 | style = settings.font.style_map["Bold"], 24 | size = 9.0, 25 | }, 26 | align = "right", 27 | padding_right = 0, 28 | width = 0, 29 | y_offset = 4 30 | }, 31 | padding_right = settings.paddings + 6 32 | }) 33 | 34 | cpu:subscribe("cpu_update", function(env) 35 | -- Also available: env.user_load, env.sys_load 36 | local load = tonumber(env.total_load) 37 | cpu:push({ load / 100. }) 38 | 39 | local color = colors.blue 40 | if load > 30 then 41 | if load < 60 then 42 | color = colors.yellow 43 | elseif load < 80 then 44 | color = colors.orange 45 | else 46 | color = colors.red 47 | end 48 | end 49 | 50 | cpu:set({ 51 | graph = { color = color }, 52 | label = "cpu " .. env.total_load .. "%", 53 | }) 54 | end) 55 | 56 | -- Background around the cpu item 57 | sbar.add("bracket", "widgets.cpu.bracket", { cpu.name }, { 58 | background = { color = colors.bg1 } 59 | }) 60 | 61 | -- Background around the cpu item 62 | sbar.add("item", "widgets.cpu.padding", { 63 | position = "right", 64 | width = settings.group_paddings 65 | }) 66 | -------------------------------------------------------------------------------- /scripts/akt_weather.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Aktuelles Datum bestimmen 4 | current_date=$(date -u +"%Y-%m-%d") 5 | 6 | # Wetterdaten von der API abrufen 7 | weather_data=$(curl -s "https://api.brightsky.dev/weather?lat=50.801&lon=12.7133&date=${current_date}") 8 | 9 | # Aktuelle Zeit in UTC bestimmen 10 | current_time=$(date -u +"%Y-%m-%dT%H:%M:%S%z") 11 | current_minute=$(date -u +"%M") 12 | 13 | # Berechne die richtige volle Stunde basierend auf der aktuellen Minute 14 | if [ "$current_minute" -le 30 ]; then 15 | correct_hour=$(date -u +"%Y-%m-%dT%H:00:00+00:00") 16 | else 17 | correct_hour=$(date -u -r $(( $(date -u +%s) + 3600 )) +"%Y-%m-%dT%H:00:00+00:00") 18 | fi 19 | 20 | # Daten extrahieren 21 | temperature=$(echo "$weather_data" | jq -r --arg correct_hour "$correct_hour" ' 22 | .weather[] | select(.timestamp == $correct_hour) | .temperature') 23 | icon=$(echo "$weather_data" | jq -r --arg correct_hour "$correct_hour" ' 24 | .weather[] | select(.timestamp == $correct_hour) | .icon') 25 | condition=$(echo "$weather_data" | jq -r --arg correct_hour "$correct_hour" ' 26 | .weather[] | select(.timestamp == $correct_hour) | .condition') 27 | wind_speed=$(echo "$weather_data" | jq -r --arg correct_hour "$correct_hour" ' 28 | .weather[] | select(.timestamp == $correct_hour) | .wind_speed') 29 | cloud_cover=$(echo "$weather_data" | jq -r --arg correct_hour "$correct_hour" ' 30 | .weather[] | select(.timestamp == $correct_hour) | .cloud_cover') 31 | visibility=$(echo "$weather_data" | jq -r --arg correct_hour "$correct_hour" ' 32 | .weather[] | select(.timestamp == $correct_hour) | .visibility') 33 | 34 | # Ergebnisse auf separaten Zeilen ausgeben 35 | echo "Station Name: St. Egdidien/Kuhschnappel" 36 | echo "Condition: ${condition}" 37 | echo "Icon: ${icon}" 38 | echo "Temperature: ${temperature}°C" 39 | echo "Wind Speed: ${wind_speed}" 40 | echo "Cloud Cover: ${cloud_cover}" 41 | echo "Visibility: ${visibility}" 42 | -------------------------------------------------------------------------------- /.config/sketchybar_testing/items/widgets/cpu.lua: -------------------------------------------------------------------------------- 1 | local icons = require("icons") 2 | local colors = require("colors") 3 | local settings = require("settings") 4 | 5 | -- Execute the event provider binary which provides the event "cpu_update" for 6 | -- the cpu load data, which is fired every 2.0 seconds. 7 | sbar.exec("killall cpu_load >/dev/null; $CONFIG_DIR/helpers/event_providers/cpu_load/bin/cpu_load cpu_update 2.0") 8 | 9 | 10 | sbar.add("item", "widgets.cpu.padding", { 11 | position = "left", 12 | width = settings.group_paddings 13 | }) 14 | 15 | local cpu = sbar.add("graph", "widgets.cpu", 42, { 16 | position = "left", 17 | graph = { color = colors.blue }, 18 | background = { 19 | height = 22, 20 | color = { alpha = 0 }, 21 | border_color = { alpha = 0 }, 22 | drawing = true, 23 | }, 24 | icon = { 25 | string = icons.cpu, 26 | font = { 27 | size = 17.0, 28 | }, 29 | }, 30 | label = { 31 | string = "cpu ??%", 32 | font = { 33 | family = settings.font.numbers, 34 | style = settings.font.style_map["Bold"], 35 | size = 9.0, 36 | }, 37 | align = "right", 38 | padding_right = 0, 39 | width = 0, 40 | y_offset = 4 41 | }, 42 | padding_right = settings.paddings + 6 43 | }) 44 | 45 | cpu:subscribe("cpu_update", function(env) 46 | -- Also available: env.user_load, env.sys_load 47 | local load = tonumber(env.total_load) 48 | cpu:push({ load / 100. }) 49 | 50 | local color = colors.blue 51 | if load > 30 then 52 | if load < 60 then 53 | color = colors.yellow 54 | elseif load < 80 then 55 | color = colors.orange 56 | else 57 | color = colors.red 58 | end 59 | end 60 | 61 | cpu:set({ 62 | graph = { color = color }, 63 | label = "cpu " .. env.total_load .. "%", 64 | }) 65 | end) 66 | 67 | cpu:subscribe("mouse.clicked", function(env) 68 | sbar.exec("open -a 'Activity Monitor'") 69 | end) 70 | 71 | -- Background around the cpu items 72 | sbar.add("bracket", "widgets.cpu.bracket", { cpu.name }, { 73 | background = { 74 | color = colors.bg2, 75 | border_color = colors.bg1, 76 | border_width = 2, 77 | }, 78 | }) 79 | 80 | 81 | -------------------------------------------------------------------------------- /.config/sketchybar/helpers/event_providers/cpu_load/cpu.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | 6 | struct cpu { 7 | host_t host; 8 | mach_msg_type_number_t count; 9 | host_cpu_load_info_data_t load; 10 | host_cpu_load_info_data_t prev_load; 11 | bool has_prev_load; 12 | 13 | int user_load; 14 | int sys_load; 15 | int total_load; 16 | }; 17 | 18 | static inline void cpu_init(struct cpu* cpu) { 19 | cpu->host = mach_host_self(); 20 | cpu->count = HOST_CPU_LOAD_INFO_COUNT; 21 | cpu->has_prev_load = false; 22 | } 23 | 24 | static inline void cpu_update(struct cpu* cpu) { 25 | kern_return_t error = host_statistics(cpu->host, 26 | HOST_CPU_LOAD_INFO, 27 | (host_info_t)&cpu->load, 28 | &cpu->count ); 29 | 30 | if (error != KERN_SUCCESS) { 31 | printf("Error: Could not read cpu host statistics.\n"); 32 | return; 33 | } 34 | 35 | if (cpu->has_prev_load) { 36 | uint32_t delta_user = cpu->load.cpu_ticks[CPU_STATE_USER] 37 | - cpu->prev_load.cpu_ticks[CPU_STATE_USER]; 38 | 39 | uint32_t delta_system = cpu->load.cpu_ticks[CPU_STATE_SYSTEM] 40 | - cpu->prev_load.cpu_ticks[CPU_STATE_SYSTEM]; 41 | 42 | uint32_t delta_idle = cpu->load.cpu_ticks[CPU_STATE_IDLE] 43 | - cpu->prev_load.cpu_ticks[CPU_STATE_IDLE]; 44 | 45 | cpu->user_load = (double)delta_user / (double)(delta_system 46 | + delta_user 47 | + delta_idle) * 100.0; 48 | 49 | cpu->sys_load = (double)delta_system / (double)(delta_system 50 | + delta_user 51 | + delta_idle) * 100.0; 52 | 53 | cpu->total_load = cpu->user_load + cpu->sys_load; 54 | } 55 | 56 | cpu->prev_load = cpu->load; 57 | cpu->has_prev_load = true; 58 | } 59 | -------------------------------------------------------------------------------- /.config/sketchybar_old/helpers/event_providers/cpu_load/cpu.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | 6 | struct cpu { 7 | host_t host; 8 | mach_msg_type_number_t count; 9 | host_cpu_load_info_data_t load; 10 | host_cpu_load_info_data_t prev_load; 11 | bool has_prev_load; 12 | 13 | int user_load; 14 | int sys_load; 15 | int total_load; 16 | }; 17 | 18 | static inline void cpu_init(struct cpu* cpu) { 19 | cpu->host = mach_host_self(); 20 | cpu->count = HOST_CPU_LOAD_INFO_COUNT; 21 | cpu->has_prev_load = false; 22 | } 23 | 24 | static inline void cpu_update(struct cpu* cpu) { 25 | kern_return_t error = host_statistics(cpu->host, 26 | HOST_CPU_LOAD_INFO, 27 | (host_info_t)&cpu->load, 28 | &cpu->count ); 29 | 30 | if (error != KERN_SUCCESS) { 31 | printf("Error: Could not read cpu host statistics.\n"); 32 | return; 33 | } 34 | 35 | if (cpu->has_prev_load) { 36 | uint32_t delta_user = cpu->load.cpu_ticks[CPU_STATE_USER] 37 | - cpu->prev_load.cpu_ticks[CPU_STATE_USER]; 38 | 39 | uint32_t delta_system = cpu->load.cpu_ticks[CPU_STATE_SYSTEM] 40 | - cpu->prev_load.cpu_ticks[CPU_STATE_SYSTEM]; 41 | 42 | uint32_t delta_idle = cpu->load.cpu_ticks[CPU_STATE_IDLE] 43 | - cpu->prev_load.cpu_ticks[CPU_STATE_IDLE]; 44 | 45 | cpu->user_load = (double)delta_user / (double)(delta_system 46 | + delta_user 47 | + delta_idle) * 100.0; 48 | 49 | cpu->sys_load = (double)delta_system / (double)(delta_system 50 | + delta_user 51 | + delta_idle) * 100.0; 52 | 53 | cpu->total_load = cpu->user_load + cpu->sys_load; 54 | } 55 | 56 | cpu->prev_load = cpu->load; 57 | cpu->has_prev_load = true; 58 | } 59 | -------------------------------------------------------------------------------- /.config/sketchybar_old/items/widgets/cpu.lua: -------------------------------------------------------------------------------- 1 | local icons = require("icons") 2 | local colors = require("colors") 3 | local settings = require("settings") 4 | 5 | -- Execute the event provider binary which provides the event "cpu_update" for 6 | -- the cpu load data, which is fired every 2.0 seconds. 7 | sbar.exec("killall cpu_load >/dev/null; $CONFIG_DIR/helpers/event_providers/cpu_load/bin/cpu_load cpu_update 2.0") 8 | 9 | local cpu = sbar.add("graph", "widgets.cpu", 42, { 10 | position = "right", 11 | graph = { color = colors.blue }, 12 | background = { 13 | height = 22, 14 | color = { alpha = 0 }, 15 | border_color = { alpha = 0 }, 16 | drawing = true, 17 | }, 18 | icon = { 19 | string = icons.cpu, 20 | font = { 21 | size = 17.0, 22 | }, 23 | }, 24 | label = { 25 | string = "cpu ??%", 26 | font = { 27 | family = settings.font.numbers, 28 | style = settings.font.style_map["Bold"], 29 | size = 9.0, 30 | }, 31 | align = "right", 32 | padding_right = 0, 33 | width = 0, 34 | y_offset = 4 35 | }, 36 | padding_right = settings.paddings + 6 37 | }) 38 | 39 | cpu:subscribe("cpu_update", function(env) 40 | -- Also available: env.user_load, env.sys_load 41 | local load = tonumber(env.total_load) 42 | cpu:push({ load / 100. }) 43 | 44 | local color = colors.blue 45 | if load > 30 then 46 | if load < 60 then 47 | color = colors.yellow 48 | elseif load < 80 then 49 | color = colors.orange 50 | else 51 | color = colors.red 52 | end 53 | end 54 | 55 | cpu:set({ 56 | graph = { color = color }, 57 | label = "cpu " .. env.total_load .. "%", 58 | }) 59 | end) 60 | 61 | cpu:subscribe("mouse.clicked", function(env) 62 | sbar.exec("open -a 'Activity Monitor'") 63 | end) 64 | 65 | -- Background around the cpu items 66 | sbar.add("bracket", "widgets.cpu.bracket", { cpu.name }, { 67 | background = { 68 | color = colors.bg2, 69 | border_color = colors.bg1, 70 | border_width = 2, 71 | }, 72 | }) 73 | 74 | -- Background around the cpu item 75 | sbar.add("item", "widgets.cpu.padding", { 76 | position = "right", 77 | width = settings.group_paddings 78 | }) 79 | -------------------------------------------------------------------------------- /.config/sketchybar_testing/helpers/event_providers/cpu_load/cpu.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | 6 | struct cpu { 7 | host_t host; 8 | mach_msg_type_number_t count; 9 | host_cpu_load_info_data_t load; 10 | host_cpu_load_info_data_t prev_load; 11 | bool has_prev_load; 12 | 13 | int user_load; 14 | int sys_load; 15 | int total_load; 16 | }; 17 | 18 | static inline void cpu_init(struct cpu* cpu) { 19 | cpu->host = mach_host_self(); 20 | cpu->count = HOST_CPU_LOAD_INFO_COUNT; 21 | cpu->has_prev_load = false; 22 | } 23 | 24 | static inline void cpu_update(struct cpu* cpu) { 25 | kern_return_t error = host_statistics(cpu->host, 26 | HOST_CPU_LOAD_INFO, 27 | (host_info_t)&cpu->load, 28 | &cpu->count ); 29 | 30 | if (error != KERN_SUCCESS) { 31 | printf("Error: Could not read cpu host statistics.\n"); 32 | return; 33 | } 34 | 35 | if (cpu->has_prev_load) { 36 | uint32_t delta_user = cpu->load.cpu_ticks[CPU_STATE_USER] 37 | - cpu->prev_load.cpu_ticks[CPU_STATE_USER]; 38 | 39 | uint32_t delta_system = cpu->load.cpu_ticks[CPU_STATE_SYSTEM] 40 | - cpu->prev_load.cpu_ticks[CPU_STATE_SYSTEM]; 41 | 42 | uint32_t delta_idle = cpu->load.cpu_ticks[CPU_STATE_IDLE] 43 | - cpu->prev_load.cpu_ticks[CPU_STATE_IDLE]; 44 | 45 | cpu->user_load = (double)delta_user / (double)(delta_system 46 | + delta_user 47 | + delta_idle) * 100.0; 48 | 49 | cpu->sys_load = (double)delta_system / (double)(delta_system 50 | + delta_user 51 | + delta_idle) * 100.0; 52 | 53 | cpu->total_load = cpu->user_load + cpu->sys_load; 54 | } 55 | 56 | cpu->prev_load = cpu->load; 57 | cpu->has_prev_load = true; 58 | } 59 | -------------------------------------------------------------------------------- /.config/sketchybar_old_but_fucked_somehow/sketchybar/helpers/event_providers/cpu_load/cpu.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | 6 | struct cpu { 7 | host_t host; 8 | mach_msg_type_number_t count; 9 | host_cpu_load_info_data_t load; 10 | host_cpu_load_info_data_t prev_load; 11 | bool has_prev_load; 12 | 13 | int user_load; 14 | int sys_load; 15 | int total_load; 16 | }; 17 | 18 | static inline void cpu_init(struct cpu* cpu) { 19 | cpu->host = mach_host_self(); 20 | cpu->count = HOST_CPU_LOAD_INFO_COUNT; 21 | cpu->has_prev_load = false; 22 | } 23 | 24 | static inline void cpu_update(struct cpu* cpu) { 25 | kern_return_t error = host_statistics(cpu->host, 26 | HOST_CPU_LOAD_INFO, 27 | (host_info_t)&cpu->load, 28 | &cpu->count ); 29 | 30 | if (error != KERN_SUCCESS) { 31 | printf("Error: Could not read cpu host statistics.\n"); 32 | return; 33 | } 34 | 35 | if (cpu->has_prev_load) { 36 | uint32_t delta_user = cpu->load.cpu_ticks[CPU_STATE_USER] 37 | - cpu->prev_load.cpu_ticks[CPU_STATE_USER]; 38 | 39 | uint32_t delta_system = cpu->load.cpu_ticks[CPU_STATE_SYSTEM] 40 | - cpu->prev_load.cpu_ticks[CPU_STATE_SYSTEM]; 41 | 42 | uint32_t delta_idle = cpu->load.cpu_ticks[CPU_STATE_IDLE] 43 | - cpu->prev_load.cpu_ticks[CPU_STATE_IDLE]; 44 | 45 | cpu->user_load = (double)delta_user / (double)(delta_system 46 | + delta_user 47 | + delta_idle) * 100.0; 48 | 49 | cpu->sys_load = (double)delta_system / (double)(delta_system 50 | + delta_user 51 | + delta_idle) * 100.0; 52 | 53 | cpu->total_load = cpu->user_load + cpu->sys_load; 54 | } 55 | 56 | cpu->prev_load = cpu->load; 57 | cpu->has_prev_load = true; 58 | } 59 | -------------------------------------------------------------------------------- /.config/sketchybar_old_but_fucked_somehow/sketchybar/items/widgets/cpu.lua: -------------------------------------------------------------------------------- 1 | local icons = require("icons") 2 | local colors = require("colors") 3 | local settings = require("settings") 4 | 5 | -- Execute the event provider binary which provides the event "cpu_update" for 6 | -- the cpu load data, which is fired every 2.0 seconds. 7 | sbar.exec("killall cpu_load >/dev/null; $CONFIG_DIR/helpers/event_providers/cpu_load/bin/cpu_load cpu_update 2.0") 8 | 9 | local cpu = sbar.add("graph", "widgets.cpu", 42, { 10 | position = "right", 11 | graph = { color = colors.blue }, 12 | background = { 13 | height = 22, 14 | color = { alpha = 0 }, 15 | border_color = { alpha = 0 }, 16 | drawing = true, 17 | }, 18 | icon = { 19 | string = icons.cpu, 20 | font = { 21 | size = 17.0, 22 | }, 23 | }, 24 | label = { 25 | string = "cpu ??%", 26 | font = { 27 | family = settings.font.numbers, 28 | style = settings.font.style_map["Bold"], 29 | size = 9.0, 30 | }, 31 | align = "right", 32 | padding_right = 0, 33 | width = 0, 34 | y_offset = 4 35 | }, 36 | padding_right = settings.paddings + 6 37 | }) 38 | 39 | cpu:subscribe("cpu_update", function(env) 40 | -- Also available: env.user_load, env.sys_load 41 | local load = tonumber(env.total_load) 42 | cpu:push({ load / 100. }) 43 | 44 | local color = colors.blue 45 | if load > 30 then 46 | if load < 60 then 47 | color = colors.yellow 48 | elseif load < 80 then 49 | color = colors.orange 50 | else 51 | color = colors.red 52 | end 53 | end 54 | 55 | cpu:set({ 56 | graph = { color = color }, 57 | label = "cpu " .. env.total_load .. "%", 58 | }) 59 | end) 60 | 61 | cpu:subscribe("mouse.clicked", function(env) 62 | sbar.exec("open -a 'Activity Monitor'") 63 | end) 64 | 65 | -- Background around the cpu items 66 | sbar.add("bracket", "widgets.cpu.bracket", { cpu.name }, { 67 | background = { 68 | color = colors.bg2, 69 | border_color = colors.bg1, 70 | border_width = 2, 71 | }, 72 | }) 73 | 74 | -- Background around the cpu item 75 | sbar.add("item", "widgets.cpu.padding", { 76 | position = "right", 77 | width = settings.group_paddings 78 | }) 79 | -------------------------------------------------------------------------------- /.config/sketchybar/helpers/event_providers/swap_load/swap.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | 7 | struct swap { 8 | host_t host; 9 | vm_size_t page_size; 10 | 11 | uint64_t total_swap; // Total swap space in bytes 12 | uint64_t used_swap; // Used swap space in bytes 13 | uint64_t free_swap; // Free swap space in bytes 14 | int swap_usage; // Swap usage percentage 15 | }; 16 | 17 | static inline void swap_init(struct swap* swap) { 18 | swap->host = mach_host_self(); 19 | 20 | // Get the page size 21 | kern_return_t error = host_page_size(swap->host, &swap->page_size); 22 | if (error != KERN_SUCCESS) { 23 | printf("Error: Could not get page size.\n"); 24 | return; 25 | } 26 | } 27 | 28 | static inline void swap_update(struct swap* swap) { 29 | // Get swap statistics 30 | vm_statistics64_data_t vm_stats; 31 | mach_msg_type_number_t count = HOST_VM_INFO64_COUNT; 32 | 33 | kern_return_t error = host_statistics64(swap->host, 34 | HOST_VM_INFO64, 35 | (host_info_t)&vm_stats, 36 | &count); 37 | 38 | if (error != KERN_SUCCESS) { 39 | printf("Error: Could not read swap statistics.\n"); 40 | return; 41 | } 42 | 43 | // Get total swap using sysctl 44 | int mib[2]; 45 | size_t length; 46 | mib[0] = CTL_VM; 47 | mib[1] = VM_SWAPUSAGE; 48 | struct xsw_usage swap_usage; 49 | length = sizeof(swap_usage); 50 | 51 | if (sysctl(mib, 2, &swap_usage, &length, NULL, 0) != 0) { 52 | printf("Error: Could not get swap usage.\n"); 53 | return; 54 | } 55 | 56 | swap->total_swap = swap_usage.xsu_total; 57 | swap->used_swap = swap_usage.xsu_used; 58 | swap->free_swap = swap_usage.xsu_avail; 59 | 60 | // Calculate swap usage percentage 61 | if (swap->total_swap > 0) { 62 | double usage_ratio = (double)swap->used_swap / (double)swap->total_swap; 63 | swap->swap_usage = (int)(usage_ratio * 100.0); 64 | } else { 65 | swap->swap_usage = 0; 66 | } 67 | } -------------------------------------------------------------------------------- /.config/sketchybar_testing/helpers/event_providers/swap_load/swap.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | 7 | struct swap { 8 | host_t host; 9 | vm_size_t page_size; 10 | 11 | uint64_t total_swap; // Total swap space in bytes 12 | uint64_t used_swap; // Used swap space in bytes 13 | uint64_t free_swap; // Free swap space in bytes 14 | int swap_usage; // Swap usage percentage 15 | }; 16 | 17 | static inline void swap_init(struct swap* swap) { 18 | swap->host = mach_host_self(); 19 | 20 | // Get the page size 21 | kern_return_t error = host_page_size(swap->host, &swap->page_size); 22 | if (error != KERN_SUCCESS) { 23 | printf("Error: Could not get page size.\n"); 24 | return; 25 | } 26 | } 27 | 28 | static inline void swap_update(struct swap* swap) { 29 | // Get swap statistics 30 | vm_statistics64_data_t vm_stats; 31 | mach_msg_type_number_t count = HOST_VM_INFO64_COUNT; 32 | 33 | kern_return_t error = host_statistics64(swap->host, 34 | HOST_VM_INFO64, 35 | (host_info_t)&vm_stats, 36 | &count); 37 | 38 | if (error != KERN_SUCCESS) { 39 | printf("Error: Could not read swap statistics.\n"); 40 | return; 41 | } 42 | 43 | // Get total swap using sysctl 44 | int mib[2]; 45 | size_t length; 46 | mib[0] = CTL_VM; 47 | mib[1] = VM_SWAPUSAGE; 48 | struct xsw_usage swap_usage; 49 | length = sizeof(swap_usage); 50 | 51 | if (sysctl(mib, 2, &swap_usage, &length, NULL, 0) != 0) { 52 | printf("Error: Could not get swap usage.\n"); 53 | return; 54 | } 55 | 56 | swap->total_swap = swap_usage.xsu_total; 57 | swap->used_swap = swap_usage.xsu_used; 58 | swap->free_swap = swap_usage.xsu_avail; 59 | 60 | // Calculate swap usage percentage 61 | if (swap->total_swap > 0) { 62 | double usage_ratio = (double)swap->used_swap / (double)swap->total_swap; 63 | swap->swap_usage = (int)(usage_ratio * 100.0); 64 | } else { 65 | swap->swap_usage = 0; 66 | } 67 | } -------------------------------------------------------------------------------- /.config/sketchybar_old/helpers/event_providers/swap_load/swap.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | 7 | struct swap { 8 | host_t host; 9 | vm_size_t page_size; 10 | 11 | uint64_t total_swap; // Total swap space in bytes 12 | uint64_t used_swap; // Used swap space in bytes 13 | uint64_t free_swap; // Free swap space in bytes 14 | int swap_usage; // Swap usage percentage 15 | }; 16 | 17 | static inline void swap_init(struct swap* swap) { 18 | swap->host = mach_host_self(); 19 | 20 | // Get the page size 21 | kern_return_t error = host_page_size(swap->host, &swap->page_size); 22 | if (error != KERN_SUCCESS) { 23 | // printf("Error: Could not get page size.\n"); 24 | return; 25 | } 26 | } 27 | 28 | static inline void swap_update(struct swap* swap) { 29 | // Get swap statistics 30 | vm_statistics64_data_t vm_stats; 31 | mach_msg_type_number_t count = HOST_VM_INFO64_COUNT; 32 | 33 | kern_return_t error = host_statistics64(swap->host, 34 | HOST_VM_INFO64, 35 | (host_info_t)&vm_stats, 36 | &count); 37 | 38 | if (error != KERN_SUCCESS) { 39 | // printf("Error: Could not read swap statistics.\n"); 40 | return; 41 | } 42 | 43 | // Get total swap using sysctl 44 | int mib[2]; 45 | size_t length; 46 | mib[0] = CTL_VM; 47 | mib[1] = VM_SWAPUSAGE; 48 | struct xsw_usage swap_usage; 49 | length = sizeof(swap_usage); 50 | 51 | if (sysctl(mib, 2, &swap_usage, &length, NULL, 0) != 0) { 52 | // printf("Error: Could not get swap usage.\n"); 53 | return; 54 | } 55 | 56 | swap->total_swap = swap_usage.xsu_total; 57 | swap->used_swap = swap_usage.xsu_used; 58 | swap->free_swap = swap_usage.xsu_avail; 59 | 60 | // Calculate swap usage percentage 61 | if (swap->total_swap > 0) { 62 | double usage_ratio = (double)swap->used_swap / (double)swap->total_swap; 63 | swap->swap_usage = (int)(usage_ratio * 100.0); 64 | } else { 65 | swap->swap_usage = 0; 66 | } 67 | } -------------------------------------------------------------------------------- /.config/sketchybar_old_but_fucked_somehow/sketchybar/helpers/event_providers/swap_load/swap.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | 7 | struct swap { 8 | host_t host; 9 | vm_size_t page_size; 10 | 11 | uint64_t total_swap; // Total swap space in bytes 12 | uint64_t used_swap; // Used swap space in bytes 13 | uint64_t free_swap; // Free swap space in bytes 14 | int swap_usage; // Swap usage percentage 15 | }; 16 | 17 | static inline void swap_init(struct swap* swap) { 18 | swap->host = mach_host_self(); 19 | 20 | // Get the page size 21 | kern_return_t error = host_page_size(swap->host, &swap->page_size); 22 | if (error != KERN_SUCCESS) { 23 | printf("Error: Could not get page size.\n"); 24 | return; 25 | } 26 | } 27 | 28 | static inline void swap_update(struct swap* swap) { 29 | // Get swap statistics 30 | vm_statistics64_data_t vm_stats; 31 | mach_msg_type_number_t count = HOST_VM_INFO64_COUNT; 32 | 33 | kern_return_t error = host_statistics64(swap->host, 34 | HOST_VM_INFO64, 35 | (host_info_t)&vm_stats, 36 | &count); 37 | 38 | if (error != KERN_SUCCESS) { 39 | printf("Error: Could not read swap statistics.\n"); 40 | return; 41 | } 42 | 43 | // Get total swap using sysctl 44 | int mib[2]; 45 | size_t length; 46 | mib[0] = CTL_VM; 47 | mib[1] = VM_SWAPUSAGE; 48 | struct xsw_usage swap_usage; 49 | length = sizeof(swap_usage); 50 | 51 | if (sysctl(mib, 2, &swap_usage, &length, NULL, 0) != 0) { 52 | printf("Error: Could not get swap usage.\n"); 53 | return; 54 | } 55 | 56 | swap->total_swap = swap_usage.xsu_total; 57 | swap->used_swap = swap_usage.xsu_used; 58 | swap->free_swap = swap_usage.xsu_avail; 59 | 60 | // Calculate swap usage percentage 61 | if (swap->total_swap > 0) { 62 | double usage_ratio = (double)swap->used_swap / (double)swap->total_swap; 63 | swap->swap_usage = (int)(usage_ratio * 100.0); 64 | } else { 65 | swap->swap_usage = 0; 66 | } 67 | } -------------------------------------------------------------------------------- /.config/sketchybar_testing/items/front_apps.lua: -------------------------------------------------------------------------------- 1 | local colors = require("colors") 2 | local settings = require("settings") 3 | local app_icons = require("helpers.app_icons") 4 | 5 | sbar.add("event", "window_focus") 6 | sbar.add("event", "title_change") 7 | 8 | local apps = sbar.add("bracket", "apps", {}, { 9 | position = "center", 10 | icon = { 11 | padding_right = 15, 12 | padding_left = 8, 13 | color = colors.dirty_white, 14 | font = "sketchybar-app-font:Regular:16.0", 15 | y_offset = -1, 16 | }, 17 | label = { 18 | font = { 19 | style = settings.font.style_map["Black"], 20 | size = 12.0, 21 | }, 22 | }, 23 | background = { 24 | color = colors.bg2, 25 | border_color = colors.bg1, 26 | border_width = 2, 27 | }, 28 | }) 29 | 30 | local function update_windows(windows) 31 | -- Create a list of unique apps 32 | local seen_apps = {} 33 | local unique_windows = {} 34 | 35 | for _, window in ipairs(windows) do 36 | local app_name = window['app'] 37 | 38 | -- Only add each app once (first instance, typically the focused one) 39 | if not seen_apps[app_name] then 40 | seen_apps[app_name] = true 41 | table.insert(unique_windows, window) 42 | end 43 | end 44 | 45 | -- Remove existing items 46 | sbar.remove("/apps.\\.*/") 47 | 48 | for _, window in ipairs(unique_windows) do 49 | local app_name = window['app'] 50 | 51 | -- Fetch the icon for the app 52 | local icon = app_icons[app_name] or app_icons["default"] 53 | 54 | sbar.add("item", "apps." .. window['id'], { 55 | label = { 56 | string = app_name, 57 | highlight = window['has-focus'], 58 | color = colors.purple, 59 | highlight_color = colors.pink, 60 | }, 61 | icon = { 62 | string = icon, 63 | font = "sketchybar-app-font:Regular:16.0", 64 | color = colors.dirty_white, 65 | }, 66 | padding_right = 2, 67 | click_script = "yabai -m window --focus " .. window['id'], 68 | }) 69 | end 70 | end 71 | 72 | local function get_apps() 73 | sbar.exec("yabai -m query --windows id,title,app,has-focus --space", function(output) 74 | update_windows(output) 75 | end) 76 | end 77 | 78 | apps:subscribe("space_change", get_apps) 79 | apps:subscribe("front_app_changed", get_apps) 80 | apps:subscribe("title_change", get_apps) 81 | apps:subscribe("window_focus", get_apps) -------------------------------------------------------------------------------- /.config/sketchybar_testing/helpers/event_providers/ram_load/ram.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | 7 | struct ram { 8 | host_t host; 9 | vm_size_t page_size; 10 | 11 | uint64_t total_ram; // Total physical RAM in bytes 12 | uint64_t active_ram; // Active RAM in bytes 13 | uint64_t wired_ram; // Wired RAM in bytes 14 | uint64_t compressed_ram; // Compressed RAM in bytes 15 | uint64_t available_ram; // Available RAM in bytes 16 | 17 | int ram_usage; // RAM usage percentage 18 | }; 19 | 20 | static inline void ram_init(struct ram* ram) { 21 | ram->host = mach_host_self(); 22 | 23 | // Get the page size 24 | kern_return_t error = host_page_size(ram->host, &ram->page_size); 25 | if (error != KERN_SUCCESS) { 26 | printf("Error: Could not get page size.\n"); 27 | return; 28 | } 29 | } 30 | 31 | static inline void ram_update(struct ram* ram) { 32 | // Get memory statistics 33 | vm_statistics64_data_t vm_stats; 34 | mach_msg_type_number_t count = HOST_VM_INFO64_COUNT; 35 | 36 | kern_return_t error = host_statistics64(ram->host, 37 | HOST_VM_INFO64, 38 | (host_info_t)&vm_stats, 39 | &count); 40 | 41 | if (error != KERN_SUCCESS) { 42 | printf("Error: Could not read RAM statistics.\n"); 43 | return; 44 | } 45 | 46 | // Get total RAM using sysctl 47 | int mib[2]; 48 | size_t length; 49 | mib[0] = CTL_HW; 50 | mib[1] = HW_MEMSIZE; 51 | length = sizeof(ram->total_ram); 52 | if (sysctl(mib, 2, &ram->total_ram, &length, NULL, 0) != 0) { 53 | printf("Error: Could not get total RAM size.\n"); 54 | return; 55 | } 56 | 57 | // Calculate memory usage 58 | uint64_t free_memory = vm_stats.free_count * ram->page_size; 59 | ram->active_ram = vm_stats.active_count * ram->page_size; 60 | ram->wired_ram = vm_stats.wire_count * ram->page_size; 61 | ram->compressed_ram = vm_stats.compressor_page_count * ram->page_size; 62 | ram->available_ram = free_memory; 63 | 64 | if (ram->total_ram > 0) { 65 | uint64_t used_memory = ram->active_ram + ram->wired_ram + ram->compressed_ram; 66 | ram->ram_usage = (int)((double)used_memory / (double)ram->total_ram * 100.0); 67 | } else { 68 | ram->ram_usage = 0; 69 | } 70 | } -------------------------------------------------------------------------------- /.config/sketchybar_old_but_fucked_somehow/sketchybar/helpers/event_providers/ram_load/ram.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | 7 | struct ram { 8 | host_t host; 9 | vm_size_t page_size; 10 | 11 | uint64_t total_ram; // Total physical RAM in bytes 12 | uint64_t active_ram; // Active RAM in bytes 13 | uint64_t wired_ram; // Wired RAM in bytes 14 | uint64_t compressed_ram; // Compressed RAM in bytes 15 | uint64_t available_ram; // Available RAM in bytes 16 | 17 | int ram_usage; // RAM usage percentage 18 | }; 19 | 20 | static inline void ram_init(struct ram* ram) { 21 | ram->host = mach_host_self(); 22 | 23 | // Get the page size 24 | kern_return_t error = host_page_size(ram->host, &ram->page_size); 25 | if (error != KERN_SUCCESS) { 26 | printf("Error: Could not get page size.\n"); 27 | return; 28 | } 29 | } 30 | 31 | static inline void ram_update(struct ram* ram) { 32 | // Get memory statistics 33 | vm_statistics64_data_t vm_stats; 34 | mach_msg_type_number_t count = HOST_VM_INFO64_COUNT; 35 | 36 | kern_return_t error = host_statistics64(ram->host, 37 | HOST_VM_INFO64, 38 | (host_info_t)&vm_stats, 39 | &count); 40 | 41 | if (error != KERN_SUCCESS) { 42 | printf("Error: Could not read RAM statistics.\n"); 43 | return; 44 | } 45 | 46 | // Get total RAM using sysctl 47 | int mib[2]; 48 | size_t length; 49 | mib[0] = CTL_HW; 50 | mib[1] = HW_MEMSIZE; 51 | length = sizeof(ram->total_ram); 52 | if (sysctl(mib, 2, &ram->total_ram, &length, NULL, 0) != 0) { 53 | printf("Error: Could not get total RAM size.\n"); 54 | return; 55 | } 56 | 57 | // Calculate memory usage 58 | uint64_t free_memory = vm_stats.free_count * ram->page_size; 59 | ram->active_ram = vm_stats.active_count * ram->page_size; 60 | ram->wired_ram = vm_stats.wire_count * ram->page_size; 61 | ram->compressed_ram = vm_stats.compressor_page_count * ram->page_size; 62 | ram->available_ram = free_memory; 63 | 64 | if (ram->total_ram > 0) { 65 | uint64_t used_memory = ram->active_ram + ram->wired_ram + ram->compressed_ram; 66 | ram->ram_usage = (int)((double)used_memory / (double)ram->total_ram * 100.0); 67 | } else { 68 | ram->ram_usage = 0; 69 | } 70 | } -------------------------------------------------------------------------------- /.config/topgrade/topgrade.toml: -------------------------------------------------------------------------------- 1 | [misc] 2 | # Disable specific steps - same options as the command line flag 3 | disable = ["git_repos"] 4 | 5 | # Don't ask for confirmations (no default value) 6 | assume_yes = true 7 | 8 | # Cleanup temporary or old files (default: false) 9 | cleanup = true 10 | 11 | 12 | # Commands to run before anything 13 | [pre_commands] 14 | # "Emacs Snapshot" = "rm -rf ~/.emacs.d/elpa.bak && cp -rl ~/.emacs.d/elpa ~/.emacs.d/elpa.bak" 15 | 16 | 17 | # Commands to run after anything 18 | [post_commands] 19 | # "Emacs Snapshot" = "rm -rf ~/.emacs.d/elpa.bak && cp -rl ~/.emacs.d/elpa ~/.emacs.d/elpa.bak" 20 | 21 | 22 | # Custom commands 23 | [commands] 24 | # "Python Environment" = "~/dev/.env/bin/pip install -i https://pypi.python.org/simple -U --upgrade-strategy eager jupyter" 25 | # "Custom command using interactive shell (unix)" = "-i vim_upgrade" 26 | 27 | 28 | [python] 29 | # enable_pip_review = true ###disabled by default 30 | # enable_pip_review_local = true ###disabled by default 31 | # enable_pipupgrade = true ###disabled by default 32 | # pipupgrade_arguments = "-y -u --pip-path pip" ###disabled by default 33 | 34 | 35 | [composer] 36 | # self_update = true 37 | 38 | 39 | [brew] 40 | # For the BrewCask step 41 | # If `Repo Cask Upgrade` exists, then use the `-a` option. 42 | # Otherwise, use the `--greedy` option. 43 | # greedy_cask = true 44 | 45 | # For the BrewCask step 46 | # If `Repo Cask Upgrade` does not exist, then use the `--greedy_latest` option. 47 | # NOTE: the above entry `greedy_cask` contains this entry, though you can enable 48 | # both of them, they won't clash with each other. 49 | # greedy_latest = true 50 | 51 | # For the BrewFormula step 52 | # Execute `brew autoremove` after the step. 53 | autoremove = true 54 | 55 | # For the BrewFormula step 56 | # Upgrade formulae built from the HEAD branch; `brew upgrade --fetch-HEAD` 57 | # fetch_head = true 58 | 59 | 60 | [git] 61 | # How many repos to pull at max in parallel 62 | # max_concurrency = 5 63 | 64 | # Additional git repositories to pull 65 | # repos = [ 66 | # "$HOME/Dotfiles", 67 | # ] 68 | 69 | # Don't pull the predefined git repos 70 | # pull_predefined = false 71 | 72 | # Arguments to pass Git when pulling Repositories 73 | # arguments = "--rebase --autostash" 74 | 75 | 76 | [vim] 77 | # For `vim-plug`, execute `PlugUpdate!` instead of `PlugUpdate` 78 | # force_plug_update = true 79 | 80 | 81 | [firmware] 82 | # Offer to update firmware; if false just check for and display available updates 83 | # upgrade = true 84 | -------------------------------------------------------------------------------- /.config/sketchybar_old/items/menus.lua: -------------------------------------------------------------------------------- 1 | local colors = require("colors") 2 | local settings = require("settings") 3 | 4 | local menu_watcher = sbar.add("item", { 5 | drawing = false, 6 | updates = false, 7 | }) 8 | local space_menu_swap = sbar.add("item", { 9 | drawing = false, 10 | updates = true, 11 | }) 12 | sbar.add("event", "swap_menus_and_spaces") 13 | 14 | local max_items = 15 15 | local menu_items = {} 16 | for i = 1, max_items, 1 do 17 | local menu = sbar.add("item", "menu." .. i, { 18 | padding_left = settings.paddings, 19 | padding_right = settings.paddings, 20 | drawing = false, 21 | icon = { drawing = false }, 22 | label = { 23 | font = { 24 | style = settings.font.style_map[i == 1 and "Heavy" or "Semibold"] 25 | }, 26 | padding_left = 6, 27 | padding_right = 6, 28 | }, 29 | click_script = "$CONFIG_DIR/helpers/menus/bin/menus -s " .. i, 30 | }) 31 | 32 | menu_items[i] = menu 33 | end 34 | 35 | sbar.add("bracket", { '/menu\\..*/' }, { 36 | background = { color = colors.bg1 } 37 | }) 38 | 39 | local menu_padding = sbar.add("item", "menu.padding", { 40 | drawing = false, 41 | width = 5 42 | }) 43 | 44 | local function update_menus(env) 45 | sbar.exec("$CONFIG_DIR/helpers/menus/bin/menus -l", function(menus) 46 | sbar.set('/menu\\..*/', { drawing = false }) 47 | menu_padding:set({ drawing = true }) 48 | Id = 1 49 | for menu in string.gmatch(menus, '[^\r\n]+') do 50 | if Id < max_items then 51 | menu_items[Id]:set({ label = menu, drawing = true }) 52 | else 53 | break 54 | end 55 | Id = Id + 1 56 | end 57 | end) 58 | end 59 | 60 | menu_watcher:subscribe("front_app_switched", update_menus) 61 | 62 | space_menu_swap:subscribe("swap_menus_and_spaces", function(env) 63 | local drawing = menu_items[1]:query().geometry.drawing == "on" 64 | if drawing then 65 | menu_watcher:set({ updates = false }) 66 | sbar.set("/menu\\..*/", { drawing = false }) 67 | sbar.set("/space\\..*/", { drawing = true }) 68 | sbar.set("front_app", { drawing = true }) 69 | else 70 | menu_watcher:set({ updates = true }) 71 | sbar.set("/space\\..*/", { drawing = false }) 72 | sbar.set("front_app", { drawing = true }) 73 | update_menus() 74 | end 75 | end) 76 | 77 | return menu_watcher 78 | 79 | -- sbar.set("/workspace\\_.*/", { drawing = true }) 80 | -- sbar.set("/workspace\\_.*/", { drawing = false }) 81 | -------------------------------------------------------------------------------- /.config/sketchybar_testing/items/menus.lua: -------------------------------------------------------------------------------- 1 | local colors = require("colors") 2 | local settings = require("settings") 3 | 4 | local menu_watcher = sbar.add("item", { 5 | drawing = false, 6 | updates = false, 7 | }) 8 | local space_menu_swap = sbar.add("item", { 9 | drawing = false, 10 | updates = true, 11 | }) 12 | sbar.add("event", "swap_menus_and_spaces") 13 | 14 | local max_items = 15 15 | local menu_items = {} 16 | for i = 1, max_items, 1 do 17 | local menu = sbar.add("item", "menu." .. i, { 18 | padding_left = settings.paddings, 19 | padding_right = settings.paddings, 20 | drawing = false, 21 | icon = { drawing = false }, 22 | label = { 23 | font = { 24 | style = settings.font.style_map[i == 1 and "Heavy" or "Semibold"] 25 | }, 26 | padding_left = 6, 27 | padding_right = 6, 28 | }, 29 | click_script = "$CONFIG_DIR/helpers/menus/bin/menus -s " .. i, 30 | }) 31 | 32 | menu_items[i] = menu 33 | end 34 | 35 | sbar.add("bracket", { '/menu\\..*/' }, { 36 | background = { color = colors.bg1 } 37 | }) 38 | 39 | local menu_padding = sbar.add("item", "menu.padding", { 40 | drawing = false, 41 | width = 5 42 | }) 43 | 44 | local function update_menus(env) 45 | sbar.exec("$CONFIG_DIR/helpers/menus/bin/menus -l", function(menus) 46 | sbar.set('/menu\\..*/', { drawing = false }) 47 | menu_padding:set({ drawing = true }) 48 | Id = 1 49 | for menu in string.gmatch(menus, '[^\r\n]+') do 50 | if Id < max_items then 51 | menu_items[Id]:set({ label = menu, drawing = true }) 52 | else 53 | break 54 | end 55 | Id = Id + 1 56 | end 57 | end) 58 | end 59 | 60 | menu_watcher:subscribe("front_app_switched", update_menus) 61 | 62 | space_menu_swap:subscribe("swap_menus_and_spaces", function(env) 63 | local drawing = menu_items[1]:query().geometry.drawing == "on" 64 | if drawing then 65 | menu_watcher:set({ updates = false }) 66 | sbar.set("/menu\\..*/", { drawing = false }) 67 | sbar.set("/space\\..*/", { drawing = true }) 68 | sbar.set("front_app", { drawing = true }) 69 | else 70 | menu_watcher:set({ updates = true }) 71 | sbar.set("/space\\..*/", { drawing = false }) 72 | sbar.set("front_app", { drawing = true }) 73 | update_menus() 74 | end 75 | end) 76 | 77 | return menu_watcher 78 | 79 | -- sbar.set("/workspace\\_.*/", { drawing = true }) 80 | -- sbar.set("/workspace\\_.*/", { drawing = false }) 81 | -------------------------------------------------------------------------------- /.config/btop/themes/catppuccin_frappe.theme: -------------------------------------------------------------------------------- 1 | # Main background, empty for terminal default, need to be empty if you want transparent background 2 | theme[main_bg]="#303446" 3 | 4 | # Main text color 5 | theme[main_fg]="#C6D0F5" 6 | 7 | # Title color for boxes 8 | theme[title]="#C6D0F5" 9 | 10 | # Highlight color for keyboard shortcuts 11 | theme[hi_fg]="#8CAAEE" 12 | 13 | # Background color of selected item in processes box 14 | theme[selected_bg]="#51576D" 15 | 16 | # Foreground color of selected item in processes box 17 | theme[selected_fg]="#8CAAEE" 18 | 19 | # Color of inactive/disabled text 20 | theme[inactive_fg]="#838BA7" 21 | 22 | # Color of text appearing on top of graphs, i.e uptime and current network graph scaling 23 | theme[graph_text]="#F2D5CF" 24 | 25 | # Background color of the percentage meters 26 | theme[meter_bg]="#51576D" 27 | 28 | # Misc colors for processes box including mini cpu graphs, details memory graph and details status text 29 | theme[proc_misc]="#F2D5CF" 30 | 31 | # CPU, Memory, Network, Proc box outline colors 32 | theme[cpu_box]="#ca9ee6" #Mauve 33 | theme[mem_box]="#a6d189" #Green 34 | theme[net_box]="#ea999c" #Maroon 35 | theme[proc_box]="#8caaee" #Blue 36 | 37 | # Box divider line and small boxes line color 38 | theme[div_line]="#737994" 39 | 40 | # Temperature graph color (Green -> Yellow -> Red) 41 | theme[temp_start]="#a6d189" 42 | theme[temp_mid]="#e5c890" 43 | theme[temp_end]="#e78284" 44 | 45 | # CPU graph colors (Teal -> Lavender) 46 | theme[cpu_start]="#81c8be" 47 | theme[cpu_mid]="#85c1dc" 48 | theme[cpu_end]="#babbf1" 49 | 50 | # Mem/Disk free meter (Mauve -> Lavender -> Blue) 51 | theme[free_start]="#ca9ee6" 52 | theme[free_mid]="#babbf1" 53 | theme[free_end]="#8caaee" 54 | 55 | # Mem/Disk cached meter (Sapphire -> Lavender) 56 | theme[cached_start]="#85c1dc" 57 | theme[cached_mid]="#8caaee" 58 | theme[cached_end]="#babbf1" 59 | 60 | # Mem/Disk available meter (Peach -> Red) 61 | theme[available_start]="#ef9f76" 62 | theme[available_mid]="#ea999c" 63 | theme[available_end]="#e78284" 64 | 65 | # Mem/Disk used meter (Green -> Sky) 66 | theme[used_start]="#a6d189" 67 | theme[used_mid]="#81c8be" 68 | theme[used_end]="#99d1db" 69 | 70 | # Download graph colors (Peach -> Red) 71 | theme[download_start]="#ef9f76" 72 | theme[download_mid]="#ea999c" 73 | theme[download_end]="#e78284" 74 | 75 | # Upload graph colors (Green -> Sky) 76 | theme[upload_start]="#a6d189" 77 | theme[upload_mid]="#81c8be" 78 | theme[upload_end]="#99d1db" 79 | 80 | # Process box color gradient for threads, mem and cpu usage (Sapphire -> Mauve) 81 | theme[process_start]="#85c1dc" 82 | theme[process_mid]="#babbf1" 83 | theme[process_end]="#ca9ee6" 84 | -------------------------------------------------------------------------------- /.config/btop/themes/catppuccin_mocha.theme: -------------------------------------------------------------------------------- 1 | # Main background, empty for terminal default, need to be empty if you want transparent background 2 | theme[main_bg]="#1E1E2E" 3 | 4 | # Main text color 5 | theme[main_fg]="#CDD6F4" 6 | 7 | # Title color for boxes 8 | theme[title]="#CDD6F4" 9 | 10 | # Highlight color for keyboard shortcuts 11 | theme[hi_fg]="#89B4FA" 12 | 13 | # Background color of selected item in processes box 14 | theme[selected_bg]="#45475A" 15 | 16 | # Foreground color of selected item in processes box 17 | theme[selected_fg]="#89B4FA" 18 | 19 | # Color of inactive/disabled text 20 | theme[inactive_fg]="#7F849C" 21 | 22 | # Color of text appearing on top of graphs, i.e uptime and current network graph scaling 23 | theme[graph_text]="#F5E0DC" 24 | 25 | # Background color of the percentage meters 26 | theme[meter_bg]="#45475A" 27 | 28 | # Misc colors for processes box including mini cpu graphs, details memory graph and details status text 29 | theme[proc_misc]="#F5E0DC" 30 | 31 | # CPU, Memory, Network, Proc box outline colors 32 | theme[cpu_box]="#cba6f7" #Mauve 33 | theme[mem_box]="#a6e3a1" #Green 34 | theme[net_box]="#eba0ac" #Maroon 35 | theme[proc_box]="#89b4fa" #Blue 36 | 37 | # Box divider line and small boxes line color 38 | theme[div_line]="#6C7086" 39 | 40 | # Temperature graph color (Green -> Yellow -> Red) 41 | theme[temp_start]="#a6e3a1" 42 | theme[temp_mid]="#f9e2af" 43 | theme[temp_end]="#f38ba8" 44 | 45 | # CPU graph colors (Teal -> Lavender) 46 | theme[cpu_start]="#94e2d5" 47 | theme[cpu_mid]="#74c7ec" 48 | theme[cpu_end]="#b4befe" 49 | 50 | # Mem/Disk free meter (Mauve -> Lavender -> Blue) 51 | theme[free_start]="#cba6f7" 52 | theme[free_mid]="#b4befe" 53 | theme[free_end]="#89b4fa" 54 | 55 | # Mem/Disk cached meter (Sapphire -> Lavender) 56 | theme[cached_start]="#74c7ec" 57 | theme[cached_mid]="#89b4fa" 58 | theme[cached_end]="#b4befe" 59 | 60 | # Mem/Disk available meter (Peach -> Red) 61 | theme[available_start]="#fab387" 62 | theme[available_mid]="#eba0ac" 63 | theme[available_end]="#f38ba8" 64 | 65 | # Mem/Disk used meter (Green -> Sky) 66 | theme[used_start]="#a6e3a1" 67 | theme[used_mid]="#94e2d5" 68 | theme[used_end]="#89dceb" 69 | 70 | # Download graph colors (Peach -> Red) 71 | theme[download_start]="#fab387" 72 | theme[download_mid]="#eba0ac" 73 | theme[download_end]="#f38ba8" 74 | 75 | # Upload graph colors (Green -> Sky) 76 | theme[upload_start]="#a6e3a1" 77 | theme[upload_mid]="#94e2d5" 78 | theme[upload_end]="#89dceb" 79 | 80 | # Process box color gradient for threads, mem and cpu usage (Sapphire -> Mauve) 81 | theme[process_start]="#74C7EC" 82 | theme[process_mid]="#89DCEB" 83 | theme[process_end]="#cba6f7" 84 | -------------------------------------------------------------------------------- /.config/sketchybar_old_but_fucked_somehow/sketchybar/items/menus.lua: -------------------------------------------------------------------------------- 1 | local colors = require("colors") 2 | local settings = require("settings") 3 | 4 | local menu_watcher = sbar.add("item", { 5 | drawing = false, 6 | updates = false, 7 | }) 8 | local space_menu_swap = sbar.add("item", { 9 | drawing = false, 10 | updates = true, 11 | }) 12 | sbar.add("event", "swap_menus_and_spaces") 13 | 14 | local max_items = 15 15 | local menu_items = {} 16 | for i = 1, max_items, 1 do 17 | local menu = sbar.add("item", "menu." .. i, { 18 | padding_left = settings.paddings, 19 | padding_right = settings.paddings, 20 | drawing = false, 21 | icon = { drawing = false }, 22 | label = { 23 | font = { 24 | style = settings.font.style_map[i == 1 and "Heavy" or "Semibold"] 25 | }, 26 | padding_left = 6, 27 | padding_right = 6, 28 | }, 29 | click_script = "$CONFIG_DIR/helpers/menus/bin/menus -s " .. i, 30 | }) 31 | 32 | menu_items[i] = menu 33 | end 34 | 35 | sbar.add("bracket", { '/menu\\..*/' }, { 36 | background = { color = colors.bg1 } 37 | }) 38 | 39 | local menu_padding = sbar.add("item", "menu.padding", { 40 | drawing = false, 41 | width = 5 42 | }) 43 | 44 | local function update_menus(env) 45 | sbar.exec("$CONFIG_DIR/helpers/menus/bin/menus -l", function(menus) 46 | sbar.set('/menu\\..*/', { drawing = false }) 47 | menu_padding:set({ drawing = true }) 48 | Id = 1 49 | for menu in string.gmatch(menus, '[^\r\n]+') do 50 | if Id < max_items then 51 | menu_items[Id]:set({ label = menu, drawing = true }) 52 | else 53 | break 54 | end 55 | Id = Id + 1 56 | end 57 | end) 58 | end 59 | 60 | menu_watcher:subscribe("front_app_switched", update_menus) 61 | 62 | space_menu_swap:subscribe("swap_menus_and_spaces", function(env) 63 | local drawing = menu_items[1]:query().geometry.drawing == "on" 64 | if drawing then 65 | menu_watcher:set({ updates = false }) 66 | sbar.set("/menu\\..*/", { drawing = false }) 67 | sbar.set("/space\\..*/", { drawing = true }) 68 | sbar.set("front_app", { drawing = true }) 69 | else 70 | menu_watcher:set({ updates = true }) 71 | sbar.set("/space\\..*/", { drawing = false }) 72 | sbar.set("front_app", { drawing = true }) 73 | update_menus() 74 | end 75 | end) 76 | 77 | return menu_watcher 78 | 79 | -- sbar.set("/workspace\\_.*/", { drawing = true }) 80 | -- sbar.set("/workspace\\_.*/", { drawing = false }) 81 | -------------------------------------------------------------------------------- /.config/btop/themes/catppuccin_macchiato.theme: -------------------------------------------------------------------------------- 1 | # Main background, empty for terminal default, need to be empty if you want transparent background 2 | theme[main_bg]="#24273A" 3 | 4 | # Main text color 5 | theme[main_fg]="#CAD3F5" 6 | 7 | # Title color for boxes 8 | theme[title]="#CAD3F5" 9 | 10 | # Highlight color for keyboard shortcuts 11 | theme[hi_fg]="#8AADF4" 12 | 13 | # Background color of selected item in processes box 14 | theme[selected_bg]="#494D64" 15 | 16 | # Foreground color of selected item in processes box 17 | theme[selected_fg]="#8AADF4" 18 | 19 | # Color of inactive/disabled text 20 | theme[inactive_fg]="#8087A2" 21 | 22 | # Color of text appearing on top of graphs, i.e uptime and current network graph scaling 23 | theme[graph_text]="#F4DBD6" 24 | 25 | # Background color of the percentage meters 26 | theme[meter_bg]="#494D64" 27 | 28 | # Misc colors for processes box including mini cpu graphs, details memory graph and details status text 29 | theme[proc_misc]="#F4DBD6" 30 | 31 | # CPU, Memory, Network, Proc box outline colors 32 | theme[cpu_box]="#c6a0f6" #Mauve 33 | theme[mem_box]="#a6da95" #Green 34 | theme[net_box]="#ee99a0" #Maroon 35 | theme[proc_box]="#8aadf4" #Blue 36 | 37 | # Box divider line and small boxes line color 38 | theme[div_line]="#6E738D" 39 | 40 | # Temperature graph color (Green -> Yellow -> Red) 41 | theme[temp_start]="#a6da95" 42 | theme[temp_mid]="#eed49f" 43 | theme[temp_end]="#ed8796" 44 | 45 | # CPU graph colors (Teal -> Lavender) 46 | theme[cpu_start]="#8bd5ca" 47 | theme[cpu_mid]="#7dc4e4" 48 | theme[cpu_end]="#b7bdf8" 49 | 50 | # Mem/Disk free meter (Mauve -> Lavender -> Blue) 51 | theme[free_start]="#c6a0f6" 52 | theme[free_mid]="#b7bdf8" 53 | theme[free_end]="#8aadf4" 54 | 55 | # Mem/Disk cached meter (Sapphire -> Lavender) 56 | theme[cached_start]="#7dc4e4" 57 | theme[cached_mid]="#8aadf4" 58 | theme[cached_end]="#b7bdf8" 59 | 60 | # Mem/Disk available meter (Peach -> Red) 61 | theme[available_start]="#f5a97f" 62 | theme[available_mid]="#ee99a0" 63 | theme[available_end]="#ed8796" 64 | 65 | # Mem/Disk used meter (Green -> Sky) 66 | theme[used_start]="#a6da95" 67 | theme[used_mid]="#8bd5ca" 68 | theme[used_end]="#91d7e3" 69 | 70 | # Download graph colors (Peach -> Red) 71 | theme[download_start]="#f5a97f" 72 | theme[download_mid]="#ee99a0" 73 | theme[download_end]="#ed8796" 74 | 75 | # Upload graph colors (Green -> Sky) 76 | theme[upload_start]="#a6da95" 77 | theme[upload_mid]="#8bd5ca" 78 | theme[upload_end]="#91d7e3" 79 | 80 | # Process box color gradient for threads, mem and cpu usage (Sapphire -> Mauve) 81 | theme[process_start]="#7dc4e4" 82 | theme[process_mid]="#b7bdf8" 83 | theme[process_end]="#c6a0f6" 84 | -------------------------------------------------------------------------------- /.config/sketchybar/helpers/event_providers/ssd_load/ssd.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | 11 | struct ssd { 12 | char* mount_point; 13 | uint64_t total_space; // Total space in bytes 14 | uint64_t free_space; // Free space in bytes 15 | uint64_t used_space; // Used space in bytes 16 | int usage_percentage; // Usage percentage 17 | }; 18 | 19 | static inline void parse_df_output(const char* output, uint64_t* total, uint64_t* used, uint64_t* free_space) { 20 | // printf("Raw df output:\n%s\n", output); 21 | 22 | char* line = strdup(output); 23 | char* saveptr; 24 | char* token = strtok_r(line, "\n", &saveptr); 25 | 26 | // Skip header line 27 | token = strtok_r(NULL, "\n", &saveptr); 28 | if (token) { 29 | // Parse the line - df output format is: Filesystem Size Used Avail Capacity iused ifree %iused Mounted 30 | char* fields[9]; 31 | int i = 0; 32 | char* field = strtok_r(token, " ", &saveptr); 33 | while (field && i < 9) { 34 | fields[i++] = field; 35 | field = strtok_r(NULL, " ", &saveptr); 36 | } 37 | 38 | if (i >= 4) { 39 | // printf("Parsed fields:\n"); 40 | // printf(" Size: %s\n", fields[1]); 41 | // printf(" Used: %s\n", fields[2]); 42 | // printf(" Avail: %s\n", fields[3]); 43 | 44 | // Convert from KB to bytes 45 | *total = strtoull(fields[1], NULL, 10) * 1024; 46 | *free_space = strtoull(fields[3], NULL, 10) * 1024; 47 | *used = *total - *free_space; // Calculate used space as total - free 48 | } 49 | } 50 | 51 | free(line); 52 | } 53 | 54 | static inline void ssd_init(struct ssd* ssd) { 55 | // Default to root filesystem 56 | ssd->mount_point = "/"; 57 | } 58 | 59 | static inline void ssd_update(struct ssd* ssd) { 60 | FILE* fp = popen("df -k /", "r"); 61 | if (!fp) { 62 | printf("Error: Could not execute df command.\n"); 63 | return; 64 | } 65 | 66 | char output[1024]; 67 | size_t bytes_read = fread(output, 1, sizeof(output) - 1, fp); 68 | output[bytes_read] = '\0'; 69 | pclose(fp); 70 | 71 | parse_df_output(output, &ssd->total_space, &ssd->used_space, &ssd->free_space); 72 | 73 | // Calculate usage percentage similar to Rust implementation 74 | if (ssd->total_space > 0) { 75 | double usage_ratio = (double)ssd->used_space / (double)ssd->total_space; 76 | ssd->usage_percentage = (int)round(usage_ratio * 100.0); 77 | } else { 78 | ssd->usage_percentage = 0; 79 | } 80 | } -------------------------------------------------------------------------------- /.config/btop/themes/catppuccin_latte.theme: -------------------------------------------------------------------------------- 1 | # Main background, empty for terminal default, need to be empty if you want transparent background 2 | theme[main_bg]="#EFF1F5" 3 | 4 | # Main text color 5 | theme[main_fg]="#4C4F69" 6 | 7 | # Title color for boxes 8 | theme[title]="#4C4F69" 9 | 10 | # Highlight color for keyboard shortcuts 11 | theme[hi_fg]="#1E66F5" 12 | 13 | # Background color of selected item in processes box 14 | theme[selected_bg]="#BCC0CC" 15 | 16 | # Foreground color of selected item in processes box 17 | theme[selected_fg]="#1E66F5" 18 | 19 | # Color of inactive/disabled text 20 | theme[inactive_fg]="#8C8FA1" 21 | 22 | # Color of text appearing on top of graphs, i.e uptime and current network graph scaling 23 | theme[graph_text]="#DC8A78" 24 | 25 | # Background color of the percentage meters 26 | theme[meter_bg]="#BCC0CC" 27 | 28 | # Misc colors for processes box including mini cpu graphs, details memory graph and details status text 29 | theme[proc_misc]="#DC8A78" 30 | 31 | # CPU, Memory, Network, Proc box outline colors 32 | theme[cpu_box]="#8839ef" #Mauve 33 | theme[mem_box]="#40a02b" #Green 34 | theme[net_box]="#e64553" #Maroon 35 | theme[proc_box]="#1e66f5" #Blue 36 | 37 | # Box divider line and small boxes line color 38 | theme[div_line]="#9CA0B0" 39 | 40 | # Temperature graph color (Green -> Yellow -> Red) 41 | theme[temp_start]="#40a02b" 42 | theme[temp_mid]="#df8e1d" 43 | theme[temp_end]="#d20f39" 44 | 45 | # CPU graph colors (Teal -> Lavender) 46 | theme[cpu_start]="#179299" 47 | theme[cpu_mid]="#209fb5" 48 | theme[cpu_end]="#7287fd" 49 | 50 | # Mem/Disk free meter (Mauve -> Lavender -> Blue) 51 | theme[free_start]="#8839ef" 52 | theme[free_mid]="#7287fd" 53 | theme[free_end]="#1e66f5" 54 | 55 | # Mem/Disk cached meter (Sapphire -> Lavender) 56 | theme[cached_start]="#209fb5" 57 | theme[cached_mid]="#1e66f5" 58 | theme[cached_end]="#7287fd" 59 | 60 | # Mem/Disk available meter (Peach -> Red) 61 | theme[available_start]="#fe640b" 62 | theme[available_mid]="#e64553" 63 | theme[available_end]="#d20f39" 64 | 65 | 66 | # Mem/Disk used meter (Green -> Sky) 67 | theme[used_start]="#40a02b" 68 | theme[used_mid]="#179299" 69 | theme[used_end]="#04a5e5" 70 | 71 | # Download graph colors (Peach -> Red) 72 | theme[download_start]="#fe640b" 73 | theme[download_mid]="#e64553" 74 | theme[download_end]="#d20f39" 75 | 76 | # Upload graph colors (Green -> Sky) 77 | theme[upload_start]="#40a02b" 78 | theme[upload_mid]="#179299" 79 | theme[upload_end]="#04a5e5" 80 | 81 | # Process box color gradient for threads, mem and cpu usage (Sapphire -> Lavender-> Mauve) 82 | theme[process_start]="#209fb5" 83 | theme[process_mid]="#7287fd" 84 | theme[process_end]="#8839ef" 85 | -------------------------------------------------------------------------------- /.config/sketchybar_old/helpers/event_providers/ssd_load/ssd.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | 11 | struct ssd { 12 | char* mount_point; 13 | uint64_t total_space; // Total space in bytes 14 | uint64_t free_space; // Free space in bytes 15 | uint64_t used_space; // Used space in bytes 16 | int usage_percentage; // Usage percentage 17 | }; 18 | 19 | static inline void parse_df_output(const char* output, uint64_t* total, uint64_t* used, uint64_t* free_space) { 20 | // printf("Raw df output:\n%s\n", output); 21 | 22 | char* line = strdup(output); 23 | char* saveptr; 24 | char* token = strtok_r(line, "\n", &saveptr); 25 | 26 | // Skip header line 27 | token = strtok_r(NULL, "\n", &saveptr); 28 | if (token) { 29 | // Parse the line - df output format is: Filesystem Size Used Avail Capacity iused ifree %iused Mounted 30 | char* fields[9]; 31 | int i = 0; 32 | char* field = strtok_r(token, " ", &saveptr); 33 | while (field && i < 9) { 34 | fields[i++] = field; 35 | field = strtok_r(NULL, " ", &saveptr); 36 | } 37 | 38 | if (i >= 4) { 39 | // printf("Parsed fields:\n"); 40 | // printf(" Size: %s\n", fields[1]); 41 | // printf(" Used: %s\n", fields[2]); 42 | // printf(" Avail: %s\n", fields[3]); 43 | 44 | // Convert from KB to bytes 45 | *total = strtoull(fields[1], NULL, 10) * 1024; 46 | *free_space = strtoull(fields[3], NULL, 10) * 1024; 47 | *used = *total - *free_space; // Calculate used space as total - free 48 | } 49 | } 50 | 51 | free(line); 52 | } 53 | 54 | static inline void ssd_init(struct ssd* ssd) { 55 | // Default to root filesystem 56 | ssd->mount_point = "/"; 57 | } 58 | 59 | static inline void ssd_update(struct ssd* ssd) { 60 | FILE* fp = popen("df -k /", "r"); 61 | if (!fp) { 62 | // printf("Error: Could not execute df command.\n"); 63 | return; 64 | } 65 | 66 | char output[1024]; 67 | size_t bytes_read = fread(output, 1, sizeof(output) - 1, fp); 68 | output[bytes_read] = '\0'; 69 | pclose(fp); 70 | 71 | parse_df_output(output, &ssd->total_space, &ssd->used_space, &ssd->free_space); 72 | 73 | // Calculate usage percentage similar to Rust implementation 74 | if (ssd->total_space > 0) { 75 | double usage_ratio = (double)ssd->used_space / (double)ssd->total_space; 76 | ssd->usage_percentage = (int)round(usage_ratio * 100.0); 77 | } else { 78 | ssd->usage_percentage = 0; 79 | } 80 | } -------------------------------------------------------------------------------- /.config/sketchybar_testing/helpers/event_providers/ssd_load/ssd.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | 11 | struct ssd { 12 | char* mount_point; 13 | uint64_t total_space; // Total space in bytes 14 | uint64_t free_space; // Free space in bytes 15 | uint64_t used_space; // Used space in bytes 16 | int usage_percentage; // Usage percentage 17 | }; 18 | 19 | static inline void parse_df_output(const char* output, uint64_t* total, uint64_t* used, uint64_t* free_space) { 20 | // printf("Raw df output:\n%s\n", output); 21 | 22 | char* line = strdup(output); 23 | char* saveptr; 24 | char* token = strtok_r(line, "\n", &saveptr); 25 | 26 | // Skip header line 27 | token = strtok_r(NULL, "\n", &saveptr); 28 | if (token) { 29 | // Parse the line - df output format is: Filesystem Size Used Avail Capacity iused ifree %iused Mounted 30 | char* fields[9]; 31 | int i = 0; 32 | char* field = strtok_r(token, " ", &saveptr); 33 | while (field && i < 9) { 34 | fields[i++] = field; 35 | field = strtok_r(NULL, " ", &saveptr); 36 | } 37 | 38 | if (i >= 4) { 39 | // printf("Parsed fields:\n"); 40 | // printf(" Size: %s\n", fields[1]); 41 | // printf(" Used: %s\n", fields[2]); 42 | // printf(" Avail: %s\n", fields[3]); 43 | 44 | // Convert from KB to bytes 45 | *total = strtoull(fields[1], NULL, 10) * 1024; 46 | *free_space = strtoull(fields[3], NULL, 10) * 1024; 47 | *used = *total - *free_space; // Calculate used space as total - free 48 | } 49 | } 50 | 51 | free(line); 52 | } 53 | 54 | static inline void ssd_init(struct ssd* ssd) { 55 | // Default to root filesystem 56 | ssd->mount_point = "/"; 57 | } 58 | 59 | static inline void ssd_update(struct ssd* ssd) { 60 | FILE* fp = popen("df -k /", "r"); 61 | if (!fp) { 62 | printf("Error: Could not execute df command.\n"); 63 | return; 64 | } 65 | 66 | char output[1024]; 67 | size_t bytes_read = fread(output, 1, sizeof(output) - 1, fp); 68 | output[bytes_read] = '\0'; 69 | pclose(fp); 70 | 71 | parse_df_output(output, &ssd->total_space, &ssd->used_space, &ssd->free_space); 72 | 73 | // Calculate usage percentage similar to Rust implementation 74 | if (ssd->total_space > 0) { 75 | double usage_ratio = (double)ssd->used_space / (double)ssd->total_space; 76 | ssd->usage_percentage = (int)round(usage_ratio * 100.0); 77 | } else { 78 | ssd->usage_percentage = 0; 79 | } 80 | } -------------------------------------------------------------------------------- /.config/sketchybar_old_but_fucked_somehow/sketchybar/helpers/event_providers/ssd_load/ssd.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | 11 | struct ssd { 12 | char* mount_point; 13 | uint64_t total_space; // Total space in bytes 14 | uint64_t free_space; // Free space in bytes 15 | uint64_t used_space; // Used space in bytes 16 | int usage_percentage; // Usage percentage 17 | }; 18 | 19 | static inline void parse_df_output(const char* output, uint64_t* total, uint64_t* used, uint64_t* free_space) { 20 | // printf("Raw df output:\n%s\n", output); 21 | 22 | char* line = strdup(output); 23 | char* saveptr; 24 | char* token = strtok_r(line, "\n", &saveptr); 25 | 26 | // Skip header line 27 | token = strtok_r(NULL, "\n", &saveptr); 28 | if (token) { 29 | // Parse the line - df output format is: Filesystem Size Used Avail Capacity iused ifree %iused Mounted 30 | char* fields[9]; 31 | int i = 0; 32 | char* field = strtok_r(token, " ", &saveptr); 33 | while (field && i < 9) { 34 | fields[i++] = field; 35 | field = strtok_r(NULL, " ", &saveptr); 36 | } 37 | 38 | if (i >= 4) { 39 | // printf("Parsed fields:\n"); 40 | // printf(" Size: %s\n", fields[1]); 41 | // printf(" Used: %s\n", fields[2]); 42 | // printf(" Avail: %s\n", fields[3]); 43 | 44 | // Convert from KB to bytes 45 | *total = strtoull(fields[1], NULL, 10) * 1024; 46 | *free_space = strtoull(fields[3], NULL, 10) * 1024; 47 | *used = *total - *free_space; // Calculate used space as total - free 48 | } 49 | } 50 | 51 | free(line); 52 | } 53 | 54 | static inline void ssd_init(struct ssd* ssd) { 55 | // Default to root filesystem 56 | ssd->mount_point = "/"; 57 | } 58 | 59 | static inline void ssd_update(struct ssd* ssd) { 60 | FILE* fp = popen("df -k /", "r"); 61 | if (!fp) { 62 | printf("Error: Could not execute df command.\n"); 63 | return; 64 | } 65 | 66 | char output[1024]; 67 | size_t bytes_read = fread(output, 1, sizeof(output) - 1, fp); 68 | output[bytes_read] = '\0'; 69 | pclose(fp); 70 | 71 | parse_df_output(output, &ssd->total_space, &ssd->used_space, &ssd->free_space); 72 | 73 | // Calculate usage percentage similar to Rust implementation 74 | if (ssd->total_space > 0) { 75 | double usage_ratio = (double)ssd->used_space / (double)ssd->total_space; 76 | ssd->usage_percentage = (int)round(usage_ratio * 100.0); 77 | } else { 78 | ssd->usage_percentage = 0; 79 | } 80 | } -------------------------------------------------------------------------------- /.config/btop/themes/dracula.theme: -------------------------------------------------------------------------------- 1 | #Bashtop theme with nord palette (https://www.nordtheme.com) 2 | #by Justin Zobel 3 | 4 | # Colors should be in 6 or 2 character hexadecimal or single spaced rgb decimal: "#RRGGBB", "#BW" or "0-255 0-255 0-255" 5 | # example for white: "#ffffff", "#ff" or "255 255 255". 6 | 7 | # All graphs and meters can be gradients 8 | # For single color graphs leave "mid" and "end" variable empty. 9 | # Use "start" and "end" variables for two color gradient 10 | # Use "start", "mid" and "end" for three color gradient 11 | 12 | # Main background, empty for terminal default, need to be empty if you want transparent background 13 | theme[main_bg]="#282A36" 14 | 15 | # Main text color 16 | theme[main_fg]="#BD93F9" 17 | 18 | # Title color for boxes 19 | theme[title]="#f8f8f2" 20 | 21 | # Higlight color for keyboard shortcuts 22 | theme[hi_fg]="#ff79c6" 23 | 24 | # Background color of selected item in processes box 25 | theme[selected_bg]="#44475A" 26 | 27 | # Foreground color of selected item in processes box 28 | theme[selected_fg]="#ECEFF4" 29 | 30 | # Color of inactive/disabled text 31 | theme[inactive_fg]="#6272a4" 32 | 33 | # Misc colors for processes box including mini cpu graphs, details memory graph and details status text 34 | theme[proc_misc]="#BD93F9" 35 | 36 | # Cpu box outline color 37 | theme[cpu_box]="#ff79c6" 38 | 39 | # Memory/disks box outline color 40 | theme[mem_box]="#ff79c6" 41 | 42 | # Net up/down box outline color 43 | theme[net_box]="#ff79c6" 44 | 45 | # Processes box outline color 46 | theme[proc_box]="#ff79c6" 47 | 48 | # Box divider line and small boxes line color 49 | theme[div_line]="#ff79c6" 50 | 51 | # Temperature graph colors 52 | theme[temp_start]="#bd93f9" 53 | theme[temp_mid]="#bd93f9" 54 | theme[temp_end]="#bd93f9" 55 | 56 | # CPU graph colors 57 | theme[cpu_start]="#bd93f9" 58 | theme[cpu_mid]="#bd93f9" 59 | theme[cpu_end]="#bd93f9" 60 | 61 | # Mem/Disk free meter 62 | theme[free_start]="#bd93f9" 63 | theme[free_mid]="#bd93f9" 64 | theme[free_end]="#bd93f9" 65 | 66 | # Mem/Disk cached meter 67 | theme[cached_start]="#bd93f9" 68 | theme[cached_mid]="#bd93f9" 69 | theme[cached_end]="#bd93f9" 70 | 71 | # Mem/Disk available meter 72 | theme[available_start]="#bd93f9" 73 | theme[available_mid]="#bd93f9" 74 | theme[available_end]="#bd93f9" 75 | 76 | # Mem/Disk used meter 77 | theme[used_start]="#bd93f9" 78 | theme[used_mid]="#bd93f9" 79 | theme[used_end]="#bd93f9" 80 | 81 | # Download graph colors 82 | theme[download_start]="#bd93f9" 83 | theme[download_mid]="#bd93f9" 84 | theme[download_end]="#bd93f9" 85 | 86 | # Upload graph colors 87 | theme[upload_start]="#bd93f9" 88 | theme[upload_mid]="#bd93f9" 89 | theme[upload_end]="#bd93f9" 90 | -------------------------------------------------------------------------------- /.config/sketchybar/icons.lua: -------------------------------------------------------------------------------- 1 | local settings = require("settings") 2 | 3 | local icons = { 4 | sf_symbols = { 5 | plus = "􀅼", 6 | loading = "􀖇", 7 | cpu = "􀫥", 8 | clipboard = "􀉄", 9 | messages = "􀌤", 10 | 11 | apple = { 12 | apple = "󰅏", --􀣺 13 | question_mark = "􀁝", 14 | gear = "􀍟", 15 | graph = "􁣃", 16 | trash = "􀈒", 17 | lock = "􀼓", 18 | logout = "􀉭", 19 | power = "􀷃", 20 | }, 21 | space_icon = { 22 | active = "􀀁", 23 | not_active = "􁅃", 24 | not_active_has_apps = "􁹧", 25 | }, 26 | space_layout = { 27 | dots = "􀧸", 28 | apps = "􀑏", 29 | creator = "􀏑", 30 | }, 31 | yabai = { 32 | float = "􀢌", 33 | fullscreen_zoom = "􀏜", 34 | grid = "􀧍", 35 | parent_zoom = "􀥃", 36 | stack = "􀏭", 37 | sticky = "􀒖", 38 | }, 39 | volume = { 40 | _100="􀊩", 41 | _66="􀊧", 42 | _33="􀊥", 43 | _10="􀊡", 44 | _0="􀊣", 45 | standby = "􀻂", --􀻂 46 | }, 47 | battery = { 48 | _100 = "􀛨", 49 | _75 = "􀺸", 50 | _50 = "􀺶", 51 | _25 = "􀛩", 52 | _0 = "􀛪", 53 | charging = "􀢋" 54 | }, 55 | wifi = { 56 | upload = "􀄨", 57 | download = "􀄩", 58 | connected = "􀙇", 59 | disconnected = "􀙈", 60 | router = "􁓤", 61 | vpn = "󰌾", 62 | }, 63 | media = { 64 | back = "􀊊", 65 | forward = "􀊌", 66 | play_pause = "􀊈", 67 | }, 68 | ramicons = { 69 | swap = "󰁄", 70 | ram = "󰍛", 71 | }, 72 | switch = { 73 | on = "􁏮", 74 | off = "􁏯", 75 | }, 76 | }, 77 | 78 | -- Alternative NerdFont icons 79 | nerdfont = { 80 | plus = "", 81 | loading = "", 82 | apple = "", 83 | gear = "", 84 | cpu = "", 85 | clipboard = "Missing Icon", 86 | more_vertical = "", 87 | 88 | switch = { 89 | on = "󱨥", 90 | off = "󱨦", 91 | }, 92 | volume = { 93 | _100="", 94 | _66="", 95 | _33="", 96 | _10="", 97 | _0="", 98 | }, 99 | battery = { 100 | _100 = "", 101 | _75 = "", 102 | _50 = "", 103 | _25 = "", 104 | _0 = "", 105 | charging = "" 106 | }, 107 | wifi = { 108 | upload = "", 109 | download = "", 110 | connected = "󰖩", 111 | disconnected = "󰖪", 112 | router = "Missing Icon" 113 | }, 114 | media = { 115 | back = "", 116 | forward = "", 117 | play_pause = "", 118 | }, 119 | }, 120 | } 121 | 122 | if not (settings.icons == "NerdFont") then 123 | return icons.sf_symbols 124 | else 125 | return icons.nerdfont 126 | end 127 | -------------------------------------------------------------------------------- /.config/sketchybar_old/items/spaces_minimal.lua: -------------------------------------------------------------------------------- 1 | local colors = require("colors") 2 | local settings = require("settings") 3 | local spaces = {} 4 | 5 | 6 | local container_bracket = sbar.add("bracket", {}, { 7 | background = { 8 | color = colors.bg2, 9 | border_color = colors.bg1, 10 | border_width = 2, 11 | }, 12 | }) 13 | 14 | container_bracket.items = {} 15 | 16 | for i = 1, 10, 1 do 17 | local space = sbar.add("space", "space." .. i, { 18 | space = i, 19 | icon = { 20 | drawing = false, 21 | }, 22 | label = { 23 | drawing = false, 24 | }, 25 | padding_right = 4, 26 | padding_left = 4, 27 | background = { 28 | color = colors.spaces.inactive, 29 | border_width = 0, 30 | height = 12, 31 | corner_radius = 6, 32 | }, 33 | width = 12, -- Set initial width 34 | popup = { background = { border_width = 0, border_color = colors.black } }, 35 | position = "center" 36 | }) 37 | 38 | spaces[i] = space 39 | table.insert(container_bracket.items, space.name) 40 | 41 | sbar.add("space", "space.padding." .. i, { 42 | space = i, 43 | width = settings.group_paddings, 44 | position = "center" 45 | }) 46 | 47 | 48 | 49 | space:subscribe("space_change", function(env) 50 | local selected = env.SELECTED == "true" 51 | local target_color = selected and colors.spaces.active or colors.spaces.inactive 52 | local target_width = selected and 24 or 12 53 | 54 | 55 | sbar.animate("elastic", 12, function() 56 | space:set({ 57 | width = target_width, 58 | background = { 59 | color = target_color, 60 | corner_radius = 6 61 | } 62 | }) 63 | end) 64 | end) 65 | 66 | -- Logic for Space-Preview on Hover 67 | 68 | -- local space_popup = sbar.add("item", { 69 | -- position = "popup." .. space.name, 70 | -- padding_left = 5, 71 | -- padding_right = 0, 72 | -- background = { 73 | -- drawing = true, 74 | -- image = { 75 | -- corner_radius = 9, 76 | -- scale = 0.2, 77 | -- }, 78 | -- }, 79 | -- }) 80 | -- 81 | -- 82 | -- space:subscribe("mouse.clicked", function(env) 83 | -- if env.BUTTON == "other" then 84 | -- space_popup:set({ background = { image = "space." .. env.SID } }) 85 | -- space:set({ popup = { drawing = "toggle" } }) 86 | -- else 87 | -- local op = (env.BUTTON == "right") and "--destroy" or "--focus" 88 | -- sbar.exec("yabai -m space " .. op .. " " .. env.SID) 89 | -- end 90 | -- end) 91 | -- 92 | -- space:subscribe("mouse.entered", function(env) 93 | -- space_popup:set({ background = { image = "space." .. env.SID } }) 94 | -- space:set({ popup = { drawing = "toggle" } }) 95 | -- end) 96 | -- 97 | -- space:subscribe("mouse.exited", function(_) 98 | -- space:set({ popup = { drawing = false } }) 99 | -- end) 100 | end 101 | 102 | sbar.add("item", { position = "center", width = settings.group_paddings }) -------------------------------------------------------------------------------- /.config/sketchybar_testing/items/spaces_minimal.lua: -------------------------------------------------------------------------------- 1 | local colors = require("colors") 2 | local settings = require("settings") 3 | local spaces = {} 4 | 5 | 6 | local container_bracket = sbar.add("bracket", {}, { 7 | background = { 8 | color = colors.bg2, 9 | border_color = colors.bg1, 10 | border_width = 2, 11 | }, 12 | }) 13 | 14 | container_bracket.items = {} 15 | 16 | for i = 1, 10, 1 do 17 | local space = sbar.add("space", "space." .. i, { 18 | space = i, 19 | icon = { 20 | drawing = false, 21 | }, 22 | label = { 23 | drawing = false, 24 | }, 25 | padding_right = 8, 26 | padding_left = 8, 27 | background = { 28 | color = colors.spaces.inactive, 29 | border_width = 0, 30 | height = 12, 31 | corner_radius = 6, 32 | }, 33 | width = 12, -- Set initial width 34 | popup = { background = { border_width = 0, border_color = colors.black } }, 35 | position = "center" 36 | }) 37 | 38 | spaces[i] = space 39 | table.insert(container_bracket.items, space.name) 40 | 41 | sbar.add("space", "space.padding." .. i, { 42 | space = i, 43 | width = settings.group_paddings, 44 | position = "center" 45 | }) 46 | 47 | 48 | 49 | space:subscribe("space_change", function(env) 50 | local selected = env.SELECTED == "true" 51 | local target_color = selected and colors.spaces.active or colors.spaces.inactive 52 | local target_width = selected and 24 or 12 53 | 54 | 55 | sbar.animate("elastic", 12, function() 56 | space:set({ 57 | width = target_width, 58 | background = { 59 | color = target_color, 60 | corner_radius = 6 61 | } 62 | }) 63 | end) 64 | end) 65 | 66 | -- Logic for Space-Preview on Hover 67 | 68 | -- local space_popup = sbar.add("item", { 69 | -- position = "popup." .. space.name, 70 | -- padding_left = 5, 71 | -- padding_right = 0, 72 | -- background = { 73 | -- drawing = true, 74 | -- image = { 75 | -- corner_radius = 9, 76 | -- scale = 0.2, 77 | -- }, 78 | -- }, 79 | -- }) 80 | -- 81 | -- 82 | -- space:subscribe("mouse.clicked", function(env) 83 | -- if env.BUTTON == "other" then 84 | -- space_popup:set({ background = { image = "space." .. env.SID } }) 85 | -- space:set({ popup = { drawing = "toggle" } }) 86 | -- else 87 | -- local op = (env.BUTTON == "right") and "--destroy" or "--focus" 88 | -- sbar.exec("yabai -m space " .. op .. " " .. env.SID) 89 | -- end 90 | -- end) 91 | -- 92 | -- space:subscribe("mouse.entered", function(env) 93 | -- space_popup:set({ background = { image = "space." .. env.SID } }) 94 | -- space:set({ popup = { drawing = "toggle" } }) 95 | -- end) 96 | -- 97 | -- space:subscribe("mouse.exited", function(_) 98 | -- space:set({ popup = { drawing = false } }) 99 | -- end) 100 | end 101 | 102 | sbar.add("item", { position = "left", width = settings.group_paddings }) -------------------------------------------------------------------------------- /.config/sketchybar_old_but_fucked_somehow/sketchybar/items/spaces_minimal.lua: -------------------------------------------------------------------------------- 1 | local colors = require("colors") 2 | local settings = require("settings") 3 | local spaces = {} 4 | 5 | 6 | local container_bracket = sbar.add("bracket", {}, { 7 | background = { 8 | color = colors.bg2, 9 | border_color = colors.bg1, 10 | border_width = 2, 11 | }, 12 | }) 13 | 14 | container_bracket.items = {} 15 | 16 | for i = 1, 10, 1 do 17 | local space = sbar.add("space", "space." .. i, { 18 | space = i, 19 | icon = { 20 | drawing = false, 21 | }, 22 | label = { 23 | drawing = false, 24 | }, 25 | padding_right = 4, 26 | padding_left = 4, 27 | background = { 28 | color = colors.spaces.inactive, 29 | border_width = 0, 30 | height = 12, 31 | corner_radius = 6, 32 | }, 33 | width = 12, -- Set initial width 34 | popup = { background = { border_width = 0, border_color = colors.black } }, 35 | position = "left" 36 | }) 37 | 38 | spaces[i] = space 39 | table.insert(container_bracket.items, space.name) 40 | 41 | sbar.add("space", "space.padding." .. i, { 42 | space = i, 43 | width = settings.group_paddings, 44 | position = "left" 45 | }) 46 | 47 | 48 | 49 | space:subscribe("space_change", function(env) 50 | local selected = env.SELECTED == "true" 51 | local target_color = selected and colors.spaces.active or colors.spaces.inactive 52 | local target_width = selected and 24 or 12 53 | 54 | 55 | sbar.animate("elastic", 12, function() 56 | space:set({ 57 | width = target_width, 58 | background = { 59 | color = target_color, 60 | corner_radius = 6 61 | } 62 | }) 63 | end) 64 | end) 65 | 66 | -- Logic for Space-Preview on Hover 67 | 68 | -- local space_popup = sbar.add("item", { 69 | -- position = "popup." .. space.name, 70 | -- padding_left = 5, 71 | -- padding_right = 0, 72 | -- background = { 73 | -- drawing = true, 74 | -- image = { 75 | -- corner_radius = 9, 76 | -- scale = 0.2, 77 | -- }, 78 | -- }, 79 | -- }) 80 | -- 81 | -- 82 | -- space:subscribe("mouse.clicked", function(env) 83 | -- if env.BUTTON == "other" then 84 | -- space_popup:set({ background = { image = "space." .. env.SID } }) 85 | -- space:set({ popup = { drawing = "toggle" } }) 86 | -- else 87 | -- local op = (env.BUTTON == "right") and "--destroy" or "--focus" 88 | -- sbar.exec("yabai -m space " .. op .. " " .. env.SID) 89 | -- end 90 | -- end) 91 | -- 92 | -- space:subscribe("mouse.entered", function(env) 93 | -- space_popup:set({ background = { image = "space." .. env.SID } }) 94 | -- space:set({ popup = { drawing = "toggle" } }) 95 | -- end) 96 | -- 97 | -- space:subscribe("mouse.exited", function(_) 98 | -- space:set({ popup = { drawing = false } }) 99 | -- end) 100 | end 101 | 102 | sbar.add("item", { position = "left", width = settings.group_paddings }) --------------------------------------------------------------------------------