From deee85b67694316548584cf255569b0134066415 Mon Sep 17 00:00:00 2001 From: lew Date: Fri, 13 Feb 2026 13:02:07 +0000 Subject: [PATCH] Update .XCompose Update .gitconfig Update .tmux.conf Update .config/DankMaterialShell/firefox.css Update .config/DankMaterialShell/plugin_settings.json Update .config/DankMaterialShell/plugins/.repos/0026f1eba8dedaec/DankActions/DankActionsSettings.qml Update .config/DankMaterialShell/plugins/.repos/0026f1eba8dedaec/DankActions/DankActionsWidget.qml Update .config/DankMaterialShell/plugins/.repos/0026f1eba8dedaec/DankActions/plugin.json Update .config/DankMaterialShell/plugins/.repos/0026f1eba8dedaec/.git/index Update .config/DankMaterialShell/plugins/.repos/0026f1eba8dedaec/.git/refs/heads/master Update .config/DankMaterialShell/plugins/.repos/0026f1eba8dedaec/.git/refs/remotes/origin/master Update .config/DankMaterialShell/plugins/emojiLauncher/.git/refs/remotes/origin/main Update .config/DankMaterialShell/settings.json Update .config/alacritty/dank-theme.toml Update .config/ghostty/config Update .config/ghostty/themes/dankcolors Update .config/niri/dms/colors.kdl Update .config/nvim/lua/plugins/dankcolors.lua Update .config/pda/config.toml Update .local/bin/tmux-sessionizer --- dot_XCompose | 7 +- dot_gitconfig | 4 + dot_tmux.conf | 3 +- .../DankMaterialShell/firefox.css | 164 +++++++------- .../DankMaterialShell/plugin_settings.json | 6 +- .../DankActions/DankActionsSettings.qml | 202 +++++++++++++----- .../DankActions/DankActionsWidget.qml | 118 +++++----- .../0026f1eba8dedaec/DankActions/plugin.json | 2 +- .../dot_repos/0026f1eba8dedaec/dot_git/index | Bin 1840 -> 2248 bytes .../dot_git/refs/heads/master | 2 +- .../dot_git/refs/remotes/origin/master | 2 +- .../dot_git/refs/remotes/origin/main | 2 +- .../DankMaterialShell/settings.json | 166 +++++++++++++- private_dot_config/alacritty/dank-theme.toml | 44 ++-- private_dot_config/ghostty/config | 2 +- private_dot_config/ghostty/themes/dankcolors | 42 ++-- private_dot_config/niri/dms/colors.kdl | 19 +- .../nvim/lua/plugins/dankcolors.lua | 94 +++++--- private_dot_config/pda/config.toml | 25 ++- .../bin/executable_tmux-sessionizer | 10 +- 20 files changed, 609 insertions(+), 305 deletions(-) diff --git a/dot_XCompose b/dot_XCompose index a0dc03d..400f92b 100644 --- a/dot_XCompose +++ b/dot_XCompose @@ -1,10 +1,11 @@ -include "%L" +# Uncomment to enable locale Compose file +# include "%L" # https://tanukicomputing.neocities.org/posts/Compose_Key_Cheat_Sheet - : "lew@ily2.dev" + : "lew@ily2.dev" : "—" : " | " -

: "|" : " || " : "\\" + : "🏳️‍⚧️" diff --git a/dot_gitconfig b/dot_gitconfig index 426b00f..d8c2875 100644 --- a/dot_gitconfig +++ b/dot_gitconfig @@ -6,3 +6,7 @@ clean = git-lfs clean -- %f smudge = git-lfs smudge -- %f process = git-lfs filter-process +[submodule] + recurse = true +[push] + recurseSubmodules = on-demand diff --git a/dot_tmux.conf b/dot_tmux.conf index 25c1b76..cbeefdd 100644 --- a/dot_tmux.conf +++ b/dot_tmux.conf @@ -29,7 +29,8 @@ bind-key -n M-w confirm-before -p "are you sure you want to set-option -g prefix ` # " set-option -g default-terminal "xterm" # 256-colors -# set-option -ag terminal-overrides ",$TERM:Tc" # " +set-option -s extended-keys on +set-option -as terminal-features "xterm*:extkeys" set-option -s escape-time 0 # vi-mode switch delay set-option -g history-limit 50000 # scrollback buffer size set-option -g display-time 6000 # tmux msg display duration diff --git a/private_dot_config/DankMaterialShell/firefox.css b/private_dot_config/DankMaterialShell/firefox.css index 27b47d2..5c85f9d 100644 --- a/private_dot_config/DankMaterialShell/firefox.css +++ b/private_dot_config/DankMaterialShell/firefox.css @@ -1,54 +1,54 @@ @media -moz-pref("userChrome.theme-material") { :root { - --md-sys-color-primary: #824c76; - --md-sys-color-surface-tint: #824c76; + --md-sys-color-primary: #2f628c; + --md-sys-color-surface-tint: #2f628c; --md-sys-color-on-primary: #ffffff; - --md-sys-color-primary-container: #ffd7f1; - --md-sys-color-on-primary-container: #35082f; - --md-sys-color-secondary: #6f5867; + --md-sys-color-primary-container: #cee5ff; + --md-sys-color-on-primary-container: #001d33; + --md-sys-color-secondary: #51606f; --md-sys-color-on-secondary: #ffffff; - --md-sys-color-secondary-container: #f9daed; - --md-sys-color-on-secondary-container: #271623; - --md-sys-color-tertiary: #815342; + --md-sys-color-secondary-container: #d5e4f7; + --md-sys-color-on-secondary-container: #0e1d2a; + --md-sys-color-tertiary: #68587a; --md-sys-color-on-tertiary: #ffffff; - --md-sys-color-tertiary-container: #ffdbcf; - --md-sys-color-on-tertiary-container: #321206; + --md-sys-color-tertiary-container: #eedbff; + --md-sys-color-on-tertiary-container: #231533; --md-sys-color-error: #ba1a1a; --md-sys-color-on-error: #ffffff; --md-sys-color-error-container: #ffdad6; --md-sys-color-on-error-container: #410002; - --md-sys-color-background: #fff7f9; - --md-sys-color-on-background: #201a1e; - --md-sys-color-surface: #fff7f9; - --md-sys-color-on-surface: #201a1e; - --md-sys-color-surface-variant: #efdee6; - --md-sys-color-on-surface-variant: #4e444a; - --md-sys-color-outline: #80747b; - --md-sys-color-outline-variant: #d2c2ca; + --md-sys-color-background: #f7f9ff; + --md-sys-color-on-background: #181c20; + --md-sys-color-surface: #f7f9ff; + --md-sys-color-on-surface: #181c20; + --md-sys-color-surface-variant: #dee3eb; + --md-sys-color-on-surface-variant: #42474e; + --md-sys-color-outline: #72777f; + --md-sys-color-outline-variant: #c2c7cf; --md-sys-color-shadow: #000000; --md-sys-color-scrim: #000000; - --md-sys-color-inverse-surface: #362e33; - --md-sys-color-inverse-on-surface: #fbedf3; - --md-sys-color-inverse-primary: #f4b2e2; - --md-sys-color-primary-fixed: #ffd7f1; - --md-sys-color-on-primary-fixed: #35082f; - --md-sys-color-primary-fixed-dim: #f4b2e2; - --md-sys-color-on-primary-fixed-variant: #67355d; - --md-sys-color-secondary-fixed: #f9daed; - --md-sys-color-on-secondary-fixed: #271623; - --md-sys-color-secondary-fixed-dim: #dcbed1; - --md-sys-color-on-secondary-fixed-variant: #56404f; - --md-sys-color-tertiary-fixed: #ffdbcf; - --md-sys-color-on-tertiary-fixed: #321206; - --md-sys-color-tertiary-fixed-dim: #f5b9a4; - --md-sys-color-on-tertiary-fixed-variant: #663c2c; - --md-sys-color-surface-dim: #e3d7dc; - --md-sys-color-surface-bright: #fff7f9; + --md-sys-color-inverse-surface: #2d3135; + --md-sys-color-inverse-on-surface: #eff1f6; + --md-sys-color-inverse-primary: #9bcbfb; + --md-sys-color-primary-fixed: #cee5ff; + --md-sys-color-on-primary-fixed: #001d33; + --md-sys-color-primary-fixed-dim: #9bcbfb; + --md-sys-color-on-primary-fixed-variant: #0e4a73; + --md-sys-color-secondary-fixed: #d5e4f7; + --md-sys-color-on-secondary-fixed: #0e1d2a; + --md-sys-color-secondary-fixed-dim: #b9c8da; + --md-sys-color-on-secondary-fixed-variant: #3a4857; + --md-sys-color-tertiary-fixed: #eedbff; + --md-sys-color-on-tertiary-fixed: #231533; + --md-sys-color-tertiary-fixed-dim: #d3bfe6; + --md-sys-color-on-tertiary-fixed-variant: #504061; + --md-sys-color-surface-dim: #d8dae0; + --md-sys-color-surface-bright: #f7f9ff; --md-sys-color-surface-container-lowest: #ffffff; - --md-sys-color-surface-container-low: #fef0f6; - --md-sys-color-surface-container: #fff7f9; - --md-sys-color-surface-container-high: #fff7f9; - --md-sys-color-surface-container-highest: #fff7f9; + --md-sys-color-surface-container-low: #f1f3f9; + --md-sys-color-surface-container: #f7f9ff; + --md-sys-color-surface-container-high: #f7f9ff; + --md-sys-color-surface-container-highest: #f7f9ff; --m3-radius: 12px; --m3-radius-sm: 10px; @@ -68,55 +68,55 @@ @media (prefers-color-scheme: dark) { :root { - --md-sys-color-primary: #f4b2e2; - --md-sys-color-surface-tint: #f4b2e2; - --md-sys-color-on-primary: #4e1e45; - --md-sys-color-primary-container: #67355d; - --md-sys-color-on-primary-container: #ffd7f1; - --md-sys-color-secondary: #dcbed1; - --md-sys-color-on-secondary: #3e2a39; - --md-sys-color-secondary-container: #56404f; - --md-sys-color-on-secondary-container: #f9daed; - --md-sys-color-tertiary: #f5b9a4; - --md-sys-color-on-tertiary: #4c2618; - --md-sys-color-tertiary-container: #663c2c; - --md-sys-color-on-tertiary-container: #ffdbcf; + --md-sys-color-primary: #9bcbfb; + --md-sys-color-surface-tint: #9bcbfb; + --md-sys-color-on-primary: #003353; + --md-sys-color-primary-container: #0e4a73; + --md-sys-color-on-primary-container: #cee5ff; + --md-sys-color-secondary: #b9c8da; + --md-sys-color-on-secondary: #233240; + --md-sys-color-secondary-container: #3a4857; + --md-sys-color-on-secondary-container: #d5e4f7; + --md-sys-color-tertiary: #d3bfe6; + --md-sys-color-on-tertiary: #382a49; + --md-sys-color-tertiary-container: #504061; + --md-sys-color-on-tertiary-container: #eedbff; --md-sys-color-error: #ffb4ab; --md-sys-color-on-error: #690005; --md-sys-color-error-container: #93000a; --md-sys-color-on-error-container: #ffdad6; - --md-sys-color-background: #181216; - --md-sys-color-on-background: #ecdfe5; - --md-sys-color-surface: #181216; - --md-sys-color-on-surface: #ecdfe5; - --md-sys-color-surface-variant: #4e444a; - --md-sys-color-on-surface-variant: #d2c2ca; - --md-sys-color-outline: #9b8d95; - --md-sys-color-outline-variant: #4e444a; + --md-sys-color-background: #101418; + --md-sys-color-on-background: #e0e2e8; + --md-sys-color-surface: #101418; + --md-sys-color-on-surface: #e0e2e8; + --md-sys-color-surface-variant: #42474e; + --md-sys-color-on-surface-variant: #c2c7cf; + --md-sys-color-outline: #8c9198; + --md-sys-color-outline-variant: #42474e; --md-sys-color-shadow: #000000; --md-sys-color-scrim: #000000; - --md-sys-color-inverse-surface: #ecdfe5; - --md-sys-color-inverse-on-surface: #362e33; - --md-sys-color-inverse-primary: #824c76; - --md-sys-color-primary-fixed: #ffd7f1; - --md-sys-color-on-primary-fixed: #35082f; - --md-sys-color-primary-fixed-dim: #f4b2e2; - --md-sys-color-on-primary-fixed-variant: #67355d; - --md-sys-color-secondary-fixed: #f9daed; - --md-sys-color-on-secondary-fixed: #271623; - --md-sys-color-secondary-fixed-dim: #dcbed1; - --md-sys-color-on-secondary-fixed-variant: #56404f; - --md-sys-color-tertiary-fixed: #ffdbcf; - --md-sys-color-on-tertiary-fixed: #321206; - --md-sys-color-tertiary-fixed-dim: #f5b9a4; - --md-sys-color-on-tertiary-fixed-variant: #663c2c; - --md-sys-color-surface-dim: #181216; - --md-sys-color-surface-bright: #3f373c; - --md-sys-color-surface-container-lowest: #120c10; - --md-sys-color-surface-container-low: #201a1e; - --md-sys-color-surface-container: #241e22; - --md-sys-color-surface-container-high: #2f282c; - --md-sys-color-surface-container-highest: #3a3337; + --md-sys-color-inverse-surface: #e0e2e8; + --md-sys-color-inverse-on-surface: #2d3135; + --md-sys-color-inverse-primary: #2f628c; + --md-sys-color-primary-fixed: #cee5ff; + --md-sys-color-on-primary-fixed: #001d33; + --md-sys-color-primary-fixed-dim: #9bcbfb; + --md-sys-color-on-primary-fixed-variant: #0e4a73; + --md-sys-color-secondary-fixed: #d5e4f7; + --md-sys-color-on-secondary-fixed: #0e1d2a; + --md-sys-color-secondary-fixed-dim: #b9c8da; + --md-sys-color-on-secondary-fixed-variant: #3a4857; + --md-sys-color-tertiary-fixed: #eedbff; + --md-sys-color-on-tertiary-fixed: #231533; + --md-sys-color-tertiary-fixed-dim: #d3bfe6; + --md-sys-color-on-tertiary-fixed-variant: #504061; + --md-sys-color-surface-dim: #101418; + --md-sys-color-surface-bright: #36393e; + --md-sys-color-surface-container-lowest: #0b0f12; + --md-sys-color-surface-container-low: #181c20; + --md-sys-color-surface-container: #1c2024; + --md-sys-color-surface-container-high: #272a2f; + --md-sys-color-surface-container-highest: #323539; --m3-elev-1: 0 1px 2px rgba(0,0,0,.50), 0 1px 3px rgba(0,0,0,.35); --m3-elev-2: 0 4px 10px rgba(0,0,0,.55), 0 1px 3px rgba(0,0,0,.35); diff --git a/private_dot_config/DankMaterialShell/plugin_settings.json b/private_dot_config/DankMaterialShell/plugin_settings.json index ed1688f..b230812 100644 --- a/private_dot_config/DankMaterialShell/plugin_settings.json +++ b/private_dot_config/DankMaterialShell/plugin_settings.json @@ -17,7 +17,8 @@ "noTrigger": false }, "grimblast": { - "enabled": false + "enabled": false, + "saveLocation": "~/dcim/pictures/screenshots" }, "dankActions": { "enabled": false, @@ -61,5 +62,8 @@ "enabled": true, "wifiConnected": "/home/lew/.local/bin/hooks/generic", "audioVolume": "" + }, + "alarmClock": { + "enabled": true } } \ No newline at end of file diff --git a/private_dot_config/DankMaterialShell/plugins/dot_repos/0026f1eba8dedaec/DankActions/DankActionsSettings.qml b/private_dot_config/DankMaterialShell/plugins/dot_repos/0026f1eba8dedaec/DankActions/DankActionsSettings.qml index 611e1fd..8677f13 100644 --- a/private_dot_config/DankMaterialShell/plugins/dot_repos/0026f1eba8dedaec/DankActions/DankActionsSettings.qml +++ b/private_dot_config/DankMaterialShell/plugins/dot_repos/0026f1eba8dedaec/DankActions/DankActionsSettings.qml @@ -1,5 +1,4 @@ import QtQuick -import QtQuick.Controls import qs.Common import qs.Services import qs.Widgets @@ -12,31 +11,35 @@ PluginSettings { property string editingVariantId: "" function loadVariantForEditing(variantData) { - editingVariantId = variantData.id || "" - nameField.text = variantData.name || "" - iconField.text = variantData.icon || "" - displayTextField.text = variantData.displayText || "" - displayCommandField.text = variantData.displayCommand || "" - clickCommandField.text = variantData.clickCommand || "" - middleClickCommandField.text = variantData.middleClickCommand || "" - rightClickCommandField.text = variantData.rightClickCommand || "" - updateIntervalField.text = (variantData.updateInterval || 0).toString() - showIconToggle.checked = variantData.showIcon !== undefined ? variantData.showIcon : true - showTextToggle.checked = variantData.showText !== undefined ? variantData.showText : true + editingVariantId = variantData.id || ""; + nameField.text = variantData.name || ""; + iconField.text = variantData.icon || ""; + displayTextField.text = variantData.displayText || ""; + displayCommandField.text = variantData.displayCommand || ""; + clickCommandField.text = variantData.clickCommand || ""; + middleClickCommandField.text = variantData.middleClickCommand || ""; + rightClickCommandField.text = variantData.rightClickCommand || ""; + updateIntervalField.text = (variantData.updateInterval || 0).toString(); + showIconToggle.checked = variantData.showIcon !== undefined ? variantData.showIcon : true; + showTextToggle.checked = variantData.showText !== undefined ? variantData.showText : true; + visibilityCommandField.text = variantData.visibilityCommand || ""; + visibilityIntervalField.text = (variantData.visibilityInterval || 0).toString(); } function clearForm() { - editingVariantId = "" - nameField.text = "" - iconField.text = "" - displayTextField.text = "" - displayCommandField.text = "" - clickCommandField.text = "" - middleClickCommandField.text = "" - rightClickCommandField.text = "" - updateIntervalField.text = "0" - showIconToggle.checked = true - showTextToggle.checked = true + editingVariantId = ""; + nameField.text = ""; + iconField.text = ""; + displayTextField.text = ""; + displayCommandField.text = ""; + clickCommandField.text = ""; + middleClickCommandField.text = ""; + rightClickCommandField.text = ""; + updateIntervalField.text = "0"; + showIconToggle.checked = true; + showTextToggle.checked = true; + visibilityCommandField.text = ""; + visibilityIntervalField.text = "0"; } StyledText { @@ -107,7 +110,8 @@ PluginSettings { placeholderText: "e.g., Power Profile" keyNavigationTab: iconField onFocusStateChanged: hasFocus => { - if (hasFocus) root.ensureItemVisible(nameField) + if (hasFocus) + root.ensureItemVisible(nameField); } } } @@ -129,7 +133,8 @@ PluginSettings { keyNavigationBacktab: nameField keyNavigationTab: displayTextField onFocusStateChanged: hasFocus => { - if (hasFocus) root.ensureItemVisible(iconField) + if (hasFocus) + root.ensureItemVisible(iconField); } } } @@ -152,7 +157,8 @@ PluginSettings { keyNavigationBacktab: iconField keyNavigationTab: displayCommandField onFocusStateChanged: hasFocus => { - if (hasFocus) root.ensureItemVisible(displayTextField) + if (hasFocus) + root.ensureItemVisible(displayTextField); } } } @@ -174,7 +180,8 @@ PluginSettings { keyNavigationBacktab: displayTextField keyNavigationTab: clickCommandField onFocusStateChanged: hasFocus => { - if (hasFocus) root.ensureItemVisible(displayCommandField) + if (hasFocus) + root.ensureItemVisible(displayCommandField); } } @@ -204,7 +211,8 @@ PluginSettings { keyNavigationBacktab: displayCommandField keyNavigationTab: middleClickCommandField onFocusStateChanged: hasFocus => { - if (hasFocus) root.ensureItemVisible(clickCommandField) + if (hasFocus) + root.ensureItemVisible(clickCommandField); } } @@ -234,7 +242,8 @@ PluginSettings { keyNavigationBacktab: clickCommandField keyNavigationTab: rightClickCommandField onFocusStateChanged: hasFocus => { - if (hasFocus) root.ensureItemVisible(middleClickCommandField) + if (hasFocus) + root.ensureItemVisible(middleClickCommandField); } } } @@ -256,7 +265,8 @@ PluginSettings { keyNavigationBacktab: middleClickCommandField keyNavigationTab: updateIntervalField onFocusStateChanged: hasFocus => { - if (hasFocus) root.ensureItemVisible(rightClickCommandField) + if (hasFocus) + root.ensureItemVisible(rightClickCommandField); } } } @@ -277,8 +287,10 @@ PluginSettings { placeholderText: "0" text: "0" keyNavigationBacktab: rightClickCommandField + keyNavigationTab: visibilityCommandField onFocusStateChanged: hasFocus => { - if (hasFocus) root.ensureItemVisible(updateIntervalField) + if (hasFocus) + root.ensureItemVisible(updateIntervalField); } } @@ -291,6 +303,68 @@ PluginSettings { } } + Column { + width: parent.width + spacing: Theme.spacingXS + + StyledText { + text: "Visibility Condition (optional)" + font.pixelSize: Theme.fontSizeSmall + color: Theme.surfaceVariantText + } + + DankTextField { + id: visibilityCommandField + width: parent.width + placeholderText: "e.g., pgrep -x firefox (exit 0 = show, non-zero = hide)" + keyNavigationBacktab: updateIntervalField + keyNavigationTab: visibilityIntervalField + onFocusStateChanged: hasFocus => { + if (hasFocus) + root.ensureItemVisible(visibilityCommandField); + } + } + + StyledText { + text: "Widget shows when command exits 0, hides when non-zero." + font.pixelSize: Theme.fontSizeSmall + color: Theme.surfaceVariantText + wrapMode: Text.WordWrap + width: parent.width + } + } + + Column { + width: parent.width + spacing: Theme.spacingXS + + StyledText { + text: "Visibility Check Interval (seconds, 0 = once on load)" + font.pixelSize: Theme.fontSizeSmall + color: Theme.surfaceVariantText + } + + DankTextField { + id: visibilityIntervalField + width: parent.width + placeholderText: "0" + text: "0" + keyNavigationBacktab: visibilityCommandField + onFocusStateChanged: hasFocus => { + if (hasFocus) + root.ensureItemVisible(visibilityIntervalField); + } + } + + StyledText { + text: "How often to re-check visibility condition. Set to 0 to check only once." + font.pixelSize: Theme.fontSizeSmall + color: Theme.surfaceVariantText + wrapMode: Text.WordWrap + width: parent.width + } + } + Row { width: parent.width spacing: Theme.spacingL @@ -308,7 +382,7 @@ PluginSettings { id: showIconToggle checked: true onToggled: isChecked => { - checked = isChecked + checked = isChecked; } } } @@ -326,7 +400,7 @@ PluginSettings { id: showTextToggle checked: true onToggled: isChecked => { - checked = isChecked + checked = isChecked; } } } @@ -337,14 +411,20 @@ PluginSettings { iconName: root.editingVariantId ? "check" : "add" onClicked: { if (!nameField.text) { - ToastService.showError("Please enter a variant name") - return + ToastService.showError("Please enter a variant name"); + return; } - var interval = parseInt(updateIntervalField.text) || 0 + var interval = parseInt(updateIntervalField.text) || 0; if (interval < 0) { - ToastService.showError("Update interval must be 0 or greater") - return + ToastService.showError("Update interval must be 0 or greater"); + return; + } + + var visInterval = parseInt(visibilityIntervalField.text) || 0; + if (visInterval < 0) { + ToastService.showError("Visibility interval must be 0 or greater"); + return; } var variantConfig = { @@ -356,17 +436,19 @@ PluginSettings { rightClickCommand: rightClickCommandField.text || "", updateInterval: interval, showIcon: showIconToggle.checked, - showText: showTextToggle.checked - } + showText: showTextToggle.checked, + visibilityCommand: visibilityCommandField.text || "", + visibilityInterval: visInterval + }; if (root.editingVariantId) { - variantConfig.name = nameField.text - updateVariant(root.editingVariantId, variantConfig) + variantConfig.name = nameField.text; + updateVariant(root.editingVariantId, variantConfig); } else { - createVariant(nameField.text, variantConfig) + createVariant(nameField.text, variantConfig); } - root.clearForm() + root.clearForm(); } } } @@ -445,11 +527,16 @@ PluginSettings { StyledText { text: { - var parts = [] - if (model.displayText) parts.push("Text: " + model.displayText) - if (model.displayCommand) parts.push("Cmd: " + model.displayCommand) - if (model.updateInterval && model.updateInterval > 0) parts.push("Update: " + model.updateInterval + "s") - return parts.join(" | ") || "No display config" + var parts = []; + if (model.displayText) + parts.push("Text: " + model.displayText); + if (model.displayCommand) + parts.push("Cmd: " + model.displayCommand); + if (model.updateInterval && model.updateInterval > 0) + parts.push("Update: " + model.updateInterval + "s"); + if (model.visibilityCommand) + parts.push("Vis: " + model.visibilityCommand); + return parts.join(" | ") || "No display config"; } font.pixelSize: Theme.fontSizeSmall color: Theme.surfaceVariantText @@ -459,11 +546,14 @@ PluginSettings { StyledText { text: { - var actions = [] - if (model.clickCommand) actions.push("L: " + model.clickCommand) - if (model.middleClickCommand) actions.push("M: " + model.middleClickCommand) - if (model.rightClickCommand) actions.push("R: " + model.rightClickCommand) - return actions.join(" | ") || "No click actions" + var actions = []; + if (model.clickCommand) + actions.push("L: " + model.clickCommand); + if (model.middleClickCommand) + actions.push("M: " + model.middleClickCommand); + if (model.rightClickCommand) + actions.push("R: " + model.rightClickCommand); + return actions.join(" | ") || "No click actions"; } font.pixelSize: Theme.fontSizeSmall color: Theme.surfaceVariantText @@ -496,7 +586,7 @@ PluginSettings { hoverEnabled: true cursorShape: Qt.PointingHandCursor onClicked: { - root.loadVariantForEditing(model) + root.loadVariantForEditing(model); } } } @@ -521,7 +611,7 @@ PluginSettings { hoverEnabled: true cursorShape: Qt.PointingHandCursor onClicked: { - removeVariant(model.id) + removeVariant(model.id); } } } diff --git a/private_dot_config/DankMaterialShell/plugins/dot_repos/0026f1eba8dedaec/DankActions/DankActionsWidget.qml b/private_dot_config/DankMaterialShell/plugins/dot_repos/0026f1eba8dedaec/DankActions/DankActionsWidget.qml index 1fd07fe..08e0400 100644 --- a/private_dot_config/DankMaterialShell/plugins/dot_repos/0026f1eba8dedaec/DankActions/DankActionsWidget.qml +++ b/private_dot_config/DankMaterialShell/plugins/dot_repos/0026f1eba8dedaec/DankActions/DankActionsWidget.qml @@ -1,5 +1,4 @@ import QtQuick -import Quickshell import Quickshell.Io import qs.Common import qs.Services @@ -25,17 +24,20 @@ PluginComponent { property string currentOutput: "" property bool isLoading: false + visibilityCommand: variantData?.visibilityCommand || "" + visibilityInterval: variantData?.visibilityInterval || 0 + onVariantDataChanged: { - updatePropertiesFromVariantData() + updatePropertiesFromVariantData(); } Connections { target: PluginService function onPluginDataChanged(changedPluginId) { if (changedPluginId === "dankActions" && variantId) { - const newData = PluginService.getPluginVariantData("dankActions", variantId) + const newData = PluginService.getPluginVariantData("dankActions", variantId); if (newData) { - variantData = newData + variantData = newData; } } } @@ -43,69 +45,69 @@ PluginComponent { function updatePropertiesFromVariantData() { if (!variantData) { - displayIcon = "terminal" - displayText = "" - displayCommand = "" - clickCommand = "" - middleClickCommand = "" - rightClickCommand = "" - updateInterval = 0 - showIcon = true - showText = true - currentOutput = "" - return + displayIcon = "terminal"; + displayText = ""; + displayCommand = ""; + clickCommand = ""; + middleClickCommand = ""; + rightClickCommand = ""; + updateInterval = 0; + showIcon = true; + showText = true; + currentOutput = ""; + return; } - displayIcon = variantData.icon || "terminal" - displayText = variantData.displayText || "" - displayCommand = variantData.displayCommand || "" - clickCommand = variantData.clickCommand || "" - middleClickCommand = variantData.middleClickCommand || "" - rightClickCommand = variantData.rightClickCommand || "" - updateInterval = variantData.updateInterval || 0 - showIcon = variantData.showIcon !== undefined ? variantData.showIcon : true - showText = variantData.showText !== undefined ? variantData.showText : true + displayIcon = variantData.icon || "terminal"; + displayText = variantData.displayText || ""; + displayCommand = variantData.displayCommand || ""; + clickCommand = variantData.clickCommand || ""; + middleClickCommand = variantData.middleClickCommand || ""; + rightClickCommand = variantData.rightClickCommand || ""; + updateInterval = variantData.updateInterval || 0; + showIcon = variantData.showIcon !== undefined ? variantData.showIcon : true; + showText = variantData.showText !== undefined ? variantData.showText : true; if (displayCommand) { - Qt.callLater(refreshOutput) + Qt.callLater(refreshOutput); } else { - currentOutput = displayText + currentOutput = displayText; } if (updateInterval > 0) { - updateTimer.restart() + updateTimer.restart(); } } onDisplayCommandChanged: { if (displayCommand) { - Qt.callLater(refreshOutput) + Qt.callLater(refreshOutput); } else { - currentOutput = displayText + currentOutput = displayText; } } onDisplayTextChanged: { if (!displayCommand) { - currentOutput = displayText + currentOutput = displayText; } } onUpdateIntervalChanged: { if (updateInterval > 0) { - updateTimer.restart() + updateTimer.restart(); } else { - updateTimer.stop() + updateTimer.stop(); } } Component.onCompleted: { if (displayCommand) { - Qt.callLater(refreshOutput) + Qt.callLater(refreshOutput); } else { - currentOutput = displayText + currentOutput = displayText; } if (updateInterval > 0) { - updateTimer.start() + updateTimer.start(); } } @@ -116,27 +118,27 @@ PluginComponent { running: false onTriggered: { if (root.displayCommand) { - root.refreshOutput() + root.refreshOutput(); } } } function refreshOutput() { if (!displayCommand) { - currentOutput = displayText - return + currentOutput = displayText; + return; } - isLoading = true - displayProcess.running = true + isLoading = true; + displayProcess.running = true; } function executeCommand(command) { - if (!command) return - - isLoading = true - actionProcess.command = ["sh", "-c", command] - actionProcess.running = true + if (!command) + return; + isLoading = true; + actionProcess.command = ["sh", "-c", command]; + actionProcess.running = true; } Process { @@ -146,14 +148,14 @@ PluginComponent { stdout: SplitParser { onRead: data => { - root.currentOutput = data.trim() + root.currentOutput = data.trim(); } } onExited: (exitCode, exitStatus) => { - root.isLoading = false + root.isLoading = false; if (exitCode !== 0) { - console.warn("CustomActions: Display command failed with code", exitCode) + console.warn("CustomActions: Display command failed with code", exitCode); } } } @@ -164,20 +166,20 @@ PluginComponent { running: false onExited: (exitCode, exitStatus) => { - root.isLoading = false + root.isLoading = false; if (exitCode === 0) { if (root.displayCommand) { - root.refreshOutput() + root.refreshOutput(); } } else { - console.warn("CustomActions: Action command failed with code", exitCode) + console.warn("CustomActions: Action command failed with code", exitCode); } } } pillClickAction: () => { if (root.clickCommand) { - root.executeCommand(root.clickCommand) + root.executeCommand(root.clickCommand); } } @@ -189,11 +191,11 @@ PluginComponent { hoverEnabled: true cursorShape: Qt.PointingHandCursor - onClicked: (mouse) => { + onClicked: mouse => { if (mouse.button === Qt.MiddleButton && root.middleClickCommand) { - root.executeCommand(root.middleClickCommand) + root.executeCommand(root.middleClickCommand); } else if (mouse.button === Qt.RightButton && root.rightClickCommand) { - root.executeCommand(root.rightClickCommand) + root.executeCommand(root.rightClickCommand); } } @@ -229,11 +231,11 @@ PluginComponent { hoverEnabled: true cursorShape: Qt.PointingHandCursor - onClicked: (mouse) => { + onClicked: mouse => { if (mouse.button === Qt.MiddleButton && root.middleClickCommand) { - root.executeCommand(root.middleClickCommand) + root.executeCommand(root.middleClickCommand); } else if (mouse.button === Qt.RightButton && root.rightClickCommand) { - root.executeCommand(root.rightClickCommand) + root.executeCommand(root.rightClickCommand); } } diff --git a/private_dot_config/DankMaterialShell/plugins/dot_repos/0026f1eba8dedaec/DankActions/plugin.json b/private_dot_config/DankMaterialShell/plugins/dot_repos/0026f1eba8dedaec/DankActions/plugin.json index b3a8692..ef02cb4 100644 --- a/private_dot_config/DankMaterialShell/plugins/dot_repos/0026f1eba8dedaec/DankActions/plugin.json +++ b/private_dot_config/DankMaterialShell/plugins/dot_repos/0026f1eba8dedaec/DankActions/plugin.json @@ -2,7 +2,7 @@ "id": "dankActions", "name": "Dank Actions", "description": "Execute custom commands with dynamic output display and configurable icons", - "version": "1.0.4", + "version": "1.0.5", "license": "MIT", "author": "Avenge Media", "icon": "terminal", diff --git a/private_dot_config/DankMaterialShell/plugins/dot_repos/0026f1eba8dedaec/dot_git/index b/private_dot_config/DankMaterialShell/plugins/dot_repos/0026f1eba8dedaec/dot_git/index index dc3b4d47c00f37ab2b6df2f16b21da6e3d0ed619..f571ff4f42e1fa9f939810cb733996d8be7bcfb6 100644 GIT binary patch delta 645 zcmdnMcS4ZI#WTp6fq{XEfq_AMB2S=o{F+{FRo>;9P?~{(L59IP`y~TI;}Ql2<`)oL zu%fN}qhUkpNomo0P1ke_pDbWt6lt0`Ll>;wVsS56yT#&OsPyxqTf8>&eS^VF2342D zylkJu(!Au1)FSWH%3^(V0lmW990m{on;&)m5R8V}^R6DvqWx<;&nm{qHhxPgzy#WTp6fq{XEfq_AIB2S=oEW;gU3FXF2D9ymYAj4qsVjBZP;}Ql2<`)p0 z_&HHd{?_sBZ0`1Rj<78aQ9fZgr`dDj3|(u>dB)NL`$aOLG+4W;f&!{`Id1t2^=}ww zpZh;$Lrrux8)wr?-(8C*F{*-XH|h}p+iuh&0M>5tVmqpK#yy)?WGc=&?r}Y7ljMOH tvqi$T?ebLEoWS^%dGlMg/dev/null; then tmux new-session -ds "$selected_name" -c "$selected" tmux rename-window -t "$selected_name:" "shell" - tmux new-window -t "$selected_name:" -c "$selected" -n "neovim" - tmux send-keys -t "$selected_name:neovim" "nvim" Enter - if [[ -d "$selected/.git" ]]; then - tmux new-window -t "$selected_name:" -c "$selected" -n "git" - tmux send-keys -t "$selected_name:git" "lazygit" Enter - fi - tmux select-window -t "$selected_name:neovim" + # tmux new-window -t "$selected_name:" -c "$selected" -n "neovim" + # tmux send-keys -t "$selected_name:neovim" "nvim" Enter + tmux select-window -t "$selected_name:shell" fi if [[ -z ${TMUX:-} ]]; then