diff --git a/dots/.config/hypr/hyprland/general.conf b/dots/.config/hypr/hyprland/general.conf index 44160ed0d..071515e4c 100644 --- a/dots/.config/hypr/hyprland/general.conf +++ b/dots/.config/hypr/hyprland/general.conf @@ -48,7 +48,7 @@ dwindle { decoration { # 2 = circle, higher = squircle, 4 = very obvious squircle # Clear squircles look really off; we use only extra .4 here to make the rounding feel more continuous - rounding_power = 2.4 + rounding_power = 2 rounding = 18 blur { @@ -81,7 +81,7 @@ decoration { # Dim dim_inactive = true dim_strength = 0.05 - dim_special = 0.07 + dim_special = 0.2 } animations { @@ -116,7 +116,7 @@ animations { animation = specialWorkspaceIn, 1, 2.8, emphasizedDecel, slidevert animation = specialWorkspaceOut, 1, 1.2, emphasizedAccel, slidevert # zoom - animation = zoomFactor, 1, 3, emphasizedDecel + animation = zoomFactor, 1, 3, standardDecel } input { @@ -166,16 +166,3 @@ cursor { hotspot_padding = 1 } -# Overview -plugin { - hyprexpo { - columns = 3 - gap_size = 5 - bg_col = rgb(000000) - workspace_method = first 1 # [center/first] [workspace] e.g. first 1 or center m+1 - - enable_gesture = false # laptop touchpad, 4 fingers - gesture_distance = 300 # how far is the "max" - gesture_positive = false - } -} diff --git a/dots/.config/hypr/hyprland/keybinds.conf b/dots/.config/hypr/hyprland/keybinds.conf index c4454db16..c5357abbe 100644 --- a/dots/.config/hypr/hyprland/keybinds.conf +++ b/dots/.config/hypr/hyprland/keybinds.conf @@ -251,7 +251,7 @@ bindl= ,XF86AudioPause, exec, playerctl play-pause # [hidden] ##! Apps bind = Super, Return, exec, ~/.config/hypr/hyprland/scripts/launch_first_available.sh "${TERMINAL}" "kitty -1" "foot" "alacritty" "wezterm" "konsole" "kgx" "uxterm" "xterm" # Terminal -bind = Super, T, exec, ~/.config/hypr/hyprland/scripts/launch_first_available.sh "${TERMINAL}" "kitty -1" "foot" "alacritty" "wezterm" "konsole" "kgx" "uxterm" "xterm" # [hidden] (terminal) (alt) +bind = Super, T, exec, ~/.config/hypr/hyprland/scripts/launch_first_available.sh "${TERMINAL}" "kitty -1" "foot" "alacritty" "wezterm" "konsole" "kgx" "uxterm" "xterm" # [hidden] (terminal) (alt) bind = Ctrl+Alt, T, exec, ~/.config/hypr/hyprland/scripts/launch_first_available.sh "${TERMINAL}" "kitty -1" "foot" "alacritty" "wezterm" "konsole" "kgx" "uxterm" "xterm" # [hidden] (terminal) (for Ubuntu people) bind = Super, E, exec, ~/.config/hypr/hyprland/scripts/launch_first_available.sh "dolphin" "nautilus" "nemo" "thunar" "${TERMINAL}" "kitty -1 fish -c yazi" # File manager bind = Super, W, exec, ~/.config/hypr/hyprland/scripts/launch_first_available.sh "google-chrome-stable" "zen-browser" "firefox" "brave" "chromium" "microsoft-edge-stable" "opera" "librewolf" # Browser diff --git a/dots/.config/quickshell/ii/modules/ii/dock/DockAppButton.qml b/dots/.config/quickshell/ii/modules/ii/dock/DockAppButton.qml index 8d2d270ae..bf199b0ae 100644 --- a/dots/.config/quickshell/ii/modules/ii/dock/DockAppButton.qml +++ b/dots/.config/quickshell/ii/modules/ii/dock/DockAppButton.qml @@ -18,7 +18,20 @@ DockButton { property bool appIsActive: appToplevel.toplevels.find(t => (t.activated == true)) !== undefined readonly property bool isSeparator: appToplevel.appId === "SEPARATOR" - readonly property var desktopEntry: DesktopEntries.heuristicLookup(appToplevel.appId) + property var desktopEntry: DesktopEntries.heuristicLookup(appToplevel.appId) + + Timer { + // Retry looking up the desktop entry if it failed (e.g. database not loaded yet) + property int retryCount: 5 + interval: 1000 + running: !root.isSeparator && root.desktopEntry === null && retryCount > 0 + repeat: true + onTriggered: { + retryCount--; + root.desktopEntry = DesktopEntries.heuristicLookup(root.appToplevel.appId); + } + } + enabled: !isSeparator implicitWidth: isSeparator ? 1 : implicitHeight - topInset - bottomInset diff --git a/dots/.config/quickshell/ii/modules/waffle/bar/tasks/TaskAppButton.qml b/dots/.config/quickshell/ii/modules/waffle/bar/tasks/TaskAppButton.qml index 51e6b61a1..d4d7c072b 100644 --- a/dots/.config/quickshell/ii/modules/waffle/bar/tasks/TaskAppButton.qml +++ b/dots/.config/quickshell/ii/modules/waffle/bar/tasks/TaskAppButton.qml @@ -12,7 +12,20 @@ AppButton { required property var appEntry readonly property bool isSeparator: appEntry.appId === "SEPARATOR" - readonly property var desktopEntry: DesktopEntries.heuristicLookup(appEntry.appId) + property var desktopEntry: DesktopEntries.heuristicLookup(appEntry.appId) + + Timer { + // Retry looking up the desktop entry if it failed (e.g. database not loaded yet) + property int retryCount: 5 + interval: 1000 + running: !root.isSeparator && root.desktopEntry === null && retryCount > 0 + repeat: true + onTriggered: { + retryCount--; + root.desktopEntry = DesktopEntries.heuristicLookup(root.appEntry.appId); + } + } + property bool active: root.appEntry.toplevels.some(t => t.activated) property bool hasWindows: appEntry.toplevels.length > 0 diff --git a/dots/.config/quickshell/ii/modules/waffle/notificationCenter/CalendarWidget.qml b/dots/.config/quickshell/ii/modules/waffle/notificationCenter/CalendarWidget.qml index 7c01a0b01..16dc831e1 100644 --- a/dots/.config/quickshell/ii/modules/waffle/notificationCenter/CalendarWidget.qml +++ b/dots/.config/quickshell/ii/modules/waffle/notificationCenter/CalendarWidget.qml @@ -79,7 +79,7 @@ BodyRectangle { id: dayButton required property var model checked: model.today - enabled: hovered || calendarView.scrolling || checked || model.month === calendarView.focusedMonth + enabled: hovered || checked || model.month === calendarView.focusedMonth implicitWidth: calendarView.buttonSize implicitHeight: calendarView.buttonSize radius: height / 2 diff --git a/dots/.config/quickshell/ii/services/Network.qml b/dots/.config/quickshell/ii/services/Network.qml index 418258636..943c9f757 100644 --- a/dots/.config/quickshell/ii/services/Network.qml +++ b/dots/.config/quickshell/ii/services/Network.qml @@ -233,7 +233,7 @@ Singleton { Process { id: updateNetworkStrength running: true - command: ["sh", "-c", "nmcli -f IN-USE,SIGNAL,SSID device wifi | awk '/^\*/{if (NR!=1) {print $2}}'"] + command: ["sh", "-c", "nmcli -f IN-USE,SIGNAL,SSID device wifi | awk '/^\\*/{if (NR!=1) {print $2}}'"] stdout: SplitParser { onRead: data => { root.networkStrength = parseInt(data); diff --git a/sdata/lib/functions.sh b/sdata/lib/functions.sh index 423f45b81..bc8f08400 100644 --- a/sdata/lib/functions.sh +++ b/sdata/lib/functions.sh @@ -119,8 +119,8 @@ function sudo_init_keepalive(){ # Stop the sudo keepalive background process function sudo_stop_keepalive(){ if [[ -n "$SUDO_KEEPALIVE_PID" ]] && kill -0 "$SUDO_KEEPALIVE_PID" 2>/dev/null; then - kill "$SUDO_KEEPALIVE_PID" 2>/dev/null - wait "$SUDO_KEEPALIVE_PID" 2>/dev/null + kill "$SUDO_KEEPALIVE_PID" 2>/dev/null || true + wait "$SUDO_KEEPALIVE_PID" 2>/dev/null || true SUDO_KEEPALIVE_PID="" fi }