00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00033 #ifndef HN_APP_SWITCHER_H
00034 #define HN_APP_SWITCHER_H
00035
00036 #include <gtk/gtkvbox.h>
00037 #include "hn-wm-types.h"
00038
00039 G_BEGIN_DECLS
00040
00041 #define HN_TYPE_APP_SWITCHER (hn_app_switcher_get_type ())
00042 #define HN_APP_SWITCHER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), HN_TYPE_APP_SWITCHER, HNAppSwitcher))
00043 #define HN_IS_APP_SWITCHER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), HN_TYPE_APP_SWITCHER))
00044 #define HN_APP_SWITCHER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), HN_TYPE_APP_SWITCHER, HNAppSwitcherClass))
00045 #define HN_IS_APP_SWITCHER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), HN_TYPE_APP_SWITCHER))
00046 #define HN_APP_SWITCHER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), HN_TYPE_APP_SWITCHER, HNAppSwitcherClass))
00047
00048 typedef struct _HNAppSwitcherPrivate HNAppSwitcherPrivate;
00049 typedef struct _HNAppSwitcherClass HNAppSwitcherClass;
00050
00051 typedef gboolean (*HNAppSwitcherForeachFunc) (HNEntryInfo *info,
00052 gpointer data);
00053
00054 struct _HNAppSwitcher
00055 {
00056 GtkVBox parent_instance;
00057
00058 HNAppSwitcherPrivate *priv;
00059 };
00060
00061 struct _HNAppSwitcherClass
00062 {
00063 GtkVBoxClass parent_class;
00064
00065 void (*add_info) (HNAppSwitcher *app_switcher,
00066 HNEntryInfo *entry_info);
00067 void (*remove_info) (HNAppSwitcher *app_switcher,
00068 HNEntryInfo *entry_info);
00069 void (*changed_info) (HNAppSwitcher *app_switcher,
00070 HNEntryInfo *entry_info);
00071 void (*changed_stack) (HNAppSwitcher *app_switcher,
00072 HNEntryInfo *entry_info);
00073
00074
00075 void (*lowmem) (HNAppSwitcher *app_switcher,
00076 gboolean is_active);
00077 void (*bgkill) (HNAppSwitcher *app_switcher,
00078 gboolean is_active);
00079 };
00080
00081 GType hn_app_switcher_get_type (void) G_GNUC_CONST;
00082
00083 GtkWidget *hn_app_switcher_new (void);
00084
00085 GList * hn_app_switcher_get_entries (HNAppSwitcher *app_switcher);
00086 void hn_app_switcher_foreach_entry (HNAppSwitcher *app_switcher,
00087 HNAppSwitcherForeachFunc func,
00088 gpointer data);
00089
00090 void hn_app_switcher_add (HNAppSwitcher *app_switcher,
00091 HNEntryInfo *entry_info);
00092 void hn_app_switcher_remove (HNAppSwitcher *app_switcher,
00093 HNEntryInfo *entry_info);
00094 void hn_app_switcher_changed (HNAppSwitcher *app_switcher,
00095 HNEntryInfo *entry_info);
00096 void hn_app_switcher_changed_stack (HNAppSwitcher *app_switcher,
00097 HNEntryInfo *entry_info);
00098
00099 void hn_app_switcher_toggle_menu_button (HNAppSwitcher *app_switcher);
00100
00101 gboolean hn_app_switcher_get_system_inactivity (HNAppSwitcher *app_switcher);
00102
00103 gboolean hn_app_switcher_menu_button_release_cb (GtkWidget *widget,
00104 GdkEventButton *event);
00105
00106 HNEntryInfo * hn_app_switcher_get_home_entry_info (HNAppSwitcher *as);
00107
00108 G_END_DECLS
00109
00110 #endif