All pastes #134415 Raw Edit

Gloubi

public c v1 · immutable
#134415 ·published 2006-08-16 11:25 UTC
rendered paste body
/*//====================================================================//  xfce4-xkb-plugin - XFCE4 Xkb Layout Indicator panel plugin// -------------------------------------------------------------------//  Alexander Iliev <sasoiliev@mamul.org>//  20-Feb-04// -------------------------------------------------------------------//  Parts of this code belong to Michael Glickman <wmalms@yahooo.com>//  and his program wmxkb.//  WARNING: DO NOT BOTHER Michael Glickman WITH QUESTIONS ABOUT THIS//           PROGRAM!!! SEND INSTEAD EMAILS TO <sasoiliev@mamul.org>//====================================================================*/#ifndef _XFCE_XKB_H_#define _XFCE_XKB_H_#include <libxfce4util/libxfce4util.h>#include <libxfcegui4/libxfcegui4.h>#include <libxfce4panel/xfce-panel-plugin.h>#include <X11/Xlib.h>#include <gtk/gtk.h>#include <glib.h>#define ICONSIZETINY 24 #define ICONSIZESMALL 30#define ICONSIZEMEDIUM 45#define ICONSIZELARGE 60typedef enum{  LAYOUT =0,  VARIANT,  TREE_COUNT} t_tree_enum;typedef enum {  IMAGE = 0,  TEXT = 1} t_display_type;typedef struct {  XfcePanelPlugin *plugin;  /* options */  gint size;                    /* plugin size */  t_display_type display_type;  /* display layout as image ot text */  gboolean enable_perapp;       /* enable per application (window) layout) */  gint default_group;           /* default group for "locale per process" */  gchar *layouts;				/* layouts list */  gchar *variants;				/* variants list */    /* widgets */  GtkWidget *ebox;  GtkWidget *btn;  GtkWidget *label;  GtkWidget *image;  GtkWidget *vbox;  GtkWidget *def_lang_menu;} t_xkb;typedef struct{  t_xkb *xkb;  GtkWidget *dialog;  /* display type menu */  GtkWidget *display_type_optmenu;      GtkWidget *display_type_menu_label_text;  GtkWidget *display_type_menu_label_image;  /* layout per application options */  GtkWidget *per_app_frame;  GtkWidget *per_app_vbox;  GtkWidget *per_app_checkbutton;  GtkWidget *per_app_default_layout_menu;  } t_xkb_options_dlg;void set_new_locale(t_xkb *ctrl);char *initialize_xkb(t_xkb *ctrl);void deinitialize_xkb();gint get_group_count();char * get_symbol_name_by_res_no(int group_res_no);int do_change_group(int increment, t_xkb *ctrl);gboolean gio_callback(GIOChannel *source, GIOCondition condition, gpointer data);int get_connection_number();/* "locale per process" functions */void react_active_window_changed(gint pid, t_xkb *ctrl);void react_window_closed(gint pid);int do_set_group(gint group, t_xkb *ctrl);#endif