Tue, 11 Apr 2023 00:17:15 -0500
Use gtk_widget_set_visible for everything
gtk_widget_show and gtk_widget_hide are deprecated in GTK 4.10. However,
gtk_widget_set_visible has been around forever so we just need to move to that.
I didn't test all of these and there are probably some that can still be
removed, but most of those are in code that is going to get refreshed in the
future so I didn't bother for now.
Testing Done:
I tested the join chat, add chat, and add buddy dialogs, as well as the contact added notification.
Reviewed at https://reviews.imfreedom.org/r/2430/
|
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 |