Wed, 29 Mar 2023 23:32:07 -0500
Fix transparency plugin for display list/pref changes
There is no longer a buddy list/conversation split, so remove the duplicate settings (half of which were not used any more), and rename them without the differentiating prefix. Also, now that there's only one thing, there's no need for a second "enabled" setting in the plugin that just duplicates the plugin's enabled setting itself, so I removed it.
Instead of adding and removing a slider when the setting changes, I instead opted to always add it, and bind its visibility to the setting instead.
We no longer need a `gtk-config-frame` now that Pidgin uses GPlugin's plugin settings, so remove that and correctly wire up the settings schema so that GPlugin automatically displays settings.
Finally, the scale UI and alpha setting had different ranges. If the setting was moved below the scale's minimum, it would clamp it but not resend that value back to the setting, so things would appear inconsistent. To rectify this, I changed the setting's range up to match the scale.
Testing Done:
* Enabled Transparency plugin, changed around the transparency level and confirmed the main window became transparent.
* Toggled the solid-on-focus setting and confirmed the window lost transparency when focused.
* Toggled the slider setting and confirmed it was added/removed from the window.
* When slider was enabled, changed the setting and confirmed the slider changed and vice versa.
Reviewed at https://reviews.imfreedom.org/r/2394/
|
38775
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
1 | /* |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
2 | * Pidgin - Transparency plugin |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
3 | * |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
4 | * Copyright (C) 1998-2002, Rob Flynn <rob@marko.net> |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
5 | * Copyright (C) 2002-2003, Herman Bloggs <hermanator12002@yahoo.com> |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
6 | * Copyright (C) 2005, Daniel Atallah <daniel_atallah@yahoo.com> |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
7 | * |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
8 | * This program is free software; you can redistribute it and/or |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
9 | * modify it under the terms of the GNU General Public License as |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
10 | * published by the Free Software Foundation; either version 2 of the |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
11 | * License, or (at your option) any later version. |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
12 | * |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
13 | * This program is distributed in the hope that it will be useful, but |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
14 | * WITHOUT ANY WARRANTY; without even the implied warranty of |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
16 | * General Public License for more details. |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
17 | * |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
18 | * You should have received a copy of the GNU General Public License |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
19 | * along with this program; if not, write to the Free Software |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
20 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
21 | * 02111-1301, USA. |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
22 | * |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
23 | */ |
|
40994
1eb6d260980d
Update the transparency plugin so it'll load again.
Gary Kramlich <grim@reaperworld.com>
parents:
40360
diff
changeset
|
24 | |
|
1eb6d260980d
Update the transparency plugin so it'll load again.
Gary Kramlich <grim@reaperworld.com>
parents:
40360
diff
changeset
|
25 | #include <glib.h> |
|
1eb6d260980d
Update the transparency plugin so it'll load again.
Gary Kramlich <grim@reaperworld.com>
parents:
40360
diff
changeset
|
26 | #include <glib/gi18n-lib.h> |
|
38775
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
27 | |
|
40360
e21f3bbcc2a5
Update all of the pidgin code to include purple.h
Gary Kramlich <grim@reaperworld.com>
parents:
39173
diff
changeset
|
28 | #include <purple.h> |
|
38775
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
29 | |
|
40994
1eb6d260980d
Update the transparency plugin so it'll load again.
Gary Kramlich <grim@reaperworld.com>
parents:
40360
diff
changeset
|
30 | #include <gplugin.h> |
|
1eb6d260980d
Update the transparency plugin so it'll load again.
Gary Kramlich <grim@reaperworld.com>
parents:
40360
diff
changeset
|
31 | #include <gplugin-native.h> |
|
1eb6d260980d
Update the transparency plugin so it'll load again.
Gary Kramlich <grim@reaperworld.com>
parents:
40360
diff
changeset
|
32 | |
|
1eb6d260980d
Update the transparency plugin so it'll load again.
Gary Kramlich <grim@reaperworld.com>
parents:
40360
diff
changeset
|
33 | #include <pidgin.h> |
|
38775
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
34 | |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
35 | /* |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
36 | * MACROS & DEFINES |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
37 | */ |
|
38777
b9031c159dd3
Add comment about the plugin name being unchanged
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
38776
diff
changeset
|
38 | /* The plugin name is left unchanged from its WinAPI days in order to keep it |
|
b9031c159dd3
Add comment about the plugin name being unchanged
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
38776
diff
changeset
|
39 | * loading for users who were using it. */ |
|
38775
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
40 | #define WINTRANS_PLUGIN_ID "gtk-win-trans" |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
41 | |
|
41658
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
42 | /* Key used to save GtkEventControllerFocus for this plugin. */ |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
43 | #define WINTRANS_CONTROLLER_KEY (WINTRANS_PLUGIN_ID "-focus-controller") |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
44 | |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
45 | /* Key used to save GtkSlider for this plugin. */ |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
46 | #define WINTRANS_SLIDER_KEY (WINTRANS_PLUGIN_ID "-slider") |
|
38775
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
47 | |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
48 | /* |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
49 | * LOCALS |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
50 | */ |
|
41742
40130f43df93
Convert transparency plugin to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41696
diff
changeset
|
51 | #define OPT_SCHEMA "im.pidgin.Pidgin.plugin.Transparency" |
|
42188
04c0398f1046
Fix transparency plugin for display list/pref changes
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42074
diff
changeset
|
52 | #define OPT_WINTRANS_ALPHA "alpha" |
|
04c0398f1046
Fix transparency plugin for display list/pref changes
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42074
diff
changeset
|
53 | #define OPT_WINTRANS_SLIDER "slider" |
|
04c0398f1046
Fix transparency plugin for display list/pref changes
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42074
diff
changeset
|
54 | #define OPT_WINTRANS_ONFOCUS "solid-on-focus" |
|
38775
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
55 | |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
56 | /* |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
57 | * CODE |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
58 | */ |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
59 | |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
60 | /* Set window transparency level */ |
|
41658
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
61 | static void |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
62 | set_wintrans(GtkWidget *window, int alpha, gboolean enabled) |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
63 | { |
|
38775
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
64 | if (enabled) { |
|
41658
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
65 | gtk_widget_set_opacity(window, alpha / 255.0); |
|
38775
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
66 | } else { |
|
41658
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
67 | gtk_widget_set_opacity(window, 1); |
|
38775
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
68 | } |
|
41658
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
69 | |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
70 | /* Changing from opaque to partially transparent seems to need some kind of |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
71 | * structural refresh. Unfortunately, a simple `gtk_widget_queue_draw` is |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
72 | * not sufficient, so we need to do this instead. */ |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
73 | gtk_widget_queue_resize(window); |
|
38775
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
74 | } |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
75 | |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
76 | /* When a conv window is focused, if we're only transparent when unfocused, |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
77 | * deal with transparency */ |
|
41658
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
78 | static void |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
79 | focus_conv_win_cb(GtkEventControllerFocus *self, gpointer data) { |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
80 | GtkWidget *window = NULL; |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
81 | gboolean enter = GPOINTER_TO_INT(data); |
|
41742
40130f43df93
Convert transparency plugin to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41696
diff
changeset
|
82 | GSettings *settings = NULL; |
|
41658
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
83 | |
|
41742
40130f43df93
Convert transparency plugin to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41696
diff
changeset
|
84 | settings = g_settings_new_with_backend(OPT_SCHEMA, |
|
40130f43df93
Convert transparency plugin to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41696
diff
changeset
|
85 | purple_core_get_settings_backend()); |
|
40130f43df93
Convert transparency plugin to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41696
diff
changeset
|
86 | |
|
42188
04c0398f1046
Fix transparency plugin for display list/pref changes
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42074
diff
changeset
|
87 | if(!g_settings_get_boolean(settings, OPT_WINTRANS_ONFOCUS)) { |
|
41742
40130f43df93
Convert transparency plugin to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41696
diff
changeset
|
88 | g_object_unref(settings); |
|
41658
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
89 | return; |
|
38775
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
90 | } |
|
41658
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
91 | |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
92 | window = gtk_event_controller_get_widget(GTK_EVENT_CONTROLLER(self)); |
|
42188
04c0398f1046
Fix transparency plugin for display list/pref changes
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42074
diff
changeset
|
93 | set_wintrans(window, g_settings_get_int(settings, OPT_WINTRANS_ALPHA), |
|
41742
40130f43df93
Convert transparency plugin to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41696
diff
changeset
|
94 | !enter); |
|
40130f43df93
Convert transparency plugin to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41696
diff
changeset
|
95 | |
|
40130f43df93
Convert transparency plugin to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41696
diff
changeset
|
96 | g_object_unref(settings); |
|
41658
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
97 | } |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
98 | |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
99 | static void |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
100 | add_focus_controller_to_conv_win(GtkWidget *window) { |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
101 | GtkEventController *focus = NULL; |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
102 | |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
103 | focus = gtk_event_controller_focus_new(); |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
104 | g_signal_connect(focus, "enter", G_CALLBACK(focus_conv_win_cb), |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
105 | GINT_TO_POINTER(TRUE)); |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
106 | g_signal_connect(focus, "leave", G_CALLBACK(focus_conv_win_cb), |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
107 | GINT_TO_POINTER(FALSE)); |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
108 | |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
109 | gtk_widget_add_controller(window, focus); |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
110 | g_object_set_data(G_OBJECT(window), WINTRANS_CONTROLLER_KEY, focus); |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
111 | } |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
112 | |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
113 | static void |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
114 | remove_focus_controller_from_conv_win(GtkWidget *window) { |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
115 | GtkEventController *focus = NULL; |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
116 | |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
117 | focus = g_object_get_data(G_OBJECT(window), WINTRANS_CONTROLLER_KEY); |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
118 | if(GTK_IS_EVENT_CONTROLLER_FOCUS(focus)) { |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
119 | gtk_widget_remove_controller(window, focus); |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
120 | } |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
121 | g_object_set_data(G_OBJECT(window), WINTRANS_CONTROLLER_KEY, NULL); |
|
38775
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
122 | } |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
123 | |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
124 | static void change_alpha(GtkWidget *w, gpointer data) { |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
125 | int alpha = gtk_range_get_value(GTK_RANGE(w)); |
|
41742
40130f43df93
Convert transparency plugin to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41696
diff
changeset
|
126 | GSettings *settings = NULL; |
|
40130f43df93
Convert transparency plugin to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41696
diff
changeset
|
127 | |
|
40130f43df93
Convert transparency plugin to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41696
diff
changeset
|
128 | settings = g_settings_new_with_backend(OPT_SCHEMA, |
|
40130f43df93
Convert transparency plugin to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41696
diff
changeset
|
129 | purple_core_get_settings_backend()); |
|
40130f43df93
Convert transparency plugin to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41696
diff
changeset
|
130 | |
|
42188
04c0398f1046
Fix transparency plugin for display list/pref changes
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42074
diff
changeset
|
131 | g_settings_set_int(settings, OPT_WINTRANS_ALPHA, alpha); |
|
38775
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
132 | |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
133 | /* If we're in no-transparency on focus mode, |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
134 | * don't take effect immediately */ |
|
42188
04c0398f1046
Fix transparency plugin for display list/pref changes
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42074
diff
changeset
|
135 | if(!g_settings_get_boolean(settings, OPT_WINTRANS_ONFOCUS)) { |
|
41658
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
136 | set_wintrans(GTK_WIDGET(data), alpha, TRUE); |
|
38775
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
137 | } |
|
41742
40130f43df93
Convert transparency plugin to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41696
diff
changeset
|
138 | |
|
40130f43df93
Convert transparency plugin to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41696
diff
changeset
|
139 | g_object_unref(settings); |
|
38775
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
140 | } |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
141 | |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
142 | /* Clean up transparency stuff for the conv window */ |
|
41658
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
143 | static void |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
144 | conversation_delete_cb(G_GNUC_UNUSED GtkApplication *application, |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
145 | GtkWindow *window, G_GNUC_UNUSED gpointer data) |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
146 | { |
|
41696
35f8ce475b21
Rename PidginConversationWindow to PidginDisplayWindow as it holds more than conversations now
Gary Kramlich <grim@reaperworld.com>
parents:
41665
diff
changeset
|
147 | if(!PIDGIN_IS_DISPLAY_WINDOW(window)) { |
|
41658
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
148 | return; |
|
38775
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
149 | } |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
150 | |
|
41658
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
151 | purple_debug_info(WINTRANS_PLUGIN_ID, |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
152 | "Conv window destroyed... removing from list"); |
|
38775
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
153 | |
|
41658
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
154 | g_object_set_data(G_OBJECT(window), WINTRANS_SLIDER_KEY, NULL); |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
155 | |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
156 | /* Remove the focus cbs */ |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
157 | remove_focus_controller_from_conv_win(GTK_WIDGET(window)); |
|
38775
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
158 | } |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
159 | |
|
41658
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
160 | static void |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
161 | remove_slider(GtkWidget *slider_frame) { |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
162 | gtk_widget_unparent(slider_frame); |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
163 | } |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
164 | |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
165 | static void |
|
41742
40130f43df93
Convert transparency plugin to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41696
diff
changeset
|
166 | update_slider(GSettings *settings, gchar *key, gpointer data) |
|
41658
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
167 | { |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
168 | GtkWidget *slider = data; |
|
41742
40130f43df93
Convert transparency plugin to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41696
diff
changeset
|
169 | gint alpha = 255; |
|
41658
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
170 | |
|
41742
40130f43df93
Convert transparency plugin to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41696
diff
changeset
|
171 | alpha = g_settings_get_int(settings, key); |
|
40130f43df93
Convert transparency plugin to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41696
diff
changeset
|
172 | gtk_range_set_value(GTK_RANGE(slider), alpha); |
|
41658
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
173 | } |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
174 | |
|
38775
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
175 | static void add_slider(GtkWidget *win) { |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
176 | GtkWidget *vbox = NULL; |
|
41658
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
177 | GtkWidget *slider_frame; |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
178 | GtkWidget *hbox; |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
179 | GtkWidget *label, *slider; |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
180 | gint imalpha = 255; |
|
41742
40130f43df93
Convert transparency plugin to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41696
diff
changeset
|
181 | GSettings *settings = NULL; |
|
38775
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
182 | |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
183 | /* Look up this window to see if it already has a slider */ |
|
41658
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
184 | if (g_object_get_data(G_OBJECT(win), WINTRANS_SLIDER_KEY) != NULL) { |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
185 | return; |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
186 | } |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
187 | |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
188 | vbox = gtk_widget_get_first_child(win); |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
189 | while(vbox != NULL && !GTK_IS_BOX(vbox)) { |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
190 | vbox = gtk_widget_get_next_sibling(vbox); |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
191 | } |
|
38775
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
192 | |
|
41658
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
193 | if(vbox == NULL) { |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
194 | purple_debug_error(WINTRANS_PLUGIN_ID, "no vbox found"); |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
195 | return; |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
196 | } |
|
38775
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
197 | |
|
41742
40130f43df93
Convert transparency plugin to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41696
diff
changeset
|
198 | settings = g_settings_new_with_backend(OPT_SCHEMA, |
|
40130f43df93
Convert transparency plugin to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41696
diff
changeset
|
199 | purple_core_get_settings_backend()); |
|
40130f43df93
Convert transparency plugin to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41696
diff
changeset
|
200 | |
|
41658
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
201 | slider_frame = gtk_frame_new(NULL); |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
202 | gtk_widget_set_margin_start(slider_frame, 6); |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
203 | gtk_widget_set_margin_end(slider_frame, 6); |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
204 | gtk_box_prepend(GTK_BOX(vbox), slider_frame); |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
205 | |
|
42188
04c0398f1046
Fix transparency plugin for display list/pref changes
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42074
diff
changeset
|
206 | g_settings_bind(settings, OPT_WINTRANS_SLIDER, slider_frame, "visible", |
|
04c0398f1046
Fix transparency plugin for display list/pref changes
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42074
diff
changeset
|
207 | G_SETTINGS_BIND_DEFAULT); |
|
04c0398f1046
Fix transparency plugin for display list/pref changes
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42074
diff
changeset
|
208 | |
|
41658
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
209 | hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
210 | gtk_frame_set_child(GTK_FRAME(slider_frame), hbox); |
|
40994
1eb6d260980d
Update the transparency plugin so it'll load again.
Gary Kramlich <grim@reaperworld.com>
parents:
40360
diff
changeset
|
211 | |
|
41658
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
212 | label = gtk_label_new(_("Opacity:")); |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
213 | gtk_box_append(GTK_BOX(hbox), label); |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
214 | |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
215 | slider = gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL, 50, 255, 1); |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
216 | gtk_widget_set_hexpand(slider, TRUE); |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
217 | gtk_box_append(GTK_BOX(hbox), slider); |
|
38775
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
218 | |
|
42188
04c0398f1046
Fix transparency plugin for display list/pref changes
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42074
diff
changeset
|
219 | imalpha = g_settings_get_int(settings, OPT_WINTRANS_ALPHA); |
|
41658
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
220 | gtk_range_set_value(GTK_RANGE(slider), imalpha); |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
221 | /* On slider val change, update window's transparency level */ |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
222 | g_signal_connect(G_OBJECT(slider), "value-changed", |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
223 | G_CALLBACK(change_alpha), win); |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
224 | |
|
41742
40130f43df93
Convert transparency plugin to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41696
diff
changeset
|
225 | /* We cannot use g_settings_bind because GtkScale has no value property. */ |
|
42188
04c0398f1046
Fix transparency plugin for display list/pref changes
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42074
diff
changeset
|
226 | g_signal_connect_object(settings, "changed::" OPT_WINTRANS_ALPHA, |
|
41742
40130f43df93
Convert transparency plugin to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41696
diff
changeset
|
227 | G_CALLBACK(update_slider), slider, 0); |
|
41658
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
228 | |
|
41742
40130f43df93
Convert transparency plugin to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41696
diff
changeset
|
229 | /* Set the initial transparency level */ |
|
42188
04c0398f1046
Fix transparency plugin for display list/pref changes
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42074
diff
changeset
|
230 | set_wintrans(win, g_settings_get_int(settings, OPT_WINTRANS_ALPHA), |
|
41742
40130f43df93
Convert transparency plugin to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41696
diff
changeset
|
231 | TRUE); |
|
41658
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
232 | |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
233 | /* Set window data, to track that it has a slider */ |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
234 | g_object_set_data_full(G_OBJECT(win), WINTRANS_SLIDER_KEY, slider_frame, |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
235 | (GDestroyNotify)remove_slider); |
|
41742
40130f43df93
Convert transparency plugin to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41696
diff
changeset
|
236 | |
|
40130f43df93
Convert transparency plugin to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41696
diff
changeset
|
237 | g_object_unref(settings); |
|
38775
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
238 | } |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
239 | |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
240 | /* Remove all transparency related aspects from conversation windows */ |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
241 | static void remove_convs_wintrans(gboolean remove_signal) { |
|
41658
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
242 | GApplication *application = NULL; |
|
38775
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
243 | GList *wins; |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
244 | |
|
41658
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
245 | application = g_application_get_default(); |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
246 | wins = gtk_application_get_windows(GTK_APPLICATION(application)); |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
247 | |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
248 | for(; wins; wins = wins->next) { |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
249 | GtkWidget *window = wins->data; |
|
38775
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
250 | |
|
41696
35f8ce475b21
Rename PidginConversationWindow to PidginDisplayWindow as it holds more than conversations now
Gary Kramlich <grim@reaperworld.com>
parents:
41665
diff
changeset
|
251 | if(!PIDGIN_IS_DISPLAY_WINDOW(window)) { |
|
41658
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
252 | continue; |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
253 | } |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
254 | |
|
42188
04c0398f1046
Fix transparency plugin for display list/pref changes
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42074
diff
changeset
|
255 | set_wintrans(window, 0, FALSE); |
|
38775
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
256 | |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
257 | /* Remove the focus cbs */ |
|
41658
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
258 | if (remove_signal) { |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
259 | remove_focus_controller_from_conv_win(window); |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
260 | } |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
261 | |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
262 | g_object_set_data(G_OBJECT(window), WINTRANS_SLIDER_KEY, NULL); |
|
38775
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
263 | } |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
264 | } |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
265 | |
|
41658
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
266 | static void |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
267 | set_conv_window_trans(GtkWidget *window) { |
|
41742
40130f43df93
Convert transparency plugin to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41696
diff
changeset
|
268 | GSettings *settings = NULL; |
|
40130f43df93
Convert transparency plugin to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41696
diff
changeset
|
269 | |
|
40130f43df93
Convert transparency plugin to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41696
diff
changeset
|
270 | settings = g_settings_new_with_backend(OPT_SCHEMA, |
|
40130f43df93
Convert transparency plugin to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41696
diff
changeset
|
271 | purple_core_get_settings_backend()); |
|
40130f43df93
Convert transparency plugin to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41696
diff
changeset
|
272 | |
|
42188
04c0398f1046
Fix transparency plugin for display list/pref changes
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42074
diff
changeset
|
273 | set_wintrans(window, g_settings_get_int(settings, OPT_WINTRANS_ALPHA), |
|
04c0398f1046
Fix transparency plugin for display list/pref changes
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42074
diff
changeset
|
274 | TRUE); |
|
38775
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
275 | |
|
42188
04c0398f1046
Fix transparency plugin for display list/pref changes
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42074
diff
changeset
|
276 | add_slider(window); |
|
41742
40130f43df93
Convert transparency plugin to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41696
diff
changeset
|
277 | |
|
40130f43df93
Convert transparency plugin to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41696
diff
changeset
|
278 | g_object_unref(settings); |
|
38775
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
279 | } |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
280 | |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
281 | static void |
|
41658
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
282 | new_conversation_cb(G_GNUC_UNUSED GtkApplication *application, |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
283 | GtkWindow *window, G_GNUC_UNUSED gpointer data) |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
284 | { |
|
41696
35f8ce475b21
Rename PidginConversationWindow to PidginDisplayWindow as it holds more than conversations now
Gary Kramlich <grim@reaperworld.com>
parents:
41665
diff
changeset
|
285 | if(!PIDGIN_IS_DISPLAY_WINDOW(window)) { |
|
41658
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
286 | return; |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
287 | } |
|
38775
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
288 | |
|
41658
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
289 | set_conv_window_trans(GTK_WIDGET(window)); |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
290 | add_focus_controller_to_conv_win(GTK_WIDGET(window)); |
|
38775
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
291 | } |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
292 | |
|
41658
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
293 | static void |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
294 | update_existing_convs(void) { |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
295 | GApplication *application = NULL; |
|
38775
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
296 | GList *wins; |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
297 | |
|
41658
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
298 | application = g_application_get_default(); |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
299 | wins = gtk_application_get_windows(GTK_APPLICATION(application)); |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
300 | |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
301 | for(; wins; wins = wins->next) { |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
302 | GtkWidget *window = wins->data; |
|
38775
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
303 | |
|
41696
35f8ce475b21
Rename PidginConversationWindow to PidginDisplayWindow as it holds more than conversations now
Gary Kramlich <grim@reaperworld.com>
parents:
41665
diff
changeset
|
304 | if(!PIDGIN_IS_DISPLAY_WINDOW(window)) { |
|
41658
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
305 | continue; |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
306 | } |
|
38775
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
307 | |
|
41658
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
308 | set_conv_window_trans(window); |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
309 | |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
310 | add_focus_controller_to_conv_win(window); |
|
38775
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
311 | } |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
312 | } |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
313 | |
|
40994
1eb6d260980d
Update the transparency plugin so it'll load again.
Gary Kramlich <grim@reaperworld.com>
parents:
40360
diff
changeset
|
314 | static GPluginPluginInfo * |
|
42074
58ae70ad7f21
Mark unused parameters as such for all of the pidgin plugins
Gary Kramlich <grim@reaperworld.com>
parents:
42061
diff
changeset
|
315 | transparency_query(G_GNUC_UNUSED GError **error) { |
|
40994
1eb6d260980d
Update the transparency plugin so it'll load again.
Gary Kramlich <grim@reaperworld.com>
parents:
40360
diff
changeset
|
316 | const gchar * const authors[] = { |
|
1eb6d260980d
Update the transparency plugin so it'll load again.
Gary Kramlich <grim@reaperworld.com>
parents:
40360
diff
changeset
|
317 | "Pidgin Developers <devel@pidgin.im>", |
|
1eb6d260980d
Update the transparency plugin so it'll load again.
Gary Kramlich <grim@reaperworld.com>
parents:
40360
diff
changeset
|
318 | NULL |
|
1eb6d260980d
Update the transparency plugin so it'll load again.
Gary Kramlich <grim@reaperworld.com>
parents:
40360
diff
changeset
|
319 | }; |
|
38775
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
320 | |
|
40994
1eb6d260980d
Update the transparency plugin so it'll load again.
Gary Kramlich <grim@reaperworld.com>
parents:
40360
diff
changeset
|
321 | return pidgin_plugin_info_new( |
|
1eb6d260980d
Update the transparency plugin so it'll load again.
Gary Kramlich <grim@reaperworld.com>
parents:
40360
diff
changeset
|
322 | "id", WINTRANS_PLUGIN_ID, |
|
1eb6d260980d
Update the transparency plugin so it'll load again.
Gary Kramlich <grim@reaperworld.com>
parents:
40360
diff
changeset
|
323 | "name", N_("Transparency"), |
|
1eb6d260980d
Update the transparency plugin so it'll load again.
Gary Kramlich <grim@reaperworld.com>
parents:
40360
diff
changeset
|
324 | "version", DISPLAY_VERSION, |
|
1eb6d260980d
Update the transparency plugin so it'll load again.
Gary Kramlich <grim@reaperworld.com>
parents:
40360
diff
changeset
|
325 | "category", N_("User interface"), |
|
1eb6d260980d
Update the transparency plugin so it'll load again.
Gary Kramlich <grim@reaperworld.com>
parents:
40360
diff
changeset
|
326 | "summary", N_("Variable Transparency for the buddy list and conversations."), |
|
1eb6d260980d
Update the transparency plugin so it'll load again.
Gary Kramlich <grim@reaperworld.com>
parents:
40360
diff
changeset
|
327 | "description", N_("This plugin enables variable alpha transparency on conversation windows and the buddy list."), |
|
1eb6d260980d
Update the transparency plugin so it'll load again.
Gary Kramlich <grim@reaperworld.com>
parents:
40360
diff
changeset
|
328 | "authors", authors, |
|
1eb6d260980d
Update the transparency plugin so it'll load again.
Gary Kramlich <grim@reaperworld.com>
parents:
40360
diff
changeset
|
329 | "website", PURPLE_WEBSITE, |
|
1eb6d260980d
Update the transparency plugin so it'll load again.
Gary Kramlich <grim@reaperworld.com>
parents:
40360
diff
changeset
|
330 | "abi-version", PURPLE_ABI_VERSION, |
|
42188
04c0398f1046
Fix transparency plugin for display list/pref changes
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42074
diff
changeset
|
331 | "settings-schema", OPT_SCHEMA, |
|
40994
1eb6d260980d
Update the transparency plugin so it'll load again.
Gary Kramlich <grim@reaperworld.com>
parents:
40360
diff
changeset
|
332 | NULL |
|
1eb6d260980d
Update the transparency plugin so it'll load again.
Gary Kramlich <grim@reaperworld.com>
parents:
40360
diff
changeset
|
333 | ); |
|
1eb6d260980d
Update the transparency plugin so it'll load again.
Gary Kramlich <grim@reaperworld.com>
parents:
40360
diff
changeset
|
334 | } |
|
38775
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
335 | |
|
40994
1eb6d260980d
Update the transparency plugin so it'll load again.
Gary Kramlich <grim@reaperworld.com>
parents:
40360
diff
changeset
|
336 | static gboolean |
|
42074
58ae70ad7f21
Mark unused parameters as such for all of the pidgin plugins
Gary Kramlich <grim@reaperworld.com>
parents:
42061
diff
changeset
|
337 | transparency_load(G_GNUC_UNUSED GPluginPlugin *plugin, |
|
58ae70ad7f21
Mark unused parameters as such for all of the pidgin plugins
Gary Kramlich <grim@reaperworld.com>
parents:
42061
diff
changeset
|
338 | G_GNUC_UNUSED GError **error) |
|
58ae70ad7f21
Mark unused parameters as such for all of the pidgin plugins
Gary Kramlich <grim@reaperworld.com>
parents:
42061
diff
changeset
|
339 | { |
|
41658
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
340 | GApplication *application = NULL; |
|
38775
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
341 | |
|
41658
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
342 | application = g_application_get_default(); |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
343 | g_signal_connect(application, "window-added", |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
344 | G_CALLBACK(new_conversation_cb), NULL); |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
345 | g_signal_connect(application, "window-removed", |
|
eef0cabd6340
Get transparency plugin working again
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41314
diff
changeset
|
346 | G_CALLBACK(conversation_delete_cb), NULL); |
|
40994
1eb6d260980d
Update the transparency plugin so it'll load again.
Gary Kramlich <grim@reaperworld.com>
parents:
40360
diff
changeset
|
347 | |
|
1eb6d260980d
Update the transparency plugin so it'll load again.
Gary Kramlich <grim@reaperworld.com>
parents:
40360
diff
changeset
|
348 | update_existing_convs(); |
|
1eb6d260980d
Update the transparency plugin so it'll load again.
Gary Kramlich <grim@reaperworld.com>
parents:
40360
diff
changeset
|
349 | |
|
1eb6d260980d
Update the transparency plugin so it'll load again.
Gary Kramlich <grim@reaperworld.com>
parents:
40360
diff
changeset
|
350 | return TRUE; |
|
38775
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
351 | } |
|
138239f698a9
Port transparency plugin from WinAPI to GTK. Fixes #3124
Daniel Kamil Kozar <dkk089@gmail.com>
parents:
diff
changeset
|
352 | |
|
40994
1eb6d260980d
Update the transparency plugin so it'll load again.
Gary Kramlich <grim@reaperworld.com>
parents:
40360
diff
changeset
|
353 | static gboolean |
|
42074
58ae70ad7f21
Mark unused parameters as such for all of the pidgin plugins
Gary Kramlich <grim@reaperworld.com>
parents:
42061
diff
changeset
|
354 | transparency_unload(G_GNUC_UNUSED GPluginPlugin *plugin, |
|
58ae70ad7f21
Mark unused parameters as such for all of the pidgin plugins
Gary Kramlich <grim@reaperworld.com>
parents:
42061
diff
changeset
|
355 | G_GNUC_UNUSED gboolean shutdown, |
|
58ae70ad7f21
Mark unused parameters as such for all of the pidgin plugins
Gary Kramlich <grim@reaperworld.com>
parents:
42061
diff
changeset
|
356 | G_GNUC_UNUSED GError **error) |
|
58ae70ad7f21
Mark unused parameters as such for all of the pidgin plugins
Gary Kramlich <grim@reaperworld.com>
parents:
42061
diff
changeset
|
357 | { |
|
40994
1eb6d260980d
Update the transparency plugin so it'll load again.
Gary Kramlich <grim@reaperworld.com>
parents:
40360
diff
changeset
|
358 | purple_debug_info(WINTRANS_PLUGIN_ID, "Unloading transparency plugin\n"); |
|
1eb6d260980d
Update the transparency plugin so it'll load again.
Gary Kramlich <grim@reaperworld.com>
parents:
40360
diff
changeset
|
359 | |
|
1eb6d260980d
Update the transparency plugin so it'll load again.
Gary Kramlich <grim@reaperworld.com>
parents:
40360
diff
changeset
|
360 | remove_convs_wintrans(TRUE); |
|
1eb6d260980d
Update the transparency plugin so it'll load again.
Gary Kramlich <grim@reaperworld.com>
parents:
40360
diff
changeset
|
361 | |
|
1eb6d260980d
Update the transparency plugin so it'll load again.
Gary Kramlich <grim@reaperworld.com>
parents:
40360
diff
changeset
|
362 | return TRUE; |
|
1eb6d260980d
Update the transparency plugin so it'll load again.
Gary Kramlich <grim@reaperworld.com>
parents:
40360
diff
changeset
|
363 | } |
|
1eb6d260980d
Update the transparency plugin so it'll load again.
Gary Kramlich <grim@reaperworld.com>
parents:
40360
diff
changeset
|
364 | |
|
1eb6d260980d
Update the transparency plugin so it'll load again.
Gary Kramlich <grim@reaperworld.com>
parents:
40360
diff
changeset
|
365 | GPLUGIN_NATIVE_PLUGIN_DECLARE(transparency) |
|
1eb6d260980d
Update the transparency plugin so it'll load again.
Gary Kramlich <grim@reaperworld.com>
parents:
40360
diff
changeset
|
366 |