diff --git a/.config/ags/modules/.commonwidgets/configwidgets.js b/.config/ags/modules/.commonwidgets/configwidgets.js index 92ad8b44f..c314e508a 100644 --- a/.config/ags/modules/.commonwidgets/configwidgets.js +++ b/.config/ags/modules/.commonwidgets/configwidgets.js @@ -120,7 +120,52 @@ export const ConfigSegmentedSelection = ({ } +export const ConfigMulipleSelection = ({ + icon, name, desc = '', + optionsArr = [ + [ { name: 'Option 1', value: 0 }, { name: 'Option 2', value: 1 } ], + [ { name: 'Option 3', value: 0 }, { name: 'Option 4', value: 1 } ], + ], + initIndex = [0, 0], + onChange, + ...rest +}) => { + let lastSelected = initIndex; + let value = optionsArr[initIndex[0]][initIndex[1]].value; + const widget = Box({ + tooltipText: desc, + className: 'multipleselection-container spacing-v-3', + vertical: true, + children: optionsArr.map((options, grp) => { + return Box({ + className: 'spacing-h-5', + hpack: 'center', + children: options.map((option, id) => { + return Button({ + setup: setupCursorHover, + className: `multipleselection-btn ${id == initIndex[1] && grp == initIndex[0] ? 'multipleselection-btn-enabled' : ''}`, + label: option.name, + onClicked: (self) => { + const kidsg = widget.get_children(); + const kids = kidsg.flatMap(widget => widget.get_children()); + kids.forEach(kid => { + kid.toggleClassName('multipleselection-btn-enabled', false); + }); + lastSelected = id; + self.toggleClassName('multipleselection-btn-enabled', true); + onChange(option.value, option.name); + } + }) + }), + }) + }), + ...rest, + }); + return widget; + +} + export const ConfigGap = ({ vertical = true, size = 5, ...rest }) => Box({ className: `gap-${vertical ? 'v' : 'h'}-${size}`, ...rest, -}) \ No newline at end of file +}) diff --git a/.config/ags/modules/.miscutils/system.js b/.config/ags/modules/.miscutils/system.js index 6285ee2d7..1c7f236e7 100644 --- a/.config/ags/modules/.miscutils/system.js +++ b/.config/ags/modules/.miscutils/system.js @@ -8,7 +8,8 @@ export const isArchDistro = (distroID == 'arch' || distroID == 'endeavouros' || export const hasFlatpak = !!exec(`bash -c 'command -v flatpak'`); const LIGHTDARK_FILE_LOCATION = `${GLib.get_user_cache_dir()}/ags/user/colormode.txt`; -export let darkMode = !(Utils.readFile(LIGHTDARK_FILE_LOCATION).trim() == '-l'); +const colorMode = Utils.exec('bash -c "sed -n \'1p\' $HOME/.cache/ags/user/colormode.txt"'); +export let darkMode = !(Utils.readFile(LIGHTDARK_FILE_LOCATION).trim() == 'light'); export const getDistroIcon = () => { // Arches diff --git a/.config/ags/modules/indicators/colorscheme.js b/.config/ags/modules/indicators/colorscheme.js index 33b745a34..2f20c563e 100644 --- a/.config/ags/modules/indicators/colorscheme.js +++ b/.config/ags/modules/indicators/colorscheme.js @@ -1,51 +1,208 @@ +const { Gio, GLib } = imports.gi; +import Variable from 'resource:///com/github/Aylur/ags/variable.js'; import Widget from 'resource:///com/github/Aylur/ags/widget.js'; - -const { Box, Label } = Widget; +import { ConfigToggle, ConfigMulipleSelection } from '../.commonwidgets/configwidgets.js'; +import * as Utils from 'resource:///com/github/Aylur/ags/utils.js'; +const { execAsync } = Utils; +import { setupCursorHover } from '../.widgetutils/cursorhover.js'; import { showColorScheme } from '../../variables.js'; +import { MaterialIcon } from '../.commonwidgets/materialicon.js'; const ColorBox = ({ name = 'Color', ...rest -}) => Box({ +}) => Widget.Box({ ...rest, homogeneous: true, children: [ - Label({ + Widget.Label({ label: `${name}`, }) ] }) -const ColorschemeContent = () => Box({ +const ColorSchemeSettingsRevealer = () => { + const headerButtonIcon = MaterialIcon('expand_more', 'norm'); + const header = Widget.Button({ + className: 'osd-settings-btn-arrow', + onClicked: () => { + content.revealChild = !content.revealChild; + headerButtonIcon.label = content.revealChild ? 'expand_less' : 'expand_more'; + }, + setup: setupCursorHover, + hpack: 'end', + child: headerButtonIcon, + }); + const content = Widget.Revealer({ + revealChild: false, + transition: 'slide_down', + transitionDuration: 200, + child: ColorSchemeSettings(), + setup: (self) => self.hook(isHoveredColorschemeSettings, (revealer) => { + if (isHoveredColorschemeSettings.value == false) { + setTimeout(() => { + if (isHoveredColorschemeSettings.value == false) + revealer.revealChild = false; + headerButtonIcon.label = 'expand_more'; + }, 1500); + } + }), + }); + return Widget.EventBox({ + onHover: (self) => { + isHoveredColorschemeSettings.setValue(true); + }, + onHoverLost: (self) => { + isHoveredColorschemeSettings.setValue(false); + }, + child: Widget.Box({ + vertical: true, + children: [ + header, + content, + ] + }), + }); +} + +function calculateSchemeInitIndex(optionsArr, searchValue = 'tonalspot') { + if (searchValue == '') + searchValue = 'tonalspot'; + const flatArray = optionsArr.flatMap(subArray => subArray); + const result = flatArray.findIndex(element => element.value === searchValue); + const rowIndex = Math.floor(result / optionsArr[0].length); + const columnIndex = result % optionsArr[0].length; + return [rowIndex, columnIndex]; +} + +const schemeOptionsArr = [ + [ + { name: 'Tonal Spot', value: 'tonalspot' }, + { name: 'Fruit Salad', value: 'fruitsalad' }, + { name: 'Fidelity', value: 'fidelity' }, + { name: 'Rainbow', value: 'rainbow' }, + ], + [ + { name: 'Neutral', value: 'neutral' }, + { name: 'Monochrome', value: 'monochrome' }, + { name: 'Expressive', value: 'expressive' }, + { name: 'Vibrant', value: 'vibrant' }, + ], + //[ + // { name: 'Content', value: 'content' }, + //] +]; + +const initColorMode = Utils.exec('bash -c "sed -n \'1p\' $HOME/.cache/ags/user/colormode.txt"'); +const initColorVal = (initColorMode == "dark") ? 1 : 0; +const initTransparency = Utils.exec('bash -c "sed -n \'2p\' $HOME/.cache/ags/user/colormode.txt"'); +const initTransparencyVal = (initTransparency == "transparent") ? 1 : 0; +const initScheme = Utils.exec('bash -c "sed -n \'3p\' $HOME/.cache/ags/user/colormode.txt"'); +const initSchemeIndex = calculateSchemeInitIndex(schemeOptionsArr, initScheme); + +const ColorSchemeSettings = () => Widget.Box({ + className: 'osd-colorscheme-settings spacing-v-5', + vertical: true, + vpack: 'center', + children: [ + Widget.Box({ + children: [ + ConfigToggle({ + name: 'Dark Mode', + initValue: initColorVal, + onChange: (self, newValue) => { + let lightdark = newValue == 0 ? "light" : "dark"; + execAsync([`bash`, `-c`, `mkdir -p ${GLib.get_user_cache_dir()}/ags/user && sed -i "1s/.*/${lightdark}/" ${GLib.get_user_cache_dir()}/ags/user/colormode.txt`]) + .then(execAsync(['bash', '-c', `${App.configDir}/scripts/color_generation/switchcolor.sh`])) + .catch(print); + }, + }), + ConfigToggle({ + name: 'Transparency', + initValue: initTransparencyVal, + onChange: (self, newValue) => { + let transparency = newValue == 0 ? "opaque" : "transparent"; + execAsync([`bash`, `-c`, `mkdir -p ${GLib.get_user_cache_dir()}/ags/user && sed -i "2s/.*/${transparency}/" ${GLib.get_user_cache_dir()}/ags/user/colormode.txt`]) + .then(execAsync(['bash', '-c', `${App.configDir}/scripts/color_generation/switchcolor.sh`])) + .catch(print); + }, + }), + ] + }), + ConfigMulipleSelection({ + hpack: 'center', + vpack: 'center', + optionsArr: schemeOptionsArr, + initIndex: initSchemeIndex, + onChange: (value, name) => { + execAsync([`bash`, `-c`, `mkdir -p ${GLib.get_user_cache_dir()}/ags/user && sed -i "3s/.*/${value}/" ${GLib.get_user_cache_dir()}/ags/user/colormode.txt`]) + .then(execAsync(['bash', '-c', `${App.configDir}/scripts/color_generation/switchcolor.sh`])) + .catch(print); + }, + }), + ] +}); + +const ColorschemeContent = () => Widget.Box({ className: 'osd-colorscheme spacing-v-5', vertical: true, hpack: 'center', children: [ - Label({ + Widget.Label({ xalign: 0, className: 'txt-norm titlefont txt', label: 'Colorscheme', + hpack: 'center', }), - Box({ + Widget.Box({ className: 'spacing-h-5', + hpack: 'center', children: [ ColorBox({ name: 'P', className: 'osd-color osd-color-primary' }), - ColorBox({ name: 'P-c', className: 'osd-color osd-color-primaryContainer' }), ColorBox({ name: 'S', className: 'osd-color osd-color-secondary' }), - ColorBox({ name: 'S-c', className: 'osd-color osd-color-secondaryContainer' }), - ColorBox({ name: 'Sf-v', className: 'osd-color osd-color-surfaceVariant' }), - ColorBox({ name: 'L1', className: 'osd-color osd-color-layer1' }), - ColorBox({ name: 'L0', className: 'osd-color osd-color-layer0' }), + ColorBox({ name: 'T', className: 'osd-color osd-color-tertiary' }), + ColorBox({ name: 'Sf', className: 'osd-color osd-color-surface' }), + ColorBox({ name: 'Sf-i', className: 'osd-color osd-color-inverseSurface' }), + ColorBox({ name: 'E', className: 'osd-color osd-color-error' }), ] - }) + }), + Widget.Box({ + className: 'spacing-h-5', + hpack: 'center', + children: [ + ColorBox({ name: 'P-c', className: 'osd-color osd-color-primaryContainer' }), + ColorBox({ name: 'S-c', className: 'osd-color osd-color-secondaryContainer' }), + ColorBox({ name: 'T-c', className: 'osd-color osd-color-tertiaryContainer' }), + ColorBox({ name: 'Sf-c', className: 'osd-color osd-color-surfaceContainer' }), + ColorBox({ name: 'Sf-v', className: 'osd-color osd-color-surfaceVariant' }), + ColorBox({ name: 'E-c', className: 'osd-color osd-color-errorContainer' }), + ] + }), + ColorSchemeSettingsRevealer(), ] }); +const isHoveredColorschemeSettings = Variable(false); + export default () => Widget.Revealer({ transition: 'slide_down', transitionDuration: userOptions.animations.durationLarge, child: ColorschemeContent(), - setup: (self) => self.hook(showColorScheme, (revealer) => { - revealer.revealChild = showColorScheme.value; - }), + setup: (self) => { + self + .hook(showColorScheme, (revealer) => { + if (showColorScheme.value == true) + revealer.revealChild = true; + else + revealer.revealChild = isHoveredColorschemeSettings.value; + }) + .hook(isHoveredColorschemeSettings, (revealer) => { + if (isHoveredColorschemeSettings.value == false) { + setTimeout(() => { + if (isHoveredColorschemeSettings.value == false) + revealer.revealChild = showColorScheme.value; + }, 2000); + } + }) + }, }) diff --git a/.config/ags/modules/indicators/musiccontrols.js b/.config/ags/modules/indicators/musiccontrols.js index 785b1bba6..61be3d142 100644 --- a/.config/ags/modules/indicators/musiccontrols.js +++ b/.config/ags/modules/indicators/musiccontrols.js @@ -12,6 +12,9 @@ import { showMusicControls } from '../../variables.js'; import { darkMode } from '../.miscutils/system.js'; const COMPILED_STYLE_DIR = `${GLib.get_user_cache_dir()}/ags/user/generated` +const LIGHTDARK_FILE_LOCATION = `${GLib.get_user_cache_dir()}/ags/user/colormode.txt`; +const colorMode = Utils.exec('bash -c "sed -n \'1p\' $HOME/.cache/ags/user/colormode.txt"'); +const lightDark = (colorMode == "light") ? '-l' : ''; const COVER_COLORSCHEME_SUFFIX = '_colorscheme.css'; var lastCoverPath = ''; @@ -199,7 +202,7 @@ const CoverArt = ({ player, ...rest }) => { // Generate colors execAsync(['bash', '-c', - `${App.configDir}/scripts/color_generation/generate_colors_material.py --path '${coverPath}' > ${App.configDir}/scss/_musicmaterial.scss ${darkMode ? '' : '-l'}`]) + `${App.configDir}/scripts/color_generation/generate_colors_material.py --path '${coverPath}' --mode ${darkMode ? 'dark' : 'light'} > ${App.configDir}/scss/_musicmaterial.scss`]) .then(() => { exec(`wal -i "${player.coverPath}" -n -t -s -e -q ${darkMode ? '' : '-l'}`) exec(`cp ${GLib.get_user_cache_dir()}/wal/colors.scss ${App.configDir}/scss/_musicwal.scss`); diff --git a/.config/ags/modules/overview/miscfunctions.js b/.config/ags/modules/overview/miscfunctions.js index 0e5d2229e..e13aa2ba0 100644 --- a/.config/ags/modules/overview/miscfunctions.js +++ b/.config/ags/modules/overview/miscfunctions.js @@ -28,16 +28,16 @@ export function launchCustomCommand(command) { execAsync([`bash`, `-c`, `${App.configDir}/scripts/color_generation/switchwall.sh`, `&`]).catch(print); } else if (args[0] == '>color') { // Generate colorscheme from color picker - execAsync([`bash`, `-c`, `${App.configDir}/scripts/color_generation/switchcolor.sh`, `&`]).catch(print); + execAsync([`bash`, `-c`, `${App.configDir}/scripts/color_generation/switchcolor.sh --pick`, `&`]).catch(print); } else if (args[0] == '>light') { // Light mode - execAsync([`bash`, `-c`, `mkdir -p ${GLib.get_user_cache_dir()}/ags/user && echo "-l" > ${GLib.get_user_cache_dir()}/ags/user/colormode.txt`]) - .then(execAsync(['bash', '-c', `${App.configDir}/scripts/color_generation/switchwall.sh --noswitch`])) + execAsync([`bash`, `-c`, `mkdir -p ${GLib.get_user_cache_dir()}/ags/user && sed -i "1s/.*/light/" ${GLib.get_user_cache_dir()}/ags/user/colormode.txt`]) + .then(execAsync(['bash', '-c', `${App.configDir}/scripts/color_generation/switchcolor.sh`])) .catch(print); } else if (args[0] == '>dark') { // Dark mode - execAsync([`bash`, `-c`, `mkdir -p ${GLib.get_user_cache_dir()}/ags/user && echo "" > ${GLib.get_user_cache_dir()}/ags/user/colormode.txt`]) - .then(execAsync(['bash', '-c', `${App.configDir}/scripts/color_generation/switchwall.sh --noswitch`])) + execAsync([`bash`, `-c`, `mkdir -p ${GLib.get_user_cache_dir()}/ags/user && sed -i "1s/.*/dark/" ${GLib.get_user_cache_dir()}/ags/user/colormode.txt`]) + .then(execAsync(['bash', '-c', `${App.configDir}/scripts/color_generation/switchcolor.sh`])) .catch(print); } else if (args[0] == '>badapple') { // Black and white @@ -147,4 +147,4 @@ export function ls({ path = '~', silent = false }) { if (!silent) console.log(e); } return contents; -} \ No newline at end of file +} diff --git a/.config/ags/modules/sideleft/tools/module.js b/.config/ags/modules/sideleft/tools/module.js index 4bb275995..39185af7a 100644 --- a/.config/ags/modules/sideleft/tools/module.js +++ b/.config/ags/modules/sideleft/tools/module.js @@ -53,4 +53,4 @@ export default ({ content, ] }); -} \ No newline at end of file +} diff --git a/.config/ags/modules/sideleft/tools/quickscripts.js b/.config/ags/modules/sideleft/tools/quickscripts.js index ed4b63db5..417a51945 100644 --- a/.config/ags/modules/sideleft/tools/quickscripts.js +++ b/.config/ags/modules/sideleft/tools/quickscripts.js @@ -88,4 +88,4 @@ export default () => SidebarModule({ }) }), }) -}); \ No newline at end of file +}); diff --git a/.config/ags/scripts/color_generation/applycolor.sh b/.config/ags/scripts/color_generation/applycolor.sh index a8e41e9d1..e41d7c610 100755 --- a/.config/ags/scripts/color_generation/applycolor.sh +++ b/.config/ags/scripts/color_generation/applycolor.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash -term_alpha=100 # Set this to < 100 make all your terminals transparent +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 "$HOME"/.cache/ags/user/generated ]; then mkdir -p "$HOME"/.cache/ags/user/generated fi @@ -34,7 +35,7 @@ get_light_dark() { if [ ! -f "$HOME"/.cache/ags/user/colormode.txt ]; then echo "" > "$HOME"/.cache/ags/user/colormode.txt else - lightdark=$(cat "$HOME"/.cache/ags/user/colormode.txt) # either "" or "-l" + lightdark=$(sed -n '1p' "$HOME/.cache/ags/user/colormode.txt") fi echo "$lightdark" } @@ -132,7 +133,7 @@ apply_gtk() { # Using gradience-cli # Set light/dark preference # And set GTK theme manually as Gradience defaults to light adw-gtk3 # (which is unreadable when broken when you use dark mode) - if [ "$lightdark" = "-l" ]; then + if [ "$lightdark" = "light" ]; then gsettings set org.gnome.desktop.interface gtk-theme 'adw-gtk3' gsettings set org.gnome.desktop.interface color-scheme 'prefer-light' else diff --git a/.config/ags/scripts/color_generation/colorgen.sh b/.config/ags/scripts/color_generation/colorgen.sh index 1748ffb9d..7ef167449 100755 --- a/.config/ags/scripts/color_generation/colorgen.sh +++ b/.config/ags/scripts/color_generation/colorgen.sh @@ -7,11 +7,22 @@ if [ $# -eq 0 ]; then fi # check if the file ~/.cache/ags/user/colormode.txt exists. if not, create it. else, read it to $lightdark -lightdark="" -if [ ! -f "$HOME/.cache/ags/user/colormode.txt" ]; then - echo "" > "$HOME/.cache/ags/user/colormode.txt" +colormodefile="$HOME/.cache/ags/user/colormode.txt" +lightdark="dark" +transparency="opaque" +materialscheme="tonalspot" +if [ ! -f $colormodefile ]; then + echo "dark" > $colormodefile + echo "opaque" >> $colormodefile + echo "tonalspot" >> $colormodefile +elif [[ $(wc -l < $colormodefile) -ne 3 || $(wc -w < $colormodefile) -ne 3 ]]; then + echo "dark" > $colormodefile + echo "opaque" >> $colormodefile + echo "tonalspot" >> $colormodefile else - lightdark=$(cat "$HOME/.cache/ags/user/colormode.txt") # either "" or "-l" + lightdark=$(sed -n '1p' $colormodefile) + transparency=$(sed -n '2p' $colormodefile) + materialscheme=$(sed -n '3p' $colormodefile) fi backend="material" # color generator backend if [ ! -f "$HOME/.cache/ags/user/colorbackend.txt" ]; then @@ -22,13 +33,13 @@ fi cd "$HOME/.config/ags/scripts/" || exit if [[ "$1" = "#"* ]]; then # this is a color - color_generation/generate_colors_material.py --color "$1" "$lightdark" > "$HOME"/.cache/ags/user/generated/material_colors.scss + color_generation/generate_colors_material.py --color "$1" --mode "$lightdark" --scheme "$materialscheme" --transparency "$transparency" > "$HOME"/.cache/ags/user/generated/material_colors.scss if [ "$2" = "--apply" ]; then cp "$HOME"/.cache/ags/user/generated/material_colors.scss "$HOME/.config/ags/scss/_material.scss" color_generation/applycolor.sh fi elif [ "$backend" = "material" ]; then - color_generation/generate_colors_material.py --path "$1" "$lightdark" > "$HOME"/.cache/ags/user/generated/material_colors.scss + color_generation/generate_colors_material.py --path "$1" --mode "$lightdark" --scheme "$materialscheme" --transparency "$transparency" > "$HOME"/.cache/ags/user/generated/material_colors.scss if [ "$2" = "--apply" ]; then cp "$HOME"/.cache/ags/user/generated/material_colors.scss "$HOME/.config/ags/scss/_material.scss" color_generation/applycolor.sh diff --git a/.config/ags/scripts/color_generation/generate_colors_material.py b/.config/ags/scripts/color_generation/generate_colors_material.py index 86c6d9d12..2cdf4b774 100755 --- a/.config/ags/scripts/color_generation/generate_colors_material.py +++ b/.config/ags/scripts/color_generation/generate_colors_material.py @@ -3,120 +3,96 @@ from material_color_utilities_python import * from pathlib import Path import sys import subprocess +import argparse +import os -def darken(hex_color, factor=0.7): - if not (hex_color.startswith('#') and len(hex_color) in (4, 7)): - raise ValueError("Invalid hex color format") - hex_color = hex_color.lstrip('#') - rgb = tuple(int(hex_color[i:i + 2], 16) for i in (0, 2, 4)) - darkened_rgb = tuple(int(max(0, val * factor)) for val in rgb) - darkened_hex = "#{:02X}{:02X}{:02X}".format(*darkened_rgb) - return darkened_hex +from materialyoucolor.hct import Hct +from materialyoucolor.dynamiccolor.material_dynamic_colors import MaterialDynamicColors -img = 0 -newtheme=0 -if len(sys.argv) > 1 and sys.argv[1] == '--path': - # try: - img = Image.open(sys.argv[2]) +parser = argparse.ArgumentParser(description='Color generation script') +parser.add_argument('--path', type=str, default=None, help='generate colorscheme from image') +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=None, help='material scheme to use') +parser.add_argument('--transparency', type=str , choices=['opaque', 'transparent'], default='opaque', help='enable transparency') +parser.add_argument('--debug', action='store_true', default=False, help='debug mode') +args = parser.parse_args() + +export_color_file=os.environ['HOME']+"/.cache/ags/user/color.txt" + +# Default scheme -> Tonal Spot (Android Default) +from materialyoucolor.scheme.scheme_tonal_spot import SchemeTonalSpot as Scheme +if args.scheme is not None: + 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 == 'vibrant': + from materialyoucolor.scheme.scheme_vibrant import SchemeVibrant 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 + +def hex_to_argb(hex_color): + color = hex_color.lstrip('#') + if len(color) != 6: + raise ValueError("Invalid color code!") + r = int(color[:2], 16) + g = int(color[2:4], 16) + b = int(color[4:], 16) + a = 255 + argb = (a << 24) | (r << 16) | (g << 8) | b + return argb + +def argb_to_hex(argb_value): + r = (argb_value >> 16) & 0xff + g = (argb_value >> 8) & 0xff + b = argb_value & 0xff + hex_r = format(r, '02x') + hex_g = format(g, '02x') + hex_b = format(b, '02x') + hex_color = f"#{hex_r}{hex_g}{hex_b}" + return hex_color + +darkmode = (args.mode == 'dark') +transparent = (args.transparency == 'transparent') +print(f"$darkmode: {darkmode};") +print(f"$transparent: {transparent};") + +if args.path is not None: + img = Image.open(args.path) basewidth = 64 wpercent = (basewidth/float(img.size[0])) hsize = int((float(img.size[1])*float(wpercent))) img = img.resize((basewidth,hsize),Image.Resampling.LANCZOS) - newtheme = themeFromImage(img) - # except FileNotFoundError: - # print('[generate_colors_material.py] File not found', file=sys.stderr); - # exit() - # except: - # print('[generate_colors_material.py] Something went wrong', file=sys.stderr); - # exit() -elif len(sys.argv) > 1 and sys.argv[1] == '--color': - colorstr = sys.argv[2] - newtheme = themeFromSourceColor(argbFromHex(colorstr)) -else: - # try: - # imagePath = subprocess.check_output("ags run-js 'wallpaper.get(0)'", shell=True) - imagePath = subprocess.check_output("swww query | head -1 | awk -F 'image: ' '{print $2}'", shell=True) - imagePath = imagePath[:-1].decode("utf-8") - img = Image.open(imagePath) - basewidth = 64 - wpercent = (basewidth/float(img.size[0])) - hsize = int((float(img.size[1])*float(wpercent))) - img = img.resize((basewidth,hsize),Image.Resampling.LANCZOS) - newtheme = themeFromImage(img) - # except FileNotFoundError: - # print('[generate_colors_material.py] File not found', file=sys.stderr) - # exit() - # except: - # print('[generate_colors_material.py] Something went wrong', file=sys.stderr); - # exit() + argb = sourceColorFromImage(img) + with open(export_color_file, 'w') as file: + file.write(argb_to_hex(argb)) +elif args.color is not None: + argb = hex_to_argb(args.color) -colorscheme=0 -darkmode = True -if("-l" in sys.argv): - darkmode = False - colorscheme = newtheme.get('schemes').get('light') - print('$darkmode: false;') -else: - colorscheme = newtheme.get('schemes').get('dark') - print('$darkmode: true;') +scheme = Scheme(Hct.from_int(argb), darkmode, 0.0) -primary = hexFromArgb(colorscheme.get_primary()) -onPrimary = hexFromArgb(colorscheme.get_onPrimary()) -primaryContainer = hexFromArgb(colorscheme.get_primaryContainer()) -onPrimaryContainer = hexFromArgb(colorscheme.get_onPrimaryContainer()) -secondary = hexFromArgb(colorscheme.get_secondary()) -onSecondary = hexFromArgb(colorscheme.get_onSecondary()) -secondaryContainer = hexFromArgb(colorscheme.get_secondaryContainer()) -onSecondaryContainer = hexFromArgb(colorscheme.get_onSecondaryContainer()) -tertiary = hexFromArgb(colorscheme.get_tertiary()) -onTertiary = hexFromArgb(colorscheme.get_onTertiary()) -tertiaryContainer = hexFromArgb(colorscheme.get_tertiaryContainer()) -onTertiaryContainer = hexFromArgb(colorscheme.get_onTertiaryContainer()) -error = hexFromArgb(colorscheme.get_error()) -onError = hexFromArgb(colorscheme.get_onError()) -errorContainer = hexFromArgb(colorscheme.get_errorContainer()) -onErrorContainer = hexFromArgb(colorscheme.get_onErrorContainer()) -background = hexFromArgb(colorscheme.get_background()) -onBackground = hexFromArgb(colorscheme.get_onBackground()) -surface = hexFromArgb(colorscheme.get_surface()) -onSurface = hexFromArgb(colorscheme.get_onSurface()) -surfaceVariant = hexFromArgb(colorscheme.get_surfaceVariant()) -onSurfaceVariant = hexFromArgb(colorscheme.get_onSurfaceVariant()) -outline = hexFromArgb(colorscheme.get_outline()) -shadow = hexFromArgb(colorscheme.get_shadow()) -inverseSurface = hexFromArgb(colorscheme.get_inverseSurface()) -inverseOnSurface = hexFromArgb(colorscheme.get_inverseOnSurface()) -inversePrimary = hexFromArgb(colorscheme.get_inversePrimary()) +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() + r, g, b, a = rgba + hex_color = f"#{r:02X}{g:02X}{b:02X}" + print('$' + color + ': ' + hex_color + ';') -# make material less boring -if darkmode: - background = darken(background, 0.6) - -print('$primary: ' + primary + ';') -print('$onPrimary: ' + onPrimary + ';') -print('$primaryContainer: ' + primaryContainer + ';') -print('$onPrimaryContainer: ' + onPrimaryContainer + ';') -print('$secondary: ' + secondary + ';') -print('$onSecondary: ' + onSecondary + ';') -print('$secondaryContainer: ' + secondaryContainer + ';') -print('$onSecondaryContainer: ' + onSecondaryContainer + ';') -print('$tertiary: ' + tertiary + ';') -print('$onTertiary: ' + onTertiary + ';') -print('$tertiaryContainer: ' + tertiaryContainer + ';') -print('$onTertiaryContainer: ' + onTertiaryContainer + ';') -print('$error: ' + error + ';') -print('$onError: ' + onError + ';') -print('$errorContainer: ' + errorContainer + ';') -print('$onErrorContainer: ' + onErrorContainer + ';') -print('$colorbarbg: ' + background + ';') -print('$background: ' + background + ';') -print('$onBackground: ' + onBackground + ';') -print('$surface: ' + surface + ';') -print('$onSurface: ' + onSurface + ';') -print('$surfaceVariant: ' + surfaceVariant + ';') -print('$onSurfaceVariant: ' + onSurfaceVariant + ';') -print('$outline: ' + outline + ';') -print('$shadow: ' + shadow + ';') -print('$inverseSurface: ' + inverseSurface + ';') -print('$inverseOnSurface: ' + inverseOnSurface + ';') -print('$inversePrimary: ' + inversePrimary + ';') \ No newline at end of file +if args.debug == True: + 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() + r, g, b, a = rgba + hex_color = f"#{r:02X}{g:02X}{b:02X}" + print(color.ljust(32), "\x1B[38;2;{};{};{}m{}\x1B[0m".format(rgba[0], rgba[1], rgba[2], "\x1b[7m \x1b[7m"), hex_color) diff --git a/.config/ags/scripts/color_generation/switchcolor.sh b/.config/ags/scripts/color_generation/switchcolor.sh index 6e7e6b320..628d91158 100755 --- a/.config/ags/scripts/color_generation/switchcolor.sh +++ b/.config/ags/scripts/color_generation/switchcolor.sh @@ -1,6 +1,10 @@ #!/usr/bin/env bash -color=$(hyprpicker --no-fancy) +if [ "$1" == "--pick" ]; then + color=$(hyprpicker --no-fancy) +else + color=$(cut -f1 "${HOME}/.cache/ags/user/color.txt") +fi # Generate colors for ags n stuff "$HOME"/.config/ags/scripts/color_generation/colorgen.sh "${color}" --apply diff --git a/.config/ags/scss/_bar.scss b/.config/ags/scss/_bar.scss index 0ec525aee..e204c508a 100644 --- a/.config/ags/scss/_bar.scss +++ b/.config/ags/scss/_bar.scss @@ -361,6 +361,7 @@ $bar_ws_width_focus_active: 2.045rem; .bar-statusicons-active { background-color: $layer0Active; + color: $onLayer0Active; } .bar-util-btn { @@ -391,6 +392,6 @@ $bar_ws_width_focus_active: 2.045rem; min-height: 1.032rem; min-width: 1.032rem; font-size: 1.032rem; - color: $barspacerightOnLayer0; + //color: $barspacerightOnLayer0; padding: 0.205rem 0.341rem; -} \ No newline at end of file +} diff --git a/.config/ags/scss/_colors.scss b/.config/ags/scss/_colors.scss index cc1195620..77210262f 100644 --- a/.config/ags/scss/_colors.scss +++ b/.config/ags/scss/_colors.scss @@ -1,58 +1,6 @@ -///////////// COLOR MODIFICATIONS ///////////// -// Material colors provide excellent readability, but can be uninteresting. -// This is an attempt to improve that. -$transparency_enabled: false; - -@if $transparency_enabled ==false { - @if $darkmode ==true { - $primary: mix($primary, white, 70%); - $primaryContainer: mix($primaryContainer, white, 90%); - $background: mix(mix($background, $primary, 94%), #000000, 50%); - $surface: mix($surface, $primaryContainer, 98%); - $surfaceVariant: mix($surfaceVariant, #000000, 75%); - } - - @if $darkmode ==false { - $primaryContainer: mix($primaryContainer, white, 90%); - $surface: mix($surface, $primaryContainer, 98%); - } -} - -@if $transparency_enabled ==true { - @if $darkmode ==true { - $background: mix(mix($background, $primary, 94%), #000000, 50%); - $surface: mix($surface, $primaryContainer, 98%); - $surfaceVariant: mix($surfaceVariant, #000000, 55%); - } - - @if $darkmode ==false { - $background: mix($background, $primary, 94%); - $surface: mix($surface, $primary, 93%); - $surfaceVariant: mix($surfaceVariant, #ffffff, 55%); - } -} - -// Amounts +$transparency: 0.5; $transparentize_amount: 0.3; -$transparentize_surface_amount_less: 0.6; -$transparentize_surface_amount_less_less: 0.55; $transparentize_surface_amount: 0.7; -$transparentize_surface_amount_more: 0.8; -$transparentize_surface_amount_subtract_surface: $transparentize_surface_amount - $transparentize_amount; - -@if $darkmode ==true { - // Less transparency - $transparentize_amount: 0.15; - $transparentize_surface_amount_less: 0.5; - $transparentize_surface_amount_less_less: 0.55; - $transparentize_surface_amount: 0.69; - $transparentize_surface_amount_more: 0.9; - $transparentize_surface_amount_subtract_surface: $transparentize_surface_amount - $transparentize_amount; -} - -@if $transparency_enabled ==false { - $transparentize_amount: 0; -} // Extended material $success: #4f6354; @@ -60,7 +8,7 @@ $onSuccess: #ffffff; $successContainer: #d1e8d5; $onSuccessContainer: #0c1f13; -@if $darkmode ==true { +@if $darkmode == True { // Dark variant $success: #b5ccba; $onSuccess: #213528; @@ -69,60 +17,35 @@ $onSuccessContainer: #0c1f13; } // Transparent versions -$t_primary: transparentize($primary, $transparentize_amount); -$t_onPrimary: transparentize($onPrimary, $transparentize_amount); -$t_primaryContainer: transparentize($primaryContainer, $transparentize_amount); -$t_onPrimaryContainer: transparentize($onPrimaryContainer, $transparentize_amount); -$t_secondary: transparentize($secondary, $transparentize_amount); -$t_onSecondary: transparentize($onSecondary, $transparentize_amount); -$t_secondaryContainer: transparentize($secondaryContainer, $transparentize_amount); -$l_t_secondaryContainer: transparentize($secondaryContainer, $transparentize_surface_amount_less); -$t_onSecondaryContainer: transparentize($onSecondaryContainer, $transparentize_amount); -$t_t_t_onSecondaryContainer: transparentize($onSecondaryContainer, 0.93); -$t_tertiary: transparentize($tertiary, $transparentize_amount); -$t_onTertiary: transparentize($onTertiary, $transparentize_amount); -$t_tertiaryContainer: transparentize($tertiaryContainer, $transparentize_amount); -$t_onTertiaryContainer: transparentize($onTertiaryContainer, $transparentize_amount); -$t_error: transparentize($error, $transparentize_amount); -$t_onError: transparentize($onError, $transparentize_amount); -$t_errorContainer: transparentize($errorContainer, $transparentize_amount); -$t_onErrorContainer: transparentize($onErrorContainer, $transparentize_amount); -$t_colorbarbg: transparentize($colorbarbg, $transparentize_amount); $t_background: transparentize($background, $transparentize_amount); -$t_t_background: transparentize($background, $transparentize_surface_amount_more); -$t_onBackground: transparentize($onBackground, $transparentize_amount); $t_surface: transparentize($surface, $transparentize_surface_amount); -$t_t_surface: transparentize($surface, $transparentize_surface_amount_more); -$t_onSurface: transparentize($onSurface, $transparentize_surface_amount); $t_surfaceVariant: transparentize($surfaceVariant, $transparentize_surface_amount); -$t_onSurfaceVariant: transparentize($onSurfaceVariant, $transparentize_surface_amount); -$t_t_surfaceVariant: transparentize($surfaceVariant, $transparentize_surface_amount_more); -$l_t_surfaceVariant: transparentize($surfaceVariant, $transparentize_surface_amount_less); -$l_l_t_surfaceVariant: transparentize($surfaceVariant, $transparentize_surface_amount_less_less); -$t_outline: transparentize($outline, $transparentize_amount); -$t_shadow: transparentize($shadow, $transparentize_amount); -$t_inverseSurface: transparentize($inverseSurface, $transparentize_amount); -$t_inverseOnSurface: transparentize($inverseOnSurface, $transparentize_amount); -$t_inversePrimary: transparentize($inversePrimary, $transparentize_amount); -// Transparent material (extended) -$t_success: transparentize($error, $transparentize_amount); -$t_onSuccess: transparentize($onError, $transparentize_amount); -$t_successContainer: transparentize($errorContainer, $transparentize_amount); -$t_onSuccessContainer: transparentize($onErrorContainer, - $transparentize_amount); + +@if $transparent == True { + $background: transparentize($background, $transparency); + $surface: transparentize($surface, $transparency); + $surfaceDim: transparentize($surfaceDim, $transparency); + $surfaceBright: transparentize($surfaceBright, $transparency); + $surfaceContainerLowest: transparentize($surfaceContainerLowest, $transparency); + $surfaceContainerLow: transparentize($surfaceContainerLow, $transparency); + $surfaceContainer: transparentize($surfaceContainer, $transparency); + $surfaceContainerHigh: transparentize($surfaceContainerHigh, $transparency); + $surfaceContainerHighest: transparentize($surfaceContainerHighest, $transparency); + $surfaceVariant: transparentize($surfaceVariant, $transparency); + $inverseSurface: transparentize($inverseSurface, $transparency); + $surfaceTint: transparentize($surfaceTint, $transparency); +} // Others -$hovercolor: mix($t_surface, $t_onSurface, 50%); -$activecolor: mix($t_surface, $t_onSurface, 30%); -$subtext: mix($onBackground, $background, 70%); +$subtext: $outline; $actiontext: mix($onBackground, $background, 85%); $black: black; $white: white; // Terminal colors -$termbg: mix($t_surfaceVariant, $t_onSurfaceVariant, 80%); +$termbg: $surfaceContainerHigh; $termfg: $onSurfaceVariant; -$term0: $t_background; +$term0: $background; $term1: $error; $term2: $inversePrimary; $term3: $onPrimaryContainer; @@ -133,19 +56,20 @@ $term7: $onSurfaceVariant; /// Color mappings for more chaotic, dynamic colors like the average rice /// // General -$layer0: $t_background; +$layer0: $background; $onLayer0: $onBackground; $layer0Hover: mix($layer0, $onLayer0, 85%); -$layer0Active: mix($layer0, $onLayer0, 70%); +$layer0Active: $primary; +$onLayer0Active: $onPrimary; $onLayer0Inactive: mix($onLayer0, $layer0, 70%); -$layer1: $surface; +$layer1: $surfaceContainer; $onLayer1: $onSurface; $onLayer1Inactive: mix($onLayer1, $layer1, 45%); $onLayer1: $onSurfaceVariant; +$layer2: $secondaryContainer; +$onLayer2: $onSecondaryContainer; $layer1Hover: mix($layer1, $onLayer1, 85%); $layer1Active: mix($layer1, $onLayer1, 70%); -$layer2: $surfaceVariant; -$onLayer2: $onSurfaceVariant; $layer2Hover: mix($layer2, $onLayer2, 90%); $layer2Active: mix($layer2, $onLayer2, 80%); // Elements @@ -172,9 +96,9 @@ $battOnLayer1: $onLayer1; $battLayer2: $secondaryContainer; $battOnLayer2: $onSecondaryContainer; $workspaceOnLayer1Inactive: $onLayer1Inactive; -$workspaceLayer3: $secondaryContainer; -$workspaceOnLayer3: $onSecondaryContainer; -$workspaceOnLayer2: $onSurfaceVariant; +$workspaceLayer3: $primary; +$workspaceOnLayer3: $onPrimary; +$workspaceOnLayer2: $onSecondaryContainer; $trayOnLayer0: $onLayer0; $cheatsheetTitle: $onSecondaryContainer; $cheatsheetColors: ( @@ -187,6 +111,7 @@ $cheatsheetColors: ( $onSecondaryContainer, $onSecondaryContainer ); + $sessionColors: ( $onLayer1, $onLayer1, @@ -199,71 +124,3 @@ $sessionColors: ( $brightnessOnLayer0: $onLayer0; $volumeOnLayer0: $onLayer0; -///////////////////// test theme: amarena (kind of) ///////////////////////// -// $layer0: #0e1116; -// $onLayer0: #FFFFFF; -// $layer0Hover: mix($layer0, $onLayer0, 85%); -// $layer0Active: mix($layer0, $onLayer0, 70%); -// $layer1: #171c22; -// $onLayer1Inactive: mix($onLayer1, $layer1, 45%); -// $onLayer1: $onSurfaceVariant; -// $layer1Hover: mix($layer1, $onLayer1, 85%); -// $layer1Active: mix($layer1, $onLayer1, 70%); -// $layer2: #252c35; -// $onLayer2: $onSurfaceVariant; -// $layer2Hover: mix($layer2, $onLayer2, 90%); -// $layer2Active: mix($layer2, $onLayer2, 80%); -// $layer3: #1C232A; -// // Bar -// $windowtitleOnLayer0Inactive: #70afa4; -// $windowtitleOnLayer0: #7FE3D1; -// $barspacerightOnLayer0: #7FE3D1; -// $timeOnLayer1: #cc7691; -// $dateOnLayer1: #cc7691; -// $ramOnLayer1: #6DC0D5; -// $ramLayer2: $layer2; -// $ramOnLayer2: #6DC0D5; -// $swapOnLayer1: #CC83C7; -// $swapLayer2: $layer2; -// $swapOnLayer2: #CC83C7; -// $cpuOnLayer1: #FA6295; -// $cpuLayer2: $layer2; -// $cpuOnLayer2: #FA6295; -// $musicOnLayer1: #94CF95; -// $musicLayer2: $layer2; -// $musicOnLayer2: #94CF95; -// $utilsLayer2: $layer2; -// $utilsOnLayer2: #CC83C7; -// $battOnLayer1: #94CF95; -// $battLayer2: $layer2; -// $battOnLayer2: #94CF95; -// $workspaceOnLayer1Inactive: $onLayer1Inactive; -// $workspaceLayer3: #33554f; -// $workspaceOnLayer3: #7FE3D1; -// $workspaceOnLayer2: #7FE3D1; -// $trayOnLayer0: #6DC0D5; -// // Cheatsheet -// $cheatsheetTitle: #6DC0D4; -// $cheatsheetColors: ( -// #F692B2, -// #6EC1D6, -// #CD84C8, -// #7FE4D2, -// #94CF95, -// #CD84C8, -// #FB6396, -// #6EC1D6 -// ); -// $sessionColors: ( -// #F692B2, -// #6EC1D6, -// #CD84C8, -// #7FE4D2, -// #94CF95, -// #CD84C8, -// #FB6396 -// ); -// // Osd -// $brightnessOnLayer0: #F692B2; -// $volumeOnLayer0: #94CF95; - diff --git a/.config/ags/scss/_common.scss b/.config/ags/scss/_common.scss index 6e38992db..b63b381e4 100644 --- a/.config/ags/scss/_common.scss +++ b/.config/ags/scss/_common.scss @@ -209,6 +209,33 @@ popover { color: $onSecondaryContainer; } +.multipleselection-container { +} + +.multipleselection-btn { + @include small-rounding; + padding: 0rem 0.341rem; + border: 0.034rem solid $outlineVariant; + color: $onSurface; +} + +.multipleselection-btn:focus, +.multipleselection-btn:hover { + background-color: $hovercolor; + color: $onSurface; +} + +.multipleselection-btn-enabled { + background-color: $secondaryContainer; + color: $onSecondaryContainer; +} + +.multipleselection-btn-enabled:hover, +.multipleselection-btn-enabled:focus { + background-color: $secondaryContainer; + color: $onSecondaryContainer; +} + .gap-v-5 { min-height: 0.341rem; } diff --git a/.config/ags/scss/_dock.scss b/.config/ags/scss/_dock.scss index 2965726ab..19779f5b2 100644 --- a/.config/ags/scss/_dock.scss +++ b/.config/ags/scss/_dock.scss @@ -12,11 +12,11 @@ .dock-app-btn:hover, .dock-app-btn:focus { - background-color: mix($t_surface, $t_onSurface, 95%); + background-color: mix($t_surface, $onSurface, 95%); } .dock-app-btn:active { - background-color: mix($t_surface, $t_onSurface, 85%); + background-color: mix($t_surface, $onSurface, 85%); } .dock-app-icon { @@ -28,4 +28,4 @@ .dock-separator { min-width: 0.068rem; background-color: $surfaceVariant; -} \ No newline at end of file +} diff --git a/.config/ags/scss/_lib_mixins.scss b/.config/ags/scss/_lib_mixins.scss index ece6a3dd2..b6e7b8bde 100644 --- a/.config/ags/scss/_lib_mixins.scss +++ b/.config/ags/scss/_lib_mixins.scss @@ -1,6 +1,6 @@ // Common colors -$hovercolor: rgba(128, 128, 128, 0.3); -$activecolor: rgba(128, 128, 128, 0.7); +$hovercolor: $surfaceContainerHigh; +$activecolor: $surfaceContainerHighest; $rounding_small: 0.818rem; $rounding_mediumsmall: 0.955rem; $rounding_medium: 1.159rem; @@ -190,24 +190,24 @@ $overlay1: mix($onSurface, rgba(0, 0, 0, 0), 25%); $overlay2: mix($onSurface, rgba(0, 0, 0, 0), 40%); @mixin elevation-border-softer { - border-top: 1px solid mix($t_t_surface, $t_onSurface, 90%); - border-left: 1px solid mix($t_t_surface, $t_onSurface, 90%); - border-right: 1px solid mix($t_t_surface, $t_onSurface, 95%); - border-bottom: 1px solid mix($t_t_surface, $t_onSurface, 95%); + border-top: 1px solid mix($t_surface, $onSurface, 90%); + border-left: 1px solid mix($t_surface, $onSurface, 90%); + border-right: 1px solid mix($t_surface, $onSurface, 95%); + border-bottom: 1px solid mix($t_surface, $onSurface, 95%); } @mixin elevation-border { - border-top: 1px solid mix($t_t_surface, $onSurface, 90%); - border-left: 1px solid mix($t_t_surface, $onSurface, 90%); - border-right: 1px solid mix($t_t_surface, $onSurface, 95%); - border-bottom: 1px solid mix($t_t_surface, $onSurface, 95%); + border-top: 1px solid mix($t_surface, $onSurface, 80%); + border-left: 1px solid mix($t_surface, $onSurface, 80%); + border-right: 1px solid mix($t_surface, $onSurface, 85%); + border-bottom: 1px solid mix($t_surface, $onSurface, 85%); } @mixin elevation-border-heavier { - border-top: 1px solid mix($t_t_surface, $onSurface, 80%); - border-left: 1px solid mix($t_t_surface, $onSurface, 80%); - border-right: 1px solid mix($t_t_surface, $onSurface, 85%); - border-bottom: 1px solid mix($t_t_surface, $onSurface, 85%); + border-top: 1px solid mix($t_surface, $onSurface, 70%); + border-left: 1px solid mix($t_surface, $onSurface, 70%); + border-right: 1px solid mix($t_surface, $onSurface, 75%); + border-bottom: 1px solid mix($t_surface, $onSurface, 75%); } @mixin elevation-border-transparent { diff --git a/.config/ags/scss/_material.scss b/.config/ags/scss/_material.scss index 6bc96ab69..ddb659b09 100644 --- a/.config/ags/scss/_material.scss +++ b/.config/ags/scss/_material.scss @@ -1,29 +1,56 @@ -$darkmode: true; -$primary: #ffb4a9; -$onPrimary: #5f1410; -$primaryContainer: #7e2b24; -$onPrimaryContainer: #ffdad4; -$secondary: #e7bcb7; -$onSecondary: #442926; -$secondaryContainer: #5d3f3b; -$onSecondaryContainer: #ffdad5; -$tertiary: #e0c38c; -$onTertiary: #3f2e04; -$tertiaryContainer: #574419; -$onTertiaryContainer: #fddfa6; -$error: #ffb4a9; -$onError: #680003; -$errorContainer: #930006; -$onErrorContainer: #ffb4a9; -$colorbarbg: #130F0F; -$background: #130F0F; -$onBackground: #ede0de; -$surface: #211a19; -$onSurface: #ede0de; -$surfaceVariant: #534341; -$onSurfaceVariant: #d8c2bf; -$outline: #a08c89; +$darkmode: True; +$transparent: False; +$primary_paletteKeyColor: #A76837; +$secondary_paletteKeyColor: #8F715C; +$tertiary_paletteKeyColor: #777A4B; +$neutral_paletteKeyColor: #81756D; +$neutral_variant_paletteKeyColor: #84746A; +$background: #19120D; +$onBackground: #F0DFD6; +$surface: #19120D; +$surfaceDim: #19120D; +$surfaceBright: #413731; +$surfaceContainerLowest: #FFFFFF; +$surfaceContainerLow: #221A15; +$surfaceContainer: #261E18; +$surfaceContainerHigh: #312822; +$surfaceContainerHighest: #3C332D; +$onSurface: #F0DFD6; +$surfaceVariant: #52443B; +$onSurfaceVariant: #D6C3B7; +$inverseSurface: #F0DFD6; +$inverseOnSurface: #382F29; +$outline: #9F8D83; +$outlineVariant: #52443B; $shadow: #000000; -$inverseSurface: #ede0de; -$inverseOnSurface: #362f2e; -$inversePrimary: #9c4239; +$scrim: #000000; +$surfaceTint: #FFB783; +$primary: #FFB783; +$onPrimary: #4F2500; +$primaryContainer: #6D390B; +$onPrimaryContainer: #FFDCC5; +$inversePrimary: #8A5021; +$secondary: #E4BFA7; +$onSecondary: #422B1B; +$secondaryContainer: #5B412F; +$onSecondaryContainer: #FFDCC5; +$tertiary: #C8CA94; +$onTertiary: #30330B; +$tertiaryContainer: #919463; +$onTertiaryContainer: #000000; +$error: #FFB4AB; +$onError: #690005; +$errorContainer: #93000A; +$onErrorContainer: #FFDAD6; +$primaryFixed: #FFDCC5; +$primaryFixedDim: #FFB783; +$onPrimaryFixed: #301400; +$onPrimaryFixedVariant: #6D390B; +$secondaryFixed: #FFDCC5; +$secondaryFixedDim: #E4BFA7; +$onSecondaryFixed: #2A1708; +$onSecondaryFixedVariant: #5B412F; +$tertiaryFixed: #E4E6AE; +$tertiaryFixedDim: #C8CA94; +$onTertiaryFixed: #1B1D00; +$onTertiaryFixedVariant: #474920; diff --git a/.config/ags/scss/_notifications.scss b/.config/ags/scss/_notifications.scss index fa3a4ff05..234072be3 100644 --- a/.config/ags/scss/_notifications.scss +++ b/.config/ags/scss/_notifications.scss @@ -1,4 +1,4 @@ -$notif_surface: $t_background; +$notif_surface: $surfaceContainer; @mixin notif-rounding { @include normal-rounding; @@ -6,7 +6,7 @@ $notif_surface: $t_background; .notif-low { @include notif-rounding; - background-color: $l_l_t_surfaceVariant; + background-color: $surfaceContainerHigh; color: $onSurfaceVariant; padding: $rounding_small; padding-right: $rounding_small + 0.545rem; @@ -14,7 +14,7 @@ $notif_surface: $t_background; .notif-normal { @include notif-rounding; - background-color: $l_l_t_surfaceVariant; + background-color: $surfaceContainerHigh; color: $onSurfaceVariant; padding: $rounding_small; padding-right: $rounding_small + 0.545rem; @@ -29,21 +29,23 @@ $notif_surface: $t_background; } .notif-clicked-low { - background-color: mix($l_l_t_surfaceVariant, $t_onSurfaceVariant, 85%); + background-color: $surfaceContainerLow; } .notif-clicked-normal { - background-color: mix($l_l_t_surfaceVariant, $t_onSurfaceVariant, 85%); + background-color: $surfaceContainerLow; } .notif-clicked-critical { - background-color: mix($secondaryContainer, $onSecondaryContainer, 95%); + background-color: $onSecondary; + color: $onSecondaryContainer; } .popup-notif-low { @include notif-rounding; min-width: 30.682rem; background-color: $notif_surface; + border: 0.034rem solid $outlineVariant; color: $onSurfaceVariant; padding: $rounding_small; padding-right: $rounding_small + 0.545rem; @@ -53,6 +55,7 @@ $notif_surface: $t_background; @include notif-rounding; min-width: 30.682rem; background-color: $notif_surface; + border: 0.034rem solid $outlineVariant; color: $onSurfaceVariant; padding: $rounding_small; padding-right: $rounding_small + 0.545rem; @@ -62,29 +65,31 @@ $notif_surface: $t_background; @include notif-rounding; min-width: 30.682rem; background-color: $secondaryContainer; + border: 0.034rem solid $onSecondaryContainer; color: $onSecondaryContainer; padding: $rounding_small; padding-right: $rounding_small + 0.545rem; } .popup-notif-clicked-low { - background-color: mix($notif_surface, $onBackground, 94%); + background-color: $surfaceContainerLow; } .popup-notif-clicked-normal { - background-color: mix($notif_surface, $onBackground, 94%); + background-color: $surfaceContainerLow; } .popup-notif-clicked-critical { - background-color: mix($secondaryContainer, $onSecondaryContainer, 96%); + background-color: $onSecondary; + color: $onSecondaryContainer; } .notif-body-low { - color: mix($onSurfaceVariant, $surfaceVariant, 67%); + color: $outline; } .notif-body-normal { - color: mix($onSurfaceVariant, $surfaceVariant, 67%); + color: $outline; } .notif-body-critical { @@ -99,23 +104,23 @@ $notif_surface: $t_background; } .notif-icon-material { - background-color: $t_secondaryContainer; + background-color: $secondaryContainer; color: $onSecondaryContainer; } .notif-icon-material-low { - background-color: $t_secondaryContainer; + background-color: $secondaryContainer; color: $onSecondaryContainer; } .notif-icon-material-normal { - background-color: $t_secondaryContainer; + background-color: $secondaryContainer; color: $onSecondaryContainer; } .notif-icon-material-critical { - background-color: $t_onSecondaryContainer; - color: $secondaryContainer; + background-color: $secondary; + color: $onSecondary; } .notif-expand-btn { @@ -163,8 +168,7 @@ $notif_surface: $t_background; .osd-notif { @include notif-rounding; - background-color: transparentize($background, - $transparentize_surface_amount_subtract_surface ); + background-color: $background; min-width: 30.682rem; } @@ -201,43 +205,43 @@ $notif_surface: $t_background; } .notif-action-low { - background-color: mix($t_onSurfaceVariant, $t_surface, 10%); + background-color: $surfaceContainerHighest; color: $onSurfaceVariant; } .notif-action-low:focus, .notif-action-low:hover { - background-color: $hovercolor; + border: 0.040rem solid $outlineVariant; } .notif-action-low:active { - background-color: $activecolor; + background-color: $surfaceBright; } .notif-action-normal { - background-color: mix($t_onSurfaceVariant, $t_surface, 10%); + background-color: $surfaceContainerHighest; color: $onSurfaceVariant; } .notif-action-normal:focus, .notif-action-normal:hover { - background-color: $hovercolor; + border: 0.040rem solid $outlineVariant; } .notif-action-normal:active { - background-color: $activecolor; + background-color: $surfaceBright; } .notif-action-critical { - background-color: mix($t_onSecondaryContainer, $t_secondaryContainer, 10%); + background-color: mix($secondary, $onSecondary, 30%); color: $onSurfaceVariant; } .notif-action-critical:focus, .notif-action-critical:hover { - background-color: mix($t_onSecondaryContainer, $t_secondaryContainer, 18%); + border: 0.040rem solid $outline; } .notif-action-critical:active { - background-color: mix($t_onSecondaryContainer, $t_secondaryContainer, 23%); -} \ No newline at end of file + background-color: mix($secondary, $onSecondary, 40%); +} diff --git a/.config/ags/scss/_osd.scss b/.config/ags/scss/_osd.scss index 76fe38661..16f495724 100644 --- a/.config/ags/scss/_osd.scss +++ b/.config/ags/scss/_osd.scss @@ -78,19 +78,26 @@ .osd-colorscheme { border-radius: 1.023rem; background-color: $layer0; - padding: 1.023rem; + padding: 0.313rem 0.626rem; @include elevation2; } +.osd-colorscheme-settings { + background-color: $background; + padding: 0.313rem 0.626rem; + @include small-rounding; +} + .osd-color { - @include full-rounding; + border-radius: 0.650rem; + -gtk-outline-radius: 0.650rem; min-width: 2.727rem; min-height: 1.705rem; padding: 0rem 0.341rem; font-weight: bold; box { - @include full-rounding; + @include small-rounding; margin: 0.409rem; } } @@ -115,6 +122,48 @@ color: $onSecondaryContainer; box { background-color: $onSecondaryContainer; } } + +.osd-color-tertiary { + background-color: $tertiary; + color: $onTertiary; + box { background-color: $onTertiary; } +} +.osd-color-tertiaryContainer { + background-color: $tertiaryContainer; + color: $onTertiaryContainer; + box { background-color: $onTertiaryContainer; } +} + +.osd-color-error { + background-color: $error; + color: $onError; + box { background-color: $onError; } +} +.osd-color-errorContainer { + background-color: $errorContainer; + color: $onErrorContainer; + box { background-color: $onErrorContainer; } +} + +.osd-color-surface { + background-color: $surface; + color: $onSurface; + border: 0.068rem solid $outlineVariant; + box { background-color: $onSurface; } +} + +.osd-color-surfaceContainer { + background-color: $surfaceContainer; + color: $onSurface; + box { background-color: $onSurface; } +} + +.osd-color-inverseSurface { + background-color: $inverseSurface; + color: $inverseOnSurface; + box { background-color: $onSurfaceVariant; } +} + .osd-color-surfaceVariant { background-color: $surfaceVariant; color: $onSurfaceVariant; @@ -125,16 +174,32 @@ color: $onLayer1; box { background-color: $onLayer1; } } + .osd-color-layer0 { background-color: $layer0; color: $onLayer0; box { background-color: $onLayer0; } } +.osd-settings-btn-arrow { + @include full-rounding; + @include icon-material; + min-width: 1.705rem; + min-height: 1.705rem; + color: $onSurface; + + &:hover { + background-color: $surfaceContainerHigh; + } + &:active { + background-color: $surfaceContainerHighest; + } +} + .osd-show { transition: 200ms cubic-bezier(0.1, 1, 0, 1); } .osd-hide { transition: 190ms cubic-bezier(0.85, 0, 0.15, 1); -} \ No newline at end of file +} diff --git a/.config/ags/scss/_overview.scss b/.config/ags/scss/_overview.scss index 8afa43b81..137317abc 100644 --- a/.config/ags/scss/_overview.scss +++ b/.config/ags/scss/_overview.scss @@ -11,7 +11,7 @@ min-height: 3.409rem; padding: 0rem 1.364rem; padding-right: 2.864rem; - background-color: $t_background; + background-color: $background; color: $onBackground; selection { @@ -53,8 +53,8 @@ @include elevation2; min-width: 28.773rem; padding: 0.682rem; - background-color: $t_background; - color: $onBackground; + background-color: $surfaceContainerLow; + color: $onSurface; } .overview-search-results-icon { @@ -97,7 +97,7 @@ @include elevation-border; @include elevation2; padding: 0.341rem; - background-color: $t_background; + background-color: $background; color: $onBackground; } @@ -105,35 +105,37 @@ @include normal-rounding; // @include elevation-border; margin: 0.341rem; - background-color: mix($t_t_surface, $t_onSurface, 93%); + background-color: $surfaceContainerLow; } .overview-tasks-workspace-number { @include mainfont; - color: mix($t_onSurface, $t_surface, 93%); + color: $onSurfaceVariant; } .overview-tasks-window { @include normal-rounding; @include menu_decel; - background-color: $t_surfaceVariant; - color: $onSecondaryContainer; - border: 0.068rem solid $t_t_t_onSecondaryContainer; + background-color: $surfaceContainerHigh; + color: $onSurface; + border: 0.068rem solid $outlineVariant; } .overview-tasks-window:hover, .overview-tasks-window:focus { - background-color: mix($l_t_secondaryContainer, $primary, 95%); + background-color: $secondaryContainer; } .overview-tasks-window:active { - background-color: mix($l_t_secondaryContainer, $primary, 90%); + background-color: $tertiaryContainer; + background-color: mix($secondaryContainer, $hovercolor, 70%); } .overview-tasks-window-selected { - background-color: mix($l_t_secondaryContainer, $primary, 90%); + background-color: $tertiaryContainer; + background-color: mix($secondaryContainer, $hovercolor, 70%); } .overview-tasks-window-dragging { opacity: 0.2; -} \ No newline at end of file +} diff --git a/.config/ags/scss/_session.scss b/.config/ags/scss/_session.scss index 9853b3bcb..163908294 100644 --- a/.config/ags/scss/_session.scss +++ b/.config/ags/scss/_session.scss @@ -37,4 +37,4 @@ .session-color-#{$i} { color: nth($sessionColors, $i); } -} \ No newline at end of file +} diff --git a/.config/ags/scss/_sidebars.scss b/.config/ags/scss/_sidebars.scss index 5e248963a..ebb615dd4 100644 --- a/.config/ags/scss/_sidebars.scss +++ b/.config/ags/scss/_sidebars.scss @@ -1,5 +1,5 @@ $sidebar_chat_textboxareaColor: mix($onSurfaceVariant, $surfaceVariant, 40%); -$textboxColor: mix($surface, $surfaceVariant, 80%); +$textboxColor: $surfaceContainerHigh; $system: $secondary; $onSystem: $onSecondary; @@ -14,7 +14,7 @@ $onSystem: $onSecondary; border-radius: $rounding_large - $elevation_margin + 0.068rem; min-width: 27.818rem; // COMMENT THIS LATER IF TEXT WRAP IS USED // min-height: 29.591rem; - background-color: $t_background; + background-color: $background; padding: 1.023rem; } @@ -35,7 +35,7 @@ $onSystem: $onSecondary; border-radius: $rounding_large - $elevation_margin + 0.068rem; min-width: 27.818rem; // COMMENT THIS LATER IF TEXT WRAP IS USED // min-height: 29.591rem; - background-color: $t_background; + background-color: $background; padding: 1.023rem; } @@ -52,12 +52,12 @@ $onSystem: $onSecondary; .sidebar-group { @include normal-rounding; @include group-padding; - background-color: $t_surface; + background-color: $surfaceContainer; } .sidebar-group-nopad { @include normal-rounding; - background-color: $t_surface; + background-color: $surfaceContainer; } .sidebar-group-invisible { @@ -71,7 +71,7 @@ $onSystem: $onSecondary; .sidebar-togglesbox { @include full-rounding; @include group-padding; - background-color: $t_surface; + background-color: $surfaceContainer; } .sidebar-iconbutton { @@ -94,8 +94,6 @@ $onSystem: $onSecondary; .sidebar-button { @include element_decel; padding: 0rem $rounding_small; - background-color: $t_secondaryContainer; - color: $onSecondaryContainer; } .sidebar-button:hover, @@ -128,7 +126,7 @@ $onSystem: $onSecondary; } .sidebar-navrail { - // background-color: $t_surface; + // background-color: $surface; padding: 0rem $rounding_medium; } @@ -204,16 +202,16 @@ $onSystem: $onSecondary; @include element_decel; min-width: 0.273rem; min-height: 2.045rem; - background-color: $t_onSurfaceVariant; + background-color: transparentize($onSurfaceVariant, 0.7); } slider:hover, slider:focus { - background-color: mix($t_onSurfaceVariant, $onSurfaceVariant, 80%); + background-color: transparentize($onSurfaceVariant, 0.6); } slider:active { - background-color: mix($onSurfaceVariant, $surfaceVariant, 50%); + background-color: transparentize($onSurface, 0.5); } } @@ -254,7 +252,7 @@ $onSystem: $onSecondary; } .sidebar-calendar-btn-othermonth { - color: mix($onSurface, $surface, 50%); + color: $outline; } .sidebar-calendar-header { @@ -265,19 +263,17 @@ $onSystem: $onSecondary; @include full-rounding; @include element_decel; padding: 0rem 0.682rem; - background-color: $t_surfaceVariant; - color: $onSurfaceVariant; + background-color: $surfaceContainer; + color: $outline; } .sidebar-calendar-monthyear-btn:hover, .sidebar-calendar-monthyear-btn:focus { background-color: $hovercolor; - color: mix($onSurfaceVariant, $surfaceVariant, 95%); } .sidebar-calendar-monthyear-btn:active { background-color: $activecolor; - color: mix($onSurfaceVariant, $surfaceVariant, 85%); } .sidebar-calendar-monthshift-btn { @@ -285,28 +281,22 @@ $onSystem: $onSecondary; @include element_decel; min-width: 2.045rem; min-height: 2.045rem; - background-color: $t_surfaceVariant; - color: $onSurfaceVariant; + background-color: $surfaceContainer; + color: $outline; } .sidebar-calendar-monthshift-btn:hover { background-color: $hovercolor; - color: mix($onSurfaceVariant, $surfaceVariant, 95%); } .sidebar-calendar-monthshift-btn:active { background-color: $activecolor; - color: mix($onSurfaceVariant, $surfaceVariant, 85%); } .sidebar-todo-item { padding-right: 0.545rem; } -.sidebar-todo-item-even { - background-color: $t_t_surfaceVariant; -} - .sidebar-todo-item-action { @include element_decel; border-radius: 9999px; @@ -347,11 +337,13 @@ $onSystem: $onSecondary; .sidebar-todo-new, .sidebar-todo-new:focus { - background-color: mix($t_secondaryContainer, $t_onSecondaryContainer, 97%); + color: $onSecondaryContainer; + background-color: $secondaryContainer; } .sidebar-todo-new:active { - background-color: mix($t_secondaryContainer, $t_onSecondaryContainer, 80%); + color: $onPrimaryContainer; + background-color: $primaryContainer; } .sidebar-todo-add { @@ -365,11 +357,11 @@ $onSystem: $onSecondary; .sidebar-todo-add:hover, .sidebar-todo-add:focus { - background-color: mix($t_secondaryContainer, $t_onSecondaryContainer, 97%); + background-color: $surfaceContainerHigh; } .sidebar-todo-add:active { - background-color: mix($t_secondaryContainer, $t_onSecondaryContainer, 80%); + background-color: $surfaceContainerHighest; } .sidebar-todo-add-available { @@ -384,11 +376,11 @@ $onSystem: $onSecondary; .sidebar-todo-add-available:hover, .sidebar-todo-add-available:focus { - background-color: mix($primary, $onPrimary, 97%); + background-color: mix($primary, $hovercolor, 70%); } .sidebar-todo-add-available:active { - background-color: mix($primary, $onPrimary, 80%); + background-color: mix($primary, $hovercolor, 40%); } .sidebar-todo-entry { @@ -401,24 +393,24 @@ $onSystem: $onSecondary; min-height: 1.773rem; min-width: 0rem; padding: 0.205rem 0.682rem; - border: 0.068rem solid mix($onSurfaceVariant, $surfaceVariant, 50%); + border: 0.068rem solid $outline; } .sidebar-todo-entry:focus { - border: 0.068rem solid mix($onSurfaceVariant, $surfaceVariant, 90%); + border: 0.068rem solid $onSurfaceVariant; } .sidebar-module { @include normal-rounding; @include group-padding; - background-color: $l_l_t_surfaceVariant; + background-color: $surfaceContainer; padding: 0.682rem; } .sidebar-module-btn-arrow { @include full-rounding; @include icon-material; - background-color: $l_l_t_surfaceVariant; + background-color: $surfaceContainerHigh; min-width: 1.705rem; min-height: 1.705rem; @@ -430,7 +422,7 @@ $onSystem: $onSecondary; .sidebar-module-scripts-button { @include full-rounding; @include icon-material; - background-color: $l_l_t_surfaceVariant; + background-color: $surfaceContainer; min-width: 1.705rem; min-height: 1.705rem; @@ -506,7 +498,7 @@ $colorpicker_rounding: 0.341rem; .sidebar-chat-apiswitcher { @include full-rounding; @include group-padding; - background-color: $t_surface; + background-color: $surfaceContainer; } .sidebar-chat-apiswitcher-icon { @@ -571,11 +563,11 @@ $colorpicker_rounding: 0.341rem; .sidebar-chat-send:hover, .sidebar-chat-send:focus { - background-color: $surfaceVariant; + background-color: $surfaceBright; } .sidebar-chat-send:active { - background-color: mix($surfaceVariant, $onBackground, 80%); + background-color: $surfaceVariant; } .sidebar-chat-send-available { @@ -585,11 +577,11 @@ $colorpicker_rounding: 0.341rem; .sidebar-chat-send-available:hover, .sidebar-chat-send-available:focus { - background-color: mix($primary, $onPrimary, 97%); + background-color: mix($primary, $hovercolor, 70%); } .sidebar-chat-send-available:active { - background-color: mix($primary, $onPrimary, 80%); + background-color: mix($primary, $hovercolor, 40%); } .sidebar-chat-message { @@ -666,17 +658,17 @@ $colorpicker_rounding: 0.341rem; background-color: $termbg; color: $termfg; margin: 0rem 0.682rem; - border: 0.068rem solid $t_t_t_onSecondaryContainer; + border: 0.068rem solid $outlineVariant; } .sidebar-chat-codeblock-topbar { @include mainfont; margin: 0.273rem; margin-bottom: 0rem; - background-color: mix($t_secondaryContainer, $t_onSurfaceVariant, 30%); + background-color: $secondaryContainer; color: $onSecondaryContainer; border-radius: $rounding_medium - 0.273rem; - border: 0.068rem solid mix($secondaryContainer, $onSecondaryContainer, 90%); + border: 0.068rem solid $outlineVariant; border-top-left-radius: $rounding_small + 0.068rem; border-top-right-radius: $rounding_small + 0.068rem; padding: 0.341rem 0.477rem; @@ -695,11 +687,11 @@ $colorpicker_rounding: 0.341rem; .sidebar-chat-codeblock-topbar-btn:hover, .sidebar-chat-codeblock-topbar-btn:focus { - background-color: mix($t_secondaryContainer, $t_onSecondaryContainer, 80%); + background-color: mix($secondaryContainer, $onSecondaryContainer, 90%); } .sidebar-chat-codeblock-topbar-btn:active { - background-color: mix($t_secondaryContainer, $t_onSecondaryContainer, 60%); + background-color: mix($secondaryContainer, $onSecondaryContainer, 80%); } .sidebar-chat-codeblock-code { @@ -807,11 +799,11 @@ $colorpicker_rounding: 0.341rem; .sidebar-pin-enabled:hover, .sidebar-pin-enabled:focus { - background-color: mix($primary, $onPrimary, 90%); + background-color: mix($primary, $hovercolor, 70%); } .sidebar-pin-enabled:active { - background-color: mix($primary, $onPrimary, 80%); + background-color: mix($primary, $hovercolor, 40%); } .sidebar-waifu-heading { @@ -880,4 +872,4 @@ $waifu_image_overlay_transparency: 0.7; // background-color: rgba(100, 100, 0, 0.3); @include element_decel; margin: 0.545rem; -} \ No newline at end of file +} diff --git a/.config/hypr/hyprland/rules.conf b/.config/hypr/hyprland/rules.conf index 5210add59..08643d942 100644 --- a/.config/hypr/hyprland/rules.conf +++ b/.config/hypr/hyprland/rules.conf @@ -1,12 +1,13 @@ -# ####### Window rules ######## -windowrule = noblur,.* # Disables blur for windows. Substantially improves performance. +# ######## Window rules ######## +#windowrule = noblur,.* # Disables blur for windows. Substantially improves performance. # windowrule = opacity 0.89 override 0.89 override, .* # Applies transparency to EVERY WINDOW +windowrule = float, ^(blueberry.py)$ windowrule = float, ^(steam)$ windowrule = float, ^(guifetch)$ # FlafyDev/guifetch windowrulev2 = tile,class:(wps) windowrulev2 = tile,class:(dev.warp.Warp) - + # Dialogs windowrule=float,title:^(Open File)(.*)$ @@ -14,10 +15,10 @@ windowrule=float,title:^(Select a File)(.*)$ windowrule=float,title:^(Choose wallpaper)(.*)$ windowrule=float,title:^(Open Folder)(.*)$ windowrule=float,title:^(Save As)(.*)$ -windowrule=float,title:^(Library)(.*)$ +windowrule=float,title:^(Library)(.*)$ -# ####### Layer rules ######## -layerrule = xray 1, .* +# ######## Layer rules ######## +layerrule = xray 0, .* # layerrule = noanim, .* layerrule = noanim, selection layerrule = noanim, overview @@ -42,23 +43,23 @@ layerrule = blur, session layerrule = noanim, sideright layerrule = noanim, sideleft -# layerrule = blur, bar -# layerrule = ignorealpha 0.64, bar -# layerrule = blur, corner.* -# layerrule = ignorealpha 0.69, corner.* -# layerrule = blur, dock -# layerrule = ignorealpha 0.69, dock -# layerrule = blur, indicator.* -# layerrule = ignorealpha 0.69, indicator.* -# layerrule = blur, overview -# layerrule = ignorealpha 0.69, overview -# layerrule = blur, cheatsheet -# layerrule = ignorealpha 0.69, cheatsheet -# layerrule = blur, sideright -# layerrule = ignorealpha 0.69, sideright -# layerrule = blur, sideleft -# layerrule = ignorealpha 0.69, sideleft -# layerrule = blur, indicator* -# layerrule = ignorealpha 0.69, indicator* -# layerrule = blur, osk -# layerrule = ignorealpha 0.69, osk +layerrule = blur, bar +layerrule = ignorealpha 0.20, bar +layerrule = blur, corner.* +layerrule = ignorealpha 0.20, corner.* +layerrule = blur, dock +layerrule = ignorealpha 0.20, dock +layerrule = blur, indicator.* +layerrule = ignorealpha 0.20, indicator.* +layerrule = blur, overview +layerrule = ignorealpha 0.20, overview +layerrule = blur, cheatsheet +layerrule = ignorealpha 0.20, cheatsheet +layerrule = blur, sideright +layerrule = ignorealpha 0.20, sideright +layerrule = blur, sideleft +layerrule = ignorealpha 0.20, sideleft +layerrule = blur, indicator* +layerrule = ignorealpha 0.20, indicator* +layerrule = blur, osk +layerrule = ignorealpha 0.20, osk diff --git a/scriptdata/dependencies.conf b/scriptdata/dependencies.conf index 7ffeed1cf..2da18aa12 100644 --- a/scriptdata/dependencies.conf +++ b/scriptdata/dependencies.conf @@ -9,7 +9,7 @@ tinyxml2 gtkmm3 gtksourceviewmm cairomm ### Python # Add `python-setuptools-scm` and `python-wheel` explicitly to fix #197 -python-build python-material-color-utilities python-pillow python-poetry python-pywal python-setuptools-scm python-wheel +python-build python-material-color-utilities python-materialyoucolor-git python-pillow python-poetry python-pywal python-setuptools-scm python-wheel ### Basic graphic env hyprland-git xorg-xrandr