From ee6a4c366e7d684a7960c78070f3973ee5e0bb59 Mon Sep 17 00:00:00 2001 From: end-4 <97237370+end-4@users.noreply.github.com> Date: Sun, 11 May 2025 16:36:31 +0200 Subject: [PATCH] ags: nuke scripts already handled by quickshell --- .../scripts/color_generation/applycolor.sh | 210 ------------- .../ags/scripts/color_generation/colorgen.sh | 102 ------- .../generate_colors_material.py | 182 ------------ .config/ags/scripts/color_generation/pywal.sh | 6 - .../color_generation/pywal_to_material.scss | 57 ---- .../scripts/color_generation/randomwall.sh | 4 - .../schemes/scheme_morevibrant.py | 44 --- .../specials/_material_badapple-l.scss | 29 -- .../specials/_material_badapple.scss | 29 -- .../scripts/color_generation/switchcolor.sh | 39 --- .../scripts/color_generation/switchwall.sh | 40 --- .config/ags/scripts/grimblast.sh | 277 ------------------ .config/ags/scripts/kvantum/adwsvg.py | 79 ----- .config/ags/scripts/kvantum/adwsvgDark.py | 87 ------ .../ags/scripts/kvantum/changeAdwColors.py | 71 ----- .config/ags/scripts/kvantum/materialQT.sh | 43 --- .config/ags/scripts/record-script.sh | 29 -- 17 files changed, 1328 deletions(-) delete mode 100755 .config/ags/scripts/color_generation/applycolor.sh delete mode 100755 .config/ags/scripts/color_generation/colorgen.sh delete mode 100755 .config/ags/scripts/color_generation/generate_colors_material.py delete mode 100755 .config/ags/scripts/color_generation/pywal.sh delete mode 100644 .config/ags/scripts/color_generation/pywal_to_material.scss delete mode 100755 .config/ags/scripts/color_generation/randomwall.sh delete mode 100644 .config/ags/scripts/color_generation/schemes/scheme_morevibrant.py delete mode 100644 .config/ags/scripts/color_generation/specials/_material_badapple-l.scss delete mode 100644 .config/ags/scripts/color_generation/specials/_material_badapple.scss delete mode 100755 .config/ags/scripts/color_generation/switchcolor.sh delete mode 100755 .config/ags/scripts/color_generation/switchwall.sh delete mode 100755 .config/ags/scripts/grimblast.sh delete mode 100644 .config/ags/scripts/kvantum/adwsvg.py delete mode 100644 .config/ags/scripts/kvantum/adwsvgDark.py delete mode 100644 .config/ags/scripts/kvantum/changeAdwColors.py delete mode 100755 .config/ags/scripts/kvantum/materialQT.sh delete mode 100755 .config/ags/scripts/record-script.sh diff --git a/.config/ags/scripts/color_generation/applycolor.sh b/.config/ags/scripts/color_generation/applycolor.sh deleted file mode 100755 index 9bf56d392..000000000 --- a/.config/ags/scripts/color_generation/applycolor.sh +++ /dev/null @@ -1,210 +0,0 @@ -#!/usr/bin/env bash - -XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}" -XDG_CACHE_HOME="${XDG_CACHE_HOME:-$HOME/.cache}" -XDG_STATE_HOME="${XDG_STATE_HOME:-$HOME/.local/state}" -CONFIG_DIR="$XDG_CONFIG_HOME/ags" -CACHE_DIR="$XDG_CACHE_HOME/ags" -STATE_DIR="$XDG_STATE_HOME/ags" - -term_alpha=100 #Set this to < 100 make all your terminals transparent -# sleep 0 # idk i wanted some delay or colors dont get applied properly -if [ ! -d "$CACHE_DIR"/user/generated ]; then - mkdir -p "$CACHE_DIR"/user/generated -fi -cd "$CONFIG_DIR" || exit - -colornames='' -colorstrings='' -colorlist=() -colorvalues=() - -# wallpath=$(swww query | head -1 | awk -F 'image: ' '{print $2}') -# wallpath_png="$CACHE_DIR/user/generated/hypr/lockscreen.png" -# convert "$wallpath" "$wallpath_png" -# wallpath_png=$(echo "$wallpath_png" | sed 's/\//\\\//g') -# wallpath_png=$(sed 's/\//\\\\\//g' <<< "$wallpath_png") - -transparentize() { - local hex="$1" - local alpha="$2" - local red green blue - - red=$((16#${hex:1:2})) - green=$((16#${hex:3:2})) - blue=$((16#${hex:5:2})) - - printf 'rgba(%d, %d, %d, %.2f)\n' "$red" "$green" "$blue" "$alpha" -} - -get_light_dark() { - lightdark="" - if [ ! -f "$STATE_DIR/user/colormode.txt" ]; then - echo "" >"$STATE_DIR/user/colormode.txt" - else - lightdark=$(sed -n '1p' "$STATE_DIR/user/colormode.txt") - fi - echo "$lightdark" -} - -apply_fuzzel() { - # Check if template exists - if [ ! -f "scripts/templates/fuzzel/fuzzel.ini" ]; then - echo "Template file not found for Fuzzel. Skipping that." - return - fi - # Copy template - mkdir -p "$CACHE_DIR"/user/generated/fuzzel - cp "scripts/templates/fuzzel/fuzzel.ini" "$CACHE_DIR"/user/generated/fuzzel/fuzzel.ini - # Apply colors - for i in "${!colorlist[@]}"; do - sed -i "s/{{ ${colorlist[$i]} }}/${colorvalues[$i]#\#}/g" "$CACHE_DIR"/user/generated/fuzzel/fuzzel.ini - done - - cp "$CACHE_DIR"/user/generated/fuzzel/fuzzel.ini "$XDG_CONFIG_HOME"/fuzzel/fuzzel.ini -} - -apply_term() { - # Check if terminal escape sequence template exists - if [ ! -f "scripts/templates/terminal/sequences.txt" ]; then - echo "Template file not found for Terminal. Skipping that." - return - fi - # Copy template - mkdir -p "$CACHE_DIR"/user/generated/terminal - cp "scripts/templates/terminal/sequences.txt" "$CACHE_DIR"/user/generated/terminal/sequences.txt - # Apply colors - for i in "${!colorlist[@]}"; do - sed -i "s/${colorlist[$i]} #/${colorvalues[$i]#\#}/g" "$CACHE_DIR"/user/generated/terminal/sequences.txt - done - - sed -i "s/\$alpha/$term_alpha/g" "$CACHE_DIR/user/generated/terminal/sequences.txt" - - for file in /dev/pts/*; do - if [[ $file =~ ^/dev/pts/[0-9]+$ ]]; then - cat "$CACHE_DIR"/user/generated/terminal/sequences.txt >"$file" - fi - done -} - -apply_hyprland() { - # Check if template exists - if [ ! -f "scripts/templates/hypr/hyprland/colors.conf" ]; then - echo "Template file not found for Hyprland colors. Skipping that." - return - fi - # Copy template - mkdir -p "$CACHE_DIR"/user/generated/hypr/hyprland - cp "scripts/templates/hypr/hyprland/colors.conf" "$CACHE_DIR"/user/generated/hypr/hyprland/colors.conf - # Apply colors - for i in "${!colorlist[@]}"; do - sed -i "s/{{ ${colorlist[$i]} }}/${colorvalues[$i]#\#}/g" "$CACHE_DIR"/user/generated/hypr/hyprland/colors.conf - done - - cp "$CACHE_DIR"/user/generated/hypr/hyprland/colors.conf "$XDG_CONFIG_HOME"/hypr/hyprland/colors.conf -} - -apply_hyprlock() { - # Check if template exists - if [ ! -f "scripts/templates/hypr/hyprlock.conf" ]; then - echo "Template file not found for hyprlock. Skipping that." - return - fi - # Copy template - mkdir -p "$CACHE_DIR"/user/generated/hypr/ - cp "scripts/templates/hypr/hyprlock.conf" "$CACHE_DIR"/user/generated/hypr/hyprlock.conf - # Apply colors - # sed -i "s/{{ SWWW_WALL }}/${wallpath_png}/g" "$CACHE_DIR"/user/generated/hypr/hyprlock.conf - for i in "${!colorlist[@]}"; do - sed -i "s/{{ ${colorlist[$i]} }}/${colorvalues[$i]#\#}/g" "$CACHE_DIR"/user/generated/hypr/hyprlock.conf - done - - cp "$CACHE_DIR"/user/generated/hypr/hyprlock.conf "$XDG_CONFIG_HOME"/hypr/hyprlock.conf -} - -apply_ags_sourceview() { - # Check if template file exists - if [ ! -f "scripts/templates/ags/sourceviewtheme.xml" ]; then - echo "Template file not found for ags sourceview. Skipping that." - return - fi - # Copy template - mkdir -p "$CACHE_DIR"/user/generated/ags - cp "scripts/templates/ags/sourceviewtheme.xml" "$CACHE_DIR"/user/generated/ags/sourceviewtheme.xml - cp "scripts/templates/ags/sourceviewtheme-light.xml" "$CACHE_DIR"/user/generated/ags/sourceviewtheme-light.xml - # Apply colors - for i in "${!colorlist[@]}"; do - sed -i "s/{{ ${colorlist[$i]} }}/#${colorvalues[$i]#\#}/g" "$CACHE_DIR"/user/generated/ags/sourceviewtheme.xml - sed -i "s/{{ ${colorlist[$i]} }}/#${colorvalues[$i]#\#}/g" "$CACHE_DIR"/user/generated/ags/sourceviewtheme-light.xml - done - - cp "$CACHE_DIR"/user/generated/ags/sourceviewtheme.xml "$XDG_CONFIG_HOME"/ags/assets/themes/sourceviewtheme.xml - cp "$CACHE_DIR"/user/generated/ags/sourceviewtheme-light.xml "$XDG_CONFIG_HOME"/ags/assets/themes/sourceviewtheme-light.xml -} - -apply_lightdark() { - lightdark=$(get_light_dark) - if [ "$lightdark" = "light" ]; then - gsettings set org.gnome.desktop.interface color-scheme 'prefer-light' - else - gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark' - fi -} - -apply_gtk() { # Using gradience-cli - usegradience=$(sed -n '4p' "$STATE_DIR/user/colormode.txt") - if [[ "$usegradience" = "nogradience" ]]; then - rm "$XDG_CONFIG_HOME/gtk-3.0/gtk.css" - rm "$XDG_CONFIG_HOME/gtk-4.0/gtk.css" - return - fi - - # Copy template - mkdir -p "$CACHE_DIR"/user/generated/gradience - cp "scripts/templates/gradience/preset.json" "$CACHE_DIR"/user/generated/gradience/preset.json - - # Apply colors - for i in "${!colorlist[@]}"; do - sed -i "s/{{ ${colorlist[$i]} }}/${colorvalues[$i]}/g" "$CACHE_DIR"/user/generated/gradience/preset.json - done - - mkdir -p "$XDG_CONFIG_HOME/presets" # create gradience presets folder - source $(eval echo $ILLOGICAL_IMPULSE_VIRTUAL_ENV)/bin/activate - gradience-cli apply -p "$CACHE_DIR"/user/generated/gradience/preset.json --gtk both - deactivate - - # And set GTK theme manually as Gradience defaults to light adw-gtk3 - # (which is unreadable when broken when you use dark mode) - lightdark=$(get_light_dark) - if [ "$lightdark" = "light" ]; then - gsettings set org.gnome.desktop.interface gtk-theme 'adw-gtk3' - else - gsettings set org.gnome.desktop.interface gtk-theme adw-gtk3-dark - fi -} - -apply_ags() { - agsv1 run-js "handleStyles(false);" - agsv1 run-js 'openColorScheme.value = true; Utils.timeout(2000, () => openColorScheme.value = false);' -} - -apply_qt() { - sh "$CONFIG_DIR/scripts/kvantum/materialQT.sh" # generate kvantum theme - python "$CONFIG_DIR/scripts/kvantum/changeAdwColors.py" # apply config colors -} - -colornames=$(cat $STATE_DIR/scss/_material.scss | cut -d: -f1) -colorstrings=$(cat $STATE_DIR/scss/_material.scss | cut -d: -f2 | cut -d ' ' -f2 | cut -d ";" -f1) -IFS=$'\n' -colorlist=($colornames) # Array of color names -colorvalues=($colorstrings) # Array of color values - -apply_ags & -apply_ags_sourceview & -apply_hyprland & -apply_hyprlock & -apply_lightdark & -apply_gtk & -apply_qt & -apply_fuzzel & -apply_term & diff --git a/.config/ags/scripts/color_generation/colorgen.sh b/.config/ags/scripts/color_generation/colorgen.sh deleted file mode 100755 index 40c445b9f..000000000 --- a/.config/ags/scripts/color_generation/colorgen.sh +++ /dev/null @@ -1,102 +0,0 @@ -#!/usr/bin/env bash - -XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}" -XDG_CACHE_HOME="${XDG_CACHE_HOME:-$HOME/.cache}" -XDG_STATE_HOME="${XDG_STATE_HOME:-$HOME/.local/state}" -CONFIG_DIR="$XDG_CONFIG_HOME/ags" -CACHE_DIR="$XDG_CACHE_HOME/ags" -STATE_DIR="$XDG_STATE_HOME/ags" - -# check if no arguments -if [ $# -eq 0 ]; then - echo "Usage: colorgen.sh /path/to/image (--apply)" - exit 1 -fi - -# check if the file $STATE_DIR/user/colormode.txt exists. if not, create it. else, read it to $lightdark -colormodefile="$STATE_DIR/user/colormode.txt" -lightdark="dark" -transparency="opaque" -materialscheme="vibrant" -terminalscheme="$XDG_CONFIG_HOME/ags/scripts/templates/terminal/scheme-base.json" - -if [ ! -f $colormodefile ]; then - echo "dark" > $colormodefile - echo "opaque" >> $colormodefile - echo "vibrant" >> $colormodefile -elif [[ $(wc -l < $colormodefile) -ne 4 || $(wc -w < $colormodefile) -ne 4 ]]; then - echo "dark" > $colormodefile - echo "opaque" >> $colormodefile - echo "vibrant" >> $colormodefile - echo "yesgradience" >> $colormodefile -else - lightdark=$(sed -n '1p' $colormodefile) - transparency=$(sed -n '2p' $colormodefile) - materialscheme=$(sed -n '3p' $colormodefile) - if [ "$materialscheme" = "monochrome" ]; then - terminalscheme="$XDG_CONFIG_HOME/ags/scripts/templates/terminal/scheme-monochrome.json" - fi -fi -backend="material" # color generator backend -if [ ! -f "$STATE_DIR/user/colorbackend.txt" ]; then - echo "material" > "$STATE_DIR/user/colorbackend.txt" -else - backend=$(cat "$STATE_DIR/user/colorbackend.txt") -fi - -cd "$CONFIG_DIR/scripts/" || exit -if [[ "$1" = "#"* ]]; then # this is a color - color_generation/generate_colors_material.py --color "$1" \ - --mode "$lightdark" --scheme "$materialscheme" --transparency "$transparency" \ - --termscheme $terminalscheme --blend_bg_fg \ - > "$CACHE_DIR"/user/generated/material_colors.scss - if [ "$2" = "--apply" ]; then - cp "$CACHE_DIR"/user/generated/material_colors.scss "$STATE_DIR/scss/_material.scss" - color_generation/applycolor.sh - fi -elif [ "$backend" = "material" ]; then - smartflag='' - if [ "$3" = "--smart" ]; then - smartflag='--smart' - fi - source $(eval echo $ILLOGICAL_IMPULSE_VIRTUAL_ENV)/bin/activate - python color_generation/generate_colors_material.py --path "$(realpath "$1")" \ - --mode "$lightdark" --scheme "$materialscheme" --transparency "$transparency" \ - --termscheme $terminalscheme --blend_bg_fg \ - --cache "$STATE_DIR/user/color.txt" $smartflag \ - > "$CACHE_DIR"/user/generated/material_colors.scss - deactivate - if [ "$2" = "--apply" ]; then - cp "$CACHE_DIR"/user/generated/material_colors.scss "$STATE_DIR/scss/_material.scss" - color_generation/applycolor.sh - fi -elif [ "$backend" = "pywal" ]; then - # clear and generate - source $(eval echo $ILLOGICAL_IMPULSE_VIRTUAL_ENV)/bin/activate - wal -c - wal -i "$1" -n $lightdark -q - deactivate - # copy scss - cp "$XDG_CACHE_HOME/wal/colors.scss" "$CACHE_DIR"/user/generated/material_colors.scss - - cat color_generation/pywal_to_material.scss >> "$CACHE_DIR"/user/generated/material_colors.scss - if [ "$2" = "--apply" ]; then - sass -I "$STATE_DIR/scss" -I "$CONFIG_DIR/scss/fallback" "$CACHE_DIR"/user/generated/material_colors.scss "$CACHE_DIR"/user/generated/colors_classes.scss --style compressed - # sed -i "s/ { color//g" "$CACHE_DIR"/user/generated/colors_classes.scss - # sed -i "s/\./$/g" "$CACHE_DIR"/user/generated/colors_classes.scss - # sed -i "s/}//g" "$CACHE_DIR"/user/generated/colors_classes.scss - sed -i "s/{color//g" "$CACHE_DIR"/user/generated/colors_classes.scss - sed -i "s/\./$/g" "$CACHE_DIR"/user/generated/colors_classes.scss - sed -i "s/\:/: /g" "$CACHE_DIR"/user/generated/colors_classes.scss - sed -i "s/}/;\n/g" "$CACHE_DIR"/user/generated/colors_classes.scss - if [ "$lightdark" = "light" ]; then - printf "\n""\$darkmode: false;""\n" >> "$CACHE_DIR"/user/generated/colors_classes.scss - else - printf "\n""\$darkmode: true;""\n" >> "$CACHE_DIR"/user/generated/colors_classes.scss - fi - - cp "$CACHE_DIR"/user/generated/colors_classes.scss "$STATE_DIR/scss/_material.scss" - - color_generation/applycolor.sh - fi -fi diff --git a/.config/ags/scripts/color_generation/generate_colors_material.py b/.config/ags/scripts/color_generation/generate_colors_material.py deleted file mode 100755 index 3755ae571..000000000 --- a/.config/ags/scripts/color_generation/generate_colors_material.py +++ /dev/null @@ -1,182 +0,0 @@ -#!/usr/bin/env -S\_/bin/sh\_-c\_"source\_\$(eval\_echo\_\$ILLOGICAL_IMPULSE_VIRTUAL_ENV)/bin/activate&&exec\_python\_-E\_"\$0"\_"\$@"" -import argparse -import math -import json -from PIL import Image -from materialyoucolor.quantize import QuantizeCelebi -from materialyoucolor.score.score import Score -from materialyoucolor.hct import Hct -from materialyoucolor.dynamiccolor.material_dynamic_colors import MaterialDynamicColors -from materialyoucolor.utils.color_utils import (rgba_from_argb, argb_from_rgb, argb_from_rgba) -from materialyoucolor.utils.math_utils import (sanitize_degrees_double, difference_degrees, rotation_direction) - -parser = argparse.ArgumentParser(description='Color generation script') -parser.add_argument('--path', type=str, default=None, help='generate colorscheme from image') -parser.add_argument('--size', type=int , default=128 , help='bitmap image size') -parser.add_argument('--color', type=str, default=None, help='generate colorscheme from color') -parser.add_argument('--mode', type=str, choices=['dark', 'light'], default='dark', help='dark or light mode') -parser.add_argument('--scheme', type=str, default='vibrant', help='material scheme to use') -parser.add_argument('--smart', action='store_true', default=False, help='decide scheme type based on image color') -parser.add_argument('--transparency', type=str, choices=['opaque', 'transparent'], default='opaque', help='enable transparency') -parser.add_argument('--termscheme', type=str, default=None, help='JSON file containg the terminal scheme for generating term colors') -parser.add_argument('--harmony', type=float , default=0.8, help='(0-1) Color hue shift towards accent') -parser.add_argument('--harmonize_threshold', type=float , default=100, help='(0-180) Max threshold angle to limit color hue shift') -parser.add_argument('--term_fg_boost', type=float , default=0.35, help='Make terminal foreground more different from the background') -parser.add_argument('--blend_bg_fg', action='store_true', default=False, help='Shift terminal background or foreground towards accent') -parser.add_argument('--cache', type=str, default=None, help='file path to store the generated color') -parser.add_argument('--debug', action='store_true', default=False, help='debug mode') -args = parser.parse_args() - -rgba_to_hex = lambda rgba: "#{:02X}{:02X}{:02X}".format(rgba[0], rgba[1], rgba[2]) -argb_to_hex = lambda argb: "#{:02X}{:02X}{:02X}".format(*map(round, rgba_from_argb(argb))) -hex_to_argb = lambda hex_code: argb_from_rgb(int(hex_code[1:3], 16), int(hex_code[3:5], 16), int(hex_code[5:], 16)) -display_color = lambda rgba : "\x1B[38;2;{};{};{}m{}\x1B[0m".format(rgba[0], rgba[1], rgba[2], "\x1b[7m \x1b[7m") - -def calculate_optimal_size (width: int, height: int, bitmap_size: int) -> (int, int): - image_area = width * height; - bitmap_area = bitmap_size ** 2 - scale = math.sqrt(bitmap_area/image_area) if image_area > bitmap_area else 1 - new_width = round(width * scale) - new_height = round(height * scale) - if new_width == 0: - new_width = 1 - if new_height == 0: - new_height = 1 - return new_width, new_height - -def harmonize (design_color: int, source_color: int, threshold: float = 35, harmony: float = 0.5) -> int: - from_hct = Hct.from_int(design_color) - to_hct = Hct.from_int(source_color) - difference_degrees_ = difference_degrees(from_hct.hue, to_hct.hue) - rotation_degrees = min(difference_degrees_ * harmony, threshold) - output_hue = sanitize_degrees_double( - from_hct.hue + rotation_degrees * rotation_direction(from_hct.hue, to_hct.hue) - ) - return Hct.from_hct(output_hue, from_hct.chroma, from_hct.tone).to_int() - -def boost_chroma_tone (argb: int, chroma: float = 1, tone: float = 1) -> int: - hct = Hct.from_int(argb) - return Hct.from_hct(hct.hue, hct.chroma * chroma, hct.tone * tone).to_int() - -darkmode = (args.mode == 'dark') -transparent = (args.transparency == 'transparent') - -if args.path is not None: - image = Image.open(args.path) - - if image.format == "GIF": - image.seek(1) - - if image.mode in ["L", "P"]: - image = image.convert('RGB') - wsize, hsize = image.size - wsize_new, hsize_new = calculate_optimal_size(wsize, hsize, args.size) - if wsize_new < wsize or hsize_new < hsize: - image = image.resize((wsize_new, hsize_new), Image.Resampling.BICUBIC) - colors = QuantizeCelebi(list(image.getdata()), 128) - argb = Score.score(colors)[0] - - if args.cache is not None: - with open(args.cache, 'w') as file: - file.write(argb_to_hex(argb)) - hct = Hct.from_int(argb) - if(args.smart): - if(hct.chroma < 20): - args.scheme = 'neutral' -elif args.color is not None: - argb = hex_to_argb(args.color) - hct = Hct.from_int(argb) - -if args.scheme == 'fruitsalad': - from materialyoucolor.scheme.scheme_fruit_salad import SchemeFruitSalad as Scheme -elif args.scheme == 'expressive': - from materialyoucolor.scheme.scheme_expressive import SchemeExpressive as Scheme -elif args.scheme == 'monochrome': - from materialyoucolor.scheme.scheme_monochrome import SchemeMonochrome as Scheme -elif args.scheme == 'rainbow': - from materialyoucolor.scheme.scheme_rainbow import SchemeRainbow as Scheme -elif args.scheme == 'tonalspot': - from materialyoucolor.scheme.scheme_tonal_spot import SchemeTonalSpot as Scheme -elif args.scheme == 'neutral': - from materialyoucolor.scheme.scheme_neutral import SchemeNeutral as Scheme -elif args.scheme == 'fidelity': - from materialyoucolor.scheme.scheme_fidelity import SchemeFidelity as Scheme -elif args.scheme == 'content': - from materialyoucolor.scheme.scheme_content import SchemeContent as Scheme -elif args.scheme == 'vibrant': - from materialyoucolor.scheme.scheme_vibrant import SchemeVibrant as Scheme -else: - from schemes.scheme_morevibrant import SchemeMoreVibrant as Scheme - -# Generate -scheme = Scheme(hct, darkmode, 0.0) - -material_colors = {} -term_colors = {} - -for color in vars(MaterialDynamicColors).keys(): - color_name = getattr(MaterialDynamicColors, color) - if hasattr(color_name, "get_hct"): - rgba = color_name.get_hct(scheme).to_rgba() - material_colors[color] = rgba_to_hex(rgba) - -# Extended material -if darkmode == True: - material_colors['success'] = '#B5CCBA' - material_colors['onSuccess'] = '#213528' - material_colors['successContainer'] = '#374B3E' - material_colors['onSuccessContainer'] = '#D1E9D6' -else: - material_colors['success'] = '#4F6354' - material_colors['onSuccess'] = '#FFFFFF' - material_colors['successContainer'] = '#D1E8D5' - material_colors['onSuccessContainer'] = '#0C1F13' - -# Terminal Colors -if args.termscheme is not None: - with open(args.termscheme, 'r') as f: - json_termscheme = f.read() - term_source_colors = json.loads(json_termscheme)['dark' if darkmode else 'light'] - - primary_color_argb = hex_to_argb(material_colors['primary_paletteKeyColor']) - for color, val in term_source_colors.items(): - if(args.scheme == 'monochrome') : - term_colors[color] = val - continue - if args.blend_bg_fg and color == "term0": - harmonized = boost_chroma_tone(hex_to_argb(material_colors['surfaceContainerLow']), 1.2, 0.95) - elif args.blend_bg_fg and color == "term15": - harmonized = boost_chroma_tone(hex_to_argb(material_colors['onSurface']), 3, 1) - else: - harmonized = harmonize(hex_to_argb(val), primary_color_argb, args.harmonize_threshold, args.harmony) - harmonized = boost_chroma_tone(harmonized, 1, 1 + (args.term_fg_boost * (1 if darkmode else -1))) - term_colors[color] = argb_to_hex(harmonized) - -if args.debug == False: - print(f"$darkmode: {darkmode};") - print(f"$transparent: {transparent};") - for color, code in material_colors.items(): - print(f"${color}: {code};") - for color, code in term_colors.items(): - print(f"${color}: {code};") -else: - if args.path is not None: - print('\n--------------Image properties-----------------') - print(f"Image size: {wsize} x {hsize}") - print(f"Resized image: {wsize_new} x {hsize_new}") - print('\n---------------Selected color------------------') - print(f"Dark mode: {darkmode}") - print(f"Scheme: {args.scheme}") - print(f"Accent color: {display_color(rgba_from_argb(argb))} {argb_to_hex(argb)}") - print(f"HCT: {hct.hue:.2f} {hct.chroma:.2f} {hct.tone:.2f}") - print('\n---------------Material colors-----------------') - for color, code in material_colors.items(): - rgba = rgba_from_argb(hex_to_argb(code)) - print(f"{color.ljust(32)} : {display_color(rgba)} {code}") - print('\n----------Harmonize terminal colors------------') - for color, code in term_colors.items(): - rgba = rgba_from_argb(hex_to_argb(code)) - code_source = term_source_colors[color] - rgba_source = rgba_from_argb(hex_to_argb(code_source)) - print(f"{color.ljust(6)} : {display_color(rgba_source)} {code_source} --> {display_color(rgba)} {code}") - print('-----------------------------------------------') diff --git a/.config/ags/scripts/color_generation/pywal.sh b/.config/ags/scripts/color_generation/pywal.sh deleted file mode 100755 index ded45eee0..000000000 --- a/.config/ags/scripts/color_generation/pywal.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash -# A wrapper for pywal inside the virtual env -source $(eval echo $ILLOGICAL_IMPULSE_VIRTUAL_ENV)/bin/activate -#wal "$@" -wal $* -deactivate diff --git a/.config/ags/scripts/color_generation/pywal_to_material.scss b/.config/ags/scripts/color_generation/pywal_to_material.scss deleted file mode 100644 index ff049b219..000000000 --- a/.config/ags/scripts/color_generation/pywal_to_material.scss +++ /dev/null @@ -1,57 +0,0 @@ -$primary: lighten($color4, 20%); -$onPrimary: darken($color2, 20%); -$primaryContainer: darken($color2, 10%); -$onPrimaryContainer: lighten($color4, 10%); -$secondary: desaturate(lighten($color5, 20%), 20%); -$onSecondary: desaturate(darken($color3, 20%), 20%); -$secondaryContainer: desaturate(darken($color3, 20%), 20%); -$onSecondaryContainer: desaturate(lighten($color5, 20%), 20%); -$tertiary: adjust-hue(lighten($color4, 20%), 30deg); -$onTertiary: adjust-hue(darken($color2, 20%), 30deg); -$tertiaryContainer: adjust-hue(darken($color2, 10%), 30deg); -$tertiaryContainer: adjust-hue(lighten($color4, 10%), 30deg); -$error: #ffb4a9; -$onError: #680003; -$errorContainer: #930006; -$onErrorContainer: #ffb4a9; -$colorbarbg: $color0; -$background: $color0; -$onBackground: $color7; -$surface: $color0; -$onSurface: $color7; -$surfaceVariant: $color1; -$onSurfaceVariant: $color7; -$outline: $color7; -$shadow: #000000; -$inverseSurface: invert($surface); -$inverseOnSurface: invert($onSurface); -$inversePrimary: invert($primary); - -.primary { color: $primary; } -.onPrimary { color: $onPrimary; } -.primaryContainer { color: $primaryContainer; } -.onPrimaryContainer { color: $onPrimaryContainer; } -.secondary { color: $secondary; } -.onSecondary { color: $onSecondary; } -.secondaryContainer { color: $secondaryContainer; } -.onSecondaryContainer { color: $onSecondaryContainer; } -.tertiary { color: $tertiary; } -.onTertiary { color: $onTertiary; } -.tertiaryContainer { color: $tertiaryContainer; } -.onTertiaryContainer { color: $tertiaryContainer; } -.error { color: $error; } -.onError { color: $onError; } -.errorContainer { color: $errorContainer; } -.onErrorContainer { color: $onErrorContainer; } -.colorbarbg { color: $colorbarbg; } -.background { color: $background; } -.onBackground { color: $onBackground; } -.surface { color: $surface; } -.onSurface { color: $onSurface; } -.surfaceVariant { color: $surfaceVariant; } -.onSurfaceVariant { color: $onSurfaceVariant; } -.outline { color: $outline; } -.shadow { color: $shadow; } -.inverseSurface { color: $inverseSurface; } -.inverseOnSurface { color: $inverseOnSurface; } -.inversePrimary { color: $inversePrimary; } diff --git a/.config/ags/scripts/color_generation/randomwall.sh b/.config/ags/scripts/color_generation/randomwall.sh deleted file mode 100755 index 69587360f..000000000 --- a/.config/ags/scripts/color_generation/randomwall.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env bash -XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}" -CONFIG_DIR="$XDG_CONFIG_HOME/ags" -$CONFIG_DIR/scripts/color_generation/switchwall.sh "$(fd . $(xdg-user-dir PICTURES)/Wallpapers/ -e .png -e .jpg -e .svg | xargs shuf -n1 -e)" diff --git a/.config/ags/scripts/color_generation/schemes/scheme_morevibrant.py b/.config/ags/scripts/color_generation/schemes/scheme_morevibrant.py deleted file mode 100644 index 2715021c5..000000000 --- a/.config/ags/scripts/color_generation/schemes/scheme_morevibrant.py +++ /dev/null @@ -1,44 +0,0 @@ -from materialyoucolor.scheme.dynamic_scheme import DynamicSchemeOptions, DynamicScheme -from materialyoucolor.scheme.variant import Variant -from materialyoucolor.palettes.tonal_palette import TonalPalette - - -class SchemeMoreVibrant(DynamicScheme): - hues = [0.0, 41.0, 61.0, 101.0, 131.0, 181.0, 251.0, 301.0, 360.0] - secondary_rotations = [18.0, 15.0, 10.0, 12.0, 15.0, 18.0, 15.0, 12.0, 12.0] - tertiary_rotations = [35.0, 30.0, 20.0, 25.0, 30.0, 35.0, 30.0, 25.0, 25.0] - - def __init__(self, source_color_hct, is_dark, contrast_level): - super().__init__( - DynamicSchemeOptions( - source_color_hct=source_color_hct, - variant=Variant.VIBRANT, - contrast_level=contrast_level, - is_dark=is_dark, - primary_palette=TonalPalette.from_hue_and_chroma( - source_color_hct.hue, 200.0 - ), - secondary_palette=TonalPalette.from_hue_and_chroma( - DynamicScheme.get_rotated_hue( - source_color_hct, - SchemeMoreVibrant.hues, - SchemeMoreVibrant.secondary_rotations, - ), - 32.0, - ), - tertiary_palette=TonalPalette.from_hue_and_chroma( - DynamicScheme.get_rotated_hue( - source_color_hct, - SchemeMoreVibrant.hues, - SchemeMoreVibrant.tertiary_rotations, - ), - 32.0, - ), - neutral_palette=TonalPalette.from_hue_and_chroma( - source_color_hct.hue, 13.0 - ), - neutral_variant_palette=TonalPalette.from_hue_and_chroma( - source_color_hct.hue, 15.0 - ), - ) - ) diff --git a/.config/ags/scripts/color_generation/specials/_material_badapple-l.scss b/.config/ags/scripts/color_generation/specials/_material_badapple-l.scss deleted file mode 100644 index 12c047b0f..000000000 --- a/.config/ags/scripts/color_generation/specials/_material_badapple-l.scss +++ /dev/null @@ -1,29 +0,0 @@ -$darkmode: false; -$primary: #000000; -$onPrimary: #FFFFFF ; -$primaryContainer: #d4d4d4; -$onPrimaryContainer: #000000; -$secondary: #000000; -$onSecondary: #FFFFFF ; -$secondaryContainer: #bebebe; -$onSecondaryContainer: #000000; -$tertiary: #000000; -$onTertiary: #FFFFFF ; -$tertiaryContainer: #FFFFFF ; -$onTertiaryContainer: #000000; -$error: #000000; -$onError: #FFFFFF ; -$errorContainer: #FFFFFF ; -$onErrorContainer: #000000; -$colorbarbg: #FFFFFF ; -$background: #FFFFFF ; -$onBackground: #000000; -$surface: #f0f0f0; -$onSurface: #000000; -$surfaceVariant: #dddddd; -$onSurfaceVariant: #000000; -$outline: #525252; -$shadow: #000000 ; -$inverseSurface: #000000; -$inverseOnSurface: #FFFFFF; -$inversePrimary: #000000; diff --git a/.config/ags/scripts/color_generation/specials/_material_badapple.scss b/.config/ags/scripts/color_generation/specials/_material_badapple.scss deleted file mode 100644 index 24dd73ff5..000000000 --- a/.config/ags/scripts/color_generation/specials/_material_badapple.scss +++ /dev/null @@ -1,29 +0,0 @@ -$darkmode: true; -$primary: #e2e2e2; -$onPrimary: #000000; -$primaryContainer: #6b6b6b; -$onPrimaryContainer: #e2e2e2; -$secondary: #e2e2e2; -$onSecondary: #000000; -$secondaryContainer: #313131; -$onSecondaryContainer: #e2e2e2; -$tertiary: #e2e2e2; -$onTertiary: #000000; -$tertiaryContainer: #000000; -$onTertiaryContainer: #e2e2e2; -$error: #e2e2e2; -$onError: #000000; -$errorContainer: #000000; -$onErrorContainer: #e2e2e2; -$colorbarbg: #000000; -$background: #000000; -$onBackground: #e2e2e2; -$surface: #161616; -$onSurface: #e2e2e2; -$surfaceVariant: #242424; -$onSurfaceVariant: #e2e2e2; -$outline: #a1a1a1; -$shadow: #000000; -$inverseSurface: #e2e2e2; -$inverseOnSurface: #000000; -$inversePrimary: #e2e2e2; diff --git a/.config/ags/scripts/color_generation/switchcolor.sh b/.config/ags/scripts/color_generation/switchcolor.sh deleted file mode 100755 index 183efc7c9..000000000 --- a/.config/ags/scripts/color_generation/switchcolor.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env bash - -XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}" -XDG_CACHE_HOME="${XDG_CACHE_HOME:-$HOME/.cache}" -XDG_STATE_HOME="${XDG_STATE_HOME:-$HOME/.local/state}" -CONFIG_DIR="$XDG_CONFIG_HOME/ags" -CACHE_DIR="$XDG_CACHE_HOME/ags" -STATE_DIR="$XDG_STATE_HOME/ags" - -COLORMODE_FILE_DIR="$STATE_DIR/user/colormode.txt" - -if [ "$1" == "--pick" ]; then - color=$(hyprpicker --no-fancy) -elif [[ "$1" = "#"* ]]; then # this is a color - color=$1 -else - color=$(cut -f1 "$STATE_DIR/user/color.txt") -fi - -sed -i "1s/.*/$color/" "$STATE_DIR/user/color.txt" - -# Use Gradience? -colormodelines=$(wc -l "$COLORMODE_FILE_DIR" | awk '{print $1}' ) -if [ "$2" == "--no-gradience" ]; then - if [ "$colormodelines" == "3" ]; then - echo 'nogradience' >> "$COLORMODE_FILE_DIR" - else - sed -i "4s/.*/nogradience/" "$COLORMODE_FILE_DIR" - fi -elif [ "$2" == "--yes-gradience" ]; then - if [ "$colormodelines" == "3" ]; then - echo 'yesgradience' >> "$COLORMODE_FILE_DIR" - else - sed -i "4s/.*/yesgradience/" "$COLORMODE_FILE_DIR" - fi -fi - -# Generate colors for ags n stuff -"$CONFIG_DIR"/scripts/color_generation/colorgen.sh "${color}" --apply diff --git a/.config/ags/scripts/color_generation/switchwall.sh b/.config/ags/scripts/color_generation/switchwall.sh deleted file mode 100755 index b41304112..000000000 --- a/.config/ags/scripts/color_generation/switchwall.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/env bash - -XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}" -CONFIG_DIR="$XDG_CONFIG_HOME/ags" - -switch() { - imgpath=$1 - read scale screenx screeny screensizey < <(hyprctl monitors -j | jq '.[] | select(.focused) | .scale, .x, .y, .height' | xargs) - cursorposx=$(hyprctl cursorpos -j | jq '.x' 2>/dev/null) || cursorposx=960 - cursorposx=$(bc <<< "scale=0; ($cursorposx - $screenx) * $scale / 1") - cursorposy=$(hyprctl cursorpos -j | jq '.y' 2>/dev/null) || cursorposy=540 - cursorposy=$(bc <<< "scale=0; ($cursorposy - $screeny) * $scale / 1") - cursorposy_inverted=$((screensizey - cursorposy)) - - if [ "$imgpath" == '' ]; then - echo 'Aborted' - exit 0 - fi - - # agsv1 run-js "wallpaper.set('')" - # sleep 0.1 && agsv1 run-js "wallpaper.set('${imgpath}')" & - swww img "$imgpath" --transition-step 100 --transition-fps 120 \ - --transition-type grow --transition-angle 30 --transition-duration 1 \ - --transition-pos "$cursorposx, $cursorposy_inverted" -} - -if [ "$1" == "--noswitch" ]; then - imgpath=$(swww query | awk -F 'image: ' '{print $2}') - # imgpath=$(agsv1 run-js 'wallpaper.get(0)') -elif [[ "$1" ]]; then - switch "$1" -else - # Select and set image (hyprland) - - cd "$(xdg-user-dir PICTURES)/Wallpapers" || cd "$(xdg-user-dir PICTURES)" || return 1 - switch "$(yad --width 1200 --height 800 --file --add-preview --large-preview --title='Choose wallpaper')" -fi - -# Generate colors for ags n stuff -"$CONFIG_DIR"/scripts/color_generation/colorgen.sh "${imgpath}" --apply --smart diff --git a/.config/ags/scripts/grimblast.sh b/.config/ags/scripts/grimblast.sh deleted file mode 100755 index a5602f24d..000000000 --- a/.config/ags/scripts/grimblast.sh +++ /dev/null @@ -1,277 +0,0 @@ -#!/usr/bin/env bash -## Grimblast: a helper for screenshots within hyprland -## Requirements: -## - `grim`: screenshot utility for wayland -## - `slurp`: to select an area -## - `hyprctl`: to read properties of current window (provided by Hyprland) -## - `hyprpicker`: to freeze the screen when selecting area -## - `wl-copy`: clipboard utility (provided by wl-clipboard) -## - `jq`: json utility to parse hyprctl output -## - `notify-send`: to show notifications (provided by libnotify) -## Those are needed to be installed, if unsure, run `grimblast check` -## -## See `man 1 grimblast` or `grimblast usage` for further details. - -## Author: Misterio (https://github.com/misterio77) - -## This tool is based on grimshot, with swaymsg commands replaced by their -## hyprctl equivalents. -## https://github.com/swaywm/sway/blob/master/contrib/grimshot -getTargetDirectory() { - test -f "${XDG_CONFIG_HOME:-$HOME/.config}/user-dirs.dirs" && - . "${XDG_CONFIG_HOME:-$HOME/.config}/user-dirs.dirs" - - echo "${XDG_SCREENSHOTS_DIR:-${XDG_PICTURES_DIR:-$HOME}}" -} - -tmp_editor_directory() { - echo "/tmp" -} - -#Detect if $GRIMBLAST_EDITOR env exist -env_editor_confirm() { - if [ -n "$GRIMBLAST_EDITOR" ]; then - echo "GRIMBLAST_EDITOR is set. Continuing..." - else - echo "GRIMBLAST_EDITOR is not set. Defaulting to gimp" - GRIMBLAST_EDITOR=gimp - fi -} - -NOTIFY=no -CURSOR= -FREEZE= -WAIT=no -SCALE= -HYPRPICKER_PID=-1 - -while [ $# -gt 0 ]; do - key="$1" - - case $key in - -n | --notify) - NOTIFY=yes - shift # past argument - ;; - -c | --cursor) - CURSOR=yes - shift # past argument - ;; - -f | --freeze) - FREEZE=yes - shift # past argument - ;; - -w | --wait) - shift - WAIT=$1 - if echo "$WAIT" | grep "[^0-9]" -q; then - echo "Invalid value for wait '$WAIT'" >&2 - exit 3 - fi - shift - ;; - -s | --scale) - shift # past argument - if [ $# -gt 0 ]; then - SCALE="$1" # assign the next argument to SCALE - shift # past argument - else - echo "Error: Missing argument for --scale option." - exit 1 - fi - ;; - *) # unknown option - break # done with parsing --flags - ;; - esac -done - -ACTION=${1:-usage} -SUBJECT=${2:-screen} -FILE=${3:-$(getTargetDirectory)/$(date -Ins).png} -FILE_EDITOR=${3:-$(tmp_editor_directory)/$(date -Ins).png} - -if [ "$ACTION" != "save" ] && [ "$ACTION" != "copy" ] && [ "$ACTION" != "edit" ] && [ "$ACTION" != "copysave" ] && [ "$ACTION" != "check" ]; then - echo "Usage:" - echo " grimblast [--notify] [--cursor] [--freeze] [--wait N] [--scale ] (copy|save|copysave|edit) [active|screen|output|area] [FILE|-]" - echo " grimblast check" - echo " grimblast usage" - echo "" - echo "Commands:" - echo " copy: Copy the screenshot data into the clipboard." - echo " save: Save the screenshot to a regular file or '-' to pipe to STDOUT." - echo " copysave: Combine the previous 2 options." - echo " edit: Open screenshot in the image editor of your choice (default is gimp). See man page for info." - echo " check: Verify if required tools are installed and exit." - echo " usage: Show this message and exit." - echo "" - echo "Targets:" - echo " active: Currently active window." - echo " screen: All visible outputs." - echo " output: Currently active output." - echo " area: Manually select a region or window." - exit -fi - -notify() { - notify-send -t 3000 -a grimblast "$@" -} - -notifyOk() { - [ "$NOTIFY" = "no" ] && return - - notify "$@" -} - -notifyError() { - if [ $NOTIFY = "yes" ]; then - TITLE=${2:-"Screenshot"} - MESSAGE=${1:-"Error taking screenshot with grim"} - notify -u critical "$TITLE" "$MESSAGE" - else - echo "$1" - fi -} - -resetFade() { - if [[ -n $FADE && -n $FADEOUT ]]; then - hyprctl keyword animation "$FADE" >/dev/null - hyprctl keyword animation "$FADEOUT" >/dev/null - fi -} - -killHyprpicker() { - if [ ! $HYPRPICKER_PID -eq -1 ]; then - kill $HYPRPICKER_PID - fi -} - -die() { - killHyprpicker - MSG=${1:-Bye} - notifyError "Error: $MSG" - exit 2 -} - -check() { - COMMAND=$1 - if command -v "$COMMAND" >/dev/null 2>&1; then - RESULT="OK" - else - RESULT="NOT FOUND" - fi - echo " $COMMAND: $RESULT" -} - -takeScreenshot() { - FILE=$1 - GEOM=$2 - OUTPUT=$3 - if [ -n "$OUTPUT" ]; then - grim ${CURSOR:+-c} ${SCALE:+-s "$SCALE"} -o "$OUTPUT" "$FILE" || die "Unable to invoke grim" - elif [ -z "$GEOM" ]; then - grim ${CURSOR:+-c} ${SCALE:+-s "$SCALE"} "$FILE" || die "Unable to invoke grim" - else - grim ${CURSOR:+-c} ${SCALE:+-s "$SCALE"} -g "$GEOM" "$FILE" || die "Unable to invoke grim" - resetFade - fi -} - -wait() { - if [ "$WAIT" != "no" ]; then - sleep "$WAIT" - fi -} - -if [ "$ACTION" = "check" ]; then - echo "Checking if required tools are installed. If something is missing, install it to your system and make it available in PATH..." - check grim - check slurp - check hyprctl - check hyprpicker - check wl-copy - check jq - check notify-send - exit -elif [ "$SUBJECT" = "active" ]; then - wait - FOCUSED=$(hyprctl activewindow -j) - GEOM=$(echo "$FOCUSED" | jq -r '"\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"') - APP_ID=$(echo "$FOCUSED" | jq -r '.class') - WHAT="$APP_ID window" -elif [ "$SUBJECT" = "screen" ]; then - wait - GEOM="" - WHAT="Screen" -elif [ "$SUBJECT" = "output" ]; then - wait - GEOM="" - OUTPUT=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true)' | jq -r '.name') - WHAT="$OUTPUT" -elif [ "$SUBJECT" = "area" ]; then - if [ "$FREEZE" = "yes" ] && [ "$(command -v "hyprpicker")" ] >/dev/null 2>&1; then - hyprpicker -r -z & - sleep 0.2 - HYPRPICKER_PID=$! - fi - - # get fade & fadeOut animation and unset it - # this removes the black border seen around screenshots - FADE="$(hyprctl -j animations | jq -jr '.[0][] | select(.name == "fade") | .name, ",", (if .enabled == true then "1" else "0" end), ",", (.speed|floor), ",", .bezier')" - FADEOUT="$(hyprctl -j animations | jq -jr '.[0][] | select(.name == "fadeOut") | .name, ",", (if .enabled == true then "1" else "0" end), ",", (.speed|floor), ",", .bezier')" - hyprctl keyword animation 'fade,0,1,default' >/dev/null - hyprctl keyword animation 'fadeOut,0,1,default' >/dev/null - - WORKSPACES="$(hyprctl monitors -j | jq -r 'map(.activeWorkspace.id)')" - WINDOWS="$(hyprctl clients -j | jq -r --argjson workspaces "$WORKSPACES" 'map(select([.workspace.id] | inside($workspaces)))')" - # shellcheck disable=2086 # if we don't split, spaces mess up slurp - GEOM=$(echo "$WINDOWS" | jq -r '.[] | "\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"' | slurp $SLURP_ARGS) - - # Check if user exited slurp without selecting the area - if [ -z "$GEOM" ]; then - killHyprpicker - resetFade - exit 1 - fi - WHAT="Area" - wait -elif [ "$SUBJECT" = "window" ]; then - die "Subject 'window' is now included in 'area'" -else - die "Unknown subject to take a screen shot from" "$SUBJECT" -fi - -if [ "$ACTION" = "copy" ]; then - takeScreenshot - "$GEOM" "$OUTPUT" | wl-copy --type image/png || die "Clipboard error" - notifyOk "$WHAT copied to buffer" -elif [ "$ACTION" = "save" ]; then - if takeScreenshot "$FILE" "$GEOM" "$OUTPUT"; then - TITLE="Screenshot of $SUBJECT" - MESSAGE=$(basename "$FILE") - notifyOk "$TITLE" "$MESSAGE" -i "$FILE" - echo "$FILE" - else - notifyError "Error taking screenshot with grim" - fi -elif [ "$ACTION" = "edit" ]; then - env_editor_confirm - if takeScreenshot "$FILE_EDITOR" "$GEOM" "$OUTPUT"; then - TITLE="Screenshot of $SUBJECT" - MESSAGE="Open screenshot in image editor" - notifyOk "$TITLE" "$MESSAGE" -i "$FILE_EDITOR" - $GRIMBLAST_EDITOR "$FILE_EDITOR" - echo "$FILE_EDITOR" - else - notifyError "Error taking screenshot" - fi -else - if [ "$ACTION" = "copysave" ]; then - takeScreenshot - "$GEOM" "$OUTPUT" | tee "$FILE" | wl-copy --type image/png || die "Clipboard error" - notifyOk "$WHAT copied to buffer and saved to $FILE" -i "$FILE" - echo "$FILE" - else - notifyError "Error taking screenshot with grim" - fi -fi - -killHyprpicker diff --git a/.config/ags/scripts/kvantum/adwsvg.py b/.config/ags/scripts/kvantum/adwsvg.py deleted file mode 100644 index 7f2ae8e2c..000000000 --- a/.config/ags/scripts/kvantum/adwsvg.py +++ /dev/null @@ -1,79 +0,0 @@ -import re -import os - -def read_scss(file_path): - """Reads an SCSS file and returns a dictionary of color variables.""" - colors = {} - with open(file_path, 'r') as file: - for line in file: - match = re.match(r'\$(\w+):\s*(#[0-9A-Fa-f]{6});', line.strip()) - if match: - variable_name, color = match.groups() - colors[variable_name] = color - return colors - -def update_svg_colors(svg_path, old_to_new_colors, output_path): - """ - Updates the colors in an SVG file based on the provided color map. - - :param svg_path: Path to the SVG file. - :param old_to_new_colors: Dictionary mapping old colors to new colors. - :param output_path: Path to save the updated SVG file. - """ - # Read the SVG content - with open(svg_path, 'r') as file: - svg_content = file.read() - - # Replace old colors with new colors - for old_color, new_color in old_to_new_colors.items(): - svg_content = re.sub(old_color, new_color, svg_content, flags=re.IGNORECASE) - - # Write the updated SVG content to the output file - with open(output_path, 'w') as file: - file.write(svg_content) - - print(f"SVG colors have been updated and saved to {output_path}!") - -def main(): - xdg_config_home = os.environ.get("XDG_CONFIG_HOME", os.path.expanduser("~/.config")) - xdg_state_home = os.environ.get("XDG_STATE_HOME", os.path.expanduser("~/.local/state")) - - scss_file = os.path.join(xdg_state_home, "ags", "scss", "_material.scss") - svg_path = os.path.join(xdg_config_home, "Kvantum", "Colloid", "Colloid.svg") - output_path = os.path.join(xdg_config_home, "Kvantum", "MaterialAdw", "MaterialAdw.svg") - - # Read colors from the SCSS file - color_data = read_scss(scss_file) - - # Specify the old colors and map them to new colors from the SCSS file - old_to_new_colors = { - #'#cccccc': color_data['surfaceDim'], # Map old SVG color to new SCSS color - #'#666666': color_data['surfaceDim'], - '#3c84f7': color_data['primary'], - #'#5a5a5a': color_data['neutral_paletteKeyColor'], - '#000000': color_data['shadow'], - '#f04a50': color_data['error'], - '#4285f4': color_data['primaryFixedDim'], - '#f2f2f2': color_data['background'], - #'#dfdfdf': color_data['surfaceContainerLow'], - '#ffffff': color_data['background'], - '#1e1e1e': color_data['onPrimaryFixed'], - #'#b6b6b6': color_data['surfaceContainer'], - '#333': color_data['inverseSurface'], - '#212121': color_data['onSecondaryFixed'], - '#5b9bf8': color_data['secondaryContainer'], - '#26272a': color_data['term7'], - #'#b3b3b3': color_data['surfaceBright'], - #'#b74aff': color_data['tertiary'], - #'#989898': color_data['surfaceContainerHighest'], - #'#c1c1c1': color_data['surfaceContainerHigh'], - '#444444': color_data['onBackground'], - '#333333': color_data['onPrimaryFixed'], - } - - # Update the SVG colors - update_svg_colors(svg_path, old_to_new_colors, output_path) - -if __name__ == "__main__": - main() - diff --git a/.config/ags/scripts/kvantum/adwsvgDark.py b/.config/ags/scripts/kvantum/adwsvgDark.py deleted file mode 100644 index 5e09d8360..000000000 --- a/.config/ags/scripts/kvantum/adwsvgDark.py +++ /dev/null @@ -1,87 +0,0 @@ -import re -import os - -def read_scss(file_path): - """Reads an SCSS file and returns a dictionary of color variables.""" - colors = {} - with open(file_path, 'r') as file: - for line in file: - match = re.match(r'\$(\w+):\s*(#[0-9A-Fa-f]{6});', line.strip()) - if match: - variable_name, color = match.groups() - colors[variable_name] = color - return colors - -def update_svg_colors(svg_path, old_to_new_colors, output_path): - """ - Updates the colors in an SVG file based on the provided color map. - - :param svg_path: Path to the SVG file. - :param old_to_new_colors: Dictionary mapping old colors to new colors. - :param output_path: Path to save the updated SVG file. - """ - # Read the SVG content - with open(svg_path, 'r') as file: - svg_content = file.read() - - # Replace old colors with new colors - for old_color, new_color in old_to_new_colors.items(): - svg_content = re.sub(old_color, new_color, svg_content, flags=re.IGNORECASE) - - # Write the updated SVG content to the output file - with open(output_path, 'w') as file: - file.write(svg_content) - - print(f"SVG colors have been updated and saved to {output_path}!") - -def main(): - xdg_config_home = os.environ.get("XDG_CONFIG_HOME", os.path.expanduser("~/.config")) - xdg_state_home = os.environ.get("XDG_STATE_HOME", os.path.expanduser("~/.local/state")) - - scss_file = os.path.join(xdg_state_home, "ags", "scss", "_material.scss") - svg_path = os.path.join(xdg_config_home, "Kvantum", "Colloid", "ColloidDark.svg") - output_path = os.path.join(xdg_config_home, "Kvantum", "MaterialAdw", "MaterialAdw.svg") - - # Read colors from the SCSS file - color_data = read_scss(scss_file) - - # Specify the old colors and map them to new colors from the SCSS file - old_to_new_colors = { - #'#525252': color_data['surfaceDim'], # Map old SVG color to new SCSS color - #'#666666': color_data['surfaceDim'], - '#31363b': color_data['background'], - #'#eff0f1': color_data['neutral_paletteKeyColor'], - '#000000': color_data['shadow'], - '#5b9bf8': color_data['primary'], - '#93cee9': color_data['onSecondaryContainer'], - '#3daee9': color_data['secondary'], - #'#fff': color_data['term10'], - #'#5a5a5a': color_data['surfaceVariant'], - #'#acb1bc': color_data['onPrimaryFixed'], - '#ffffff': color_data['term11'], - '#5a616e': color_data['surfaceVariant'], - '#f04a50': color_data['error'], - '#4285f4': color_data['secondary'], - '#242424': color_data['background'], - '#2c2c2c': color_data['background'], - #'#dfdfdf': color_data['onSurfaceVariant'], - #'#646464': color_data['surfaceContainerHighest'], - #'#989898': color_data['surfaceContainerHigh'], - #'#c1c1c1': color_data['primaryFixedDim'], - '#1e1e1e': color_data['background'], - '#3c3c3c': color_data['background'], - '#26272a': color_data['surfaceBright'], - '#000000': color_data['shadow'], - '#b74aff': color_data['tertiary'], - #'#b6b6b6': color_data['onSurfaceVariant'], - '#1a1a1a': color_data['background'], - '#333': color_data['term0'], - '#212121': color_data['background'], - } - - # Update the SVG colors - update_svg_colors(svg_path, old_to_new_colors, output_path) - -if __name__ == "__main__": - main() - diff --git a/.config/ags/scripts/kvantum/changeAdwColors.py b/.config/ags/scripts/kvantum/changeAdwColors.py deleted file mode 100644 index a7d1e6b9d..000000000 --- a/.config/ags/scripts/kvantum/changeAdwColors.py +++ /dev/null @@ -1,71 +0,0 @@ -import re -import os - -def get_colors_from_scss(scss_file): - colors = {} - with open(scss_file, 'r') as file: - for line in file: - match = re.match(r'\$(\w+):\s*(#[0-9A-Fa-f]{6});', line) - if match: - colors[match.group(1)] = match.group(2) - return colors - -def update_config_colors(config_file, colors, mappings): - with open(config_file, 'r') as file: - config_content = file.read() - - for key, variable in mappings.items(): - if variable in colors: - color = colors[variable] - pattern = rf'({key}=)#?\w+\b' - new_line = f'\\1{color}' - if re.search(pattern, config_content): - config_content = re.sub(pattern, new_line, config_content) - else: - config_content += f"\n{key}={color}" - - with open(config_file, 'w') as file: - file.write(config_content) - -if __name__ == "__main__": - xdg_config_home = os.environ.get("XDG_CONFIG_HOME", os.path.expanduser("~/.config")) - xdg_state_home = os.environ.get("XDG_STATE_HOME", os.path.expanduser("~/.local/state")) - - config_file = os.path.join(xdg_config_home, "Kvantum", "MaterialAdw", "MaterialAdw.kvconfig") - scss_file = os.path.join(xdg_state_home, "ags", "scss", "_material.scss") - - # Define your mappings here - mappings = { - 'window.color': 'background', - 'base.color': 'background', - 'alt.base.color': 'background', - 'button.color': 'surfaceContainer', - 'light.color': 'surfaceContainerLow', - 'mid.light.color': 'surfaceContainer', - 'dark.color': 'surfaceContainerHighest', - 'mid.color': 'surfaceContainerHigh', - 'highlight.color': 'primary', - 'inactive.highlight.color': 'primary', - 'text.color': 'onBackground', - 'window.text.color': 'onBackground', - 'button.text.color': 'onBackground', - 'disabled.text.color': 'onBackground', - 'tooltip.text.color': 'onBackground', - 'highlight.text.color': 'onSurface', - 'link.color': 'tertiary', - 'link.visited.color': 'tertiaryFixed', - 'progress.indicator.text.color': 'onBackground', - 'text.normal.color': 'onBackground', - 'text.focus.color': 'onBackground', - 'text.press.color': 'onsecondarycontainer', - 'text.toggle.color': 'onsecondarycontainer', - 'text.disabled.color': 'surfaceDim', - - - # Add more mappings as needed - } - - colors = get_colors_from_scss(scss_file) - update_config_colors(config_file, colors, mappings) - print("Config colors updated successfully!") - diff --git a/.config/ags/scripts/kvantum/materialQT.sh b/.config/ags/scripts/kvantum/materialQT.sh deleted file mode 100755 index 7495fad37..000000000 --- a/.config/ags/scripts/kvantum/materialQT.sh +++ /dev/null @@ -1,43 +0,0 @@ -#!/usr/bin/env bash - -XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}" -XDG_CACHE_HOME="${XDG_CACHE_HOME:-$HOME/.cache}" -XDG_STATE_HOME="${XDG_STATE_HOME:-$HOME/.local/state}" -CONFIG_DIR="$XDG_CONFIG_HOME/ags" -CACHE_DIR="$XDG_CACHE_HOME/ags" -STATE_DIR="$XDG_STATE_HOME/ags" - -get_light_dark() { - lightdark="" - if [ ! -f "$STATE_DIR/user/colormode.txt" ]; then - echo "" >"$STATE_DIR/user/colormode.txt" - else - lightdark=$(sed -n '1p' "$STATE_DIR/user/colormode.txt") - fi - echo "$lightdark" -} - -apply_qt() { - # Check if the theme exists - FOLDER_PATH="$XDG_CONFIG_HOME/Kvantum/Colloid/" - - if [ ! -d "$FOLDER_PATH" ]; then - # Send a notification - notify-send "Colloid-kde theme required" " The folder '$FOLDER_PATH' does not exist." - exit 1 # Exit the function if the folder does not exist - fi - - lightdark=$(get_light_dark) - if [ "$lightdark" = "light" ]; then - # apply ligght colors - cp "$XDG_CONFIG_HOME/Kvantum/Colloid/Colloid.kvconfig" "$XDG_CONFIG_HOME/Kvantum/MaterialAdw/MaterialAdw.kvconfig" - python "$CONFIG_DIR/scripts/kvantum/adwsvg.py" - - else - #apply dark colors - cp "$XDG_CONFIG_HOME/Kvantum/Colloid/ColloidDark.kvconfig" "$XDG_CONFIG_HOME/Kvantum/MaterialAdw/MaterialAdw.kvconfig" - python "$CONFIG_DIR/scripts/kvantum/adwsvgDark.py" - fi -} - -apply_qt diff --git a/.config/ags/scripts/record-script.sh b/.config/ags/scripts/record-script.sh deleted file mode 100755 index f9dd16dc7..000000000 --- a/.config/ags/scripts/record-script.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/env bash - -getdate() { - date '+%Y-%m-%d_%H.%M.%S' -} -getaudiooutput() { - pactl list sources | grep 'Name' | grep 'monitor' | cut -d ' ' -f2 -} -getactivemonitor() { - hyprctl monitors -j | jq -r '.[] | select(.focused == true) | .name' -} - -mkdir -p "$(xdg-user-dir VIDEOS)" -cd "$(xdg-user-dir VIDEOS)" || exit -if pgrep wf-recorder > /dev/null; then - notify-send "Recording Stopped" "Stopped" -a 'record-script.sh' & - pkill wf-recorder & -else - notify-send "Starting recording" 'recording_'"$(getdate)"'.mp4' -a 'record-script.sh' - if [[ "$1" == "--sound" ]]; then - wf-recorder --pixel-format yuv420p -f './recording_'"$(getdate)"'.mp4' -t --geometry "$(slurp)" --audio="$(getaudiooutput)" & disown - elif [[ "$1" == "--fullscreen-sound" ]]; then - wf-recorder -o $(getactivemonitor) --pixel-format yuv420p -f './recording_'"$(getdate)"'.mp4' -t --audio="$(getaudiooutput)" & disown - elif [[ "$1" == "--fullscreen" ]]; then - wf-recorder -o $(getactivemonitor) --pixel-format yuv420p -f './recording_'"$(getdate)"'.mp4' -t & disown - else - wf-recorder --pixel-format yuv420p -f './recording_'"$(getdate)"'.mp4' -t --geometry "$(slurp)" & disown - fi -fi