3
* Copyright © 2011 Canonical Ltd
5
* This library is free software; you can redistribute it and/or
6
* modify it under the terms of the GNU Lesser General Public
7
* License as published by the Free Software Foundation; either
8
* version 2.1 of the License, or (at your option) any later version.
10
* This library is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
* Lesser General Public License for more details.
15
* You should have received a copy of the GNU Lesser General Public
16
* License along with this library; if not, write to the
17
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18
* Boston, MA 02110-1301 USA
20
* Authored by Andrea Cimitan <andrea.cimitan@canonical.com>
25
#endif /* hAVE_CONFIG_H */
29
/* Public functions. */
32
* os_utils_is_blacklisted :
33
* @program: a gchar of the program to check
35
* Returns: TRUE if the program is blacklisted.
38
os_utils_is_blacklisted (const gchar *program)
40
/* Black-list of program names retrieved with g_get_prgname (). */
41
static const gchar *blacklist[] = {
42
"acroread", /* https://bugs.launchpad.net/ayatana-scrollbar/+bug/876218 */
43
"eclipse", /* https://bugs.launchpad.net/ayatana-scrollbar/+bug/769277 */
44
"emacs", /* https://bugs.launchpad.net/ayatana-scrollbar/+bug/847940 */
45
"emacs23", /* https://bugs.launchpad.net/ayatana-scrollbar/+bug/847940 */
46
"firefox", /* https://bugs.launchpad.net/ayatana-scrollbar/+bug/847922 */
47
"firefox-bin", /* https://bugs.launchpad.net/ayatana-scrollbar/+bug/847922 */
48
"firefox-trunk", /* https://bugs.launchpad.net/ayatana-scrollbar/+bug/847922 */
49
"gimp", /* https://bugs.launchpad.net/ayatana-scrollbar/+bug/803163 */
50
"gimp-2.6", /* https://bugs.launchpad.net/ayatana-scrollbar/+bug/803163 */
51
"gimp-2.7", /* https://bugs.launchpad.net/ayatana-scrollbar/+bug/803163 */
52
"gimp-2.8", /* https://bugs.launchpad.net/ayatana-scrollbar/+bug/803163 */
53
"gnucash", /* https://bugs.launchpad.net/ayatana-scrollbar/+bug/770304 */
54
"gvim", /* https://bugs.launchpad.net/ayatana-scrollbar/+bug/847943 */
55
"notes.bin", /* https://bugs.launchpad.net/ayatana-scrollbar/+bug/890986 */
56
"soffice", /* https://bugs.launchpad.net/ayatana-scrollbar/+bug/847918 */
57
"synaptic", /* https://bugs.launchpad.net/ayatana-scrollbar/+bug/755238 */
58
"thunderbird-bin", /* https://bugs.launchpad.net/ayatana-scrollbar/+bug/847929 */
59
"vinagre", /* https://bugs.launchpad.net/ayatana-scrollbar/+bug/847932 */
60
"vmplayer", /* https://bugs.launchpad.net/ayatana-scrollbar/+bug/770625 */
61
"vmware"/* https://bugs.launchpad.net/ayatana-scrollbar/+bug/770625 */
65
GSettings *interface_settings;
67
gboolean settings_key;
69
const gint32 nr_programs = G_N_ELEMENTS (blacklist);
71
/* Read the gsettings key. */
72
interface_settings = g_settings_new ("org.gnome.desktop.interface");
73
settings_key = g_settings_get_boolean (interface_settings, "ubuntu-overlay-scrollbars");
74
g_object_unref (interface_settings);
79
/* Black-list of symbols. */
80
module = g_module_open (NULL, 0);
81
/* https://bugs.launchpad.net/ayatana-scrollbar/+bug/847966 */
82
if (g_module_symbol (module, "qt_startup_hook", &func))
84
g_module_close (module);
87
g_module_close (module);
89
for (i = 0; i < nr_programs; i++)
90
if (g_strcmp0 (blacklist[i], program) == 0)