~awn-core/awn/0.2.4

« back to all changes in this revision

Viewing changes to src/awn-x.c

  • Committer: Neil J Patel
  • Date: 2008-02-14 17:14:00 UTC
  • mfrom: (155.1.34 awn-core-testing)
  • Revision ID: njp@neils-mbp-20080214171400-f2dikd9ivke2jhje
2008-02-14  Neil J. Patel  <njpatel@gmail.com>

        * .bzrignore:
        * CC.COPYING:
        * ChangeLog:
        * Makefile.am:
        * acinclude.m4:
        * applets/wscript_build:
        * autogen.sh:
        * awn-applet-activation/Makefile.am:
        * awn-applet-activation/main.c:
        * awn-applet-activation/wscript_build:
        * awn-manager/.directory:
        * awn-manager/Makefile.am:
        * awn-manager/awn-launcher-editor.in:
        * awn-manager/awnApplet.py:
        * awn-manager/awnDefs.py.in:
        * awn-manager/awnLauncher.py:
        * awn-manager/awnLauncherEditor.py:
        * awn-manager/awnManager.py.in:
        * awn-manager/awnPreferences.py:
        * awn-manager/awnTheme.py:
        * awn-manager/launcher-editor.glade:
        * awn-manager/window.glade:
        * awn-manager/wscript_build:
        * awn.pc.in:
        * bindings/Makefile.am:
        * bindings/python/Makefile.am:
        * bindings/python/__init__.py:
        * bindings/python/awn.defs:
        * bindings/python/awn.override:
        * bindings/python/awnmodule.c:
        * bindings/vala/Makefile.am:
        * bindings/vala/awn.deps:
        * bindings/vala/awn.files:
        * bindings/vala/awn.gi:
        * bindings/vala/awn.metadata:
        * bindings/vala/awn.namespace:
        * bindings/vala/awn.vapi:
        * config.h.in:
        * configure.in:
        * data/Makefile.am:
        * data/awn-schema-to-gconf:
        * data/awn.schema-ini:
        * data/wscript_build:
        * doc/Makefile.am:
        * doc/reference/Makefile.am:
        * doc/reference/libawn-docs.sgml:
        * doc/reference/libawn-sections.txt:
        * doc/reference/libawn.types:
        * docs/PPA_autoppa:
        * docs/waf:
        * libawn/Makefile.am:
        * libawn/awn-applet-dialog.c:
        * libawn/awn-applet-dialog.h:
        * libawn/awn-applet-gconf.c:
        * libawn/awn-applet-gconf.h:
        * libawn/awn-applet-simple.c:
        * libawn/awn-applet.c:
        * libawn/awn-applet.h:
        * libawn/awn-config-client-gconf.c:
        * libawn/awn-config-client-gkeyfile.c:
        * libawn/awn-config-client-shared.c:
        * libawn/awn-config-client.h:
        * libawn/awn-defines.h:
        * libawn/awn-desktop-item-egg.c:
        * libawn/awn-desktop-item-gnome.c:
        * libawn/awn-desktop-item.h:
        * libawn/awn-effects.c:
        * libawn/awn-effects.h:
        * libawn/awn-enum-types.c.in:
        * libawn/awn-settings.c:
        * libawn/awn-settings.h:
        * libawn/awn-title.c:
        * libawn/awn-vfs.c:
        * libawn/awn-vfs.h:
        * libawn/egg/Makefile.am:
        * libawn/egg/egg-enum-types.c.in:
        * libawn/egg/egg-enum-types.h.in:
        * libawn/egg/eggchecksum.c:
        * libawn/egg/eggchecksum.h:
        * libawn/egg/eggdesktopfile.c:
        * libawn/egg/eggdesktopfile.h:
        * libawn/egg/tests/checksum-test.c:
        * libawn/wscript_build:
        * po/wscript_build:
        * src/Makefile.am:
        * src/awn-applet-manager.c:
        * src/awn-applet-manager.h:
        * src/awn-bar.h:
        * src/awn-hotspot.h:
        * src/awn-task-manager.c:
        * src/awn-task-manager.h:
        * src/awn-task.c:
        * src/awn-task.h:
        * src/awn-utils.h:
        * src/awn-window.h:
        * src/awn-x.c:
        * src/awn-x.h:
        * src/main.c:
        * test/Makefile.am:
        * test/test-config-client.c:
        * test/test-config-client.py:
        * test/test.vala:
        * waf:
        * wscript:
        Merged awn-core-testing branch by malept, moonbeem & gilir.
        Abstracts configuration backends; Add support for GKeyfile backend.
        Abstracts Desktop File implementation; Adds support for libegg backend.
        Abstracts VFS backends; Adds support for Tunar & GVFS backend.
        Updated python bindings.
        Adds support for Vala bindings.
        Removes gnome-panel dependancy.
        Updated awn-manager interface.
        

Show diffs side-by-side

added added

removed removed

Lines of Context:
32
32
#include <gdk/gdkx.h>
33
33
#include <string.h>
34
34
 
 
35
#ifdef LIBAWN_USE_GNOME
35
36
#include <libgnome/libgnome.h>
 
37
#endif
36
38
 
37
39
#include "xutils.h"
38
40
#include "inlinepixbufs.h"
39
41
 
40
 
#include <libawn/awn-gconf.h>
 
42
#include <libawn/awn-settings.h>
41
43
 
42
44
/*      TODO:
43
45
        This is a cut-and-paste job at the moment, I still need to bring over 
83
85
        int y = 0;
84
86
        int width = 0;
85
87
        int height = 0;
86
 
  AwnSettings *settings = awn_gconf_new ();
 
88
  AwnSettings *settings = awn_settings_new ();
87
89
        
88
90
        gtk_window_get_size (window, &width, &height);
89
91
        gtk_window_get_position (window, &x, &y);
172
174
                if (name->str[i] == ' ')
173
175
                        name->str[i] = '-';
174
176
        }
175
 
 
 
177
                        
 
178
#ifdef LIBAWN_USE_GNOME
176
179
        uri = gnome_util_prepend_user_home(name->str);
 
180
#elif defined(LIBAWN_USE_XFCE)
 
181
        uri = g_string_free (g_string_prepend (name, g_get_home_dir ()), FALSE);
 
182
#endif
177
183
        
178
 
        icon = gdk_pixbuf_new_from_file_at_scale (uri, width, height, TRUE, NULL);
 
184
        if (uri) {
 
185
                icon = gdk_pixbuf_new_from_file_at_scale (uri, width, height, TRUE, NULL);
 
186
        }
179
187
         
 
188
#ifdef LIBAWN_USE_GNOME
 
189
        /* free error under Xfce */
180
190
        g_string_free (name, TRUE);
 
191
#endif
181
192
        g_free (uri);
182
193
        
183
194
        if (icon)
294
305
}
295
306
 
296
307
GdkPixbuf * 
297
 
awn_x_get_icon_for_launcher (GnomeDesktopItem *item, gint width, gint height)
 
308
awn_x_get_icon_for_launcher (AwnDesktopItem *item, gint width, gint height)
298
309
{
299
310
        GString *name = NULL;
300
311
        gchar *uri = NULL;
301
312
        GdkPixbuf *icon = NULL;
302
313
                
303
 
        name = g_string_new ( gnome_desktop_item_get_string (item, GNOME_DESKTOP_ITEM_EXEC));
 
314
        name = g_string_new ( awn_desktop_item_get_exec (item));
304
315
        name = g_string_prepend (name, ".config/awn/custom-icons/");
305
316
        int i = 0;
306
317
        for (i = 0; i < name->len; i++) {
307
318
                if (name->str[i] == ' ')
308
319
                        name->str[i] = '-';
309
320
        }       
 
321
#ifdef LIBAWN_USE_GNOME
310
322
        uri = gnome_util_prepend_user_home(name->str);
 
323
#elif defined(LIBAWN_USE_XFCE)
 
324
        uri = g_string_free (g_string_prepend (name, g_get_home_dir ()), FALSE);
 
325
#endif
311
326
        
312
327
        //g_print ("%s\n", uri);
313
 
        
314
 
        icon = gdk_pixbuf_new_from_file_at_scale (uri, width, height, TRUE, NULL);
315
 
        
 
328
 
 
329
        if (uri) {
 
330
                icon = gdk_pixbuf_new_from_file_at_scale (uri, width, height, TRUE, NULL);
 
331
        }
 
332
        
 
333
#ifndef LIBAWN_USE_XFCE
316
334
        g_string_free (name, TRUE);
 
335
#endif
317
336
        g_free (uri);
318
337
        
319
338
        if (icon)
320
339
                return icon;
321
340
        else {
322
341
                char *icon_name;
323
 
                icon_name = gnome_desktop_item_get_icon (item, gtk_icon_theme_get_default());
324
 
                icon = icon_loader_get_icon_spec (icon_name, width, height) ;
325
 
                g_free (icon_name);
326
 
                return icon;
 
342
                icon_name = awn_desktop_item_get_icon (item, gtk_icon_theme_get_default());
 
343
                if (icon_name) {
 
344
                        icon = icon_loader_get_icon_spec (icon_name, width, height);
 
345
                        g_free (icon_name);
 
346
                        return icon;
 
347
                } else {
 
348
                        return NULL;
 
349
                }
327
350
        }
328
351
}