initial commit

This commit is contained in:
2026-09-14 15:31:20 -05:00
commit 438546d84f
44 changed files with 3292 additions and 0 deletions
@@ -0,0 +1,50 @@
# ===========================================================================
# betterlockscreen — Catppuccin Macchiato
# All colours are RRGGBBAA (i3lock-color format, no leading '#').
# Docs: https://github.com/betterlockscreen/betterlockscreen
# ===========================================================================
# Which cached image variant `betterlockscreen -l` uses when given no argument
display_on=0
span_image=false
# --- ring ------------------------------------------------------------------
insidecolor=24273a00
ringcolor=c6a0f6ff
insidevercolor=8aadf41c
insidewrongcolor=ed879633
ringvercolor=8aadf4ff
ringwrongcolor=ed8796ff
# --- keypress highlight ----------------------------------------------------
keyhlcolor=a6da95ff
bshlcolor=f5a97fff
separatorcolor=00000000
# --- text ------------------------------------------------------------------
verifcolor=cad3f5ff
timecolor=cad3f5ff
datecolor=a5adcbff
layoutcolor=a5adcbff
loginbox=24273aaa
locktext="Type password to unlock"
font="Inconsolata Nerd Font"
time_format="%H:%M"
date_format="%A, %d %B"
# --- ring geometry ---------------------------------------------------------
ring_width=6
radius=120
# --- greeter ---------------------------------------------------------------
greetercolor=c6a0f6ff
greeter_text="Welcome back, $USER"
# --- blur strength used by `betterlockscreen -u <img> --blur <n>` ----------
blur_level=1
# --- behaviour -------------------------------------------------------------
# Show the failed-attempt count and blank the screen after 60s of lock idle
lock_timeout=60
quiet=true
+127
View File
@@ -0,0 +1,127 @@
# ===========================================================================
# dunst — Catppuccin Macchiato
# Font: Inconsolata Nerd Font
# Docs: man 5 dunst
# ===========================================================================
[global]
monitor = 0
follow = mouse
# --- geometry ---------------------------------------------------------
width = (280, 440)
height = (0, 300)
origin = top-right
offset = (12, 42) # 42 clears the 30pt polybar
scale = 0
notification_limit = 6
progress_bar = true
progress_bar_height = 8
progress_bar_frame_width = 0
progress_bar_min_width = 150
progress_bar_max_width = 400
progress_bar_corner_radius = 4
indicate_hidden = yes
transparency = 5
separator_height = 4
padding = 12
horizontal_padding = 14
text_icon_padding = 10
frame_width = 2
frame_color = "#c6a0f6"
gap_size = 6
separator_color = frame
sort = yes
corner_radius = 10
# --- text -------------------------------------------------------------
font = Inconsolata Nerd Font 11
line_height = 0
markup = full
format = "<b>%s</b>\n%b"
alignment = left
vertical_alignment = center
show_age_threshold = 60
ellipsize = middle
ignore_newline = no
stack_duplicates = true
hide_duplicate_count = false
show_indicators = yes
# --- icons ------------------------------------------------------------
enable_recursive_icon_lookup = true
icon_theme = "Papirus-Dark, Adwaita"
icon_position = left
min_icon_size = 32
max_icon_size = 64
# --- history ----------------------------------------------------------
sticky_history = yes
history_length = 25
# --- misc -------------------------------------------------------------
dmenu = /usr/bin/rofi -dmenu -p dunst
browser = /usr/bin/xdg-open
always_run_script = true
title = Dunst
class = Dunst
ignore_dbusclose = false
# --- wayland (unused under i3, harmless) -------------------------------
force_xwayland = false
# --- mouse ------------------------------------------------------------
mouse_left_click = do_action, close_current
mouse_middle_click = close_all
mouse_right_click = close_current
[experimental]
per_monitor_dpi = false
# ---------------------------------------------------------------------------
# Urgency styling
# ---------------------------------------------------------------------------
[urgency_low]
background = "#24273a"
foreground = "#a5adcb"
frame_color = "#8bd5ca"
highlight = "#8bd5ca"
timeout = 5
[urgency_normal]
background = "#24273a"
foreground = "#cad3f5"
frame_color = "#c6a0f6"
highlight = "#c6a0f6"
timeout = 8
[urgency_critical]
background = "#24273a"
foreground = "#cad3f5"
frame_color = "#ed8796"
highlight = "#ed8796"
timeout = 0
# ---------------------------------------------------------------------------
# Rules
# ---------------------------------------------------------------------------
# Volume / brightness OSD: replace in place instead of stacking up.
[osd]
appname = "osd"
format = "<b>%s</b>\n%b"
timeout = 2
history_ignore = yes
urgency = low
# Screenshot notifications get a longer read and a click-to-open action.
[screenshot]
appname = "screenshot"
timeout = 6
urgency = normal
# Battery warnings should never disappear on their own.
[battery-critical]
appname = "battery"
urgency = critical
+17
View File
@@ -0,0 +1,17 @@
[Settings]
gtk-theme-name=catppuccin-macchiato-mauve-standard+default
gtk-icon-theme-name=Papirus-Dark
gtk-cursor-theme-name=catppuccin-macchiato-dark-cursors
gtk-cursor-theme-size=24
gtk-font-name=Inconsolata Nerd Font 11
gtk-application-prefer-dark-theme=1
gtk-enable-animations=1
gtk-primary-button-warps-slider=1
gtk-toolbar-style=GTK_TOOLBAR_ICONS
gtk-menu-images=1
gtk-button-images=1
gtk-decoration-layout=appmenu:none
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle=hintslight
gtk-xft-rgba=rgb
+11
View File
@@ -0,0 +1,11 @@
[Settings]
gtk-theme-name=catppuccin-macchiato-mauve-standard+default
gtk-icon-theme-name=Papirus-Dark
gtk-cursor-theme-name=catppuccin-macchiato-dark-cursors
gtk-cursor-theme-size=24
gtk-font-name=Inconsolata Nerd Font 11
gtk-application-prefer-dark-theme=1
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle=hintslight
gtk-xft-rgba=rgb
+333
View File
@@ -0,0 +1,333 @@
# ===========================================================================
# i3 window manager — Catppuccin Macchiato
# Font: Inconsolata Nerd Font
# Docs: https://i3wm.org/docs/userguide.html
# ===========================================================================
set $mod Mod4
set $alt Mod1
# --- Catppuccin Macchiato palette -----------------------------------------
set $rosewater #f4dbd6
set $flamingo #f0c6c6
set $pink #f5bde6
set $mauve #c6a0f6
set $red #ed8796
set $maroon #ee99a0
set $peach #f5a97f
set $yellow #eed49f
set $green #a6da95
set $teal #8bd5ca
set $sky #91d7e3
set $sapphire #7dc4e4
set $blue #8aadf4
set $lavender #b7bdf8
set $text #cad3f5
set $subtext1 #b8c0e0
set $subtext0 #a5adcb
set $overlay2 #939ab7
set $overlay1 #8087a2
set $overlay0 #6e738d
set $surface2 #5b6078
set $surface1 #494d64
set $surface0 #363a4f
set $base #24273a
set $mantle #1e2030
set $crust #181926
# --- fonts -----------------------------------------------------------------
font pango:Inconsolata Nerd Font 11
# --- applications ----------------------------------------------------------
set $term kitty
set $filemanager thunar
set $menu rofi -show drun
set $window_menu rofi -show window
set $runner rofi -show run
set $powermenu ~/.config/rofi/scripts/powermenu.sh
set $lock betterlockscreen --lock dimblur
# ---------------------------------------------------------------------------
# Appearance
# ---------------------------------------------------------------------------
# class border backgr. text indicator child_border
client.focused $mauve $mauve $crust $lavender $mauve
client.focused_inactive $surface0 $surface0 $text $surface0 $surface0
client.unfocused $surface0 $base $subtext0 $surface0 $surface0
client.urgent $red $red $crust $red $red
client.placeholder $base $base $text $base $base
client.background $base
# Gaps + borders (i3 >= 4.22 has gaps built in)
default_border pixel 2
default_floating_border pixel 2
hide_edge_borders smart
gaps inner 8
gaps outer 4
smart_gaps on
smart_borders on
# Focus behaviour
focus_follows_mouse no
mouse_warping none
focus_on_window_activation smart
popup_during_fullscreen smart
workspace_auto_back_and_forth yes
# ---------------------------------------------------------------------------
# Autostart
# ---------------------------------------------------------------------------
# exec_always => re-run on config reload; exec => only on i3 start.
# Wallpaper (feh restores whatever set-wallpaper.sh last applied)
exec_always --no-startup-id ~/.local/bin/set-wallpaper
# Compositor
exec_always --no-startup-id ~/.local/bin/restart-daemon picom
# Status bar
exec_always --no-startup-id ~/.config/polybar/launch.sh
# Notification daemon
exec_always --no-startup-id ~/.local/bin/restart-daemon dunst
# XDG autostart entries (nm-applet etc. that ship .desktop files)
exec --no-startup-id dex --autostart --environment i3
# PolicyKit authentication agent (GUI password prompts for gparted, etc.)
exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
# Tray applets
exec --no-startup-id nm-applet
exec --no-startup-id blueman-applet
exec --no-startup-id udiskie --tray --no-automount --notify
# Auto-lock: lock on suspend and after 10 min of idle time
exec --no-startup-id xss-lock --transfer-sleep-lock -- $lock --nofork
exec --no-startup-id xset s 600 600
exec --no-startup-id numlockx on
# Cursor theme for the root window
exec_always --no-startup-id xsetroot -cursor_name left_ptr
# ---------------------------------------------------------------------------
# Key bindings — launching
# ---------------------------------------------------------------------------
bindsym $mod+Return exec --no-startup-id $term
bindsym $mod+Shift+Return exec --no-startup-id $term --class kitty-float
bindsym $mod+e exec --no-startup-id $filemanager
bindsym $mod+d exec --no-startup-id $menu
bindsym $mod+Shift+d exec --no-startup-id $runner
bindsym $mod+Tab exec --no-startup-id $window_menu
bindsym $mod+Shift+e exec --no-startup-id $powermenu
bindsym $mod+q kill
bindsym $mod+Shift+q exec --no-startup-id xkill
# Lock / session
bindsym $mod+Shift+x exec --no-startup-id $lock
bindsym $mod+Shift+c reload
bindsym $mod+Shift+r restart
# ---------------------------------------------------------------------------
# Key bindings — focus & movement
# ---------------------------------------------------------------------------
# vim keys …
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right
# … and arrows
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
bindsym $mod+Shift+h move left
bindsym $mod+Shift+j move down
bindsym $mod+Shift+k move up
bindsym $mod+Shift+l move right
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
# ---------------------------------------------------------------------------
# Key bindings — layout
# ---------------------------------------------------------------------------
bindsym $mod+b split h
bindsym $mod+v split v
bindsym $mod+f fullscreen toggle
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+g layout toggle split
bindsym $mod+Shift+space floating toggle
bindsym $mod+space focus mode_toggle
bindsym $mod+a focus parent
bindsym $mod+Shift+a focus child
bindsym $mod+minus scratchpad show
bindsym $mod+Shift+minus move scratchpad
# Gap tweaks on the fly
bindsym $mod+plus gaps inner current plus 4
bindsym $mod+Shift+plus gaps inner current minus 4
bindsym $mod+Shift+g gaps inner current set 8; gaps outer current set 4
# Drag floating windows with the modifier held
floating_modifier $mod
tiling_drag modifier titlebar
# ---------------------------------------------------------------------------
# Workspaces
# ---------------------------------------------------------------------------
set $ws1 "1: "
set $ws2 "2: "
set $ws3 "3: "
set $ws4 "4: "
set $ws5 "5: "
set $ws6 "6: "
set $ws7 "7: "
set $ws8 "8: "
set $ws9 "9: "
set $ws10 "10: "
bindsym $mod+1 workspace number $ws1
bindsym $mod+2 workspace number $ws2
bindsym $mod+3 workspace number $ws3
bindsym $mod+4 workspace number $ws4
bindsym $mod+5 workspace number $ws5
bindsym $mod+6 workspace number $ws6
bindsym $mod+7 workspace number $ws7
bindsym $mod+8 workspace number $ws8
bindsym $mod+9 workspace number $ws9
bindsym $mod+0 workspace number $ws10
bindsym $mod+Shift+1 move container to workspace number $ws1
bindsym $mod+Shift+2 move container to workspace number $ws2
bindsym $mod+Shift+3 move container to workspace number $ws3
bindsym $mod+Shift+4 move container to workspace number $ws4
bindsym $mod+Shift+5 move container to workspace number $ws5
bindsym $mod+Shift+6 move container to workspace number $ws6
bindsym $mod+Shift+7 move container to workspace number $ws7
bindsym $mod+Shift+8 move container to workspace number $ws8
bindsym $mod+Shift+9 move container to workspace number $ws9
bindsym $mod+Shift+0 move container to workspace number $ws10
# Cycle workspaces
bindsym $mod+Ctrl+Right workspace next
bindsym $mod+Ctrl+Left workspace prev
bindsym $alt+Tab workspace back_and_forth
# Move workspace between monitors
bindsym $mod+Ctrl+Shift+Right move workspace to output right
bindsym $mod+Ctrl+Shift+Left move workspace to output left
# ---------------------------------------------------------------------------
# Media / hardware keys
# ---------------------------------------------------------------------------
bindsym XF86AudioRaiseVolume exec --no-startup-id ~/.local/bin/volume up
bindsym XF86AudioLowerVolume exec --no-startup-id ~/.local/bin/volume down
bindsym XF86AudioMute exec --no-startup-id ~/.local/bin/volume mute
bindsym XF86AudioMicMute exec --no-startup-id ~/.local/bin/volume micmute
bindsym XF86AudioPlay exec --no-startup-id playerctl play-pause
bindsym XF86AudioNext exec --no-startup-id playerctl next
bindsym XF86AudioPrev exec --no-startup-id playerctl previous
bindsym XF86MonBrightnessUp exec --no-startup-id ~/.local/bin/brightness up
bindsym XF86MonBrightnessDown exec --no-startup-id ~/.local/bin/brightness down
# Screenshots (maim)
bindsym Print exec --no-startup-id ~/.local/bin/screenshot full
bindsym Shift+Print exec --no-startup-id ~/.local/bin/screenshot area
bindsym $mod+Print exec --no-startup-id ~/.local/bin/screenshot window
# Notification control
bindsym $mod+n exec --no-startup-id dunstctl history-pop
bindsym $mod+Shift+n exec --no-startup-id dunstctl close-all
bindsym $mod+Ctrl+n exec --no-startup-id dunstctl set-paused toggle
# Wallpaper shuffle
bindsym $mod+Shift+w exec --no-startup-id ~/.local/bin/set-wallpaper --random
# ---------------------------------------------------------------------------
# Modes
# ---------------------------------------------------------------------------
mode "resize" {
bindsym h resize shrink width 4 px or 4 ppt
bindsym j resize grow height 4 px or 4 ppt
bindsym k resize shrink height 4 px or 4 ppt
bindsym l resize grow width 4 px or 4 ppt
bindsym Left resize shrink width 4 px or 4 ppt
bindsym Down resize grow height 4 px or 4 ppt
bindsym Up resize shrink height 4 px or 4 ppt
bindsym Right resize grow width 4 px or 4 ppt
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym $mod+r mode "default"
}
bindsym $mod+r mode "resize"
set $mode_display Display: [a]uto [d]uplicate [e]xtend-right [l]aptop-only
mode "$mode_display" {
bindsym a exec --no-startup-id "~/.local/bin/display auto", mode "default"
bindsym d exec --no-startup-id "~/.local/bin/display duplicate", mode "default"
bindsym e exec --no-startup-id "~/.local/bin/display extend", mode "default"
bindsym l exec --no-startup-id "~/.local/bin/display internal", mode "default"
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+p mode "$mode_display"
# ---------------------------------------------------------------------------
# Window rules
# ---------------------------------------------------------------------------
for_window [class="^.*"] title_format "<span foreground='#cad3f5'>%title</span>"
# Float dialogs and small utilities
for_window [window_role="pop-up"] floating enable
for_window [window_role="bubble"] floating enable
for_window [window_role="dialog"] floating enable
for_window [window_type="dialog"] floating enable
for_window [window_type="menu"] floating enable
for_window [window_type="utility"] floating enable
for_window [window_type="toolbar"] floating enable
for_window [window_type="splash"] floating enable
for_window [class="Pavucontrol"] floating enable, resize set 900 600, move position center
for_window [class="Blueman-manager"] floating enable, resize set 800 560, move position center
for_window [class="Nm-connection-editor"] floating enable, resize set 800 560, move position center
for_window [class="Lxappearance"] floating enable, move position center
for_window [class="Thunar" instance="^dialog$"] floating enable
for_window [class="File-roller"] floating enable, move position center
for_window [class="Xarchiver"] floating enable, move position center
for_window [class="kitty-float"] floating enable, resize set 1000 620, move position center
for_window [title="^Picture-in-Picture$"] floating enable, sticky enable, resize set 640 360, move position 1250 700
# Assign apps to workspaces
assign [class="(?i)firefox|chromium|Brave-browser"] $ws2
assign [class="Thunar"] $ws4
# No focus stealing from these
no_focus [class="Steam"]
# ---------------------------------------------------------------------------
# i3bar — disabled; polybar handles the status bar.
# Kept as a commented fallback in case polybar ever fails to start.
# ---------------------------------------------------------------------------
# bar {
# status_command i3status
# colors {
# background $base
# statusline $text
# focused_workspace $mauve $mauve $crust
# active_workspace $surface0 $surface0 $text
# inactive_workspace $base $base $subtext0
# urgent_workspace $red $red $crust
# }
# }
# ---------------------------------------------------------------------------
# Local overrides — anything in this directory wins, and it is never
# overwritten by the bootstrap script.
# ---------------------------------------------------------------------------
include ~/.config/i3/config.d/*.conf
+117
View File
@@ -0,0 +1,117 @@
# ===========================================================================
# kitty — Catppuccin Macchiato
# Font: Inconsolata Nerd Font
# Docs: https://sw.kovidgoyal.net/kitty/conf/
# ===========================================================================
# --- font ------------------------------------------------------------------
font_family Inconsolata Nerd Font
bold_font Inconsolata Nerd Font Bold
italic_font auto
bold_italic_font auto
font_size 12.0
# Inconsolata is a touch tight vertically; give the lines a little air.
adjust_line_height 110%
adjust_column_width 0
disable_ligatures never
# Fall back to the symbol font for glyphs Inconsolata Nerd Font lacks
symbol_map U+E000-U+E00A,U+EA60-U+EBEB,U+E0A0-U+E0C8,U+E0CA,U+E0CC-U+E0D7,U+E200-U+E2A9,U+E300-U+E3E3,U+E5FA-U+E6B1,U+E700-U+E7C5,U+F000-U+F2FF,U+F300-U+F375,U+F400-U+F533,U+F0001-U+F1AF0 Symbols Nerd Font Mono
# --- cursor ----------------------------------------------------------------
cursor_shape beam
cursor_beam_thickness 1.6
cursor_blink_interval -1
cursor_stop_blinking_after 15.0
# --- scrollback ------------------------------------------------------------
scrollback_lines 10000
scrollback_pager less --chop-long-lines --RAW-CONTROL-CHARS +INPUT_LINE_NUMBER
wheel_scroll_multiplier 3.0
# --- mouse -----------------------------------------------------------------
mouse_hide_wait 2.0
url_color #8aadf4
url_style curly
open_url_with default
detect_urls yes
copy_on_select no
strip_trailing_spaces smart
focus_follows_mouse no
# --- performance -----------------------------------------------------------
repaint_delay 8
input_delay 2
sync_to_monitor yes
# --- bell ------------------------------------------------------------------
enable_audio_bell no
visual_bell_duration 0.0
window_alert_on_bell yes
bell_on_tab " "
# --- window ----------------------------------------------------------------
remember_window_size no
initial_window_width 110c
initial_window_height 30c
window_padding_width 10
window_margin_width 0
placement_strategy center
hide_window_decorations yes
confirm_os_window_close 0
# --- tabs ------------------------------------------------------------------
tab_bar_edge bottom
tab_bar_style powerline
tab_powerline_style slanted
tab_bar_min_tabs 2
tab_title_template "{index}: {title}"
active_tab_font_style bold
inactive_tab_font_style normal
# --- layouts ---------------------------------------------------------------
enabled_layouts splits,stack,tall,fat,grid
# i3 does the tiling; kitty splits are here for the occasional full-screen use.
# --- misc ------------------------------------------------------------------
shell .
editor .
allow_remote_control yes
listen_on unix:@kitty
term xterm-kitty
update_check_interval 0
clipboard_control write-clipboard write-primary read-clipboard read-primary
# ===========================================================================
# Keybindings
# ===========================================================================
kitty_mod ctrl+shift
map kitty_mod+c copy_to_clipboard
map kitty_mod+v paste_from_clipboard
map kitty_mod+t new_tab_with_cwd
map kitty_mod+w close_tab
map kitty_mod+right next_tab
map kitty_mod+left previous_tab
map kitty_mod+n new_os_window_with_cwd
map kitty_mod+enter launch --location=split --cwd=current
map kitty_mod+h neighboring_window left
map kitty_mod+j neighboring_window down
map kitty_mod+k neighboring_window up
map kitty_mod+l neighboring_window right
map kitty_mod+equal change_font_size all +1.0
map kitty_mod+minus change_font_size all -1.0
map kitty_mod+backspace change_font_size all 0
map kitty_mod+f show_scrollback
map kitty_mod+u scroll_page_up
map kitty_mod+d scroll_page_down
map kitty_mod+e open_url_with_hints
# ===========================================================================
# Colours
# ===========================================================================
include themes/catppuccin-macchiato.conf
@@ -0,0 +1,76 @@
# vim:ft=kitty
## name: Catppuccin Kitty Macchiato
## author: Catppuccin Org
## license: MIT
## upstream: https://github.com/catppuccin/kitty
# The basic colors
foreground #CAD3F5
background #24273A
selection_foreground #24273A
selection_background #F4DBD6
# Cursor colors
cursor #F4DBD6
cursor_text_color #24273A
# URL underline color when hovering with mouse
url_color #F4DBD6
# Kitty window border colors
active_border_color #B7BDF8
inactive_border_color #6E738D
bell_border_color #EED49F
# OS Window titlebar colors
wayland_titlebar_color system
macos_titlebar_color system
# Tab bar colors
active_tab_foreground #181926
active_tab_background #C6A0F6
inactive_tab_foreground #CAD3F5
inactive_tab_background #1E2030
tab_bar_background #181926
# Colors for marks (marked text in the terminal)
mark1_foreground #24273A
mark1_background #B7BDF8
mark2_foreground #24273A
mark2_background #C6A0F6
mark3_foreground #24273A
mark3_background #7DC4E4
# The 16 terminal colors
# black
color0 #494D64
color8 #5B6078
# red
color1 #ED8796
color9 #ED8796
# green
color2 #A6DA95
color10 #A6DA95
# yellow
color3 #EED49F
color11 #EED49F
# blue
color4 #8AADF4
color12 #8AADF4
# magenta
color5 #F5BDE6
color13 #F5BDE6
# cyan
color6 #8BD5CA
color14 #8BD5CA
# white
color7 #B8C0E0
color15 #A5ADCB
+108
View File
@@ -0,0 +1,108 @@
# ===========================================================================
# picom — compositor
# Tuned to be subtle: no wobbly nonsense, just tear-free rendering,
# soft shadows and a hint of transparency on unfocused terminals.
# Docs: man 5 picom
# ===========================================================================
# --- backend ---------------------------------------------------------------
backend = "glx";
vsync = true;
use-damage = true;
glx-no-stencil = true;
glx-no-rebind-pixmap = false;
# --- shadows ---------------------------------------------------------------
shadow = true;
shadow-radius = 14;
shadow-opacity = 0.45;
shadow-offset-x = -14;
shadow-offset-y = -12;
shadow-color = "#181926";
shadow-exclude = [
"name = 'Notification'",
"class_g = 'Conky'",
"class_g ?= 'Notify-osd'",
"class_g = 'Cairo-clock'",
"class_g = 'Polybar'",
"class_g = 'i3-frame'",
"_GTK_FRAME_EXTENTS@:c",
"window_type = 'dock'",
"window_type = 'desktop'"
];
# --- fading ----------------------------------------------------------------
fading = true;
fade-in-step = 0.06;
fade-out-step = 0.06;
fade-delta = 6;
fade-exclude = [];
# --- transparency ----------------------------------------------------------
inactive-opacity = 0.94;
active-opacity = 1.0;
frame-opacity = 1.0;
inactive-opacity-override = false;
inactive-dim = 0.0;
opacity-rule = [
"100:class_g = 'firefox'",
"100:class_g = 'Chromium'",
"100:class_g = 'mpv'",
"100:fullscreen",
"95:class_g = 'kitty' && focused",
"88:class_g = 'kitty' && !focused",
"95:class_g = 'Rofi'",
"100:class_g = 'Polybar'",
"100:class_g = 'Dunst'"
];
# --- corners (picom 9+) ----------------------------------------------------
corner-radius = 10;
rounded-corners-exclude = [
"window_type = 'dock'",
"window_type = 'desktop'",
"class_g = 'Polybar'",
"class_g = 'i3-frame'"
];
# --- blur (comment out on weak GPUs) ---------------------------------------
blur: {
method = "dual_kawase";
strength = 4;
background = false;
background-frame = false;
background-fixed = false;
}
blur-background-exclude = [
"window_type = 'dock'",
"window_type = 'desktop'",
"class_g = 'Polybar'",
"_GTK_FRAME_EXTENTS@:c"
];
# --- general ---------------------------------------------------------------
mark-wmwin-focused = true;
mark-ovredir-focused = true;
detect-rounded-corners = true;
detect-client-opacity = true;
detect-transient = true;
detect-client-leader = true;
use-ewmh-active-win = true;
unredir-if-possible = false;
dbe = false;
log-level = "warn";
wintypes:
{
tooltip = { fade = true; shadow = true; opacity = 0.95; focus = true; full-shadow = false; };
dock = { shadow = false; clip-shadow-above = true; };
dnd = { shadow = false; };
popup_menu = { opacity = 0.98; shadow = true; };
dropdown_menu= { opacity = 0.98; shadow = true; };
utility = { shadow = false; };
notification = { shadow = true; };
};
+318
View File
@@ -0,0 +1,318 @@
; ==========================================================================
; polybar — Catppuccin Macchiato
; Font: Inconsolata Nerd Font
; Docs: https://github.com/polybar/polybar/wiki
;
; Hardware-specific values (battery, adapter, network interfaces, backlight)
; are injected as environment variables by launch.sh, with sane fallbacks.
; ==========================================================================
[colors]
rosewater = #f4dbd6
flamingo = #f0c6c6
pink = #f5bde6
mauve = #c6a0f6
red = #ed8796
maroon = #ee99a0
peach = #f5a97f
yellow = #eed49f
green = #a6da95
teal = #8bd5ca
sky = #91d7e3
sapphire = #7dc4e4
blue = #8aadf4
lavender = #b7bdf8
text = #cad3f5
subtext1 = #b8c0e0
subtext0 = #a5adcb
overlay2 = #939ab7
overlay1 = #8087a2
overlay0 = #6e738d
surface2 = #5b6078
surface1 = #494d64
surface0 = #363a4f
base = #24273a
mantle = #1e2030
crust = #181926
background = ${colors.base}
background-alt = ${colors.surface0}
foreground = ${colors.text}
primary = ${colors.mauve}
secondary = ${colors.lavender}
alert = ${colors.red}
disabled = ${colors.overlay0}
transparent = #00000000
; --------------------------------------------------------------------------
; Bar
; --------------------------------------------------------------------------
[bar/main]
monitor = ${env:MONITOR:}
monitor-strict = false
override-redirect = false
width = 100%
height = 30pt
radius = 0
background = ${colors.background}
foreground = ${colors.foreground}
line-size = 3pt
border-size = 0pt
border-color = ${colors.transparent}
padding-left = 1
padding-right = 1
module-margin = 1
separator = "│"
separator-foreground = ${colors.surface2}
font-0 = Inconsolata Nerd Font:style=Regular:size=11;2
font-1 = Inconsolata Nerd Font:style=Bold:size=11;2
font-2 = Symbols Nerd Font Mono:size=13;3
font-3 = Noto Color Emoji:scale=10;2
modules-left = i3 xwindow
modules-center = date
modules-right = ${env:MODULES_RIGHT:filesystem memory cpu temperature pulseaudio systray}
cursor-click = pointer
cursor-scroll = ns-resize
enable-ipc = true
wm-restack = i3
; --------------------------------------------------------------------------
; Modules
; --------------------------------------------------------------------------
[module/i3]
type = internal/i3
pin-workspaces = true
show-urgent = true
strip-wsnumbers = true
index-sort = true
enable-click = true
enable-scroll = true
wrapping-scroll = false
reverse-scroll = false
fuzzy-match = true
format = <label-state> <label-mode>
label-mode = %mode%
label-mode-padding = 1
label-mode-background = ${colors.peach}
label-mode-foreground = ${colors.crust}
label-focused = %name%
label-focused-background = ${colors.surface0}
label-focused-foreground = ${colors.mauve}
label-focused-underline = ${colors.mauve}
label-focused-padding = 1
label-unfocused = %name%
label-unfocused-foreground = ${colors.overlay1}
label-unfocused-padding = 1
label-visible = %name%
label-visible-foreground = ${colors.lavender}
label-visible-padding = 1
label-urgent = %name%
label-urgent-background = ${colors.red}
label-urgent-foreground = ${colors.crust}
label-urgent-padding = 1
[module/xwindow]
type = internal/xwindow
label = %title:0:80:...%
label-foreground = ${colors.subtext0}
label-empty =
[module/date]
type = internal/date
interval = 1
date = %a %d %b
time = %H:%M
date-alt = %A, %d %B %Y
time-alt = %H:%M:%S
format-prefix = " "
format-prefix-foreground = ${colors.lavender}
label = %date% %time%
label-foreground = ${colors.text}
[module/filesystem]
type = internal/fs
interval = 60
mount-0 = /
warn-percentage = 85
format-mounted-prefix = " "
format-mounted-prefix-foreground = ${colors.green}
format-warn-prefix = " "
format-warn-prefix-foreground = ${colors.peach}
label-mounted = %percentage_used%%
label-warn = %percentage_used%%
label-unmounted =
click-left = kitty --class kitty-float -e btop
[module/memory]
type = internal/memory
interval = 3
warn-percentage = 90
format-prefix = " "
format-prefix-foreground = ${colors.yellow}
format-warn-prefix = " "
format-warn-prefix-foreground = ${colors.red}
label = %percentage_used%%
label-warn = %percentage_used%%
label-warn-foreground = ${colors.red}
[module/cpu]
type = internal/cpu
interval = 3
warn-percentage = 90
format-prefix = " "
format-prefix-foreground = ${colors.blue}
format-warn-prefix = " "
format-warn-prefix-foreground = ${colors.red}
label = %percentage:2%%
label-warn = %percentage:2%%
label-warn-foreground = ${colors.red}
[module/temperature]
type = internal/temperature
interval = 5
thermal-zone = 0
base-temperature = 20
warn-temperature = 80
units = true
format = <ramp> <label>
format-warn = <ramp> <label-warn>
label = %temperature-c%
label-warn = %temperature-c%
label-warn-foreground = ${colors.red}
ramp-0 =
ramp-1 =
ramp-2 =
ramp-3 =
ramp-0-foreground = ${colors.sky}
ramp-1-foreground = ${colors.green}
ramp-2-foreground = ${colors.yellow}
ramp-3-foreground = ${colors.peach}
[module/backlight]
type = internal/backlight
card = ${env:BACKLIGHT:intel_backlight}
use-actual-brightness = true
enable-scroll = true
format = <ramp> <label>
label = %percentage%%
ramp-0 =
ramp-1 =
ramp-2 =
ramp-3 =
ramp-foreground = ${colors.yellow}
[module/pulseaudio]
type = internal/pulseaudio
use-ui-max = false
interval = 5
format-volume = <ramp-volume> <label-volume>
label-volume = %percentage%%
label-muted = " muted"
label-muted-foreground = ${colors.overlay0}
ramp-volume-0 =
ramp-volume-1 =
ramp-volume-2 =
ramp-volume-foreground = ${colors.teal}
click-right = pavucontrol
scroll-up = ~/.local/bin/volume up
scroll-down = ~/.local/bin/volume down
[module/wlan]
type = internal/network
interface = ${env:WLAN_IFACE:}
interface-type = wireless
interval = 5
format-connected = <ramp-signal> <label-connected>
format-disconnected = <label-disconnected>
label-connected = %essid:0:14%
label-connected-foreground = ${colors.text}
label-disconnected = " offline"
label-disconnected-foreground = ${colors.overlay0}
ramp-signal-0 =
ramp-signal-1 =
ramp-signal-2 =
ramp-signal-3 =
ramp-signal-foreground = ${colors.sapphire}
click-left = kitty --class kitty-float -e nmtui
[module/eth]
type = internal/network
interface = ${env:ETH_IFACE:}
interface-type = wired
interval = 5
format-connected = <label-connected>
format-connected-prefix = " "
format-connected-prefix-foreground = ${colors.green}
format-disconnected =
label-connected = %local_ip%
[module/battery]
type = internal/battery
full-at = 98
low-at = 15
battery = ${env:BATTERY:BAT0}
adapter = ${env:ADAPTER:AC}
poll-interval = 5
format-charging = <animation-charging> <label-charging>
format-discharging = <ramp-capacity> <label-discharging>
format-full = <label-full>
format-low = <animation-low> <label-low>
label-charging = %percentage%%
label-discharging = %percentage%%
label-full = " full"
label-full-foreground = ${colors.green}
label-low = %percentage%%
label-low-foreground = ${colors.red}
ramp-capacity-0 =
ramp-capacity-1 =
ramp-capacity-2 =
ramp-capacity-3 =
ramp-capacity-4 =
ramp-capacity-0-foreground = ${colors.red}
ramp-capacity-1-foreground = ${colors.peach}
ramp-capacity-2-foreground = ${colors.yellow}
ramp-capacity-3-foreground = ${colors.green}
ramp-capacity-4-foreground = ${colors.green}
animation-charging-0 =
animation-charging-1 =
animation-charging-2 =
animation-charging-3 =
animation-charging-4 =
animation-charging-foreground = ${colors.green}
animation-charging-framerate = 750
animation-low-0 =
animation-low-1 =
animation-low-foreground = ${colors.red}
animation-low-framerate = 500
[module/systray]
type = internal/tray
format-margin = 6pt
tray-spacing = 8pt
tray-background = ${colors.background}
; --------------------------------------------------------------------------
; Global settings
; --------------------------------------------------------------------------
[settings]
screenchange-reload = true
pseudo-transparency = false
+85
View File
@@ -0,0 +1,85 @@
#!/usr/bin/env bash
# ---------------------------------------------------------------------------
# Launch one polybar instance per connected monitor.
# Hardware-specific values are detected here and passed to polybar as
# environment variables, so config.ini stays machine-independent.
# ---------------------------------------------------------------------------
set -uo pipefail
CONFIG="$HOME/.config/polybar/config.ini"
LOG="${XDG_CACHE_HOME:-$HOME/.cache}/polybar.log"
mkdir -p "$(dirname "$LOG")"
# --- stop any running instances and wait for them to die -------------------
pkill -x polybar >/dev/null 2>&1 || true
for _ in {1..20}; do
pgrep -x polybar >/dev/null || break
sleep 0.1
done
# Anything still alive gets the hammer.
pgrep -x polybar >/dev/null && pkill -9 -x polybar
# --- hardware detection ----------------------------------------------------
# Battery + AC adapter
BATTERY="$(ls -1 /sys/class/power_supply 2>/dev/null | grep -m1 '^BAT' || true)"
ADAPTER="$(ls -1 /sys/class/power_supply 2>/dev/null | grep -m1 -E '^(AC|ADP|ACAD)' || true)"
export BATTERY="${BATTERY:-BAT0}"
export ADAPTER="${ADAPTER:-AC}"
# Backlight device (intel_backlight, amdgpu_bl0, nvidia_0, …)
BACKLIGHT="$(ls -1 /sys/class/backlight 2>/dev/null | head -n1 || true)"
export BACKLIGHT="${BACKLIGHT:-intel_backlight}"
# Network interfaces: wireless ones have a /sys/class/net/*/wireless dir
WLAN_IFACE=""
ETH_IFACE=""
for iface in /sys/class/net/*; do
name="$(basename "$iface")"
[[ "$name" == "lo" ]] && continue
if [[ -d "$iface/wireless" ]]; then
[[ -z "$WLAN_IFACE" ]] && WLAN_IFACE="$name"
else
[[ -z "$ETH_IFACE" ]] && ETH_IFACE="$name"
fi
done
export WLAN_IFACE ETH_IFACE
# --- module pruning --------------------------------------------------------
# Desktops have no battery/backlight; leaving those modules enabled makes
# polybar spam the log, so build the right-hand module list dynamically.
MODULES_RIGHT="filesystem memory cpu temperature"
[[ -d "/sys/class/backlight/$BACKLIGHT" ]] && MODULES_RIGHT+=" backlight"
MODULES_RIGHT+=" pulseaudio"
[[ -n "$WLAN_IFACE" ]] && MODULES_RIGHT+=" wlan"
[[ -n "$ETH_IFACE" ]] && MODULES_RIGHT+=" eth"
[[ -d "/sys/class/power_supply/$BATTERY" ]] && MODULES_RIGHT+=" battery"
MODULES_RIGHT+=" systray"
export MODULES_RIGHT
# --- launch ----------------------------------------------------------------
{
echo
echo "=== polybar launch $(date -Is) ==="
echo "battery=$BATTERY adapter=$ADAPTER backlight=$BACKLIGHT wlan=${WLAN_IFACE:-none} eth=${ETH_IFACE:-none}"
echo "modules-right=$MODULES_RIGHT"
} >>"$LOG"
if command -v polybar >/dev/null && polybar --list-monitors >/dev/null 2>&1; then
# The tray can only live on one bar; give it to the primary monitor.
primary="$(polybar --list-monitors | grep -m1 '(primary)' | cut -d: -f1)"
while IFS= read -r line; do
m="${line%%:*}"
[[ -z "$m" ]] && continue
if [[ -n "$primary" && "$m" != "$primary" ]]; then
MONITOR="$m" MODULES_RIGHT="${MODULES_RIGHT/ systray/}" \
polybar --reload main --config="$CONFIG" >>"$LOG" 2>&1 &
else
MONITOR="$m" polybar --reload main --config="$CONFIG" >>"$LOG" 2>&1 &
fi
done < <(polybar --list-monitors)
else
polybar --reload main --config="$CONFIG" >>"$LOG" 2>&1 &
fi
echo "polybar launched" >>"$LOG"
+22
View File
@@ -0,0 +1,22 @@
[Appearance]
custom_palette=false
icon_theme=Papirus-Dark
standard_dialogs=default
style=Fusion
[Fonts]
fixed="Inconsolata Nerd Font,11,-1,5,50,0,0,0,0,0"
general="Inconsolata Nerd Font,11,-1,5,50,0,0,0,0,0"
[Interface]
activate_item_on_single_click=1
buttonbox_layout=0
cursor_flash_time=1000
dialog_buttons_have_icons=1
double_click_interval=400
keyboard_scheme=2
menus_have_icons=true
show_shortcuts_in_context_menus=true
toolbutton_style=4
underline_shortcut=1
wheel_scroll_lines=3
+41
View File
@@ -0,0 +1,41 @@
/* =========================================================================
* rofi — Catppuccin Macchiato
* Font: Inconsolata Nerd Font
* Docs: man 5 rofi-theme
* ========================================================================= */
configuration {
modes: "drun,run,window,ssh";
font: "Inconsolata Nerd Font 12";
show-icons: true;
icon-theme: "Papirus-Dark";
display-drun: " Apps";
display-run: " Run";
display-window: " Window";
display-ssh: " SSH";
drun-display-format: "{name}";
window-format: "{w} · {c} · {t}";
terminal: "kitty";
ssh-client: "ssh";
ssh-command: "{terminal} -e {ssh-client} {host}";
matching: "fuzzy";
sort: true;
sorting-method: "fzf";
drun-match-fields: "name,generic,exec,categories,keywords";
drun-use-desktop-cache: false;
hover-select: true;
me-select-entry: "";
me-accept-entry: "MousePrimary";
kb-mode-next: "Shift+Right,Control+Tab";
kb-mode-previous: "Shift+Left,Control+ISO_Left_Tab";
kb-row-up: "Up,Control+k";
kb-row-down: "Down,Control+j";
kb-remove-to-eol: "";
}
@theme "~/.config/rofi/themes/catppuccin-macchiato.rasi"
+41
View File
@@ -0,0 +1,41 @@
#!/usr/bin/env bash
# ---------------------------------------------------------------------------
# rofi power menu — lock / logout / suspend / hibernate / reboot / shutdown
# Destructive entries ask for confirmation before firing.
# ---------------------------------------------------------------------------
set -euo pipefail
THEME="$HOME/.config/rofi/themes/powermenu.rasi"
LOCK_CMD=(betterlockscreen --lock dimblur)
lock=" Lock"
logout=" Log out"
suspend=" Suspend"
hibernate=" Hibernate"
reboot=" Reboot"
shutdown=" Shut down"
menu() {
printf '%s\n' "$lock" "$logout" "$suspend" "$hibernate" "$reboot" "$shutdown" |
rofi -dmenu -i \
-theme "$THEME" \
-p " $(whoami)@$(hostname)" \
-select "$lock"
}
confirm() {
local answer
answer=$(printf ' No\n Yes\n' |
rofi -dmenu -i -theme "$THEME" -p "$1" -select " No")
[[ "$answer" == *Yes* ]]
}
case "$(menu)" in
"$lock") "${LOCK_CMD[@]}" ;;
"$logout") confirm "Log out?" && i3-msg exit ;;
"$suspend") "${LOCK_CMD[@]}" & sleep 0.3; systemctl suspend ;;
"$hibernate") confirm "Hibernate?" && { "${LOCK_CMD[@]}" & sleep 0.3; systemctl hibernate; } ;;
"$reboot") confirm "Reboot?" && systemctl reboot ;;
"$shutdown") confirm "Shut down?" && systemctl poweroff ;;
*) exit 0 ;;
esac
@@ -0,0 +1,195 @@
/* =========================================================================
* Catppuccin Macchiato theme for rofi
* ========================================================================= */
* {
rosewater: #f4dbd6ff;
flamingo: #f0c6c6ff;
pink: #f5bde6ff;
mauve: #c6a0f6ff;
red: #ed8796ff;
maroon: #ee99a0ff;
peach: #f5a97fff;
yellow: #eed49fff;
green: #a6da95ff;
teal: #8bd5caff;
sky: #91d7e3ff;
sapphire: #7dc4e4ff;
blue: #8aadf4ff;
lavender: #b7bdf8ff;
text: #cad3f5ff;
subtext1: #b8c0e0ff;
subtext0: #a5adcbff;
overlay2: #939ab7ff;
overlay1: #8087a2ff;
overlay0: #6e738dff;
surface2: #5b6078ff;
surface1: #494d64ff;
surface0: #363a4fff;
base: #24273aff;
mantle: #1e2030ff;
crust: #181926ff;
background: @base;
background-alt: @surface0;
foreground: @text;
selected: @mauve;
active: @green;
urgent: @red;
margin: 0;
padding: 0;
spacing: 0;
}
window {
transparency: "real";
location: center;
anchor: center;
fullscreen: false;
width: 640px;
x-offset: 0px;
y-offset: 0px;
enabled: true;
border-radius: 12px;
border: 2px solid;
border-color: @mauve;
background-color: @background;
cursor: "default";
}
mainbox {
enabled: true;
spacing: 0px;
padding: 0px;
background-color: transparent;
children: [ "inputbar", "message", "listview" ];
}
inputbar {
enabled: true;
spacing: 10px;
padding: 14px 16px;
background-color: @mantle;
text-color: @foreground;
children: [ "prompt", "entry" ];
}
prompt {
enabled: true;
background-color: transparent;
text-color: @mauve;
}
entry {
enabled: true;
background-color: transparent;
text-color: @foreground;
cursor: text;
placeholder: "Search…";
placeholder-color: @overlay0;
}
message {
enabled: true;
margin: 0px;
padding: 10px 16px;
background-color: @surface0;
text-color: @foreground;
}
textbox {
background-color: transparent;
text-color: @foreground;
vertical-align: 0.5;
horizontal-align: 0.0;
}
listview {
enabled: true;
columns: 1;
lines: 10;
cycle: true;
dynamic: true;
scrollbar: true;
layout: vertical;
reverse: false;
fixed-height: true;
fixed-columns: true;
spacing: 2px;
padding: 10px;
background-color: transparent;
cursor: "default";
}
scrollbar {
handle-width: 4px;
handle-color: @surface2;
border-radius: 8px;
background-color: @mantle;
}
element {
enabled: true;
spacing: 10px;
padding: 8px 12px;
border-radius: 8px;
background-color: transparent;
text-color: @foreground;
cursor: pointer;
}
element normal.normal { background-color: transparent; text-color: @foreground; }
element normal.urgent { background-color: transparent; text-color: @urgent; }
element normal.active { background-color: transparent; text-color: @active; }
element selected.normal { background-color: @selected; text-color: @crust; }
element selected.urgent { background-color: @urgent; text-color: @crust; }
element selected.active { background-color: @active; text-color: @crust; }
element alternate.normal { background-color: transparent; text-color: @foreground; }
element alternate.urgent { background-color: transparent; text-color: @urgent; }
element alternate.active { background-color: transparent; text-color: @active; }
element-icon {
background-color: transparent;
text-color: inherit;
size: 24px;
cursor: inherit;
}
element-text {
background-color: transparent;
text-color: inherit;
highlight: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
mode-switcher {
enabled: true;
spacing: 0px;
background-color: transparent;
}
button {
padding: 8px;
background-color: @surface0;
text-color: @overlay1;
cursor: pointer;
}
button selected {
background-color: @mauve;
text-color: @crust;
}
error-message {
padding: 16px;
border-radius: 12px;
background-color: @base;
text-color: @red;
}
@@ -0,0 +1,25 @@
/* Compact variant of the Macchiato theme, used by powermenu.sh */
@import "catppuccin-macchiato.rasi"
window {
width: 360px;
border-color: @red;
}
listview {
lines: 6;
columns: 1;
}
element {
padding: 10px 14px;
}
element selected.normal {
background-color: @red;
text-color: @crust;
}
prompt {
text-color: @red;
}
+2
View File
@@ -0,0 +1,2 @@
TerminalEmulator=kitty
FileManager=thunar
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<channel name="thunar" version="1.0">
<property name="last-view" type="string" value="ThunarDetailsView"/>
<property name="last-icon-view-zoom-level" type="string" value="THUNAR_ZOOM_LEVEL_100_PERCENT"/>
<property name="last-details-view-zoom-level" type="string" value="THUNAR_ZOOM_LEVEL_38_PERCENT"/>
<property name="last-window-width" type="int" value="1100"/>
<property name="last-window-height" type="int" value="700"/>
<property name="last-window-maximized" type="bool" value="false"/>
<property name="last-separator-position" type="int" value="180"/>
<property name="last-show-hidden" type="bool" value="false"/>
<property name="misc-single-click" type="bool" value="false"/>
<property name="misc-date-style" type="string" value="THUNAR_DATE_STYLE_YYYYMMDD"/>
<property name="misc-thumbnail-mode" type="string" value="THUNAR_THUMBNAIL_MODE_ONLY_LOCAL"/>
<property name="misc-folders-first" type="bool" value="true"/>
<property name="misc-text-beside-icons" type="bool" value="false"/>
<property name="misc-middle-click-in-tab" type="bool" value="true"/>
<property name="misc-open-new-window-as-tab" type="bool" value="true"/>
<property name="misc-full-path-in-title" type="bool" value="false"/>
<property name="shortcuts-icon-emblems" type="bool" value="true"/>
<property name="tree-icon-emblems" type="bool" value="true"/>
<property name="last-location-bar" type="string" value="ThunarLocationButtons"/>
<property name="last-side-pane" type="string" value="ThunarShortcutsPane"/>
</channel>
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<channel name="xsettings" version="1.0">
<property name="Net" type="empty">
<property name="ThemeName" type="string" value="catppuccin-macchiato-mauve-standard+default"/>
<property name="IconThemeName" type="string" value="Papirus-Dark"/>
<property name="EnableEventSounds" type="bool" value="false"/>
<property name="EnableInputFeedbackSounds" type="bool" value="false"/>
</property>
<property name="Xft" type="empty">
<property name="DPI" type="int" value="-1"/>
<property name="Antialias" type="int" value="1"/>
<property name="Hinting" type="int" value="1"/>
<property name="HintStyle" type="string" value="hintslight"/>
<property name="RGBA" type="string" value="rgb"/>
</property>
<property name="Gtk" type="empty">
<property name="FontName" type="string" value="Inconsolata Nerd Font 11"/>
<property name="MonospaceFontName" type="string" value="Inconsolata Nerd Font 11"/>
<property name="CursorThemeName" type="string" value="catppuccin-macchiato-dark-cursors"/>
<property name="CursorThemeSize" type="int" value="24"/>
<property name="DecorationLayout" type="string" value="menu:minimize,maximize,close"/>
</property>
</channel>