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
This commit is contained in:
parent
b18328bbad
commit
deee85b676
20 changed files with 609 additions and 305 deletions
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue