summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVictor Kareh <[email protected]>2025-08-08 13:05:21 -0400
committerVictor Kareh <[email protected]>2025-08-08 14:53:28 -0400
commitb00570c3fc241a2d8126ebd507fc7f0c4cabd8e0 (patch)
tree2891e7222c0e56ec5de6f6384f7c8f280eaeae05
parent6d9ddd1048111d1341566f16b30df085ce85eb7d (diff)
downloadmate-panel-bump-libwnck-version.tar.bz2
mate-panel-bump-libwnck-version.tar.xz
window-list: Add option to show/hide tooltipsbump-libwnck-version
This setting is now part of libwnck. It allows the window-list applet to toggle the visibility of tooltips. Fixes #534
-rw-r--r--applets/wncklet/org.mate.panel.applet.window-list.gschema.xml.in5
-rw-r--r--applets/wncklet/window-list.c23
-rw-r--r--applets/wncklet/window-list.ui58
3 files changed, 86 insertions, 0 deletions
diff --git a/applets/wncklet/org.mate.panel.applet.window-list.gschema.xml.in b/applets/wncklet/org.mate.panel.applet.window-list.gschema.xml.in
index 93f32b46..1c4f2c0b 100644
--- a/applets/wncklet/org.mate.panel.applet.window-list.gschema.xml.in
+++ b/applets/wncklet/org.mate.panel.applet.window-list.gschema.xml.in
@@ -30,5 +30,10 @@
<summary>Close window on middle mouse click</summary>
<description>If true, then clicking the middle mouse button over a taskbar item will close the window.</description>
</key>
+ <key name="show-tooltips" type="b">
+ <default>true</default>
+ <summary>Show tooltips</summary>
+ <description>If true, show tooltips when hovering over window list items.</description>
+ </key>
</schema>
</schemalist>
diff --git a/applets/wncklet/window-list.c b/applets/wncklet/window-list.c
index fa1613b0..0441559a 100644
--- a/applets/wncklet/window-list.c
+++ b/applets/wncklet/window-list.c
@@ -64,6 +64,7 @@ typedef struct {
gboolean move_unminimized_windows;
gboolean scroll_enable;
gboolean middle_click_close;
+ gboolean show_tooltips;
GtkOrientation orientation;
int size;
@@ -86,6 +87,7 @@ typedef struct {
GtkWidget* move_minimized_radio;
GtkWidget* mouse_scroll_check;
GtkWidget* middle_click_close_check;
+ GtkWidget* show_tooltips_check;
GtkWidget* change_workspace_radio;
GtkWidget* minimized_windows_box;
GtkWidget* window_grouping_box;
@@ -135,6 +137,7 @@ static void tasklist_update(TasklistData* tasklist)
wnck_tasklist_set_switch_workspace_on_unminimize(WNCK_TASKLIST(tasklist->tasklist), tasklist->move_unminimized_windows);
wnck_tasklist_set_scroll_enabled (WNCK_TASKLIST(tasklist->tasklist), tasklist->scroll_enable);
wnck_tasklist_set_middle_click_close (WNCK_TASKLIST (tasklist->tasklist), tasklist->middle_click_close);
+ wnck_tasklist_set_tooltips_enabled (WNCK_TASKLIST (tasklist->tasklist), tasklist->show_tooltips);
}
#endif /* HAVE_X11 */
@@ -694,6 +697,12 @@ static void middle_click_close_changed (GSettings* settings, gchar* key, Tasklis
tasklist_update(tasklist);
}
+static void show_tooltips_changed (GSettings* settings, gchar* key, TasklistData* tasklist)
+{
+ tasklist->show_tooltips = g_settings_get_boolean (settings, key);
+ tasklist_update(tasklist);
+}
+
static void setup_gsettings(TasklistData* tasklist)
{
tasklist->settings = mate_panel_applet_settings_new (MATE_PANEL_APPLET (tasklist->applet), WINDOW_LIST_SCHEMA);
@@ -730,6 +739,10 @@ static void setup_gsettings(TasklistData* tasklist)
"changed::middle-click-close",
G_CALLBACK (middle_click_close_changed),
tasklist);
+ g_signal_connect (tasklist->settings,
+ "changed::show-tooltips",
+ G_CALLBACK (show_tooltips_changed),
+ tasklist);
}
static void applet_size_allocate(GtkWidget *widget, GtkAllocation *allocation, TasklistData *tasklist)
@@ -805,6 +818,8 @@ gboolean window_list_applet_fill(MatePanelApplet* applet)
tasklist->middle_click_close = g_settings_get_boolean (tasklist->settings, "middle-click-close");
+ tasklist->show_tooltips = g_settings_get_boolean (tasklist->settings, "show-tooltips");
+
tasklist->size = mate_panel_applet_get_size(applet);
#if !defined(WNCKLET_INPROCESS) && !GTK_CHECK_VERSION (3, 23, 0)
@@ -1084,6 +1099,7 @@ static void setup_dialog(GtkBuilder* builder, TasklistData* tasklist)
tasklist->change_workspace_radio = WID("change_workspace_radio");
tasklist->mouse_scroll_check = WID("mouse_scroll_check");
tasklist->middle_click_close_check = WID("middle_click_close_check");
+ tasklist->show_tooltips_check = WID("show_tooltips_check");
tasklist->minimized_windows_box = WID("minimized_windows_box");
tasklist->window_grouping_box = WID("window_grouping_box");
tasklist->window_list_content_box = WID("window_list_content_box");
@@ -1121,6 +1137,13 @@ static void setup_dialog(GtkBuilder* builder, TasklistData* tasklist)
"active",
G_SETTINGS_BIND_DEFAULT);
+ /* Show tooltips: */
+ g_settings_bind (tasklist->settings,
+ "show-tooltips",
+ tasklist->show_tooltips_check,
+ "active",
+ G_SETTINGS_BIND_DEFAULT);
+
/* change thumbnail size: */
tasklist_update_thumbnail_size_spin(tasklist);
g_signal_connect (tasklist->thumbnail_size_spin, "value-changed",
diff --git a/applets/wncklet/window-list.ui b/applets/wncklet/window-list.ui
index 2ed06c0e..63213a52 100644
--- a/applets/wncklet/window-list.ui
+++ b/applets/wncklet/window-list.ui
@@ -394,6 +394,64 @@
<property name="position">3</property>
</packing>
</child>
+ <child>
+ <object class="GtkBox" id="tooltips_box">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkLabel" id="tooltips_label">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="label" translatable="yes">Tooltips</property>
+ <property name="xalign">0</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="tooltips_vbox">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="margin-start">6</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkCheckButton" id="show_tooltips_check">
+ <property name="label" translatable="yes">_Show tooltips</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="use-underline">True</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
</object>
</child>
<child type="tab">