├── wallpaper.jpg
├── assets
├── app.png
├── btop.png
├── steam.png
├── zen.png
├── desktop.png
├── discord.png
├── wlogout.png
└── hyprlock.png
├── .config
├── hypr
│ ├── wallpaper.jpg
│ ├── pyprland.toml
│ ├── hypridle.conf
│ ├── scripts
│ │ ├── gamemode.sh
│ │ ├── Refresh.sh
│ │ ├── Wlogout.sh
│ │ └── Volume.sh
│ ├── configs
│ │ ├── exec.conf
│ │ ├── look.conf
│ │ ├── plugins.conf
│ │ ├── window-rules.conf
│ │ └── binds.conf
│ ├── mocha.conf
│ ├── hyprlock.conf
│ └── hyprland.conf
├── swaync
│ ├── icons
│ │ ├── bolt.png
│ │ ├── music.png
│ │ ├── play.png
│ │ ├── timer.png
│ │ ├── wand.png
│ │ ├── gamemode.png
│ │ ├── palette.png
│ │ ├── picture.png
│ │ ├── microphone.png
│ │ ├── volume-high.png
│ │ ├── volume-low.png
│ │ ├── volume-mid.png
│ │ ├── volume-mute.png
│ │ ├── brightness-20.png
│ │ ├── brightness-40.png
│ │ ├── brightness-60.png
│ │ ├── brightness-80.png
│ │ ├── brightness-100.png
│ │ └── microphone-mute.png
│ ├── config.json
│ ├── themes
│ │ └── nova-dark
│ │ │ ├── notifications.css
│ │ │ └── central_control.css
│ ├── style.css
│ └── configSchema.json
├── fish
│ ├── config.back.fish
│ ├── config.fish
│ └── fish_variables
├── cava
│ ├── shaders
│ │ ├── pass_through.vert
│ │ ├── northern_lights.frag
│ │ └── bar_spectrum.frag
│ └── config
├── Thunar
│ ├── uca.xml
│ └── accels.scm
├── fastfetch
│ └── config.jsonc
├── sys64
│ └── hud
│ │ └── style.css
├── kitty
│ └── kitty.conf
├── btop
│ ├── themes
│ │ └── mocha.theme
│ ├── btop.log
│ └── btop.conf
├── starship.toml
└── waybar
│ ├── style.css
│ └── config
├── README.md
└── .local
└── share
└── rofi
└── themes
└── mocha.rasi
/wallpaper.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/m70v/DOTTY_DOTS/HEAD/wallpaper.jpg
--------------------------------------------------------------------------------
/assets/app.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/m70v/DOTTY_DOTS/HEAD/assets/app.png
--------------------------------------------------------------------------------
/assets/btop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/m70v/DOTTY_DOTS/HEAD/assets/btop.png
--------------------------------------------------------------------------------
/assets/steam.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/m70v/DOTTY_DOTS/HEAD/assets/steam.png
--------------------------------------------------------------------------------
/assets/zen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/m70v/DOTTY_DOTS/HEAD/assets/zen.png
--------------------------------------------------------------------------------
/assets/desktop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/m70v/DOTTY_DOTS/HEAD/assets/desktop.png
--------------------------------------------------------------------------------
/assets/discord.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/m70v/DOTTY_DOTS/HEAD/assets/discord.png
--------------------------------------------------------------------------------
/assets/wlogout.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/m70v/DOTTY_DOTS/HEAD/assets/wlogout.png
--------------------------------------------------------------------------------
/assets/hyprlock.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/m70v/DOTTY_DOTS/HEAD/assets/hyprlock.png
--------------------------------------------------------------------------------
/.config/hypr/wallpaper.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/m70v/DOTTY_DOTS/HEAD/.config/hypr/wallpaper.jpg
--------------------------------------------------------------------------------
/.config/swaync/icons/bolt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/m70v/DOTTY_DOTS/HEAD/.config/swaync/icons/bolt.png
--------------------------------------------------------------------------------
/.config/swaync/icons/music.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/m70v/DOTTY_DOTS/HEAD/.config/swaync/icons/music.png
--------------------------------------------------------------------------------
/.config/swaync/icons/play.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/m70v/DOTTY_DOTS/HEAD/.config/swaync/icons/play.png
--------------------------------------------------------------------------------
/.config/swaync/icons/timer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/m70v/DOTTY_DOTS/HEAD/.config/swaync/icons/timer.png
--------------------------------------------------------------------------------
/.config/swaync/icons/wand.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/m70v/DOTTY_DOTS/HEAD/.config/swaync/icons/wand.png
--------------------------------------------------------------------------------
/.config/swaync/icons/gamemode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/m70v/DOTTY_DOTS/HEAD/.config/swaync/icons/gamemode.png
--------------------------------------------------------------------------------
/.config/swaync/icons/palette.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/m70v/DOTTY_DOTS/HEAD/.config/swaync/icons/palette.png
--------------------------------------------------------------------------------
/.config/swaync/icons/picture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/m70v/DOTTY_DOTS/HEAD/.config/swaync/icons/picture.png
--------------------------------------------------------------------------------
/.config/swaync/icons/microphone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/m70v/DOTTY_DOTS/HEAD/.config/swaync/icons/microphone.png
--------------------------------------------------------------------------------
/.config/swaync/icons/volume-high.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/m70v/DOTTY_DOTS/HEAD/.config/swaync/icons/volume-high.png
--------------------------------------------------------------------------------
/.config/swaync/icons/volume-low.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/m70v/DOTTY_DOTS/HEAD/.config/swaync/icons/volume-low.png
--------------------------------------------------------------------------------
/.config/swaync/icons/volume-mid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/m70v/DOTTY_DOTS/HEAD/.config/swaync/icons/volume-mid.png
--------------------------------------------------------------------------------
/.config/swaync/icons/volume-mute.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/m70v/DOTTY_DOTS/HEAD/.config/swaync/icons/volume-mute.png
--------------------------------------------------------------------------------
/.config/swaync/icons/brightness-20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/m70v/DOTTY_DOTS/HEAD/.config/swaync/icons/brightness-20.png
--------------------------------------------------------------------------------
/.config/swaync/icons/brightness-40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/m70v/DOTTY_DOTS/HEAD/.config/swaync/icons/brightness-40.png
--------------------------------------------------------------------------------
/.config/swaync/icons/brightness-60.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/m70v/DOTTY_DOTS/HEAD/.config/swaync/icons/brightness-60.png
--------------------------------------------------------------------------------
/.config/swaync/icons/brightness-80.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/m70v/DOTTY_DOTS/HEAD/.config/swaync/icons/brightness-80.png
--------------------------------------------------------------------------------
/.config/swaync/icons/brightness-100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/m70v/DOTTY_DOTS/HEAD/.config/swaync/icons/brightness-100.png
--------------------------------------------------------------------------------
/.config/swaync/icons/microphone-mute.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/m70v/DOTTY_DOTS/HEAD/.config/swaync/icons/microphone-mute.png
--------------------------------------------------------------------------------
/.config/fish/config.back.fish:
--------------------------------------------------------------------------------
1 | if status is-interactive
2 | # Commands to run in interactive sessions can go here
3 |
4 | end
5 |
6 | neofetch
7 |
8 | #for greeting
9 | function fish_greeting
10 | echo "Welcome M70v!"
11 | end
--------------------------------------------------------------------------------
/.config/hypr/pyprland.toml:
--------------------------------------------------------------------------------
1 | [pyprland]
2 |
3 | plugins = [
4 | "scratchpads",
5 | "magnify",
6 | "expose",
7 | ]
8 |
9 | [scratchpads.term]
10 | animation = "fromTop"
11 | command = "kitty --class kitty-dropterm"
12 | class = "kitty-dropterm"
13 | size = "75% 60%"
14 |
--------------------------------------------------------------------------------
/.config/cava/shaders/pass_through.vert:
--------------------------------------------------------------------------------
1 | #version 330
2 |
3 |
4 | // Input vertex data, different for all executions of this shader.
5 | layout(location = 0) in vec3 vertexPosition_modelspace;
6 |
7 | // Output data ; will be interpolated for each fragment.
8 | out vec2 fragCoord;
9 |
10 | void main()
11 | {
12 | gl_Position = vec4(vertexPosition_modelspace,1);
13 | fragCoord = (vertexPosition_modelspace.xy+vec2(1,1))/2.0;
14 | }
15 |
--------------------------------------------------------------------------------
/.config/Thunar/uca.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | utilities-terminal
5 | Open Terminal Here
6 |
7 | 1734693562588808-1
8 | exo-open --working-directory %f --launch TerminalEmulator
9 | Example for a custom action
10 |
11 | *
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/.config/fish/config.fish:
--------------------------------------------------------------------------------
1 | if status is-interactive
2 | # Commands to run in interactive sessions can go here
3 | starship init fish | source
4 | end
5 |
6 | fastfetch
7 |
8 | #for greeting
9 | function fish_greeting
10 | echo ""
11 | end
12 | #starship init fish | source
13 | set -x HYPRSHOT_DIR ~/Pictures/Screenshots
14 | alias droidkill="waydroid session stop && sudo waydroid container stop"
15 | alias cord="/home/m70v/.config/hypr/scripts/cord.sh"
16 | alias cach="sudo sync && echo 3 | sudo tee /proc/sys/vm/drop_caches"
17 |
--------------------------------------------------------------------------------
/.config/hypr/hypridle.conf:
--------------------------------------------------------------------------------
1 | $lock_cmd = pidof hyprlock || hyprlock
2 | $suspend_cmd = pidof steam || systemctl suspend || loginctl suspend # fuck nvidia
3 |
4 | general {
5 | lock_cmd = $lock_cmd
6 | before_sleep_cmd = loginctl lock-session
7 | }
8 |
9 | listener {
10 | timeout = 180 # 3mins
11 | on-timeout = loginctl lock-session
12 | }
13 |
14 | listener {
15 | timeout = 240 # 4mins
16 | on-timeout = hyprctl dispatch dpms off
17 | on-resume = hyprctl dispatch dpms on
18 | }
19 |
20 | listener {
21 | timeout = 540 # 9mins
22 | on-timeout = $suspend_cmd
23 | }
24 |
--------------------------------------------------------------------------------
/.config/hypr/scripts/gamemode.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 | HYPRGAMEMODE=$(hyprctl getoption animations:enabled | awk 'NR==1{print $2}')
3 | if [ "$HYPRGAMEMODE" = 1 ] ; then
4 | hyprctl --batch "\
5 | keyword animations:enabled 0;\
6 | keyword decoration:shadow:enabled 0;\
7 | keyword decoration:blur:enabled 0;\
8 | keyword general:gaps_in 0;\
9 | keyword general:gaps_out 0;\
10 | keyword general:border_size 1;\
11 | keyword decoration:rounding 0"
12 | tuned-adm profile accelerator-performance
13 | exit
14 | fi
15 | sync && echo 3 | tee /proc/sys/vm/drop_caches
16 | hyprctl reload
17 |
--------------------------------------------------------------------------------
/.config/hypr/configs/exec.conf:
--------------------------------------------------------------------------------
1 | exec-once = waybar
2 | exec-once = pypr & hypridle # for some tricks and for idling
3 | exec-once = xwaylandvideobridge #for streaming
4 | exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP #for streaming
5 | exec-once = kdeconnectd #kde conncet
6 | exec-once = swww-daemon #wallpaper
7 | exec-once = nm-applet #network manager tray
8 | exec-once = hyprpm reload -nn #for hyprland plugins
9 | exec-once = wl-paste --type text --watch cliphist store # Stores only text data
10 | exec-once = wl-paste --type image --watch cliphist store # Stores only image data
11 | exec-once = udiskie #for auto mounting disks
12 | exec-once = systemctl --user start hyprpolkitagent #for authenrication apps
13 | exec-once = hyprcursor #for cursor
14 |
15 | exec-once = syshud #-o verticle -p right # for the audio thing
16 | exec-once = waypaper-engine daemon # walls app
17 | exec-once = hyprlock #hyprlock duh
18 |
19 |
--------------------------------------------------------------------------------
/.config/hypr/scripts/Refresh.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
3 | # Scripts for refreshing ags waybar, rofi, swaync, wallust
4 |
5 | SCRIPTSDIR=$HOME/.config/hypr/scripts
6 | UserScripts=$HOME/.config/hypr/UserScripts
7 |
8 | # Define file_exists function
9 | file_exists() {
10 | if [ -e "$1" ]; then
11 | return 0 # File exists
12 | else
13 | return 1 # File does not exist
14 | fi
15 | }
16 |
17 | # Kill already running processes
18 | _ps=(waybar rofi swaync ags)
19 | for _prs in "${_ps[@]}"; do
20 | if pidof "${_prs}" >/dev/null; then
21 | pkill "${_prs}"
22 | fi
23 | done
24 |
25 | # quit ags
26 | ags -q
27 |
28 | sleep 0.3
29 | #Restart waybar
30 | waybar &
31 |
32 | # relaunch swaync
33 | sleep 0.5
34 | swaync > /dev/null 2>&1 &
35 |
36 | # relaunch ags
37 | ags &
38 |
39 | # Relaunching rainbow borders if the script exists
40 | sleep 1
41 | if file_exists "${UserScripts}/RainbowBorders.sh"; then
42 | ${UserScripts}/RainbowBorders.sh &
43 | fi
44 |
45 |
46 | exit 0
--------------------------------------------------------------------------------
/.config/cava/shaders/northern_lights.frag:
--------------------------------------------------------------------------------
1 | #version 330
2 |
3 | in vec2 fragCoord;
4 | out vec4 fragColor;
5 |
6 | // bar values. defaults to left channels first (low to high), then right (high to low).
7 | uniform float bars[512];
8 |
9 | uniform int bars_count; // number of bars (left + right) (configurable)
10 |
11 | uniform vec3 u_resolution; // window resolution, not used here
12 |
13 | //colors, configurable in cava config file
14 | uniform vec3 bg_color; // background color(r,g,b) (0.0 - 1.0), not used here
15 | uniform vec3 fg_color; // foreground color, not used here
16 |
17 | void main()
18 | {
19 | // find which bar to use based on where we are on the x axis
20 | int bar = int(bars_count * fragCoord.x);
21 |
22 | float bar_y = 1.0 - abs((fragCoord.y - 0.5)) * 2.0;
23 | float y = (bars[bar]) * bar_y;
24 |
25 | float bar_x = (fragCoord.x - float(bar) / float(bars_count)) * bars_count;
26 | float bar_r = 1.0 - abs((bar_x - 0.5)) * 2;
27 |
28 | bar_r = bar_r * bar_r * 2;
29 |
30 | // set color
31 | fragColor.r = fg_color.x * y * bar_r;
32 | fragColor.g = fg_color.y * y * bar_r;
33 | fragColor.b = fg_color.z * y * bar_r;
34 | }
35 |
--------------------------------------------------------------------------------
/.config/fish/fish_variables:
--------------------------------------------------------------------------------
1 | # This file contains fish universal variable definitions.
2 | # VERSION: 3.0
3 | SETUVAR __fish_initialized:3400
4 | SETUVAR fish_color_autosuggestion:brblack
5 | SETUVAR fish_color_cancel:\x2dr
6 | SETUVAR fish_color_command:blue
7 | SETUVAR fish_color_comment:red
8 | SETUVAR fish_color_cwd:green
9 | SETUVAR fish_color_cwd_root:red
10 | SETUVAR fish_color_end:green
11 | SETUVAR fish_color_error:brred
12 | SETUVAR fish_color_escape:brcyan
13 | SETUVAR fish_color_history_current:\x2d\x2dbold
14 | SETUVAR fish_color_host:normal
15 | SETUVAR fish_color_host_remote:yellow
16 | SETUVAR fish_color_normal:normal
17 | SETUVAR fish_color_operator:brcyan
18 | SETUVAR fish_color_param:cyan
19 | SETUVAR fish_color_quote:yellow
20 | SETUVAR fish_color_redirection:cyan\x1e\x2d\x2dbold
21 | SETUVAR fish_color_search_match:bryellow\x1e\x2d\x2dbackground\x3dbrblack
22 | SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack
23 | SETUVAR fish_color_status:red
24 | SETUVAR fish_color_user:brgreen
25 | SETUVAR fish_color_valid_path:\x2d\x2dunderline
26 | SETUVAR fish_key_bindings:fish_default_key_bindings
27 | SETUVAR fish_pager_color_completion:normal
28 | SETUVAR fish_pager_color_description:yellow\x1e\x2di
29 | SETUVAR fish_pager_color_prefix:normal\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
30 | SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
31 | SETUVAR fish_pager_color_selected_background:\x2dr
32 | SETUVAR fish_user_paths:/root/\x2elocal/share/gem/ruby/3\x2e3\x2e0/bin
33 |
--------------------------------------------------------------------------------
/.config/hypr/mocha.conf:
--------------------------------------------------------------------------------
1 |
2 | $rosewater = rgb(f5e0dc)
3 | $rosewaterAlpha = f5e0dc
4 |
5 | $flamingo = rgb(f2cdcd)
6 | $flamingoAlpha = f2cdcd
7 |
8 | $pink = rgb(f5c2e7)
9 | $pinkAlpha = f5c2e7
10 |
11 | $mauve = rgb(cba6f7)
12 | $mauveAlpha = cba6f7
13 |
14 | $red = rgb(f38ba8)
15 | $redAlpha = f38ba8
16 |
17 | $maroon = rgb(eba0ac)
18 | $maroonAlpha = eba0ac
19 |
20 | $peach = rgb(fab387)
21 | $peachAlpha = fab387
22 |
23 | $yellow = rgb(f9e2af)
24 | $yellowAlpha = f9e2af
25 |
26 | $green = rgb(a6e3a1)
27 | $greenAlpha = a6e3a1
28 |
29 | $teal = rgb(94e2d5)
30 | $tealAlpha = 94e2d5
31 |
32 | $sky = rgb(89dceb)
33 | $skyAlpha = 89dceb
34 |
35 | $sapphire = rgb(74c7ec)
36 | $sapphireAlpha = 74c7ec
37 |
38 | $blue = rgb(89b4fa)
39 | $blueAlpha = 89b4fa
40 |
41 | $lavender = rgb(b4befe)
42 | $lavenderAlpha = b4befe
43 |
44 | $text = rgb(cdd6f4)
45 | $textAlpha = cdd6f4
46 |
47 | $subtext1 = rgb(bac2de)
48 | $subtext1Alpha = bac2de
49 |
50 | $subtext0 = rgb(a6adc8)
51 | $subtext0Alpha = a6adc8
52 |
53 | $overlay2 = rgb(9399b2)
54 | $overlay2Alpha = 9399b2
55 |
56 | $overlay1 = rgb(7f849c)
57 | $overlay1Alpha = 7f849c
58 |
59 | $overlay0 = rgb(6c7086)
60 | $overlay0Alpha = 6c7086
61 |
62 | $surface2 = rgb(585b70)
63 | $surface2Alpha = 585b70
64 |
65 | $surface1 = rgb(45475a)
66 | $surface1Alpha = 45475a
67 |
68 | $surface0 = rgb(313244)
69 | $surface0Alpha = 313244
70 |
71 | $base = rgb(1e1e2e)
72 | $baseAlpha = 1e1e2e
73 |
74 | $mantle = rgb(181825)
75 | $mantleAlpha = 181825
76 |
77 | $crust = rgb(11111b)
78 | $crustAlpha = 11111b
--------------------------------------------------------------------------------
/.config/swaync/config.json:
--------------------------------------------------------------------------------
1 | {
2 | // "$schema": "$XDG_CONFIG_HOME/swaync/configSchema.json",
3 | "control-center-height": 2,
4 | "control-center-layer": "overlay",
5 | "control-center-margin-bottom": 20,
6 | "control-center-margin-left": 10,
7 | "control-center-margin-right": 0,
8 | "control-center-margin-top": 10,
9 | "control-center-width": 500,
10 | "cssPriority": "application",
11 | "control-center-positionX":"right",
12 | "control-center-positionY":"center",
13 | "fit-to-screen": true,
14 | "hide-on-action": false,
15 | "hide-on-clear": true,
16 | "image-visibility": "when-available",
17 | "keyboard-shortcuts": true,
18 | "layer": "layer",
19 | "notification-body-image-height": 100,
20 | "notification-body-image-width": 200,
21 | "notification-icon-size": 40,
22 | "notification-inline-replies": true,
23 | "notification-visibility": {},
24 | "notification-window-width": 500,
25 | "positionX": "center",
26 | "positionY": "top",
27 | "script-fail-notify": true,
28 | "scripts": {},
29 | "timeout": 3,
30 | "timeout-critical": 0,
31 | "timeout-low": 3,
32 | "transition-time": 1000,
33 | "widget-config": {
34 | "volume": {
35 | "label": " ",
36 | "show-per-app": true,
37 | "show-per-app-icon": true,
38 | "show-per-app-label":true
39 | }
40 | },
41 |
42 | "widgets": [
43 | "title",
44 | "notifications",
45 |
46 | "mpris",
47 | "volume"
48 | ]
49 | }
--------------------------------------------------------------------------------
/.config/fastfetch/config.jsonc:
--------------------------------------------------------------------------------
1 | // _____ _____ _____ _____ _____ _____ _____ _____ _____
2 | // | __| _ | __|_ _| __| __|_ _| | | |
3 | // | __| |__ | | | | __| __| | | | --| |
4 | // |__| |__|__|_____| |_| |__| |_____| |_| |_____|__|__| OS
5 | //
6 | // by Bina
7 |
8 |
9 | {
10 | "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
11 | "logo": {
12 | "source": "arch_small", // search for logos: fastfetch --list-logos or --print-logos
13 | "padding": {
14 | "top": 1
15 | },
16 | },
17 | "display": {
18 | "separator": " "
19 | },
20 | "modules": [
21 | "break",
22 | "title",
23 | {
24 | "type": "os",
25 | "key": " ",
26 | "keyColor": "33", // = color3
27 | },
28 | {
29 | "type": "cpu",
30 | "key": "CPU ",
31 | "keyColor": "33",
32 | },
33 | {
34 | "type": "gpu",
35 | "format": "{1} {2}",
36 | "key": "GPU ",
37 | "keyColor": "33",
38 | },
39 | {
40 | "type": "packages",
41 | "format": "{} (pacman)",
42 | "key": "pkgs ",
43 | "keyColor": "33",
44 | },
45 | {
46 | "type": "uptime",
47 | "format": "{2}h {3}m",
48 | "key": "uptime",
49 | "keyColor": "33",
50 | },
51 | {
52 | "type": "memory",
53 | "key": "memory",
54 | "keyColor": "33",
55 | },
56 |
57 | "break",
58 | ]
59 | }
--------------------------------------------------------------------------------
/.config/sys64/hud/style.css:
--------------------------------------------------------------------------------
1 | #syshud {
2 | background: transparent;
3 | }
4 |
5 | #syshud .box_layout {
6 | background: #181825;
7 | border-radius: 8px;
8 | border: 2px solid #cba6f7;
9 | margin: 10px;
10 |
11 | }
12 |
13 | #syshud scale {
14 | margin: 0px;
15 | padding: 0px;
16 | }
17 | #syshud label {
18 | color: alpha(#cdd6f4, 0.5);
19 | }
20 |
21 | /* Horizontal layout */
22 | #syshud scale.horizontal {
23 | padding: 0px;
24 | min-height: 5px;
25 | }
26 | #syshud scale.horizontal trough {
27 | border-radius: 3px;
28 | background: alpha(#6c7086, 0.1);
29 | min-height: 5px;
30 | padding: 0px;
31 | }
32 | #syshud scale.horizontal highlight {
33 | border-radius: 3px;
34 | min-height: 30px;
35 | background: alpha(#cba6f7, 0.75);
36 | margin: 0px;
37 | }
38 | #syshud scale.horizontal slider {
39 | margin: 0px;
40 | background: transparent;
41 | min-height: 5px;
42 | box-shadow: none;
43 | padding: 0px;
44 | }
45 |
46 | /* Vertical layout */
47 | #syshud scale.vertical {
48 | padding: 0px;
49 | min-width: 5px;
50 | }
51 | #syshud scale.vertical trough {
52 | border-radius: 3px;
53 | background: alpha(currentColor, 0.1);
54 | min-width: 5px;
55 | padding: 0px;
56 | }
57 | #syshud scale.vertical highlight {
58 | border-radius: 3px;
59 | min-width: 5px;
60 | background: alpha(@theme_fg_color, 0.75);
61 | margin: 0px;
62 | }
63 | #syshud scale.vertical slider {
64 | margin: 0px;
65 | background: transparent;
66 | min-width: 5px;
67 | box-shadow: none;
68 | padding: 0px;
69 | min-height: 50px;
70 | }
71 |
72 | /* Levels */
73 | #syshud .muted {
74 | }
75 | #syshud .low {
76 | }
77 | #syshud .medium {
78 | }
79 | #syshud .high {
80 | }
81 |
82 |
--------------------------------------------------------------------------------
/.config/hypr/hyprlock.conf:
--------------------------------------------------------------------------------
1 |
2 |
3 | $clock = rgba(cad3f5ff)
4 |
5 | # BACKGROUND
6 | background {
7 | monitor =
8 | path = ~/wallpaper.jpg
9 | blur_passes = 3
10 | contrast = 0.9
11 | brightness = 0.81
12 | vibrancy = 0.17
13 | vibrancy_darkness = 0
14 | }
15 |
16 | # GENERAL
17 | general {
18 | disable_loading_bar = true
19 | }
20 |
21 | # INPUT FIELD
22 | input-field {
23 | monitor =
24 | size = 300, 40
25 | outline_thickness = 2
26 | dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8
27 | dots_spacing = 0.2 # Scale of dots' absolute size, 0.0 - 1.0
28 | dots_center = true
29 | outer_color = rgba(45475aff)
30 | inner_color = rgba(cdd6f4ff)
31 | font_color = rgba(363a4fff)
32 | fade_on_empty = true
33 | placeholder_text =
34 | hide_input = false
35 | position = 0, 150
36 | halign = center
37 | valign = bottom
38 | }
39 |
40 | # Hour-Time
41 | label {
42 | monitor =
43 | text = cmd[update:1000] echo -e "$(date +"%I")"
44 | color = $clock
45 | font_family = JetBrainsMono Bold
46 | font_size = 180
47 | position = 0, 150
48 | halign = center
49 | valign = center
50 | }
51 |
52 | # Minute-Time
53 | label {
54 | monitor =
55 | text = cmd[update:1000] echo -e "$(date +"%M ")"
56 | color = $clock
57 | font_family = JetBrainsMono Bold
58 | font_size = 180
59 | position = 0, -75
60 | halign = center
61 | valign = center
62 | }
63 |
64 | # Date
65 | label {
66 | monitor =
67 | text = cmd[update:1000] echo -e "$(date +"%a, %b %d")"
68 | color = $clock
69 | font_family = JetBrainsMono Bold
70 | position = 0, 0
71 | halign = center
72 | valign = top
73 | }
74 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # DOTTY_DOTS
2 | my very first hyprland rice!!
3 |
4 | Most of the dots are either catpuccin mocha or dots from others that i modified to my liking :)
5 | # **some of these configs are outdate (mainly the hyprland config)**
6 | # Dependencies
7 | these were the main packages used in this rice:
8 | - btop
9 | - cava
10 | - fastfetch
11 | - hypridle
12 | - hyprland
13 | - hyprlock
14 | - swww
15 | - udiskie
16 | - waybar
17 | - wl-clipboard
18 | - wlogout
19 | - rofi
20 | - fish
21 | - waypaper
22 | - waypaper-engine
23 | - hyprcursor
24 | - dracula cursor https://store.kde.org/p/1669262
25 | - dracula icons https://github.com/m4thewz/dracula-icons
26 | - starship
27 | - syshud https://github.com/System64fumo/syshud
28 | - Adwaita for Steam https://github.com/tkashkin/Adwaita-for-Steam
29 | - zen-browser https://zen-browser.app/
30 | - discord theme: https://github.com/refact0r/midnight-discord/blob/master/themes/flavors/midnight-catppuccin-mocha.theme.css
31 |
32 | # ScreenShots
33 |
34 |
35 | ### desktop with cava and kitty
36 | 
37 |
38 | ### btop
39 | 
40 |
41 | ### Steam
42 | 
43 |
44 | ### App launcher + audio hud
45 | 
46 |
47 | ### hyprlock
48 | 
49 |
50 | ### Logout menu
51 | 
52 |
53 | ### Discord
54 | 
55 |
56 | ### Browser
57 | 
58 |
--------------------------------------------------------------------------------
/.config/kitty/kitty.conf:
--------------------------------------------------------------------------------
1 | # vim:ft=kitty
2 |
3 | ## name: Catppuccin Kitty Mocha
4 | ## author: Catppuccin Org
5 | ## license: MIT
6 | ## upstream: https://github.com/catppuccin/kitty/blob/main/themes/mocha.conf
7 | ## blurb: Soothing pastel theme for the high-spirited!
8 |
9 |
10 |
11 | # The basic colors
12 | foreground #cdd6f4
13 | background #1e1e2e
14 | selection_foreground #1e1e2e
15 | selection_background #f5e0dc
16 |
17 | # Cursor colors
18 | cursor #f5e0dc
19 | cursor_text_color #1e1e2e
20 |
21 | # URL underline color when hovering with mouse
22 | url_color #f5e0dc
23 |
24 | # Kitty window border colors
25 | active_border_color #b4befe
26 | inactive_border_color #6c7086
27 | bell_border_color #f9e2af
28 |
29 | # OS Window titlebar colors
30 | wayland_titlebar_color system
31 | macos_titlebar_color system
32 |
33 | # Tab bar colors
34 | active_tab_foreground #11111b
35 | active_tab_background #cba6f7
36 | inactive_tab_foreground #cdd6f4
37 | inactive_tab_background #181825
38 | tab_bar_background #11111b
39 |
40 | # Colors for marks (marked text in the terminal)
41 | mark1_foreground #1e1e2e
42 | mark1_background #b4befe
43 | mark2_foreground #1e1e2e
44 | mark2_background #cba6f7
45 | mark3_foreground #1e1e2e
46 | mark3_background #74c7ec
47 |
48 | # The 16 terminal colors
49 |
50 | # black
51 | color0 #45475a
52 | color8 #585b70
53 |
54 | # red
55 | color1 #f38ba8
56 | color9 #f38ba8
57 |
58 | # green
59 | color5 #a6e3a1
60 | color13 #a6e3a1
61 |
62 | # blue
63 | color4 #89b4fa
64 | color12 #89b4fa
65 |
66 | # lavender
67 | color3 #b4befe
68 | color11 #b4befe
69 |
70 | # magenta
71 | color2 #f5c2e7
72 | color10 #f5c2e7
73 |
74 | # mauve
75 | color6 #cba6f7
76 | color14 #cba6f7
77 |
78 | # white
79 | color7 #bac2de
80 | color15 #a6adc8
--------------------------------------------------------------------------------
/.config/hypr/hyprland.conf:
--------------------------------------------------------------------------------
1 |
2 | # ______ ___ _________ _________ ____ ____ ______ ___ _________ ______
3 | # |_ _ `. .' `. | _ _ || _ _ ||_ _||_ _| |_ _ `. .' `. | _ _ |.' ____ \
4 | # | | `. \/ .-. \|_/ | | \_||_/ | | \_| \ \ / / | | `. \/ .-. \|_/ | | \_|| (___ \_|
5 | # | | | || | | | | | | | \ \/ / | | | || | | | | | _.____`.
6 | # _| |_.' /\ `-' / _| |_ _| |_ _| |_ _______ _| |_.' /\ `-' / _| |_ | \____) |
7 | # |______.' `.___.' |_____| |_____| |______||_______||______.' `.___.' |_____| \______.'
8 |
9 |
10 |
11 |
12 | $terminal = kitty
13 | $fileManager = dolphins
14 | $menu = rofi -show drun
15 |
16 |
17 | #config files
18 | source = ~/.config/hypr/configs/binds.conf
19 | source = ~/.config/hypr/configs/window-rules.conf
20 | source = ~/.config/hypr/configs/plugins.conf
21 | source = ~/.config/hypr/configs/exec.conf
22 | source = ~/.config/hypr/configs/look.conf
23 |
24 | #screens
25 | monitor= eDP-1 ,1920x1080@120,auto,1
26 |
27 |
28 | #cursor
29 | env = XCURSOR_SIZE,24
30 | env = HYPRCURSOR_SIZE,24
31 | env = XCURSOR_THEME,Dracula-cursors
32 | cursor {
33 | no_hardware_cursors = true
34 | }
35 |
36 | #for nvidia
37 | env = LIBVA_DRIVER_NAME,nvidia
38 | env = __GLX_VENDOR_LIBRARY_NAME,nvidia
39 | env = NVD_BACKEND,direct
40 |
41 |
42 | #input
43 | input {
44 | kb_layout = us,ara
45 | kb_variant = ,
46 | kb_options = grp:alt_shift_toggle
47 |
48 | touchpad {
49 | disable_while_typing = true
50 | natural_scroll = true
51 | clickfinger_behavior = false
52 | middle_button_emulation = true
53 | tap-to-click = true
54 | drag_lock = false
55 | }
56 | sensitivity = 0.0000000
57 | force_no_accel = 1
58 | accel_profile=flat
59 | follow_mouse=1
60 |
61 |
62 | }
63 |
64 | gestures {
65 | workspace_swipe = true
66 | workspace_swipe_fingers = 3
67 | workspace_swipe_distance = 100
68 | workspace_swipe_invert = true
69 | workspace_swipe_min_speed_to_force = 30
70 | workspace_swipe_cancel_ratio = 0.5
71 | workspace_swipe_create_new = true
72 | workspace_swipe_forever = true
73 | }
74 | device {
75 | name = epic-mouse-v1
76 | sensitivity = 0
77 | }
78 |
79 |
--------------------------------------------------------------------------------
/.local/share/rofi/themes/mocha.rasi:
--------------------------------------------------------------------------------
1 | * {
2 | bg-col: #1e1e2e;
3 | bg-col-light: #1e1e2e;
4 | border-col: #1e1e2e;
5 | selected-col: #1e1e2e;
6 | blue: #cba6f7;
7 | fg-col: #cdd6f4;
8 | fg-col2: #cba6f7;
9 | grey: #6c7086;
10 |
11 | width: 600;
12 | font: "JetBrainsMono Nerd Font 14";
13 | }
14 |
15 | element-text, element-icon , mode-switcher {
16 | background-color: inherit;
17 | text-color: inherit;
18 | }
19 |
20 | window {
21 | height: 360px;
22 | border: 3px;
23 | border-color: @blue;
24 | background-color: @bg-col;
25 | border-radius: 7px;
26 | }
27 |
28 | mainbox {
29 | background-color: @bg-col;
30 | }
31 |
32 | inputbar {
33 | children: [prompt,entry];
34 | background-color: @bg-col;
35 | border-radius: 5px;
36 | padding: 2px;
37 | }
38 |
39 | prompt {
40 | background-color: @blue;
41 | padding: 6px;
42 | text-color: @bg-col;
43 | border-radius: 3px;
44 | margin: 20px 0px 0px 20px;
45 | }
46 |
47 | textbox-prompt-colon {
48 | expand: false;
49 | str: ":";
50 | }
51 |
52 | entry {
53 | padding: 6px;
54 | margin: 20px 0px 0px 10px;
55 | text-color: @fg-col;
56 | background-color: @bg-col;
57 | }
58 |
59 | listview {
60 | border: 0px 0px 0px;
61 | padding: 6px 0px 0px;
62 | margin: 10px 0px 0px 20px;
63 | columns: 1;
64 | lines: 10;
65 | background-color: @bg-col;
66 | }
67 |
68 | element {
69 | padding: 5px;
70 | background-color: @bg-col;
71 | text-color: @fg-col ;
72 | }
73 |
74 | element-icon {
75 | size: 25px;
76 | }
77 |
78 | element selected {
79 | background-color: @selected-col ;
80 | text-color: #89b4fa ;
81 | }
82 |
83 | mode-switcher {
84 | spacing: 0;
85 | }
86 |
87 | button {
88 | padding: 10px;
89 | background-color: @bg-col-light;
90 | text-color: @grey;
91 | vertical-align: 0.5;
92 | horizontal-align: 0.5;
93 | }
94 |
95 | button selected {
96 | background-color: @bg-col;
97 | text-color: @blue;
98 | }
99 |
100 | message {
101 | background-color: @bg-col-light;
102 | margin: 2px;
103 | padding: 2px;
104 | border-radius: 5px;
105 | }
106 |
107 | textbox {
108 | padding: 6px;
109 | margin: 20px 0px 0px 20px;
110 | text-color: @blue;
111 | background-color: @bg-col-light;
112 | }
--------------------------------------------------------------------------------
/.config/hypr/configs/look.conf:
--------------------------------------------------------------------------------
1 | general {
2 | gaps_in = 2
3 | gaps_out = 3
4 |
5 | border_size = 2
6 |
7 | # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
8 | col.active_border = rgba(c6a0f6ff) #rgba(7287fdff) rgba(33ccffee) 90deg
9 | col.inactive_border = rgba(c6a0f655)
10 |
11 | # Set to true enable resizing windows by clicking and dragging on borders and gaps
12 | resize_on_border = true
13 |
14 | # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
15 | allow_tearing = false
16 |
17 | layout = dwindle
18 | }
19 | input {
20 | numlock_by_default = true
21 | }
22 | decoration {
23 | rounding = 5
24 |
25 | active_opacity = 1
26 | inactive_opacity = 1
27 | fullscreen_opacity = 1
28 | dim_inactive = yes
29 | dim_strength = 0.3
30 | dim_special = 0
31 |
32 | blur {
33 | enabled = no
34 | size = 5
35 | passes = 4
36 | ignore_opacity = true
37 | new_optimizations = true
38 | special = true
39 | noise = 0
40 | contrast = 100
41 | xray = false
42 | brightness = 0.8
43 | }
44 | }
45 | animations {
46 | enabled = yes
47 |
48 | bezier = quart, 0.19, 1, -0.30, 1
49 | bezier = wind, 0.05, 0.9, 0.1, 1.05
50 | bezier = winIn, 0.1, 1.1, 0.1, 1.1
51 | bezier = winOut, 0.3, -0.3, 0, 1
52 | bezier = liner, 1, 1, 1, 1
53 | bezier = overshot, 0.05, 0.9, 0.1, 1.05
54 | bezier = smoothOut, 0.5, 0, 0.99, 0.99
55 | bezier = smoothIn, 0.5, -0.5, 0.68, 1.5
56 |
57 | animation = windows, 1, 5, quart, slide
58 | animation = windowsIn, 1, 5, quart, slide
59 | animation = windowsOut, 1, 5, quart, slide
60 | animation = windowsMove, 1, 3, quart,
61 | animation = border, 0, 5, quart
62 | animation = fade, 1, 3, quart
63 | animation = workspaces, 1, 2, quart
64 | }
65 |
66 | misc:vfr = true
67 | # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
68 | dwindle {
69 | pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
70 | preserve_split = true # You probably want this
71 | }
72 |
73 | # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
74 | master {
75 | new_status = master
76 | }
77 |
78 | # https://wiki.hyprland.org/Configuring/Variables/#misc
79 | misc {
80 | force_default_wallpaper = 1 # Set to 0 or 1 to disable the anime mascot wallpapers
81 | disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :(
82 | }
83 |
--------------------------------------------------------------------------------
/.config/btop/themes/mocha.theme:
--------------------------------------------------------------------------------
1 | # Main background, empty for terminal default, need to be empty if you want transparent background
2 | theme[main_bg]="#1e1e2e"
3 |
4 | # Main text color
5 | theme[main_fg]="#cdd6f4"
6 |
7 | # Title color for boxes
8 | theme[title]="#cdd6f4"
9 |
10 | # Highlight color for keyboard shortcuts
11 | theme[hi_fg]="#89b4fa"
12 |
13 | # Background color of selected item in processes box
14 | theme[selected_bg]="#45475a"
15 |
16 | # Foreground color of selected item in processes box
17 | theme[selected_fg]="#89b4fa"
18 |
19 | # Color of inactive/disabled text
20 | theme[inactive_fg]="#7f849c"
21 |
22 | # Color of text appearing on top of graphs, i.e uptime and current network graph scaling
23 | theme[graph_text]="#f5e0dc"
24 |
25 | # Background color of the percentage meters
26 | theme[meter_bg]="#45475a"
27 |
28 | # Misc colors for processes box including mini cpu graphs, details memory graph and details status text
29 | theme[proc_misc]="#f5e0dc"
30 |
31 | # CPU, Memory, Network, Proc box outline colors
32 | theme[cpu_box]="#cba6f7" #Mauve
33 | theme[mem_box]="#a6e3a1" #Green
34 | theme[net_box]="#eba0ac" #Maroon
35 | theme[proc_box]="#89b4fa" #Blue
36 |
37 | # Box divider line and small boxes line color
38 | theme[div_line]="#6c7086"
39 |
40 | # Temperature graph color (Green -> Yellow -> Red)
41 | theme[temp_start]="#a6e3a1"
42 | theme[temp_mid]="#f9e2af"
43 | theme[temp_end]="#f38ba8"
44 |
45 | # CPU graph colors (Teal -> Lavender)
46 | theme[cpu_start]="#94e2d5"
47 | theme[cpu_mid]="#74c7ec"
48 | theme[cpu_end]="#b4befe"
49 |
50 | # Mem/Disk free meter (Mauve -> Lavender -> Blue)
51 | theme[free_start]="#cba6f7"
52 | theme[free_mid]="#b4befe"
53 | theme[free_end]="#89b4fa"
54 |
55 | # Mem/Disk cached meter (Sapphire -> Lavender)
56 | theme[cached_start]="#74c7ec"
57 | theme[cached_mid]="#89b4fa"
58 | theme[cached_end]="#b4befe"
59 |
60 | # Mem/Disk available meter (Peach -> Red)
61 | theme[available_start]="#fab387"
62 | theme[available_mid]="#eba0ac"
63 | theme[available_end]="#f38ba8"
64 |
65 | # Mem/Disk used meter (Green -> Sky)
66 | theme[used_start]="#a6e3a1"
67 | theme[used_mid]="#94e2d5"
68 | theme[used_end]="#89dceb"
69 |
70 | # Download graph colors (Peach -> Red)
71 | theme[download_start]="#fab387"
72 | theme[download_mid]="#eba0ac"
73 | theme[download_end]="#f38ba8"
74 |
75 | # Upload graph colors (Green -> Sky)
76 | theme[upload_start]="#a6e3a1"
77 | theme[upload_mid]="#94e2d5"
78 | theme[upload_end]="#89dceb"
79 |
80 | # Process box color gradient for threads, mem and cpu usage (Sapphire -> Mauve)
81 | theme[process_start]="#74c7ec"
82 | theme[process_mid]="#b4befe"
83 | theme[process_end]="#cba6f7"
--------------------------------------------------------------------------------
/.config/cava/shaders/bar_spectrum.frag:
--------------------------------------------------------------------------------
1 | #version 330
2 |
3 | in vec2 fragCoord;
4 | out vec4 fragColor;
5 |
6 | // bar values. defaults to left channels first (low to high), then right (high to low).
7 | uniform float bars[512];
8 |
9 | uniform int bars_count; // number of bars (left + right) (configurable)
10 | uniform int bar_width; // bar width (configurable), not used here
11 | uniform int bar_spacing; // space bewteen bars (configurable)
12 |
13 | uniform vec3 u_resolution; // window resolution
14 |
15 | //colors, configurable in cava config file (r,g,b) (0.0 - 1.0)
16 | uniform vec3 bg_color; // background color
17 | uniform vec3 fg_color; // foreground color
18 |
19 | uniform int gradient_count;
20 | uniform vec3 gradient_colors[8]; // gradient colors
21 |
22 | vec3 normalize_C(float y,vec3 col_1, vec3 col_2, float y_min, float y_max)
23 | {
24 | //create color based on fraction of this color and next color
25 | float yr = (y - y_min) / (y_max - y_min);
26 | return col_1 * (1.0 - yr) + col_2 * yr;
27 | }
28 |
29 | void main()
30 | {
31 | // find which bar to use based on where we are on the x axis
32 | float x = u_resolution.x * fragCoord.x;
33 | int bar = int(bars_count * fragCoord.x);
34 |
35 | //calculate a bar size
36 | float bar_size = u_resolution.x / bars_count;
37 |
38 | //the y coordinate and bar values are the same
39 | float y = bars[bar];
40 |
41 | // make sure there is a thin line at bottom
42 | if (y * u_resolution.y < 1.0)
43 | {
44 | y = 1.0 / u_resolution.y;
45 | }
46 |
47 | //draw the bar up to current height
48 | if (y > fragCoord.y)
49 | {
50 | //make some space between bars basen on settings
51 | if (x > (bar + 1) * (bar_size) - bar_spacing)
52 | {
53 | fragColor = vec4(bg_color,1.0);
54 | }
55 | else
56 | {
57 | if (gradient_count == 0)
58 | {
59 | fragColor = vec4(fg_color,1.0);
60 | }
61 | else
62 | {
63 | //find which color in the configured gradient we are at
64 | int color = int((gradient_count - 1) * fragCoord.y);
65 |
66 | //find where on y this and next color is supposed to be
67 | float y_min = color / (gradient_count - 1.0);
68 | float y_max = (color + 1.0) / (gradient_count - 1.0);
69 |
70 | //make color
71 | fragColor = vec4(normalize_C(fragCoord.y, gradient_colors[color], gradient_colors[color + 1], y_min, y_max), 1.0);
72 | }
73 | }
74 | }
75 | else
76 | {
77 | fragColor = vec4(bg_color,1.0);
78 | }
79 | }
--------------------------------------------------------------------------------
/.config/starship.toml:
--------------------------------------------------------------------------------
1 | format = """
2 | [](#1E1E2E)\
3 | $python\
4 | $username\
5 | [](bg:#302D41 fg:#1E1E2E)\
6 | $directory\
7 | [](fg:#302D41 bg:#575268)\
8 | $git_branch\
9 | $git_status\
10 | [](fg:#575268 bg:#8D77AB)\
11 | $c\
12 | $elixir\
13 | $elm\
14 | $golang\
15 | $haskell\
16 | $java\
17 | $julia\
18 | $nodejs\
19 | $nim\
20 | $rust\
21 | [](fg:#8D77AB bg:#A891F2)\
22 | $docker_context\
23 | [](fg:#A891F2 bg:#b08ae0)\
24 | $time\
25 | [ ](fg:#b08ae0)\
26 | """
27 | command_timeout = 5000
28 | # Disable the blank line at the start of the prompt
29 | # add_newline = false
30 |
31 | [username]
32 | show_always = true
33 | style_user = "bg:#1E1E2E"
34 | style_root = "bg:#1E1E2E"
35 | format = '[$user ]($style)'
36 |
37 | [directory]
38 | style = "bg:#302D41"
39 | format = "[ $path ]($style)"
40 | truncation_length = 3
41 | truncation_symbol = "…/"
42 |
43 | [directory.substitutions]
44 | "Documents" = " "
45 | "Downloads" = " "
46 | "Music" = " "
47 | "Pictures" = " "
48 |
49 | [c]
50 | symbol = " "
51 | style = "bg:#8D77AB"
52 | format = '[ $symbol ($version) ]($style)'
53 |
54 | [docker_context]
55 | symbol = " "
56 | style = "bg:#A891F2"
57 | format = '[ $symbol $context ]($style) $path'
58 |
59 | [elixir]
60 | symbol = " "
61 | style = "bg:#8D77AB"
62 | format = '[ $symbol ($version) ]($style)'
63 |
64 | [elm]
65 | symbol = " "
66 | style = "bg:#8D77AB"
67 | format = '[ $symbol ($version) ]($style)'
68 |
69 | [git_branch]
70 | symbol = ""
71 | style = "bg:#575268"
72 | format = '[ $symbol $branch ]($style)'
73 |
74 | [git_status]
75 | style = "bg:#575268"
76 | format = '[$all_status$ahead_behind ]($style)'
77 |
78 | [golang]
79 | symbol = " "
80 | style = "bg:#8D77AB"
81 | format = '[ $symbol ($version) ]($style)'
82 |
83 | [haskell]
84 | symbol = " "
85 | style = "bg:#8D77AB"
86 | format = '[ $symbol ($version) ]($style)'
87 |
88 | [java]
89 | symbol = " "
90 | style = "bg:#8D77AB"
91 | format = '[ $symbol ($version) ]($style)'
92 |
93 | [julia]
94 | symbol = " "
95 | style = "bg:#8D77AB"
96 | format = '[ $symbol ($version) ]($style)'
97 |
98 | [nodejs]
99 | symbol = ""
100 | style = "bg:#8D77AB"
101 | format = '[ $symbol ($version) ]($style)'
102 |
103 | [nim]
104 | symbol = " "
105 | style = "bg:#8D77AB"
106 | format = '[ $symbol ($version) ]($style)'
107 |
108 | [python]
109 | style = "bg:#1E1E2E"
110 | format = '[(\($virtualenv\) )]($style)'
111 |
112 | [rust]
113 | symbol = ""
114 | style = "bg:#8D77AB"
115 | format = '[ $symbol ($version) ]($style)'
116 |
117 | [time]
118 | disabled = false
119 | time_format = "%R"
120 | style = "bg:#b08ae0"
121 | format = '[ $time ]($style)'
122 |
--------------------------------------------------------------------------------
/.config/hypr/scripts/Wlogout.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
3 | # wlogout (Power, Screen Lock, Suspend, etc)
4 |
5 | # Set variables for parameters. First numbers corresponts to Monitor Resolution
6 | # i.e 2160 means 2160p
7 | A_2160=700
8 | B_2160=700
9 | A_1600=480
10 | B_1600=480
11 | A_1440=450
12 | B_1440=450
13 | A_1080=350
14 | B_1080=350
15 | A_720=50
16 | B_720=50
17 |
18 | # Check if wlogout is already running
19 | if pgrep -x "wlogout" > /dev/null; then
20 | pkill -x "wlogout"
21 | exit 0
22 | fi
23 |
24 | # Detect monitor resolution and scaling factor
25 | resolution=$(hyprctl -j monitors | jq -r '.[] | select(.focused==true) | .height / .scale' | awk -F'.' '{print $1}')
26 | hypr_scale=$(hyprctl -j monitors | jq -r '.[] | select(.focused==true) | .scale')
27 |
28 | # Set parameters based on screen resolution and scaling factor
29 | if ((resolution >= 2160)); then
30 | T_val=$(awk "BEGIN {printf \"%.0f\", $A_2160 * 2160 * $hypr_scale / $resolution}")
31 | B_val=$(awk "BEGIN {printf \"%.0f\", $B_2160 * 2160 * $hypr_scale / $resolution}")
32 | echo "Setting parameters for resolution >= 4k"
33 | wlogout --protocol layer-shell -b 6 -T $T_val -B $B_val &
34 | elif ((resolution >= 1600 && resolution < 2160)); then
35 | T_val=$(awk "BEGIN {printf \"%.0f\", $A_1600 * 1600 * $hypr_scale / $resolution}")
36 | B_val=$(awk "BEGIN {printf \"%.0f\", $B_1600 * 1600 * $hypr_scale / $resolution}")
37 | echo "Setting parameters for resolution >= 2.5k and < 4k"
38 | wlogout --protocol layer-shell -b 6 -T $T_val -B $B_val &
39 | elif ((resolution >= 1440 && resolution < 1600)); then
40 | T_val=$(awk "BEGIN {printf \"%.0f\", $A_1440 * 1440 * $hypr_scale / $resolution}")
41 | B_val=$(awk "BEGIN {printf \"%.0f\", $B_1440 * 1440 * $hypr_scale / $resolution}")
42 | echo "Setting parameters for resolution >= 2k and < 2.5k"
43 | wlogout --protocol layer-shell -b 6 -T $T_val -B $B_val &
44 | elif ((resolution >= 1080 && resolution < 1440)); then
45 | T_val=$(awk "BEGIN {printf \"%.0f\", $A_1080 * 1080 * $hypr_scale / $resolution}")
46 | B_val=$(awk "BEGIN {printf \"%.0f\", $B_1080 * 1080 * $hypr_scale / $resolution}")
47 | echo "Setting parameters for resolution >= 1080p and < 2k"
48 | wlogout --protocol layer-shell -b 6 -T $T_val -B $B_val &
49 | elif ((resolution >= 720 && resolution < 1080)); then
50 | T_val=$(awk "BEGIN {printf \"%.0f\", $A_720 * 720 * $hypr_scale / $resolution}")
51 | B_val=$(awk "BEGIN {printf \"%.0f\", $B_720 * 720 * $hypr_scale / $resolution}")
52 | echo "Setting parameters for resolution >= 720p and < 1080p"
53 | wlogout --protocol layer-shell -b 3 -T $T_val -B $B_val &
54 | else
55 | echo "Setting default parameters"
56 | wlogout &
57 | fi
58 |
--------------------------------------------------------------------------------
/.config/hypr/configs/plugins.conf:
--------------------------------------------------------------------------------
1 | #alot of these i dont use now
2 | #####plugins
3 |
4 | plugin {
5 | hyprtrails {
6 | color = rgba(cba6f7ff)
7 | }
8 | }
9 |
10 | plugin {
11 | hyprwinwrap {
12 | # class is an EXACT match and NOT a regex!
13 | class = kitty-bg
14 | }
15 | }
16 |
17 | # path must be absolute
18 |
19 |
20 | plugin {
21 | hyprexpo {
22 | columns = 2
23 | gap_size = 10
24 | bg_col = rgb(111111)
25 | workspace_method = center current # [center/first] [workspace] e.g. first 1 or center m+1
26 |
27 | enable_gesture = false # laptop touchpad
28 | gesture_fingers = 3 # 3 or 4
29 | gesture_distance = 300 # how far is the "max"
30 | gesture_positive = false # positive = swipe down. Negative = swipe up.
31 | }
32 | }
33 | plugin {
34 | nstack {
35 | layout {
36 | orientation=left
37 | new_on_top=0
38 | new_is_master=1
39 | no_gaps_when_only=0
40 | special_scale_factor=0.8
41 | inherit_fullscreen=1
42 | stacks=2
43 | center_single_master=0
44 | mfact=0.5
45 | single_mfact=0.5
46 | }
47 | }
48 | }
49 | plugin {
50 | borders-plus-plus {
51 | add_borders = 1 # 0 - 9
52 |
53 | # you can add up to 9 borders
54 | col.border_2 = rgba(7287fdff)
55 | col.border_1 = rgba(c6a0f6ff)
56 |
57 | # -1 means "default" as in the one defined in general:border_size
58 | border_size_1 = 2
59 | border_size_2 = 2
60 |
61 | # makes outer edges match rounding of the parent. Turn on / off to better understand. Default = on.
62 | natural_rounding = no
63 | }
64 | }
65 |
66 | plugin {
67 | hyprtasking {
68 | grid{
69 | rows = 2
70 | }
71 | exit_behavior = interacted
72 | gap_size = 8
73 | bg_color = rgb(000000)
74 | border_size = 4
75 | }
76 | }
77 |
78 | plugin:hyprfocus {
79 | enabled = yes
80 |
81 | focus_animation = shrink
82 |
83 | bezier = bezIn, 0.5,0.0,1.0,0.5
84 | bezier = bezOut, 0.0,0.5,0.5,1.0
85 | bezier = overshot, 0.05, 0.9, 0.1, 1.05
86 | bezier = smoothOut, 0.36, 0, 0.66, -0.56
87 | bezier = smoothIn, 0.25, 1, 0.5, 1
88 | bezier = realsmooth, 0.28,0.29,.69,1.08
89 | flash {
90 | flash_opacity = 0.7
91 |
92 | in_bezier = overshot
93 | in_speed = 0.5
94 |
95 | out_bezier = bezOut
96 | out_speed = 3
97 | }
98 |
99 | shrink {
100 | shrink_percentage = 0.995
101 |
102 | in_bezier = bezIn
103 | in_speed = 0.5
104 |
105 | out_bezier = bezOut
106 | out_speed = 1
107 | }
108 | }
--------------------------------------------------------------------------------
/.config/swaync/themes/nova-dark/notifications.css:
--------------------------------------------------------------------------------
1 | @define-color text @foreground;
2 | @define-color background-alt @color1;
3 | @define-color selected @color3;
4 | @define-color hover @color5;
5 | @define-color urgent @color2;
6 |
7 | * {
8 |
9 | /*background-alt: @color1; Buttons background */
10 | /*selected: @color2; Button selected */
11 | /*hover: @color5; Hover button */
12 | /*urgent: @color6; Urgency critical */
13 | /*text-selected: @background; */
14 |
15 | color: @text;
16 |
17 | all: unset;
18 | font-size: 14px;
19 | font-family: "JetBrains Mono Nerd Font 10";
20 | transition: 200ms;
21 |
22 | }
23 |
24 | .notification-row {
25 | outline: none;
26 | margin: 0;
27 | padding: 0px;
28 | }
29 |
30 | .floating-notifications.background .notification-row .notification-background {
31 | background: alpha(@background, .55);
32 | box-shadow: 0 0 8px 0 rgba(0,0,0,.6);
33 | border: 1px solid @selected;
34 | border-radius: 24px;
35 | margin: 16px;
36 | padding: 0;
37 | }
38 |
39 | .floating-notifications.background .notification-row .notification-background .notification {
40 | padding: 6px;
41 | border-radius: 12px;
42 | }
43 |
44 | .floating-notifications.background .notification-row .notification-background .notification.critical {
45 | border: 2px solid @urgent;
46 | }
47 |
48 | .floating-notifications.background .notification-row .notification-background .notification .notification-content {
49 | margin: 14px;
50 | }
51 |
52 | .floating-notifications.background .notification-row .notification-background .notification > *:last-child > * {
53 | min-height: 3.4em;
54 | }
55 |
56 | .floating-notifications.background .notification-row .notification-background .notification > *:last-child > * .notification-action {
57 | border-radius: 8px;
58 | background-color: @background-alt ;
59 | margin: 6px;
60 | border: 1px solid transparent;
61 | }
62 |
63 | .floating-notifications.background .notification-row .notification-background .notification > *:last-child > * .notification-action:hover {
64 | background-color: @hover;
65 | border: 1px solid @selected;
66 | }
67 |
68 | .floating-notifications.background .notification-row .notification-background .notification > *:last-child > * .notification-action:active {
69 | background-color: @selected;
70 | color: @background;
71 | }
72 |
73 | .image {
74 | margin: 10px 20px 10px 0px;
75 | }
76 |
77 | .summary {
78 | font-weight: 800;
79 | font-size: 1rem;
80 | }
81 |
82 | .body {
83 | font-size: 0.8rem;
84 | }
85 |
86 | .floating-notifications.background .notification-row .notification-background .close-button {
87 | margin: 6px;
88 | padding: 2px;
89 | border-radius: 6px;
90 | background-color: transparent;
91 | border: 1px solid transparent;
92 | }
93 |
94 | .floating-notifications.background .notification-row .notification-background .close-button:hover {
95 | background-color: @selected;
96 | }
97 |
98 | .floating-notifications.background .notification-row .notification-background .close-button:active {
99 | background-color: @selected;
100 | color: @background;
101 | }
102 |
103 | .notification.critical progress {
104 | background-color: @selected;
105 | }
106 |
107 | .notification.low progress,
108 | .notification.normal progress {
109 | background-color: @selected;
110 | }
111 |
112 |
--------------------------------------------------------------------------------
/.config/hypr/scripts/Volume.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
3 | # Scripts for volume controls for audio and mic
4 |
5 | iDIR="$HOME/.config/swaync/icons"
6 | sDIR="$HOME/.config/hypr/scripts"
7 |
8 | # Get Volume
9 | get_volume() {
10 | volume=$(pamixer --get-volume)
11 | if [[ "$volume" -eq "0" ]]; then
12 | echo "Muted"
13 | else
14 | echo "$volume%"
15 | fi
16 | }
17 |
18 | # Get icons
19 | get_icon() {
20 | current=$(get_volume)
21 | if [[ "$current" == "Muted" ]]; then
22 | echo "$iDIR/volume-mute.png"
23 | elif [[ "${current%\%}" -le 30 ]]; then
24 | echo "$iDIR/volume-low.png"
25 | elif [[ "${current%\%}" -le 60 ]]; then
26 | echo "$iDIR/volume-mid.png"
27 | else
28 | echo "$iDIR/volume-high.png"
29 | fi
30 | }
31 |
32 | # Notify
33 | notify_user() {
34 | if [[ "$(get_volume)" == "Muted" ]]; then
35 | notify-send -e -h string:x-canonical-private-synchronous:volume_notif -u low -i "$(get_icon)" "Volume: Muted"
36 | else
37 | notify-send -e -h int:value:"$(get_volume | sed 's/%//')" -h string:x-canonical-private-synchronous:volume_notif -u low -i "$(get_icon)" "Volume: $(get_volume)"
38 | "$sDIR/Sounds.sh" --volume
39 | fi
40 | }
41 |
42 | # Increase Volume
43 | inc_volume() {
44 | if [ "$(pamixer --get-mute)" == "true" ]; then
45 | toggle_mute
46 | else
47 | pamixer -i 5 --allow-boost --set-limit 150
48 | fi
49 | }
50 |
51 | # Decrease Volume
52 | dec_volume() {
53 | if [ "$(pamixer --get-mute)" == "true" ]; then
54 | toggle_mute
55 | else
56 | pamixer -d 5 --allow-boost
57 | fi
58 | }
59 |
60 | # Toggle Mute
61 | toggle_mute() {
62 | if [ "$(pamixer --get-mute)" == "false" ]; then
63 | pamixer -m && notify-send -e -u low -i "$iDIR/volume-mute.png" "Volume Switched OFF"
64 | elif [ "$(pamixer --get-mute)" == "true" ]; then
65 | pamixer -u && notify-send -e -u low -i "$(get_icon)" "Volume Switched ON"
66 | fi
67 | }
68 |
69 | # Toggle Mic
70 | toggle_mic() {
71 | if [ "$(pamixer --default-source --get-mute)" == "false" ]; then
72 | pamixer --default-source -m && notify-send -e -u low -i "$iDIR/microphone-mute.png" "Microphone Switched OFF"
73 | elif [ "$(pamixer --default-source --get-mute)" == "true" ]; then
74 | pamixer -u --default-source u && notify-send -e -u low -i "$iDIR/microphone.png" "Microphone Switched ON"
75 | fi
76 | }
77 | # Get Mic Icon
78 | get_mic_icon() {
79 | current=$(pamixer --default-source --get-volume)
80 | if [[ "$current" -eq "0" ]]; then
81 | echo "$iDIR/microphone-mute.png"
82 | else
83 | echo "$iDIR/microphone.png"
84 | fi
85 | }
86 |
87 | # Get Microphone Volume
88 | get_mic_volume() {
89 | volume=$(pamixer --default-source --get-volume)
90 | if [[ "$volume" -eq "0" ]]; then
91 | echo "Muted"
92 | else
93 | echo "$volume%"
94 | fi
95 | }
96 |
97 | # Notify for Microphone
98 | notify_mic_user() {
99 | volume=$(get_mic_volume)
100 | icon=$(get_mic_icon)
101 | notify-send -e -h int:value:"$volume" -h "string:x-canonical-private-synchronous:volume_notif" -u low -i "$icon" "Mic-Level: $volume"
102 | }
103 |
104 | # Increase MIC Volume
105 | inc_mic_volume() {
106 | if [ "$(pamixer --default-source --get-mute)" == "true" ]; then
107 | toggle_mic
108 | else
109 | pamixer --default-source -i 5 --allow-boost --set-limit 150
110 | fi
111 | }
112 |
113 | # Decrease MIC Volume
114 | dec_mic_volume() {
115 | if [ "$(pamixer --default-source --get-mute)" == "true" ]; then
116 | toggle-mic
117 | else
118 | pamixer --default-source -d 5 --allow-boost
119 | fi
120 | }
121 |
122 | # Execute accordingly
123 | if [[ "$1" == "--get" ]]; then
124 | get_volume
125 | elif [[ "$1" == "--inc" ]]; then
126 | inc_volume
127 | elif [[ "$1" == "--dec" ]]; then
128 | dec_volume
129 | elif [[ "$1" == "--toggle" ]]; then
130 | toggle_mute
131 | elif [[ "$1" == "--toggle-mic" ]]; then
132 | toggle_mic
133 | elif [[ "$1" == "--get-icon" ]]; then
134 | get_icon
135 | elif [[ "$1" == "--get-mic-icon" ]]; then
136 | get_mic_icon
137 | elif [[ "$1" == "--mic-inc" ]]; then
138 | inc_mic_volume
139 | elif [[ "$1" == "--mic-dec" ]]; then
140 | dec_mic_volume
141 | else
142 | get_volume
143 | fi
144 |
--------------------------------------------------------------------------------
/.config/waybar/style.css:
--------------------------------------------------------------------------------
1 | * {
2 | font-family: "JetBrainsMono Nerd Font";
3 |
4 | font-weight: bold;
5 | min-height: 0;
6 | /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */
7 | font-size: 95%;
8 | font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"';
9 | }
10 |
11 |
12 |
13 | window#waybar {
14 | background: transparent;
15 | border-radius: 5px;
16 | color: whitesmoke;
17 | }
18 |
19 | window#waybar.hidden {
20 | opacity: 0.5;
21 | }
22 |
23 | window#waybar.empty,
24 | window#waybar.empty #window {
25 | padding: 0px;
26 | border: 0px;
27 | background-color: transparent;
28 | }
29 |
30 | tooltip {
31 | color: #cdd6f4;
32 | background: #1e1e2e;
33 | border-radius: 10px;
34 | border-width: 2px;
35 | border-style: solid;
36 | border-color: #11111b;
37 | }
38 |
39 | tooltip label {
40 | color: #cdd6f4;
41 | padding-right: 2px;
42 | padding-left: 2px;
43 | }
44 |
45 | /*-----module groups----*/
46 | .modules-right,
47 | .modules-center,
48 | .modules-left {
49 | border-radius: 5px 5px 5px 5px;
50 | background-color:#1e1e2e;
51 | padding-top: 0px;
52 | padding-bottom: 0px;
53 | padding-right: 4px;
54 | padding-left: 4px;
55 | }
56 |
57 | #taskbar button,
58 | #workspaces button {
59 | color: #cba6f7;
60 | background-color: #cdd6f4;
61 | padding: 0px 5px;
62 | margin:4px 1px;
63 | border-radius: 15px;
64 | animation: gradient_f 20s ease-in infinite;
65 | transition: all 0.5s cubic-bezier(.55,-0.68,.48,1.682);
66 |
67 | }
68 |
69 | #taskbar button.active,
70 | #workspaces button.active {
71 | color: #cba6f7;
72 | border-radius: 15px;
73 | background-color: #cdd6f4;
74 | min-width: 40px;
75 | background-size: 400% 400%;
76 | opacity:1;
77 | transition: all 0.3s cubic-bezier(.55,-0.68,.48,1.682);
78 | }
79 |
80 | #workspaces button.focused {
81 | color: #b4befe;
82 | }
83 |
84 | #workspaces button.urgent {
85 | color: #11111b;
86 | border-radius: 10px;
87 | }
88 |
89 | #taskbar button:hover,
90 | #workspaces button:hover {
91 | color: #b4befe;
92 | border-radius: 15px;
93 | padding-left: 2px;
94 | padding-right: 2px;
95 | animation: gradient_f 20s ease-in infinite;
96 | transition: all 0.3s cubic-bezier(.55,-0.68,.48,1.682);
97 | }
98 | #battery,
99 | #backlight,
100 | #backlight-slider,
101 | #bbattery,
102 | #bluetooth,
103 | #clock,
104 | #cpu,
105 | #disk,
106 | #idle_inhibitor,
107 | #keyboard-state,
108 | #memory,
109 | #mode,
110 | #mpris,
111 | #network,
112 | #power-profiles-daemon,
113 | #pulseaudio,
114 | #pulseaudio-slider,
115 | #taskbar,
116 | #temperature,
117 | #tray,
118 | #cava,
119 | #window,
120 | #wireplumber,
121 | #workspaces,
122 | #custom-backlight,
123 | #custom-browser,
124 | #custom-cava,
125 | #custom-cycle_wall,
126 | #custom-file_manager,
127 | #custom-keybinds,
128 | #custom-keyboard,
129 | #custom-light_dark,
130 | #custom-lock,
131 | #custom-hint,
132 | #custom-hypridle,
133 | #custom-menu,
134 | #custom-power_vertical,
135 | #custom-power,
136 | #custom-settings,
137 | #custom-spotify,
138 | #custom-swaync,
139 | #custom-tty,
140 | #custom-updater,
141 | #custom-weather,
142 | #custom-weather.clearNight,
143 | #custom-weather.cloudyFoggyDay,
144 | #custom-weather.cloudyFoggyNight,
145 | #custom-weather.default,
146 | #custom-weather.rainyDay,
147 | #custom-weather.rainyNight,
148 | #custom-weather.severe,
149 | #custom-weather.showyIcyDay,
150 | #custom-weather.snowyIcyNight,
151 | #custom-weather.sunnyDay {
152 | color: #cdd6f4;
153 | border-radius: 8px;
154 | padding-top: 5px;
155 | padding-bottom: 5px;
156 | padding-right: 6px;
157 | padding-left: 6px;
158 | }
159 |
160 | #temperature.critical {
161 | background-color: #ff0000;
162 | }
163 |
164 | @keyframes blink {
165 | to {
166 | color: #000000;
167 | }
168 | }
169 |
170 | /*-----Indicators----*/
171 | #custom-hypridle.notactive,
172 | #idle_inhibitor.activated {
173 | color: #39FF14;
174 | }
175 |
176 | #battery.critical:not(.charging) {
177 | color: #f53c3c;
178 | animation-name: blink;
179 | animation-duration: 0.5s;
180 | animation-timing-function: linear;
181 | animation-iteration-count: infinite;
182 | animation-direction: alternate;
183 | }
184 | #pulseaudio-slider slider {
185 | min-width: 0px;
186 | min-height: 0px;
187 | opacity: 0;
188 | background-image: none;
189 | border: none;
190 | box-shadow: none;
191 | }
192 |
193 | #pulseaudio-slider trough {
194 | min-width: 80px;
195 | min-height: 5px;
196 | border-radius: 5px;
197 | }
198 |
199 | #pulseaudio-slider highlight {
200 | min-height: 10px;
201 | border-radius: 5px;
202 | }
203 |
204 | #backlight-slider slider {
205 | min-width: 0px;
206 | min-height: 0px;
207 | opacity: 0;
208 | background-image: none;
209 | border: none;
210 | box-shadow: none;
211 | }
212 |
213 | #backlight-slider trough {
214 | min-width: 80px;
215 | min-height: 10px;
216 | border-radius: 5px;
217 | }
218 |
219 | #backlight-slider highlight {
220 | min-width: 10px;
221 | border-radius: 5px;
222 | }
223 |
--------------------------------------------------------------------------------
/.config/hypr/configs/window-rules.conf:
--------------------------------------------------------------------------------
1 | windowrule = float, ^(waypaper)$
2 |
3 |
4 | windowrulev2 = float, class:([Tt]hunar), title:(File Operation Progress)
5 | windowrulev2 = float, class:([Tt]hunar), title:(Confirm to replace files)
6 |
7 | # Ignore maximize requests from apps. You'll probably like this.
8 | windowrulev2 = suppressevent maximize, class:.*
9 |
10 | # Fix some dragging issues with XWayland
11 | windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
12 |
13 |
14 | windowrulev2 = opacity 0.0 override, class:^(xwaylandvideobridge)$
15 | windowrulev2 = noanim, class:^(xwaylandvideobridge)$
16 | windowrulev2 = noinitialfocus, class:^(xwaylandvideobridge)$
17 | windowrulev2 = maxsize 1 1, class:^(xwaylandvideobridge)$
18 | windowrulev2 = noblur, class:^(xwaylandvideobridge)$
19 | windowrulev2 = nofocus, class:^(xwaylandvideobridge)$
20 |
21 |
22 | windowrule = center,^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)
23 | windowrule = center,^([Ww]hatsapp-for-linux)$
24 | windowrule = center,^([Ff]erdium)$
25 | windowrulev2 = center, class:([Tt]hunar), title:(File Operation Progress)
26 | windowrulev2 = center, class:([Tt]hunar), title:(Confirm to replace files)
27 | windowrulev2 = center, title:^(ROG Control)$
28 | windowrulev2 = center, title:^(Keybindings)$
29 | windowrulev2 = move 72% 7%,title:^(Picture-in-Picture)$
30 | windowrulev2 = idleinhibit fullscreen, class:^(*)$
31 | windowrulev2 = idleinhibit fullscreen, title:^(*)$
32 | windowrulev2 = idleinhibit fullscreen, fullscreen:1
33 |
34 | windowrulev2 = workspace 1, class:^([Tt]hunderbird)$
35 | windowrulev2 = workspace 2, class:^([Mm]icrosoft-edge(-stable|-beta|-dev|-unstable)?)$
36 | windowrulev2 = workspace 2, class:^([Gg]oogle-chrome(-beta|-dev|-unstable)?)$
37 | windowrulev2 = workspace 2, class:^([Tt]horium-browser)$
38 | windowrulev2 = workspace 4, class:^(com.obsproject.Studio)$
39 |
40 | windowrulev2 = workspace special:magic silent, class:^([Dd]iscord|[Ww]ebCord|[Vv]esktop)$
41 | windowrulev2 = workspace 7, class:^([Ff]erdium)$
42 | windowrulev2 = workspace special:magic, class:^([Ss]potube)$
43 | windowrulev2 = workspace 6 silent, class:^(virt-manager)$
44 | windowrulev2 = workspace 9 silent, class:^([Aa]udacious)$
45 | windowrulev2 = workspace special:magic, class:^([Ss]team)$,title:^((?![Ss]team).*|[Ss]team [Ss]ettings)$
46 |
47 |
48 | # windowrule v2 - float
49 | windowrulev2 = float, class:^(org.kde.polkit-kde-authentication-agent-1)$
50 | windowrulev2 = float, class:([Zz]oom|onedriver|onedriver-launcher)$
51 | windowrulev2 = float, class:([Tt]hunar), title:(File Operation Progress)
52 | windowrulev2 = float, class:([Tt]hunar), title:(Confirm to replace files)
53 | windowrulev2 = float, class:(xdg-desktop-portal-gtk)
54 | windowrulev2 = float, class:(org.gnome.Calculator), title:(Calculator)
55 | windowrulev2 = float, class:(codium|codium-url-handler|VSCodium|code-oss), title:(Add Folder to Workspace)
56 | windowrulev2 = float, class:(electron), title:(Add Folder to Workspace)
57 | windowrulev2 = float, class:^([Rr]ofi)$
58 | windowrulev2 = float, class:^(eog|org.gnome.Loupe)$ # image viewer
59 | windowrulev2 = float, class:^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$
60 | windowrulev2 = float, class:^(nwg-look|qt5ct|qt6ct)$
61 |
62 | windowrulev2 = float, class:^(nm-applet|nm-connection-editor|blueman-manager)$
63 | windowrulev2 = float, class:^(gnome-system-monitor|org.gnome.SystemMonitor|io.missioncenter.MissionCenter)$ # system monitor
64 | windowrulev2 = float, class:^([Yy]ad)$
65 | windowrulev2 = float, class:^(wihotspot(-gui)?)$ # wifi hotspot
66 | windowrulev2 = float, class:^(evince)$ # document viewer
67 | windowrulev2 = float, class:^(file-roller|org.gnome.FileRoller)$ # archive manager
68 | windowrulev2 = float, class:^([Bb]aobab|org.gnome.[Bb]aobab)$ # Disk usage analyzer
69 | windowrulev2 = float, title:(Kvantum Manager)
70 | windowrulev2 = float, title:^(Friends List|Steam Settings)$
71 | windowrulev2 = float, class:^([Qq]alculate-gtk)$
72 | #windowrulev2 = float, class:^([Ww]hatsapp-for-linux)$
73 | windowrulev2 = float, class:^([Ff]erdium)$
74 | windowrulev2 = float, title:^(Picture-in-Picture)$
75 | windowrulev2 = float, title:^(ROG Control)$
76 | windowrulev2 = float, title:^(Spotube)$
77 | #windowrulev2 = float, title:^(Firefox)$
78 | windowrulev2 = float, title:^(hyprgui)$
79 | windowrulev2 = float,title: ^cava$ -> kitty
80 | windowrulev2 = float,size 800 600,regex:title:^(cava)$ -> kitty
81 | windowrulev2 = float, class:^(it.mijorus.smile)$
82 |
83 | # windowrule v2 - size
84 | windowrulev2 = size 70% 70%, class:^(gnome-system-monitor|org.gnome.SystemMonitor|io.missioncenter.MissionCenter)$
85 | windowrulev2 = size 70% 70%, class:^(xdg-desktop-portal-gtk)$
86 | windowrulev2 = size 60% 70%, title:(Kvantum Manager)
87 | windowrulev2 = size 60% 70%, class:^(qt6ct)$
88 | windowrulev2 = size 70% 70%, class:^(evince|wihotspot(-gui)?)$
89 | windowrulev2 = size 60% 70%, class:^(file-roller|org.gnome.FileRoller)$
90 | windowrulev2 = size 60% 70%, class:^([Ww]hatsapp-for-linux)$
91 | windowrulev2 = size 60% 70%, class:^([Ff]erdium)$
92 | windowrulev2 = size 60% 70%, title:^(ROG Control)$
93 | windowrulev2 = size 60% 70%, title:^(hyprgui)$
94 |
95 | # windowrule v2 - pinning
96 | windowrulev2 = pin,title:^(Picture-in-Picture)$
97 | #windowrulev2 = pin,title:^(Firefox)$
98 |
99 | # windowrule v2 - extras
100 | windowrulev2 = keepaspectratio, title:^(Picture-in-Picture)$
101 |
--------------------------------------------------------------------------------
/.config/hypr/configs/binds.conf:
--------------------------------------------------------------------------------
1 |
2 |
3 | $mainMod = SUPER
4 | $terminal = kitty
5 | $fileManager = thunar
6 | $menu = rofi -show drun
7 |
8 | bind = CTRL ALT, Delete, exec, hyprctl dispatch exit 0
9 | bind = $mainMod, Q, killactive,
10 | bind = $mainMod, F, fullscreen
11 | bind = $mainMod, space, exec, $menu
12 | bind = $mainMod SHIFT, F, togglefloating,
13 | bind = $mainMod ALT, F, exec, hyprctl dispatch workspaceopt allfloat
14 | bind = $mainMod, Return, exec, $terminal
15 | bind = $mainMod, E, exec, $fileManager
16 | bind = $mainMod, M, exit,
17 | bind = $mainMod, ESCAPE, exec, missioncenter
18 | bind = $mainMod, o, exec, $scriptsDir/Wlogout.sh
19 | bind = $mainMod SHIFT, I, togglesplit
20 |
21 | bind = ALT, tab, cyclenext
22 | bind = ALT, tab, bringactivetotop
23 |
24 |
25 |
26 | # Waybar / Bar related
27 | bind = $mainMod, B, exec, pkill -SIGUSR1 waybar # Toggle hide/show waybar
28 |
29 | bind = $mainMod, L, exec, hyprlock
30 | bindl=,switch:Lid Switch, exec, hyprlock
31 |
32 | # Move focus with mainMod + arrow keys
33 | bind = $mainMod, left, movefocus, l
34 | bind = $mainMod, right, movefocus, r
35 | bind = $mainMod, up, movefocus, u
36 | bind = $mainMod, down, movefocus, d
37 |
38 |
39 |
40 | # Switch workspaces with mainMod + [0-9]
41 | bind = $mainMod, 1, workspace, 1
42 | bind = $mainMod, 2, workspace, 2
43 | bind = $mainMod, 3, workspace, 3
44 | bind = $mainMod, 4, workspace, 4
45 | bind = $mainMod, 5, workspace, 5
46 | bind = $mainMod, 6, workspace, 6
47 | bind = $mainMod, 7, workspace, 7
48 | bind = $mainMod, 8, workspace, 8
49 | bind = $mainMod, 9, workspace, 9
50 | bind = $mainMod, 0, workspace, 10
51 |
52 | # Move active window to a workspace with mainMod + SHIFT + [0-9]
53 | bind = $mainMod SHIFT, 1, movetoworkspace, 1
54 | bind = $mainMod SHIFT, 2, movetoworkspace, 2
55 | bind = $mainMod SHIFT, 3, movetoworkspace, 3
56 | bind = $mainMod SHIFT, 4, movetoworkspace, 4
57 | bind = $mainMod SHIFT, 5, movetoworkspace, 5
58 | bind = $mainMod SHIFT, 6, movetoworkspace, 6
59 | bind = $mainMod SHIFT, 7, movetoworkspace, 7
60 | bind = $mainMod SHIFT, 8, movetoworkspace, 8
61 | bind = $mainMod SHIFT, 9, movetoworkspace, 9
62 | bind = $mainMod SHIFT, 0, movetoworkspace, 10
63 |
64 | # Move active window to a workspace silently mainMod + CTRL [0-9]
65 | bind = $mainMod CTRL, code:10, movetoworkspacesilent, 1
66 | bind = $mainMod CTRL, code:11, movetoworkspacesilent, 2
67 | bind = $mainMod CTRL, code:12, movetoworkspacesilent, 3
68 | bind = $mainMod CTRL, code:13, movetoworkspacesilent, 4
69 | bind = $mainMod CTRL, code:14, movetoworkspacesilent, 5
70 | bind = $mainMod CTRL, code:15, movetoworkspacesilent, 6
71 | bind = $mainMod CTRL, code:16, movetoworkspacesilent, 7
72 | bind = $mainMod CTRL, code:17, movetoworkspacesilent, 8
73 | bind = $mainMod CTRL, code:18, movetoworkspacesilent, 9
74 | bind = $mainMod CTRL, code:19, movetoworkspacesilent, 10
75 | bind = $mainMod CTRL, s, movetoworkspacesilent, special:magic
76 | bind = $mainMod CTRL, bracketleft, movetoworkspacesilent, -1 # brackets [ or ]
77 | bind = $mainMod CTRL, bracketright, movetoworkspacesilent, +1
78 |
79 |
80 | # Screenshot a window
81 | bind = $mainMod, PRINT, exec, hyprshot -m output
82 | # Screenshot a monitor
83 | bind = , PRINT, exec, hyprshot -m window
84 | # Screenshot a region
85 | bind = $mainMod SHIFT, PRINT, exec, hyprshot -m region
86 |
87 |
88 | # Example special workspace (scratchpad)
89 | bind = $mainMod, S, togglespecialworkspace, magic
90 | bind = $mainMod SHIFT, S, movetoworkspace, special:magic
91 |
92 | # Scroll through existing workspaces with mainMod + scroll
93 | bind = $mainMod, mouse_down, workspace, e+1
94 | bind = $mainMod, mouse_up, workspace, e-1
95 |
96 | # Move/resize windows with mainMod + LMB/RMB and dragging
97 | bindm = $mainMod, mouse:272, movewindow
98 | bindm = $mainMod, mouse:273, resizewindow
99 |
100 | # Resize windows
101 | binde = $mainMod SHIFT, left, resizeactive,-50 0
102 | binde = $mainMod SHIFT, right, resizeactive,50 0
103 | binde = $mainMod SHIFT, up, resizeactive,0 -50
104 | binde = $mainMod SHIFT, down, resizeactive,0 50
105 |
106 | $scriptsDir = ~/.config/hypr/scripts
107 |
108 | bindel = , xf86AudioRaiseVolume, exec, $scriptsDir/Volume.sh --inc && swayosd-client --output-volume 0#volume up
109 | bindel = , xf86audiolowervolume, exec, $scriptsDir/Volume.sh --dec && swayosd-client --output-volume 0#volume down
110 | bindl = , xf86AudioMicMute, exec, $scriptsDir/Volume.sh --toggle-mic #mute mic
111 | bindl = , xf86audiomute, exec, $scriptsDir/Volume.sh --toggle && swayosd-client --output-volume 0
112 |
113 | bindel = ,XF86MonBrightnessUp, exec, brightnessctl s 5%+
114 | bindel = ,XF86MonBrightnessDown, exec, brightnessctl s 5d%-
115 |
116 | # Requires playerctl
117 | bindl = , XF86AudioNext, exec, playerctl next
118 | bindl = , XF86AudioPause, exec, playerctl play-pause
119 | bindl = , XF86AudioPlay, exec, playerctl play-pause
120 | bindl = , XF86AudioPrev, exec, playerctl previous
121 |
122 | bind = $mainMod SHIFT, Return, exec, pypr toggle term # Dropdown terminal
123 | bind = $mainMod, Z, exec, pypr zoom # Toggle Zoom
124 | bind = $mainMod SHIFT, N, exec, swaync-client -t -sw
125 |
126 | bind = $mainMod ALT, B, exec, $scriptsDir/Refresh.sh #refresh waybar
127 |
128 | #for hyprtasking
129 | bind = $mainMod, a, hyprtasking:toggle, all # can be: toggle, off/disable or on/enable
130 |
131 | # Movement
132 | bind = $mainMod CTRL, left, movewindow, l
133 | bind = $mainMod CTRL, right, movewindow, r
134 | bind = $mainMod CTRL, up, movewindow, u
135 | bind = $mainMod CTRL, down, movewindow, d
136 |
137 | bind = $mainMod, period, exec, smile #emojis app
138 | bind = $mainMod, G, exec, $scriptsDir/gamemode.sh
139 |
140 |
141 |
142 | bind = SUPER, V, exec, cliphist list | rofi -dmenu | cliphist decode | wl-copy #clipboard
143 | bind = SUPER SHIFT, W, exec, waypaper-engine random #random wallpaper
144 | bind = $mainMod, w, exec, waypaper #wallpaper selection
145 |
--------------------------------------------------------------------------------
/.config/btop/btop.log:
--------------------------------------------------------------------------------
1 |
2 | 2024/12/28 (00:21:55) | ===> btop++ v.1.4.0
3 | 2024/12/28 (00:21:55) | WARNING: NVML: Failed to get maximum GPU power draw, defaulting to 225W: Not Supported
4 |
5 | 2024/12/31 (10:32:43) | ===> btop++ v.1.4.0
6 | 2024/12/31 (10:32:43) | WARNING: NVML: Failed to get maximum GPU power draw, defaulting to 225W: Not Supported
7 |
8 | 2024/12/31 (12:48:16) | ===> btop++ v.1.4.0
9 | 2024/12/31 (12:48:16) | WARNING: NVML: Failed to get maximum GPU power draw, defaulting to 225W: Not Supported
10 |
11 | 2024/12/31 (14:40:17) | ===> btop++ v.1.4.0
12 | 2024/12/31 (14:40:17) | WARNING: NVML: Failed to get maximum GPU power draw, defaulting to 225W: Not Supported
13 |
14 | 2025/01/02 (17:08:12) | ===> btop++ v.1.4.0
15 | 2025/01/02 (17:08:12) | WARNING: NVML: Failed to get maximum GPU power draw, defaulting to 225W: Not Supported
16 |
17 | 2025/01/02 (17:14:41) | ===> btop++ v.1.4.0
18 | 2025/01/02 (17:14:41) | WARNING: NVML: Failed to get maximum GPU power draw, defaulting to 225W: Not Supported
19 |
20 | 2025/01/02 (18:58:04) | ===> btop++ v.1.4.0
21 | 2025/01/02 (18:58:04) | WARNING: NVML: Failed to get maximum GPU power draw, defaulting to 225W: Not Supported
22 |
23 | 2025/01/02 (21:08:04) | ===> btop++ v.1.4.0
24 | 2025/01/02 (21:08:04) | WARNING: NVML: Failed to get maximum GPU power draw, defaulting to 225W: Not Supported
25 |
26 | 2025/01/02 (21:09:39) | ===> btop++ v.1.4.0
27 | 2025/01/02 (21:09:39) | WARNING: NVML: Failed to get maximum GPU power draw, defaulting to 225W: Not Supported
28 |
29 | 2025/01/02 (21:10:11) | ===> btop++ v.1.4.0
30 | 2025/01/02 (21:10:11) | WARNING: NVML: Failed to get maximum GPU power draw, defaulting to 225W: Not Supported
31 |
32 | 2025/01/02 (21:12:32) | ===> btop++ v.1.4.0
33 | 2025/01/02 (21:12:32) | WARNING: NVML: Failed to get maximum GPU power draw, defaulting to 225W: Not Supported
34 |
35 | 2025/01/02 (21:13:55) | ===> btop++ v.1.4.0
36 | 2025/01/02 (21:13:55) | WARNING: NVML: Failed to get maximum GPU power draw, defaulting to 225W: Not Supported
37 |
38 | 2025/01/03 (16:19:29) | ===> btop++ v.1.4.0
39 | 2025/01/03 (16:19:29) | WARNING: NVML: Failed to get maximum GPU power draw, defaulting to 225W: Not Supported
40 |
41 | 2025/01/03 (22:08:39) | ===> btop++ v.1.4.0
42 | 2025/01/03 (22:08:39) | WARNING: NVML: Failed to get maximum GPU power draw, defaulting to 225W: Not Supported
43 |
44 | 2025/01/04 (12:03:28) | ===> btop++ v.1.4.0
45 | 2025/01/04 (12:03:28) | WARNING: NVML: Failed to get maximum GPU power draw, defaulting to 225W: Not Supported
46 |
47 | 2025/01/07 (21:21:06) | ===> btop++ v.1.4.0
48 | 2025/01/07 (21:21:06) | WARNING: NVML: Failed to get maximum GPU power draw, defaulting to 225W: Not Supported
49 |
50 | 2025/01/07 (21:24:02) | ===> btop++ v.1.4.0
51 | 2025/01/07 (21:24:02) | WARNING: NVML: Failed to get maximum GPU power draw, defaulting to 225W: Not Supported
52 | 2025/01/07 (22:36:55) | ERROR: Couldn't determine terminal size of "STDOUT_FILENO"!
53 |
54 | 2025/01/09 (17:23:57) | ===> btop++ v.1.4.0
55 | 2025/01/09 (17:23:57) | WARNING: NVML: Failed to get maximum GPU power draw, defaulting to 225W: Not Supported
56 |
57 | 2025/01/19 (11:23:55) | ===> btop++ v.1.4.0
58 | 2025/01/19 (11:23:55) | WARNING: NVML: Failed to get maximum GPU power draw, defaulting to 225W: Not Supported
59 |
60 | 2025/01/19 (11:28:32) | ===> btop++ v.1.4.0
61 | 2025/01/19 (11:28:32) | WARNING: NVML: Failed to get maximum GPU power draw, defaulting to 225W: Not Supported
62 |
63 | 2025/01/19 (11:32:40) | ===> btop++ v.1.4.0
64 | 2025/01/19 (11:32:40) | WARNING: NVML: Failed to get maximum GPU power draw, defaulting to 225W: Not Supported
65 |
66 | 2025/01/21 (22:18:09) | ===> btop++ v.1.4.0
67 | 2025/01/21 (22:18:09) | WARNING: NVML: Failed to get maximum GPU power draw, defaulting to 225W: Not Supported
68 |
69 | 2025/01/22 (10:05:35) | ===> btop++ v.1.4.0
70 | 2025/01/22 (10:05:35) | WARNING: NVML: Failed to get maximum GPU power draw, defaulting to 225W: Not Supported
71 | 2025/01/22 (10:13:04) | ERROR: Couldn't determine terminal size of "STDOUT_FILENO"!
72 | 2025/01/22 (10:13:04) | ERROR: Couldn't determine terminal size of "/dev/tty"!
73 |
74 | 2025/01/22 (16:36:32) | ===> btop++ v.1.4.0
75 | 2025/01/22 (16:36:32) | WARNING: NVML: Failed to get maximum GPU power draw, defaulting to 225W: Not Supported
76 |
77 | 2025/01/22 (16:37:26) | ===> btop++ v.1.4.0
78 | 2025/01/22 (16:37:26) | WARNING: NVML: Failed to get maximum GPU power draw, defaulting to 225W: Not Supported
79 |
80 | 2025/01/23 (14:06:21) | ===> btop++ v.1.4.0
81 | 2025/01/23 (14:06:21) | WARNING: NVML: Failed to get maximum GPU power draw, defaulting to 225W: Not Supported
82 | 2025/01/23 (16:07:28) | ERROR: Stall in Runner thread, restarting!
83 |
84 | 2025/01/23 (23:10:14) | ===> btop++ v.1.4.0
85 | 2025/01/23 (23:10:14) | WARNING: NVML: Failed to get maximum GPU power draw, defaulting to 225W: Not Supported
86 |
87 | 2025/01/24 (16:02:29) | ===> btop++ v.1.4.0
88 | 2025/01/24 (16:02:29) | WARNING: NVML: Failed to get maximum GPU power draw, defaulting to 225W: Not Supported
89 |
90 | 2025/01/26 (14:02:04) | ===> btop++ v.1.4.0
91 | 2025/01/26 (14:02:04) | WARNING: NVML: Failed to get maximum GPU power draw, defaulting to 225W: Not Supported
92 | 2025/01/26 (14:54:54) | ERROR: Stall in Runner thread, restarting!
93 | 2025/01/26 (14:55:00) | ERROR: Stall in Runner thread, restarting!
94 | 2025/01/26 (14:55:06) | ERROR: Stall in Runner thread, restarting!
95 | 2025/01/26 (14:55:12) | ERROR: Stall in Runner thread, restarting!
96 | 2025/01/26 (14:55:18) | ERROR: Stall in Runner thread, restarting!
97 | 2025/01/26 (14:55:24) | ERROR: Stall in Runner thread, restarting!
98 | 2025/01/26 (14:55:30) | ERROR: Stall in Runner thread, restarting!
99 | 2025/01/26 (14:55:36) | ERROR: Stall in Runner thread, restarting!
100 | 2025/01/26 (14:55:42) | ERROR: Stall in Runner thread, restarting!
101 | 2025/01/26 (14:55:52) | ERROR: Stall in Runner thread, restarting!
102 |
103 | 2025/01/28 (08:08:12) | ===> btop++ v.1.4.0
104 | 2025/01/28 (08:08:12) | WARNING: NVML: Failed to get maximum GPU power draw, defaulting to 225W: Not Supported
105 |
--------------------------------------------------------------------------------
/.config/swaync/themes/nova-dark/central_control.css:
--------------------------------------------------------------------------------
1 | @define-color text @foreground;
2 | @define-color background-alt alpha(@color1, .4);
3 | @define-color selected @color6;
4 | @define-color hover alpha(@selected, .4);
5 | @define-color urgent @color2;
6 |
7 | * {
8 | color: @text;
9 |
10 | all: unset;
11 | font-size: 14px;
12 | font-family: "JetBrains Mono Nerd Font 10";
13 | transition: 200ms;
14 |
15 | }
16 |
17 | /* Avoid 'annoying' backgroud */
18 | .blank-window {
19 | background: transparent;
20 | }
21 |
22 | /* CONTROL CENTER ------------------------------------------------------------------------ */
23 |
24 | .control-center {
25 | background: alpha(@background, .55);
26 | border-radius: 24px;
27 | border: 1px solid @selected;
28 | box-shadow: 0 0 10px 0 rgba(0,0,0,.6);
29 | margin: 18px;
30 | padding: 12px;
31 | }
32 |
33 | /* Notifications */
34 | .control-center .notification-row .notification-background,
35 | .control-center .notification-row .notification-background .notification.critical {
36 | background-color: @background-alt;
37 | border-radius: 16px;
38 | margin: 4px 0px;
39 | padding: 4px;
40 | }
41 |
42 | .control-center .notification-row .notification-background .notification.critical {
43 | color: @urgent;
44 | }
45 |
46 | .control-center .notification-row .notification-background .notification .notification-content {
47 | margin: 6px;
48 | padding: 8px 6px 2px 2px;
49 | }
50 |
51 | .control-center .notification-row .notification-background .notification > *:last-child > * {
52 | min-height: 3.4em;
53 | }
54 |
55 | .control-center .notification-row .notification-background .notification > *:last-child > * .notification-action {
56 | background: alpha(@selected, .6);
57 | color: @text;
58 | border-radius: 12px;
59 | margin: 6px;
60 | }
61 |
62 | .control-center .notification-row .notification-background .notification > *:last-child > * .notification-action:hover {
63 | background: @selected;
64 | }
65 |
66 | .control-center .notification-row .notification-background .notification > *:last-child > * .notification-action:active {
67 | background-color: @selected;
68 | }
69 |
70 | /* Buttons */
71 |
72 | .control-center .notification-row .notification-background .close-button {
73 | background: transparent;
74 | border-radius: 6px;
75 | color: @text;
76 | margin: 0px;
77 | padding: 4px;
78 | }
79 |
80 | .control-center .notification-row .notification-background .close-button:hover {
81 | background-color: @selected;
82 | }
83 |
84 | .control-center .notification-row .notification-background .close-button:active {
85 | background-color: @selected;
86 | }
87 |
88 | progressbar,
89 | progress,
90 | trough {
91 | border-radius: 12px;
92 | }
93 |
94 | progressbar {
95 | background-color: rgba(255,255,255,.1);
96 | }
97 |
98 | /* Notifications expanded-group */
99 |
100 | .notification-group {
101 | margin: 2px 8px 2px 8px;
102 |
103 | }
104 | .notification-group-headers {
105 | font-weight: bold;
106 | font-size: 1.25rem;
107 | color: @text;
108 | letter-spacing: 2px;
109 | }
110 |
111 | .notification-group-icon {
112 | color: @text;
113 | }
114 |
115 | .notification-group-collapse-button,
116 | .notification-group-close-all-button {
117 | background: transparent;
118 | color: @text;
119 | margin: 4px;
120 | border-radius: 6px;
121 | padding: 4px;
122 | }
123 |
124 | .notification-group-collapse-button:hover,
125 | .notification-group-close-all-button:hover {
126 | background: @hover;
127 | }
128 |
129 | /* WIDGETS --------------------------------------------------------------------------- */
130 |
131 | /* Notification clear button */
132 | .widget-title {
133 | font-size: 1.2em;
134 | margin: 6px;
135 | }
136 |
137 | .widget-title button {
138 | background: @background-alt;
139 | border-radius: 6px;
140 | padding: 4px 16px;
141 | }
142 |
143 | .widget-title button:hover {
144 | background-color: @hover;
145 | }
146 |
147 | .widget-title button:active {
148 | background-color: @selected;
149 | }
150 |
151 | /* Do not disturb */
152 | .widget-dnd {
153 | margin: 6px;
154 | font-size: 1.2rem;
155 | }
156 |
157 | .widget-dnd > switch {
158 | background: @background-alt;
159 | font-size: initial;
160 | border-radius: 8px;
161 | box-shadow: none;
162 | padding: 2px;
163 | }
164 |
165 | .widget-dnd > switch:hover {
166 | background: @hover;
167 | }
168 |
169 | .widget-dnd > switch:checked {
170 | background: @selected;
171 | }
172 |
173 | .widget-dnd > switch:checked:hover {
174 | background: @hover;
175 | }
176 |
177 | .widget-dnd > switch slider {
178 | background: @text;
179 | border-radius: 6px;
180 | }
181 |
182 | /* Buttons menu */
183 | .widget-buttons-grid {
184 | font-size: x-large;
185 | padding: 6px 2px;
186 | margin: 6px;
187 | border-radius: 12px;
188 | background: @background-alt;
189 | }
190 |
191 | .widget-buttons-grid>flowbox>flowboxchild>button {
192 | margin: 4px 10px;
193 | padding: 6px 12px;
194 | background: transparent;
195 | border-radius: 8px;
196 | }
197 |
198 | .widget-buttons-grid>flowbox>flowboxchild>button:hover {
199 | background: @hover;
200 | }
201 |
202 |
203 | /* Music player */
204 | .widget-mpris {
205 | background: @background-alt;
206 | border-radius: 16px;
207 | color: @text;
208 | margin: 20px 6px;
209 | }
210 |
211 | /* NOTE: Background need *opacity 1* otherwise will turn into the album art blurred */
212 | .widget-mpris-player {
213 | background-color: @background-sec;
214 | border-radius: 22px;
215 | padding: 6px 14px;
216 | margin: 6px;
217 | }
218 |
219 | .widget-mpris > box > button {
220 | color: @text;
221 | border-radius: 20px;
222 | }
223 |
224 | .widget-mpris button {
225 | color: alpha(@text, .6);
226 | }
227 |
228 | .widget-mpris button:hover {
229 | color: @text;
230 | }
231 |
232 | .widget-mpris-album-art {
233 | border-radius: 16px;
234 | }
235 |
236 | .widget-mpris-title {
237 | font-weight: 700;
238 | font-size: 1rem;
239 | }
240 |
241 | .widget-mpris-subtitle {
242 | font-weight: 500;
243 | font-size: 0.8rem;
244 | }
245 |
246 | /* Volume */
247 | .widget-volume {
248 | background: @background-sec;
249 | color: @background;
250 | padding: 4px;
251 | margin: 6px;
252 | border-radius: 6px;
253 | }
254 |
--------------------------------------------------------------------------------
/.config/waybar/config:
--------------------------------------------------------------------------------
1 |
2 | {
3 |
4 | "layer": "top",
5 | //"mode": "dock",
6 | "exclusive": true,
7 | "passthrough": false,
8 | "position": "top",
9 | "spacing": 1,
10 | "fixed-center": true,
11 | "ipc": true,
12 | "margin-top": 3,
13 | "margin-left": 3,
14 | "margin-right": 3,
15 |
16 | "modules-left": [
17 | "hyprland/workspaces",
18 | "custom/separator#line",
19 | "cpu",
20 | "memory"
21 | ],
22 |
23 | "modules-center": [
24 | "cava",
25 | "clock",
26 | "cava"
27 | ],
28 |
29 | "modules-right": [
30 | "network#speed",
31 | "tray",
32 | "custom/separator#line",
33 | "pulseaudio#microphone",
34 | "pulseaudio",
35 | "custom/separator#line",
36 | "battery",
37 | "custom/notification"
38 | ],
39 |
40 |
41 | // CIRCLES Style
42 | "hyprland/workspaces": {
43 | "active-only": false,
44 | "all-outputs": true,
45 | "format": "{icon}",
46 | "show-special": false,
47 | "on-click": "activate",
48 | "on-scroll-up": "hyprctl dispatch workspace e+1",
49 | "on-scroll-down": "hyprctl dispatch workspace e-1",
50 | "persistent-workspaces": {
51 | "*": 5
52 | },
53 |
54 | "format-icons": {
55 | "active": "",
56 | "default": "",
57 |
58 | },
59 | },
60 |
61 | //MODULES//
62 | "custom/separator#line": {
63 | "format": "|",
64 | "interval": "once",
65 | "tooltip": false
66 | },
67 |
68 | "battery": {
69 | "interval": 5,
70 |
71 | "format": "{icon} {capacity}% ",
72 | "format-icons": ["", "", "", "", ""],
73 | "format-charging": " {icon} {capacity}% ",
74 | "format-plugged": "{icon} {capacity}%",
75 | "tooltip-format": " {power}W - {timeTo}",
76 |
77 | "states": {
78 | "full": 100,
79 | "great": 97,
80 | "good": 85,
81 | "ok": 50,
82 | "warning": 30,
83 | "low": 20,
84 | "critical": 10
85 | },
86 | },
87 |
88 | "clock": {
89 | "interval": 1,
90 | "format": " {:%I:%M:%S %p}", // AM PM format
91 | // "format": " {:%H:%M:%S}", // 24H
92 | "format-alt": " {:%H:%M:%p %Y, %d %B, %A}",
93 | "tooltip-format": "{calendar}",
94 | "calendar": {
95 | "mode": "year",
96 | "mode-mon-col": 3,
97 | "weeks-pos": "right",
98 | "on-scroll": 1,
99 | "format": {
100 | "months": "{}",
101 | "days": "{}",
102 | "weeks": "W{}",
103 | "weekdays": "{}",
104 | "today": "{}"
105 | }
106 | }
107 | },
108 |
109 | "cpu": {
110 | "format": " {usage}%",
111 | "interval": 1,
112 | "min-length": 5,
113 | "format-alt-click": "click",
114 | "format-alt": "{usage:>2}% {icon0}{icon1}{icon2}{icon3}{icon4} ",
115 | "format-icons": [
116 | "▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"
117 | ],
118 | "on-click-right": "gnome-system-monitor",
119 | },
120 |
121 | "memory": {
122 | "interval": 1,
123 | "format": " {used:0.1f}G",
124 | "format-alt": "{percentage}% ",
125 | "format-alt-click": "click",
126 | "tooltip": true,
127 | "tooltip-format": "{used:0.1f}GB/{total:0.1f}G",
128 | "on-click-right": "kitty --title btop sh -c 'btop'"
129 | },
130 |
131 | "network#speed": {
132 | "interval": 1,
133 | "format": "{ifname}",
134 | "format-wifi": " U {bandwidthUpBytes} D {bandwidthDownBytes}",
135 | "format-ethernet": " U {bandwidthUpBytes} D {bandwidthDownBytes}",
136 | "format-disconnected": "",
137 | "tooltip-format": "{ipaddr}",
138 | "format-linked": " {ifname} (No IP)",
139 | "tooltip-format-wifi": "{essid} {icon} {signalStrength}%",
140 | "tooltip-format-ethernet": "{ifname} ",
141 | "tooltip-format-disconnected": "Disconnected",
142 | "min-length": 1,
143 | "max-length": 35,
144 | "format-icons": [
145 | "", "", "", "", ""
146 | ]
147 | },
148 |
149 | "custom/notification": {
150 | "tooltip": false,
151 | "format": "{icon}",
152 | "format-icons": {
153 | "notification": " ",
154 | "none": " ",
155 | "dnd-notification": " ",
156 | "dnd-none": " ",
157 | "inhibited-notification": " ",
158 | "inhibited-none": " ",
159 | "dnd-inhibited-notification": " ",
160 | "dnd-inhibited-none": " "
161 | },
162 | "return-type": "json",
163 | "exec-if": "which swaync-client",
164 | "exec": "swaync-client -swb",
165 | "on-click": "swaync-client -t -sw",
166 | "on-click-right": "swaync-client -d -sw",
167 | "escape": true
168 | },
169 |
170 | "pulseaudio": {
171 | "format": "{icon} {volume}%",
172 | "format-bluetooth": "{icon} {volume}%",
173 | "format-muted": "",
174 | "on-click": "$HOME/.config/hypr/scripts/Volume.sh --toggle",
175 | "format-icons": {
176 | "headphone": "",
177 | "hands-free": "",
178 | "headset": "",
179 | "phone": "",
180 | "portable": "",
181 | "car": "",
182 | "default": [
183 | "", "", "", ""
184 | ],
185 | "ignored-sinks": [
186 | "Easy Effects Sink"
187 | ],
188 | },
189 |
190 | },
191 |
192 | "tray": {
193 | "icon-size": 20,
194 | "spacing": 4,
195 | },
196 |
197 |
198 |
199 | "pulseaudio#microphone": {
200 | "format": "{format_source}",
201 | "format-source": " {volume}%",
202 | "format-source-muted": "",
203 | "on-click": "$HOME/.config/hypr/scripts/Volume.sh --toggle-mic",
204 | "on-click-right": "pavucontrol -t 4",
205 | "on-scroll-up": "$HOME/.config/hypr/scripts/Volume.sh --mic-inc",
206 | "on-scroll-down": "$HOME/.config/hypr/scripts/Volume.sh --mic-dec",
207 | "tooltip-format": "{source_desc} | {source_volume}%",
208 | "scroll-step": 5,
209 | },
210 |
211 | "cava": {
212 | "framerate": 120,
213 | "autosens": 1,,
214 | "bars": 8,
215 | "lower_cutoff_freq": 1,
216 | "higher_cutoff_freq": 10000,
217 | "method": "pulse",
218 | "source": "auto",
219 | "stereo": true,
220 | "reverse": false,
221 | "bar_delimiter": 0,
222 | "monstercat": false,
223 | "waves": false,
224 | "noise_reduction": 0.5,
225 | "input_delay": 0,
226 | "hide_on_silence": false,
227 | "format-icons" : ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█" ],
228 | "actions": {
229 | "on-click-right": "mode"
230 | }
231 | }
232 |
233 |
234 | }
235 |
236 | }
237 |
238 |
--------------------------------------------------------------------------------
/.config/Thunar/accels.scm:
--------------------------------------------------------------------------------
1 | ; thunar GtkAccelMap rc-file -*- scheme -*-
2 | ; this file is an automated accelerator map dump
3 | ;
4 | ; (gtk_accel_path "/ThunarStandardView/sort-by-type" "")
5 | ; (gtk_accel_path "/ThunarStatusBar/toggle-last-modified" "")
6 | ; (gtk_accel_path "/Thunarwindow/menu" "")
7 | ; (gtk_accel_path "/ThunarActionManager/cut" "x")
8 | ; (gtk_accel_path "/ThunarStandardView/sort-by-size" "")
9 | ; (gtk_accel_path "/ThunarWindow/file-menu" "")
10 | ; (gtk_accel_path "/ThunarWindow/close-tab" "w")
11 | ; (gtk_accel_path "/ThunarWindow/switch-previous-tab-alt" "ISO_Left_Tab")
12 | ; (gtk_accel_path "/ThunarStatusBar/toggle-size" "")
13 | ; (gtk_accel_path "/ThunarWindow/new-window" "n")
14 | ; (gtk_accel_path "/ThunarWindow/clear-directory-specific-settings" "")
15 | ; (gtk_accel_path "/ThunarWindow/close-window" "q")
16 | ; (gtk_accel_path "/ThunarWindow/open-parent" "Up")
17 | ; (gtk_accel_path "/ThunarWindow/view-side-pane-menu" "")
18 | ; (gtk_accel_path "/ThunarStatusBar/toggle-size-in-bytes" "")
19 | ; (gtk_accel_path "/ThunarWindow/switch-previous-tab" "Page_Up")
20 | ; (gtk_accel_path "/ThunarActionManager/open" "o")
21 | ; (gtk_accel_path "/ThunarStandardView/sort-ascending" "")
22 | ; (gtk_accel_path "/ThunarBookmarks/0b6db5857a0a7c273afe3b294365f990" "")
23 | ; (gtk_accel_path "/ThunarWindow/toggle-split-view" "F3")
24 | ; (gtk_accel_path "/ThunarActionManager/copy-2" "Insert")
25 | ; (gtk_accel_path "/ThunarActionManager/trash-delete" "Delete")
26 | ; (gtk_accel_path "/ThunarWindow/open-recent" "")
27 | ; (gtk_accel_path "/ThunarWindow/view-configure-toolbar" "")
28 | ; (gtk_accel_path "/ThunarStandardView/forward" "Right")
29 | ; (gtk_accel_path "/ThunarActionManager/restore" "")
30 | ; (gtk_accel_path "/ThunarWindow/open-location-alt" "d")
31 | ; (gtk_accel_path "/ThunarWindow/zoom-out-alt" "KP_Subtract")
32 | ; (gtk_accel_path "/ThunarStandardView/select-by-pattern" "s")
33 | ; (gtk_accel_path "/ThunarWindow/open-file-menu" "F10")
34 | ; (gtk_accel_path "/ThunarWindow/contents" "F1")
35 | ; (gtk_accel_path "/ThunarWindow/show-highlight" "")
36 | ; (gtk_accel_path "/ThunarStandardView/sort-descending" "")
37 | ; (gtk_accel_path "/ThunarStandardView/sort-by-name" "")
38 | ; (gtk_accel_path "/ThunarStandardView/select-all-files" "a")
39 | ; (gtk_accel_path "/ThunarActionManager/execute" "")
40 | ; (gtk_accel_path "/ThunarStandardView/properties" "Return")
41 | ; (gtk_accel_path "/ThunarActionManager/cut-2" "")
42 | ; (gtk_accel_path "/ThunarStandardView/sort-by-dtime" "")
43 | ; (gtk_accel_path "/ThunarWindow/switch-next-tab" "Page_Down")
44 | ; (gtk_accel_path "/ThunarWindow/open-templates" "")
45 | ; (gtk_accel_path "/ThunarActionManager/paste-2" "Insert")
46 | ; (gtk_accel_path "/ThunarStatusBar/toggle-filetype" "")
47 | ; (gtk_accel_path "/ThunarWindow/close-all-windows" "w")
48 | ; (gtk_accel_path "/ThunarStandardView/create-document" "")
49 | ; (gtk_accel_path "/ThunarWindow/detach-tab" "")
50 | ; (gtk_accel_path "/ThunarWindow/cancel-search" "Escape")
51 | ; (gtk_accel_path "/ThunarWindow/zoom-in-alt2" "equal")
52 | ; (gtk_accel_path "/ThunarStatusBar/toggle-hidden-count" "")
53 | ; (gtk_accel_path "/ThunarShortcutsPane/sendto-shortcuts" "d")
54 | ; (gtk_accel_path "/ThunarActionManager/undo" "z")
55 | ; (gtk_accel_path "/ThunarBookmarks/e1e37089d49396cedec6bd2a7962eca5" "")
56 | ; (gtk_accel_path "/ThunarStandardView/toggle-sort-order" "")
57 | ; (gtk_accel_path "/ThunarWindow/view-location-selector-entry" "")
58 | ; (gtk_accel_path "/ThunarActionManager/paste" "v")
59 | ; (gtk_accel_path "/ThunarWindow/zoom-in-alt1" "KP_Add")
60 | ; (gtk_accel_path "/ThunarWindow/view-menubar" "m")
61 | ; (gtk_accel_path "/ThunarStandardView/back" "Left")
62 | ; (gtk_accel_path "/ThunarWindow/open-desktop" "")
63 | ; (gtk_accel_path "/ThunarWindow/view-as-detailed-list" "2")
64 | ; (gtk_accel_path "/ThunarActionManager/restore-show" "")
65 | ; (gtk_accel_path "/ThunarWindow/sendto-menu" "")
66 | ; (gtk_accel_path "/ThunarStatusBar/toggle-display-name" "")
67 | ; (gtk_accel_path "/ThunarWindow/go-menu" "")
68 | ; (gtk_accel_path "/ThunarWindow/zoom-out" "minus")
69 | ; (gtk_accel_path "/ThunarBookmarks/f250b6025cc691d771f66937dcf2e3a1" "")
70 | ; (gtk_accel_path "/ThunarWindow/remove-from-recent" "")
71 | ; (gtk_accel_path "/ThunarActionManager/open-with-other" "")
72 | ; (gtk_accel_path "/ThunarStandardView/invert-selection" "i")
73 | ; (gtk_accel_path "/ThunarStandardView/sort-by-mtime" "")
74 | ; (gtk_accel_path "/ThunarWindow/view-side-pane-shortcuts" "b")
75 | ; (gtk_accel_path "/ThunarWindow/reload-alt-2" "Reload")
76 | ; (gtk_accel_path "/ThunarWindow/view-location-selector-menu" "")
77 | ; (gtk_accel_path "/ThunarWindow/reload" "r")
78 | ; (gtk_accel_path "/ThunarWindow/edit-menu" "")
79 | ; (gtk_accel_path "/ThunarActionManager/copy" "c")
80 | ; (gtk_accel_path "/ThunarWindow/bookmarks-menu" "")
81 | ; (gtk_accel_path "/ThunarStandardView/forward-alt" "Forward")
82 | ; (gtk_accel_path "/ThunarActionManager/move-to-trash" "")
83 | ; (gtk_accel_path "/ThunarWindow/reload-alt-1" "F5")
84 | ; (gtk_accel_path "/ThunarActionManager/delete-3" "KP_Delete")
85 | ; (gtk_accel_path "/ThunarBookmarks/db9d223ba9f1a4e0ed3d1009c0ad4448" "")
86 | ; (gtk_accel_path "/ThunarWindow/contents/help-menu" "")
87 | ; (gtk_accel_path "/ThunarStandardView/arrange-items-menu" "")
88 | ; (gtk_accel_path "/ThunarStandardView/unselect-all-files" "Escape")
89 | ; (gtk_accel_path "/ThunarWindow/open-computer" "")
90 | ; (gtk_accel_path "/ThunarWindow/toggle-image-preview" "")
91 | ; (gtk_accel_path "/ThunarActionManager/delete-2" "Delete")
92 | ; (gtk_accel_path "/ThunarWindow/view-as-icons" "1")
93 | ; (gtk_accel_path "/ThunarWindow/zoom-in" "plus")
94 | ; (gtk_accel_path "/ThunarWindow/toggle-side-pane" "F9")
95 | ; (gtk_accel_path "/ThunarStandardView/rename" "F2")
96 | ; (gtk_accel_path "/ThunarWindow/open-location" "l")
97 | ; (gtk_accel_path "/ThunarWindow/view-as-compact-list" "3")
98 | ; (gtk_accel_path "/ThunarWindow/view-menu" "")
99 | ; (gtk_accel_path "/ThunarWindow/search" "f")
100 | ; (gtk_accel_path "/ThunarWindow/new-tab" "t")
101 | ; (gtk_accel_path "/ThunarWindow/zoom-reset" "0")
102 | ; (gtk_accel_path "/ThunarWindow/open-trash" "")
103 | ; (gtk_accel_path "/ThunarActionManager/open-in-new-tab" "p")
104 | ; (gtk_accel_path "/ThunarWindow/view-location-selector-buttons" "")
105 | ; (gtk_accel_path "/ThunarActionManager/redo" "z")
106 | ; (gtk_accel_path "/ThunarStandardView/back-alt2" "Back")
107 | ; (gtk_accel_path "/ThunarActionManager/open-in-new-window" "o")
108 | ; (gtk_accel_path "/ThunarWindow/view-statusbar" "")
109 | ; (gtk_accel_path "/ThunarActionManager/open-location" "")
110 | ; (gtk_accel_path "/ThunarStandardView/duplicate" "")
111 | ; (gtk_accel_path "/ThunarActionManager/trash-delete-2" "KP_Delete")
112 | ; (gtk_accel_path "/ThunarStandardView/back-alt1" "BackSpace")
113 | ; (gtk_accel_path "/ThunarStandardView/create-folder" "n")
114 | ; (gtk_accel_path "/ThunarWindow/open-home" "Home")
115 | ; (gtk_accel_path "/ThunarWindow/switch-focused-split-view-pane" "")
116 | ; (gtk_accel_path "/ThunarWindow/show-hidden" "h")
117 | ; (gtk_accel_path "/ThunarStandardView/set-default-app" "")
118 | ; (gtk_accel_path "/ThunarWindow/empty-trash" "")
119 | ; (gtk_accel_path "/ThunarWindow/preferences" "")
120 | ; (gtk_accel_path "/ThunarBookmarks/27a27b4c54c733abee3776af6784e0b6" "")
121 | ; (gtk_accel_path "/ThunarActionManager/delete" "")
122 | ; (gtk_accel_path "/ThunarWindow/open-network" "")
123 | ; (gtk_accel_path "/ThunarWindow/view-side-pane-tree" "e")
124 | ; (gtk_accel_path "/ThunarWindow/open-file-system" "")
125 | ; (gtk_accel_path "/ThunarStandardView/make-link" "")
126 | ; (gtk_accel_path "/ThunarWindow/switch-next-tab-alt" "Tab")
127 | ; (gtk_accel_path "/ThunarActionManager/sendto-desktop" "")
128 | ; (gtk_accel_path "/ThunarWindow/search-alt" "Search")
129 | ; (gtk_accel_path "/ThunarWindow/zoom-reset-alt" "KP_0")
130 | ; (gtk_accel_path "/ThunarWindow/about" "")
131 |
--------------------------------------------------------------------------------
/.config/swaync/style.css:
--------------------------------------------------------------------------------
1 | * {
2 | all: unset;
3 | font-size: 14px;
4 | font-family: "Ubuntu Nerd Font";
5 | transition: 200ms;
6 | }
7 |
8 | trough highlight {
9 | background: #cdd6f4;
10 | }
11 |
12 | scale trough {
13 | margin: 0rem 1rem;
14 | background-color: #313244;
15 | min-height: 8px;
16 | min-width: 70px;
17 | }
18 |
19 | slider {
20 | background-color: #89b4fa;
21 | }
22 |
23 | .floating-notifications.background .notification-row .notification-background {
24 | box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.8), inset 0 0 0 1px #313244;
25 | border-radius: 12.6px;
26 | margin: 18px;
27 | background-color: #1e1e2e;
28 | color: #cdd6f4;
29 | padding: 0;
30 | }
31 |
32 | .floating-notifications.background .notification-row .notification-background .notification {
33 | padding: 7px;
34 | border-radius: 12.6px;
35 | }
36 |
37 | .floating-notifications.background .notification-row .notification-background .notification.critical {
38 | box-shadow: inset 0 0 7px 0 #f38ba8;
39 | }
40 |
41 | .floating-notifications.background .notification-row .notification-background .notification .notification-content {
42 | margin: 7px;
43 | }
44 |
45 | .floating-notifications.background .notification-row .notification-background .notification .notification-content .summary {
46 | color: #cdd6f4;
47 | }
48 |
49 | .floating-notifications.background .notification-row .notification-background .notification .notification-content .time {
50 | color: #a6adc8;
51 | }
52 |
53 | .floating-notifications.background .notification-row .notification-background .notification .notification-content .body {
54 | color: #cdd6f4;
55 | }
56 |
57 | .floating-notifications.background .notification-row .notification-background .notification > *:last-child > * {
58 | min-height: 3.4em;
59 | }
60 |
61 | .floating-notifications.background .notification-row .notification-background .notification > *:last-child > * .notification-action {
62 | border-radius: 7px;
63 | color: #cdd6f4;
64 | background-color: #313244;
65 | box-shadow: inset 0 0 0 1px #45475a;
66 | margin: 7px;
67 | }
68 |
69 | .floating-notifications.background .notification-row .notification-background .notification > *:last-child > * .notification-action:hover {
70 | box-shadow: inset 0 0 0 1px #45475a;
71 | background-color: #313244;
72 | color: #cdd6f4;
73 | }
74 |
75 | .floating-notifications.background .notification-row .notification-background .notification > *:last-child > * .notification-action:active {
76 | box-shadow: inset 0 0 0 1px #45475a;
77 | background-color: #74c7ec;
78 | color: #cdd6f4;
79 | }
80 |
81 | .floating-notifications.background .notification-row .notification-background .close-button {
82 | margin: 7px;
83 | padding: 2px;
84 | border-radius: 6.3px;
85 | color: #1e1e2e;
86 | background-color: #f38ba8;
87 | }
88 |
89 | .floating-notifications.background .notification-row .notification-background .close-button:hover {
90 | background-color: #eba0ac;
91 | color: #1e1e2e;
92 | }
93 |
94 | .floating-notifications.background .notification-row .notification-background .close-button:active {
95 | background-color: #f38ba8;
96 | color: #1e1e2e;
97 | }
98 |
99 | .control-center {
100 | box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.8), inset 0 0 0 1px #313244;
101 | border-radius: 12.6px;
102 | margin: 18px;
103 | background-color: #1e1e2e;
104 | color: #cdd6f4;
105 | padding: 14px;
106 | }
107 |
108 | .control-center .widget-title > label {
109 | color: #cdd6f4;
110 | font-size: 1.3em;
111 | }
112 |
113 | .control-center .widget-title button {
114 | border-radius: 7px;
115 | color: #cdd6f4;
116 | background-color: #313244;
117 | box-shadow: inset 0 0 0 1px #45475a;
118 | padding: 8px;
119 | }
120 |
121 | .control-center .widget-title button:hover {
122 | box-shadow: inset 0 0 0 1px #45475a;
123 | background-color: #585b70;
124 | color: #cdd6f4;
125 | }
126 |
127 | .control-center .widget-title button:active {
128 | box-shadow: inset 0 0 0 1px #45475a;
129 | background-color: #74c7ec;
130 | color: #1e1e2e;
131 | }
132 |
133 | .control-center .notification-row .notification-background {
134 | border-radius: 7px;
135 | color: #cdd6f4;
136 | background-color: #313244;
137 | box-shadow: inset 0 0 0 1px #45475a;
138 | margin-top: 14px;
139 | }
140 |
141 | .control-center .notification-row .notification-background .notification {
142 | padding: 7px;
143 | border-radius: 7px;
144 | }
145 |
146 | .control-center .notification-row .notification-background .notification.critical {
147 | box-shadow: inset 0 0 7px 0 #f38ba8;
148 | }
149 |
150 | .control-center .notification-row .notification-background .notification .notification-content {
151 | margin: 7px;
152 | }
153 |
154 | .control-center .notification-row .notification-background .notification .notification-content .summary {
155 | color: #cdd6f4;
156 | }
157 |
158 | .control-center .notification-row .notification-background .notification .notification-content .time {
159 | color: #a6adc8;
160 | }
161 |
162 | .control-center .notification-row .notification-background .notification .notification-content .body {
163 | color: #cdd6f4;
164 | }
165 |
166 | .control-center .notification-row .notification-background .notification > *:last-child > * {
167 | min-height: 3.4em;
168 | }
169 |
170 | .control-center .notification-row .notification-background .notification > *:last-child > * .notification-action {
171 | border-radius: 7px;
172 | color: #cdd6f4;
173 | background-color: #11111b;
174 | box-shadow: inset 0 0 0 1px #45475a;
175 | margin: 7px;
176 | }
177 |
178 | .control-center .notification-row .notification-background .notification > *:last-child > * .notification-action:hover {
179 | box-shadow: inset 0 0 0 1px #45475a;
180 | background-color: #313244;
181 | color: #cdd6f4;
182 | }
183 |
184 | .control-center .notification-row .notification-background .notification > *:last-child > * .notification-action:active {
185 | box-shadow: inset 0 0 0 1px #45475a;
186 | background-color: #74c7ec;
187 | color: #cdd6f4;
188 | }
189 |
190 | .control-center .notification-row .notification-background .close-button {
191 | margin: 7px;
192 | padding: 2px;
193 | border-radius: 6.3px;
194 | color: #1e1e2e;
195 | background-color: #eba0ac;
196 | }
197 |
198 | .close-button {
199 | border-radius: 6.3px;
200 | }
201 |
202 | .control-center .notification-row .notification-background .close-button:hover {
203 | background-color: #f38ba8;
204 | color: #1e1e2e;
205 | }
206 |
207 | .control-center .notification-row .notification-background .close-button:active {
208 | background-color: #f38ba8;
209 | color: #1e1e2e;
210 | }
211 |
212 | .control-center .notification-row .notification-background:hover {
213 | box-shadow: inset 0 0 0 1px #45475a;
214 | background-color: #7f849c;
215 | color: #cdd6f4;
216 | }
217 |
218 | .control-center .notification-row .notification-background:active {
219 | box-shadow: inset 0 0 0 1px #45475a;
220 | background-color: #74c7ec;
221 | color: #cdd6f4;
222 | }
223 |
224 | .notification.critical progress {
225 | background-color: #f38ba8;
226 | }
227 |
228 | .notification.low progress,
229 | .notification.normal progress {
230 | background-color: #89b4fa;
231 | }
232 |
233 | .control-center-dnd {
234 | margin-top: 5px;
235 | border-radius: 8px;
236 | background: #313244;
237 | border: 1px solid #45475a;
238 | box-shadow: none;
239 | }
240 |
241 | .control-center-dnd:checked {
242 | background: #313244;
243 | }
244 |
245 | .control-center-dnd slider {
246 | background: #45475a;
247 | border-radius: 8px;
248 | }
249 |
250 | .widget-dnd {
251 | margin: 0px;
252 | font-size: 1.1rem;
253 | }
254 |
255 | .widget-dnd > switch {
256 | font-size: initial;
257 | border-radius: 8px;
258 | background: #313244;
259 | border: 1px solid #45475a;
260 | box-shadow: none;
261 | }
262 |
263 | .widget-dnd > switch:checked {
264 | background: #313244;
265 | }
266 |
267 | .widget-dnd > switch slider {
268 | background: #45475a;
269 | border-radius: 8px;
270 | border: 1px solid #6c7086;
271 | }
272 |
273 | .widget-mpris .widget-mpris-player {
274 | background: #313244;
275 | padding: 7px;
276 | }
277 |
278 | .widget-mpris .widget-mpris-title {
279 | font-size: 1.2rem;
280 | }
281 |
282 | .widget-mpris .widget-mpris-subtitle {
283 | font-size: 0.8rem;
284 | }
285 |
286 | .widget-menubar > box > .menu-button-bar > button > label {
287 | font-size: 3rem;
288 | padding: 0.5rem 2rem;
289 | }
290 |
291 | .widget-menubar > box > .menu-button-bar > :last-child {
292 | color: #f38ba8;
293 | }
294 |
295 | .power-buttons button:hover,
296 | .powermode-buttons button:hover,
297 | .screenshot-buttons button:hover {
298 | background: #313244;
299 | }
300 |
301 | .control-center .widget-label > label {
302 | color: #cdd6f4;
303 | font-size: 2rem;
304 | }
305 |
306 | .widget-buttons-grid {
307 | padding-top: 1rem;
308 | }
309 |
310 | .widget-buttons-grid > flowbox > flowboxchild > button label {
311 | font-size: 2.5rem;
312 | }
313 |
314 | .widget-volume {
315 | padding-top: 1rem;
316 | }
317 |
318 | .widget-volume label {
319 | font-size: 1.5rem;
320 | color: #74c7ec;
321 | }
322 |
323 | .widget-volume trough highlight {
324 | background: #74c7ec;
325 | }
326 |
327 | .widget-backlight trough highlight {
328 | background: #f9e2af;
329 | }
330 |
331 | .widget-backlight label {
332 | font-size: 1.5rem;
333 | color: #f9e2af;
334 | }
335 |
336 | .widget-backlight .KB {
337 | padding-bottom: 1rem;
338 | }
339 |
340 | .image {
341 | padding-right: 0.5rem;
342 | }
343 |
--------------------------------------------------------------------------------
/.config/btop/btop.conf:
--------------------------------------------------------------------------------
1 | #? Config file for btop v. 1.4.0
2 |
3 | #* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
4 | #* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
5 | color_theme = "~/.config/btop/themes/mocha.theme"
6 |
7 | #* If the theme set background should be shown, set to False if you want terminal background transparency.
8 | theme_background = False
9 |
10 | #* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false.
11 | truecolor = True
12 |
13 | #* Set to true to force tty mode regardless if a real tty has been detected or not.
14 | #* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols.
15 | force_tty = False
16 |
17 | #* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets.
18 | #* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box.
19 | #* Use whitespace " " as separator between different presets.
20 | #* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty"
21 | presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty"
22 |
23 | #* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists.
24 | #* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift.
25 | vim_keys = False
26 |
27 | #* Rounded corners on boxes, is ignored if TTY mode is ON.
28 | rounded_corners = True
29 |
30 | #* Default symbols to use for graph creation, "braille", "block" or "tty".
31 | #* "braille" offers the highest resolution but might not be included in all fonts.
32 | #* "block" has half the resolution of braille but uses more common characters.
33 | #* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY.
34 | #* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view.
35 | graph_symbol = "braille"
36 |
37 | # Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
38 | graph_symbol_cpu = "default"
39 |
40 | # Graph symbol to use for graphs in gpu box, "default", "braille", "block" or "tty".
41 | graph_symbol_gpu = "default"
42 |
43 | # Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
44 | graph_symbol_mem = "default"
45 |
46 | # Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
47 | graph_symbol_net = "default"
48 |
49 | # Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
50 | graph_symbol_proc = "default"
51 |
52 | #* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace.
53 | shown_boxes = "cpu gpu0 proc"
54 |
55 | #* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
56 | update_ms = 2000
57 |
58 | #* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
59 | #* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
60 | proc_sorting = "cpu lazy"
61 |
62 | #* Reverse sorting order, True or False.
63 | proc_reversed = False
64 |
65 | #* Show processes as a tree.
66 | proc_tree = False
67 |
68 | #* Use the cpu graph colors in the process list.
69 | proc_colors = True
70 |
71 | #* Use a darkening gradient in the process list.
72 | proc_gradient = True
73 |
74 | #* If process cpu usage should be of the core it's running on or usage of the total available cpu power.
75 | proc_per_core = False
76 |
77 | #* Show process memory as bytes instead of percent.
78 | proc_mem_bytes = True
79 |
80 | #* Show cpu graph for each process.
81 | proc_cpu_graphs = True
82 |
83 | #* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate)
84 | proc_info_smaps = False
85 |
86 | #* Show proc box on left side of screen instead of right.
87 | proc_left = False
88 |
89 | #* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop).
90 | proc_filter_kernel = False
91 |
92 | #* In tree-view, always accumulate child process resources in the parent process.
93 | proc_aggregate = False
94 |
95 | #* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available.
96 | #* Select from a list of detected attributes from the options menu.
97 | cpu_graph_upper = "Auto"
98 |
99 | #* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available.
100 | #* Select from a list of detected attributes from the options menu.
101 | cpu_graph_lower = "Auto"
102 |
103 | #* If gpu info should be shown in the cpu box. Available values = "Auto", "On" and "Off".
104 | show_gpu_info = "Auto"
105 |
106 | #* Toggles if the lower CPU graph should be inverted.
107 | cpu_invert_lower = True
108 |
109 | #* Set to True to completely disable the lower CPU graph.
110 | cpu_single_graph = False
111 |
112 | #* Show cpu box at bottom of screen instead of top.
113 | cpu_bottom = False
114 |
115 | #* Shows the system uptime in the CPU box.
116 | show_uptime = True
117 |
118 | #* Show cpu temperature.
119 | check_temp = True
120 |
121 | #* Which sensor to use for cpu temperature, use options menu to select from list of available sensors.
122 | cpu_sensor = "Auto"
123 |
124 | #* Show temperatures for cpu cores also if check_temp is True and sensors has been found.
125 | show_coretemp = True
126 |
127 | #* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core.
128 | #* Use lm-sensors or similar to see which cores are reporting temperatures on your machine.
129 | #* Format "x:y" x=core with wrong temp, y=core with correct temp, use space as separator between multiple entries.
130 | #* Example: "4:0 5:1 6:3"
131 | cpu_core_map = ""
132 |
133 | #* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine".
134 | temp_scale = "celsius"
135 |
136 | #* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024.
137 | base_10_sizes = False
138 |
139 | #* Show CPU frequency.
140 | show_cpu_freq = True
141 |
142 | #* Draw a clock at top of screen, formatting according to strftime, empty string to disable.
143 | #* Special formatting: /host = hostname | /user = username | /uptime = system uptime
144 | clock_format = "%X"
145 |
146 | #* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort.
147 | background_update = True
148 |
149 | #* Custom cpu model name, empty string to disable.
150 | custom_cpu_name = ""
151 |
152 | #* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ".
153 | #* Begin line with "exclude=" to change to exclude filter, otherwise defaults to "most include" filter. Example: disks_filter="exclude=/boot /home/user".
154 | disks_filter = ""
155 |
156 | #* Show graphs instead of meters for memory values.
157 | mem_graphs = True
158 |
159 | #* Show mem box below net box instead of above.
160 | mem_below_net = False
161 |
162 | #* Count ZFS ARC in cached and available memory.
163 | zfs_arc_cached = True
164 |
165 | #* If swap memory should be shown in memory box.
166 | show_swap = True
167 |
168 | #* Show swap as a disk, ignores show_swap value above, inserts itself after first disk.
169 | swap_disk = True
170 |
171 | #* If mem box should be split to also show disks info.
172 | show_disks = True
173 |
174 | #* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar.
175 | only_physical = True
176 |
177 | #* Read disks list from /etc/fstab. This also disables only_physical.
178 | use_fstab = True
179 |
180 | #* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool)
181 | zfs_hide_datasets = False
182 |
183 | #* Set to true to show available disk space for privileged users.
184 | disk_free_priv = False
185 |
186 | #* Toggles if io activity % (disk busy time) should be shown in regular disk usage view.
187 | show_io_stat = True
188 |
189 | #* Toggles io mode for disks, showing big graphs for disk read/write speeds.
190 | io_mode = False
191 |
192 | #* Set to True to show combined read/write io graphs in io mode.
193 | io_graph_combined = False
194 |
195 | #* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ".
196 | #* Example: "/mnt/media:100 /:20 /boot:1".
197 | io_graph_speeds = ""
198 |
199 | #* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False.
200 | net_download = 100
201 |
202 | net_upload = 100
203 |
204 | #* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest.
205 | net_auto = False
206 |
207 | #* Sync the auto scaling for download and upload to whichever currently has the highest scale.
208 | net_sync = True
209 |
210 | #* Starts with the Network Interface specified here.
211 | net_iface = ""
212 |
213 | #* Show battery stats in top right if battery is present.
214 | show_battery = True
215 |
216 | #* Which battery to use if multiple are present. "Auto" for auto detection.
217 | selected_battery = "Auto"
218 |
219 | #* Show power stats of battery next to charge indicator.
220 | show_battery_watts = True
221 |
222 | #* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG".
223 | #* The level set includes all lower levels, i.e. "DEBUG" will show all logging info.
224 | log_level = "WARNING"
225 |
226 | #* Measure PCIe throughput on NVIDIA cards, may impact performance on certain cards.
227 | nvml_measure_pcie_speeds = True
228 |
229 | #* Horizontally mirror the GPU graph.
230 | gpu_mirror_graph = True
231 |
232 | #* Custom gpu0 model name, empty string to disable.
233 | custom_gpu_name0 = ""
234 |
235 | #* Custom gpu1 model name, empty string to disable.
236 | custom_gpu_name1 = ""
237 |
238 | #* Custom gpu2 model name, empty string to disable.
239 | custom_gpu_name2 = ""
240 |
241 | #* Custom gpu3 model name, empty string to disable.
242 | custom_gpu_name3 = ""
243 |
244 | #* Custom gpu4 model name, empty string to disable.
245 | custom_gpu_name4 = ""
246 |
247 | #* Custom gpu5 model name, empty string to disable.
248 | custom_gpu_name5 = ""
249 |
--------------------------------------------------------------------------------
/.config/cava/config:
--------------------------------------------------------------------------------
1 | ## Configuration file for CAVA.
2 | # Remove the ; to change parameters.
3 |
4 |
5 | [general]
6 |
7 |
8 | [color]
9 | #background = '#1e1e2e'
10 |
11 | gradient = 1
12 |
13 |
14 | gradient_color_1 = '#cba6f7'
15 | gradient_color_2 = '#cba6f7'
16 |
17 | # Smoothing mode. Can be 'normal', 'scientific' or 'waves'. DEPRECATED as of 0.6.0
18 | ; mode = normal
19 |
20 | # Accepts only non-negative values.
21 | ; framerate = 60
22 |
23 | # 'autosens' will attempt to decrease sensitivity if the bars peak. 1 = on, 0 = off
24 | # new as of 0.6.0 autosens of low values (dynamic range)
25 | # 'overshoot' allows bars to overshoot (in % of terminal height) without initiating autosens. DEPRECATED as of 0.6.0
26 | ; autosens = 1
27 | ; overshoot = 20
28 |
29 | # Manual sensitivity in %. If autosens is enabled, this will only be the initial value.
30 | # 200 means double height. Accepts only non-negative values.
31 | ; sensitivity = 100
32 |
33 | # The number of bars (0-512). 0 sets it to auto (fill up console).
34 | # Bars' width and space between bars in number of characters.
35 | ; bars = 0
36 | ; bar_width = 2
37 | ; bar_spacing = 1
38 | # bar_height is only used for output in "noritake" format
39 | ; bar_height = 32
40 |
41 | # For SDL width and space between bars is in pixels, defaults are:
42 | ; bar_width = 20
43 | ; bar_spacing = 5
44 |
45 | # sdl_glsl have these default values, they are only used to calulate max number of bars.
46 | ; bar_width = 1
47 | ; bar_spacing = 0
48 |
49 |
50 | # Lower and higher cutoff frequencies for lowest and highest bars
51 | # the bandwidth of the visualizer.
52 | # Note: there is a minimum total bandwidth of 43Mhz x number of bars.
53 | # Cava will automatically increase the higher cutoff if a too low band is specified.
54 | ; lower_cutoff_freq = 50
55 | ; higher_cutoff_freq = 10000
56 |
57 |
58 | # Seconds with no input before cava goes to sleep mode. Cava will not perform FFT or drawing and
59 | # only check for input once per second. Cava will wake up once input is detected. 0 = disable.
60 | ; sleep_timer = 0
61 |
62 |
63 | [input]
64 |
65 | # Audio capturing method. Possible methods are: 'fifo', 'portaudio', 'pipewire', 'alsa', 'pulse', 'sndio', 'oss', 'jack' or 'shmem'
66 | # Defaults to 'oss', 'pipewire', 'sndio', 'jack', 'pulse', 'alsa', 'portaudio' or 'fifo', in that order, dependent on what support cava was built with.
67 | # On Mac it defaults to 'portaudio' or 'fifo'
68 | # On windows this is automatic and no input settings are needed.
69 | #
70 | # All input methods uses the same config variable 'source'
71 | # to define where it should get the audio.
72 | #
73 | # For pulseaudio and pipewire 'source' will be the source. Default: 'auto', which uses the monitor source of the default sink
74 | # (all pulseaudio sinks(outputs) have 'monitor' sources(inputs) associated with them).
75 | #
76 | # For pipewire 'source' will be the object name or object.serial of the device to capture from.
77 | # Both input and output devices are supported.
78 | #
79 | # For alsa 'source' will be the capture device.
80 | # For fifo 'source' will be the path to fifo-file.
81 | # 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
82 | #
83 | # For sndio 'source' will be a raw recording audio descriptor or a monitoring sub-device, e.g. 'rsnd/2' or 'snd/1'. Default: 'default'.
84 | # README.md contains further information on how to setup CAVA for sndio.
85 | #
86 | # For oss 'source' will be the path to a audio device, e.g. '/dev/dsp2'. Default: '/dev/dsp', i.e. the default audio device.
87 | # README.md contains further information on how to setup CAVA for OSS on FreeBSD.
88 | #
89 | # For jack 'source' will be the name of the JACK server to connect to, e.g. 'foobar'. Default: 'default'.
90 | # README.md contains further information on how to setup CAVA for JACK.
91 | #
92 | method = pulse
93 | ; source = auto
94 |
95 | ; method = pulseaudio
96 | ; source = auto
97 |
98 |
99 | ; method = pipewire
100 | ; source = auto
101 |
102 | ; method = alsa
103 | ; source = hw:Loopback,1
104 |
105 | ; method = fifo
106 | ; source = /tmp/mpd.fifo
107 |
108 | ; method = shmem
109 | ; source = /squeezelite-AA:BB:CC:DD:EE:FF
110 |
111 | ; method = portaudio
112 | ; source = auto
113 |
114 | ; method = sndio
115 | ; source = default
116 |
117 | ; method = oss
118 | ; source = /dev/dsp
119 |
120 | ; method = jack
121 | ; source = default
122 | ## test config file for CAVA, testing if zero pulseaudio input gives zero bar height output
123 |
124 |
125 |
126 |
127 |
128 |
129 |
130 | # The options 'sample_rate', 'sample_bits', 'channels' and 'autoconnect' can be configured for some input methods:
131 | # sample_rate: fifo, pipewire, sndio, oss
132 | # sample_bits: fifo, pipewire, sndio, oss
133 | # channels: sndio, oss, jack
134 | # autoconnect: jack
135 | # Other methods ignore these settings.
136 | #
137 | # For 'sndio' and 'oss' they are only preferred values, i.e. if the values are not supported
138 | # by the chosen audio device, the device will use other supported values instead.
139 | # Example: 48000, 32 and 2, but the device only supports 44100, 16 and 1, then it
140 | # will use 44100, 16 and 1.
141 | #
142 | ; sample_rate = 44100
143 | ; sample_bits = 16
144 | ; channels = 2
145 | ; autoconnect = 2
146 |
147 |
148 | [output]
149 |
150 | # Output method. Can be 'ncurses', 'noncurses', 'raw', 'noritake', 'sdl'
151 | # or 'sdl_glsl'.
152 | # 'noncurses' (default) uses a buffer and cursor movements to only print
153 | # changes from frame to frame in the terminal. Uses less resources and is less
154 | # prone to tearing (vsync issues) than 'ncurses'.
155 | #
156 | # 'raw' is an 8 or 16 bit (configurable via the 'bit_format' option) data
157 | # stream of the bar heights that can be used to send to other applications.
158 | # 'raw' defaults to 200 bars, which can be adjusted in the 'bars' option above.
159 | #
160 | # 'noritake' outputs a bitmap in the format expected by a Noritake VFD display
161 | # in graphic mode. It only support the 3000 series graphical VFDs for now.
162 | #
163 | # 'sdl' uses the Simple DirectMedia Layer to render in a graphical context.
164 | # 'sdl_glsl' uses SDL to create an OpenGL context. Write your own shaders or
165 | # use one of the predefined ones.
166 | ; method = noncurses
167 |
168 | # Orientation of the visualization. Can be 'bottom', 'top', 'left' or 'right'.
169 | # Default is 'bottom'. Other orientations are only supported on sdl and ncruses
170 | # output. Note: many fonts have weird glyphs for 'top' and 'right' characters,
171 | # which can make ncurses not look right.
172 | ; orientation = bottom
173 |
174 | # Visual channels. Can be 'stereo' or 'mono'.
175 | # 'stereo' mirrors both channels with low frequencies in center.
176 | # 'mono' outputs left to right lowest to highest frequencies.
177 | # 'mono_option' set mono to either take input from 'left', 'right' or 'average'.
178 | # set 'reverse' to 1 to display frequencies the other way around.
179 | ; channels = stereo
180 | ; mono_option = average
181 | ; reverse = 0
182 |
183 | # Raw output target. A fifo will be created if target does not exist.
184 | ; raw_target = /dev/stdout
185 |
186 | # Raw data format. Can be 'binary' or 'ascii'.
187 | ; data_format = binary
188 |
189 | # Binary bit format, can be '8bit' (0-255) or '16bit' (0-65530).
190 | ; bit_format = 16bit
191 |
192 | # Ascii max value. In 'ascii' mode range will run from 0 to value specified here
193 | ; ascii_max_range = 1000
194 |
195 | # Ascii delimiters. In ascii format each bar and frame is separated by a delimiters.
196 | # Use decimal value in ascii table (i.e. 59 = ';' and 10 = '\n' (line feed)).
197 | ; bar_delimiter = 59
198 | ; frame_delimiter = 10
199 |
200 | # sdl window size and position. -1,-1 is centered.
201 | ; sdl_width = 1000
202 | ; sdl_height = 500
203 | ; sdl_x = -1
204 | ; sdl_y= -1
205 | ; sdl_full_screen = 0
206 |
207 | # set label on bars on the x-axis. Can be 'frequency' or 'none'. Default: 'none'
208 | # 'frequency' displays the lower cut off frequency of the bar above.
209 | # Only supported on ncurses and noncurses output.
210 | ; xaxis = none
211 |
212 | # enable alacritty synchronized updates. 1 = on, 0 = off
213 | # removes flickering in alacritty terminal emulator.
214 | # defaults to off since the behaviour in other terminal emulators is unknown
215 | ; alacritty_sync = 0
216 |
217 | # Shaders for sdl_glsl, located in $HOME/.config/cava/shaders
218 | ; vertex_shader = pass_through.vert
219 | ; fragment_shader = bar_spectrum.frag
220 |
221 | ; for glsl output mode, keep rendering even if no audio
222 | ; continuous_rendering = 0
223 |
224 | # disable console blank (screen saver) in tty
225 | # (Not supported on FreeBSD)
226 | ; disable_blanking = 0
227 |
228 | # show a flat bar at the bottom of the screen when idle, 1 = on, 0 = off
229 | ; show_idle_bar_heads = 1
230 |
231 | # show waveform instead of frequency spectrum, 1 = on, 0 = off
232 | ; waveform = 0
233 |
234 | #[color]
235 |
236 | # Colors can be one of seven predefined: black, blue, cyan, green, magenta, red, white, yellow.
237 | # Or defined by hex code '#xxxxxx' (hex code must be within ''). User defined colors requires
238 | # a terminal that can change color definitions such as Gnome-terminal or rxvt.
239 | # default is to keep current terminal color
240 | #; background = default
241 | #; foreground = default
242 |
243 | # SDL and sdl_glsl only support hex code colors, these are the default:
244 | #; background = '#111111'
245 | #; foreground = '#33ffff'
246 |
247 |
248 | # Gradient mode, only hex defined colors are supported,
249 | # background must also be defined in hex or remain commented out. 1 = on, 0 = off.
250 | # You can define as many as 8 different colors. They range from bottom to top of screen
251 | #; gradient = 0
252 | #; gradient_count = 8
253 | #; gradient_color_1 = '#59cc33'
254 | #; gradient_color_2 = '#80cc33'
255 | #; gradient_color_3 = '#a6cc33'
256 | #; gradient_color_4 = '#cccc33'
257 | #; gradient_color_5 = '#cca633'
258 | #; gradient_color_6 = '#cc8033'
259 | #; gradient_color_7 = '#cc5933'
260 | #; gradient_color_8 = '#cc3333'
261 |
262 |
263 |
264 | [smoothing]
265 |
266 | # Percentage value for integral smoothing. Takes values from 0 - 100.
267 | # Higher values means smoother, but less precise. 0 to disable.
268 | # DEPRECATED as of 0.8.0, use noise_reduction instead
269 | ; integral = 77
270 |
271 | # Disables or enables the so-called "Monstercat smoothing" with or without "waves". Set to 0 to disable.
272 | ; monstercat = 0
273 | ; waves = 0
274 |
275 | # Set gravity percentage for "drop off". Higher values means bars will drop faster.
276 | # Accepts only non-negative values. 50 means half gravity, 200 means double. Set to 0 to disable "drop off".
277 | # DEPRECATED as of 0.8.0, use noise_reduction instead
278 | ; gravity = 100
279 |
280 |
281 | # In bar height, bars that would have been lower that this will not be drawn.
282 | # DEPRECATED as of 0.8.0
283 | ; ignore = 0
284 |
285 | # Noise reduction, int 0 - 100. default 77
286 | # the raw visualization is very noisy, this factor adjusts the integral and gravity filters to keep the signal smooth
287 | # 100 will be very slow and smooth, 0 will be fast but noisy.
288 | ; noise_reduction = 77
289 |
290 |
291 | [eq]
292 |
293 | # This one is tricky. You can have as much keys as you want.
294 | # Remember to uncomment more than one key! More keys = more precision.
295 | # Look at readme.md on github for further explanations and examples.
296 | ; 1 = 1 # bass
297 | ; 2 = 1
298 | ; 3 = 1 # midtone
299 | ; 4 = 1
300 | ; 5 = 1 # treble
301 |
--------------------------------------------------------------------------------
/.config/swaync/configSchema.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://json-schema.org/draft/2020-12/schema",
3 | "title": "SwayNotificationCenter JSON schema",
4 | "type": "object",
5 | "additionalProperties": false,
6 | "properties": {
7 | "$schema": {
8 | "type": "string",
9 | "description": "Pointer to the schema against which this document should be validated."
10 | },
11 | "positionX": {
12 | "type": "string",
13 | "description": "Horizontal position of control center and notification window",
14 | "default": "right",
15 | "enum": [
16 | "right",
17 | "left",
18 | "center"
19 | ]
20 | },
21 | "layer": {
22 | "type": "string",
23 | "description": "Layer of control center window",
24 | "default": "top",
25 | "enum": [
26 | "background",
27 | "bottom",
28 | "top",
29 | "overlay"
30 | ]
31 | },
32 | "cssPriority": {
33 | "type": "string",
34 | "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",
35 | "default": "application",
36 | "enum": [
37 | "application",
38 | "user"
39 | ]
40 | },
41 | "positionY": {
42 | "type": "string",
43 | "description": "Vertical position of control center and notification window",
44 | "default": "top",
45 | "enum": [
46 | "top",
47 | "bottom"
48 | ]
49 | },
50 | "control-center-positionX": {
51 | "type": "string",
52 | "description": "Optional: Horizontal position of the control center. Supersedes positionX if not set to `none`",
53 | "default": "none",
54 | "enum": [
55 | "right",
56 | "left",
57 | "center",
58 | "none"
59 | ]
60 | },
61 | "control-center-positionY": {
62 | "type": "string",
63 | "description": "Optional: Vertical position of the control center. Supersedes positionY if not set to `none`",
64 | "default": "none",
65 | "enum": [
66 | "top",
67 | "bottom",
68 | "none"
69 | ]
70 | },
71 | "control-center-margin-top": {
72 | "type": "integer",
73 | "description": "The margin (in pixels) at the top of the notification center. 0 to disable",
74 | "default": 0
75 | },
76 | "control-center-margin-bottom": {
77 | "type": "integer",
78 | "description": "The margin (in pixels) at the bottom of the notification center. 0 to disable",
79 | "default": 0
80 | },
81 | "control-center-margin-right": {
82 | "type": "integer",
83 | "description": "The margin (in pixels) at the right of the notification center. 0 to disable",
84 | "default": 0
85 | },
86 | "control-center-margin-left": {
87 | "type": "integer",
88 | "description": "The margin (in pixels) at the left of the notification center. 0 to disable",
89 | "default": 0
90 | },
91 | "notification-icon-size": {
92 | "type": "integer",
93 | "description": "The notification icon size (in pixels)",
94 | "default": 64,
95 | "minimum": 16
96 | },
97 | "notification-body-image-height": {
98 | "type": "integer",
99 | "description": "The notification body image height (in pixels)",
100 | "default": 100,
101 | "minimum": 100
102 | },
103 | "notification-body-image-width": {
104 | "type": "integer",
105 | "description": "The notification body image width (in pixels)",
106 | "default": 200,
107 | "minimum": 200
108 | },
109 | "timeout": {
110 | "type": "integer",
111 | "description": "The notification timeout for notifications with normal priority",
112 | "default": 10
113 | },
114 | "timeout-low": {
115 | "type": "integer",
116 | "description": "The notification timeout for notifications with low priority",
117 | "default": 5
118 | },
119 | "timeout-critical": {
120 | "type": "integer",
121 | "description": "The notification timeout for notifications with critical priority. 0 to disable",
122 | "default": 0
123 | },
124 | "notification-window-width": {
125 | "type": "integer",
126 | "description": "Width of the notification in pixels",
127 | "default": 500
128 | },
129 | "fit-to-screen": {
130 | "type": "boolean",
131 | "description": "If the control center should expand to both edges of the screen",
132 | "default": true
133 | },
134 | "control-center-height": {
135 | "type": "integer",
136 | "description": "Height of the control center in pixels. Ignored when 'fit-to-screen' is set to 'true'",
137 | "default": 600,
138 | "minimum": 300
139 | },
140 | "control-center-width": {
141 | "type": "integer",
142 | "description": "Width of the control center in pixels",
143 | "default": 500,
144 | "minimum": 300
145 | },
146 | "keyboard-shortcuts": {
147 | "type": "boolean",
148 | "description": "If control center should use keyboard shortcuts",
149 | "default": true
150 | },
151 | "image-visibility": {
152 | "type": "string",
153 | "description": "An explanation about the purpose of this instance.",
154 | "default": "when-available",
155 | "enum": [
156 | "always",
157 | "when-available",
158 | "never"
159 | ]
160 | },
161 | "transition-time": {
162 | "type": "integer",
163 | "description": "The notification animation duration. 0 to disable",
164 | "default": 200
165 | },
166 | "hide-on-clear": {
167 | "type": "boolean",
168 | "description": "Hides the control center after pressing \"Clear All\"",
169 | "default": false
170 | },
171 | "hide-on-action": {
172 | "type": "boolean",
173 | "description": "Hides the control center when clicking on notification action",
174 | "default": true
175 | },
176 | "script-fail-notify": {
177 | "type": "boolean",
178 | "description": "Sends a notification if a script fails to run",
179 | "default": true
180 | },
181 | "scripts": {
182 | "type": "object",
183 | "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.",
184 | "minProperties": 1,
185 | "additionalProperties": false,
186 | "patternProperties": {
187 | "^.{1,}$": {
188 | "type": "object",
189 | "description": "Your script object.",
190 | "required": [
191 | "exec"
192 | ],
193 | "minProperties": 2,
194 | "additionalProperties": false,
195 | "properties": {
196 | "exec": {
197 | "type": "string",
198 | "description": "The script to run. Can also run regular shell commands."
199 | },
200 | "app-name": {
201 | "type": "string",
202 | "description": "The app-name. Uses Regex."
203 | },
204 | "desktop-entry": {
205 | "type": "string",
206 | "description": "The desktop-entry. Uses Regex."
207 | },
208 | "summary": {
209 | "type": "string",
210 | "description": "The summary of the notification. Uses Regex."
211 | },
212 | "body": {
213 | "type": "string",
214 | "description": "The body of the notification. Uses Regex."
215 | },
216 | "urgency": {
217 | "type": "string",
218 | "description": "The urgency of the notification.",
219 | "default": "Normal",
220 | "enum": [
221 | "Low",
222 | "Normal",
223 | "Critical"
224 | ]
225 | },
226 | "category": {
227 | "type": "string",
228 | "description": "Which category the notification belongs to. Uses Regex."
229 | },
230 | "run-on": {
231 | "type": "string",
232 | "description": "Whether to run the script on an action being activated, or when the notification is received.",
233 | "enum": [
234 | "action",
235 | "receive"
236 | ],
237 | "default": "receive"
238 | }
239 | }
240 | }
241 | }
242 | },
243 | "notification-visibility": {
244 | "type": "object",
245 | "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.",
246 | "minProperties": 1,
247 | "additionalProperties": false,
248 | "patternProperties": {
249 | "^.{1,}$": {
250 | "type": "object",
251 | "description": "Your script object.",
252 | "required": [
253 | "state"
254 | ],
255 | "minProperties": 2,
256 | "additionalProperties": false,
257 | "properties": {
258 | "state": {
259 | "type": "string",
260 | "description": "The notification visibility state.",
261 | "default": "enabled",
262 | "enum": [
263 | "ignored",
264 | "muted",
265 | "enabled",
266 | "transient"
267 | ]
268 | },
269 | "app-name": {
270 | "type": "string",
271 | "description": "The app-name. Uses Regex."
272 | },
273 | "desktop-entry": {
274 | "type": "string",
275 | "description": "The desktop-entry. Uses Regex."
276 | },
277 | "summary": {
278 | "type": "string",
279 | "description": "The summary of the notification. Uses Regex."
280 | },
281 | "body": {
282 | "type": "string",
283 | "description": "The body of the notification. Uses Regex."
284 | },
285 | "urgency": {
286 | "type": "string",
287 | "description": "The urgency of the notification.",
288 | "default": "Normal",
289 | "enum": [
290 | "Low",
291 | "Normal",
292 | "Critical"
293 | ]
294 | },
295 | "override-urgency": {
296 | "type": "string",
297 | "description": "The new urgency of the notification (optional)",
298 | "default": "unset",
299 | "enum": [
300 | "unset",
301 | "low",
302 | "normal",
303 | "critical"
304 | ]
305 | },
306 | "category": {
307 | "type": "string",
308 | "description": "Which category the notification belongs to. Uses Regex."
309 | }
310 | }
311 | }
312 | }
313 | },
314 | "widgets": {
315 | "type": "array",
316 | "description": "Which order and which widgets to display. If the \"notifications\" widget isn't specified, it will be placed at the bottom.",
317 | "default": [
318 | "inhibitors",
319 | "title",
320 |
321 | "notifications"
322 | ],
323 | "items": {
324 | "type": "string",
325 | // Sadly can't use regex and enums at the same time. Fix in the future?
326 | "pattern": "^[a-zA-Z0-9_-]{1,}(#[a-zA-Z0-9_-]{1,}){0,1}?$"
327 | }
328 | },
329 | "widget-config": {
330 | "type": "object",
331 | "description": "Configure specific widget properties.",
332 | "additionalProperties": false,
333 | "patternProperties": {
334 | // New widgets go here
335 | "^title(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
336 | // References the widget structure from "widgets" below
337 | "$ref": "#/widgets/title"
338 | },
339 |
340 | "^label(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
341 | "$ref": "#/widgets/label"
342 | },
343 | "^mpris(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
344 | "$ref": "#/widgets/mpris"
345 | },
346 | "^buttons-grid(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
347 | "$ref": "#/widgets/buttons-grid"
348 | },
349 | "^menubar(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
350 | "$ref": "#/widgets/menubar"
351 | },
352 | "^volume(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
353 | "$ref": "#/widgets/volume"
354 | },
355 | "^backlight(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
356 | "$ref": "#/widgets/backlight"
357 | },
358 | "^inhibitors(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
359 | // References the widget structure from "widgets" below
360 | "$ref": "#/widgets/inhibitors"
361 | }
362 | }
363 | }
364 | },
365 | "widgets": {
366 | // New widgets go here
367 | "title": {
368 | "type": "object",
369 | "description": "Control Center Title Widget",
370 | "additionalProperties": false,
371 | "properties": {
372 | "text": {
373 | "type": "string",
374 | "description": "The title of the widget",
375 | "default": "Notifications"
376 | },
377 | "clear-all-button": {
378 | "type": "boolean",
379 | "description": "Wether to display a \"Clear All\" button",
380 | "default": true
381 | },
382 | "button-text": {
383 | "type": "string",
384 | "description": "\"Clear All\" button text",
385 | "default": "Clear All"
386 | }
387 | }
388 | },
389 | "dnd": {
390 | "type": "object",
391 | "description": "Control Center Do Not Disturb Widget",
392 | "additionalProperties": false,
393 | "properties": {
394 | "text": {
395 | "type": "string",
396 | "description": "The title of the widget",
397 | "default": "Do Not Disturb"
398 | }
399 | }
400 | },
401 | "label": {
402 | "type": "object",
403 | "description": "A generic widget that allows the user to add custom text",
404 | "additionalProperties": false,
405 | "properties": {
406 | "text": {
407 | "type": "string",
408 | "description": "The text content of the widget",
409 | "default": "Label Text"
410 | },
411 | "max-lines": {
412 | "type": "integer",
413 | "description": "The maximum lines",
414 | "default": 5
415 | }
416 | }
417 | },
418 | "mpris": {
419 | "type": "object",
420 | "description": "A widget that displays multiple music players",
421 | "additionalProperties": false,
422 | "properties": {
423 | "image-size": {
424 | "type": "integer",
425 | "description": "The size of the album art",
426 | "default": 96
427 | },
428 | "image-radius": {
429 | "type": "integer",
430 | "description": "The border radius of the album art",
431 | "default": 12
432 | }
433 | }
434 | },
435 | "buttons-grid": {
436 | "type": "object",
437 | "description": "A widget to add a grid of buttons that execute shell commands",
438 | "additionalProperties": false,
439 | "properties": {
440 | "actions": {
441 | "type": "array",
442 | "description": "A list of actions containing a label and a command",
443 | "items": {
444 | "type": "object",
445 | "properties": {
446 | "label": {
447 | "type": "string",
448 | "description": "Text to be displayed in button",
449 | "default": "label"
450 | },
451 | "command": {
452 | "type": "string",
453 | "description": "Command to be executed on click",
454 | "default": ""
455 | }
456 | }
457 | }
458 | }
459 | }
460 | },
461 | "menubar": {
462 | "type": "object",
463 | "description": "A bar that contains action-buttons and buttons to open a dropdown with action-buttons",
464 | "additionalProperties": false,
465 | "patternProperties": {
466 | "^menu(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
467 | "type": "object",
468 | "description": "A button that opens a dropdown with action-buttons",
469 | "additionalProperties": false,
470 | "properties": {
471 | "label": {
472 | "type": "string",
473 | "description": "Text to be displayed in button",
474 | "default": "Menu"
475 | },
476 | "position": {
477 | "type": "string",
478 | "description": "Horizontal position of the button in the bar",
479 | "default": "right",
480 | "enum": [
481 | "right",
482 | "left"
483 | ]
484 | },
485 | "actions": {
486 | "$ref": "#/widgets/buttons-grid/properties/actions"
487 | }
488 | }
489 | },
490 | "^buttons(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
491 | "type": "object",
492 | "description": "A list of action-buttons to be displayed in the topbar",
493 | "additionalProperties": false,
494 | "properties": {
495 | "position": {
496 | "type": "string",
497 | "description": "Horizontal position of the button in the bar",
498 | "default": "right",
499 | "enum": [
500 | "right",
501 | "left"
502 | ]
503 | },
504 | "actions": {
505 | "$ref": "#/widgets/buttons-grid/properties/actions"
506 | }
507 | }
508 | }
509 | }
510 | },
511 | "volume": {
512 | "type": "object",
513 | "description": "Slider to control pulse volume",
514 | "additionalProperties": false,
515 | "properties": {
516 | "label": {
517 | "type": "string",
518 | "description": "Text displayed in front of the volume slider",
519 | "default": "Volume"
520 | }
521 | }
522 | },
523 | "backlight": {
524 | "type": "object",
525 | "description": "Slider to control monitor brightness",
526 | "additionalProperties": false,
527 | "properties": {
528 | "label": {
529 | "type": "string",
530 | "description": "Text displayed in front of the backlight slider",
531 | "default": "Brightness"
532 | },
533 | "device": {
534 | "type": "string",
535 | "description": "Name of monitor (find possible devices using `ls /sys/class/backlight` or `ls /sys/class/leds`)",
536 | "default": "intel_backlight"
537 | },
538 | "subsystem": {
539 | "type": "string",
540 | "description": "Kernel subsystem for brightness control",
541 | "default": "backlight",
542 | "enum": [
543 | "backlight",
544 | "leds"
545 | ]
546 | },
547 | "min": {
548 | "type": "integer",
549 | "default": 0,
550 | "description": "Lowest possible value for brightness"
551 | }
552 | }
553 | },
554 | "inhibitors": {
555 | "type": "object",
556 | "description": "Control Center Inhibitors Widget",
557 | "additionalProperties": false,
558 | "properties": {
559 | "text": {
560 | "type": "string",
561 | "description": "The title of the widget",
562 | "default": "Inhibitors"
563 | },
564 | "clear-all-button": {
565 | "type": "boolean",
566 | "description": "Wether to display a \"Clear All\" button",
567 | "default": true
568 | },
569 | "button-text": {
570 | "type": "string",
571 | "description": "\"Clear All\" button text",
572 | "default": "Clear All"
573 | }
574 | }
575 | }
576 | }
577 | }
--------------------------------------------------------------------------------