Full Code of PilkDrinker/PilkDots for AI

master cfffc2af6339 cached
123 files
7.3 MB
1.9M tokens
1 requests
Download .txt
Showing preview only (7,648K chars total). Download the full file or copy to clipboard to get everything.
Repository: PilkDrinker/PilkDots
Branch: master
Commit: cfffc2af6339
Files: 123
Total size: 7.3 MB

Directory structure:
gitextract_ibmexjik/

├── .config/
│   ├── cava/
│   │   ├── config
│   │   └── shaders/
│   │       ├── bar_spectrum.frag
│   │       ├── northern_lights.frag
│   │       └── pass_through.vert
│   ├── fastfetch/
│   │   ├── arch.txt
│   │   └── config.jsonc
│   ├── hypr/
│   │   ├── hyprland.conf
│   │   └── hyprland_borders.conf
│   ├── hyprlock/
│   │   └── hyprlock.conf
│   ├── kitty/
│   │   └── kitty.conf
│   ├── rofi/
│   │   ├── config.rasi
│   │   ├── rounded-blue-dark.rasi
│   │   ├── rounded-common.rasi
│   │   └── withBorder/
│   │       ├── config.rasi
│   │       ├── rounded-blue-dark.rasi
│   │       └── rounded-common.rasi
│   ├── swaync/
│   │   ├── config.json
│   │   ├── configSchema.json
│   │   ├── style.css
│   │   └── withBorders/
│   │       ├── config.json
│   │       ├── configSchema.json
│   │       └── style.css
│   ├── waybar/
│   │   ├── alt_config/
│   │   │   ├── config
│   │   │   ├── modules.json
│   │   │   └── style.css
│   │   ├── config
│   │   ├── modules.json
│   │   └── style.css
│   ├── waypaper/
│   │   └── config.ini
│   └── wlogout/
│       ├── layout
│       └── style.css
├── .themes/
│   ├── Flat-Remix-GTK-Blue-Dark/
│   │   ├── cinnamon/
│   │   │   └── cinnamon.css
│   │   ├── gtk-2.0/
│   │   │   ├── gtkrc
│   │   │   └── main.rc
│   │   ├── gtk-3.0/
│   │   │   └── gtk.css
│   │   ├── gtk-4.0/
│   │   │   └── gtk.css
│   │   ├── index.theme
│   │   ├── install.sh
│   │   ├── libadwaita/
│   │   │   └── gtk.css
│   │   └── uninstall.sh
│   ├── Flat-Remix-GTK-Blue-Dark-Solid/
│   │   ├── cinnamon/
│   │   │   └── cinnamon.css
│   │   ├── gtk-2.0/
│   │   │   ├── gtkrc
│   │   │   └── main.rc
│   │   ├── gtk-3.0/
│   │   │   └── gtk.css
│   │   ├── gtk-4.0/
│   │   │   └── gtk.css
│   │   ├── index.theme
│   │   ├── install.sh
│   │   ├── libadwaita/
│   │   │   └── gtk.css
│   │   └── uninstall.sh
│   ├── Flat-Remix-GTK-Blue-Darkest/
│   │   ├── cinnamon/
│   │   │   └── cinnamon.css
│   │   ├── gtk-2.0/
│   │   │   ├── gtkrc
│   │   │   └── main.rc
│   │   ├── gtk-3.0/
│   │   │   └── gtk.css
│   │   ├── gtk-4.0/
│   │   │   └── gtk.css
│   │   ├── index.theme
│   │   ├── install.sh
│   │   ├── libadwaita/
│   │   │   └── gtk.css
│   │   └── uninstall.sh
│   ├── Flat-Remix-GTK-Blue-Darkest-Solid/
│   │   ├── cinnamon/
│   │   │   └── cinnamon.css
│   │   ├── gtk-2.0/
│   │   │   ├── gtkrc
│   │   │   └── main.rc
│   │   ├── gtk-3.0/
│   │   │   └── gtk.css
│   │   ├── gtk-4.0/
│   │   │   └── gtk.css
│   │   ├── index.theme
│   │   ├── install.sh
│   │   ├── libadwaita/
│   │   │   └── gtk.css
│   │   └── uninstall.sh
│   ├── Flat-Remix-GTK-Blue-Light/
│   │   ├── cinnamon/
│   │   │   └── cinnamon.css
│   │   ├── gtk-2.0/
│   │   │   ├── gtkrc
│   │   │   └── main.rc
│   │   ├── gtk-3.0/
│   │   │   ├── gtk-dark.css
│   │   │   └── gtk.css
│   │   ├── gtk-4.0/
│   │   │   ├── gtk-dark.css
│   │   │   └── gtk.css
│   │   ├── index.theme
│   │   ├── install.sh
│   │   ├── libadwaita/
│   │   │   └── gtk.css
│   │   └── uninstall.sh
│   ├── Flat-Remix-GTK-Blue-Light-Solid/
│   │   ├── cinnamon/
│   │   │   └── cinnamon.css
│   │   ├── gtk-2.0/
│   │   │   ├── gtkrc
│   │   │   └── main.rc
│   │   ├── gtk-3.0/
│   │   │   ├── gtk-dark.css
│   │   │   └── gtk.css
│   │   ├── gtk-4.0/
│   │   │   ├── gtk-dark.css
│   │   │   └── gtk.css
│   │   ├── index.theme
│   │   ├── install.sh
│   │   ├── libadwaita/
│   │   │   └── gtk.css
│   │   └── uninstall.sh
│   └── Sweet-Ambar-Blue-Dark-v40/
│       ├── cinnamon/
│       │   ├── cinnamon-dark.css
│       │   └── cinnamon.css
│       ├── gnome-shell/
│       │   └── gnome-shell.css
│       ├── gtk-2.0/
│       │   ├── apps/
│       │   │   ├── chrome.rc
│       │   │   ├── gimp.rc
│       │   │   ├── libreoffice.rc
│       │   │   ├── terminal.rc
│       │   │   ├── thunar.rc
│       │   │   └── xfce.rc
│       │   ├── gtkrc
│       │   └── main.rc
│       ├── gtk-3.0/
│       │   ├── gtk-dark.css
│       │   └── gtk.css
│       ├── gtk-4.0/
│       │   ├── gtk-dark.css
│       │   └── gtk.css
│       ├── index.theme
│       ├── metacity-1/
│       │   ├── metacity-theme-1.xml
│       │   ├── metacity-theme-2.xml
│       │   ├── metacity-theme-3.xml
│       │   └── metacity-theme.xml
│       └── xfwm4/
│           └── themerc
├── .zshrc
├── Keybinds cheat sheet
├── README.md
├── Required Fonts
├── dependencies
├── gentoo/
│   ├── package.use/
│   │   └── gtk-layer-shell
│   ├── packages.accept_idontremeber/
│   │   ├── app-misc
│   │   ├── dev-python
│   │   ├── gui-apps
│   │   └── x11-apps
│   └── waypaper/
│       └── waypaper.desktop
├── install.sh
└── optional

================================================
FILE CONTENTS
================================================

================================================
FILE: .config/cava/config
================================================
## Configuration file for CAVA.
# Remove the ; to change parameters.


[general]

# Smoothing mode. Can be 'normal', 'scientific' or 'waves'. DEPRECATED as of 0.6.0
mode = scientific

# Accepts only non-negative values.
framerate = 120

# 'autosens' will attempt to decrease sensitivity if the bars peak. 1 = on, 0 = off
# new as of 0.6.0 autosens of low values (dynamic range)
# 'overshoot' allows bars to overshoot (in % of terminal height) without initiating autosens. DEPRECATED as of 0.6.0
autosens = 1
; overshoot = 20

# Manual sensitivity in %. If autosens is enabled, this will only be the initial value.
# 200 means double height. Accepts only non-negative values.
; sensitivity = 100

# The number of bars (0-512). 0 sets it to auto (fill up console).
# Bars' width and space between bars in number of characters.
bars = 256
bar_width = 1
bar_spacing = 1
# bar_height is only used for output in "noritake" format
bar_height = 24

# For SDL width and space between bars is in pixels, defaults are:
; bar_width = 20
; bar_spacing = 5

# sdl_glsl have these default values, they are only used to calulate max number of bars.
; bar_width = 1
; bar_spacing = 0


# Lower and higher cutoff frequencies for lowest and highest bars
# the bandwidth of the visualizer.
# Note: there is a minimum total bandwidth of 43Mhz x number of bars.
# Cava will automatically increase the higher cutoff if a too low band is specified.
; lower_cutoff_freq = 40
; higher_cutoff_freq = 12000


# Seconds with no input before cava goes to sleep mode. Cava will not perform FFT or drawing and
# only check for input once per second. Cava will wake up once input is detected. 0 = disable.
; sleep_timer = 0


[input]

# Audio capturing method. Possible methods are: 'fifo', 'portaudio', 'pipewire', 'alsa', 'pulse', 'sndio', 'oss', 'jack' or 'shmem'
# Defaults to 'oss', 'pipewire', 'sndio', 'jack', 'pulse', 'alsa', 'portaudio' or 'fifo', in that order, dependent on what support cava was built with.
# On Mac it defaults to 'portaudio' or 'fifo'
# On windows this is automatic and no input settings are needed.
#
# All input methods uses the same config variable 'source'
# to define where it should get the audio.
#
# For pulseaudio and pipewire 'source' will be the source. Default: 'auto', which uses the monitor source of the default sink
# (all pulseaudio sinks(outputs) have 'monitor' sources(inputs) associated with them).
#
# For pipewire 'source' will be the object name or object.serial of the device to capture from.
# Both input and output devices are supported.
#
# For alsa 'source' will be the capture device.
# For fifo 'source' will be the path to fifo-file.
# For shmem 'source' will be /squeezelite-AA:BB:CC:DD:EE:FF where 'AA:BB:CC:DD:EE:FF' will be squeezelite's MAC address
#
# For sndio 'source' will be a raw recording audio descriptor or a monitoring sub-device, e.g. 'rsnd/2' or 'snd/1'. Default: 'default'.
# README.md contains further information on how to setup CAVA for sndio.
#
# For oss 'source' will be the path to a audio device, e.g. '/dev/dsp2'. Default: '/dev/dsp', i.e. the default audio device.
# README.md contains further information on how to setup CAVA for OSS on FreeBSD.
#
# For jack 'source' will be the name of the JACK server to connect to, e.g. 'foobar'. Default: 'default'.
# README.md contains further information on how to setup CAVA for JACK.
#
; method = pulse
; source = auto

; method = pipewire
; source = auto

; method = alsa
; source = hw:Loopback,1

; method = fifo
; source = /tmp/mpd.fifo

; method = shmem
; source = /squeezelite-AA:BB:CC:DD:EE:FF

; method = portaudio
; source = auto

; method = sndio
; source = default

; method = oss
; source = /dev/dsp

; method = jack
; source = default

# The options 'sample_rate', 'sample_bits', 'channels' and 'autoconnect' can be configured for some input methods:
#   sample_rate: fifo, pipewire, sndio, oss
#   sample_bits: fifo, pipewire, sndio, oss
#   channels:    sndio, oss, jack
#   autoconnect: jack
# Other methods ignore these settings.
#
# For 'sndio' and 'oss' they are only preferred values, i.e. if the values are not supported
# by the chosen audio device, the device will use other supported values instead.
# Example: 48000, 32 and 2, but the device only supports 44100, 16 and 1, then it
# will use 44100, 16 and 1.
#
; sample_rate = 44100
; sample_bits = 16
; channels = 2
; autoconnect = 2


[output]

# Output method. Can be 'ncurses', 'noncurses', 'raw', 'noritake', 'sdl'
# or 'sdl_glsl'.
# 'noncurses' (default) uses a buffer and cursor movements to only print
# changes from frame to frame in the terminal. Uses less resources and is less
# prone to tearing (vsync issues) than 'ncurses'.
#
# 'raw' is an 8 or 16 bit (configurable via the 'bit_format' option) data
# stream of the bar heights that can be used to send to other applications.
# 'raw' defaults to 200 bars, which can be adjusted in the 'bars' option above.
#
# 'noritake' outputs a bitmap in the format expected by a Noritake VFD display
#  in graphic mode. It only support the 3000 series graphical VFDs for now.
#
# 'sdl' uses the Simple DirectMedia Layer to render in a graphical context.
# 'sdl_glsl' uses SDL to create an OpenGL context. Write your own shaders or
# use one of the predefined ones.
; method = noncurses

# Orientation of the visualization. Can be 'bottom', 'top', 'left' or 'right'.
# Default is 'bottom'. Other orientations are only supported on sdl and ncruses
# output. Note: many fonts have weird glyphs for 'top' and 'right' characters,
# which can make ncurses not look right.
; orientation = bottom

# Visual channels. Can be 'stereo' or 'mono'.
# 'stereo' mirrors both channels with low frequencies in center.
# 'mono' outputs left to right lowest to highest frequencies.
# 'mono_option' set mono to either take input from 'left', 'right' or 'average'.
# set 'reverse' to 1 to display frequencies the other way around.
; channels = stereo
; mono_option = average
; reverse = 0

# Raw output target. A fifo will be created if target does not exist.
; raw_target = /dev/stdout

# Raw data format. Can be 'binary' or 'ascii'.
; data_format = binary

# Binary bit format, can be '8bit' (0-255) or '16bit' (0-65530).
; bit_format = 16bit

# Ascii max value. In 'ascii' mode range will run from 0 to value specified here
; ascii_max_range = 1000

# Ascii delimiters. In ascii format each bar and frame is separated by a delimiters.
# Use decimal value in ascii table (i.e. 59 = ';' and 10 = '\n' (line feed)).
; bar_delimiter = 59
; frame_delimiter = 10

# sdl window size and position. -1,-1 is centered.
; sdl_width = 1000
; sdl_height = 500
; sdl_x = -1
; sdl_y= -1
; sdl_full_screen = 0

# set label on bars on the x-axis. Can be 'frequency' or 'none'. Default: 'none'
# 'frequency' displays the lower cut off frequency of the bar above.
# Only supported on ncurses and noncurses output.
; xaxis = none

# enable alacritty synchronized updates. 1 = on, 0 = off
# removes flickering in alacritty terminal emulator.
# defaults to off since the behaviour in other terminal emulators is unknown
; alacritty_sync = 0

# Shaders for sdl_glsl, located in $HOME/.config/cava/shaders
; vertex_shader = pass_through.vert
; fragment_shader = bar_spectrum.frag

; for glsl output mode, keep rendering even if no audio
; continuous_rendering = 0

# disable console blank (screen saver) in tty
# (Not supported on FreeBSD)
; disable_blanking = 0

# show a flat bar at the bottom of the screen when idle, 1 = on, 0 = off
; show_idle_bar_heads = 1

# show waveform instead of frequency spectrum, 1 = on, 0 = off
; waveform = 0

[color]

# Colors can be one of seven predefined: black, blue, cyan, green, magenta, red, white, yellow.
# Or defined by hex code '#xxxxxx' (hex code must be within ''). User defined colors requires
# a terminal that can change color definitions such as Gnome-terminal or rxvt.
# default is to keep current terminal color
background = default
foreground = cyan

# SDL and sdl_glsl only support hex code colors, these are the default:
; background = '#111111'
; foreground = '#33ffff'


# Gradient mode, only hex defined colors are supported,
# background must also be defined in hex or remain commented out. 1 = on, 0 = off.
# You can define as many as 8 different colors. They range from bottom to top of screen
gradient = 1
gradient_count = 4
gradient_color_1 = '#0BA6A8'
gradient_color_2 = '#84B6CC'
gradient_color_3 = '#84B6CC'
gradient_color_4 = '#3B307C'

; gradient_color_1 = '#59cc33'
; gradient_color_2 = '#80cc33'
; gradient_color_3 = '#a6cc33'
; gradient_color_4 = '#cccc33'
; gradient_color_5 = '#cca633'
; gradient_color_6 = '#cc8033'
; gradient_color_7 = '#cc5933'
; gradient_color_8 = '#cc3333'



[smoothing]

# Percentage value for integral smoothing. Takes values from 0 - 100.
# Higher values means smoother, but less precise. 0 to disable.
# DEPRECATED as of 0.8.0, use noise_reduction instead
; integral = 77

# Disables or enables the so-called "Monstercat smoothing" with or without "waves". Set to 0 to disable.
; monstercat = 0
; waves = 0

# Set gravity percentage for "drop off". Higher values means bars will drop faster.
# Accepts only non-negative values. 50 means half gravity, 200 means double. Set to 0 to disable "drop off".
# DEPRECATED as of 0.8.0, use noise_reduction instead
; gravity = 100


# In bar height, bars that would have been lower that this will not be drawn.
# DEPRECATED as of 0.8.0
; ignore = 0

# Noise reduction, int 0 - 100. default 77
# the raw visualization is very noisy, this factor adjusts the integral and gravity filters to keep the signal smooth
# 100 will be very slow and smooth, 0 will be fast but noisy.
; noise_reduction = 77


[eq]

# This one is tricky. You can have as much keys as you want.
# Remember to uncomment more than one key! More keys = more precision.
# Look at readme.md on github for further explanations and examples.
; 1 = 1 # bass
; 2 = 1
; 3 = 1 # midtone
; 4 = 1
; 5 = 1 # treble


================================================
FILE: .config/cava/shaders/bar_spectrum.frag
================================================
#version 330

in vec2 fragCoord;
out vec4 fragColor;

// bar values. defaults to left channels first (low to high), then right (high to low).
uniform float bars[512];

uniform int bars_count;    // number of bars (left + right) (configurable)
uniform int bar_width;    // bar width (configurable), not used here
uniform int bar_spacing;    // space bewteen bars (configurable)

uniform vec3 u_resolution; // window resolution

//colors, configurable in cava config file (r,g,b) (0.0 - 1.0)
uniform vec3 bg_color; // background color
uniform vec3 fg_color; // foreground color

uniform int gradient_count;
uniform vec3 gradient_colors[8]; // gradient colors

vec3 normalize_C(float y,vec3 col_1, vec3 col_2, float y_min, float y_max)
{
    //create color based on fraction of this color and next color
    float yr = (y - y_min) / (y_max - y_min);
    return col_1 * (1.0 - yr) + col_2 * yr;
}

void main()
{
    // find which bar to use based on where we are on the x axis
    float x = u_resolution.x * fragCoord.x;
    int bar = int(bars_count * fragCoord.x);

    //calculate a bar size
    float bar_size = u_resolution.x / bars_count;

    //the y coordinate and bar values are the same
    float y =  bars[bar];

    // make sure there is a thin line at bottom
    if (y * u_resolution.y < 1.0)
    {
      y = 1.0 / u_resolution.y;
    }

    //draw the bar up to current height
    if (y > fragCoord.y)
    {
        //make some space between bars basen on settings
        if (x > (bar + 1) * (bar_size) - bar_spacing)
        {
            fragColor = vec4(bg_color,1.0);
        }
        else
        {
            if (gradient_count == 0)
            {
                fragColor = vec4(fg_color,1.0);
            }
            else
            {
                //find which color in the configured gradient we are at
                int color = int((gradient_count - 1) * fragCoord.y);

                //find where on y this and next color is supposed to be
                float y_min = color / (gradient_count - 1.0);
                float y_max = (color + 1.0) / (gradient_count - 1.0);

                //make color
                fragColor = vec4(normalize_C(fragCoord.y, gradient_colors[color], gradient_colors[color + 1], y_min, y_max), 1.0);
            }
        }
    }
    else
    {
        fragColor = vec4(bg_color,1.0);
    }
}

================================================
FILE: .config/cava/shaders/northern_lights.frag
================================================
#version 330

in vec2 fragCoord;
out vec4 fragColor;

// bar values. defaults to left channels first (low to high), then right (high to low).
uniform float bars[512];

uniform int bars_count;    // number of bars (left + right) (configurable)

uniform vec3 u_resolution; // window resolution, not used here

//colors, configurable in cava config file
uniform vec3 bg_color; // background color(r,g,b) (0.0 - 1.0), not used here
uniform vec3 fg_color; // foreground color, not used here

void main()
{
    // find which bar to use based on where we are on the x axis
    int bar = int(bars_count * fragCoord.x);

    float bar_y = 1.0 - abs((fragCoord.y - 0.5)) * 2.0;
    float y = (bars[bar]) * bar_y;

    float bar_x = (fragCoord.x - float(bar) / float(bars_count)) * bars_count;
    float bar_r = 1.0 - abs((bar_x - 0.5)) * 2;

    bar_r = bar_r * bar_r * 2;

    // set color
    fragColor.r = fg_color.x * y * bar_r;
    fragColor.g = fg_color.y * y * bar_r;
    fragColor.b = fg_color.z * y * bar_r;
}


================================================
FILE: .config/cava/shaders/pass_through.vert
================================================
#version 330


// Input vertex data, different for all executions of this shader.
layout(location = 0) in vec3 vertexPosition_modelspace;

// Output data ; will be interpolated for each fragment.
out vec2 fragCoord;

void main()
{
    gl_Position =  vec4(vertexPosition_modelspace,1);
    fragCoord  = (vertexPosition_modelspace.xy+vec2(1,1))/2.0;
}


================================================
FILE: .config/fastfetch/arch.txt
================================================
          .
         / \
        /   \
       /\    \
      /       \
     /         \
    /    .-.    \
   /    |   |   _\
  /   _.'   '._   \
 /_.-'         '-._\
     


================================================
FILE: .config/fastfetch/config.jsonc
================================================
//   _____ _____ _____ _____ _____ _____ _____ _____ _____ 
//  |   __|  _  |   __|_   _|   __|   __|_   _|     |  |  |
//  |   __|     |__   | | | |   __|   __| | | |   --|     |
//  |__|  |__|__|_____| |_| |__|  |_____| |_| |_____|__|__|  ASCII-ART
//
//  by Bina, Edited by Pilk
 
{
    "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
    "logo": {
        "source": "~/.config/fastfetch/arch.txt",
        "padding": {
            "top": 1,
            "right": 3
        }
    },
    "display": {
        "separator": " >  "
    },
    "modules": [
	"break",
	/*{
            "type": "title",
            "color": {
                "user": "1",  // = color2
                "at": "1",
                "host": "1"
            }
        },*/
        "break",
        {
            "type": "os",
            "key": "Distribution   ",
            "keyColor": "96",
        },
        {
            "type": "kernel",
            "key": "Kernel         ",
            "keyColor": "96",
        },
        {
            "type": "Packages",
            "format": "{}",
            "key": "Packages       ",
            "keyColor": "96",
        },
        {
            "type": "shell",
            "key": "Unix shell     ",
            "keyColor": "96",
        },
        {
            "type": "terminal",
            "key": "Terminal       ",
            "keyColor": "96",
        },
        {
            "type": "wm",
            "format": "{} ({3})",
            "key": "Window manager ",
            "keyColor": "96",
        },

 /*
        "break", 
        {
            "type": "colors",
            "symbol": "circle",
        },*/
    ]
}


================================================
FILE: .config/hypr/hyprland.conf
================================================
##   _   _                  _                 _
##  | | | |_   _ _ __  _ __| | __ _ _ __   __| |
##  | |_| | | | | '_ \| '__| |/ _` | '_ \ / _` |
##  |  _  | |_| | |_) | |  | | (_| | | | | (_| |
##  |_| |_|\__, | .__/|_|  |_|\__,_|_| |_|\__,_|
##         |___/|_|
##
##  By Pilk (2025) 
##

# MONITORS #

monitor = DP-2, 1920x1080@165, 0x0, 1
monitor = DP-3, 1920x1080@60, 1920x0, 1

# MY PROGRAMS #

$terminal = kitty
$fileManager = nemo
$menu = rofi -show drun -show-icons
$browser = firefox

# AUTOSTART #

exec-once = waypaper --restore # Reloads last used wallpaper
exec-once = swaync & waybar

# ENVIRONMENT VARIABLES #

env = XCURSOR_SIZE,24
env = HYPRCURSOR_SIZE,24
env = HYPRCURSOR_THEME, Breeze

# LOOK AND FEEL

general {
    gaps_in = 10
    gaps_out = 20
    border_size = 0
    col.active_border = rgb(03CDFF) rgb(A200FF) 45deg
    #col.inactive_border = 0
    resize_on_border = false
    allow_tearing = true
    layout = dwindle
}

decoration {
    rounding = 20
    active_opacity = 0.9
    inactive_opacity = 0.7

    blur {

        enabled = true
        size = 20
        passes = 2
        contrast = 1
        vibrancy_darkness = 0.6
        vibrancy = 1.396
        new_optimizations = true
        layerrule = blur, waybar
        layerrule = ignorezero, waybar
        layerrule = blur, rofi
        layerrule = ignorezero, rofi
        layerrule = blur, swaync
        layerrule = ignorezero, swaync
        layerrule = ignorezero, swaync
        #windowrule = float, rofi
        # noise = 0.05
        ignore_opacity = true

    }

    shadow {

    enabled = true
    range = 50               
    ignore_window = false
    render_power = 40       
    color = rgba(0, 0, 0, 0.7)

    }

}

animations {

    enabled = true
    bezier = myBezier, 0.05, 0.9, 0.1, 1.05
    animation = windows, 1, 7, myBezier, popin 10%
    animation = windowsOut, 1, 7, default, popin 80%
    animation = border, 1, 15, default
    animation = borderangle, 1, 15, default
    animation = fade, 1, 5, default
    animation = workspaces, 1, 6, default
    layerrule = animation slide, rofi

}

dwindle {
    pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
    preserve_split = true # You probably want this
}


master {
    new_status = master
}


misc {
    force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
    disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :(
}


# INPUT #

input {
    kb_layout = se
    kb_variant =
    kb_model =
    kb_options =
    kb_rules =
    follow_mouse = 1
    sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
    touchpad {
        natural_scroll = false
    }
}

plugin {
    hyprgrass {
        gestures {
            workspace_swipe = true
            workspace_swipe_invert = false
            workspace_swipe_min_speed_to_force = 10
        }
    }
}

device {
    name = epic-mouse-v1
    sensitivity = -0.5
}


# KEYBINDINGS #

$mainMod = SUPER # Sets "Windows" key as main modifier
$Print = PRINT

bind = $mainMod, RETURN, exec, $terminal
bind = $mainMod, Q, killactive,
bind = $mainMod, M, exec, wlogout
bind = $mainMod, E, exec, $fileManager
bind = $mainMod, V, togglefloating,
bind = $mainMod, R, exec, $menu
bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, J, togglesplit, # dwindle
bind = $mainMod, F, fullscreen
bind = $mainMod, L, exec, hyprlock -c  ~/.config/hyprlock/hyprlock.conf
bind = $mainMod, W, exec, waypaper
bind = $mainMod + SHIFT, W, exec, waypaper --random
bind = $mainMod, B, exec, firefox

# Waybar

bind = $mainMod, I, exec,  killall waybar && waybar & disown

# Screenshots

bind = ,PRINT, exec, hyprshot -m output --clipboard-only
bind = $mainMod, PRINT, exec, hyprshot -m region --clipboard-only
bind = SHIFT, PRINT, exec, hyprshot -m output -o ~/Pictures/Screenshots

# Move focus with mainMod + arrow keys

bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d
bind = $mainMod, G, centerwindow

# Switch workspaces with mainMod + [0-9]

bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10

# Move active window to a workspace with mainMod + SHIFT + [0-9]

bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10

# SCROLL THROGH WORKSPACES WITH TAB/SHIFT+TAB (i3 like)
bind = $mainMod, TAB, workspace, e+1
bind = $mainMod_Shift, TAB, workspace, e-1

# Scroll through existing workspaces with mainMod + scroll

bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1

# Move/resize windows with mainMod + LMB/RMB and dragging

bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow

# Laptop multimedia keys for volume and LCD brightness

bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
bindel = ,XF86MonBrightnessUp, exec, brightnessctl s 10%+
bindel = ,XF86MonBrightnessDown, exec, brightnessctl s 10%-

# WINDOW RULESET AND WORKSPACES #

windowrule = float, title:kitty
windowrule = float, title:nwg-look
windowrule = float, title:Waypaper



================================================
FILE: .config/hypr/hyprland_borders.conf
================================================
##   _   _                  _                 _
##  | | | |_   _ _ __  _ __| | __ _ _ __   __| |
##  | |_| | | | | '_ \| '__| |/ _` | '_ \ / _` |
##  |  _  | |_| | |_) | |  | | (_| | | | | (_| |
##  |_| |_|\__, | .__/|_|  |_|\__,_|_| |_|\__,_|
##         |___/|_|
##
##  By Pilk (2024)
##


# MONITORS #

monitor = DP-3, 1920x1080@165, 0x0, 1
monitor = DP-2, 1920x1080@60, 1920x0, 1


# MY PROGRAMS #

$terminal = kitty
$fileManager = nemo
$menu = rofi -show drun -show-icons
$browser = firefox


# AUTOSTART #

exec-once = waypaper --restore # Reloads last used wallpaper
exec-once = swaync & waybar 


# ENVIRONMENT VARIABLES #

env = XCURSOR_SIZE,18
env = HYPRCURSOR_SIZE,24


# LOOK AND FEEL

general { 
    gaps_in = 13
    gaps_out = 20

    border_size = 3

    col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
    col.inactive_border = rgba(595959aa)

    resize_on_border = false

    allow_tearing = true

    layout = dwindle
}

decoration {
    rounding = 13
    # active_opacity = 0.9
    # inactive_opacity = 0.8

    blur {
        enabled = true
        size = 15
        passes = 3
	    contrast = 1.5
        vibrancy_darkness = 0.5
        vibrancy = 1.696
	    new_optimizations = true
	    # noise = 0.1
	    ignore_opacity = true
    }
        shadow {
        enabled = true
        range = 25
        ignore_window = true
        render_power = 15
        color = rgb(000000)
    }

}

animations {
    enabled = true

    bezier = myBezier, 0.05, 0.9, 0.1, 1.05	

    animation = windows, 1, 7, myBezier, popin 10%
    animation = windowsOut, 1, 7, default, popin 80%
    animation = border, 1, 15, default
    animation = borderangle, 1, 15, default
    animation = fade, 1, 5, default
    animation = workspaces, 1, 6, default
}

dwindle {
    pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
    preserve_split = true # You probably want this
}


master {
    new_status = master
}


misc { 
    force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
    disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :(
}


# INPUT #

input {
    kb_layout = us
    kb_variant =
    kb_model =
    kb_options =
    kb_rules =

    follow_mouse = 1

    sensitivity = 0 # -1.0 - 1.0, 0 means no modification.

    touchpad {
        natural_scroll = false
    }
}

gestures {
    workspace_swipe = false
}

device {
    name = epic-mouse-v1
    sensitivity = -0.5
}


# KEYBINDINGS #

$mainMod = SUPER # Sets "Windows" key as main modifier
$Print = PRINT

bind = $mainMod, RETURN, exec, $terminal
bind = $mainMod, Q, killactive,
bind = $mainMod, M, exec, wlogout
bind = $mainMod, E, exec, $fileManager
bind = $mainMod, V, togglefloating,
bind = $mainMod, R, exec, $menu
bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, J, togglesplit, # dwindle
bind = $mainMod, F, fullscreen
bind = $mainMod, L, exec, hyprlock -c ~/.config/hyprlock/hyprlock.conf
bind = $mainMod, W, exec, waypaper
bind = $mainMod, B, exec, firefox

# Waybar

bind = $mainMod, I, exec, killall waybar && waybar & disown

# Screenshots

bind = ,PRINT, exec, hyprshot -m output --clipboard-only
bind = $mainMod, PRINT, exec, hyprshot -m region --clipboard-only
bind = SHIFT, PRINT, exec, hyprshot -m output -o ~/Pictures/Screenshots

# Move focus with mainMod + arrow keys

bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d
bind = $mainMod, G, centerwindow

# Switch workspaces with mainMod + [0-9]

bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10

# Move active window to a workspace with mainMod + SHIFT + [0-9]

bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10


# Scroll through existing workspaces with mainMod + scroll

bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1

# Move/resize windows with mainMod + LMB/RMB and dragging

bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow

# Laptop multimedia keys for volume and LCD brightness

bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
bindel = ,XF86MonBrightnessUp, exec, brightnessctl s 10%+
bindel = ,XF86MonBrightnessDown, exec, brightnessctl s 10%-

# WINDOW RULESET AND WORKSPACES #

windowrule = float, ^(kitty)$
windowrule = float, ^(waypaper)$
windowrule = animation popin, ^(kitty)$ # sets the animation style for kitty
windowrule = noblur, ^(firefox)$ # disables blur for firefox
windowrule = opacity 1.0 override 1.0 override 1 override, ^(firefox)$
# windowrule = noblur, ^(vesktop)$ # disables blur for firefox
# windowrule = opacity 1.0 override 1.0 override 0.8 override, ^(vesktop)$
# windowrule = opacity 1.0 override 0.6 override 0.6 override, ^(tidal-hifi)$

windowrulev2 = suppressevent maximize, class:.* # You'll probably like this.


================================================
FILE: .config/hyprlock/hyprlock.conf
================================================
general {
    grace = 0
}

background {
    monitor =
    path = ~/wallpaper/blue.jpg
    blur_size = 4
    blur_passes = 0 # 0 disables blurring
    noise = 0.0117
    contrast = 1.3000 # Vibrant!!!
    brightness = 0.8000
    vibrancy = 0.2100
    vibrancy_darkness = 0.0
}

input-field {
    monitor =
    size = 250, 50
    outline_thickness = 3
    dots_size = 0.26 # Scale of input-field height, 0.2 - 0.8
    dots_spacing = 0.15 # Scale of dots' absolute size, 0.0 - 1.0
    dots_center = true
    dots_rounding = -1 # -1 default circle, -2 follow input-field rounding
    outer_color = rgb(11111b)
    inner_color = rgb(11111b)
    font_color = rgb(cdd6f4)
    fade_on_empty = true
    placeholder_text = 
    hide_input = false
    rounding = -1 # -1 means complete rounding (circle/oval)
    check_color = rgb(fab387)
    fail_color = rgb(f38ba8) # if authentication failed, changes outer_color and fail message color
    fail_text = idiot 
    fail_transition = 300 # transition time in ms between normal outer_color and fail_color
    position = 0, 75
    halign = center
    valign = bottom
}

label {
    monitor =
    text = cmd[update:1000] echo $(date +"%H:%M:%S")
    color = rgb(cba6f7)
    font_size = 65
    font_family = Maple Mono NF
    position = 0, 16
    halign = center
    valign = center
}

label {
    monitor =
    text = cmd[update:1000] echo $(date +"%A, %d %B %Y")
    color = rgb(cdd6f4)
    font_size = 24
    font_family = Maple Mono NF
    position = 0, -60 # date height 
    halign = center
    valign = center
}

label {
    monitor =
    text = 
    color = rgb(cdd6f4)
    font_size = 18
    font_family = Maple Mono NF
    position = 0, 30
    halign = center
    valign = bottom
}



================================================
FILE: .config/kitty/kitty.conf
================================================
██╗░░██╗██╗████████╗████████╗██╗░░░██╗
██║░██╔╝██║╚══██╔══╝╚══██╔══╝╚██╗░██╔╝
█████═╝░██║░░░██║░░░░░░██║░░░░╚████╔╝░
██╔═██╗░██║░░░██║░░░░░░██║░░░░░╚██╔╝░░
██║░╚██╗██║░░░██║░░░░░░██║░░░░░░██║░░░
╚═╝░░╚═╝╚═╝░░░╚═╝░░░░░░╚═╝░░░░░░╚═╝░░░


# -- Themes --

# include ~/.cache/wal/colors-kitty.conf # Include if you want to enable pywal

# -- Color Scheme --

background_opacity 0.5
background_blur 1

# -- Font config --

font_family      DroidSansMNerdFont
bold_font        auto
italic_font      auto
bold_italic_font auto
font_size        10.0

# -- Mics Settings --

enable_audio_bell no
force_ltr no
detect_urls yes
mouse_hide_wait -1

# -- Window -- 

window_padding_width  12
remember_window_size  no
initial_window_width  940
initial_window_height 500

# -- Tabs --

active_tab_background   #7aa2f7
active_tab_foreground   #1f2335
inactive_tab_background #292e42
inactive_tab_foreground #545c7e


================================================
FILE: .config/rofi/config.rasi
================================================

@theme "/rounded-blue-dark.rasi"




================================================
FILE: .config/rofi/rounded-blue-dark.rasi
================================================
/*******************************************************************************
 * ROUNDED THEME FOR ROFI 
 * User                 : LR-Tech               
 * Theme Repo           : https://github.com/lr-tech/rofi-themes-collection
 *******************************************************************************/

* {
    bg0:    #080809 ;
    bg1:    #2A2A2A;
    bg2:    #3D3D3D80;
    bg3:    #0099CC ;
    fg0:    #E6E6E6;
    fg1:    #FFFFFF;
    fg2:    #969696;
    fg3:    #3D3D3D;
    bb:     rgba ( 12, 12, 12, 75 % );
    se:     rgba ( 12, 12, 12, 60 % );
    sel:    rgba ( 0, 0, 0, 90 % );
    bor:    rgba ( 255, 255, 255, 12 % );
}

@import "rounded-common.rasi"


================================================
FILE: .config/rofi/rounded-common.rasi
================================================
/*******************************************************************************
 * ROUNDED THEME FOR ROFI 
 * User                 : LR-Tech               
 * Theme Repo           : https://github.com/lr-tech/rofi-themes-collection
 *******************************************************************************/

* {
    font:   "Roboto 12";

    background-color:   transparent;
    text-color:         @fg0;

    margin:     0px;
    padding:    0px;
    spacing:    0px;
}

window {
    location:       center;
    width:          350;
    border:         3px;
    border-radius:  30px;
    border-color:       transparent;
    background-color:   @bb;
}

mainbox {
    padding:    25px;
    text-color:         @fg0;
}

inputbar {
    background-color:   @se;
    border-color:       @bg2;

    border:         2px;
    border-radius:  40px;

    padding:    8px 16px;
    spacing:    8px;
    children:   [ prompt, entry ];
}

prompt {
    text-color: @fg0;
}

entry {
    placeholder:        "Search";
    placeholder-color:  @fg0;
}

message {
    margin:             12px 0 0;
    border-radius:      40px;
    border-color:       @bg2;
    background-color:   @bg2;
}

textbox {
    padding:    8px 24px;
}

listview {
    background-color:   transparent;

    margin:     12px 0 0;
    lines:      7;
    columns:    1;

    fixed-height: true;
}

element {
    padding:        8px 16px;
    spacing:        8px;
    border-radius:  40px;
}

element normal active {
    text-color: @fg0;
}

element alternate active {
    text-color: @fg0;
}

element selected normal, element selected active {
    background-color:   @bor;
}

element-icon {
    size:           25px;
    vertical-align: 2;
}

element-text {
    text-color: @fg0;
}


================================================
FILE: .config/rofi/withBorder/config.rasi
================================================

@theme "/rounded-blue-dark.rasi"




================================================
FILE: .config/rofi/withBorder/rounded-blue-dark.rasi
================================================
/*******************************************************************************
 * ROUNDED THEME FOR ROFI 
 * User                 : LR-Tech               
 * Theme Repo           : https://github.com/lr-tech/rofi-themes-collection
 *******************************************************************************/

* {
    bg0:    #080809 ;
    bg1:    #2A2A2A;
    bg2:    #3D3D3D80;
    bg3:    #0099CC ;
    fg0:    #E6E6E6;
    fg1:    #FFFFFF;
    fg2:    #969696;
    fg3:    #3D3D3D;
}

@import "rounded-common.rasi"


================================================
FILE: .config/rofi/withBorder/rounded-common.rasi
================================================
/*******************************************************************************
 * ROUNDED THEME FOR ROFI 
 * User                 : LR-Tech               
 * Theme Repo           : https://github.com/lr-tech/rofi-themes-collection
 *******************************************************************************/

* {
    font:   "Roboto 12";

    background-color:   transparent;
    text-color:         @fg0;

    margin:     0px;
    padding:    0px;
    spacing:    0px;
}

window {
    location:       center;
    width:          400;
    border:         2px;
    border-radius:  30px;
    border-color:       @bg3;
    background-color:   @bg0;
}

mainbox {
    padding:    25px;
    text-color:         @fg0;
}

inputbar {
    background-color:   @bg1;
    border-color:       @bg2;

    border:         2px;
    border-radius:  40px;

    padding:    8px 16px;
    spacing:    8px;
    children:   [ prompt, entry ];
}

prompt {
    text-color: @fg0;
}

entry {
    placeholder:        "Search";
    placeholder-color:  @fg0;
}

message {
    margin:             12px 0 0;
    border-radius:      40px;
    border-color:       @bg2;
    background-color:   @bg2;
}

textbox {
    padding:    8px 24px;
}

listview {
    background-color:   transparent;

    margin:     12px 0 0;
    lines:      7;
    columns:    1;

    fixed-height: true;
}

element {
    padding:        8px 16px;
    spacing:        8px;
    border-radius:  40px;
}

element normal active {
    text-color: @fg0;
}

element alternate active {
    text-color: @fg0;
}

element selected normal, element selected active {
    background-color:   @bg3;
}

element-icon {
    size:           25px;
    vertical-align: 2;
}

element-text {
    text-color: @fg0;
}


================================================
FILE: .config/swaync/config.json
================================================
{
  "$schema": "/etc/xdg/swaync/configSchema.json",
  "positionX": "right",
  "positionY": "top",
  "layer": "overlay",
  "control-center-layer": "top",
  "layer-shell": true,
  "cssPriority": "application",
  "control-center-margin-top": 0,
  "control-center-margin-bottom": 0,
  "control-center-margin-right": 0,
  "control-center-margin-left": 0,
  "notification-2fa-action": true,
  "notification-inline-replies": false,
  "notification-icon-size": 60,
  "notification-body-image-height": 200,
  "notification-body-image-width": 200,
  "timeout": 6,
  "timeout-low": 5,
  "timeout-critical": 0,
  "fit-to-screen": true,
  "relative-timestamps": true,
  "control-center-width": 500,
  "control-center-height": 600,
  "notification-window-width": 400,
  "notification-window-hight": 400,
  "keyboard-shortcuts": true,
  "image-visibility": "when-available",
  "transition-time": 0,
  "hide-on-clear": false,
  "hide-on-action": true,
  "script-fail-notify": true,
  "scripts": {
    "example-script": {
      "exec": "echo 'Do something...'",
      "urgency": "Normal"
    },
    "example-action-script": {
      "exec": "echo 'Do something actionable!'",
      "urgency": "Normal",
      "run-on": "action"
    }
  },
  "notification-visibility": {
    "example-name": {
      "state": "muted",
      "urgency": "Low",
      "app-name": "Spotify"
    }
  },
  "widgets": [
    "inhibitors",
    "title",
    "dnd",
    "notifications"
  ],
  "widget-config": {
    "inhibitors": {
      "text": "Inhibitors",
      "button-text": "Clear All",
      "clear-all-button": true
    },
    "title": {
      "text": "Notifications",
      "clear-all-button": true,
      "button-text": "Clear All"
    },
    "dnd": {
      "text": "Do Not Disturb"
    },
    "label": {
      "max-lines": 5,
      "text": "Label Text"
    },
    "mpris": {
      "image-size": 96,
      "image-radius": 12
    },
    "buttons-grid": {
      "actions": [
        {
          "label": "直",
          "type": "toggle",
          "active": true,
          "command": "sh -c '[[ $SWAYNC_TOGGLE_STATE == true ]] && nmcli radio wifi on || nmcli radio wifi off'",
          "update_command": "sh -c '[[ $(nmcli radio wifi) == \"enabled\" ]] && echo true || echo false'"
        }
      ]
    }
  }
}


================================================
FILE: .config/swaync/configSchema.json
================================================
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "SwayNotificationCenter JSON schema",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "$schema": {
      "type": "string",
      "description": "Pointer to the schema against which this document should be validated."
    },
    "positionX": {
      "type": "string",
      "description": "Horizontal position of control center and notification window",
      "default": "right",
      "enum": ["right", "left", "center"]
    },
    "layer": {
      "type": "string",
      "description": "Layer of notification window",
      "default": "overlay",
      "enum": ["background", "bottom", "top", "overlay"]
    },
    "layer-shell": {
      "type": "boolean",
      "description": "Wether or not the windows should be opened as layer-shell surfaces. Note: Requires swaync restart to apply",
      "default": true
    },
    "cssPriority": {
      "type": "string",
      "description": "Which GTK priority to use when loading the default and user CSS files. Pick \"user\" to override XDG_CONFIG_HOME/gtk-3.0/gtk.css",
      "default": "application",
      "enum": ["application", "user"]
    },
    "positionY": {
      "type": "string",
      "description": "Vertical position of control center and notification window",
      "default": "top",
      "enum": ["top", "center", "bottom"]
    },
    "control-center-positionX": {
      "type": "string",
      "description": "Optional: Horizontal position of the control center. Supersedes positionX if not set to `none`",
      "default": "none",
      "enum": ["right", "left", "center", "none"]
    },
    "control-center-positionY": {
      "type": "string",
      "description": "Optional: Vertical position of the control center. Supersedes positionY if not set to `none`",
      "default": "none",
      "enum": ["top", "bottom", "none"]
    },
    "control-center-margin-top": {
      "type": "integer",
      "description": "The margin (in pixels) at the top of the control center. 0 to disable",
      "default": 0
    },
    "control-center-margin-bottom": {
      "type": "integer",
      "description": "The margin (in pixels) at the bottom of the control center. 0 to disable",
      "default": 0
    },
    "control-center-margin-right": {
      "type": "integer",
      "description": "The margin (in pixels) at the right of the control center. 0 to disable",
      "default": 0
    },
    "control-center-margin-left": {
      "type": "integer",
      "description": "The margin (in pixels) at the left of the control center. 0 to disable",
      "default": 0
    },
    "control-center-layer": {
      "type": "string",
      "description": "Layer of control center window",
      "default": "none",
      "enum": ["background", "bottom", "top", "overlay", "none"]
    },
    "control-center-exclusive-zone": {
      "type": "boolean",
      "description": "Whether or not the control center should follow the compositors exclusive zones. An example would be setting it to \"false\" to cover your panel/dock.",
      "default": true
    },
    "notification-2fa-action": {
      "type": "boolean",
      "description": "If each notification should display a 'COPY \"1234\"' action",
      "default": true
    },
    "notification-inline-replies": {
      "type": "boolean",
      "description": "If notifications should display a text field to reply if the sender requests it. NOTE: Replying in popup notifications is only available if the compositor supports GTK Layer-Shell ON_DEMAND keyboard interactivity.",
      "default": false
    },
    "notification-icon-size": {
      "type": "integer",
      "description": "The notification icon size (in pixels). The app icon size is 1/3",
      "default": 64,
      "minimum": 16
    },
    "notification-body-image-height": {
      "type": "integer",
      "description": "The notification body image height (in pixels)",
      "default": 100,
      "minimum": 100
    },
    "notification-body-image-width": {
      "type": "integer",
      "description": "The notification body image width (in pixels)",
      "default": 200,
      "minimum": 200
    },
    "timeout": {
      "type": "integer",
      "description": "The notification timeout for notifications with normal priority",
      "default": 10
    },
    "timeout-low": {
      "type": "integer",
      "description": "The notification timeout for notifications with low priority",
      "default": 5
    },
    "timeout-critical": {
      "type": "integer",
      "description": "The notification timeout for notifications with critical priority. 0 to disable",
      "default": 0
    },
    "notification-window-width": {
      "type": "integer",
      "description": "Width of the notification in pixels",
      "default": 500
    },
    "fit-to-screen": {
      "type": "boolean",
      "description": "If the control center should expand to both edges of the screen",
      "default": true
    },
    "relative-timestamps": {
      "type": "boolean",
      "description": "Display notification timestamps relative to now e.g. \"26 minutes ago\". If false, a local iso8601-formatted absolute timestamp is displayed.",
      "default": true
    },
    "control-center-height": {
      "type": "integer",
      "description": "Height of the control center in pixels. Ignored when 'fit-to-screen' is set to 'true'",
      "default": 600,
      "minimum": 300
    },
    "control-center-width": {
      "type": "integer",
      "description": "Width of the control center in pixels",
      "default": 500,
      "minimum": 300
    },
    "keyboard-shortcuts": {
      "type": "boolean",
      "description": "If control center should use keyboard shortcuts",
      "default": true
    },
    "image-visibility": {
      "type": "string",
      "description": "The notification image visibility when no icon is available.",
      "default": "when-available",
      "enum": ["always", "when-available", "never"]
    },
    "transition-time": {
      "type": "integer",
      "description": "The notification animation duration. 0 to disable",
      "default": 200
    },
    "hide-on-clear": {
      "type": "boolean",
      "description": "Hides the control center after pressing \"Clear All\"",
      "default": false
    },
    "hide-on-action": {
      "type": "boolean",
      "description": "Hides the control center when clicking on notification action",
      "default": true
    },
    "script-fail-notify": {
      "type": "boolean",
      "description": "Sends a notification if a script fails to run",
      "default": true
    },
    "scripts": {
      "type": "object",
      "description": "Which scripts to check and potentially run for every notification. If the notification doesn't include one of the properties, that property will be ignored. All properties (except for exec) use regex. If all properties match the given notification, the script will be run. Only the first matching script will be run.",
      "minProperties": 1,
      "additionalProperties": false,
      "patternProperties": {
        "^.{1,}$": {
          "type": "object",
          "description": "Your script object.",
          "required": ["exec"],
          "minProperties": 2,
          "additionalProperties": false,
          "properties": {
            "exec": {
              "type": "string",
              "description": "The script to run. Can also run regular shell commands."
            },
            "app-name": {
              "type": "string",
              "description": "The app-name. Uses Regex."
            },
            "desktop-entry": {
              "type": "string",
              "description": "The desktop-entry. Uses Regex."
            },
            "summary": {
              "type": "string",
              "description": "The summary of the notification. Uses Regex."
            },
            "body": {
              "type": "string",
              "description": "The body of the notification. Uses Regex."
            },
            "urgency": {
              "type": "string",
              "description": "The urgency of the notification.",
              "default": "Normal",
              "enum": ["Low", "Normal", "Critical"]
            },
            "category": {
              "type": "string",
              "description": "Which category the notification belongs to. Uses Regex."
            },
            "run-on": {
              "type": "string",
              "description": "Whether to run the script on an action being activated, or when the notification is received.",
              "enum": ["action", "receive"],
              "default": "receive"
            }
          }
        }
      }
    },
    "notification-visibility": {
      "type": "object",
      "description": "Set the visibility of each incoming notification. If the notification doesn't include one of the properties, that property will be ignored. All properties (except for state) use regex. If all properties match the given notification, the notification will be follow the provided state. Only the first matching object will be used.",
      "minProperties": 1,
      "additionalProperties": false,
      "patternProperties": {
        "^.{1,}$": {
          "type": "object",
          "description": "Your script object.",
          "required": ["state"],
          "minProperties": 2,
          "additionalProperties": false,
          "properties": {
            "state": {
              "type": "string",
              "description": "The notification visibility state.",
              "default": "enabled",
              "enum": ["ignored", "muted", "enabled", "transient"]
            },
            "app-name": {
              "type": "string",
              "description": "The app-name. Uses Regex."
            },
            "desktop-entry": {
              "type": "string",
              "description": "The desktop-entry. Uses Regex."
            },
            "summary": {
              "type": "string",
              "description": "The summary of the notification. Uses Regex."
            },
            "body": {
              "type": "string",
              "description": "The body of the notification. Uses Regex."
            },
            "urgency": {
              "type": "string",
              "description": "The urgency of the notification.",
              "default": "Normal",
              "enum": ["Low", "Normal", "Critical"]
            },
            "override-urgency": {
              "type": "string",
              "description": "The new urgency of the notification (optional)",
              "default": "unset",
              "enum": ["unset", "low", "normal", "critical"]
            },
            "category": {
              "type": "string",
              "description": "Which category the notification belongs to. Uses Regex."
            }
          }
        }
      }
    },
    "widgets": {
      "type": "array",
      "description": "Which order and which widgets to display. If the \"notifications\" widget isn't specified, it will be placed at the bottom.",
      "default": ["inhibitors", "title", "dnd", "notifications"],
      "items": {
        "type": "string",
        "$comment": "Sadly can't use regex and enums at the same time. Fix in the future?",
        "pattern": "^[a-zA-Z0-9_-]{1,}(#[a-zA-Z0-9_-]{1,}){0,1}?$"
      }
    },
    "widget-config": {
      "type": "object",
      "description": "Configure specific widget properties.",
      "additionalProperties": false,
      "$comment": "New widgets go here in \"patternProperties\" ↓",
      "patternProperties": {
        "^title(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
          "$comment": "References the widget structure from \"widgets\" below",
          "$ref": "#/widgets/title"
        },
        "^dnd(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
          "$ref": "#/widgets/dnd"
        },
        "^label(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
          "$ref": "#/widgets/label"
        },
        "^mpris(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
          "$ref": "#/widgets/mpris"
        },
        "^buttons-grid(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
          "$ref": "#/widgets/buttons-grid"
        },
        "^menubar(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
          "$ref": "#/widgets/menubar"
        },
        "^volume(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
          "$ref": "#/widgets/volume"
        },
        "^backlight(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
          "$ref": "#/widgets/backlight"
        },
        "^inhibitors(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
          "$comment": "References the widget structure from \"widgets\" below",
          "$ref": "#/widgets/inhibitors"
        }
      }
    }
  },
  "widgets": {
    "$comment": "New widgets go here",
    "title": {
      "type": "object",
      "description": "Control Center Title Widget",
      "additionalProperties": false,
      "properties": {
        "text": {
          "type": "string",
          "description": "The title of the widget",
          "default": "Notifications"
        },
        "clear-all-button": {
          "type": "boolean",
          "description": "Wether to display a \"Clear All\" button",
          "default": true
        },
        "button-text": {
          "type": "string",
          "description": "\"Clear All\" button text",
          "default": "Clear All"
        }
      }
    },
    "dnd": {
      "type": "object",
      "description": "Control Center Do Not Disturb Widget",
      "additionalProperties": false,
      "properties": {
        "text": {
          "type": "string",
          "description": "The title of the widget",
          "default": "Do Not Disturb"
        }
      }
    },
    "label": {
      "type": "object",
      "description": "A generic widget that allows the user to add custom text",
      "additionalProperties": false,
      "properties": {
        "text": {
          "type": "string",
          "description": "The text content of the widget",
          "default": "Label Text"
        },
        "max-lines": {
          "type": "integer",
          "description": "The maximum lines",
          "default": 5
        }
      }
    },
    "mpris": {
      "type": "object",
      "description": "A widget that displays multiple music players",
      "additionalProperties": false,
      "properties": {
        "image-size": {
          "type": "integer",
          "description": "The size of the album art",
          "default": 96
        },
        "image-radius": {
          "type": "integer",
          "description": "The border radius of the album art. Will be overriden by setting the border-radius in the style.css for the \".widget-mpris-album-art\" class",

          "default": 12
        },
        "blur": {
          "type": "bool",
          "description": "Appy the artwork as the MPRIS background and blur it",
          "default": true
        }
      }
    },
    "buttons-grid": {
      "type": "object",
      "description": "A widget to add a grid of buttons that execute shell commands",
      "additionalProperties": false,
      "properties": {
        "actions": {
          "type": "array",
          "description": "A list of actions containing a label and a command",
          "items": {
            "type": "object",
            "properties": {
              "label": {
                "type": "string",
                "description": "Text to be displayed in button",
                "default": "label"
              },
              "command": {
                "type": "string",
                "description": "Command to be executed on click",
                "default": ""
              },
              "type": {
                "type": "string",
                "description": "Type of the button; toggle buttons receive the .active css class and an env variable 'SWAYNC_TOGGLE_STATE' is set. See example in the default config.json",
                "default": "normal",
                "enum": ["normal", "toggle"]
              },
              "update-command": {
                "type": "string",
                "description": "Command to be executed on visibility change of cc to update the active state of the toggle button (should echo true or false)",
                "default": ""
              },
              "active": {
                  "type": "bool",
                  "description": "Wether the toggle button is active as default or not",
                  "default": false
              }
            }
          }
        }
      }
    },
    "menubar": {
      "type": "object",
      "description": "A bar that contains action-buttons and buttons to open a dropdown with action-buttons",
      "additionalProperties": false,
      "patternProperties": {
        "^menu(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
          "type": "object",
          "description": "A button that opens a dropdown with action-buttons",
          "additionalProperties": false,
          "properties": {
            "label": {
              "type": "string",
              "description": "Text to be displayed in button",
              "default": "Menu"
            },
            "position": {
              "type": "string",
              "description": "Horizontal position of the button in the bar",
              "default": "right",
              "enum": ["right", "left"]
            },
            "animation-type": {
              "type": "string",
              "default": "slide_down",
              "description": "Animation type for menu",
              "enum": ["slide_down", "slide_up", "none"]
            },
            "animation-duration":{
              "type": "integer",
              "default": 250,
              "description": "Duration of animation in milliseconds"
            },
            "actions": {
              "$ref" : "#/widgets/buttons-grid/properties/actions"
            }
          }
        },
        "^buttons(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
          "type": "object",
          "description": "A list of action-buttons to be displayed in the topbar",
          "additionalProperties": false,
          "properties": {
            "position": {
              "type": "string",
              "description": "Horizontal position of the button in the bar",
              "default": "right",
              "enum": ["right", "left"]
            },
            "actions": {
              "$ref" : "#/widgets/buttons-grid/properties/actions"
            }
          }
        }
      }
    },
    "volume": {
      "type": "object",
      "description": "Slider to control pulse volume",
      "additionalProperties": false,
      "properties": {
        "label": {
          "type": "string",
          "description": "Text displayed in front of the volume slider",
          "default": "Volume"
        },
        "show-per-app": {
          "type": "boolean",
          "default": false,
          "description": "Show per app volume control"
        },
        "show-per-app-icon": {
          "type": "boolean",
          "default": true,
          "description": "Show application icon in per app control"
        },
        "show-per-app-label": {
          "type": "boolean",
          "default": false,
          "description": "Show application name in per app control"
        },
        "empty-list-label": {
          "type": "string",
          "default": "No active sink input",
          "description": "Text displayed when there are not active sink inputs"
        },
        "expand-button-label": {
          "type": "string",
          "default": "⇧",
          "description": "Label displayed on button to show per app volume control"
        },
        "collapse-button-label": {
          "type": "string",
          "default": "⇩",
          "description": "Label displayed on button to hide per app volume control"
        },
        "icon-size": {
          "type": "integer",
          "default": 24,
          "description": "Size of the application icon in per app volume control"
        },
        "animation-type": {
          "type": "string",
          "default": "slide_down",
          "description": "Animation type for menu",
          "enum": ["slide_down", "slide_up", "none"]
        },
        "animation-duration":{
          "type": "integer",
          "default": 250,
          "description": "Duration of animation in milliseconds"
        }
      }
    },
    "backlight": {
      "type": "object",
      "description": "Slider to control monitor brightness",
      "additionalProperties": false,
      "properties": {
        "label": {
          "type": "string",
          "description": "Text displayed in front of the backlight slider",
          "default": "Brightness"
        },
        "device": {
          "type": "string",
          "description": "Name of monitor (find possible devices using `ls /sys/class/backlight` or `ls /sys/class/leds`)",
          "default": "intel_backlight"
        },
        "subsystem": {
          "type": "string",
          "description": "Kernel subsystem for brightness control",
          "default": "backlight",
          "enum": ["backlight", "leds"]
        },
        "min": {
          "type": "integer",
          "default": 0,
          "description": "Lowest possible value for brightness"
        }
      }
    },
    "inhibitors": {
      "type": "object",
      "description": "Control Center Inhibitors Widget",
      "additionalProperties": false,
      "properties": {
        "text": {
          "type": "string",
          "description": "The title of the widget",
          "default": "Inhibitors"
        },
        "clear-all-button": {
          "type": "boolean",
          "description": "Wether to display a \"Clear All\" button",
          "default": true
        },
        "button-text": {
          "type": "string",
          "description": "\"Clear All\" button text",
          "default": "Clear All"
        }
      }
    }
  }
}


================================================
FILE: .config/swaync/style.css
================================================
@define-color cc-bg rgba(12, 12, 12, 0.75);
@define-color noti-border-color black;
@define-color noti-bg rgba(12, 12, 12, 0.25);
@define-color noti-bg-opaque rgba(12, 12, 12, 0.75);
@define-color noti-bg-darker rgba(12, 12, 12, 0.75);
@define-color noti-bg-hover rgba(12, 12, 12, 0.75);
@define-color noti-bg-hover-opaque rgba(12, 12, 12, 0.75);
@define-color noti-bg-focus rgba(68, 68, 68, 0.2);

.notification-row .notification-background {
  padding: 20px 20px;
}


.notification-row .notification-background .notification {
  /* The actual notification */
  border-radius: 12px;
  /*border: 0px solid black;*/
  padding: 0;
  background: @noti-bg;
}

.notification-row .notification-background .notification .notification-action,
.notification-row .notification-background .notification .notification-default-action {
  padding: 4px;
  margin: 2px;
  background: transparent;
  color: @text-color;
}

================================================
FILE: .config/swaync/withBorders/config.json
================================================
{
  "$schema": "/etc/xdg/swaync/configSchema.json",
  "positionX": "right",
  "positionY": "top",
  "layer": "overlay",
  "control-center-layer": "top",
  "layer-shell": true,
  "cssPriority": "application",
  "control-center-margin-top": 0,
  "control-center-margin-bottom": 0,
  "control-center-margin-right": 0,
  "control-center-margin-left": 0,
  "notification-2fa-action": true,
  "notification-inline-replies": false,
  "notification-icon-size": 60,
  "notification-body-image-height": 200,
  "notification-body-image-width": 200,
  "timeout": 6,
  "timeout-low": 5,
  "timeout-critical": 0,
  "fit-to-screen": true,
  "relative-timestamps": true,
  "control-center-width": 500,
  "control-center-height": 600,
  "notification-window-width": 400,
  "notification-window-hight": 400,
  "keyboard-shortcuts": true,
  "image-visibility": "when-available",
  "transition-time": 400,
  "hide-on-clear": false,
  "hide-on-action": true,
  "script-fail-notify": true,
  "scripts": {
    "example-script": {
      "exec": "echo 'Do something...'",
      "urgency": "Normal"
    },
    "example-action-script": {
      "exec": "echo 'Do something actionable!'",
      "urgency": "Normal",
      "run-on": "action"
    }
  },
  "notification-visibility": {
    "example-name": {
      "state": "muted",
      "urgency": "Low",
      "app-name": "Spotify"
    }
  },
  "widgets": [
    "inhibitors",
    "title",
    "dnd",
    "notifications"
  ],
  "widget-config": {
    "inhibitors": {
      "text": "Inhibitors",
      "button-text": "Clear All",
      "clear-all-button": true
    },
    "title": {
      "text": "Notifications",
      "clear-all-button": true,
      "button-text": "Clear All"
    },
    "dnd": {
      "text": "Do Not Disturb"
    },
    "label": {
      "max-lines": 5,
      "text": "Label Text"
    },
    "mpris": {
      "image-size": 96,
      "image-radius": 12
    },
    "buttons-grid": {
      "actions": [
        {
          "label": "直",
          "type": "toggle",
          "active": true,
          "command": "sh -c '[[ $SWAYNC_TOGGLE_STATE == true ]] && nmcli radio wifi on || nmcli radio wifi off'",
          "update_command": "sh -c '[[ $(nmcli radio wifi) == \"enabled\" ]] && echo true || echo false'"
        }
      ]
    }
  }
}


================================================
FILE: .config/swaync/withBorders/configSchema.json
================================================
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "SwayNotificationCenter JSON schema",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "$schema": {
      "type": "string",
      "description": "Pointer to the schema against which this document should be validated."
    },
    "positionX": {
      "type": "string",
      "description": "Horizontal position of control center and notification window",
      "default": "right",
      "enum": ["right", "left", "center"]
    },
    "layer": {
      "type": "string",
      "description": "Layer of notification window",
      "default": "overlay",
      "enum": ["background", "bottom", "top", "overlay"]
    },
    "layer-shell": {
      "type": "boolean",
      "description": "Wether or not the windows should be opened as layer-shell surfaces. Note: Requires swaync restart to apply",
      "default": true
    },
    "cssPriority": {
      "type": "string",
      "description": "Which GTK priority to use when loading the default and user CSS files. Pick \"user\" to override XDG_CONFIG_HOME/gtk-3.0/gtk.css",
      "default": "application",
      "enum": ["application", "user"]
    },
    "positionY": {
      "type": "string",
      "description": "Vertical position of control center and notification window",
      "default": "top",
      "enum": ["top", "center", "bottom"]
    },
    "control-center-positionX": {
      "type": "string",
      "description": "Optional: Horizontal position of the control center. Supersedes positionX if not set to `none`",
      "default": "none",
      "enum": ["right", "left", "center", "none"]
    },
    "control-center-positionY": {
      "type": "string",
      "description": "Optional: Vertical position of the control center. Supersedes positionY if not set to `none`",
      "default": "none",
      "enum": ["top", "bottom", "none"]
    },
    "control-center-margin-top": {
      "type": "integer",
      "description": "The margin (in pixels) at the top of the control center. 0 to disable",
      "default": 0
    },
    "control-center-margin-bottom": {
      "type": "integer",
      "description": "The margin (in pixels) at the bottom of the control center. 0 to disable",
      "default": 0
    },
    "control-center-margin-right": {
      "type": "integer",
      "description": "The margin (in pixels) at the right of the control center. 0 to disable",
      "default": 0
    },
    "control-center-margin-left": {
      "type": "integer",
      "description": "The margin (in pixels) at the left of the control center. 0 to disable",
      "default": 0
    },
    "control-center-layer": {
      "type": "string",
      "description": "Layer of control center window",
      "default": "none",
      "enum": ["background", "bottom", "top", "overlay", "none"]
    },
    "control-center-exclusive-zone": {
      "type": "boolean",
      "description": "Whether or not the control center should follow the compositors exclusive zones. An example would be setting it to \"false\" to cover your panel/dock.",
      "default": true
    },
    "notification-2fa-action": {
      "type": "boolean",
      "description": "If each notification should display a 'COPY \"1234\"' action",
      "default": true
    },
    "notification-inline-replies": {
      "type": "boolean",
      "description": "If notifications should display a text field to reply if the sender requests it. NOTE: Replying in popup notifications is only available if the compositor supports GTK Layer-Shell ON_DEMAND keyboard interactivity.",
      "default": false
    },
    "notification-icon-size": {
      "type": "integer",
      "description": "The notification icon size (in pixels). The app icon size is 1/3",
      "default": 64,
      "minimum": 16
    },
    "notification-body-image-height": {
      "type": "integer",
      "description": "The notification body image height (in pixels)",
      "default": 100,
      "minimum": 100
    },
    "notification-body-image-width": {
      "type": "integer",
      "description": "The notification body image width (in pixels)",
      "default": 200,
      "minimum": 200
    },
    "timeout": {
      "type": "integer",
      "description": "The notification timeout for notifications with normal priority",
      "default": 10
    },
    "timeout-low": {
      "type": "integer",
      "description": "The notification timeout for notifications with low priority",
      "default": 5
    },
    "timeout-critical": {
      "type": "integer",
      "description": "The notification timeout for notifications with critical priority. 0 to disable",
      "default": 0
    },
    "notification-window-width": {
      "type": "integer",
      "description": "Width of the notification in pixels",
      "default": 500
    },
    "fit-to-screen": {
      "type": "boolean",
      "description": "If the control center should expand to both edges of the screen",
      "default": true
    },
    "relative-timestamps": {
      "type": "boolean",
      "description": "Display notification timestamps relative to now e.g. \"26 minutes ago\". If false, a local iso8601-formatted absolute timestamp is displayed.",
      "default": true
    },
    "control-center-height": {
      "type": "integer",
      "description": "Height of the control center in pixels. Ignored when 'fit-to-screen' is set to 'true'",
      "default": 600,
      "minimum": 300
    },
    "control-center-width": {
      "type": "integer",
      "description": "Width of the control center in pixels",
      "default": 500,
      "minimum": 300
    },
    "keyboard-shortcuts": {
      "type": "boolean",
      "description": "If control center should use keyboard shortcuts",
      "default": true
    },
    "image-visibility": {
      "type": "string",
      "description": "The notification image visibility when no icon is available.",
      "default": "when-available",
      "enum": ["always", "when-available", "never"]
    },
    "transition-time": {
      "type": "integer",
      "description": "The notification animation duration. 0 to disable",
      "default": 200
    },
    "hide-on-clear": {
      "type": "boolean",
      "description": "Hides the control center after pressing \"Clear All\"",
      "default": false
    },
    "hide-on-action": {
      "type": "boolean",
      "description": "Hides the control center when clicking on notification action",
      "default": true
    },
    "script-fail-notify": {
      "type": "boolean",
      "description": "Sends a notification if a script fails to run",
      "default": true
    },
    "scripts": {
      "type": "object",
      "description": "Which scripts to check and potentially run for every notification. If the notification doesn't include one of the properties, that property will be ignored. All properties (except for exec) use regex. If all properties match the given notification, the script will be run. Only the first matching script will be run.",
      "minProperties": 1,
      "additionalProperties": false,
      "patternProperties": {
        "^.{1,}$": {
          "type": "object",
          "description": "Your script object.",
          "required": ["exec"],
          "minProperties": 2,
          "additionalProperties": false,
          "properties": {
            "exec": {
              "type": "string",
              "description": "The script to run. Can also run regular shell commands."
            },
            "app-name": {
              "type": "string",
              "description": "The app-name. Uses Regex."
            },
            "desktop-entry": {
              "type": "string",
              "description": "The desktop-entry. Uses Regex."
            },
            "summary": {
              "type": "string",
              "description": "The summary of the notification. Uses Regex."
            },
            "body": {
              "type": "string",
              "description": "The body of the notification. Uses Regex."
            },
            "urgency": {
              "type": "string",
              "description": "The urgency of the notification.",
              "default": "Normal",
              "enum": ["Low", "Normal", "Critical"]
            },
            "category": {
              "type": "string",
              "description": "Which category the notification belongs to. Uses Regex."
            },
            "run-on": {
              "type": "string",
              "description": "Whether to run the script on an action being activated, or when the notification is received.",
              "enum": ["action", "receive"],
              "default": "receive"
            }
          }
        }
      }
    },
    "notification-visibility": {
      "type": "object",
      "description": "Set the visibility of each incoming notification. If the notification doesn't include one of the properties, that property will be ignored. All properties (except for state) use regex. If all properties match the given notification, the notification will be follow the provided state. Only the first matching object will be used.",
      "minProperties": 1,
      "additionalProperties": false,
      "patternProperties": {
        "^.{1,}$": {
          "type": "object",
          "description": "Your script object.",
          "required": ["state"],
          "minProperties": 2,
          "additionalProperties": false,
          "properties": {
            "state": {
              "type": "string",
              "description": "The notification visibility state.",
              "default": "enabled",
              "enum": ["ignored", "muted", "enabled", "transient"]
            },
            "app-name": {
              "type": "string",
              "description": "The app-name. Uses Regex."
            },
            "desktop-entry": {
              "type": "string",
              "description": "The desktop-entry. Uses Regex."
            },
            "summary": {
              "type": "string",
              "description": "The summary of the notification. Uses Regex."
            },
            "body": {
              "type": "string",
              "description": "The body of the notification. Uses Regex."
            },
            "urgency": {
              "type": "string",
              "description": "The urgency of the notification.",
              "default": "Normal",
              "enum": ["Low", "Normal", "Critical"]
            },
            "override-urgency": {
              "type": "string",
              "description": "The new urgency of the notification (optional)",
              "default": "unset",
              "enum": ["unset", "low", "normal", "critical"]
            },
            "category": {
              "type": "string",
              "description": "Which category the notification belongs to. Uses Regex."
            }
          }
        }
      }
    },
    "widgets": {
      "type": "array",
      "description": "Which order and which widgets to display. If the \"notifications\" widget isn't specified, it will be placed at the bottom.",
      "default": ["inhibitors", "title", "dnd", "notifications"],
      "items": {
        "type": "string",
        "$comment": "Sadly can't use regex and enums at the same time. Fix in the future?",
        "pattern": "^[a-zA-Z0-9_-]{1,}(#[a-zA-Z0-9_-]{1,}){0,1}?$"
      }
    },
    "widget-config": {
      "type": "object",
      "description": "Configure specific widget properties.",
      "additionalProperties": false,
      "$comment": "New widgets go here in \"patternProperties\" ↓",
      "patternProperties": {
        "^title(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
          "$comment": "References the widget structure from \"widgets\" below",
          "$ref": "#/widgets/title"
        },
        "^dnd(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
          "$ref": "#/widgets/dnd"
        },
        "^label(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
          "$ref": "#/widgets/label"
        },
        "^mpris(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
          "$ref": "#/widgets/mpris"
        },
        "^buttons-grid(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
          "$ref": "#/widgets/buttons-grid"
        },
        "^menubar(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
          "$ref": "#/widgets/menubar"
        },
        "^volume(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
          "$ref": "#/widgets/volume"
        },
        "^backlight(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
          "$ref": "#/widgets/backlight"
        },
        "^inhibitors(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
          "$comment": "References the widget structure from \"widgets\" below",
          "$ref": "#/widgets/inhibitors"
        }
      }
    }
  },
  "widgets": {
    "$comment": "New widgets go here",
    "title": {
      "type": "object",
      "description": "Control Center Title Widget",
      "additionalProperties": false,
      "properties": {
        "text": {
          "type": "string",
          "description": "The title of the widget",
          "default": "Notifications"
        },
        "clear-all-button": {
          "type": "boolean",
          "description": "Wether to display a \"Clear All\" button",
          "default": true
        },
        "button-text": {
          "type": "string",
          "description": "\"Clear All\" button text",
          "default": "Clear All"
        }
      }
    },
    "dnd": {
      "type": "object",
      "description": "Control Center Do Not Disturb Widget",
      "additionalProperties": false,
      "properties": {
        "text": {
          "type": "string",
          "description": "The title of the widget",
          "default": "Do Not Disturb"
        }
      }
    },
    "label": {
      "type": "object",
      "description": "A generic widget that allows the user to add custom text",
      "additionalProperties": false,
      "properties": {
        "text": {
          "type": "string",
          "description": "The text content of the widget",
          "default": "Label Text"
        },
        "max-lines": {
          "type": "integer",
          "description": "The maximum lines",
          "default": 5
        }
      }
    },
    "mpris": {
      "type": "object",
      "description": "A widget that displays multiple music players",
      "additionalProperties": false,
      "properties": {
        "image-size": {
          "type": "integer",
          "description": "The size of the album art",
          "default": 96
        },
        "image-radius": {
          "type": "integer",
          "description": "The border radius of the album art. Will be overriden by setting the border-radius in the style.css for the \".widget-mpris-album-art\" class",

          "default": 12
        },
        "blur": {
          "type": "bool",
          "description": "Appy the artwork as the MPRIS background and blur it",
          "default": true
        }
      }
    },
    "buttons-grid": {
      "type": "object",
      "description": "A widget to add a grid of buttons that execute shell commands",
      "additionalProperties": false,
      "properties": {
        "actions": {
          "type": "array",
          "description": "A list of actions containing a label and a command",
          "items": {
            "type": "object",
            "properties": {
              "label": {
                "type": "string",
                "description": "Text to be displayed in button",
                "default": "label"
              },
              "command": {
                "type": "string",
                "description": "Command to be executed on click",
                "default": ""
              },
              "type": {
                "type": "string",
                "description": "Type of the button; toggle buttons receive the .active css class and an env variable 'SWAYNC_TOGGLE_STATE' is set. See example in the default config.json",
                "default": "normal",
                "enum": ["normal", "toggle"]
              },
              "update-command": {
                "type": "string",
                "description": "Command to be executed on visibility change of cc to update the active state of the toggle button (should echo true or false)",
                "default": ""
              },
              "active": {
                  "type": "bool",
                  "description": "Wether the toggle button is active as default or not",
                  "default": false
              }
            }
          }
        }
      }
    },
    "menubar": {
      "type": "object",
      "description": "A bar that contains action-buttons and buttons to open a dropdown with action-buttons",
      "additionalProperties": false,
      "patternProperties": {
        "^menu(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
          "type": "object",
          "description": "A button that opens a dropdown with action-buttons",
          "additionalProperties": false,
          "properties": {
            "label": {
              "type": "string",
              "description": "Text to be displayed in button",
              "default": "Menu"
            },
            "position": {
              "type": "string",
              "description": "Horizontal position of the button in the bar",
              "default": "right",
              "enum": ["right", "left"]
            },
            "animation-type": {
              "type": "string",
              "default": "slide_down",
              "description": "Animation type for menu",
              "enum": ["slide_down", "slide_up", "none"]
            },
            "animation-duration":{
              "type": "integer",
              "default": 250,
              "description": "Duration of animation in milliseconds"
            },
            "actions": {
              "$ref" : "#/widgets/buttons-grid/properties/actions"
            }
          }
        },
        "^buttons(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
          "type": "object",
          "description": "A list of action-buttons to be displayed in the topbar",
          "additionalProperties": false,
          "properties": {
            "position": {
              "type": "string",
              "description": "Horizontal position of the button in the bar",
              "default": "right",
              "enum": ["right", "left"]
            },
            "actions": {
              "$ref" : "#/widgets/buttons-grid/properties/actions"
            }
          }
        }
      }
    },
    "volume": {
      "type": "object",
      "description": "Slider to control pulse volume",
      "additionalProperties": false,
      "properties": {
        "label": {
          "type": "string",
          "description": "Text displayed in front of the volume slider",
          "default": "Volume"
        },
        "show-per-app": {
          "type": "boolean",
          "default": false,
          "description": "Show per app volume control"
        },
        "show-per-app-icon": {
          "type": "boolean",
          "default": true,
          "description": "Show application icon in per app control"
        },
        "show-per-app-label": {
          "type": "boolean",
          "default": false,
          "description": "Show application name in per app control"
        },
        "empty-list-label": {
          "type": "string",
          "default": "No active sink input",
          "description": "Text displayed when there are not active sink inputs"
        },
        "expand-button-label": {
          "type": "string",
          "default": "⇧",
          "description": "Label displayed on button to show per app volume control"
        },
        "collapse-button-label": {
          "type": "string",
          "default": "⇩",
          "description": "Label displayed on button to hide per app volume control"
        },
        "icon-size": {
          "type": "integer",
          "default": 24,
          "description": "Size of the application icon in per app volume control"
        },
        "animation-type": {
          "type": "string",
          "default": "slide_down",
          "description": "Animation type for menu",
          "enum": ["slide_down", "slide_up", "none"]
        },
        "animation-duration":{
          "type": "integer",
          "default": 250,
          "description": "Duration of animation in milliseconds"
        }
      }
    },
    "backlight": {
      "type": "object",
      "description": "Slider to control monitor brightness",
      "additionalProperties": false,
      "properties": {
        "label": {
          "type": "string",
          "description": "Text displayed in front of the backlight slider",
          "default": "Brightness"
        },
        "device": {
          "type": "string",
          "description": "Name of monitor (find possible devices using `ls /sys/class/backlight` or `ls /sys/class/leds`)",
          "default": "intel_backlight"
        },
        "subsystem": {
          "type": "string",
          "description": "Kernel subsystem for brightness control",
          "default": "backlight",
          "enum": ["backlight", "leds"]
        },
        "min": {
          "type": "integer",
          "default": 0,
          "description": "Lowest possible value for brightness"
        }
      }
    },
    "inhibitors": {
      "type": "object",
      "description": "Control Center Inhibitors Widget",
      "additionalProperties": false,
      "properties": {
        "text": {
          "type": "string",
          "description": "The title of the widget",
          "default": "Inhibitors"
        },
        "clear-all-button": {
          "type": "boolean",
          "description": "Wether to display a \"Clear All\" button",
          "default": true
        },
        "button-text": {
          "type": "string",
          "description": "\"Clear All\" button text",
          "default": "Clear All"
        }
      }
    }
  }
}


================================================
FILE: .config/swaync/withBorders/style.css
================================================
@define-color cc-bg rgba(9, 9, 11, 1);
@define-color noti-border-color rgb(53, 214, 231);
@define-color noti-bg rgb(9, 9, 11);
@define-color noti-bg-opaque rgba(9, 9, 11, 1);
@define-color noti-bg-darker rgba(9, 9, 11, 1);
@define-color noti-bg-hover rgba(13, 13, 13, 0.78);
@define-color noti-bg-hover-opaque rgba(13, 13, 13, 0.78);
@define-color noti-bg-focus rgba(68, 68, 68, 0.6);
@define-color noti-close-bg rgba(255, 255, 255, 0.1);
@define-color noti-close-bg-hover rgba(255, 255, 255, 0.15);
@define-color text-color rgb(255, 255, 255);
@define-color text-color-disabled rgb(150, 150, 150);
@define-color bg-selected rgb(0, 128, 255);
.notification-row {
  outline: none;
}

.notification-row:focus, .notification-row:hover {
  background: @noti-bg-focus;
}

.notification-row .notification-background {
  padding: 20px 20px;
}

.notification-row .notification-background .close-button {
  /* The notification Close Button */
  background: @noti-close-bg;
  color: @text-color;
  text-shadow: none;
  padding: 0;
  border-radius: 100%;
  margin-top: 7px;
  margin-right: 5px;
  box-shadow: none;
  border: none;
  min-width: 24px;
  min-height: 24px;
}

.notification-row .notification-background .close-button:hover {
  box-shadow: none;
  background: @noti-close-bg-hover;
  transition: background 0.15s ease-in-out;
  border: none;
}

.notification-row .notification-background .notification {
  /* The actual notification */
  border-radius: 12px;
  border: 2px solid @noti-border-color;
  padding: 0;
  transition: background 0.15s ease-in-out;
  background: @noti-bg;
}

.notification-row .notification-background .notification.low {
  /* Low Priority Notification */
}

.notification-row .notification-background .notification.normal {
  /* Normal Priority Notification */
}

.notification-row .notification-background .notification.critical {
  /* Critical Priority Notification */
}

.notification-row .notification-background .notification .notification-action, .notification-row .notification-background .notification .notification-default-action {
  padding: 4px;
  margin: 2px;
  box-shadow: none;
  background: transparent;
  border: none;
  color: @text-color;
  transition: background 0.15s ease-in-out;
}

.notification-row .notification-background .notification .notification-action:hover, .notification-row .notification-background .notification .notification-default-action:hover {
  -gtk-icon-effect: none;
  background: @noti-bg-hover;
}

.notification-row .notification-background .notification .notification-default-action {
  /* The large action that also displays the notification summary and body */
  border-radius: 12px;
}

.notification-row .notification-background .notification .notification-default-action:not(:only-child) {
  /* When alternative actions are visible */
  border-bottom-left-radius: 0px;
  border-bottom-right-radius: 0px;
}

.notification-row .notification-background .notification .notification-default-action .notification-content {
  background: transparent;
  border-radius: 12px;
  padding: 4px;
}

.notification-row .notification-background .notification .notification-default-action .notification-content .image {
  /* Notification Primary Image */
  -gtk-icon-effect: none;
  border-radius: 100px;
  /* Size in px */
  margin: 5px 15px 5px 5px;
}

.notification-row .notification-background .notification .notification-default-action .notification-content .app-icon {
  /* Notification app icon (only visible when the primary image is set) */
  -gtk-icon-effect: none;
  -gtk-icon-shadow: 0 1px 4px black;
  margin: 6px;
}

.notification-row .notification-background .notification .notification-default-action .notification-content .text-box .summary {
  /* Notification summary/title */
  font-size: 16px;
  font-weight: bold;
  background: transparent;
  color: @text-color;
  text-shadow: none;
}

.notification-row .notification-background .notification .notification-default-action .notification-content .text-box .time {
  /* Notification time-ago */
  font-size: 16px;
  font-weight: bold;
  background: transparent;
  color: @text-color;
  text-shadow: none;
  margin-right: 30px;
}

.notification-row .notification-background .notification .notification-default-action .notification-content .text-box .body {
  /* Notification body */
  font-size: 15px;
  font-weight: normal;
  background: transparent;
  color: @text-color;
  text-shadow: none;
}

.notification-row .notification-background .notification .notification-default-action .notification-content progressbar {
  /* The optional notification progress bar */
  margin-top: 4px;
}

.notification-row .notification-background .notification .notification-default-action .notification-content .body-image {
  /* The "extra" optional bottom notification image */
  margin-top: 4px;
  background-color: white;
  border-radius: 12px;
  -gtk-icon-effect: none;
}

.notification-row .notification-background .notification .notification-default-action .notification-content .inline-reply {
  /* The inline reply section */
  margin-top: 4px;
}

.notification-row .notification-background .notification .notification-default-action .notification-content .inline-reply .inline-reply-entry {
  background: @noti-bg-darker;
  color: @text-color;
  caret-color: @text-color;
  border: 1px solid @noti-border-color;
  border-radius: 12px;
}

.notification-row .notification-background .notification .notification-default-action .notification-content .inline-reply .inline-reply-button {
  margin-left: 4px;
  background: @noti-bg;
  border: 1px solid @noti-border-color;
  border-radius: 12px;
  color: @text-color;
}

.notification-row .notification-background .notification .notification-default-action .notification-content .inline-reply .inline-reply-button:disabled {
  background: initial;
  color: @text-color-disabled;
  border: 1px solid @noti-border-color;
  border-color: transparent;
}

.notification-row .notification-background .notification .notification-default-action .notification-content .inline-reply .inline-reply-button:hover {
  background: @noti-bg-hover;
}

.notification-row .notification-background .notification .notification-action {
  /* The alternative actions below the default action */
  border-top: 1px solid @noti-border-color;
  border-radius: 0px;
  border-right: 1px solid @noti-border-color;
}

.notification-row .notification-background .notification .notification-action:first-child {
  /* add bottom border radius to eliminate clipping */
  border-bottom-left-radius: 12px;
}

.notification-row .notification-background .notification .notification-action:last-child {
  border-bottom-right-radius: 12px;
  border-right: none;
}

.notification-group {
  /* Styling only for Grouped Notifications */
}

.notification-group.low {
  /* Low Priority Group */
}

.notification-group.normal {
  /* Low Priority Group */
}

.notification-group.critical {
  /* Low Priority Group */
}

.notification-group .notification-group-buttons, .notification-group .notification-group-headers {
  margin: 0 16px;
  color: @text-color;
}

.notification-group .notification-group-headers {
  /* Notification Group Headers */
}

.notification-group .notification-group-headers .notification-group-icon {
  color: @text-color;
}

.notification-group .notification-group-headers .notification-group-header {
  color: @text-color;
}

.notification-group .notification-group-buttons {
  /* Notification Group Buttons */
}

.notification-group.collapsed .notification-row .notification {
  background-color: @noti-bg-opaque;
}

.notification-group.collapsed .notification-row:not(:last-child) {
  /* Top notification in stack */
  /* Set lower stacked notifications opacity to 0 */
}

.notification-group.collapsed .notification-row:not(:last-child) .notification-action,
.notification-group.collapsed .notification-row:not(:last-child) .notification-default-action {
  opacity: 0;
}

.notification-group.collapsed:hover .notification-row:not(:only-child) .notification {
  background-color: @noti-bg-hover-opaque;
}

.control-center {
  /* The Control Center which contains the old notifications + widgets */
  background: @cc-bg;
  color: @text-color;
  border-radius: 12px;
}

.control-center .control-center-list-placeholder {
  /* The placeholder when there are no notifications */
  opacity: 0.5;
}

.control-center .control-center-list {
  /* List of notifications */
  background: transparent;
}

.control-center .control-center-list .notification {
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.3), 0 1px 3px 1px rgba(0, 0, 0, 0.7), 0 2px 6px 2px rgba(0, 0, 0, 0.3);
}

.control-center .control-center-list .notification .notification-default-action,
.control-center .control-center-list .notification .notification-action {
  transition: opacity 400ms ease-in-out, background 0.15s ease-in-out;
}

.control-center .control-center-list .notification .notification-default-action:hover,
.control-center .control-center-list .notification .notification-action:hover {
  background-color: @noti-bg-hover;
}

.blank-window {
  /* Window behind control center and on all other monitors */
  background: transparent;
}

.floating-notifications {
  background: transparent;
}

.floating-notifications .notification {
  box-shadow: none;
}

/*** Widgets ***/
/* Title widget */
.widget-title {
  color: @text-color;
  margin: 8px;
  font-size: 1.5rem;
}

.widget-title > button {
  font-size: initial;
  color: @text-color;
  text-shadow: none;
  background: @noti-bg;
  border: 1px solid @noti-border-color;
  box-shadow: none;
  border-radius: 12px;
}

.widget-title > button:hover {
  background: @noti-bg-hover;
}

/* DND widget */
.widget-dnd {
  color: @text-color;
  margin: 8px;
  font-size: 1.1rem;
}

.widget-dnd > switch {
  font-size: initial;
  border-radius: 12px;
  background: @noti-bg;
  border: 1px solid @noti-border-color;
  box-shadow: none;
}

.widget-dnd > switch:checked {
  background: @bg-selected;
}

.widget-dnd > switch slider {
  background: @noti-bg-hover;
  border-radius: 12px;
}

/* Label widget */
.widget-label {
  margin: 8px;
}

.widget-label > label {
  font-size: 1.1rem;
}

/* Mpris widget */
@define-color mpris-album-art-overlay rgba(0, 0, 0, 0.55);
@define-color mpris-button-hover rgba(0, 0, 0, 0.50);
.widget-mpris {
  /* The parent to all players */
}

.widget-mpris .widget-mpris-player {
  padding: 8px;
  padding: 16px;
  margin: 16px 20px;
  background-color: @mpris-album-art-overlay;
  border-radius: 12px;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.75);
}

.widget-mpris .widget-mpris-player button:hover {
  /* The media player buttons (play, pause, next, etc...) */
  background: @noti-bg-hover;
}

.widget-mpris .widget-mpris-player .widget-mpris-album-art {
  border-radius: 12px;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.75);
}

.widget-mpris .widget-mpris-player .widget-mpris-title {
  font-weight: bold;
  font-size: 1.25rem;
}

.widget-mpris .widget-mpris-player .widget-mpris-subtitle {
  font-size: 1.1rem;
}

.widget-mpris .widget-mpris-player > box > button {
  /* Change player control buttons */
}

.widget-mpris .widget-mpris-player > box > button:hover {
  background-color: @mpris-button-hover;
}

.widget-mpris > box > button {
  /* Change player side buttons */
}

.widget-mpris > box > button:disabled {
  /* Change player side buttons insensitive */
}

/* Buttons widget */
.widget-buttons-grid {
  padding: 8px;
  margin: 8px;
  border-radius: 12px;
  background-color: @noti-bg;
}

.widget-buttons-grid > flowbox > flowboxchild > button {
  background: @noti-bg;
  border-radius: 12px;
}

.widget-buttons-grid > flowbox > flowboxchild > button.toggle:checked {
  /* style given to the active toggle button */
}

/* Menubar widget */
.widget-menubar > box > .menu-button-bar > button {
  border: none;
  background: transparent;
}

/* .AnyName { Name defined in config after #
  background-color: @noti-bg;
  padding: 8px;
  margin: 8px;
  border-radius: 12px;
}

.AnyName>button {
  background: transparent;
  border: none;
}

.AnyName>button:hover {
  background-color: @noti-bg-hover;
} */
.topbar-buttons > button {
  /* Name defined in config after # */
  border: none;
  background: transparent;
}

/* Volume widget */
.widget-volume {
  background-color: @noti-bg;
  padding: 8px;
  margin: 8px;
  border-radius: 12px;
}

.widget-volume > box > button {
  background: transparent;
  border: none;
}

.per-app-volume {
  background-color: @noti-bg-alt;
  padding: 4px 8px 8px 8px;
  margin: 0px 8px 8px 8px;
  border-radius: 12px;
}

/* Backlight widget */
.widget-backlight {
  background-color: @noti-bg;
  padding: 8px;
  margin: 8px;
  border-radius: 12px;
}

/* Inhibitors widget */
.widget-inhibitors {
  margin: 8px;
  font-size: 1.5rem;
}

.widget-inhibitors > button {
  font-size: initial;
  color: @text-color;
  text-shadow: none;
  background: @noti-bg;
  border: 1px solid @noti-border-color;
  box-shadow: none;
  border-radius: 12px;
}

.widget-inhibitors > button:hover {
  background: @noti-bg-hover;
}


================================================
FILE: .config/waybar/alt_config/config
================================================
// __        __          _                 
// \ \      / /_ _ _   _| |__   __ _ _ __  
//  \ \ /\ / / _` | | | | '_ \ / _` | '__| 
//   \ V  V / (_| | |_| | |_) | (_| | |    
//    \_/\_/ \__,_|\__, |_.__/ \__,_|_|    
//                 |___/                   
//  
// by Stephan Raabe (2023) 
// Edited by Pilk (2024) :3c
// ----------------------------------------------------- 
//
{
    // General Settings
    "layer": "top",
    "margin-bottom": 0,
    "layer": "top",
    "margin-left": 0,
    "margin-right": 0,
    "spacing": 0,

    // Position TOP
    "layer": "top",
    "margin-bottom": 2,
    "margin-left": 15,
    "margin-right": 15,
    "margin-top": 15,
    // Position BOTTOM
    // "position": "bottom",
    // "margin-top": 0,
    // "margin-bottom": 14,
    
    "layer": "top",
    "margin-left": 15,
    "margin-right": 15,
    "spacing": 0,

    // Load Modules
    "include": [
        ".config/waybar/modules.json",
    ],

    // Modules Left
    "modules-left": [
    "hyprland/workspaces",
    // "custom/appmenu"
    //"custom/settings",
    // "custom/waybarthemes",

    //  "group/quicklinks",
    "hyprland/window"
    //  "custom/starter"
    ],

    // Modules Center
    "modules-center": [
     "clock"

    ],

    // Modules Right    
    "modules-right": [
    //  "custom/waybar-media",
        "custom/playerprevious",
        "custom/playerpause",
        "custom/playernext",
        "pulseaudio",
    //  "bluetooth",
        "network",
    //  "group/hardware",
        "cpu",
        "memory",
        "custom/wallpaper",
        "tray",
        "custom/exit"
    // "custom/ml4w-welcome",

    ]
}


================================================
FILE: .config/waybar/alt_config/modules.json
================================================
//  __  __           _       _            
// |  \/  | ___   __| |_   _| | ___  ___  
// | |\/| |/ _ \ / _` | | | | |/ _ \/ __| 
// | |  | | (_) | (_| | |_| | |  __/\__ \ 
// |_|  |_|\___/ \__,_|\__,_|_|\___||___/ 
//                                        
//  
// by Stephan Raabe (2023) 
// Edited by Pilk (2024) :3c
// ----------------------------------------------------- 
//
{
    // Workspaces
    "hyprland/workspaces" : {
        "on-click": "activate",
        "active-only": false,
        "all-outputs": true,
        "format": "{}",
        "format-icons": {
			"urgent": "",
			"active": "",
			"default": ""
        },
        "persistent-workspaces": {
             "*": 5
        }       
    },

    // Taskbar
    "wlr/taskbar": {
        "format": "{icon}",
        "icon-size": 18,
        "tooltip-format": "{title}",
        "on-click": "activate",
        "on-click-middle": "close",
        "ignore-list": [
           "Alacritty"
        ],
        "app_ids-mapping": {
            "firefoxdeveloperedition": "firefox-developer-edition"
        },
        "rewrite": {
            "Firefox Web Browser": "Firefox",
            "Foot Server": "Terminal"
        }
    },

    // Hyprland Window
    "hyprland/window": {
        "rewrite": {
            "(.*) - Brave": "$1",
            "(.*) - Chromium": "$1",
            "(.*) - Brave Search": "$1",
            "(.*) - Outlook": "$1",
            "(.*) Microsoft Teams": "$1"
        },
        "separate-outputs": true


    },
    
    // Wallpaper
    "custom/wallpaper": {
        "format": "",
        "on-click": "waypaper",
        "tooltip": false
    },
    
    // Settings
    "custom/settings": {
        "format": "",
        "on-click": "~/.config/ml4w/apps/ML4W_Dotfiles_Settings-x86_64.AppImage",
        "tooltip": false
    },

    // Keybindings
    "custom/keybindings": {
        "format": "",
        "on-click": "~/.config/hypr/scripts/keybindings.sh",
        "tooltip": false
    },

    // Filemanager Launcher
    "custom/filemanager": {
        "format": "",
        "on-click": "nautilus",
        "tooltip": false
    },

    // Browser Launcher
    "custom/browser": {
        "format": "",
        "on-click": "~/.config/ml4w/settings/browser.sh",
        "tooltip": false

    },

    // Rofi Application Launcher
    "custom/appmenu": {
        "format": "Apps",
        "on-click": "rofi -show drun -replace",
        "on-click-right": "~/.config/hypr/scripts/keybindings.sh",
        "tooltip": false
    },
    
    // Power Menu
    "custom/exit": {
        "format": "",
        "on-click": "wlogout",
        "tooltip": false
    },

    // Keyboard State
    "keyboard-state": {
        "numlock": true,
        "capslock": true,
        "format": "{name} {icon}",
        "format-icons": {
            "locked": "",
            "unlocked": ""
        }
    },

    // System tray
    "tray": {
        // "icon-size": 21,
        "spacing": 10
    },

    // Clock
    "clock": {
        "format": "{:%H:%M}",
        "format-alt": "{:%R %a %d %b}",
        "on-click": "ags -t calendar",
        "tooltip": false
    },

    // System
    "custom/system": {
        "format": "",
        "tooltip": false
    },

    // CPU
    "cpu": {
        "format": "C {usage}%  ",
        "on-click": "kitty -e btop"
    },

    // Memory
    "memory": {
        "format": "M {}%   ",
        "on-click": "kitty -e btop"
    },

    // Harddisc space used
    "disk": {
        "interval": 30,
        "format": "D {percentage_used}% ",
        "path": "/",
        "on-click": "alacritty -e htop"
    }, 

    "hyprland/language": {
        "format": "/ K {short}"
    },

    // Group Hardware
    "group/hardware": {
        "orientation": "inherit",
        "drawer": {
            "transition-duration": 300,
            "children-class": "not-memory",
            "transition-left-to-right": false
        },        
        "modules": [
            "custom/system",
            "disk",
            "cpu",
            "memory",
            "hyprland/language"
        ]
    },
    
    // Group Settings
    "group/settings": {
        "orientation": "inherit",
        "drawer": {
            "transition-duration": 300,
            "children-class": "not-memory",
            "transition-left-to-right": false
        },        
        "modules": [
            "custom/settings",
            "custom/waybarthemes",
            "custom/wallpaper"
        ]
    },

    // Group Quicklinks
    "group/quicklinks": {
        "orientation": "horizontal",
        "modules": [
            "custom/filemanager",
            "custom/browser"
         ]
    },

    // Network
    "network": {
        "format": "{ifname}",
        "format-wifi": "  {signalStrength}%",
        "format-ethernet": "  {ipaddr}",
        "format-disconnected": "Not connected", //An empty format will hide the module.
        "tooltip-format": " {ifname} via {gwaddri}",
        "tooltip-format-wifi": "   {essid} ({signalStrength}%)",
        "tooltip-format-ethernet": "  {ifname} ({ipaddr}/{cidr})",
        "tooltip-format-disconnected": "Disconnected",
        "max-length": 50,
        "on-click": "alacritty -e nmtui"
    },

    // Battery
    "battery": {
        "states": {
            // "good": 95,
            "warning": 30,
            "critical": 15
        },
        "format": "{icon}   {capacity}%",
        "format-charging": "  {capacity}%",
        "format-plugged": "  {capacity}%",
        "format-alt": "{icon}  {time}",
        // "format-good": "", // An empty format will hide the module
        // "format-full": "",
        "format-icons": [" ", " ", " ", " ", " "]
    },

    // Pulseaudio
    "pulseaudio": {
        // "scroll-step": 1, // %, can be a float
        "format": "{icon} {volume}%",
        "format-bluetooth": "{volume}%  {icon} {format_source}",
        "format-bluetooth-muted": "  {icon} {format_source}",
        "format-muted": "  {format_source}",
        "format-source": "{volume}% ",
        "format-source-muted": "",
        "format-icons": {
            "headphone": "",
            "hands-free": "",
            "headset": "",
            "phone": "",
            "portable": "",
            "car": "",
            "default": ["", " ", " "]
        },
        "on-click": "pavucontrol"
    },

    // PlayerPause
    "custom/playerpause": {
        "format": "⏯︎",
        "on-click": "playerctl play-pause",

    // WaybarMedia
    },
    "modules-center": ["custom/waybar-media"],
    "custom/waybar-media": {
        "return-type": "json",
        "exec": "waybar-media.py status",
        "on-click": "waybar-media.py playpause",
        "on-scroll-up": "waybar-media.py previous",
        "on-scroll-down": "waybar-media.py next",
        "escape": true
    },

    // PlayerNext
    "custom/playernext": {
        "format": "⏵︎",
        "on-click": "playerctl next",
        "tooltip": false,

    },

    // PlayerPrevious
    "custom/playerprevious": {
        "format": "⏴︎",
        "on-click": "playerctl previous",
        "tooltip": false,

    },


    // Bluetooth
    "bluetooth": {
        "format-disabled": "",
        "format-off": "",
        "interval": 30,
        "on-click": "blueman-manager",
        "format-no-controller": ""
    },

    // Other
    "user": {
        "format": "{user}",
        "interval": 60,
        "icon": false,
    },

    // Idle Inhibator
    "idle_inhibitor": {
        "format": "{icon}",
        "tooltip": true,
        "format-icons":{
            "activated": "",
            "deactivated": ""
        },
        "on-click-right": "hyprlock"        
    }
}


================================================
FILE: .config/waybar/alt_config/style.css
================================================
/*
 * __        __          _                  ____  _         _
 * \ \      / /_ _ _   _| |__   __ _ _ __  / ___|| |_ _   _| | ___
 *  \ \ /\ / / _` | | | | '_ \ / _` | '__| \___ \| __| | | | |/ _ \
 *   \ V  V / (_| | |_| | |_) | (_| | |     ___) | |_| |_| | |  __/
 *    \_/\_/ \__,_|\__, |_.__/ \__,_|_|    |____/ \__|\__, |_|\___|
 *                 |___/                              |___/
 *
 * by Stephan Raabe (2023)
 * Edited by Pilk (2024) :3c
 * -----------------------------------------------------
 */

/* -----------------------------------------------------
 * Import Pywal colors
 * ----------------------------------------------------- */
/* @import 'style-light.css'; */
@define-color backgroundlight #FFFFFF;
@define-color backgrounddark #FFFFFF;
@define-color workspacesbackground1 #FFFFFF;
@define-color workspacesbackground2 #CCCCCC;
@define-color bordercolor #FFFFFF;
@define-color textcolor1 #000000;
@define-color textcolor2 #000000;
@define-color textcolor3 #FFFFFF;
@define-color iconcolor #FFFFFF;
@define-color bordercolor1 #16DADC;
@define-color bordercolor2 #0099CC;
@define-color backend1 #080809;
/* -----------------------------------------------------
 * General
 * ----------------------------------------------------- */



* {
    font-family: "Fira Sans Semibold", "Font Awesome 6 Free", FontAwesome,  Roboto, Helvetica, Arial, sans-serif;
    border: 15px;
    border-radius: 20px;

}

window#waybar {
    background-color: @backend1;
    margin: 5px 0 0 0;
    border: 2px solid @bordercolor1;
    border-radius: 40px 40px;

}
/* -----------------------------------------------------
 * Workspaces 
 * ----------------------------------------------------- */

#workspaces {
    margin: 6px 1px 6px 1px;
    padding: 1px 5px;
    border-radius: 15px;
    border: 15px;
    font-weight: bold;
    font-style: normal;
    font-size: 16px;
    color: @textcolor1;
}

#workspaces button {
    padding: 0px 5px;
    margin: 4px 3px;
    border-radius: 15px;
    border: 0px;
    color: @textcolor3;
    transition: all 0.3s ease-in-out;
}

#workspaces button.active {
    color: @textcolor1;
    background: @bordercolor1;
    border-radius: 15px;
    min-width: 15px;
    transition: all 0.3s ease-in-out;
}

#workspaces button:hover {
    color: @textcolor1;
    background: @workspacesbackground2;
    border-radius: 15px;
}

/* -----------------------------------------------------
 * Tooltips
 * ----------------------------------------------------- */

tooltip {
    border-radius: 10px;
    background-color: @backgroundlight;
    opacity:0.8;
    padding:20px;
    margin:0px;
}

tooltip label {
    color: @textcolor2;
}

/* -----------------------------------------------------
 * Window
 * ----------------------------------------------------- */

#window {
    /*
    background: @backgroundlight;*/
    margin: 10px 15px 10px 0px;
    padding: 2px 10px 0px 10px;
    /*border-radius: 12px;*/
    color:@textcolor0;
    font-size:13px;
    font-weight:normal;
}

window#waybar.empty #window {
    background-color:transparent;
}

/* -----------------------------------------------------
 * Taskbar
 * ----------------------------------------------------- */

#taskbar {
    /*
     * background: @backgroundlight;
     */
    margin: 6px 15px 6px 0px;
    padding:0px;
    border-radius: 15px;
    font-weight: normal;
    font-style: normal;
    /*
    border: 1px solid @backgroundlight;*/
}

#taskbar button {
    margin:0;
    border-radius: 15px;
    padding: 0px 5px 0px 5px;
}

/* -----------------------------------------------------
 * Modules
 * ----------------------------------------------------- */

.modules-left > widget:first-child > #workspaces {
    margin-left: 5;
}

.modules-right > widget:last-child > #workspaces {
    margin-right: 0;
}

/* -----------------------------------------------------
 * Custom Quicklinks
 * ----------------------------------------------------- */

#custom-brave, 
#custom-browser, 
#custom-keybindings, 
#custom-outlook, 
#custom-filemanager, 
#custom-teams, 
#custom-chatgpt, 
#custom-calculator, 
#custom-windowsvm, 
#custom-cliphist, 
#custom-settings, 
#custom-wallpaper, 
#custom-system,
#custom-hyprshade,
#custom-hypridle,
#custom-quicklink1,
#custom-quicklink2,
#custom-quicklink3,
#custom-quicklink4,
#custom-quicklink5,
#custom-quicklink6,
#custom-quicklink7,
#custom-quicklink8,
#custom-quicklink9,
#custom-quicklink10,
#custom-waybarthemes {
    margin-right: 15px;
    font-size: 20px;
    font-weight: bold;
    color: @iconcolor;


}

/* -----------------------------------------------------
 * Idle Inhibator
 * ----------------------------------------------------- */

 #idle_inhibitor {
    margin-right: 15px;
    font-size: 22px;
    font-weight: bold;
    opacity: 0.8;
    color: @iconcolor;
}

#idle_inhibitor.activated {
    margin-right: 15px;
    font-size: 20px;
    font-weight: bold;
    opacity: 0.8;
    color: #dc2f2f;
}

/* -----------------------------------------------------
 * Custom Modules
 * ----------------------------------------------------- */

#custom-appmenu {
    background-color: @backgrounddark;
    font-size: 16px;
    color: @textcolor1;
    border-radius: 15px;
    padding: 2px 10px 0px 10px;
    margin: 10px 15px 10px 10px;
}

/* -----------------------------------------------------
 * Custom Exit
 * ----------------------------------------------------- */

#custom-exit {
    margin: 0px 20px 0px 0px;
    padding:0px;
    font-size:20px;
    color: @iconcolor;
}


/* -----------------------------------------------------
 * Hardware Group
 * ----------------------------------------------------- */

 #disk,#memory,#cpu,#language {
    margin:0px;
    padding:0px;
    font-size:16px;
    color:@iconcolor;
}

#language {
    margin-right:10px;
}

/* -----------------------------------------------------
 * Clock
 * ----------------------------------------------------- */

#clock {
    margin: 10px 15px 10px 0px;
    font-size: 16px;
    color: @textcolor0;

}

/* -----------------------------------------------------
 * Backlight
 * ----------------------------------------------------- */

 #backlight {
    background-color: @backgroundlight;
    font-size: 16px;
    color: @textcolor2;
    border-radius: 15px;
    padding: 2px 10px 0px 10px;
    margin: 10px 15px 10px 0px;
}

/* -----------------------------------------------------
 * Pulseaudio
 * ----------------------------------------------------- */

#pulseaudio {
    font-size: 16px;
    color: @textcolor0;
    border-radius: 15px;
    padding: 2px 0px 0px 0px;
    margin: 10px -0px 10px 5px;

}

#pulseaudio.muted {
    background-color: @backgrounddark;
    color: @textcolor1;
}

/* -----------------------------------------------------
 * Network
 * ----------------------------------------------------- */

#network {
    font-size: 16px;
    color: @textcolor0;
    border-radius: 15px;
    padding: 2px 10px 0px 10px;
    margin: 10px 5px 10px 5px;
}

#network.ethernet {
    color: @textcolor0;
}

#network.wifi {
    color: @textcolor0;
}

/* -----------------------------------------------------
 * Bluetooth
 * ----------------------------------------------------- */

 #bluetooth, #bluetooth.on, #bluetooth.connected {
    font-size: 16px;
    color: @textcolor0;
    border-radius: 15px;
    padding: 2px 10px 0px 10px;
    margin: 10px 15px 10px 0px;
}

#bluetooth.off {
    background-color: transparent;
    padding: 0px;
    margin: 0px;
}

/* -----------------------------------------------------
 * Battery
 * ----------------------------------------------------- */

#battery {
    background-color: @backgroundlight;
    font-size: 16px;
    color: @textcolor2;
    border-radius: 15px;
    padding: 2px 15px 0px 10px;
    margin: 10px 15px 10px 0px;
}

#battery.charging, #battery.plugged {
    color: @textcolor2;
    background-color: @backgroundlight;
}

@keyframes blink {
    to {
        background-color: @backgroundlight;
        color: @textcolor2;
    }
}

#battery.critical:not(.charging) {
    background-color: #f53c3c;
    color: @textcolor3;
    animation-name: blink;
    animation-duration: 0.5s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-direction: alternate;
}

/* -----------------------------------------------------
 * Tray
 * ----------------------------------------------------- */

#tray {
    margin:0px 10px 0px 0px;
}

#tray > .passive {
    -gtk-icon-effect: dim;
}

#tray > .needs-attention {
    -gtk-icon-effect: highlight;
    background-color: #eb4d4b;
}

#custom-playerpause {
    font-size: 35px;
    color: @textcolor0;
    padding: 0px 0px 0px 0px;
    margin: 5px 0px 0px 0px;
}

#custom-playernext {
    font-size: 35px;
    color: @textcolor0;
    padding: 0px 0px 0px 0px;
    margin: 5px 0px 0px 0px;

}

#custom-playerprevious {
    font-size: 35px;
    color: @textcolor0;
    padding: 0px 0px 0px 0px;
    margin: 5px 0px 0px 0px;
}
/* -----------------------------------------------------
 * Other
 * ----------------------------------------------------- */

label:focus {
    background-color: #000000;
}

#backlight {
    background-color: #90b1b1;
}


#network.disconnected {
    background-color: #f53c3c;
}



================================================
FILE: .config/waybar/config
================================================
// __        __          _                 
// \ \      / /_ _ _   _| |__   __ _ _ __  
//  \ \ /\ / / _` | | | | '_ \ / _` | '__| 
//   \ V  V / (_| | |_| | |_) | (_| | |    
//    \_/\_/ \__,_|\__, |_.__/ \__,_|_|    
//                 |___/                   
//  
// by Stephan Raabe (2023) 
// Edited by Pilk (2024) :3c
// ----------------------------------------------------- 
//
{
    // General Settings
    "layer": "top",
    "margin-bottom": 0,
    "layer": "top",
    "margin-left": 0,
    "margin-right": 0,
    "spacing": 0,

    // Position TOP
    "layer": "top",
    "margin-bottom": 2,
    "margin-left": 20,
    "margin-right": 20,
    "margin-top": 12,
    // Position BOTTOM
    // "position": "bottom",
    // "margin-top": 0,
    // "margin-bottom": 14,

    "layer": "top",
    "margin-left": 15,
    "margin-right": 15,
    "spacing": 0,


    // Load Modules
    "include": [
        ".config/waybar/modules.json",
    ],

    // Modules Left
    "modules-left": [
    "hyprland/workspaces",
    // "custom/appmenu"
    //"custom/settings",
    // "custom/waybarthemes",

    //  "group/quicklinks",
    "hyprland/window"
    //  "custom/starter"
    ],

    // Modules Center
    "modules-center": [
     "clock"

    ],

    // Modules Right    
    "modules-right": [
    //  "custom/waybar-media",
        "custom/playerprevious",
        "custom/playerpause",
        "custom/playernext",
        "pulseaudio",
    //  "bluetooth",
        "network",
    //  "group/hardware",
        "cpu",
        "memory",
    // "custom/wallpaper",
        "tray",
        "custom/exit"
    // "custom/ml4w-welcome",

    ]
}


================================================
FILE: .config/waybar/modules.json
================================================
//  __  __           _       _            
// |  \/  | ___   __| |_   _| | ___  ___  
// | |\/| |/ _ \ / _` | | | | |/ _ \/ __| 
// | |  | | (_) | (_| | |_| | |  __/\__ \ 
// |_|  |_|\___/ \__,_|\__,_|_|\___||___/ 
//                                        
//  
// by Stephan Raabe (2023) 
// Edited by Pilk (2024) :3c
// ----------------------------------------------------- 
//
{
    // Workspaces
    "hyprland/workspaces" : {
        "on-click": "activate",
        "active-only": false,
        "all-outputs": true,
        "format": "{}",
        "format-icons": {
			"urgent": "",
			"active": "",
			"default": ""
        },
        "persistent-workspaces": {
             "*": 5
        }       
    },

    // Taskbar
    "wlr/taskbar": {
        "format": "{icon}",
        "icon-size": 18,
        "tooltip-format": "{title}",
        "on-click": "activate",
        "on-click-middle": "close",
        "ignore-list": [
           "Alacritty"
        ],
        "app_ids-mapping": {
            "firefoxdeveloperedition": "firefox-developer-edition"
        },
        "rewrite": {
            "Firefox Web Browser": "Firefox",
            "Foot Server": "Terminal"
        }
    },

    // Hyprland Window
    "hyprland/window": {
        "rewrite": {
            "(.*) - Brave": "$1",
            "(.*) - Chromium": "$1",
            "(.*) - Brave Search": "$1",
            "(.*) - Outlook": "$1",
            "(.*) Microsoft Teams": "$1"
        },
        "separate-outputs": true


    },
    
    // Wallpaper
    "custom/wallpaper": {
        "format": "",
        "on-click": "waypaper",
        "on-click-right": "waypaper --random",
        "tooltip": false

    },

    // Rofi Application Launcher
    "custom/appmenu": {
        "format": "Apps",
        "on-click": "rofi -show drun -replace",
        "tooltip": false
    },
    
    // Power Menu
    "custom/exit": {
        "format": "",
        "on-click": "wlogout",
        "tooltip": false
    },

    // Keyboard State
    "keyboard-state": {
        "numlock": true,
        "capslock": true,
        "format": "{name} {icon}",
        "format-icons": {
            "locked": "",
            "unlocked": ""
        }
    },

    // System tray
    "tray": {
        // "icon-size": 21,
        "spacing": 10
    },

    // Clock
    "clock": {
        "format": "{:%H:%M}",
        "format-alt": "{:%R %a %d %b}",
        "on-click": "ags -t calendar",
        "tooltip": false
    },

    // System
    "custom/system": {
        "format": "",
        "tooltip": false
    },

    // CPU
    "cpu": {
        "format": "    {usage}%   ",
        "on-click": "kitty -e btop"
    },

    // Memory
    "memory": {
        "format": "     {}%   ",
        "on-click": "kitty -e btop"
    },

    // Harddisc space used
    "disk": {
        "interval": 30,
        "format": "D {percentage_used}% ",
        "path": "/",
        "on-click": "kitty -e htop"
    }, 

    "hyprland/language": {
        "format": "/ K {short}"
    },

    // Group Hardware
    "group/hardware": {
        "orientation": "inherit",
        "drawer": {
            "transition-duration": 300,
            "children-class": "not-memory",
            "transition-left-to-right": false
        },        
        "modules": [
            "custom/system",
            "disk",
            "cpu",
            "memory",
            "hyprland/language"
        ]
    },
    
    // Group Settings
    "group/settings": {
        "orientation": "inherit",
        "drawer": {
            "transition-duration": 300,
            "children-class": "not-memory",
            "transition-left-to-right": false
        },        
        "modules": [
            "custom/settings",
            "custom/waybarthemes",
            "custom/wallpaper"
        ]
    },

    // Group Quicklinks
    "group/quicklinks": {
        "orientation": "horizontal",
        "modules": [
            "custom/filemanager",
            "custom/browser"
         ]
    },

    // Network
    "network": {
        "format": "{ifname}",
        "format-wifi": "  {signalStrength}%",
        "format-ethernet": "  {ipaddr}",
        "format-disconnected": "Not connected", //An empty format will hide the module.
        "tooltip-format": " {ifname} via {gwaddri}",
        "tooltip-format-wifi": "   {essid} ({signalStrength}%)",
        "tooltip-format-ethernet": "  {ifname} ({ipaddr}/{cidr})",
        "tooltip-format-disconnected": "Disconnected",
        "max-length": 50,
        "on-click": "kitty -e nmtui"
    },

    // Battery
    "battery": {
        "states": {
            // "good": 95,
            "warning": 30,
            "critical": 15
        },
        "format": "{icon}   {capacity}%",
        "format-charging": "  {capacity}%",
        "format-plugged": "  {capacity}%",
        "format-alt": "{icon}  {time}",
        // "format-good": "", // An empty format will hide the module
        // "format-full": "",
        "format-icons": [" ", " ", " ", " ", " "]
    },

    // Pulseaudio
    "pulseaudio": {
        // "scroll-step": 1, // %, can be a float
        "format": "{icon} {volume}%",
        "format-bluetooth": "{volume}%  {icon} {format_source}",
        "format-bluetooth-muted": "  {icon} {format_source}",
        "format-muted": "  {format_source}",
        "format-source": "{volume}% ",
        "format-source-muted": "",
        "format-icons": {
            "headphone": "",
            "hands-free": "",
            "headset": "",
            "phone": "",
            "portable": "",
            "car": "",
            "default": ["", " ", " "]
        },
        "on-click": "pavucontrol"
    },

    // PlayerPause
    "custom/playerpause": {
        "format": "⏯︎",
        "on-click": "playerctl play-pause",
        "tooltip": false,

    // WaybarMedia
    },
    "modules-center": ["custom/waybar-media"],
    "custom/waybar-media": {
        "return-type": "json",
        "exec": "waybar-media.py status",
        "on-click": "waybar-media.py playpause",
        "on-scroll-up": "waybar-media.py previous",
        "on-scroll-down": "waybar-media.py next",
        "escape": true
    },

    // PlayerNext
    "custom/playernext": {
        "format": "⏵︎",
        "on-click": "playerctl next",
        "tooltip": false,

    },

    // PlayerPrevious
    "custom/playerprevious": {
        "format": "⏴︎",
        "on-click": "playerctl previous",
        "tooltip": false,

    },


    // Bluetooth
    "bluetooth": {
        "format-disabled": "",
        "format-off": "",
        "interval": 30,
        "on-click": "blueman-manager",
        "format-no-controller": ""
    },

    // Other
    "user": {
        "format": "{user}",
        "interval": 60,
        "icon": false,
    },
    
    // Idle Inhibator
    "idle_inhibitor": {
        "format": "{icon}",
        "tooltip": true,
        "format-icons":{
            "activated": "",
            "deactivated": ""
        },
        "on-click-right": "hyprlock"        
    }
}


================================================
FILE: .config/waybar/style.css
================================================
/*
 * __        __          _                  ____  _         _
 * \ \      / /_ _ _   _| |__   __ _ _ __  / ___|| |_ _   _| | ___
 *  \ \ /\ / / _` | | | | '_ \ / _` | '__| \___ \| __| | | | |/ _ \
 *   \ V  V / (_| | |_| | |_) | (_| | |     ___) | |_| |_| | |  __/
 *    \_/\_/ \__,_|\__, |_.__/ \__,_|_|    |____/ \__|\__, |_|\___|
 *                 |___/                              |___/
 *
 * by Stephan Raabe (2023)
 * Edited by Pilk (2024) :3c
 * -----------------------------------------------------
 */

/* -----------------------------------------------------
 * Import Pywal colors
 * ----------------------------------------------------- */
/* @import 'style-light.css'; */
@define-color backgroundlight #FFFFFF;
@define-color backgrounddark #FFFFFF;
@define-color workspacesbackground1 #FFFFFF;
@define-color workspacesbackground2 #CCCCCC;
@define-color bordercolor #35D6E7;
@define-color textcolor1 #000000;
@define-color textcolor2 #000000;
@define-color textcolor3 #FFFFFF;
@define-color iconcolor #FFFFFF;
@define-color backend1 #080809;

/* -----------------------------------------------------
 * General
 * ----------------------------------------------------- */



* {
    font-family: "Fira Sans Semibold", "Font Awesome 6 Free", DroidSansMNerdFont, FontAwesome, awesomefont, Roboto, Helvetica, Arial, "fontawesome-free-6.6.0", sans-serif;
    border: none;
    border-radius: 0px;

}

window#waybar {
    background-color: rgba(0, 0, 0, 0.6);
    margin: 10px 0 0 0;
   /* border: 2px solid @bordercolor;
     Enable border by removing these > */
    border-radius: 50px 50px;

}

/* -----------------------------------------------------
 * Workspaces 
 * ----------------------------------------------------- */

#workspaces {
    margin: 6px 1px 6px 1px;
    padding: 0px 5px;
    border-radius: 15px;
    border: 0px;
    font-weight: bold;
    font-style: normal;
    font-size: 16px;
    color: @textcolor1;
}

#workspaces button {
    padding: 0px 5px;
    margin: 4px 3px;
    border-radius: 15px;
    border: 0px;
    color: @textcolor3;
    transition: all 0.3s ease-in-out;
}

#workspaces button.active {
    color: @textcolor1;
    background: @workspacesbackground2;
    border-radius: 15px;
    min-width: 15px;
    transition: all 0.3s ease-in-out;
}

#workspaces button:hover {
    color: @textcolor1;
    background: @workspacesbackground2;
    border-radius: 15px;
}

/* -----------------------------------------------------
 * Tooltips
 * ----------------------------------------------------- */

tooltip {
    border-radius: 10px;
    background-color: @backgroundlight;
    opacity:0.8;
    padding:20px;
    margin:0px;
}

tooltip label {
    color: @textcolor2;
}

/* -----------------------------------------------------
 * Window
 * ----------------------------------------------------- */

#window {
    /*
    background: @backgroundlight;*/
    margin: 10px 15px 10px 0px;
    padding: 2px 10px 0px 10px;
    /*border-radius: 12px;*/
    color:@textcolor0;
    font-size:13px;
    font-weight:normal;
}

window#waybar.empty #window {
    background-color:transparent;
}

/* -----------------------------------------------------
 * Taskbar
 * ----------------------------------------------------- */

#taskbar {
    /*
     * background: @backgroundlight;
     */
    margin: 6px 15px 6px 0px;
    padding:0px;
    border-radius: 15px;
    font-weight: normal;
    font-style: normal;
    /*
    border: 1px solid @backgroundlight;*/
}

#taskbar button {
    margin:0;
    border-radius: 15px;
    padding: 0px 5px 0px 5px;
}

/* -----------------------------------------------------
 * Modules
 * ----------------------------------------------------- */

.modules-left > widget:first-child > #workspaces {
    margin-left: 5;
}

.modules-right > widget:last-child > #workspaces {
    margin-right: 0;
}

/* -----------------------------------------------------
 * Custom Quicklinks
 * ----------------------------------------------------- */

#custom-brave, 
#custom-browser, 
#custom-keybindings, 
#custom-outlook, 
#custom-filemanager, 
#custom-teams, 
#custom-chatgpt, 
#custom-calculator, 
#custom-windowsvm, 
#custom-cliphist, 
#custom-settings, 
#custom-wallpaper, 
#custom-system,
#custom-hyprshade,
#custom-hypridle,
#custom-quicklink1,
#custom-quicklink2,
#custom-quicklink3,
#custom-quicklink4,
#custom-quicklink5,
#custom-quicklink6,
#custom-quicklink7,
#custom-quicklink8,
#custom-quicklink9,
#custom-quicklink10,
#custom-waybarthemes {
    margin-right: 15px;
    font-size: 20px;
    font-weight: bold;
    color: @iconcolor;

}

#custom-waybarthemes,#custom-system {
     margin-right:15px;
}

#custom-ml4w-welcome {
    margin-right: 12px;
    background-image: url("../assets/ml4w-icon.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain; 
    padding-right: 24px;
}

/* -----------------------------------------------------
 * Idle Inhibator
 * ----------------------------------------------------- */

 #idle_inhibitor {
    margin-right: 15px;
    font-size: 22px;
    font-weight: bold;
    opacity: 0.8;
    color: @iconcolor;
}

#idle_inhibitor.activated {
    margin-right: 15px;
    font-size: 20px;
    font-weight: bold;
    opacity: 0.8;
    color: #dc2f2f;
}

/* -----------------------------------------------------
 * Custom Modules
 * ----------------------------------------------------- */

#custom-appmenu {
    background-color: @backgrounddark;
    font-size: 16px;
    color: @textcolor1;
    border-radius: 15px;
    padding: 2px 10px 0px 10px;
    margin: 10px 15px 10px 10px;
}

/* -----------------------------------------------------
 * Custom Exit
 * ----------------------------------------------------- */

#custom-exit {
    margin: 0px 20px 0px 0px;
    padding:0px;
    font-size:20px;
    color: @iconcolor;
}


/* -----------------------------------------------------
 * Hardware Group
 * ----------------------------------------------------- */
/*
 #disk,#memory,#cpu,#language {
    margin:0px;
    padding:0px;
    font-size:16px;
    color:@iconcolor;
}        "cpu",
        "memory",
*/
#cpu {
    margin: 1px 0px 0px 0px;
    padding:0px;
    font-size:16px;
    color: @iconcolor;
}

#memory {
    margin: 1px 0px 0px 0px;
    padding:0px;
    font-size:16px;
    color: @iconcolor;
}
#language {
    margin-right:10px;
}

/* -----------------------------------------------------
 * Clock
 * ----------------------------------------------------- */

#clock {
    margin: 10px 15px 10px 0px;
    font-size: 16px;
    color: @textcolor0;

}

/* -----------------------------------------------------
 * Backlight
 * ----------------------------------------------------- */

 #backlight {
    background-color: @backgroundlight;
    font-size: 16px;
    color: @textcolor2;
    border-radius: 15px;
    padding: 2px 10px 0px 10px;
    margin: 10px 15px 10px 0px;
}

/* -----------------------------------------------------
 * Pulseaudio
 * ----------------------------------------------------- */

#pulseaudio {
    font-size: 16px;
    color: @textcolor0;
    border-radius: 15px;
    padding: 1px 0px 0px 2px;
    margin: 10px 0px 10px 5px;

}

#pulseaudio.muted {
    background-color: @backgrounddark;
    color: @textcolor1;
    
}

/* -----------------------------------------------------
 * Network
 * ----------------------------------------------------- */

#network {
    font-size: 16px;
    color: @textcolor0;
    border-radius: 15px;
    padding: 1px 10px 0px 9px;
    margin: 10px 5px 10px 6px;
}

#network.ethernet {
    color: @textcolor0;
}

#network.wifi {
    color: @textcolor0;
}

/* -----------------------------------------------------
 * Bluetooth
 * ----------------------------------------------------- */

 #bluetooth, #bluetooth.on, #bluetooth.connected {
    font-size: 16px;
    color: @textcolor0;
    border-radius: 15px;
    padding: 2px 10px 0px 10px;
    margin: 10px 15px 10px 0px;
}

#bluetooth.off {
    background-color: transparent;
    padding: 0px;
    margin: 0px;
}

/* -----------------------------------------------------
 * Battery
 * ----------------------------------------------------- */

#battery {
    background-color: @backgroundlight;
    font-size: 16px;
    color: @textcolor2;
    border-radius: 15px;
    padding: 2px 15px 0px 10px;
    margin: 10px 15px 10px 0px;
}

#battery.charging, #battery.plugged {
    color: @textcolor2;
    background-color: @backgroundlight;
}

@keyframes blink {
    to {
        background-color: @backgroundlight;
        color: @textcolor2;
    }
}

#battery.critical:not(.charging) {
    background-color: #f53c3c;
    color: @textcolor3;
    animation-name: blink;
    animation-duration: 0.5s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-direction: alternate;
}

/* -----------------------------------------------------
 * Tray
 * ----------------------------------------------------- */

#tray {
    margin:0px 10px 0px 0px;
}

#tray > .passive {
    -gtk-icon-effect: dim;
}

#tray > .needs-attention {
    -gtk-icon-effect: highlight;
    background-color: #eb4d4b;
}

#custom-playerpause {
    font-size: 30px;
    color: @textcolor0;
    padding: 3px 0px 0px 0px;
    margin: 0px 0px 0px 0px;
}

#custom-playernext {
    font-size: 30px;
    color: @textcolor0;
    padding: 3px 0px 0px 0px;
    margin: 0px 0px 0px 0px;

}

#custom-playerprevious {
    font-size: 30px;
    color: @textcolor0;
    padding: 3px 0px 0px 0px;
    margin: 0px 0px 0px 0px;
}
#custom-playerprevious:hover,
#custom-playerpause:hover,
#custom-playernext:hover {
    color: #00bcd4;
}

/* -----------------------------------------------------
 * Other
 * ----------------------------------------------------- */

label:focus {
    background-color: #000000;
}

#backlight {
    background-color: #90b1b1;
}


#network.disconnected {
    background-color: #f53c3c;
}



================================================
FILE: .config/waypaper/config.ini
================================================
[Settings]
language = en
folder = ~/wallpaper
wallpaper = ~/wallpaper/highlands-grid.jpg
backend = swww
monitors = All
fill = fill
sort = date
color = #ffffff
subfolders = True
show_hidden = False
show_gifs_only = False
number_of_columns = 3
swww_transition_type = any
swww_transition_step = 90
swww_transition_angle = 0
swww_transition_duration = 2
swww_transition_fps = 60
use_xdg_state = False



================================================
FILE: .config/wlogout/layout
================================================
{
    "label" : "lock",
    "action" : "loginctl lock-session",
    "text" : "lock",
    "keybind" : "l"
}
{
    "label" : "hibernate",
    "action" : "systemctl hibernate || loginctl hibernate",
    "text" : "save",
    "keybind" : "h"
}
{
    "label" : "logout",
    "action" : "pkill Hyprland || pkill sway || pkill niri || loginctl terminate-user $USER",
    "text" : "logout",
    "keybind" : "e"
}
{
    "label" : "shutdown",
    "action" : "systemctl poweroff || loginctl poweroff",
    "text" : "power_settings_new",
    "keybind" : "s"
}
{
    "label" : "suspend",
    "action" : "systemctl suspend || loginctl suspend",
    "text" : "bedtime",
    "keybind" : "u"
}
{
    "label" : "reboot",
    "action" : "systemctl reboot || loginctl reboot",
    "text" : "restart_alt",
    "keybind" : "r"
}


================================================
FILE: .config/wlogout/style.css
================================================
/*
          _                         _    
__      _| | ___   __ _  ___  _   _| |_  
\ \ /\ / / |/ _ \ / _` |/ _ \| | | | __| 
 \ V  V /| | (_) | (_| | (_) | |_| | |_  
  \_/\_/ |_|\___/ \__, |\___/ \__,_|\__| 
                  |___/                  
 
----------------------------------------------------- 
*/

/* -----------------------------------------------------
 * General 
 * ----------------------------------------------------- */

* {
	all: unset;
	background-image: none;
	transition: 400ms cubic-bezier(0.05, 0.7, 0.1, 1);
}

window {
	background: rgba(0, 0, 0, 0.5);
}

button {
	font-family: 'Material Symbols Outlined';
	font-size: 10rem;
	background-color: rgba(11, 11, 11, 0.4);
	color: #FFFFFF;
	margin: 2rem;
	border-radius: 2rem;
	padding: 3rem;
}

button:active,
button:hover {
	background-color: rgba(51, 51, 51, 0.5);
	border-radius: 4rem;
}


================================================
FILE: .themes/Flat-Remix-GTK-Blue-Dark/cinnamon/cinnamon.css
================================================
/***************************
 * Check and Radio buttons *
 ***************************/
stage {
  color: #eeeeec; }

.label-shadow {
  color: rgba(0, 0, 0, 0); }

.sound-button, .modal-dialog-button-box .modal-dialog-button, .notification-button, .notification-icon-button, .popup-menu #notification .notification-button, .popup-menu #notification .notification-icon-button {
  min-height: 20px;
  padding: 5px 32px;
  transition-duration: 0;
  color: #eeeeec;
  outline-color: rgba(238, 238, 236, 0.3);
  border-color: #13151a;
  border-bottom-color: black;
  background-image: linear-gradient(to top, #20232b 2px, #23252e);
  text-shadow: 0 -1px rgba(0, 0, 0, 0.873255);
  -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.873255);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.02), 0 1px 2px rgba(0, 0, 0, 0.27); }
  .sound-button, .modal-dialog-button-box .modal-dialog-button, .notification-button, .notification-icon-button, .popup-menu #notification .notification-button, .popup-menu #notification .notification-icon-button {
    border-radius: 6px; }
  .sound-button:hover, .modal-dialog-button-box .modal-dialog-button:hover, .notification-button:hover, .notification-icon-button:hover, .popup-menu #notification .notification-button:hover, .popup-menu #notification .notification-icon-button:hover {
    color: #eeeeec;
    outline-color: rgba(238, 238, 236, 0.3);
    border-color: #13151a;
    border-bottom-color: black;
    background-image: linear-gradient(to top, #20232b, #252831 1px);
    text-shadow: 0 -1px rgba(0, 0, 0, 0.825255);
    -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.825255);
    box-shadow: inset 0 1px rgba(255, 255, 255, 0.02), 0 1px 2px rgba(0, 0, 0, 0.27); }
  .sound-button:active, .modal-dialog-button-box .modal-dialog-button:active, .notification-button:active, .notification-icon-button:active, .popup-menu #notification .notification-button:active, .popup-menu #notification .notification-icon-button:active {
    color: #eeeeec;
    outline-color: rgba(238, 238, 236, 0.3);
    border-color: #13151a;
    background-image: image(#0f1014);
    box-shadow: inset 0 1px rgba(255, 255, 255, 0);
    text-shadow: none;
    -gtk-icon-shadow: none; }
  .sound-button:insensitive, .modal-dialog-button-box .modal-dialog-button:insensitive, .notification-button:insensitive, .notification-icon-button:insensitive, .popup-menu #notification .notification-button:insensitive, .popup-menu #notification .notification-icon-button:insensitive {
    color: #888a8d;
    border-color: #13151a;
    background-image: image(#242731);
    text-shadow: none;
    -gtk-icon-shadow: none;
    box-shadow: inset 0 1px rgba(255, 255, 255, 0); }

#menu-search-entry, .popup-menu #notification StEntry {
  padding: 7px;
  caret-size: 1px;
  selection-background-color: #2777ff;
  selected-color: #ffffff;
  transition-duration: 300ms;
  border-radius: 6px;
  color: white;
  border-color: #13151a;
  background-color: #272a34;
  box-shadow: inset 0 0 0 1px rgba(39, 119, 255, 0); }
  #menu-search-entry:focus, .popup-menu #notification StEntry:focus, #menu-search-entry:hover, .popup-menu #notification StEntry:hover {
    box-shadow: inset 0 0 0 1px #2777ff;
    border-color: #00348d; }
  #menu-search-entry:insensitive, .popup-menu #notification StEntry:insensitive {
    color: #888a8d;
    border-color: #13151a;
    background-color: #242731;
    box-shadow: none; }
  #menu-search-entry StIcon.capslock-warning, .popup-menu #notification StEntry StIcon.capslock-warning {
    icon-size: 16px;
    warning-color: #fd7d00;
    padding: 0 4px; }

.notification StEntry {
  padding: 7px;
  caret-size: 1px;
  caret-color: white;
  selection-background-color: #2777ff;
  selected-color: #ffffff;
  transition-duration: 300ms;
  border-radius: 6px;
  color: white;
  border-color: black;
  background-color: rgba(0, 0, 0, 0.5);
  background-clip: padding-box;
  box-shadow: none;
  text-shadow: 0 1px black;
  -gtk-icon-shadow: 0 1px black; }
  .notification StEntry:focus {
    color: white;
    border-color: #2777ff;
    background-color: rgba(0, 0, 0, 0.5);
    background-clip: padding-box;
    box-shadow: inset 0 0 0 1px #2777ff;
    text-shadow: 0 1px black;
    -gtk-icon-shadow: 0 1px black; }
  .notification StEntry:insensitive {
    color: #97999f;
    border-color: black;
    background-color: rgba(68, 72, 83, 0.5);
    background-clip: padding-box;
    box-shadow: none;
    text-shadow: none;
    -gtk-icon-shadow: none; }

StScrollView.vfade {
  -st-vfade-offset: 68px; }

StScrollView.hfade {
  -st-hfade-offset: 68px; }

StScrollBar {
  padding: 8px; }
  StScrollView StScrollBar {
    min-width: 5px;
    min-height: 5px; }
  StScrollBar StBin#trough {
    background-color: rgba(39, 42, 52, 0.1);
    border-radius: 8px; }
  StScrollBar StButton#vhandle, StScrollBar StButton#hhandle {
    border-radius: 6px;
    background-color: #74767a;
    border: 0px solid;
    margin: 0px; }
    StScrollBar StButton#vhandle:hover, StScrollBar StButton#hhandle:hover {
      background-color: #606267; }
    StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
      background-color: #2777ff; }

.separator {
  -gradient-height: 1px;
  -gradient-start: rgba(0, 0, 0, 0);
  -gradient-end: rgba(0, 0, 0, 0);
  -margin-horizontal: 1.5em;
  height: 1em; }

.popup-slider-menu-item,
.slider {
  -slider-height: 0.3em;
  -slider-background-color: #13151a;
  -slider-border-color: rgba(35, 37, 46, 0.3);
  -slider-active-background-color: #2777ff;
  -slider-active-border-color: rgba(35, 37, 46, 0.3);
  -slider-border-width: 1px;
  -slider-handle-radius: 0.5em;
  height: 1em;
  min-width: 15em;
  border: 0 solid transparent;
  border-right-width: 1px;
  border-left-width: 5px; }

.check-box CinnamonGenericContainer {
  spacing: .2em;
  min-height: 30px;
  padding-top: 2px; }

.check-box StLabel {
  font-weight: normal; }

.check-box StBin {
  width: 16px;
  height: 16px;
  background-image: url("assets/checkbox-unchecked.svg"); }

.check-box:focus StBin {
  background-image: url("assets/checkbox-unchecked-focused.svg"); }

.check-box:checked StBin {
  background-image: url("assets/checkbox-checked.svg"); }

.check-box:focus:checked StBin {
  background-image: url("assets/checkbox-checked-focused.svg"); }

.radiobutton CinnamonGenericContainer {
  spacing: .2em;
  height: 26px;
  padding-top: 2px; }

.radiobutton StLabel {
  padding-top: 4px;
  font-size: 0.9em;
  box-shadow: none; }

.radiobutton StBin {
  width: 16px;
  height: 16px;
  background-image: url("assets/checkbox-unchecked.svg"); }

.radiobutton:focus StBin {
  background-image: url("assets/checkbox-unchecked-focused.svg"); }

.radiobutton:checked StBin {
  background-image: url("assets/checkbox-checked.svg"); }

.radiobutton:focus:checked StBin {
  background-image: url("assets/checkbox-checked-focused.svg"); }

.toggle-switch {
  width: 50px;
  height: 20px;
  background-size: contain; }
  .toggle-switch-us, .toggle-switch-intl {
    background-image: url("assets/switch-off-dark.svg"); }
    .toggle-switch-us:checked, .toggle-switch-intl:checked {
      background-image: url("assets/switch-on-dark.svg"); }

.cinnamon-link {
  color: #8db7ff;
  text-decoration: underline; }
  .cinnamon-link:hover {
    color: #c0d7ff; }

#Tooltip {
  background-color: rgba(0, 0, 0, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 6px;
  padding: 8px 12px;
  color: white;
  font-size: 1em;
  font-weight: normal;
  text-align: center; }

#LookingGlassDialog {
  color: #eeeeec;
  border: 1px solid #13151a;
  border-radius: 6px;
  background-color: #23252e;
  spacing: 4px;
  padding: 8px; }

.menu {
  color: #eeeeec;
  border: 1px solid #13151a;
  border-radius: 6px;
  margin: 10px 5px;
  background-color: #272a34; }

.popup-sub-menu {
  background-color: #272a34;
  box-shadow: none; }
  .popup-sub-menu .popup-menu-item:ltr {
    padding-right: 1.75em; }
  .popup-sub-menu .popup-menu-item:rtl {
    padding-left: 1.75em; }
  .popup-sub-menu StScrollBar {
    padding: 4px; }
    .popup-sub-menu StScrollBar StBin#trough, .popup-sub-menu StScrollBar StBin#vhandle {
      border-width: 0; }

.popup-menu-content {
  padding: 1em 0em 1em 0em; }

.popup-menu-item {
  padding: .4em 1.75em;
  spacing: 1em;
  border-left-width: 0;
  border-right-width: 0; }
  .popup-menu-item:active {
    color: #ffffff;
    background-color: #2777ff; }
  .popup-menu-item:insensitive {
    color: rgba(238, 238, 236, 0.5);
    background: none; }

.popup-inactive-menu-item {
  color: #eeeeec; }
  .popup-inactive-menu-item:insensitive {
    color: #888a8d; }

/* This is for popup menus in Cinnamon versions < 3.2 */
.popup-menu {
  color: white;
  color: #eeeeec; }
  .popup-menu-arrow {
    icon-size: 16px; }
  .popup-menu .popup-sub-menu {
    background-color: #272a34;
    box-shadow: none; }
    .popup-menu .popup-sub-menu .popup-menu-item:ltr {
      padding-right: 1.75em; }
    .popup-menu .popup-sub-menu .popup-menu-item:rtl {
      padding-left: 1.75em; }
    .popup-menu .popup-sub-menu StScrollBar {
      padding: 4px; }
      .popup-menu .popup-sub-menu StScrollBar StBin#trough, .popup-menu .popup-sub-menu StScrollBar StBin#vhandle {
        border-width: 0; }
  .popup-menu .popup-menu-content {
    padding: 1em 0em 1em 0em; }
  .popup-menu .popup-menu-item {
    padding: .4em 1.75em;
    spacing: 1em;
    border: 1px solid transparent;
    border-left-width: 0;
    border-right-width: 0; }
    .popup-menu .popup-menu-item:active {
      color: #eeeeec;
      border-color: rgba(238, 238, 236, 0.11);
      background-color: rgba(238, 238, 236, 0.08); }
    .popup-menu .popup-menu-item:insensitive {
      color: rgba(238, 238, 236, 0.5);
      background: none; }
  .popup-menu .popup-inactive-menu-item {
    color: #eeeeec; }
    .popup-menu .popup-inactive-menu-item:insensitive {
      color: #888a8d; }
  .popup-menu-icon {
    icon-size: 16px; }

.popup-menu-boxpointer {
  -arrow-border-radius: 6px;
  -arrow-background-color: #23252e;
  -arrow-border-width: 1px;
  -arrow-border-color: #13151a;
  -arrow-base: 21px;
  -arrow-rise: 9px;
  -boxpointer-gap: 2px; }

/*Scale view context menu*/
.popup-combo-menu {
  color: #eeeeec;
  border: 1px solid #13151a;
  border-radius: 6px;
  background-color: #272a34;
  box-shadow: none;
  padding: 1em 0em 1em 0em; }

.popup-combobox-item {
  spacing: 1em;
  padding: .4em 1.75em;
  border: 1px solid transparent;
  border-left-width: 0;
  border-right-width: 0; }

.popup-separator-menu-item {
  -gradient-height: 1px;
  -gradient-start: #16171d;
  -gradient-end: #16171d;
  -margin-horizontal: 0;
  height: 1px; }

.popup-alternating-menu-item:alternate {
  font-weight: normal; }

.popup-device-menu-item {
  spacing: .5em; }

.popup-subtitle-menu-item {
  font-weight: normal; }

.nm-menu-item-icons {
  spacing: .5em; }

#panel {
  font-weight: bold;
  /* sets the height of horizontal panels */
  height: 40px;
  /* sets the width of vertical panels */
  width: 32px; }
  #panelLeft {
    spacing: 4px; }
    #panelLeft:dnd {
      background-gradient-direction: vertical;
      background-gradient-start: rgba(255, 0, 0, 0.05);
      background-gradient-end: rgba(255, 0, 0, 0.2); }
    #panelLeft:ltr {
      padding-right: 4px; }
    #panelLeft:rtl {
      padding-left: 4px; }
    #panelLeft.vertical {
      padding: 0px; }
      #panelLeft.vertical:ltr {
        padding-right: 0px; }
      #panelLeft.vertical:rtl {
        padding-left: 0px; }
  #panelRight:dnd {
    background-gradient-direction: vertical;
    background-gradient-start: rgba(0, 0, 255, 0.05);
    background-gradient-end: rgba(0, 0, 255, 0.2); }
  #panelRight:ltr {
    padding-left: 4px;
    spacing: 0px; }
  #panelRight:rtl {
    padding-right: 4px;
    spacing: 0px; }
  #panelRight.vertical {
    padding: 0px; }
    #panelRight.vertical:ltr {
      padding-right: 0px; }
    #panelRight.vertical:rtl {
      padding-left: 0px; }
  #panelCenter {
    spacing: 4px; }
    #panelCenter:dnd {
      background-gradient-direction: vertical;
      background-gradient-start: rgba(0, 255, 0, 0.05);
      background-gradient-end: rgba(0, 255, 0, 0.2); }
  #panel:highlight {
    border-image: none;
    background-color: rgba(191, 23, 23, 0.5); }

.panelLeft {
  spacing: 4px; }
  .panelLeft:dnd {
    background-gradient-direction: vertical;
    background-gradient-start: rgba(255, 0, 0, 0.05);
    background-gradient-end: rgba(255, 0, 0, 0.2); }
  .panelLeft:ltr {
    padding-right: 4px; }
  .panelLeft:rtl {
    padding-left: 4px; }
  .panelLeft.vertical {
    padding: 0px; }
    .panelLeft.vertical:ltr {
      padding-right: 0px; }
    .panelLeft.vertical:rtl {
      padding-left: 0px; }

.panelRight:dnd {
  background-gradient-direction: vertical;
  background-gradient-start: rgba(0, 0, 255, 0.05);
  background-gradient-end: rgba(0, 0, 255, 0.2); }

.panelRight:ltr {
  padding-left: 4px;
  spacing: 0px; }

.panelRight:rtl {
  padding-right: 4px;
  spacing: 0px; }

.panelRight.vertical {
  padding: 0px; }
  .panelRight.vertical:ltr {
    padding-left: 0px;
    spacing: 0px; }
  .panelRight.vertical:rtl {
    padding-right: 0px;
    spacing: 0px; }

.panelCenter {
  spacing: 4px; }
  .panelCenter.vertical {
    padding-left: 0px;
    padding-right: 0px; }
  .panelCenter:dnd {
    background-gradient-direction: vertical;
    background-gradient-start: rgba(0, 255, 0, 0.05);
    background-gradient-end: rgba(0, 255, 0, 0.2); }

.panel-top, .panel-bottom, .panel-left, .panel-right {
  color: #eeeeec;
  border: #ffffff;
  background-color: rgba(35, 37, 46, 0.79);
  font-size: 1em;
  padding: 0px; }

.panel-top {
  box-shadow: 0 1px rgba(22, 23, 29, 0.8); }

.panel-bottom {
  box-shadow: 0 -1px rgba(22, 23, 29, 0.8); }

.panel-left {
  box-shadow: 1px 0 rgba(22, 23, 29, 0.8); }

.panel-right {
  box-shadow: -1px 0 rgba(22, 23, 29, 0.8); }

.panel-dummy {
  background-color: rgba(191, 23, 23, 0.5); }
  .panel-dummy:entered {
    background-color: rgba(191, 23, 23, 0.6); }

.panel-status-button {
  border-width: 0;
  -natural-hpadding: 3px;
  -minimum-hpadding: 3px;
  font-weight: bold;
  color: white; }

.panel-button {
  -natural-hpadding: 6px;
  -minimum-hpadding: 2px;
  font-weight: bold;
  color: green;
  transition-duration: 100; }

.system-status-icon {
  icon-size: 16px;
  padding: 0 1px; }
  .system-status-icon.warning {
    color: #fd7d00; }
  .system-status-icon.error {
    color: #bf1717; }

#overview {
  spacing: 12px; }

.window-caption {
  background-color: #303340;
  border: 1px solid #303340;
  color: white;
  spacing: 8px;
  border-radius: 6px;
  font-size: 0.9em;
  padding: 5px 8px;
  -cinnamon-caption-spacing: 8px; }
  .window-caption:focus {
    background-color: #2777ff;
    color: #ffffff;
    border: 1px solid #2777ff; }

.window-border {
  border: 3px #2777ff;
  border-radius: 6px;
  background-color: rgba(255, 255, 255, 0.05);
  /* Cover rounded corners and some bad adjustment gaps */
  box-shadow: 0 0 0 1px #2777ff inset; }

.overview-empty-placeholder {
  color: #ffffff;
  font-size: 2em; }

.expo-workspaces-name-entry,
.expo-workspaces-name-entry#selected {
  height: 1.5em;
  border-radius: 6px;
  font-size: 1em;
  padding: 5px 8px;
  -cinnamon-caption-spacing: 4px;
  color: white;
  border-color: black;
  background-color: rgba(0, 0, 0, 0.5);
  background-clip: padding-box;
  box-shadow: none;
  text-shadow: 0 1px black;
  -gtk-icon-shadow: 0 1px black; }
  .expo-workspaces-name-entry:focus,
  .expo-workspaces-name-entry#selected:focus {
    border: 1px solid #2777ff;
    background-color: #2777ff;
    color: #ffffff;
    font-style: italic;
    transition-duration: 300;
    selection-background-color: #ffffff;
    selected-color: #2777ff; }

.expo-workspace-thumbnail-frame {
  border: 4px solid rgba(255, 255, 255, 0);
  background-color: rgba(255, 255, 255, 0);
  border-radius: 6px; }
  .expo-workspace-thumbnail-frame#active {
    border: 4px solid #2777ff;
    background-color: black;
    border-radius: 6px; }

.expo-background {
  background-color: #303340; }

.workspace-thumbnails {
  spacing: 26px; }
  .workspace-thumbnails-background, .workspace-thumbnails-background:rtl {
    padding: 8px; }

.workspace-add-button {
  background-image: url("assets/add-workspace.svg");
  height: 200px;
  width: 35px;
  transition-duration: 100; }
  .workspace-add-button:hover {
    background-image: url("assets/add-workspace-hover.svg");
    transition-duration: 100; }
  .workspace-add-button:active {
    background-image: url("assets/add-workspace-active.svg");
    transition-duration: 100; }

.workspace-overview-background-shade {
  background-color: rgba(0, 0, 0, 0.5); }

.workspace-close-button,
.window-close {
  background-image: url("assets/close.svg");
  background-size: 26px;
  height: 26px;
  width: 26px;
  -cinnamon-close-overlap: 12px; }
  .workspace-close-button:hover,
  .window-close:hover {
    background-image: url("assets/close-hover.svg");
    background-size: 26px;
    height: 26px;
    width: 26px; }
  .workspace-close-button:active,
  .window-close:active {
    background-image: url("assets/close-active.svg");
    background-size: 26px;
    height: 26px;
    width: 26px; }

.window-close-area {
  background-image: url("assets/trash-icon.svg");
  height: 120px;
  width: 400px; }

.calendar {
  padding: .4em 1.75em;
  spacing-rows: 0px;
  spacing-columns: 0px; }

.calendar-main-box {
  margin: 0 .8em .5em .8em; }

.calendar-events-main-box {
  height: 300px;
  margin-right: .5em;
  border-radius: 6px;
  padding: .5em;
  min-width: 350px;
  border: 1px solid #13151a;
  background-color: #272a34; }

.calendar-events-no-events-button {
  margin: 6px 0 6px 0;
  padding: 6px;
  border-radius: 6px; }
  .calendar-events-no-events-button:hover {
    background-color: #2777ff; }
    .calendar-events-no-events-button:hover .calendar-events-no-events-icon,
    .calendar-events-no-events-button:hover .calendar-events-no-events-label {
      color: #ffffff; }

.calendar-events-no-events-icon,
.calendar-events-no-events-label {
  font-weight: bold;
  color: #eeeeec;
  text-align: center; }

.calendar-events-date-label {
  padding: .1em .1em .5em .1em;
  color: #eeeeec;
  font-weight: bold;
  text-align: center; }

.calendar-events-event-container {
  padding: 0; }

.calendar-event-button {
  border: 1px solid rgba(0, 0, 0, 0); }
  .calendar-event-button .calendar-event-time-past {
    color: rgba(238, 238, 236, 0.4);
    font-weight: bold;
    text-align: left;
    margin-bottom: .2em; }
  .calendar-event-button .calendar-event-time-present {
    color: #eeeeec;
    font-weight: bold;
    text-align: left;
    margin-bottom: .2em; }
    .calendar-event-button .calendar-event-time-present:all-day {
      color: #2777ff; }
  .calendar-event-button .calendar-event-time-future {
    color: #eeeeec;
    font-weight: bold;
    text-align: left;
    margin-bottom: .2em; }
  .calendar-event-button .calendar-event-summary {
    color: #eeeeec;
    text-align: left;
    width: 200px; }
  .calendar-event-button .calendar-event-countdown {
    text-align: right;
    margin-bottom: .6em;
    color: #eeeeec; }
    .calendar-event-button .calendar-event-countdown:soon {
      font-weight: bold; }
    .calendar-event-button .calendar-event-countdown:imminent {
      font-weight: bold;
      color: #fd7d00; }
    .calendar-event-button .calendar-event-countdown:current {
      font-weight: bold;
      color: #2777ff; }
  .calendar-event-button:hover {
    background-color: #2777ff;
    border: 1px solid #13151a; }
    .calendar-event-button:hover .calendar-event-time-past,
    .calendar-event-button:hover .calendar-event-time-present,
    .calendar-event-button:hover .calendar-event-time-future,
    .calendar-event-button:hover .calendar-event-summary {
      color: #ffffff; }
    .calendar-event-button:hover .calendar-event-countdown {
      text-align: right;
      margin-bottom: .6em;
      color: #ffffff; }
      .calendar-event-button:hover .calendar-event-countdown:soon {
        font-weight: bold; }
      .calendar-event-button:hover .calendar-event-countdown:imminent {
        font-weight: bold; }
      .calendar-event-button:hover .calendar-event-countdown:current {
        font-weight: bold; }

.calendar-event-color-strip {
  width: 2px; }

.calendar-today-home-button {
  padding: 6px; }

.calendar-today-day-label {
  font-size: 1.75em;
  color: #eeeeec;
  font-weight: bold;
  text-align: center;
  padding-bottom: .1em; }

.calendar-today-date-label {
  font-size: 1.1em;
  color: #eeeeec;
  font-weight: bold;
  text-align: center; }

.calendar-today-home-button-enabled {
  padding: 6px; }
  .calendar-today-home-button-enabled:hover {
    background-color: #2777ff; }
    .calendar-today-home-button-enabled:hover .calendar-today-day-label {
      color: #ffffff; }
    .calendar-today-home-button-enabled:hover .calendar-today-date-label {
      color: #ffffff; }

.calendar-month-label {
  color: #eeeeec;
  font-weight: bold;
  padding: 8px 0; }

.calendar-change-month-back,
.calendar-change-month-forward {
  width: 16px;
  height: 16px; }

.calendar-change-month-back {
  background-image: url("assets/calendar-arrow-left.svg"); }
  .calendar-change-month-back:focus, .calendar-change-month-back:hover {
    background-image: url("assets/calendar-arrow-left-hover.svg"); }
  .calendar-change-month-back:active {
    background-image: url("assets/calendar-arrow-left.svg"); }
  .calendar-change-month-back:rtl {
    background-image: url("assets/calendar-arrow-right.svg"); }
    .calendar-change-month-back:rtl:focus, .calendar-change-month-back:rtl:hover {
      background-image: url("assets/calendar-arrow-right-hover.svg"); }
    .calendar-change-month-back:rtl:active {
      background-image: url("assets/calendar-arrow-right.svg"); }

.calendar-change-month-forward {
  background-image: url("assets/calendar-arrow-right.svg"); }
  .calendar-change-month-forward:focus, .calendar-change-month-forward:hover {
    background-image: url("assets/calendar-arrow-right-hover.svg"); }
  .calendar-change-month-forward:active {
    background-image: url("assets/calendar-arrow-right.svg"); }
  .calendar-change-month-forward:rtl {
    background-image: url("assets/calendar-arrow-left.svg"); }
    .calendar-change-month-forward:rtl:focus, .calendar-change-month-forward:rtl:hover {
      background-image: url("assets/calendar-arrow-left-hover.svg"); }
    .calendar-change-month-forward:rtl:active {
      background-image: url("assets/calendar-arrow-left.svg"); }

.calendar-day-event-dot-box {
  margin-top: 1.7em;
  max-rows: 1; }

.calendar-day-event-dot {
  margin: 1px;
  border-radius: 2px;
  width: 4px;
  height: 4px; }

.datemenu-date-label {
  padding: .4em 1.75em;
  font-weight: bold;
  font-size: 1.15em;
  text-align: center;
  color: #eeeeec;
  border-radius: 6px; }

.calendar-day-base {
  font-size: 1em;
  text-align: center;
  width: 2.2em;
  height: 2.2em;
  padding: 0.1em; }
  .calendar-day-base:hover {
    font-weight: bold;
    color: #ffffff;
    background-color: #2777ff; }

.calendar-day-heading {
  color: rgba(238, 238, 236, 0.85);
  margin-top: 1em;
  font-size: 1.05em; }

.calendar-day {
  border-width: 0;
  color: rgba(238, 238, 236, 0.9); }

.calendar-day-top {
  border-top-width: 0; }

.calendar-day-left {
  border-left-width: 0; }

.calendar-nonwork-day {
  color: #eeeeec;
  background-color: transparent;
  font-weight: bold; }

.calendar-today,
.calendar-today:active,
.calendar-today:focus,
.calendar-today:hover {
  font-weight: bold;
  color: #ffffff;
  background-color: rgba(238, 238, 236, 0.4);
  border-radius: 99px;
  border-width: 0; }
  .calendar-today:selected,
  .calendar-today:active:selected,
  .calendar-today:focus:selected,
  .calendar-today:hover:selected {
    background-color: #2777ff; }

.calendar-not-today {
  color: #eeeeec;
  border-radius: 99px; }
  .calendar-not-today:selected {
    font-weight: bold;
    background-color: rgba(238, 238, 236, 0.4); }
    .calendar-not-today:selected:hover {
      font-weight: bold;
      color: #eeeeec; }

.calendar-other-month-day {
  color: rgba(238, 238, 236, 0.3);
  border-radius: 99px;
  opacity: 1; }
  .calendar-other-month-day:hover {
    color: #ffffff;
    opacity: 1; }

.calendar-week-number {
  color: rgba(238, 238, 236, 0.85);
  font-size: 0.8em;
  margin-top: 0.8em; }

#notification {
  border: 1px solid #13151a;
  border-radius: 6px;
  background-color: #23252e;
  padding: 13px;
  spacing-rows: 10px;
  spacing-columns: 10px;
  margin-from-right-edge-of-screen: 20px;
  width: 34em;
  color: #eeeeec; }
  .popup-menu #notification {
    color: #eeeeec;
    border-image: url("asset/message.svg") 9 9 9 9; }
    .popup-menu #notification .notification-button, .popup-menu #notification .notification-icon-button {
      padding: 5px; }
  #notification.multi-line-notification {
    padding-bottom: 13px;
    color: #eeeeec; }
  #notification-scrollview {
    max-height: 10em; }
    #notification-scrollview > .top-shadow, #notification-scrollview > .bottom-shadow {
      height: 1em; }
    #notification-scrollview:ltr > StScrollBar {
      padding-left: 6px; }
    #notification-scrollview:rtl > StScrollBar {
      padding-right: 6px; }
  #notification-body {
    spacing: 5px; }
  #notification-actions {
    spacing: 10px; }

.notification-with-image {
  min-height: 159px;
  color: #eeeeec; }

.notification-button, .notification-icon-button {
  padding: 5px; }

.notification-icon-button > StIcon {
  icon-size: 32px; }

#altTabPopup {
  padding: 8px;
  spacing: 16px; }

.switcher-list {
  color: #eeeeec;
  border: 1px solid #13151a;
  background-color: #23252e;
  border-radius: 6px;
  padding: 20px; }
  .switcher-list > StBoxLayout {
    padding: 4px; }
  .switcher-list-item-container {
    spacing: 8px; }
  .switcher-list .item-box {
    padding: 8px;
    border-radius: 6px; }
    .switcher-list .item-box:outlined {
      padding: 8px;
      border: 1px solid #2777ff; }
    .switcher-list .item-box:selected {
      color: #ffffff;
      background-color: #2777ff;
      border: 0px solid #2777ff; }
  .switcher-list .thumbnail {
    width: 256px; }
  .switcher-list .thumbnail-box {
    padding: 2px;
    spacing: 4px; }
  .switcher-list .separator {
    width: 1px;
    background: rgba(255, 255, 255, 0.2); }

.switcher-arrow {
  border-color: rgba(0, 0, 0, 0);
  color: #eeeeec; }
  .switcher-arrow:highlighted {
    border-color: rgba(0, 0, 0, 0);
    color: #ffffff; }

.thumbnail-scroll-gradient-left {
  background-color: rgba(0, 0, 0, 0);
  border-radius: 24px;
  border-radius-topright: 0px;
  border-radius-bottomright: 0px;
  width: 60px; }

.thumbnail-scroll-gradient-right {
  background-color: rgba(0, 0, 0, 0);
  border-radius: 24px;
  border-radius-topleft: 0px;
  border-radius-bottomleft: 0px;
  width: 60px; }

.ripple-box {
  width: 104px;
  height: 104px;
  background-image: url("assets/corner-ripple.svg");
  background-size: contain; }
  .ripple-box:rtl {
    background-image: url("assets/corner-ripple.svg"); }

.lightbox {
  background-color: rgba(0, 0, 0, 0.4); }

.flashspot {
  background-color: white; }

.modal-dialog {
  background-color: #23252e;
  border: 1px solid #13151a;
  border-radius: 6px;
  padding: 5px 10px; }
  .modal-dialog > StBoxLayout:first-child {
    padding: 10px; }
  .modal-dialog-button-box {
    spacing: 0;
    margin: 0px;
    padding: 10px;
    border: none;
    background-color: #23252e; }
    .modal-dialog-button-box .modal-dialog-button {
      padding-top: 0;
      padding-bottom: 0;
      height: 30px; }
  .modal-dialog .confirm-dialog-title {
    text-align: center;
    font-weight: bold;
    font-size: 1.3em;
    padding-bottom: 12px; }

.run-dialog {
  padding: 10px 15px 10px 15px;
  border: 1px solid #13151a;
  border-radius: 6px;
  background-color: #23252e; }
  .run-dialog > * {
    padding: 0; }
  .run-dialog-label {
    font-size: 1.3em;
    font-weight: bold;
    color: #eeeeec;
    padding-bottom: 15px;
    text-align: center; }
  .run-dialog-description {
    color: #eeeeec;
    padding-top: 15px;
    text-align: center; }
    .run-dialog-description.error {
      color: #bf1717; }
  .run-dialog-error-label {
    color: #bf1717; }
  .run-dialog-error-box {
    padding-top: 15px;
    spacing: 5px; }
  .run-dialog-completion-box {
    padding-top: 5px;
    padding-left: 15px;
    font-size: 1em; }
  .run-dialog-entry {
    width: 21em;
    height: 1.2em;
    padding: 7px;
    border-radius: 6px;
    caret-color: white;
    selected-color: #ffffff;
    selection-background-color: #2777ff;
    color: white;
    border-color: black;
    background-color: rgba(0, 0, 0, 0.5);
    background-clip: padding-box;
    box-shadow: none;
    text-shadow: 0 1px black;
    -gtk-icon-shadow: 0 1px black; }
    .run-dialog-entry:focus {
      box-shadow: inset 0 0 0 1px #2777ff;
      border-color: #00348d; }
  .run-dialog .modal-dialog-button-box {
    border: none;
    box-shadow: none;
    background: none; }

/* CinnamonMountOperation Dialogs */
.cinnamon-mount-operation-icon {
  icon-size: 48px; }

.mount-password-reask {
  color: #fd7d00; }

.show-processes-dialog,
.mount-question-dialog {
  spacing: 24px; }
  .show-processes-dialog-subject,
  .mount-question-dialog-subject {
    padding-top: 10px;
    padding-left: 17px;
    padding-bottom: 6px; }
    .show-processes-dialog-subject:rtl,
    .mount-question-dialog-subject:rtl {
      padding-left: 0px;
      padding-right: 17px; }
  .show-processes-dialog-description,
  .mount-question-dialog-description {
    padding-left: 17px;
    width: 28em; }
    .show-processes-dialog-description:rtl,
    .mount-question-dialog-description:rtl {
      padding-right: 17px; }

.show-processes-dialog-app-list {
  max-height: 200px;
  padding-top: 24px;
  padding-left: 49px;
  padding-right: 32px; }
  .show-processes-dialog-app-list:rtl {
    padding-right: 49px;
    padding-left: 32px; }
  .show-processes-dialog-app-list-item {
    color: #ccc; }
    .show-processes-dialog-app-list-item:hover {
      color: white; }
    .show-processes-dialog-app-list-item:ltr {
      padding-right: 1em; }
    .show-processes-dialog-app-list-item:rtl {
      padding-left: 1em; }
    .show-processes-dialog-app-list-item-icon:ltr {
      padding-right: 17px; }
    .show-processes-dialog-app-list-item-icon:rtl {
      padding-left: 17px; }
    .show-processes-dialog-app-list-item-name {
      font-size: 1.1em; }

.magnifier-zoom-region {
  border: 2px solid maroon; }
  .magnifier-zoom-region .full-screen {
    border-width: 0px; }

#keyboard {
  background-color: #303340;
  border-width: 0;
  border-top-width: 1px;
  border-color: rgba(0, 0, 0, 0.4); }

.keyboard-layout {
  spacing: 10px;
  padding: 10px; }

.keyboard-row {
  spacing: 15px; }

.keyboard-key {
  min-height: 2em;
  min-width: 2em;
  font-size: 1.4em;
  font-weight: bold;
  border-radius: 6px;
  box-shadow: none;
  color: white;
  border-color: black;
  background-color: transparent;
  background-image: image(#303340);
  background-clip: padding-box;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.1);
  text-shadow: 0 1px black;
  -gtk-icon-shadow: 0 1px black;
  outline-color: rgba(255, 255, 255, 0.3); }
  .keyboard-key:hover {
    color: white;
    border-color: black;
    background-color: transparent;
    background-image: image(#4a5063);
    background-clip: padding-box;
    box-shadow: inset 0 1px rgba(255, 255, 255, 0.1);
    text-shadow: 0 1px black;
    -gtk-icon-shadow: 0 1px black;
    outline-color: rgba(255, 255, 255, 0.3); }
  .keyboard-key:active, .keyboard-key:checked {
    color: white;
    border-color: black;
    background-color: transparent;
    background-image: image(black);
    background-clip: padding-box;
    box-shadow: none;
    text-shadow: none;
    -gtk-icon-shadow: none;
    outline-color: rgba(255, 255, 255, 0.3); }
  .keyboard-key:grayed {
    color: #97999f;
    border-color: black;
    background-color: transparent;
    background-image: image(rgba(68, 72, 83, 0.5));
    background-clip: padding-box;
    box-shadow: none;
    text-shadow: none;
    -gtk-icon-shadow: none; }

.keyboard-subkeys {
  color: white;
  padding: 5px;
  -arrow-border-radius: 6px;
  -arrow-background-color: #303340;
  -arrow-border-width: 1px;
  -arrow-border-color: rgba(0, 0, 0, 0.4);
  -arrow-base: 20px;
  -arrow-rise: 10px;
  -boxpointer-gap: 5px; }

.menu-favorites-box {
  padding: 10px;
  transition-duration: 300;
  background-color: #272a34;
  border: none; }

.menu-favorites-button {
  padding: .9em 1em;
  border: 1px solid rgba(0, 0, 0, 0);
  border-radius: 6px; }
  .menu-favorites-button:hover {
    background-color: #2777ff; }

.menu-places-box {
  padding: 10px;
  border: 0px solid red; }

.menu-places-button {
  padding: 10px; }

.menu-categories-box {
  padding: 10px 30px 10px 30px; }

.menu-applications-inner-box, .menu-applications-outer-box {
  padding: 10px 10px 0 10px; }

.menu-application-button {
  padding: 7px;
  border: 1px solid rgba(0, 0, 0, 0); }
  .menu-application-button:highlighted {
    font-weight: bold; }
  .menu-application-button-selected {
    padding: 7px;
    color: #ffffff;
    background-color: #2777ff;
    border: 1px solid #13151a;
    border-radius: 6px; }
    .menu-application-button-selected:highlighted {
      font-weight: bold; }
  .menu-application-button-label:ltr {
    padding-left: 5px; }
  .menu-application-button-label:rtl {
    padding-right: 5px; }

.menu-category-button {
  padding: 7px;
  border: 1px solid rgba(0, 0, 0, 0);
  border-radius: 6px; }
  .menu-category-button-selected {
    padding: 7px;
    color: #ffffff;
    background-color: #2777ff;
    border: 1px solid #13151a;
    border-radius: 6px; }
  .menu-category-button-greyed {
    padding: 7px;
    color: #888a8d;
    border: 1px solid rgba(0, 0, 0, 0); }
  .menu-category-button-label:ltr {
    padding-left: 5px; }
  .menu-category-button-label:rtl {
    padding-right: 5px; }

.menu-selected-app-box {
  padding-right: 30px;
  padding-left: 28px;
  text-align: right;
  height: 2.2em; }
  .menu-selected-app-box:rtl {
    padding-top: 10px;
    height: 2.2em; }

.menu-selected-app-title {
  font-weight: bold; }

.menu-selected-app-description {
  max-width: 150px; }

.menu-search-box:ltr {
  padding-left: 30px; }

.menu-search-box-rtl {
  padding-right: 30px; }

#menu-search-entry {
  width: 250px;
  min-height: 16px;
  font-weight: normal;
  caret-color: #eeeeec; }

.menu-search-entry-icon {
  icon-size: 1em;
  color: #eeeeec; }

/* Context menu (at the moment only for favorites) */
.info-osd {
  text-align: center;
  font-weight: bold;
  spacing: 1em;
  padding: 16px;
  color: #eeeeec;
  border: 1px solid #13151a;
  border-radius: 6px;
  background-color: #23252e; }

.restart-osd {
  font-size: 1.6em; }

.workspace-osd {
  font-size: 4em; }

.osd-window {
  text-align: center;
  font-weight: bold;
  spacing: 1em;
  padding: 20px;
  color: #eeeeec;
  background-color: #23252e;
  border: 1px solid #13151a;
  border-radius: 6px; }
  .osd-window .osd-monitor-label {
    font-size: 3em; }
  .osd-window .level {
    padding: 0;
    height: 0.7em;
    background-color: rgba(0, 0, 0, 0.5);
    border-radius: 6px; }
  .osd-window .level-bar {
    border-radius: 6px;
    background-color: #2777ff; }

.window-list-box {
  spacing: 6px;
  padding-left: 10px;
  padding-top: 1px; }
  .window-list-box.vertical {
    spacing: 2px;
    padding-left: 0px;
    padding-right: 0px;
    padding-top: 10px;
    padding-bottom: 10px; }
  .window-list-box:highlight {
    background-color: rgba(191, 23, 23, 0.5); }

.window-list-item-label {
  font-weight: bold;
  width: 15em;
  min-width: 5px; }

.window-list-item-box {
  font-weight: bold;
  background-image: none;
  padding-top: 0;
  padding-left: 8px;
  padding-right: 8px;
  transition-duration: 100;
  color: rgba(238, 238, 236, 0.6); }
  .window-list-item-box.top, .window-list-item-box.bottom {
    border-bottom-width: 2px; }
    .window-list-item-box.top StLabel, .window-list-item-box.bottom StLabel {
      padding-left: 2px; }
  .window-list-item-box.right {
    padding-left: 0px;
    padding-right: 0px;
    border-right-width: 2px; }
    .window-list-item-box.right StBin {
      padding-right: 0; }
  .window-list-item-box.left {
    padding-left: 0px;
    padding-right: 0px;
    border-left-width: 2px; }
    .window-list-item-box.left StBin {
      padding-left: 1px; }
  .window-list-item-box:hover, .window-list-item-box:groupFocus {
    color: #eeeeec;
    background-color: rgba(238, 238, 236, 0.1); }
  .window-list-item-box:active, .window-list-item-box:checked, .window-list-item-box:focus, .window-list-item-box:running {
    color: #eeeeec;
    border-color: #2777ff; }
  .window-list-item-box .progress {
    background-color: rgba(39, 119, 255, 0.8); }

.window-list-item-demands-attention {
  background-gradient-direction: vertical;
  background-gradient-start: #a61414;
  background-gradient-end: #a61414; }

.window-list-preview {
  spacing: 6px;
  color: #eeeeec;
  border: 1px solid #13151a;
  background-color: #23252e;
  border-radius: 6px;
  padding: 6px 12px 12px 12px;
  font-size: 1em; }

.grouped-window-list-item-label {
  font-weight: bold;
  width: 15em;
  min-width: 5px; }

.grouped-window-list-item-box {
  text-align: left;
  font-weight: bold;
  background-image: none;
  padding-top: 0;
  padding-left: 8px;
  padding-right: 8px;
  transition-duration: 100;
  color: rgba(255, 255, 255, 0.6); }
  .grouped-window-list-item-box.top, .grouped-window-list-item-box.bottom {
    border-bottom-width: 2px; }
    .grouped-window-list-item-box.top StLabel, .grouped-window-list-item-box.bottom StLabel {
      padding-left: 2px; }
  .grouped-window-list-item-box.right {
    padding-left: 0px;
    padding-right: 0px;
    border-right-width: 2px; }
    .grouped-window-list-item-box.right StBin {
      padding-right: 0; }
  .grouped-window-list-item-box.left {
    padding-left: 0px;
    padding-right: 0px;
    border-left-width: 2px; }
    .grouped-window-list-item-box.left StBin {
      padding-left: 1px; }
  .grouped-window-list-item-box:hover, .grouped-window-list-item-box:focus {
    color: #ffffff;
    background-color: rgba(255, 255, 255, 0.3); }
  .grouped-window-list-item-box:active, .grouped-window-list-item-box:checked {
    color: #ffffff;
    border-color: #2777ff; }
  .grouped-window-list-item-box .progress {
    background-color: rgba(39, 119, 255, 0.8); }

.grouped-window-list-item-demands-attention {
  background-gradient-direction: vertical;
  background-gradient-start: #a61414;
  background-gradient-end: #a61414; }

.grouped-window-list-thumbnail-label {
  padding-left: 4px; }

.grouped-window-list-number-label {
  z-index: 99;
  color: rgba(255, 255, 255, 0.1); }

.grouped-window-list-badge {
  border-radius: 256px;
  background-color: #4a4a4a; }

.grouped-window-list-button-label {
  padding-left: 4px; }

.grouped-window-list-thumbnail-alert {
  background: rgba(255, 52, 52, 0.3); }

.grouped-window-list-thumbnail-menu {
  color: #eeeeec;
  border: 1px solid #13151a;
  background-color: #23252e;
  border-radius: 6px;
  padding: 0px; }
  .grouped-window-list-thumbnail-menu > StBoxLayout {
    padding: 4px; }
  .grouped-window-list-thumbnail-menu .item-box {
    padding: 10px;
    border-radius: 6px;
    spacing: 4px; }
    .grouped-window-list-thumbnail-menu .item-box:outlined {
      padding: 8px;
      border: 1px solid #2777ff; }
    .grouped-window-list-thumbnail-menu .item-box:selected {
      color: #ffffff;
      background-color: #2777ff;
      border: 0px solid #2777ff; }
  .grouped-window-list-thumbnail-menu .thumbnail {
    width: 256px; }
  .grouped-window-list-thumbnail-menu .separator {
    width: 1px;
    background: rgba(255, 255, 255, 0.2); }

.sound-button {
  width: 22px;
  height: 13px;
  padding: 8px; }
  .sound-button-container {
    padding-right: 3px;
    padding-left: 3px; }
  .sound-button StIcon {
    icon-size: 1.4em; }

.sound-track-infos {
  padding: 5px; }

.sound-track-info {
  padding-top: 2px;
  padding-bottom: 2px; }
  .sound-track-info StIcon {
    icon-size: 16px; }
  .sound-track-info StLabel {
    padding-left: 5px;
    padding-right: 5px; }

.sound-track-box {
  padding-left: 15px;
  padding-right: 15px;
  max-width: 220px; }

.sound-seek-box {
  padding-left: 15px; }
  .sound-seek-box StLabel {
    padding-top: 2px; }
  .sound-seek-box StIcon {
    icon-size: 16px; }

.sound-seek-slider {
  width: 140px; }

.sound-volume-menu-item {
  padding: .4em 1.75em; }
  .sound-volume-menu-item StIcon {
    icon-size: 1.14em;
    padding-left: 8px;
    padding-right: 8px; }

.sound-playback-control {
  padding: 5px 10px 10px 10px; }

.sound-player > StBoxLayout:first-child {
  padding: 5px 10px 12px 10px;
  spacing: 0.5em; }
  .sound-player > StBoxLayout:first-child StButton:small {
    width: 20px;
    height: 20px;
    border: 1px solid transparent; }
    .sound-player > StBoxLayout:first-child StButton:small StIcon {
      icon-size: 12px; }
    .sound-player > StBoxLayout:first-child StButton:small:hover {
      color: #eeeeec;
      outline-color: rgba(238, 238, 236, 0.3);
      border-color: #13151a;
      border-bottom-color: black;
      background-image: linear-gradient(to top, #20232b, #252831 1px);
      text-shadow: 0 -1px rgba(0, 0, 0, 0.825255);
      -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.825255);
      box-shadow: inset 0 1px rgba(255, 255, 255, 0.02), 0 1px 2px rgba(0, 0, 0, 0.27); }
    .sound-player > StBoxLayout:first-child StButton:small:active {
      color: #eeeeec;
      outline-color: rgba(238, 238, 236, 0.3);
      border-color: #13151a;
      background-image: image(#0f1014);
      box-shadow: inset 0 1px rgba(255, 255, 255, 0);
      text-shadow: none;
      -gtk-icon-shadow: none; }

.sound-player-generic-coverart {
  background: rgba(0, 0, 0, 0.2); }

.sound-player-overlay {
  width: 290px;
  height: 70px;
  padding: 15px;
  spacing: 0.5em;
  background: rgba(35, 37, 46, 0.9);
  border-top: 1px solid #13151a;
  color: #eeeeec; }
  .sound-player-overlay StButton {
    width: 22px;
    height: 13px;
    padding: 5px;
    color: #eeeeec;
    border-radius: 6px;
    border: 1px solid transparent; }
    .sound-player-overlay StButton StIcon {
      icon-size: 16px; }
    .sound-player-overlay StButton:hover {
      color: #eeeeec;
      outline-color: rgba(238, 238, 236, 0.3);
      border-color: #13151a;
      border-bottom-color: black;
      background-image: linear-gradient(to top, #20232b, #252831 1px);
      text-shadow: 0 -1px rgba(0, 0, 0, 0.825255);
      -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.825255);
      box-shadow: inset 0 1px rgba(255, 255, 255, 0.02), 0 1px 2px rgba(0, 0, 0, 0.27); }
    .sound-player-overlay StButton:active {
      color: #eeeeec;
      outline-color: rgba(238, 238, 236, 0.3);
      border-color: #13151a;
      background-image: image(#0f1014);
      box-shadow: inset 0 1px rgba(255, 255, 255, 0);
      text-shadow: none;
      -gtk-icon-shadow: none; }
  .sound-player-overlay StBoxLayout {
    padding-top: 2px; }
  .sound-player-overlay > StBoxLayout {
    spacing: 5px; }

.sound-player .slider {
  height: 0.5em;
  padding: 0;
  border: none;
  -slider-height: 0.5em;
  -slider-background-color: #181a20;
  -slider-border-color: rgba(0, 0, 0, 0);
  -slider-active-background-color: #2777ff;
  -slider-active-border-color: rgba(0, 0, 0, 0);
  -slider-border-width: 0px;
  -slider-handle-radius: 0px; }

#workspaceSwitcher {
  spacing: 0px;
  padding: 3px; }

/* Controls the styling when using the "Simple buttons" option */
.workspace-switcher {
  padding-left: 3px;
  padding-right: 3px; }
  .panel-left .workspace-switcher, .panel-right .workspace-switcher {
    padding: 0; }

.workspace-button {
  border: 1px solid rgba(0, 0, 0, 0.4);
  background-color: rgba(0, 0, 0, 0.2);
  width: 20px;
  height: 14px;
  color: rgba(255, 255, 255, 0.45);
  padding: 3px;
  padding-top: 4px;
  transition-duration: 200; }
  .workspace-button.vertical {
    height: 1.5em;
    width: 24px;
    padding: 0;
    padding-top: 3px;
    padding-bottom: 3px; }
  .workspace-button:outlined {
    background-color: #2777ff;
    color: #ffffff; }
    .workspace-button:outlined:hover {
      background-color: rgba(39, 119, 255, 0.7);
      color: #ffffff; }
  .workspace-button:hover {
    background-color: rgba(238, 238, 236, 0.2);
    color: #ffffff; }

/* Controls the style when using the "Visual representation" option */
.workspace-graph {
  padding: 3px;
  spacing: 6px; }

.workspace-graph .workspace {
  border: 1px solid rgba(0, 0, 0, 0.4);
  background-color: rgba(0, 0, 0, 0.2); }

.workspace-graph .workspace:active {
  border: 1px solid #2777ff; }

.workspace-graph .workspace .windows {
  -active-window-background: rgba(67, 73, 90, 0.8);
  -active-window-border: rgba(0, 0, 0, 0.8);
  -inactive-window-background: rgba(67, 73, 90, 0.8);
  -inactive-window-border: rgba(0, 0, 0, 0.8); }

.workspace-graph .workspace:active .windows {
  -active-window-background: rgba(89, 96, 119, 0.8);
  -active-window-border: rgba(0, 0, 0, 0.8);
  -inactive-window-background: rgba(46, 49, 61, 0.8);
  -inactive-window-border: rgba(0, 0, 0, 0.8); }

.panel-launchers {
  padding-left: 7px;
  spacing: 2px; }
  .panel-launchers .launcher {
    padding-left: 2px;
    padding-right: 2px;
    padding-bottom: 2px;
    transition-duration: 200; }
    .panel-launchers .launcher:hover {
      background-color: #2777ff; }
  .panel-launchers.vertical {
    padding-top: 2px;
    padding-bottom: 2px;
    padding-left: 0px;
    padding-right: 0px;
    spacing: 1px; }
    .panel-launchers.vertical .launcher {
      padding-top: 2px;
      padding-bottom: 2px; }

#overview-corner {
  background-image: url("assets/overview.png"); }
  #overview-corner:hover {
    background-image: url("assets/overview-hover.png"); }

.applet-separator {
  padding: 1px 4px; }
  .applet-separator.vertical {
    padding: 4px 1px; }

.applet-separator-line {
  width: 1px;
  background: rgba(255, 255, 255, 0.12); }
  .applet-separator-line-vertical {
    height: 1px;
    background: rgba(255, 255, 255, 0.12); }

.applet-box {
  padding-left: 4px;
  padding-right: 4px;
  spacing: 4px;
  color: #eeeeec;
  text-shadow: none;
  transition-duration: 100;
  text-align: center; }
  .applet-box.vertical {
    padding-left: 0px;
    padding-right: 0px;
    padding-top: 3px;
    padding-bottom: 3px; }
  .applet-box:hover, .applet-box:checked {
    color: #ffffff;
    background-color: #2777ff; }
    .applet-box:hover-label, .applet-box:checked-label {
      color: #ffffff; }
  .applet-box:highlight {
    background-image: none;
    border-image: none;
    background-color: rgba(191, 23, 23, 0.5); }

.applet-label {
  font-weight: bold;
  color: #eeeeec; }
  .applet-label:hover, .applet-label:checked, .applet-box:hover > .applet-label, .applet-box:checked > .applet-label {
    color: #ffffff;
    text-shadow: none; }

.applet-icon {
  color: #ffffff;
  icon-size: 22px; }
  .applet-icon:hover, .applet-icon:checked, .applet-box:hover > .applet-icon, .applet-box:checked > .applet-icon {
    color: #ffffff;
    text-shadow: none; }

.user-icon {
  width: 32px;
  height: 32px;
  background-color: transparent;
  border: none;
  border-radius: 0; }

.user-label {
  color: #eeeeec;
  font-size: 1em;
  font-weight: bold;
  margin: 0px; }

.desklet {
  color: #eeeeec; }
  .desklet:highlight {
    background-color: rgba(191, 23, 23, 0.5); }
  .desklet-with-borders {
    border: 1px solid #13151a;
    border-radius: 6px;
    background-color: #23252e;
    color: #eeeeec;
    padding: 12px;
    padding-bottom: 16px; }
    .desklet-with-borders:highlight {
      background-color: rgba(191, 23, 23, 0.5); }
  .desklet-with-borders-and-header {
    border: 1px solid #13151a;
    border-top-width: 0;
    border-radius: 0 0 6px 6px;
    background-color: #23252e;
    color: #eeeeec;
    border-radius: 0;
    border-radius-topleft: 0;
    border-radius-topright: 0;
    padding: 12px;
    padding-bottom: 17px; }
    .desklet-with-borders-and-header:highlight {
      background-color: rgba(191, 23, 23, 0.5); }
  .desklet-header {
    border: 1px solid #13151a;
    border-radius: 6px 6px 0 0;
    background-color: #1c1e25;
    color: #eeeeec;
    font-size: 1em;
    padding: 12px;
    padding-bottom: 6px; }
  .desklet-drag-placeholder {
    border: 2px solid #2777ff;
    background-color: rgba(39, 119, 255, 0.3); }

.photoframe-box {
  border: 1px solid #13151a;
  border-radius: 6px;
  background-color: #23252e;
  color: #eeeeec;
  padding: 12px;
  padding-bottom: 16px; }

.notification-applet-padding {
  padding: .5em 1em; }

.notification-applet-container {
  max-height: 100px; }

.tile-preview {
  background-color: rgba(39, 119, 255, 0.3);
  border: 1px solid #2777ff; }
  .tile-preview.snap {
    background-color: rgba(39, 119, 255, 0.6); }

.tile-hud {
  background-color: rgba(39, 119, 255, 0.3);
  border: 1px solid #2777ff; }
  .tile-hud.snap {
    background-color: rgba(39, 119, 255, 0.6); }
  .tile-hud:top {
    border-top-width: 0px; }
  .tile-hud:bottom {
    border-bottom-width: 0px; }
  .tile-hud:left {
    border-left-width: 0px; }
  .tile-hud:right {
    border-right-width: 0px; }
  .tile-hud:top-left {
    border-top-width: 0px;
    border-left-width: 0px; }
  .tile-hud:top-right {
    border-top-width: 0px;
    border-right-width: 0px; }
  .tile-hud:bottom-left {
    border-bottom-width: 0px;
    border-left-width: 0px; }
  .tile-hud:bottom-right {
    border-bottom-width: 0px;
    border-right-width: 0px; }

.xkcd-box {
  padding: 6px;
  border: 0px;
  background-color: rgba(0, 0, 0, 0);
  border-radius: 0px; }


================================================
FILE: .themes/Flat-Remix-GTK-Blue-Dark/gtk-2.0/gtkrc
================================================
# Based on Bridge by ScionicSpectre
# vim:set ts=2 sw=2 sts=2 ai et:
#
# This is the GTK+ 2 version of Adwaita. It's whole purpose is to look as the
# GTK+ 3 version as much as possible until GTK+ 2 dies completely.
#
# Note: comments for explaining styles are on the bottom of each file beside the
# widget matches.

# Declare the colours used throughout the theme.
# There shouldn't be any fiddling with them in the theme files themselves in
# order to not mess up the dark theme.

# Text/base
gtk-color-scheme = "text_color:white\nbase_color:#292c37"
# Foreground/background
gtk-color-scheme = "fg_color:#eeeeec\nbg_color:#23252e"
# Selected foreground/background
gtk-color-scheme = "selected_bg_color:#2777ff"
gtk-color-scheme = "selected_fg_color: #ffffff"
# Insensitive foreground/background
gtk-color-scheme = "insensitive_fg_color:#888a8d\ninsensitive_bg_color:#242731"
# Menus
gtk-color-scheme = "menu_color:#1a1e23"
# Links
gtk-color-scheme = "link_color:#2777ff\nvisited_link_color:#8db7ff"
# Treeview headers
gtk-color-scheme = "column_header_color:#898b8b\nhover_column_header_color:#bcbdbc"
# Window decoration
gtk-color-scheme = "window_color:#292c37"
# Tooltips
gtk-color-scheme = "tooltip_fg_color:#ffffff\ntooltip_bg_color:#000000"

# Set GTK settings
gtk-auto-mnemonics              = 1
gtk-primary-button-warps-slider = 1

# And hand over the control to the theme files
include "main.rc"


================================================
FILE: .themes/Flat-Remix-GTK-Blue-Dark/gtk-2.0/main.rc
================================================
# vim:set ft=gtkrc ts=2 sw=2 sts=2 ai et:
#
# This is the main theme file, handling all the default widgets and theme
# properties. Since GTK+ 2 is old, we need to overcome some of its limitations,
# which is also mostly done in this file. Sadly not all of them can be overcome
# so there will always be a visible difference between the GTK+ 2 and 3 theme.

style "default" {

  xthickness = 1
  ythickness = 1

  ####################
  # Style Properties #
  ####################

  GtkWidget::focus-line-width = 1
  GtkWidget::focus-line-pattern = "\2\1"

  GtkToolbar::internal-padding = 4
  GtkToolButton::icon-spacing  = 4

  GtkWidget::tooltip-radius    = 3
  GtkWidget::tooltip-alpha     = 235
  GtkWidget::new-tooltip-style = 1 #for compatibility

  GtkWidget::link-color              = @link_color
  GtkWidget::visited-link-color      = @visited_link_color
  GnomeHRef::link_color              = @link_color
  GtkHTML::link-color                = @link_color
  GtkHTML::vlink-color               = @visited_link_color
  GtkIMHtml::hyperlink-color         = @link_color
  GtkIMHtml::hyperlink-visited-color = @visited_link_color

  GtkSeparatorMenuItem::horizontal-padding = 0
  GtkSeparatorMenuItem::wide-separators    = 1
  GtkSeparatorMenuItem::separator-height   = 1

  GtkButton::child-displacement-y = 0

  GtkButton::default-border         = {0, 0, 0, 0}
  GtkButton::default-outside-border = {0, 0, 0, 0}
  GtkButton::inner-border           = {4, 4, 4, 4}

  GtkEntry::state-hint = 1
  GtkEntry::inner-border = {7, 7, 4, 5}

  GtkPaned::handle-size = 9
  GtkHPaned::handle-size = 9
  GtkVPaned::handle-size = 9

  GtkScrollbar::trough-border = 0
  GtkRange::trough-border     = 0
  GtkRange::slider-width      = 13
  GtkRange::stepper-size      = 0
  GtkRange::activate-slider   = 1

  GtkScrollbar::activate-slider              = 1
  GtkScrollbar::stepper-size                 = 0
  GtkScrollbar::has-backward-stepper         = 0
  GtkScrollbar::has-forward-stepper          = 0
  GtkScrollbar::min-slider-length            = 48 # 42 + 2*3 (margins)
  GtkScrolledWindow::scrollbar-spacing       = 0
  GtkScrolledWindow::scrollbars-within-bevel = 1

  GtkScale::slider_length       = 26
  GtkScale::slider_width        = 26
  GtkScale::trough-side-details = 1

  GtkProgressBar::min-horizontal-bar-height = 6
  GtkProgressBar::min-vertical-bar-width    = 6
  # Making this bigger than the min[height,width]-2*[y,x]spacing makes the
  # whole progressbar thicker, so by setting it to the exact above value
  # we get the maximum spacing between the text and the edges without
  # doing so.
  GtkProgressBar::xspacing = 4
  GtkProgressBar::yspacing = 4

  GtkStatusbar::shadow_type    = GTK_SHADOW_NONE
  GtkSpinButton::shadow_type   = GTK_SHADOW_NONE
  GtkMenuBar::shadow-type      = GTK_SHADOW_NONE
  GtkToolbar::shadow-type      = GTK_SHADOW_NONE
  # TODO: find out what this comment means:
  # ( every window is misaligned for the sake of menus ):
  GtkMenuBar::internal-padding = 0
  GtkMenu::horizontal-padding  = 0
  GtkMenu::vertical-padding    = 2
  GtkMenu::double-arrows       = 0
  GtkMenuItem::arrow-scaling   = 1
  GtkMenuItem::toggle-spacing  = 10

  GtkCheckButton::indicator_spacing = 3
  GtkOptionMenu::indicator_spacing  = {13, 13, 5, 8}

  GtkTreeView::expander-size        = 16
  GtkTreeView::vertical-separator   = 0
  GtkTreeView::horizontal-separator = 4
  GtkTreeView::allow-rules          = 0
  # Set this because some apps read it
  GtkTreeView::odd-row-color        = @base_color
  GtkTreeView::even-row-color       = @base_color

  GtkExpander::expander-size = 16

  GtkNotebook::tab-overlap = 4

  ##########
  # Colors #
  ##########

  bg[NORMAL]      = @bg_color
  bg[PRELIGHT]    = @bg_color
  bg[SELECTED]    = @selected_bg_color
  bg[INSENSITIVE] = @insensitive_bg_color
  bg[ACTIVE]      = @bg_color

  fg[NORMAL]      = @fg_color
  fg[PRELIGHT]    = @fg_color
  fg[SELECTED]    = @selected_fg_color
  fg[INSENSITIVE] = @insensitive_fg_color
  fg[ACTIVE]      = @fg_color

  text[NORMAL]      = @text_color
  text[PRELIGHT]    = @text_color
  text[SELECTED]    = @selected_fg_color
  text[INSENSITIVE] = @insensitive_fg_color
  text[ACTIVE]      = @selected_fg_color

  base[NORMAL]      = @base_color
  base[PRELIGHT]    = shade (0.95, @bg_color)
  base[SELECTED]    = @selected_bg_color
  base[INSENSITIVE] = @insensitive_bg_color
  base[ACTIVE]      = @selected_bg_color

  # For succinctness, all reasonable pixmap options remain here

  # Draw frame around menu in a non-compositied environment
  # This needs to go before pixmap because we need to override some stuff
  engine "adwaita" {}

  engine "pixmap" {

    #################
    # Check Buttons #
    #################

    image {
      function        = CHECK
      state           = NORMAL
      shadow          = OUT
      overlay_file    = "assets/checkbox-unchecked.png"
      overlay_stretch = FALSE
    }

    image {
      function        = CHECK
      state           = PRELIGHT
      shadow          = OUT
      overlay_file    = "assets/checkbox-unchecked-hover.png"
      overlay_stretch = FALSE
    }

    image {
      function        = CHECK
      state           = ACTIVE
      shadow          = OUT
      overlay_file    = "assets/checkbox-unchecked-active.png"
      overlay_stretch = FALSE
    }

    image {
      function        = CHECK
      state           = SELECTED
      shadow          = OUT
      overlay_file    = "assets/checkbox-unchecked.png"
      overlay_stretch = FALSE
    }

    image {
      function        = CHECK
      state           = INSENSITIVE
      shadow          = OUT
      overlay_file    = "assets/checkbox-unchecked-insensitive.png"
      overlay_stretch = FALSE
    }

    image {
      function        = CHECK
      state           = NORMAL
      shadow          = IN
      overlay_file    = "assets/checkbox-checked.png"
      overlay_stretch = FALSE
    }

    image {
      function        = CHECK
      state           = PRELIGHT
      shadow          = IN
      overlay_file    = "assets/checkbox-checked-hover.png"
      overlay_stretch = FALSE
    }

    image {
      function        = CHECK
      state           = ACTIVE
      shadow          = IN
      overlay_file    = "assets/checkbox-checked-active.png"
      overlay_stretch = FALSE
    }

    image {
      function        = CHECK
      state           = SELECTED
      shadow          = IN
      overlay_file    = "assets/checkbox-checked.png"
      overlay_stretch = FALSE
    }

    image {
      function        = CHECK
      state           = INSENSITIVE
      shadow          = IN
      overlay_file    = "assets/checkbox-checked-insensitive.png"
      overlay_stretch = FALSE
    }

    image {
      function        = CHECK
      state           = NORMAL
      shadow          = ETCHED_IN
      overlay_file    = "assets/checkbox-mixed.png"
      overlay_stretch = FALSE
    }

    image {
      function        = CHECK
      state           = PRELIGHT
      shadow          = ETCHED_IN
      overlay_file    = "assets/checkbox-mixed-hover.png"
      overlay_stretch = FALSE
    }

    image {
      function        = CHECK
      state           = ACTIVE
      shadow          = ETCHED_IN
      overlay_file    = "assets/checkbox-mixed-active.png"
      overlay_stretch = FALSE
    }

    image {
      fun
Download .txt
gitextract_ibmexjik/

├── .config/
│   ├── cava/
│   │   ├── config
│   │   └── shaders/
│   │       ├── bar_spectrum.frag
│   │       ├── northern_lights.frag
│   │       └── pass_through.vert
│   ├── fastfetch/
│   │   ├── arch.txt
│   │   └── config.jsonc
│   ├── hypr/
│   │   ├── hyprland.conf
│   │   └── hyprland_borders.conf
│   ├── hyprlock/
│   │   └── hyprlock.conf
│   ├── kitty/
│   │   └── kitty.conf
│   ├── rofi/
│   │   ├── config.rasi
│   │   ├── rounded-blue-dark.rasi
│   │   ├── rounded-common.rasi
│   │   └── withBorder/
│   │       ├── config.rasi
│   │       ├── rounded-blue-dark.rasi
│   │       └── rounded-common.rasi
│   ├── swaync/
│   │   ├── config.json
│   │   ├── configSchema.json
│   │   ├── style.css
│   │   └── withBorders/
│   │       ├── config.json
│   │       ├── configSchema.json
│   │       └── style.css
│   ├── waybar/
│   │   ├── alt_config/
│   │   │   ├── config
│   │   │   ├── modules.json
│   │   │   └── style.css
│   │   ├── config
│   │   ├── modules.json
│   │   └── style.css
│   ├── waypaper/
│   │   └── config.ini
│   └── wlogout/
│       ├── layout
│       └── style.css
├── .themes/
│   ├── Flat-Remix-GTK-Blue-Dark/
│   │   ├── cinnamon/
│   │   │   └── cinnamon.css
│   │   ├── gtk-2.0/
│   │   │   ├── gtkrc
│   │   │   └── main.rc
│   │   ├── gtk-3.0/
│   │   │   └── gtk.css
│   │   ├── gtk-4.0/
│   │   │   └── gtk.css
│   │   ├── index.theme
│   │   ├── install.sh
│   │   ├── libadwaita/
│   │   │   └── gtk.css
│   │   └── uninstall.sh
│   ├── Flat-Remix-GTK-Blue-Dark-Solid/
│   │   ├── cinnamon/
│   │   │   └── cinnamon.css
│   │   ├── gtk-2.0/
│   │   │   ├── gtkrc
│   │   │   └── main.rc
│   │   ├── gtk-3.0/
│   │   │   └── gtk.css
│   │   ├── gtk-4.0/
│   │   │   └── gtk.css
│   │   ├── index.theme
│   │   ├── install.sh
│   │   ├── libadwaita/
│   │   │   └── gtk.css
│   │   └── uninstall.sh
│   ├── Flat-Remix-GTK-Blue-Darkest/
│   │   ├── cinnamon/
│   │   │   └── cinnamon.css
│   │   ├── gtk-2.0/
│   │   │   ├── gtkrc
│   │   │   └── main.rc
│   │   ├── gtk-3.0/
│   │   │   └── gtk.css
│   │   ├── gtk-4.0/
│   │   │   └── gtk.css
│   │   ├── index.theme
│   │   ├── install.sh
│   │   ├── libadwaita/
│   │   │   └── gtk.css
│   │   └── uninstall.sh
│   ├── Flat-Remix-GTK-Blue-Darkest-Solid/
│   │   ├── cinnamon/
│   │   │   └── cinnamon.css
│   │   ├── gtk-2.0/
│   │   │   ├── gtkrc
│   │   │   └── main.rc
│   │   ├── gtk-3.0/
│   │   │   └── gtk.css
│   │   ├── gtk-4.0/
│   │   │   └── gtk.css
│   │   ├── index.theme
│   │   ├── install.sh
│   │   ├── libadwaita/
│   │   │   └── gtk.css
│   │   └── uninstall.sh
│   ├── Flat-Remix-GTK-Blue-Light/
│   │   ├── cinnamon/
│   │   │   └── cinnamon.css
│   │   ├── gtk-2.0/
│   │   │   ├── gtkrc
│   │   │   └── main.rc
│   │   ├── gtk-3.0/
│   │   │   ├── gtk-dark.css
│   │   │   └── gtk.css
│   │   ├── gtk-4.0/
│   │   │   ├── gtk-dark.css
│   │   │   └── gtk.css
│   │   ├── index.theme
│   │   ├── install.sh
│   │   ├── libadwaita/
│   │   │   └── gtk.css
│   │   └── uninstall.sh
│   ├── Flat-Remix-GTK-Blue-Light-Solid/
│   │   ├── cinnamon/
│   │   │   └── cinnamon.css
│   │   ├── gtk-2.0/
│   │   │   ├── gtkrc
│   │   │   └── main.rc
│   │   ├── gtk-3.0/
│   │   │   ├── gtk-dark.css
│   │   │   └── gtk.css
│   │   ├── gtk-4.0/
│   │   │   ├── gtk-dark.css
│   │   │   └── gtk.css
│   │   ├── index.theme
│   │   ├── install.sh
│   │   ├── libadwaita/
│   │   │   └── gtk.css
│   │   └── uninstall.sh
│   └── Sweet-Ambar-Blue-Dark-v40/
│       ├── cinnamon/
│       │   ├── cinnamon-dark.css
│       │   └── cinnamon.css
│       ├── gnome-shell/
│       │   └── gnome-shell.css
│       ├── gtk-2.0/
│       │   ├── apps/
│       │   │   ├── chrome.rc
│       │   │   ├── gimp.rc
│       │   │   ├── libreoffice.rc
│       │   │   ├── terminal.rc
│       │   │   ├── thunar.rc
│       │   │   └── xfce.rc
│       │   ├── gtkrc
│       │   └── main.rc
│       ├── gtk-3.0/
│       │   ├── gtk-dark.css
│       │   └── gtk.css
│       ├── gtk-4.0/
│       │   ├── gtk-dark.css
│       │   └── gtk.css
│       ├── index.theme
│       ├── metacity-1/
│       │   ├── metacity-theme-1.xml
│       │   ├── metacity-theme-2.xml
│       │   ├── metacity-theme-3.xml
│       │   └── metacity-theme.xml
│       └── xfwm4/
│           └── themerc
├── .zshrc
├── Keybinds cheat sheet
├── README.md
├── Required Fonts
├── dependencies
├── gentoo/
│   ├── package.use/
│   │   └── gtk-layer-shell
│   ├── packages.accept_idontremeber/
│   │   ├── app-misc
│   │   ├── dev-python
│   │   ├── gui-apps
│   │   └── x11-apps
│   └── waypaper/
│       └── waypaper.desktop
├── install.sh
└── optional
Condensed preview — 123 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (7,844K chars).
[
  {
    "path": ".config/cava/config",
    "chars": 9994,
    "preview": "## Configuration file for CAVA.\n# Remove the ; to change parameters.\n\n\n[general]\n\n# Smoothing mode. Can be 'normal', 'sc"
  },
  {
    "path": ".config/cava/shaders/bar_spectrum.frag",
    "chars": 2358,
    "preview": "#version 330\n\nin vec2 fragCoord;\nout vec4 fragColor;\n\n// bar values. defaults to left channels first (low to high), then"
  },
  {
    "path": ".config/cava/shaders/northern_lights.frag",
    "chars": 1009,
    "preview": "#version 330\n\nin vec2 fragCoord;\nout vec4 fragColor;\n\n// bar values. defaults to left channels first (low to high), then"
  },
  {
    "path": ".config/cava/shaders/pass_through.vert",
    "chars": 350,
    "preview": "#version 330\n\n\n// Input vertex data, different for all executions of this shader.\nlayout(location = 0) in vec3 vertexPos"
  },
  {
    "path": ".config/fastfetch/arch.txt",
    "chars": 171,
    "preview": "          .\n         / \\\n        /   \\\n       /\\    \\\n      /       \\\n     /         \\\n    /    .-.    \\\n   /    |   |  "
  },
  {
    "path": ".config/fastfetch/config.jsonc",
    "chars": 1687,
    "preview": "//   _____ _____ _____ _____ _____ _____ _____ _____ _____ \n//  |   __|  _  |   __|_   _|   __|   __|_   _|     |  |  |\n"
  },
  {
    "path": ".config/hypr/hyprland.conf",
    "chars": 6075,
    "preview": "##   _   _                  _                 _\n##  | | | |_   _ _ __  _ __| | __ _ _ __   __| |\n##  | |_| | | | | '_ \\|"
  },
  {
    "path": ".config/hypr/hyprland_borders.conf",
    "chars": 5859,
    "preview": "##   _   _                  _                 _\n##  | | | |_   _ _ __  _ __| | __ _ _ __   __| |\n##  | |_| | | | | '_ \\|"
  },
  {
    "path": ".config/hyprlock/hyprlock.conf",
    "chars": 1729,
    "preview": "general {\n    grace = 0\n}\n\nbackground {\n    monitor =\n    path = ~/wallpaper/blue.jpg\n    blur_size = 4\n    blur_passes "
  },
  {
    "path": ".config/kitty/kitty.conf",
    "chars": 897,
    "preview": "██╗░░██╗██╗████████╗████████╗██╗░░░██╗\n██║░██╔╝██║╚══██╔══╝╚══██╔══╝╚██╗░██╔╝\n█████═╝░██║░░░██║░░░░░░██║░░░░╚████╔╝░\n██╔"
  },
  {
    "path": ".config/rofi/config.rasi",
    "chars": 36,
    "preview": "\n@theme \"/rounded-blue-dark.rasi\"\n\n\n"
  },
  {
    "path": ".config/rofi/rounded-blue-dark.rasi",
    "chars": 681,
    "preview": "/*******************************************************************************\n * ROUNDED THEME FOR ROFI \n * User     "
  },
  {
    "path": ".config/rofi/rounded-common.rasi",
    "chars": 1746,
    "preview": "/*******************************************************************************\n * ROUNDED THEME FOR ROFI \n * User     "
  },
  {
    "path": ".config/rofi/withBorder/config.rasi",
    "chars": 36,
    "preview": "\n@theme \"/rounded-blue-dark.rasi\"\n\n\n"
  },
  {
    "path": ".config/rofi/withBorder/rounded-blue-dark.rasi",
    "chars": 525,
    "preview": "/*******************************************************************************\n * ROUNDED THEME FOR ROFI \n * User     "
  },
  {
    "path": ".config/rofi/withBorder/rounded-common.rasi",
    "chars": 1741,
    "preview": "/*******************************************************************************\n * ROUNDED THEME FOR ROFI \n * User     "
  },
  {
    "path": ".config/swaync/config.json",
    "chars": 2274,
    "preview": "{\n  \"$schema\": \"/etc/xdg/swaync/configSchema.json\",\n  \"positionX\": \"right\",\n  \"positionY\": \"top\",\n  \"layer\": \"overlay\",\n"
  },
  {
    "path": ".config/swaync/configSchema.json",
    "chars": 21974,
    "preview": "{\n  \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n  \"title\": \"SwayNotificationCenter JSON schema\",\n  \"type\""
  },
  {
    "path": ".config/swaync/style.css",
    "chars": 903,
    "preview": "@define-color cc-bg rgba(12, 12, 12, 0.75);\n@define-color noti-border-color black;\n@define-color noti-bg rgba(12, 12, 12"
  },
  {
    "path": ".config/swaync/withBorders/config.json",
    "chars": 2276,
    "preview": "{\n  \"$schema\": \"/etc/xdg/swaync/configSchema.json\",\n  \"positionX\": \"right\",\n  \"positionY\": \"top\",\n  \"layer\": \"overlay\",\n"
  },
  {
    "path": ".config/swaync/withBorders/configSchema.json",
    "chars": 21974,
    "preview": "{\n  \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n  \"title\": \"SwayNotificationCenter JSON schema\",\n  \"type\""
  },
  {
    "path": ".config/swaync/withBorders/style.css",
    "chars": 13036,
    "preview": "@define-color cc-bg rgba(9, 9, 11, 1);\n@define-color noti-border-color rgb(53, 214, 231);\n@define-color noti-bg rgb(9, 9"
  },
  {
    "path": ".config/waybar/alt_config/config",
    "chars": 1650,
    "preview": "// __        __          _                 \n// \\ \\      / /_ _ _   _| |__   __ _ _ __  \n//  \\ \\ /\\ / / _` | | | | '_ \\ /"
  },
  {
    "path": ".config/waybar/alt_config/modules.json",
    "chars": 7713,
    "preview": "//  __  __           _       _            \n// |  \\/  | ___   __| |_   _| | ___  ___  \n// | |\\/| |/ _ \\ / _` | | | | |/ _"
  },
  {
    "path": ".config/waybar/alt_config/style.css",
    "chars": 9271,
    "preview": "/*\n * __        __          _                  ____  _         _\n * \\ \\      / /_ _ _   _| |__   __ _ _ __  / ___|| |_ _"
  },
  {
    "path": ".config/waybar/config",
    "chars": 1646,
    "preview": "// __        __          _                 \n// \\ \\      / /_ _ _   _| |__   __ _ _ __  \n//  \\ \\ /\\ / / _` | | | | '_ \\ /"
  },
  {
    "path": ".config/waybar/modules.json",
    "chars": 7070,
    "preview": "//  __  __           _       _            \n// |  \\/  | ___   __| |_   _| | ___  ___  \n// | |\\/| |/ _ \\ / _` | | | | |/ _"
  },
  {
    "path": ".config/waybar/style.css",
    "chars": 9956,
    "preview": "/*\n * __        __          _                  ____  _         _\n * \\ \\      / /_ _ _   _| |__   __ _ _ __  / ___|| |_ _"
  },
  {
    "path": ".config/waypaper/config.ini",
    "chars": 398,
    "preview": "[Settings]\nlanguage = en\nfolder = ~/wallpaper\nwallpaper = ~/wallpaper/highlands-grid.jpg\nbackend = swww\nmonitors = All\nf"
  },
  {
    "path": ".config/wlogout/layout",
    "chars": 806,
    "preview": "{\n    \"label\" : \"lock\",\n    \"action\" : \"loginctl lock-session\",\n    \"text\" : \"lock\",\n    \"keybind\" : \"l\"\n}\n{\n    \"label\""
  },
  {
    "path": ".config/wlogout/style.css",
    "chars": 870,
    "preview": "/*\n          _                         _    \n__      _| | ___   __ _  ___  _   _| |_  \n\\ \\ /\\ / / |/ _ \\ / _` |/ _ \\| | "
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Dark/cinnamon/cinnamon.css",
    "chars": 49772,
    "preview": "/***************************\n * Check and Radio buttons *\n ***************************/\nstage {\n  color: #eeeeec; }\n\n.la"
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Dark/gtk-2.0/gtkrc",
    "chars": 1408,
    "preview": "# Based on Bridge by ScionicSpectre\n# vim:set ts=2 sw=2 sts=2 ai et:\n#\n# This is the GTK+ 2 version of Adwaita. It's who"
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Dark/gtk-2.0/main.rc",
    "chars": 60668,
    "preview": "# vim:set ft=gtkrc ts=2 sw=2 sts=2 ai et:\n#\n# This is the main theme file, handling all the default widgets and theme\n# "
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Dark/gtk-3.0/gtk.css",
    "chars": 281328,
    "preview": "/***************************\n * Check and Radio buttons *\n ***************************/\n* {\n  padding: 0;\n  -GtkToolButt"
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Dark/gtk-4.0/gtk.css",
    "chars": 372581,
    "preview": "@define-color accent_bg_color #2777ff;\n@define-color accent_fg_color #ffffff;\n@define-color accent_color @accent_bg_colo"
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Dark/index.theme",
    "chars": 308,
    "preview": "[Desktop Entry]\nType=X-GNOME-Metatheme\nName=Flat-Remix-GTK-Blue-Dark\nComment=Flat-Remix-GTK-Blue-Dark theme\"\nEncoding=UT"
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Dark/install.sh",
    "chars": 343,
    "preview": "#!/bin/sh\n\noriginal_theme=\"$(gsettings get org.gnome.desktop.interface gtk-theme | tr -d \\')\"\nsed -i \"s/Adwaita/${origin"
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Dark/libadwaita/gtk.css",
    "chars": 3963,
    "preview": "@define-color accent_bg_color #2777ff;\n@define-color accent_fg_color #ffffff;\n@define-color accent_color @accent_bg_colo"
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Dark/uninstall.sh",
    "chars": 240,
    "preview": "#!/bin/sh\n\ntheme=Flat-Remix-GTK-Blue-Dark\n\nrm -rf ~/.config/gtk-4.0/gtk.css \\\n       ~/.config/gtk-4.0/assets \\\n       ~"
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Dark-Solid/cinnamon/cinnamon.css",
    "chars": 49659,
    "preview": "/***************************\n * Check and Radio buttons *\n ***************************/\nstage {\n  color: #eeeeec; }\n\n.la"
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Dark-Solid/gtk-2.0/gtkrc",
    "chars": 1408,
    "preview": "# Based on Bridge by ScionicSpectre\n# vim:set ts=2 sw=2 sts=2 ai et:\n#\n# This is the GTK+ 2 version of Adwaita. It's who"
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Dark-Solid/gtk-2.0/main.rc",
    "chars": 60668,
    "preview": "# vim:set ft=gtkrc ts=2 sw=2 sts=2 ai et:\n#\n# This is the main theme file, handling all the default widgets and theme\n# "
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Dark-Solid/gtk-3.0/gtk.css",
    "chars": 280655,
    "preview": "/***************************\n * Check and Radio buttons *\n ***************************/\n* {\n  padding: 0;\n  -GtkToolButt"
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Dark-Solid/gtk-4.0/gtk.css",
    "chars": 372352,
    "preview": "@define-color accent_bg_color #2777ff;\n@define-color accent_fg_color #ffffff;\n@define-color accent_color @accent_bg_colo"
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Dark-Solid/index.theme",
    "chars": 308,
    "preview": "[Desktop Entry]\nType=X-GNOME-Metatheme\nName=Flat-Remix-GTK-Blue-Dark\nComment=Flat-Remix-GTK-Blue-Dark theme\"\nEncoding=UT"
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Dark-Solid/install.sh",
    "chars": 343,
    "preview": "#!/bin/sh\n\noriginal_theme=\"$(gsettings get org.gnome.desktop.interface gtk-theme | tr -d \\')\"\nsed -i \"s/Adwaita/${origin"
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Dark-Solid/libadwaita/gtk.css",
    "chars": 3734,
    "preview": "@define-color accent_bg_color #2777ff;\n@define-color accent_fg_color #ffffff;\n@define-color accent_color @accent_bg_colo"
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Dark-Solid/uninstall.sh",
    "chars": 240,
    "preview": "#!/bin/sh\n\ntheme=Flat-Remix-GTK-Blue-Dark\n\nrm -rf ~/.config/gtk-4.0/gtk.css \\\n       ~/.config/gtk-4.0/assets \\\n       ~"
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Darkest/cinnamon/cinnamon.css",
    "chars": 49704,
    "preview": "/***************************\n * Check and Radio buttons *\n ***************************/\nstage {\n  color: #eeeeec; }\n\n.la"
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Darkest/gtk-2.0/gtkrc",
    "chars": 1402,
    "preview": "# Based on Bridge by ScionicSpectre\n# vim:set ts=2 sw=2 sts=2 ai et:\n#\n# This is the GTK+ 2 version of Adwaita. It's who"
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Darkest/gtk-2.0/main.rc",
    "chars": 60668,
    "preview": "# vim:set ft=gtkrc ts=2 sw=2 sts=2 ai et:\n#\n# This is the main theme file, handling all the default widgets and theme\n# "
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Darkest/gtk-3.0/gtk.css",
    "chars": 282081,
    "preview": "/***************************\n * Check and Radio buttons *\n ***************************/\n* {\n  padding: 0;\n  -GtkToolButt"
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Darkest/gtk-4.0/gtk.css",
    "chars": 372577,
    "preview": "@define-color accent_bg_color #2777ff;\n@define-color accent_fg_color #ffffff;\n@define-color accent_color @accent_bg_colo"
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Darkest/index.theme",
    "chars": 323,
    "preview": "[Desktop Entry]\nType=X-GNOME-Metatheme\nName=Flat-Remix-GTK-Blue-Darkest\nComment=Flat-Remix-GTK-Blue-Darkest theme\"\nEncod"
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Darkest/install.sh",
    "chars": 343,
    "preview": "#!/bin/sh\n\noriginal_theme=\"$(gsettings get org.gnome.desktop.interface gtk-theme | tr -d \\')\"\nsed -i \"s/Adwaita/${origin"
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Darkest/libadwaita/gtk.css",
    "chars": 3959,
    "preview": "@define-color accent_bg_color #2777ff;\n@define-color accent_fg_color #ffffff;\n@define-color accent_color @accent_bg_colo"
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Darkest/uninstall.sh",
    "chars": 243,
    "preview": "#!/bin/sh\n\ntheme=Flat-Remix-GTK-Blue-Darkest\n\nrm -rf ~/.config/gtk-4.0/gtk.css \\\n       ~/.config/gtk-4.0/assets \\\n     "
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Darkest-Solid/cinnamon/cinnamon.css",
    "chars": 49596,
    "preview": "/***************************\n * Check and Radio buttons *\n ***************************/\nstage {\n  color: #eeeeec; }\n\n.la"
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Darkest-Solid/gtk-2.0/gtkrc",
    "chars": 1402,
    "preview": "# Based on Bridge by ScionicSpectre\n# vim:set ts=2 sw=2 sts=2 ai et:\n#\n# This is the GTK+ 2 version of Adwaita. It's who"
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Darkest-Solid/gtk-2.0/main.rc",
    "chars": 60668,
    "preview": "# vim:set ft=gtkrc ts=2 sw=2 sts=2 ai et:\n#\n# This is the main theme file, handling all the default widgets and theme\n# "
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Darkest-Solid/gtk-3.0/gtk.css",
    "chars": 281417,
    "preview": "/***************************\n * Check and Radio buttons *\n ***************************/\n* {\n  padding: 0;\n  -GtkToolButt"
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Darkest-Solid/gtk-4.0/gtk.css",
    "chars": 372348,
    "preview": "@define-color accent_bg_color #2777ff;\n@define-color accent_fg_color #ffffff;\n@define-color accent_color @accent_bg_colo"
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Darkest-Solid/index.theme",
    "chars": 323,
    "preview": "[Desktop Entry]\nType=X-GNOME-Metatheme\nName=Flat-Remix-GTK-Blue-Darkest\nComment=Flat-Remix-GTK-Blue-Darkest theme\"\nEncod"
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Darkest-Solid/install.sh",
    "chars": 343,
    "preview": "#!/bin/sh\n\noriginal_theme=\"$(gsettings get org.gnome.desktop.interface gtk-theme | tr -d \\')\"\nsed -i \"s/Adwaita/${origin"
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Darkest-Solid/libadwaita/gtk.css",
    "chars": 3730,
    "preview": "@define-color accent_bg_color #2777ff;\n@define-color accent_fg_color #ffffff;\n@define-color accent_color @accent_bg_colo"
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Darkest-Solid/uninstall.sh",
    "chars": 243,
    "preview": "#!/bin/sh\n\ntheme=Flat-Remix-GTK-Blue-Darkest\n\nrm -rf ~/.config/gtk-4.0/gtk.css \\\n       ~/.config/gtk-4.0/assets \\\n     "
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Light/cinnamon/cinnamon.css",
    "chars": 49723,
    "preview": "/***************************\n * Check and Radio buttons *\n ***************************/\nstage {\n  color: #5c616c; }\n\n.la"
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Light/gtk-2.0/gtkrc",
    "chars": 1402,
    "preview": "# Based on Bridge by ScionicSpectre\n# vim:set ts=2 sw=2 sts=2 ai et:\n#\n# This is the GTK+ 2 version of Adwaita. It's who"
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Light/gtk-2.0/main.rc",
    "chars": 60668,
    "preview": "# vim:set ft=gtkrc ts=2 sw=2 sts=2 ai et:\n#\n# This is the main theme file, handling all the default widgets and theme\n# "
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Light/gtk-3.0/gtk-dark.css",
    "chars": 281328,
    "preview": "/***************************\n * Check and Radio buttons *\n ***************************/\n* {\n  padding: 0;\n  -GtkToolButt"
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Light/gtk-3.0/gtk.css",
    "chars": 281601,
    "preview": "/***************************\n * Check and Radio buttons *\n ***************************/\n* {\n  padding: 0;\n  -GtkToolButt"
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Light/gtk-4.0/gtk-dark.css",
    "chars": 372581,
    "preview": "@define-color accent_bg_color #2777ff;\n@define-color accent_fg_color #ffffff;\n@define-color accent_color @accent_bg_colo"
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Light/gtk-4.0/gtk.css",
    "chars": 372678,
    "preview": "@define-color accent_bg_color #2777ff;\n@define-color accent_fg_color #ffffff;\n@define-color accent_color @accent_bg_colo"
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Light/index.theme",
    "chars": 313,
    "preview": "[Desktop Entry]\nType=X-GNOME-Metatheme\nName=Flat-Remix-GTK-Blue-Light\nComment=Flat-Remix-GTK-Blue-Light theme\"\nEncoding="
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Light/install.sh",
    "chars": 343,
    "preview": "#!/bin/sh\n\noriginal_theme=\"$(gsettings get org.gnome.desktop.interface gtk-theme | tr -d \\')\"\nsed -i \"s/Adwaita/${origin"
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Light/libadwaita/gtk.css",
    "chars": 4060,
    "preview": "@define-color accent_bg_color #2777ff;\n@define-color accent_fg_color #ffffff;\n@define-color accent_color @accent_bg_colo"
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Light/uninstall.sh",
    "chars": 241,
    "preview": "#!/bin/sh\n\ntheme=Flat-Remix-GTK-Blue-Light\n\nrm -rf ~/.config/gtk-4.0/gtk.css \\\n       ~/.config/gtk-4.0/assets \\\n       "
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Light-Solid/cinnamon/cinnamon.css",
    "chars": 49579,
    "preview": "/***************************\n * Check and Radio buttons *\n ***************************/\nstage {\n  color: #5c616c; }\n\n.la"
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Light-Solid/gtk-2.0/gtkrc",
    "chars": 1402,
    "preview": "# Based on Bridge by ScionicSpectre\n# vim:set ts=2 sw=2 sts=2 ai et:\n#\n# This is the GTK+ 2 version of Adwaita. It's who"
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Light-Solid/gtk-2.0/main.rc",
    "chars": 60668,
    "preview": "# vim:set ft=gtkrc ts=2 sw=2 sts=2 ai et:\n#\n# This is the main theme file, handling all the default widgets and theme\n# "
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Light-Solid/gtk-3.0/gtk-dark.css",
    "chars": 280655,
    "preview": "/***************************\n * Check and Radio buttons *\n ***************************/\n* {\n  padding: 0;\n  -GtkToolButt"
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Light-Solid/gtk-3.0/gtk.css",
    "chars": 280865,
    "preview": "/***************************\n * Check and Radio buttons *\n ***************************/\n* {\n  padding: 0;\n  -GtkToolButt"
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Light-Solid/gtk-4.0/gtk-dark.css",
    "chars": 372352,
    "preview": "@define-color accent_bg_color #2777ff;\n@define-color accent_fg_color #ffffff;\n@define-color accent_color @accent_bg_colo"
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Light-Solid/gtk-4.0/gtk.css",
    "chars": 372449,
    "preview": "@define-color accent_bg_color #2777ff;\n@define-color accent_fg_color #ffffff;\n@define-color accent_color @accent_bg_colo"
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Light-Solid/index.theme",
    "chars": 313,
    "preview": "[Desktop Entry]\nType=X-GNOME-Metatheme\nName=Flat-Remix-GTK-Blue-Light\nComment=Flat-Remix-GTK-Blue-Light theme\"\nEncoding="
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Light-Solid/install.sh",
    "chars": 343,
    "preview": "#!/bin/sh\n\noriginal_theme=\"$(gsettings get org.gnome.desktop.interface gtk-theme | tr -d \\')\"\nsed -i \"s/Adwaita/${origin"
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Light-Solid/libadwaita/gtk.css",
    "chars": 3831,
    "preview": "@define-color accent_bg_color #2777ff;\n@define-color accent_fg_color #ffffff;\n@define-color accent_color @accent_bg_colo"
  },
  {
    "path": ".themes/Flat-Remix-GTK-Blue-Light-Solid/uninstall.sh",
    "chars": 241,
    "preview": "#!/bin/sh\n\ntheme=Flat-Remix-GTK-Blue-Light\n\nrm -rf ~/.config/gtk-4.0/gtk.css \\\n       ~/.config/gtk-4.0/assets \\\n       "
  },
  {
    "path": ".themes/Sweet-Ambar-Blue-Dark-v40/cinnamon/cinnamon-dark.css",
    "chars": 49718,
    "preview": "stage {\n  color: #F4F5F6; }\n\n.label-shadow {\n  color: rgba(0, 0, 0, 0); }\n\n.menu #notification .notification-button, .me"
  },
  {
    "path": ".themes/Sweet-Ambar-Blue-Dark-v40/cinnamon/cinnamon.css",
    "chars": 49713,
    "preview": "stage {\n  color: #F4F5F6; }\n\n.label-shadow {\n  color: rgba(0, 0, 0, 0); }\n\n.menu #notification .notification-button, .me"
  },
  {
    "path": ".themes/Sweet-Ambar-Blue-Dark-v40/gnome-shell/gnome-shell.css",
    "chars": 57998,
    "preview": "/*****************\n* Drawing mixins *\n*****************/\n/* GLOBALS */\nstage {\n  font-size: 11pt;\n  color: #F4F5F6; }\n\n/"
  },
  {
    "path": ".themes/Sweet-Ambar-Blue-Dark-v40/gtk-2.0/apps/chrome.rc",
    "chars": 1559,
    "preview": "# ==============================================================================\n# CHROME/-UIM SPECIFIC SETTINGS\n# ====="
  },
  {
    "path": ".themes/Sweet-Ambar-Blue-Dark-v40/gtk-2.0/apps/gimp.rc",
    "chars": 2019,
    "preview": "# ==============================================================================\n# GIMP SPECIFIC SETTINGS\n# ============"
  },
  {
    "path": ".themes/Sweet-Ambar-Blue-Dark-v40/gtk-2.0/apps/libreoffice.rc",
    "chars": 421,
    "preview": "# ==============================================================================\n# OPEN/LIBREOFFICE SPECIFIC SETTINGS\n# "
  },
  {
    "path": ".themes/Sweet-Ambar-Blue-Dark-v40/gtk-2.0/apps/terminal.rc",
    "chars": 1291,
    "preview": "# ==============================================================================\n# GNOME TERMINAL SPECIFIC SETTINGS\n# =="
  },
  {
    "path": ".themes/Sweet-Ambar-Blue-Dark-v40/gtk-2.0/apps/thunar.rc",
    "chars": 867,
    "preview": "# ==============================================================================\n# THUNAR SPECIFIC SETTINGS\n# =========="
  },
  {
    "path": ".themes/Sweet-Ambar-Blue-Dark-v40/gtk-2.0/apps/xfce.rc",
    "chars": 2802,
    "preview": "style \"theme-panel\" = \"dark\" {\n\txthickness\t= 1\n\tythickness\t= 1\n\tbg[NORMAL]\t= @panel_bg_color\n\tfg[NORMAL]\t= @panel_fg_col"
  },
  {
    "path": ".themes/Sweet-Ambar-Blue-Dark-v40/gtk-2.0/gtkrc",
    "chars": 1053,
    "preview": "\n# Text/base colors\ngtk-color-scheme = \"text_color:#F4F5F6\\nbase_color:#1b1c21\"\n# Foreground/background colors\ngtk-color"
  },
  {
    "path": ".themes/Sweet-Ambar-Blue-Dark-v40/gtk-2.0/main.rc",
    "chars": 61458,
    "preview": "style \"default\" {\n\n  xthickness = 1\n  ythickness = 1\n\n  ####################\n  # Style Properties #\n  ##################"
  },
  {
    "path": ".themes/Sweet-Ambar-Blue-Dark-v40/gtk-3.0/gtk-dark.css",
    "chars": 250609,
    "preview": "/*$selected_bg_color: #00e8c6;06d6a0*/\n/* GTK NAMED COLORS\n   ----------------\n   use responsibly! */\n/* widget text/for"
  },
  {
    "path": ".themes/Sweet-Ambar-Blue-Dark-v40/gtk-3.0/gtk.css",
    "chars": 250604,
    "preview": "/*$selected_bg_color: #00e8c6;06d6a0*/\n/* GTK NAMED COLORS\n   ----------------\n   use responsibly! */\n/* widget text/for"
  },
  {
    "path": ".themes/Sweet-Ambar-Blue-Dark-v40/gtk-4.0/gtk-dark.css",
    "chars": 271040,
    "preview": "/*$selected_bg_color: #00e8c6;06d6a0*/\n/* GTK NAMED COLORS\n   ----------------\n   use responsibly! */\n/* widget text/for"
  },
  {
    "path": ".themes/Sweet-Ambar-Blue-Dark-v40/gtk-4.0/gtk.css",
    "chars": 271035,
    "preview": "/*$selected_bg_color: #00e8c6;06d6a0*/\n/* GTK NAMED COLORS\n   ----------------\n   use responsibly! */\n/* widget text/for"
  },
  {
    "path": ".themes/Sweet-Ambar-Blue-Dark-v40/index.theme",
    "chars": 276,
    "preview": "[Desktop Entry]\nType=X-GNOME-Metatheme\nName=Sweet-Ambar-Blue-Dark\nComment=Light and dark colorful Gtk3.20+ theme\nEncodin"
  },
  {
    "path": ".themes/Sweet-Ambar-Blue-Dark-v40/metacity-1/metacity-theme-1.xml",
    "chars": 68053,
    "preview": "<?xml version=\"1.0\"?>\n<metacity_theme>\n<info>\n\t<name>Sweet-Ambar-Blue-Dark</name>\n\t<author>Eliver Lara &lt;eliverlara@gm"
  },
  {
    "path": ".themes/Sweet-Ambar-Blue-Dark-v40/metacity-1/metacity-theme-2.xml",
    "chars": 68053,
    "preview": "<?xml version=\"1.0\"?>\n<metacity_theme>\n<info>\n\t<name>Sweet-Ambar-Blue-Dark</name>\n\t<author>Eliver Lara &lt;eliverlara@gm"
  },
  {
    "path": ".themes/Sweet-Ambar-Blue-Dark-v40/metacity-1/metacity-theme-3.xml",
    "chars": 68053,
    "preview": "<?xml version=\"1.0\"?>\n<metacity_theme>\n<info>\n\t<name>Sweet-Ambar-Blue-Dark</name>\n\t<author>Eliver Lara &lt;eliverlara@gm"
  },
  {
    "path": ".themes/Sweet-Ambar-Blue-Dark-v40/metacity-1/metacity-theme.xml",
    "chars": 68053,
    "preview": "<?xml version=\"1.0\"?>\n<metacity_theme>\n<info>\n\t<name>Sweet-Ambar-Blue-Dark</name>\n\t<author>Eliver Lara &lt;eliverlara@gm"
  },
  {
    "path": ".themes/Sweet-Ambar-Blue-Dark-v40/xfwm4/themerc",
    "chars": 486,
    "preview": "#button_layout=O|HMC\nbutton_offset=2\nbutton_spacing=-1\n\nfull_width_title=true\n\ntitle_horizontal_offset=0\ntitle_vertical_"
  },
  {
    "path": ".zshrc",
    "chars": 535,
    "preview": "HISTFILE=~/.histfile\nHISTSIZE=1000\nSAVEHIST=1000\nbindkey -e\n\nzstyle :compinstall filename '~/.zshrc'\nclear && fastfetch\n"
  },
  {
    "path": "Keybinds cheat sheet",
    "chars": 628,
    "preview": "Meta + Enter         =  Terminal\nMeta + Q             =  kill active window\nMeta + M             =  Wlogout\nMeta + E    "
  },
  {
    "path": "README.md",
    "chars": 4255,
    "preview": "# Pilk's dotfiles\n\nThese are my current dotfiles.\nA very clean look for hyprland. As well as my first ever rice 🤓\n\nMost "
  },
  {
    "path": "Required Fonts",
    "chars": 129,
    "preview": "## Required Fonts\n\nFira Sans Semibold\nFont Awesome 6 Free\nFontAwesome\nDroidSansMono\nDroidSansMNerdFont\nMaterial Symbols "
  },
  {
    "path": "dependencies",
    "chars": 202,
    "preview": "hyprland\nwlogout\nwaypaper\nwaybar\nswww\nrofi\nswaync\nnemo\nkitty\npavucontrol\ngtk3\ngtk2\nxcur2png\ngsettings\nnwg-look\nfastfetch"
  },
  {
    "path": "gentoo/package.use/gtk-layer-shell",
    "chars": 44,
    "preview": "gui-libs/gtk-layer-shell introspection vala\n"
  },
  {
    "path": "gentoo/packages.accept_idontremeber/app-misc",
    "chars": 25,
    "preview": "app-misc/nwg-look ~amd64\n"
  },
  {
    "path": "gentoo/packages.accept_idontremeber/dev-python",
    "chars": 103,
    "preview": "dev-python/pipx ~amd64\ndev-python/moddb ~amd64\ndev-python/userpath ~amd64\ndev-python/pypresence ~amd64\n"
  },
  {
    "path": "gentoo/packages.accept_idontremeber/gui-apps",
    "chars": 93,
    "preview": "gui-apps/hyprshot ~amd64\ngui-apps/swaync ~amd64\ngui-apps/swww ~amd64\ngui-apps/wlogout ~amd64\n"
  },
  {
    "path": "gentoo/packages.accept_idontremeber/x11-apps",
    "chars": 25,
    "preview": "x11-apps/xcur2png ~amd64\n"
  },
  {
    "path": "gentoo/waypaper/waypaper.desktop",
    "chars": 227,
    "preview": "[Desktop Entry]\nEncoding=UTF-8\nType=Application\nExec=waypaper\nName=Waypaper\nIcon=waypaper\nTerminal=false\nGenericName=Way"
  },
  {
    "path": "install.sh",
    "chars": 4921,
    "preview": "#!/bin/bash\nset -e\n\n# Configs\nif [ \"$EUID\" -eq 0 ]; then\n  echo \"This script should not be run as root. Please run it as"
  },
  {
    "path": "optional",
    "chars": 16,
    "preview": "quich\nbtop\ncava\n"
  }
]

About this extraction

This page contains the full source code of the PilkDrinker/PilkDots GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 123 files (7.3 MB), approximately 1.9M tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!