This commit is contained in:
2026-04-01 14:06:08 +02:00
parent ce30cb93d5
commit cb6606340f
16 changed files with 108 additions and 75 deletions
+3 -1
View File
@@ -20,7 +20,7 @@ spawn-at-startup "wl-paste" "--type" "image" "--watch" "cliphist" "store"
spawn-at-startup "solaar" "-w" "hide"
// Some other heavy apps
// spawn-at-startup "sunshine"
spawn-at-startup "sunshine"
// spawn-at-startup "spotify"
// spawn-at-startup "thunderbird"
@@ -32,3 +32,5 @@ spawn-at-startup "quickshell"
// According to (https://ghostty.org/docs/linux/systemd#starting-ghostty-at-login)
// spawn-sh-at-startup "systemctl start --user app-com.mitchellh.ghostty.service"
//
// spawn-at-startup "flatpak" "run" "com.gopeed.Gopeed" "--hidden"
+16 -8
View File
@@ -1,17 +1,25 @@
[Settings]
gtk-theme-name=catppuccin-mocha-blue-standard+default
gtk-icon-theme-name=Papirus
gtk-font-name=Sarasa UI SC 10
gtk-application-prefer-dark-theme=true
gtk-button-images=true
gtk-cursor-blink=true
gtk-cursor-blink-time=1000
gtk-cursor-theme-name=Bibata-Modern-Ice
gtk-cursor-theme-size=24
gtk-toolbar-style=GTK_TOOLBAR_ICONS
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
gtk-button-images=0
gtk-menu-images=0
gtk-decoration-layout=icon:minimize,maximize,close
gtk-enable-animations=true
gtk-enable-event-sounds=1
gtk-enable-input-feedback-sounds=0
gtk-font-name=Sarasa UI SC, 10
gtk-icon-theme-name=Papirus
gtk-menu-images=true
gtk-modules=colorreload-gtk-module
gtk-primary-button-warps-slider=true
gtk-sound-theme-name=ocean
gtk-theme-name=catppuccin-mocha-blue-standard+default
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
gtk-toolbar-style=3
gtk-xft-antialias=1
gtk-xft-dpi=122880
gtk-xft-hinting=1
gtk-xft-hintstyle=hintslight
gtk-xft-rgba=rgb
gtk-application-prefer-dark-theme=1
+11 -4
View File
@@ -1,7 +1,14 @@
[Settings]
gtk-theme-name=catppuccin-mocha-blue-standard+default
gtk-icon-theme-name=Papirus
gtk-font-name=Sarasa UI SC 10
gtk-application-prefer-dark-theme=true
gtk-cursor-blink=true
gtk-cursor-blink-time=1000
gtk-cursor-theme-name=Bibata-Modern-Ice
gtk-cursor-theme-size=24
gtk-application-prefer-dark-theme=1
gtk-decoration-layout=icon:minimize,maximize,close
gtk-enable-animations=true
gtk-font-name=Sarasa UI SC, 10
gtk-icon-theme-name=Papirus
gtk-primary-button-warps-slider=true
gtk-sound-theme-name=ocean
gtk-theme-name=catppuccin-mocha-blue-standard+default
gtk-xft-dpi=122880
@@ -106,6 +106,10 @@ Singleton {
running: false
repeat: false
onTriggered: {
if (BackgroundService.isProcessing) {
reloadTimer.restart();
return ;
}
reloadColors(ShellState.colorState);
}
}
@@ -70,6 +70,7 @@ Variants {
id: leftLayout
height: parent.height - Style.marginXS * 2
spacing: Style.marginM
anchors {
left: parent.left
@@ -92,22 +93,20 @@ Variants {
}
Separator {
implicitWidth: Style.marginXL
}
Workspace {
screen: modelData
horizontalPadding: 0
}
Separator {
implicitWidth: Style.marginXL
}
CavaBar {
}
Separator {
implicitWidth: Style.marginXL
}
FocusedWindow {
@@ -134,6 +133,7 @@ Variants {
id: rightLayout
height: parent.height - Style.marginXS * 2
spacing: Style.marginM
anchors {
right: parent.right
@@ -167,6 +167,7 @@ Variants {
y: LyricsService.showLyricsBar ? Style.barHeight : 0
opacity: LyricsService.showLyricsBar ? 0 : 1
spacing: Style.marginM
anchors.margins: 0
Component.onCompleted: {
if (!LyricsService.showLyricsBar)
SystemStatService.registerComponent("BarMonitors");
@@ -204,9 +205,6 @@ Variants {
screen: modelData
}
Volume {
}
Behavior on y {
NumberAnimation {
duration: 300
@@ -261,6 +259,9 @@ Variants {
}
Volume {
}
Separator {
}
@@ -15,6 +15,7 @@ Singleton {
property string previewPath: ""
property string displayPath: ""
property bool inPreviewMode: false
property bool isProcessing: false
// Preserved for getBlurredOverview
readonly property string tintColor: Colors.mSurface
readonly property real tintOpacity: 0.5
@@ -24,9 +25,12 @@ Singleton {
function loadBackground() {
if (!SettingsService.backgroundPath) {
Logger.w("BackgroundService", "No background path set, skipping loading background.");
isProcessing = false;
return ;
}
isProcessing = true;
ImageCacheService.getLarge(SettingsService.backgroundPath, backgroundWidth, backgroundHeight, function(path) {
isProcessing = false;
if (!path) {
Logger.e("BackgroundService", "Failed to load background image from path: " + SettingsService.backgroundPath);
cachedPath = "";
@@ -55,12 +59,13 @@ Singleton {
if (!path)
return ;
previewPath = ""; // clear preview path
cachedPath = ""; // clear cached path
previewPath = "";
isProcessing = true;
ImageCacheService.checkFileExists(path, function(exists) {
if (!exists)
if (!exists) {
isProcessing = false;
return ;
}
SettingsService.backgroundPath = path;
loadTimer.restart();
});
@@ -106,16 +111,6 @@ Singleton {
}
}
Timer {
id: setDisplayTimer
interval: 100
running: false
repeat: false
onTriggered: {
}
}
Process {
id: wallreelProcess
@@ -251,7 +251,7 @@ Singleton {
}
const player = this.queuedPlayer.toLowerCase();
this.queuedPlayer = "";
this.command = ["lrcfetch", "--player", player, "fetch"];
this.command = ["lrx", "--player", player, "fetch"];
this.running = true;
}
@@ -1,18 +0,0 @@
#!/usr/bin/env bash
set -euo pipefail
url=$(playerctl --player=elisa metadata xesam:url)
if [[ "$url" != file://* ]]; then
exit 1
fi
path="${url#file://}"
lyrics_path="${path%.*}.lrc"
if [[ ! -e "$lyrics_path" ]]; then
exit 1
fi
cat "$lyrics_path"
@@ -1,18 +1,22 @@
#!/usr/bin/env bash
pid=$(pgrep -x quickshell)
[ -z "$pid" ] && exit 1
pids=$(pgrep -x quickshell)
[ -z "$pids" ] && exit 1
# for child in $(pgrep -P "$pid" 2>/dev/null); do
# kill "$child"
# done
children=$(pgrep -P "$pid" 2>/dev/null)
children=()
kill "$pid"
for pid in $pids; do
# children=$(pgrep -P "$pid" 2>/dev/null)
children+=($!)
kill "$pid" || true
done
sleep 0.5
for child in $children; do
for child in "${children[@]}"; do
kill "$child" || true
done
@@ -19,7 +19,7 @@ WORDCHARS=${WORDCHARS//[\/=\*\.-]/}
bindkey '^[[1;5D' backward-word # C-Left
bindkey '^[[1;5C' forward-word # C-Right
bindkey '^H' backward-kill-word # C-Backspace (also C-H)
# bindkey '^Z' undo # C-z
bindkey '^Z' undo # C-z
# A-s to prepend sudo
uy_prepend_sudo() {
@@ -14,3 +14,9 @@ zstyle ':completion:*' squeeze-slashes true
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
zstyle ':completion:*:descriptions' format '%F{cyan}-- %d --%f'
zstyle ':completion:*:warnings' format '%F{red}-- no matches --%f'
# Jujutsu
if (( $+commands[jj] )); then
source <(jj util completion zsh)
fi
@@ -0,0 +1,2 @@
*
!.gitignore
+13
View File
@@ -1,8 +1,21 @@
# lrx completions
fpath=(/home/kolkas/.zsh/completions $fpath)
#!/hint/zsh
[[ $- != *i* ]] && return
for _f in "${XDG_CONFIG_HOME:-$HOME/.config}"/zsh/conf.d/*.zsh(N); do
source "$_f"
done
for _f in "${XDG_CONFIG_HOME:-$HOME/.config}"/zsh/funcs.d/*.zsh(N); do
source "$_f"
done
for _f in "${XDG_CONFIG_HOME:-$HOME/.config}"/zsh/funcs.d/_*(N); do
source "$_f"
done
unset _f
+10 -1
View File
@@ -6,7 +6,16 @@
}
. "$HOME/.local/snippets/apply-color-helper"
cp -f "$path"/../../../../assets/yazi-themes/catppuccin-mocha-"$colorName".toml "$path"/../yazi/theme.toml || {
dir="$path"/../../../../assets
file=$(find "$dir" -type f -name "catppuccin-mocha-${colorName}.toml" | head -n 1)
[[ -z "$file" ]] && {
log_error "Theme file not found for color: $colorName"
exit 1
}
cp -f "$file" "$path"/../yazi/theme.toml || {
log_error "Failed to copy theme file"
exit 1
}
+15 -15
View File
@@ -10,11 +10,11 @@ find_position = { fg = "#f5c2e7", bg = "reset", italic = true }
marker_copied = { fg = "#a6e3a1", bg = "#a6e3a1" }
marker_cut = { fg = "#f38ba8", bg = "#f38ba8" }
marker_marked = { fg = "#94e2d5", bg = "#94e2d5" }
marker_selected = { fg = "#89b4fa", bg = "#89b4fa" }
marker_selected = { fg = "#f5c2e7", bg = "#f5c2e7" }
count_copied = { fg = "#1e1e2e", bg = "#a6e3a1" }
count_cut = { fg = "#1e1e2e", bg = "#f38ba8" }
count_selected = { fg = "#1e1e2e", bg = "#89b4fa" }
count_selected = { fg = "#1e1e2e", bg = "#f5c2e7" }
border_symbol = "│"
border_style = { fg = "#7f849c" }
@@ -26,8 +26,8 @@ active = { fg = "#1e1e2e", bg = "#cdd6f4", bold = true }
inactive = { fg = "#cdd6f4", bg = "#45475a" }
[mode]
normal_main = { fg = "#1e1e2e", bg = "#89b4fa", bold = true }
normal_alt = { fg = "#89b4fa", bg = "#313244"}
normal_main = { fg = "#1e1e2e", bg = "#f5c2e7", bold = true }
normal_alt = { fg = "#f5c2e7", bg = "#313244"}
select_main = { fg = "#1e1e2e", bg = "#a6e3a1", bold = true }
select_alt = { fg = "#a6e3a1", bg = "#313244"}
@@ -37,7 +37,7 @@ unset_alt = { fg = "#f2cdcd", bg = "#313244"}
[indicator]
parent = { fg = "#1e1e2e", bg = "#cdd6f4" }
current = { fg = "#1e1e2e", bg = "#89b4fa" }
current = { fg = "#1e1e2e", bg = "#f5c2e7" }
preview = { fg = "#1e1e2e", bg = "#cdd6f4" }
[status]
@@ -55,29 +55,29 @@ perm_exec = { fg = "#a6e3a1" }
perm_sep = { fg = "#7f849c" }
[input]
border = { fg = "#89b4fa" }
border = { fg = "#f5c2e7" }
title = {}
value = {}
selected = { reversed = true }
[pick]
border = { fg = "#89b4fa" }
border = { fg = "#f5c2e7" }
active = { fg = "#f5c2e7" }
inactive = {}
[confirm]
border = { fg = "#89b4fa" }
title = { fg = "#89b4fa" }
border = { fg = "#f5c2e7" }
title = { fg = "#f5c2e7" }
body = {}
list = {}
btn_yes = { reversed = true }
btn_no = {}
[cmp]
border = { fg = "#89b4fa" }
border = { fg = "#f5c2e7" }
[tasks]
border = { fg = "#89b4fa" }
border = { fg = "#f5c2e7" }
title = {}
hovered = { fg = "#f5c2e7", bold = true }
@@ -126,13 +126,13 @@ rules = [
{ url = "*/", is = "dummy", bg = "#f38ba8" },
# Fallback
{ url = "*/", fg = "#89b4fa" },
{ url = "*/", fg = "#f5c2e7" },
]
[spot]
border = { fg = "#89b4fa" }
title = { fg = "#89b4fa" }
tbl_cell = { fg = "#89b4fa", reversed = true }
border = { fg = "#f5c2e7" }
title = { fg = "#f5c2e7" }
tbl_cell = { fg = "#f5c2e7", reversed = true }
tbl_col = { bold = true }
[icon]