typedef struct Launcher {
// always start with area
Area area;
- GSList *list_icon_paths;
- GSList *list_cmds;
- GSList *list_icons;
+ GSList *list_apps; // List of char*, each is a path to a app.desktop file
+ GSList *list_icons; // List of LauncherIcon*
+ GSList *icon_theme_names; // List of char*, each is a theme name (oxygen, Tango...)
+ GSList *icon_themes; // List of IconTheme*
} Launcher;
typedef struct LauncherIcon {
- Imlib_Image icon;
+ Imlib_Image icon_scaled;
+ Imlib_Image icon_original;
char *cmd;
+ char *icon_name;
+ char *icon_path;
+ int icon_size;
+ int is_app_desktop;
int x, y;
- int width, height;
} LauncherIcon;
typedef struct DesktopEntry {
int max_size;
int min_size;
int threshold;
+ char *context;
} IconThemeDir;
typedef struct IconTheme {
extern int launcher_enabled;
extern int launcher_max_icon_size;
-extern GSList *icon_themes; // each item is an IconTheme*
-
// default global data
void default_launcher();
void init_launcher_panel(void *panel);
void cleanup_launcher();
-void resize_launcher(void *obj);
+int resize_launcher(void *obj);
void draw_launcher (void *obj, cairo_t *c);
void launcher_action(LauncherIcon *icon);
void test_launcher_read_desktop_file();
+void test_launcher_read_theme_file();
#endif