Add options to customize context menu

gh-1858 gh-1926 gh-2005 gh-2151
This commit is contained in:
Charles Gagnon
2025-02-20 17:59:09 -05:00
parent f9662e6931
commit 7fc23f516d
5 changed files with 339 additions and 200 deletions

288
po/fr.po
View File

@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Dash To Panel\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-02-19 18:50-0500\n"
"PO-Revision-Date: 2025-02-19 18:51-0500\n"
"POT-Creation-Date: 2025-02-20 17:49-0500\n"
"PO-Revision-Date: 2025-02-20 17:51-0500\n"
"Last-Translator: Charles Gagnon <charlesg99@outlook.com>\n"
"Language-Team: French\n"
"Language: fr\n"
@@ -39,323 +39,319 @@ msgstr ""
"X-Poedit-SearchPath-16: desktopIconsIntegration.js\n"
"X-Poedit-SearchPath-17: appIcons.js\n"
#: src/extension.js:87
#: src/extension.js:88
msgid "Dash to Panel has been updated!"
msgstr "Dash to Panel a été mis à jour!"
#: src/extension.js:91
#: src/extension.js:92
msgid "See what's new"
msgstr "Voir les nouveautés"
#: src/prefs.js:275
#: src/prefs.js:276
msgid "Show Desktop button height (px)"
msgstr "Hauteur du bouton Afficher le Bureau (px)"
#: src/prefs.js:276
#: src/prefs.js:277
msgid "Show Desktop button width (px)"
msgstr "Longueur du bouton Afficher le Bureau (px)"
#: src/prefs.js:296
#: src/prefs.js:297
msgid "Unavailable when gnome-shell top panel is present"
msgstr "Indisponible quand le panneau de gnome-shell est présent"
#: src/prefs.js:304
#: src/prefs.js:305
msgid "Unavailable when the panel on the primary monitor is at the top"
msgstr "Indisponible quand le panneau sur l'écran principal est au haut"
#: src/prefs.js:372 ui/SettingsPosition.ui.h:13 ui/SettingsStyle.ui.h:19
#: src/prefs.js:373 ui/SettingsPosition.ui.h:13 ui/SettingsStyle.ui.h:19
msgid "Left"
msgstr "Gauche"
#: src/prefs.js:373
#: src/prefs.js:374
msgid "Center"
msgstr "Centre"
#: src/prefs.js:374 ui/SettingsPosition.ui.h:14 ui/SettingsStyle.ui.h:20
#: src/prefs.js:375 ui/SettingsPosition.ui.h:14 ui/SettingsStyle.ui.h:20
msgid "Right"
msgstr "Droit"
#: src/prefs.js:376 ui/BoxWindowPreviewOptions.ui.h:38
#: src/prefs.js:377 ui/BoxWindowPreviewOptions.ui.h:38
#: ui/SettingsPosition.ui.h:12 ui/SettingsStyle.ui.h:18
msgid "Top"
msgstr "Haut"
#: src/prefs.js:377 src/prefs.js:382 ui/SettingsPosition.ui.h:22
#: src/prefs.js:378 src/prefs.js:383 ui/SettingsPosition.ui.h:22
msgid "Middle"
msgstr "Milieu"
#: src/prefs.js:378 ui/BoxWindowPreviewOptions.ui.h:37
#: src/prefs.js:379 ui/BoxWindowPreviewOptions.ui.h:37
#: ui/SettingsPosition.ui.h:11 ui/SettingsStyle.ui.h:17
msgid "Bottom"
msgstr "Bas"
#: src/prefs.js:381 ui/SettingsPosition.ui.h:21
#: src/prefs.js:382 ui/SettingsPosition.ui.h:21
msgid "Start"
msgstr "Début"
#: src/prefs.js:383 ui/SettingsPosition.ui.h:23
#: src/prefs.js:384 ui/SettingsPosition.ui.h:23
msgid "End"
msgstr "Fin"
#: src/prefs.js:509
#: src/prefs.js:510
msgid "Show Applications button"
msgstr "Bouton Afficher les Applications"
#: src/prefs.js:510
#: src/prefs.js:511
msgid "Activities button"
msgstr "Bouton Activités"
#: src/prefs.js:511
#: src/prefs.js:512
msgid "Taskbar"
msgstr "Barre des tâches"
#: src/prefs.js:512
#: src/prefs.js:513
msgid "Date menu"
msgstr "Horloge"
#: src/prefs.js:513
#: src/prefs.js:514
msgid "System menu"
msgstr "Menu système"
#: src/prefs.js:514
#: src/prefs.js:515
msgid "Left box"
msgstr "Zone gauche"
#: src/prefs.js:515
#: src/prefs.js:516
msgid "Center box"
msgstr "Zone centre"
#: src/prefs.js:516
#: src/prefs.js:517
msgid "Right box"
msgstr "Zone droite"
#: src/prefs.js:517
#: src/prefs.js:518
msgid "Desktop button"
msgstr "Bouton Afficher le Bureau"
#: src/prefs.js:527
#: src/prefs.js:528 src/prefs.js:2798
msgid "Move up"
msgstr "Déplacer vers le haut"
#: src/prefs.js:529
#: src/prefs.js:530 src/prefs.js:2806
msgid "Move down"
msgstr "Déplacer vers le bas"
#: src/prefs.js:535
#: src/prefs.js:536
msgid "Visible"
msgstr "Visible"
#: src/prefs.js:539
#: src/prefs.js:540
msgid "Select element position"
msgstr "Sélectionner la position de l'élément"
#: src/prefs.js:553
#: src/prefs.js:554
msgid "Stacked to top"
msgstr "Empilé en haut"
#: src/prefs.js:553
#: src/prefs.js:554
msgid "Stacked to left"
msgstr "Empilé à gauche"
#: src/prefs.js:557
#: src/prefs.js:558
msgid "Stacked to bottom"
msgstr "Empilé en bas"
#: src/prefs.js:557
#: src/prefs.js:558
msgid "Stacked to right"
msgstr "Empilé à droite"
#: src/prefs.js:559
#: src/prefs.js:560
msgid "Centered"
msgstr "Centré"
#: src/prefs.js:560
#: src/prefs.js:561
msgid "Monitor Center"
msgstr "Centre de l'écran "
#: src/prefs.js:587
#: src/prefs.js:588
msgid "More options"
msgstr "Plus d'options"
#: src/prefs.js:622
#: src/prefs.js:623
msgid "Reset to defaults"
msgstr "Restaurer paramètres"
#: src/prefs.js:645
#: src/prefs.js:646
msgid "Show Applications options"
msgstr "Options du bouton Afficher les Applications"
#: src/prefs.js:668
#: src/prefs.js:669
msgid "Open icon"
msgstr "Choisir l'icône"
#: src/prefs.js:733
#: src/prefs.js:734
msgid "Show Desktop options"
msgstr "Options du bouton Afficher le Bureau"
#: src/prefs.js:825
#: src/prefs.js:826
msgid "Primary monitor"
msgstr "Écran principal"
#: src/prefs.js:826
#: src/prefs.js:827
msgid "Monitor "
msgstr "Écran "
#: src/prefs.js:953
#: src/prefs.js:954
msgid "Running Indicator Options"
msgstr "Options de l'indicateur d'activité"
#: src/prefs.js:1487
#: src/prefs.js:1488
msgid "Dynamic opacity options"
msgstr "Options d'opacité dynamique"
#: src/prefs.js:1729
#: src/prefs.js:1730
msgid "Intellihide options"
msgstr "Options du masquage intelligent"
#: src/prefs.js:1925
#: src/prefs.js:1926
msgid "Window preview options"
msgstr "Options de la prévisualisation"
#: src/prefs.js:2476
#: src/prefs.js:2477
msgid "Ungrouped application options"
msgstr "Options des applications dégroupées"
#: src/prefs.js:2643
#: src/prefs.js:2644
msgid "Customize middle-click behavior"
msgstr "Modifier l'action du clic de la molette"
#: src/prefs.js:2732
#: src/prefs.js:2773
msgid "Text"
msgstr "Texte"
#: src/prefs.js:2782
msgid "Command"
msgstr "Commande"
#: src/prefs.js:2814
msgid "Remove"
msgstr "Retirer"
#: src/prefs.js:2842
msgid "Customize panel scroll behavior"
msgstr "Modifier l'action du défilement de la souris sur le panneau"
#: src/prefs.js:2778
#: src/prefs.js:2888
msgid "Customize icon scroll behavior"
msgstr "Modifier l'action du défilement de la souris sur une application"
#: src/prefs.js:2902
#: src/prefs.js:3012
msgid "Advanced hotkeys options"
msgstr "Raccourcis avancés"
#: src/prefs.js:2930
#: src/prefs.js:3040
msgid "Secondary Menu Options"
msgstr "Options du menu secondaire"
#: src/prefs.js:2974 ui/SettingsFineTune.ui.h:23
#: src/prefs.js:3084 ui/SettingsFineTune.ui.h:23
msgid "Advanced Options"
msgstr "Options avancées"
#: src/prefs.js:3142
#: src/prefs.js:3252
#, javascript-format
msgid "%d ms"
msgstr "%d ms"
#: src/prefs.js:3148
#: src/prefs.js:3258
#, javascript-format
msgid "%d °"
msgstr "%d °"
#: src/prefs.js:3154 src/prefs.js:3160
#: src/prefs.js:3264 src/prefs.js:3270
#, javascript-format
msgid "%d %%"
msgstr "%d %%"
#: src/prefs.js:3166
#: src/prefs.js:3276
#, javascript-format
msgid "%.1f"
msgstr "%.1f"
#: src/prefs.js:3172
#: src/prefs.js:3282
#, javascript-format
msgid "%d icon"
msgid_plural "%d icons"
msgstr[0] "%d icône"
msgstr[1] "%d icônes"
#: src/prefs.js:3299
#: src/prefs.js:3409
msgid "App icon animation options"
msgstr "Options d'animation des icônes d'application"
#: src/prefs.js:3422
#: src/prefs.js:3532
msgid "App icon highlight options"
msgstr "Options d'animation du surlignement des icônes d'application"
#: src/prefs.js:3517
#: src/prefs.js:3627
msgid "Export settings"
msgstr "Exporter les paramètres"
#: src/prefs.js:3538
#: src/prefs.js:3648
msgid "Import settings"
msgstr "Importer des paramètres"
#: src/appIcons.js:1919 src/appIcons.js:1930 ui/BoxMiddleClickOptions.ui.h:11
#: src/appIcons.js:1918 src/appIcons.js:1929 ui/BoxMiddleClickOptions.ui.h:11
msgid "Quit"
msgstr "Quitter"
#: src/appIcons.js:1933
#: src/appIcons.js:1932
#, javascript-format
msgid "Quit %d Window"
msgid_plural "Quit %d Windows"
msgstr[0] "Fermer %d fenêtre"
msgstr[1] "Fermer %d fenêtres"
#: src/appIcons.js:2240
#: src/appIcons.js:2239
msgid "Power options"
msgstr "Options d'alimentation"
#: src/appIcons.js:2245
#: src/appIcons.js:2244
msgid "Event logs"
msgstr "Journaux d'évènements"
#: src/appIcons.js:2250
#: src/appIcons.js:2249
msgid "System"
msgstr "Système"
#: src/appIcons.js:2255
#: src/appIcons.js:2254
msgid "Device Management"
msgstr "Gestionnaire de périphériques"
#: src/appIcons.js:2260
#: src/appIcons.js:2259
msgid "Disk Management"
msgstr "Gestionnaire de disques"
#: src/appIcons.js:2273
msgid "Terminal"
msgstr "Terminal"
#: src/appIcons.js:2286
msgid "Gnome Settings"
msgstr "Paramètres Gnome"
#: src/appIcons.js:2278
msgid "System monitor"
msgstr "Moniteur système"
#: src/appIcons.js:2283
msgid "Files"
msgstr "Fichiers"
#: src/appIcons.js:2288
msgid "Extensions"
msgstr "Extensions"
#: src/appIcons.js:2293
msgid "Settings"
msgstr "Paramètres"
#: src/appIcons.js:2306
#: src/appIcons.js:2292
msgid "Unlock taskbar"
msgstr "Déverrouiller la barre des tâches"
#: src/appIcons.js:2307
#: src/appIcons.js:2293
msgid "Lock taskbar"
msgstr "Verrouiller la barre des tâches"
#: src/appIcons.js:2316
#: src/appIcons.js:2302
msgid "Dash to Panel Settings"
msgstr "Paramètres Dash to Panel"
#: src/appIcons.js:2323
#: src/appIcons.js:2309
msgid "Restore Windows"
msgstr "Restaurer les fenêtres"
#: src/appIcons.js:2324
#: src/appIcons.js:2310
msgid "Show Desktop"
msgstr "Afficher le bureau"
@@ -659,7 +655,7 @@ msgstr ""
"Quand minimiser est sélectionné, un double-clic réduit toutes les fenêtres "
"de l'application."
#: ui/BoxMiddleClickOptions.ui.h:3 ui/SettingsAction.ui.h:10
#: ui/BoxMiddleClickOptions.ui.h:3
msgid "Raise windows"
msgstr "Montrer les fenêtres"
@@ -667,27 +663,27 @@ msgstr "Montrer les fenêtres"
msgid "Minimize window"
msgstr "Réduire la fenêtre"
#: ui/BoxMiddleClickOptions.ui.h:5 ui/SettingsAction.ui.h:11
#: ui/BoxMiddleClickOptions.ui.h:5
msgid "Launch new instance"
msgstr "Lancer une nouvelle instance"
#: ui/BoxMiddleClickOptions.ui.h:6 ui/SettingsAction.ui.h:5
#: ui/BoxMiddleClickOptions.ui.h:6
msgid "Cycle through windows"
msgstr "Cycler sur les fenêtres"
#: ui/BoxMiddleClickOptions.ui.h:7 ui/SettingsAction.ui.h:4
#: ui/BoxMiddleClickOptions.ui.h:7
msgid "Cycle windows + minimize"
msgstr "Cycler sur les fenêtres + réduire"
#: ui/BoxMiddleClickOptions.ui.h:8 ui/SettingsAction.ui.h:6
#: ui/BoxMiddleClickOptions.ui.h:8
msgid "Toggle single / Preview multiple"
msgstr "Prévisualisation simple / multiple"
#: ui/BoxMiddleClickOptions.ui.h:9 ui/SettingsAction.ui.h:7
#: ui/BoxMiddleClickOptions.ui.h:9
msgid "Toggle single / Cycle multiple"
msgstr "Prévisualisation simple / cycle multiple"
#: ui/BoxMiddleClickOptions.ui.h:10 ui/SettingsAction.ui.h:8
#: ui/BoxMiddleClickOptions.ui.h:10
msgid "Toggle single / Spread multiple"
msgstr "Prévisualisation simple / diffusion de l'application"
@@ -1136,59 +1132,31 @@ msgstr "Action du clic"
msgid "Behaviour when clicking on the icon of a running application."
msgstr "Comportement lors du clic sur l'icône d'une application lancée."
#: ui/SettingsAction.ui.h:9
msgid "Toggle windows"
msgstr "Basculer les fenêtres"
#: ui/SettingsAction.ui.h:12
#: ui/SettingsAction.ui.h:4
msgid "Scroll action"
msgstr "Action du défilement de la souris"
#: ui/SettingsAction.ui.h:13
msgid "Scroll panel action"
msgstr "Action du défilement de la souris sur le panneau"
#: ui/SettingsAction.ui.h:14
#: ui/SettingsAction.ui.h:5
msgid "Behavior when mouse scrolling over the panel."
msgstr "Comportement lors du défilement de la souris sur le panneau"
#: ui/SettingsAction.ui.h:15
msgid "Do nothing"
msgstr "Ne rien faire"
#: ui/SettingsAction.ui.h:6
msgid "Scroll panel action"
msgstr "Action du défilement de la souris sur le panneau"
#: ui/SettingsAction.ui.h:16
msgid "Switch workspace"
msgstr "Défiler les espaces de travail"
#: ui/SettingsAction.ui.h:17
msgid "Cycle windows"
msgstr "Défiler les fenêtres"
#: ui/SettingsAction.ui.h:18
msgid "Change volume"
msgstr "Changer le volume"
#: ui/SettingsAction.ui.h:19
msgid "Scroll icon action"
msgstr "Action du défilement de la souris sur une application"
#: ui/SettingsAction.ui.h:20
#: ui/SettingsAction.ui.h:7
msgid "Behavior when mouse scrolling over an application icon."
msgstr "Comportement lors du défilement de la souris sur une application"
#: ui/SettingsAction.ui.h:21
msgid "Same as panel"
msgstr "Comme le panneau"
#: ui/SettingsAction.ui.h:8
msgid "Scroll icon action"
msgstr "Action du défilement de la souris sur une application"
#: ui/SettingsAction.ui.h:22
#: ui/SettingsAction.ui.h:9
msgid "Hotkey overlay"
msgstr "Superposition des nombres"
#: ui/SettingsAction.ui.h:23
msgid "Use hotkeys to activate apps"
msgstr "Utiliser des raccourcis pour lancer les applications"
#: ui/SettingsAction.ui.h:24
#: ui/SettingsAction.ui.h:10
msgid ""
"Enable Super+(0-9) as shortcuts to activate apps. It can also be used "
"together with Shift and Ctrl."
@@ -1196,6 +1164,18 @@ msgstr ""
"Activer Super+(0-9) comme raccourcis pour lancer les applications. Maj et "
"Ctrl peuvent aussi être utilisés."
#: ui/SettingsAction.ui.h:11
msgid "Use hotkeys to activate apps"
msgstr "Utiliser des raccourcis pour lancer les applications"
#: ui/SettingsAction.ui.h:12
msgid "Context menu entries"
msgstr "Entrées menu contextuel"
#: ui/SettingsAction.ui.h:13
msgid "Add entry"
msgstr "Ajouter entrée"
#: ui/SettingsBehavior.ui.h:1
msgid "Behavior"
msgstr "Comportement"
@@ -1608,6 +1588,36 @@ msgstr "Couleur et opacité (%) du haut du gradient"
msgid "Gradient bottom color and opacity (%)"
msgstr "Couleur et opacité (%) du bas du gradient"
#~ msgid "Terminal"
#~ msgstr "Terminal"
#~ msgid "System monitor"
#~ msgstr "Moniteur système"
#~ msgid "Files"
#~ msgstr "Fichiers"
#~ msgid "Extensions"
#~ msgstr "Extensions"
#~ msgid "Toggle windows"
#~ msgstr "Basculer les fenêtres"
#~ msgid "Do nothing"
#~ msgstr "Ne rien faire"
#~ msgid "Switch workspace"
#~ msgstr "Défiler les espaces de travail"
#~ msgid "Cycle windows"
#~ msgstr "Défiler les fenêtres"
#~ msgid "Change volume"
#~ msgstr "Changer le volume"
#~ msgid "Same as panel"
#~ msgstr "Comme le panneau"
#~ msgid "Top Bar"
#~ msgstr "Panneau du haut"

View File

@@ -688,6 +688,29 @@
<summary>Action when scrolling over the panel</summary>
<description>Set the action that is executed when scrolling over the panel</description>
</key>
<key type="s" name="context-menu-entries">
<default>'
[
{
"title": "Terminal",
"cmd": "gnome-terminal"
},
{
"title": "System monitor",
"cmd": "gnome-system-monitor"
},
{
"title": "Files",
"cmd": "nautilus"
},
{
"title": "Extensions",
"cmd": "gnome-extensions-app"
}
]'
</default>
<summary>User defined context menu entries</summary>
</key>
<key type="i" name="scroll-panel-delay">
<default>0</default>
<summary>Delay between panel mouse scroll events</summary>

View File

@@ -46,7 +46,6 @@ import {
DTP_EXTENSION,
SETTINGS,
DESKTOPSETTINGS,
TERMINALSETTINGS,
EXTENSION_PATH,
} from './extension.js'
import {
@@ -2248,7 +2247,7 @@ export const MyShowAppsIconMenu = class extends PopupMenu.PopupMenu {
this._appendItem({
title: _('System'),
cmd: ['gnome-control-center', 'info-overview'],
cmd: ['gnome-control-center', 'system'],
})
this._appendItem({
@@ -2269,30 +2268,12 @@ export const MyShowAppsIconMenu = class extends PopupMenu.PopupMenu {
this._appendSeparator()
}
this._appendItem({
title: _('Terminal'),
cmd: [TERMINALSETTINGS.get_string('exec')],
})
this._appendItem({
title: _('System monitor'),
cmd: ['gnome-system-monitor'],
})
this._appendItem({
title: _('Files'),
cmd: ['nautilus'],
})
this._appendItem({
title: _('Extensions'),
cmd: ['gnome-extensions-app'],
})
this._appendItem({
title: _('Settings'),
cmd: ['gnome-control-center'],
})
JSON.parse(SETTINGS.get_string('context-menu-entries')).forEach((e) =>
this._appendItem({
title: e.title,
cmd: e.cmd.split(' '),
}),
)
this._appendList(
SETTINGS.get_strv('panel-context-menu-commands'),
@@ -2301,6 +2282,11 @@ export const MyShowAppsIconMenu = class extends PopupMenu.PopupMenu {
this._appendSeparator()
this._appendItem({
title: _('Gnome Settings'),
cmd: ['gnome-control-center'],
})
let lockTaskbarMenuItem = this._appendMenuItem(
SETTINGS.get_boolean('taskbar-locked')
? _('Unlock taskbar')

View File

@@ -20,6 +20,7 @@
* Some code was also adapted from the upstream Gnome Shell source code.
*/
import Adw from 'gi://Adw'
import GdkPixbuf from 'gi://GdkPixbuf'
import Gio from 'gi://Gio'
import GioUnix from 'gi://GioUnix'
@@ -2722,6 +2723,115 @@ const Preferences = class {
this._settings.set_string('scroll-icon-action', widget.get_active_id())
})
let expanders = []
let contextMenuGroup = this._builder.get_object('context_menu_group')
let contextMenuActions = JSON.parse(
this._settings.get_string('context-menu-entries'),
)
let contextMenuAddButton = this._builder.get_object(
'context_menu_add_button',
)
contextMenuAddButton.connect('clicked', () => {
contextMenuActions.push({
title: '',
cmd: '',
})
createContextMenuEntries()
})
let createButton = (icon, tooltip_text, clicked) => {
let btn = new Gtk.Button({ tooltip_text })
btn.set_icon_name(icon)
btn.add_css_class('circular')
btn.set_has_frame(false)
btn.connect('clicked', clicked)
return btn
}
let updateContextMenuEntries = (rebuild) => {
contextMenuActions = contextMenuActions.filter((a) => a.title || a.cmd)
this._settings.set_string(
'context-menu-entries',
JSON.stringify(contextMenuActions),
)
if (rebuild) createContextMenuEntries()
}
let createContextMenuEntries = () => {
expanders.forEach((e) => contextMenuGroup.remove(e))
expanders = []
contextMenuActions.forEach((a, i) => {
let expander = new Adw.ExpanderRow()
let textRow = new Adw.EntryRow()
let commandRow = new Adw.EntryRow()
textRow.set_title(_('Text'))
textRow.set_text(a.title)
textRow.set_show_apply_button(true)
textRow.connect('apply', () => {
a.title = textRow.text
expander.set_title(a.title)
updateContextMenuEntries()
})
commandRow.set_title(_('Command'))
commandRow.set_text(a.cmd)
commandRow.set_show_apply_button(true)
commandRow.connect('apply', () => {
a.cmd = commandRow.text
expander.set_subtitle(a.cmd)
updateContextMenuEntries()
})
expander.add_row(textRow)
expander.add_row(commandRow)
expander.set_title(a.title)
expander.set_subtitle(a.cmd)
let box = new Gtk.Box()
let upBtn = createButton('go-up-symbolic', _('Move up'), () => {
contextMenuActions.splice(
i - 1,
0,
contextMenuActions.splice(i, 1)[0],
)
updateContextMenuEntries(true)
})
let downBtn = createButton('go-down-symbolic', _('Move down'), () => {
contextMenuActions.splice(
i + 1,
0,
contextMenuActions.splice(i, 1)[0],
)
updateContextMenuEntries(true)
})
let deleteBtn = createButton('user-trash-symbolic', _('Remove'), () => {
contextMenuActions.splice(i, 1)
updateContextMenuEntries(true)
})
if (i == 0) upBtn.set_sensitive(false)
if (i == contextMenuActions.length - 1) downBtn.set_sensitive(false)
box.append(upBtn)
box.append(downBtn)
expander.add_suffix(deleteBtn)
expander.add_prefix(box)
contextMenuGroup.add(expander)
expanders.push(expander)
})
}
createContextMenuEntries()
// Create dialog for panel scroll options
this._builder
.get_object('scroll_panel_options_button')

View File

@@ -1,27 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml version='1.0' encoding='UTF-8'?>
<interface>
<!-- interface-name SettingsAction.ui -->
<requires lib="gtk" version="4.0"/>
<requires lib="libadwaita" version="1.6"/>
<object class="AdwPreferencesPage" id="action">
<property name="icon-name">input-mouse-symbolic</property>
<property name="title" translatable="yes">Action</property>
<property name="icon_name">input-mouse-symbolic</property>
<!-- group click action -->
<child>
<object class="AdwPreferencesGroup" id="action_group_click_action">
<property name="title" translatable="yes">Click action</property>
<child>
<object class="AdwActionRow">
<property name="title" translatable="yes">Click action</property>
<property name="subtitle" translatable="yes">Behaviour when clicking on the icon of a running application.</property>
<property name="title" translatable="yes">Click action</property>
<child>
<object class="GtkButton" id="middle_click_options_button">
<property name="receives_default">True</property>
<property name="receives-default">True</property>
<property name="valign">center</property>
<child>
<object class="GtkImage" id="middle_click_image">
<property name="icon_name">emblem-system-symbolic</property>
<property name="icon-name">emblem-system-symbolic</property>
</object>
</child>
<style>
@@ -46,29 +44,25 @@
</child>
</object>
</child>
</object>
</child>
<!-- group scroll action -->
<child>
<object class="AdwPreferencesGroup" id="action_group_scroll_action">
<property name="title" translatable="yes">Scroll action</property>
<child>
<object class="AdwActionRow">
<property name="title" translatable="yes">Scroll panel action</property>
<property name="subtitle" translatable="yes">Behavior when mouse scrolling over the panel.</property>
<property name="title" translatable="yes">Scroll panel action</property>
<child>
<object class="GtkButton" id="scroll_panel_options_button">
<property name="visible">True</property>
<property name="receives_default">True</property>
<property name="halign">end</property>
<property name="receives-default">True</property>
<property name="valign">center</property>
<property name="visible">True</property>
<child>
<object class="GtkImage" id="scroll_panel_options_button_image">
<property name="icon-name">emblem-system-symbolic</property>
<property name="visible">True</property>
<property name="icon_name">emblem-system-symbolic</property>
</object>
</child>
<style>
@@ -78,9 +72,9 @@
</child>
<child>
<object class="GtkComboBoxText" id="scroll_panel_combo">
<property name="visible">True</property>
<property name="valign">center</property>
<property name="hexpand">True</property>
<property name="valign">center</property>
<property name="visible">True</property>
<items>
<item id="NOTHING" translatable="yes">Do nothing</item>
<item id="SWITCH_WORKSPACE" translatable="yes">Switch workspace</item>
@@ -91,19 +85,18 @@
</child>
</object>
</child>
<child>
<object class="AdwActionRow">
<property name="title" translatable="yes">Scroll icon action</property>
<property name="subtitle" translatable="yes">Behavior when mouse scrolling over an application icon.</property>
<property name="title" translatable="yes">Scroll icon action</property>
<child>
<object class="GtkButton" id="scroll_icon_options_button">
<property name="receives_default">True</property>
<property name="receives-default">True</property>
<property name="valign">center</property>
<child>
<object class="GtkImage" id="scroll_icon_options_button_image">
<property name="icon-name">emblem-system-symbolic</property>
<property name="visible">True</property>
<property name="icon_name">emblem-system-symbolic</property>
</object>
</child>
<style>
@@ -113,8 +106,8 @@
</child>
<child>
<object class="GtkComboBoxText" id="scroll_icon_combo">
<property name="valign">center</property>
<property name="hexpand">True</property>
<property name="valign">center</property>
<items>
<item id="NOTHING" translatable="yes">Do nothing</item>
<item id="CYCLE_WINDOWS" translatable="yes">Cycle windows</item>
@@ -124,26 +117,22 @@
</child>
</object>
</child>
</object>
</child>
<!-- group hotkey -->
<child>
<object class="AdwPreferencesGroup" id="action_group_hotkry">
<object class="AdwPreferencesGroup" id="action_group_hotkey">
<property name="title" translatable="yes">Hotkey overlay</property>
<child>
<object class="AdwActionRow">
<property name="title" translatable="yes">Use hotkeys to activate apps</property>
<property name="subtitle" translatable="yes">Enable Super+(0-9) as shortcuts to activate apps. It can also be used together with Shift and Ctrl.</property>
<property name="title" translatable="yes">Use hotkeys to activate apps</property>
<child>
<object class="GtkButton" id="overlay_button">
<property name="receives_default">True</property>
<property name="receives-default">True</property>
<property name="valign">center</property>
<child>
<object class="GtkImage" id="image_overlay">
<property name="icon_name">emblem-system-symbolic</property>
<property name="icon-name">emblem-system-symbolic</property>
</object>
</child>
<style>
@@ -158,9 +147,30 @@
</child>
</object>
</child>
</object>
</child>
<child>
<object class="AdwPreferencesGroup" id="context_menu_group">
<property name="title" translatable="yes">Context menu entries</property>
<child>
<object class="GtkButton" id="context_menu_add_button">
<property name="halign">center</property>
<property name="margin-top">10</property>
<property name="receives-default">True</property>
<property name="valign">center</property>
<property name="width-request">100</property>
<child>
<object class="GtkImage">
<property name="icon-name">list-add-symbolic</property>
<property name="tooltip-text" translatable="yes">Add entry</property>
</object>
</child>
<style>
<class name="circular"/>
</style>
</object>
</child>
</object>
</child>
</object>
</interface>
</interface>