Re: The whole panel focus/keynav thing



Isn't there some way this can be hacked around with direct ATK calls
instead? e.g. couldn't we have an ATK call that specified focus apart
from whether GTK "highlights" the widget or not? It seems like all we're
trying to do with these theme hacks is make it highlight without any
user visible change. Since this is an accesibility change, it seems like
if its possible it would make the most sense to do any "hackery" at the
accesibility toolkit level rather than the GTK level (maybe its not
possible, I have no idea).

I should mention that SELECTED messes up the Default theme as well. Try
putting a textbox on the panel and then clicking to focus the panel. The
textbox's background changes to the light grey colour (rather than
remaining white). If this is the only issue in Default caused by this
its not really a big deal. But theme hacks always make me worried there
will be other mysterious behaviors. It would be great if somebody would
test this with all the applets we're planning to ship if it stays in.

-Seth

On Mon, 2002-05-27 at 03:55, Padraig O'Briain wrote:
> We are discussing this nand if we do not come up with a fix we will remove 
> setting the state to SELECTED tomorrow.
> 
> Padraig
> 
> > 
> > With pretty much any theme but Raleigh these end up with the same
> > problematic prelighting behavior that we had before...
> > 
> > -Seth
> > 
> > On Fri, 2002-05-24 at 11:25, Luis Villa wrote:
> > > I take it these patches were committed last night, Padraig? The current
> > > behavior (at least as seen in today's snapshot) does not work as you
> > > intended- SELECTED is very, very different than NORMAL. Will that be
> > > fixed today or should I file a bug and assign it to you?
> > > Luis
> > > 
> > > On Tue, 2002-05-14 at 04:20, Padraig O'Briain wrote:
> > > > I have patches for gnome-panel which do the following:
> > > > 
> > > > 1) Remove the capability of focusing the PanelWidget using Ctrl+Tab
> > > > 
> > > > 2) Add support for popping up PanelWidget's context menu by pressing 
> Ctrl+F10.
> > > > 
> > > > 3) Set state of PanelWidget and its children to SELECTED when focus is in 
> panel.
> > > > 
> > > > 4) Add default panel rc file (panelrc) installed in $(datadir)/gnome-panel 
> which 
> > > > causes SELECTED state to look the same as NORMAL state for PanelWidget and 
> > > > applets. To see focus indicator for panel add the following lines to 
> .gtkrc-2.0.
> > > > 
> > > > style "prelight-selected"
> > > > {
> > > >   fg[SELECTED] = { 0, 0, 0 }
> > > >   bg[SELECTED] = { 0xea60, 0xea60, 0xea60 }
> > > > }
> > > > 
> > > > widget_class "*PanelWidget*" style "prelight-selected"
> > > > widget_class "*PanelApplet*" style "prelight-selected"
> > > > 
> > > > 
> > > > 
> > > > 5) Load default panel rc file at startup of gnome-panel and out-of-process 
> > > > applets.
> > > > 
> > > > 4) Use style value for focus-line-with and focus-padding when drawing 
> focus 
> > > > indicator, instead of using hardcoded values.
> > > > 
> > > > 6) Highlight ButtonWidget when it has focus.
> > > > 
> > > > 
> > > > Feedback requested.
> > > > 
> > > > Padraig
> > > > 
> > > > > 
> > > > > Yes, I'm sure you hoped it had just gone away for good :)  But with the
> > > > > final UI freeze looming fast, we need to nail the whole issue about
> > > > > panel keynav, and showing panel focus.  
> > > > > 
> > > > > We know you didn't like what we did last time, so here's our new
> > > > > proposal, which, unless there are any obvious issues or better ideas
> > > > > that haven't already been shouted down in previous discussions, we'll be
> > > > > unleashing Padraig on to implement anytime soon...
> > > > > 
> > > > > Executive summary: by default, you won't notice anything different from
> > > > > what currently happens ("currently" meaning "since the highlighting was
> > > > > removed again", that is!). Except that when they're focused, you'll get
> > > > > a normal focus indicator around some applets that don't currently have
> > > > > them.
> > > > > 
> > > > > The details:
> > > > > 
> > > > > 1) The panel background will no longer be focusable, except when there
> > > > > are no objects on it.  Instead, focusing a panel will always give focus
> > > > > to an object *on* the panel.
> > > > > 
> > > > > 2) By default, the panel background will not highlight when an object on
> > > > > the panel has focus.  Well actually, it will, but the default will be to
> > > > > use the same colour as the panel background, so you won't notice--
> > > > > honest :)  This means that people who *need* the panel highlight can
> > > > > easily get it thematically, by changing the panel background highlight
> > > > > colour.  Panels with pixmap backgrounds will be unaffected, their
> > > > > backgrounds won't highlight regardless.
> > > > > 
> > > > > 3) To pop up the panel right-click menu, instead of focusing the panel
> > > > > background (which won't be possible any more) and pressing Shift-F10,
> > > > > there will be an additional keyboard shortcut available, probably
> > > > > something like Ctrl-F10 or Alt-F10, that pops up the panel menu when any
> > > > > object on the panel has focus.  (Or when the panel background has focus,
> > > > > if the panel is empty).
> > > > > 
> > > > > 4) Applets: we may have to shave a pixel or two off the heights of some
> > > > > applets to leave room to show a discernable focus indicator.  However,
> > > > > some of them already seem to have some padding around them, so hopefully
> > > > > we'll be able to minimise the amount of shaving we need to do :)  If we
> > > > > can still make the active area extend right to the edge of the screen
> > > > > for applets on edge panels, we will*.  But usability-wise it's slightly
> > > > > less important that this works for applets anyway, as in many cases
> > > > > there's not much to gain by just clicking on an applet-- you often need
> > > > > to click on a particular control or area inside the applet instead, so
> > > > > having the edge of the screen available as a big target doesn't really
> > > > > improve matters there.
> > > > > 
> > > > > That is all... suggestions/objections to be filed in writing ASAP  :o)
> > > > > 
> > > > > Cheeri,
> > > > > Calum.
> > > > > 
> > > > > * Although this already seems to be broken for non-menu panels (e.g. the
> > > > > window list, which goes right up to the top of the screen if you stick
> > > > > it on the menu panel, but not right down to the bottom when it's on the
> > > > > bottom edge panel).
> > > > > 
> > > > > -- 
> > > > > CALUM BENSON, Usability Engineer       Sun Microsystems Ireland
> > > > > mailto:calum benson ireland sun com    Desktop Engineering Group
> > > > > http://www.sun.ie                      +353 1 819 9771
> > > > > 
> > > > > Any opinions are personal and not necessarily those of Sun Microsystems
> > > > > _______________________________________________
> > > > > gnome-accessibility-list mailing list
> > > > > gnome-accessibility-list gnome org
> > > > > http://mail.gnome.org/mailman/listinfo/gnome-accessibility-list
> > > > 
> > > > ____________________________________________________________________
> > > > 
> > > > cvs server: Diffing .
> > > > Index: ChangeLog
> > > > ===================================================================
> > > > RCS file: /cvs/gnome/gnome-panel/gnome-panel/ChangeLog,v
> > > > retrieving revision 1.1744
> > > > diff -u -p -r1.1744 ChangeLog
> > > > --- ChangeLog	13 May 2002 23:47:28 -0000	1.1744
> > > > +++ ChangeLog	14 May 2002 08:14:55 -0000
> > > > @@ -1,3 +1,49 @@
> > > > +2002-05-14  Padraig O'Briain  <padraig obriain sun com>
> > > > +
> > > > +	* panelrc:
> > > > +	rc file which ensures that SELECTED state for PanelWidget and its 
> > > > +	children is not visible, by defaulta
> > > > +
> > > > +	* Makefile.am:
> > > > +	Update so that panelrc file is installed in $(datadir)/gnome-panel
> > > > +
> > > > +	* basep-widget.[ch]: foobar-widget.[ch]
> > > > +	Remove move-focus-out signal as moving focus from applet to PanelWidget
> > > > +	is not supported
> > > > +	Remove basep_key_press, default signal handler forkey_press_event
> > > > +
> > > > +	* button-widget.c:
> > > > +	(button_widget_expose) Highlight widget when it has focus
> > > > +	Draw focus indication using style's focus-line-width" and 
> > > > +	"focus-padding"
> > > > +
> > > > +	* main.c (main):
> > > > +	Call gtk_rc_add_default_file () for panelrc. so PanelWidghet and applets
> > > > +	will show state SELECTED as NORMAL, by default
> > > > +
> > > > +	* panel-marshal.list:
> > > > +	Add BOOLEAN:VOID for new signal popup_panel_menu
> > > > +
> > > > +	* panel-widget.c:
> > > > +	Add new signal popup_panel_menu which pops up context menu for
> > > > +	PanelWidget; use Ctrl+F10 to activate the signal.
> > > > +	Remove function panel_widget_save_key_event()
> > > > +	Remove function panel_widget_focus() which was useed to implement
> > > > +	Remove function panel_widget_focus_in_event() and 
> > > > +	panel_widget_focus_out_event()
> > > > +	Ctrl+Tab to move focus from applet to PanelWidget
> > > > +	(panel_widget_finalize): Remove reference to panel->key_event
> > > > +	(panel_widget_real_focus): Remove reference to panel->key_event
> > > > +	which supported giving focus to PanelWidget when focus was inside 
> > > > +	an applet in another process. Remove CAN_FOCUS flag if PanelWidget
> > > > +	has children.
> > > > +	
> > > > +	panel.c:
> > > > +	(panel_end_move) Do not give focus to PanelWidget on mouse click
> > > > +	(panel_widget_event): For key press, check whether focus widget is a 
> > > > +	GtkSocket; if so, activate bindings
> > > > +	Set state to GTK_STATE_SELECTED for focus in.
> > > > +
> > > >  2002-05-13  Seth Nickell  <snickell stanford edu>
> > > >  
> > > >  	* foobar-widget.c: (append_actions_menu):
> > > > Index: Makefile.am
> > > > ===================================================================
> > > > RCS file: /cvs/gnome/gnome-panel/gnome-panel/Makefile.am,v
> > > > retrieving revision 1.278
> > > > diff -u -p -r1.278 Makefile.am
> > > > --- Makefile.am	29 Apr 2002 20:30:09 -0000	1.278
> > > > +++ Makefile.am	14 May 2002 08:14:55 -0000
> > > > @@ -13,6 +13,7 @@ INCLUDES =							
> \
> > > >  	-DPANEL_DEBUG						\
> > > >  	-DGNOMELOCALEDIR=\""$(datadir)/locale"\"		\
> > > >  	-DGLADEDIR=\""$(datadir)/gnome/panel"\"			\
> > > > +	-DPANELRC=\""$(rcdir)/$(rc_DATA)"\"			\
> > > >  	$(DISABLE_DEPRECATED_CFLAGS)				\
> > > >  	$(STANDARD_PROPERTIES_CFLAGS)				\
> > > >  	$(ALLOW_CRACKPOT_MENU_CODE)				\
> > > > @@ -214,7 +215,8 @@ EXTRA_DIST =					\
> > > >  	nothing.h				\
> > > >  	$(schema_DATA)				\
> > > >  	$(ui_DATA)				\
> > > > -	panel-marshal.list
> > > > +	panel-marshal.list			\
> > > > +	panelrc
> > > >  
> > > >  sysdir = $(datadir)/control-center-2.0/capplets
> > > >  sys_in_files = gnome-panel-preferences.desktop.in
> > > > @@ -272,6 +274,9 @@ schema_DATA = panel-global-config.schema
> > > >  serverdir       = $(libdir)/bonobo/servers
> > > >  server_in_files = GNOME_Panel.server.in
> > > >  server_DATA     = $(server_in_files:.server.in=.server)
> > > > +
> > > > +rcdir = $(datadir)/gnome-panel
> > > > +rc_DATA = panelrc
> > > >  
> > > >  @INTLTOOL_SERVER_RULE@
> > > >  
> > > > Index: basep-widget.c
> > > > ===================================================================
> > > > RCS file: /cvs/gnome/gnome-panel/gnome-panel/basep-widget.c,v
> > > > retrieving revision 1.169
> > > > diff -u -p -r1.169 basep-widget.c
> > > > --- basep-widget.c	22 Apr 2002 16:35:49 -0000	1.169
> > > > +++ basep-widget.c	14 May 2002 08:14:56 -0000
> > > > @@ -50,7 +50,6 @@ static void basep_pos_class_init (BasePP
> > > >  static void basep_pos_instance_init (BasePPos *pos);
> > > >  
> > > >  /* Forward declare some static functions for use in the class init */
> > > > -static void basep_widget_move_focus_out (BasePWidget *basep);
> > > >  static void basep_widget_mode_change (BasePWidget *basep, BasePMode 
> mode);
> > > >  static void basep_widget_state_change (BasePWidget *basep, BasePState 
> state);
> > > >  static void basep_widget_real_screen_change (BasePWidget *basep, int 
> screen);
> > > > @@ -60,7 +59,6 @@ static void basep_widget_realize (GtkWid
> > > >  static void basep_widget_map (GtkWidget *w);
> > > >  static gboolean basep_enter_notify (GtkWidget *widget, GdkEventCrossing 
> *event);
> > > >  static gboolean basep_leave_notify (GtkWidget *widget, GdkEventCrossing 
> *event);
> > > > -static gboolean basep_key_press (GtkWidget *widget, GdkEventKey *event);
> > > >  static void basep_style_set (GtkWidget *widget, GtkStyle 
> *previous_style);
> > > >  static void basep_widget_destroy (GtkObject *o);
> > > >  
> > > > @@ -127,11 +125,9 @@ basep_widget_class_init (BasePWidgetClas
> > > >  	GObjectClass *object_class = G_OBJECT_CLASS (klass);
> > > >  	GtkObjectClass *gtk_object_class = GTK_OBJECT_CLASS (klass);
> > > >  	GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
> > > > -	GtkBindingSet *binding_set;
> > > >  	
> > > >  	basep_widget_parent_class = g_type_class_ref (gtk_window_get_type ());
> > > >  
> > > > -	klass->move_focus_out = basep_widget_move_focus_out;
> > > >  	klass->mode_change = basep_widget_mode_change;
> > > >  	klass->state_change = basep_widget_state_change;
> > > >  	klass->screen_change = basep_widget_real_screen_change;
> > > > @@ -142,7 +138,6 @@ basep_widget_class_init (BasePWidgetClas
> > > >  	widget_class->map = basep_widget_map;
> > > >  	widget_class->enter_notify_event = basep_enter_notify;
> > > >  	widget_class->leave_notify_event = basep_leave_notify;
> > > > -	widget_class->key_press_event = basep_key_press;
> > > >  	widget_class->style_set = basep_style_set;
> > > >  
> > > >  	gtk_object_class->destroy = basep_widget_destroy;
> > > > @@ -195,17 +190,6 @@ basep_widget_class_init (BasePWidgetClas
> > > >  			      1,
> > > >  			      PANEL_TYPE_OBJECT_TYPE); */
> > > >  
> > > > -	basep_widget_signals[MOVE_FOCUS_OUT_SIGNAL] = 
> > > > -		g_signal_new	("move_focus_out",
> > > > -				G_TYPE_FROM_CLASS (object_class),
> > > > -				G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
> > > > -				G_STRUCT_OFFSET (BasePWidgetClass, 
> move_focus_out),
> > > > -				NULL,
> > > > -				NULL,
> > > > -				panel_marshal_VOID__VOID,
> > > > -				G_TYPE_NONE,
> > > > -				0);
> > > > -
> > > >  	basep_widget_signals[MODE_CHANGE_SIGNAL] = 
> > > >  		g_signal_new	("mode_change",
> > > >  			       	G_TYPE_FROM_CLASS (object_class),
> > > > @@ -241,14 +225,6 @@ basep_widget_class_init (BasePWidgetClas
> > > >  				G_TYPE_NONE,
> > > >  				1,
> > > >  				G_TYPE_INT);
> > > > -
> > > > -	binding_set = gtk_binding_set_by_class (gtk_object_class);
> > > > -	gtk_binding_entry_add_signal (binding_set,
> > > > -				      GDK_Tab, GDK_CONTROL_MASK,
> > > > -				      "move_focus_out", 0);
> > > > -	gtk_binding_entry_add_signal (binding_set,
> > > > -				      GDK_KP_Tab, GDK_CONTROL_MASK,
> > > > -				      "move_focus_out", 0);
> > > >  }
> > > >  
> > > >  static void
> > > > @@ -556,26 +532,6 @@ basep_widget_size_allocate (GtkWidget *w
> > > >  }
> > > >  
> > > >  static void
> > > > -basep_widget_move_focus_out (BasePWidget *basep)
> > > > -{
> > > > -	if (DRAWER_IS_WIDGET (basep)) {
> > > > -		Drawer *drawer = g_object_get_data (G_OBJECT (basep),
> > > > -               		                             DRAWER_PANEL_KEY);
> > > > -		PanelWidget *panel = PANEL_WIDGET (drawer->button->parent);
> > > > -		GtkWidget *parent = panel->panel_parent;
> > > > -
> > > > -		drawer_widget_close_drawer (DRAWER_WIDGET (basep), parent);
> > > > -		drawer->moving_focus = TRUE;
> > > > -		gtk_window_present (GTK_WINDOW (parent));
> > > > -		gtk_widget_grab_focus (drawer->button);
> > > > -	} else {
> > > > -		PanelWidget *panel = PANEL_WIDGET (basep->panel);
> > > > -
> > > > -		panel_widget_focus (panel);
> > > > -	}
> > > > -}
> > > > -
> > > > -static void
> > > >  basep_widget_mode_change (BasePWidget *basep, BasePMode old_mode)
> > > >  {
> > > >  	if (BORDER_IS_WIDGET (basep))
> > > > @@ -824,24 +780,6 @@ basep_pos_instance_init (BasePPos *pos)
> > > >  	return;
> > > >  }
> > > >  
> > > > -static gboolean 
> > > > -basep_key_press (GtkWidget *widget, GdkEventKey *event)
> > > > -{
> > > > -	BasePWidget *basep;
> > > > -	PanelWidget *panel;
> > > > -
> > > > -	g_return_val_if_fail (BASEP_IS_WIDGET (widget), FALSE);
> > > > -
> > > > -	basep = BASEP_WIDGET (widget);
> > > > -
> > > > -	g_return_val_if_fail (PANEL_IS_WIDGET (basep->panel), FALSE);
> > > > -
> > > > -	panel = PANEL_WIDGET (basep->panel);
> > > > -	
> > > > -	panel_widget_save_key_event (panel, event);
> > > > -	return GTK_WIDGET_CLASS (basep_widget_parent_class)->key_press_event 
> (widget, event);
> > > > -}
> > > > - 
> > > >  static gboolean
> > > >  basep_leave_notify (GtkWidget *widget,
> > > >  		    GdkEventCrossing *event)
> > > > Index: basep-widget.h
> > > > ===================================================================
> > > > RCS file: /cvs/gnome/gnome-panel/gnome-panel/basep-widget.h,v
> > > > retrieving revision 1.47
> > > > diff -u -p -r1.47 basep-widget.h
> > > > --- basep-widget.h	28 Feb 2002 07:49:39 -0000	1.47
> > > > +++ basep-widget.h	14 May 2002 08:14:56 -0000
> > > > @@ -106,8 +106,6 @@ struct _BasePWidgetClass
> > > >  	/*void (*type_change)  (BasePWidget *basep,
> > > >  			      PanelType type);*/
> > > >  
> > > > -	void (* move_focus_out)  (BasePWidget *basep);
> > > > -
> > > >  	void (* mode_change)  (BasePWidget *basep,
> > > >  			       BasePMode old_mode);
> > > >  
> > > > Index: button-widget.c
> > > > ===================================================================
> > > > RCS file: /cvs/gnome/gnome-panel/gnome-panel/button-widget.c,v
> > > > retrieving revision 1.98
> > > > diff -u -p -r1.98 button-widget.c
> > > > --- button-widget.c	18 Apr 2002 08:08:06 -0000	1.98
> > > > +++ button-widget.c	14 May 2002 08:14:56 -0000
> > > > @@ -442,10 +442,10 @@ button_widget_expose (GtkWidget         
> > > >  	off = (button->in_button && button->button_down) ?
> > > >  		SCALE(BUTTON_WIDGET_DISPLACEMENT) : 0;
> > > >  	
> > > > -	if (!global_config.highlight_when_over || !button->in_button) {
> > > > -		pb = button_widget->scaled;
> > > > -	} else {
> > > > +	if (global_config.highlight_when_over && (button->in_button || 
> GTK_WIDGET_HAS_FOCUS (widget))) {
> > > >  		pb = button_widget->scaled_hc;
> > > > +	} else {
> > > > +		pb = button_widget->scaled;
> > > >  	}
> > > >  	
> > > >  	w = gdk_pixbuf_get_width (pb);
> > > > @@ -493,13 +493,21 @@ button_widget_expose (GtkWidget         
> > > >  	}
> > > >  
> > > >  	if (GTK_WIDGET_HAS_FOCUS (widget)) {
> > > > +		gint focus_width, focus_pad;
> > > > +		gint x, y, width, height;
> > > > +
> > > > +		gtk_widget_style_get (widget,
> > > > +				      "focus-line-width", &focus_width,
> > > > +				      "focus-padding", &focus_pad,
> > > > +				      NULL);
> > > > +		x = widget->allocation.x + focus_pad;
> > > > +		y = widget->allocation.y + focus_pad;
> > > > +		width = widget->allocation.width -  (focus_width + 2 * 
> focus_pad); focus_pad;
> > > > +		height = widget->allocation.height -  (focus_width + 2 * 
> focus_pad); focus_pad;
> > > >  		gtk_paint_focus (widget->style, widget->window,
> > > >  				 GTK_WIDGET_STATE (widget),
> > > >  				 &event->area, widget, "button",
> > > > -				 widget->allocation.x + 1,
> > > > -				 widget->allocation.y + 1,
> > > > -				 widget->allocation.width - 3,
> > > > -				 widget->allocation.height - 3);
> > > > +				 x, y, width, height);
> > > >  	}
> > > >  	
> > > >  	return FALSE;
> > > > Index: foobar-widget.c
> > > > ===================================================================
> > > > RCS file: /cvs/gnome/gnome-panel/gnome-panel/foobar-widget.c,v
> > > > retrieving revision 1.157
> > > > diff -u -p -r1.157 foobar-widget.c
> > > > --- foobar-widget.c	13 May 2002 23:47:29 -0000	1.157
> > > > +++ foobar-widget.c	14 May 2002 08:14:56 -0000
> > > > @@ -54,10 +54,6 @@ static gboolean foobar_leave_notify	(Gtk
> > > >  					 GdkEventCrossing *event);
> > > >  static gboolean foobar_enter_notify	(GtkWidget *widget,
> > > >  					 GdkEventCrossing *event);
> > > > -static gboolean foobar_key_press	(GtkWidget *widget,
> > > > -					 GdkEventKey *event);
> > > > -static void foobar_widget_move_focus_out   (FoobarWidget *foo);
> > > > -static void foobar_widget_move_focus_out   (FoobarWidget *foo);
> > > >  static void append_task_menu (FoobarWidget *foo, GtkMenuShell *menu_bar);
> > > >  static void setup_task_menu (FoobarWidget *foo);
> > > >  
> > > > @@ -103,7 +99,6 @@ foobar_widget_class_init (FoobarWidgetCl
> > > >  {
> > > >  	GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
> > > >  	GtkObjectClass *object_class = GTK_OBJECT_CLASS (klass);
> > > > -	GtkBindingSet *binding_set;
> > > >  
> > > >  	object_class->destroy = foobar_widget_destroy;
> > > >  
> > > > @@ -111,9 +106,6 @@ foobar_widget_class_init (FoobarWidgetCl
> > > >  	widget_class->size_allocate = foobar_widget_size_allocate;
> > > >  	widget_class->enter_notify_event = foobar_enter_notify;
> > > >  	widget_class->leave_notify_event = foobar_leave_notify;
> > > > -	widget_class->key_press_event = foobar_key_press;
> > > > -
> > > > -	klass->move_focus_out = foobar_widget_move_focus_out;
> > > >  
> > > >  	gtk_rc_parse_string ("style \"panel-foobar-menubar-style\"\n"
> > > >  			     "{\n"
> > > > @@ -121,44 +113,6 @@ foobar_widget_class_init (FoobarWidgetCl
> > > >  			     "GtkMenuBar::internal-padding = 0\n"
> > > >  			     "}\n"
> > > >  			     "widget \"*.panel-foobar-menubar\" style 
> \"panel-foobar-menubar-style\"");
> > > > -
> > > > -	foobar_widget_signals[MOVE_FOCUS_OUT_SIGNAL] =
> > > > -		g_signal_new	("move_focus_out",
> > > > -				G_TYPE_FROM_CLASS (object_class),
> > > > -				G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
> > > > -				G_STRUCT_OFFSET (FoobarWidgetClass, 
> move_focus_out),
> > > > -				NULL, NULL,
> > > > -                                panel_marshal_VOID__VOID,
> > > > -				G_TYPE_NONE,
> > > > -				0);
> > > > -
> > > > -	binding_set = gtk_binding_set_by_class (object_class);
> > > > -	gtk_binding_entry_add_signal (binding_set,
> > > > -                                      GDK_Tab, GDK_CONTROL_MASK,
> > > > -                                      "move_focus_out", 0);
> > > > -	gtk_binding_entry_add_signal (binding_set,
> > > > -                                      GDK_KP_Tab, GDK_CONTROL_MASK,
> > > > -                                      "move_focus_out", 0);
> > > > -
> > > > -
> > > > -}
> > > > -
> > > > -static gboolean
> > > > -foobar_key_press (GtkWidget *widget, GdkEventKey *event)
> > > > -{
> > > > - 	FoobarWidget *foobar;
> > > > -	PanelWidget *panel;
> > > > -
> > > > -	g_return_val_if_fail (FOOBAR_IS_WIDGET (widget), FALSE);
> > > > -
> > > > -	foobar = FOOBAR_WIDGET (widget);
> > > > -
> > > > -	g_return_val_if_fail (PANEL_IS_WIDGET (foobar->panel), FALSE);
> > > > -
> > > > -	panel = PANEL_WIDGET (foobar->panel);
> > > > -
> > > > -	panel_widget_save_key_event (panel, event);
> > > > -	return GTK_WIDGET_CLASS (foobar_widget_parent_class)->key_press_event 
> (widget, event);
> > > >  }
> > > >  
> > > >  static gboolean
> > > > @@ -1033,10 +987,4 @@ foobar_widget_redo_window(FoobarWidget *
> > > >  	gtk_drag_dest_set (widget, 0, NULL, 0, 0);
> > > >  
> > > >  	gtk_widget_map(widget);
> > > > -}
> > > > -
> > > > -static void
> > > > -foobar_widget_move_focus_out (FoobarWidget *foobar)
> > > > -{
> > > > - 	panel_widget_focus (PANEL_WIDGET (foobar->panel));
> > > >  }
> > > > Index: foobar-widget.h
> > > > ===================================================================
> > > > RCS file: /cvs/gnome/gnome-panel/gnome-panel/foobar-widget.h,v
> > > > retrieving revision 1.30
> > > > diff -u -p -r1.30 foobar-widget.h
> > > > --- foobar-widget.h	29 Mar 2002 14:00:12 -0000	1.30
> > > > +++ foobar-widget.h	14 May 2002 08:14:56 -0000
> > > > @@ -52,8 +52,6 @@ struct _FoobarWidget
> > > >  struct _FoobarWidgetClass
> > > >  {
> > > >  	GtkWindowClass panel_class;
> > > > -
> > > > -	void (*move_focus_out)  (FoobarWidget *foo);
> > > >  };
> > > >  
> > > >  GType		foobar_widget_get_type		(void) G_GNUC_CONST;
> > > > Index: main.c
> > > > ===================================================================
> > > > RCS file: /cvs/gnome/gnome-panel/gnome-panel/main.c,v
> > > > retrieving revision 1.324
> > > > diff -u -p -r1.324 main.c
> > > > --- main.c	18 Apr 2002 14:58:06 -0000	1.324
> > > > +++ main.c	14 May 2002 08:14:56 -0000
> > > > @@ -176,6 +176,8 @@ main(int argc, char **argv)
> > > >  	bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
> > > >  	textdomain (GETTEXT_PACKAGE);
> > > >  
> > > > +	gtk_rc_add_default_file (PANELRC);
> > > > +
> > > >  	gnome_program_init ("gnome-panel", VERSION,
> > > >  			    LIBGNOMEUI_MODULE,
> > > >  			    argc, argv,
> > > > Index: panel-marshal.list
> > > > ===================================================================
> > > > RCS file: /cvs/gnome/gnome-panel/gnome-panel/panel-marshal.list,v
> > > > retrieving revision 1.9
> > > > diff -u -p -r1.9 panel-marshal.list
> > > > --- panel-marshal.list	20 Mar 2002 19:43:21 -0000	1.9
> > > > +++ panel-marshal.list	14 May 2002 08:14:56 -0000
> > > > @@ -6,3 +6,4 @@ VOID:POINTER
> > > >  VOID:VOID
> > > >  VOID:BOOLEAN
> > > >  VOID:INT,INT
> > > > +BOOLEAN:VOID
> > > > Index: panel-widget.c
> > > > ===================================================================
> > > > RCS file: /cvs/gnome/gnome-panel/gnome-panel/panel-widget.c,v
> > > > retrieving revision 1.327
> > > > diff -u -p -r1.327 panel-widget.c
> > > > --- panel-widget.c	10 May 2002 16:13:35 -0000	1.327
> > > > +++ panel-widget.c	14 May 2002 08:14:56 -0000
> > > > @@ -73,11 +73,6 @@ static void panel_widget_style_set      
> > > >  					 GtkStyle         *previous_style);
> > > >  static void panel_widget_realize        (GtkWidget        *widget);
> > > >  
> > > > -static gboolean panel_widget_focus_in_event (GtkWidget        *widget,
> > > > -					     GdkEventFocus    *event);
> > > > -static gboolean panel_widget_focus_out_event(GtkWidget        *widget,
> > > > -					     GdkEventFocus    *event);
> > > > -
> > > >  static void panel_widget_push_move_applet   (PanelWidget      *panel,
> > > >                                               GtkDirectionType  dir);
> > > >  static void panel_widget_switch_move_applet (PanelWidget      *panel,
> > > > @@ -87,6 +82,7 @@ static void panel_widget_free_move_apple
> > > >  static void panel_widget_tab_move           (PanelWidget      *panel,
> > > >                                               gboolean          next);
> > > >  static void panel_widget_end_move           (PanelWidget      *panel);
> > > > +static gboolean panel_widget_popup_panel_menu   (PanelWidget      
> *panel);
> > > >  static gboolean panel_widget_real_focus     (GtkWidget        *widget,
> > > >                                               GtkDirectionType  
> direction);
> > > >  
> > > > @@ -178,6 +174,7 @@ enum {
> > > >  	FREE_MOVE_SIGNAL,
> > > >  	TAB_MOVE_SIGNAL,
> > > >  	END_MOVE_SIGNAL,
> > > > +	POPUP_PANEL_MENU_SIGNAL,
> > > >  	LAST_SIGNAL
> > > >  };
> > > >  
> > > > @@ -320,6 +317,9 @@ panel_widget_class_init (PanelWidgetClas
> > > >  	GObjectClass *gobject_class = (GObjectClass*) class;
> > > >  	GtkWidgetClass *widget_class = (GtkWidgetClass*) class;
> > > >  	GtkContainerClass *container_class = (GtkContainerClass*) class;
> > > > +	GtkBindingSet *binding_set;
> > > > +
> > > > +	binding_set = gtk_binding_set_by_class (class);
> > > >  
> > > >  	panel_widget_signals[ORIENT_CHANGE_SIGNAL] =
> > > >                  g_signal_new ("orient_change",
> > > > @@ -466,6 +466,17 @@ panel_widget_class_init (PanelWidgetClas
> > > >                                G_TYPE_NONE,
> > > >                                0);
> > > >  
> > > > +	panel_widget_signals[POPUP_PANEL_MENU_SIGNAL] =
> > > > +		g_signal_new ("popup_panel_menu",
> > > > +                              G_TYPE_FROM_CLASS (class),
> > > > +                              G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
> > > > +                              G_STRUCT_OFFSET (PanelWidgetClass, 
> popup_panel_menu),
> > > > +                              NULL,
> > > > +                              NULL,
> > > > +                              panel_marshal_BOOLEAN__VOID,
> > > > +                              G_TYPE_BOOLEAN,
> > > > +                              0);
> > > > +
> > > >  	class->orient_change = NULL;
> > > >  	class->size_change = NULL;
> > > >  	class->applet_move = NULL;
> > > > @@ -478,6 +489,7 @@ panel_widget_class_init (PanelWidgetClas
> > > >  	class->free_move = panel_widget_free_move_applet;
> > > >  	class->tab_move = panel_widget_tab_move;
> > > >  	class->end_move = panel_widget_end_move;
> > > > +	class->popup_panel_menu = panel_widget_popup_panel_menu;
> > > >  
> > > >  	object_class->destroy = panel_widget_destroy;
> > > >  	gobject_class->finalize = panel_widget_finalize;
> > > > @@ -487,12 +499,13 @@ panel_widget_class_init (PanelWidgetClas
> > > >  	widget_class->realize = panel_widget_realize;
> > > >  	widget_class->expose_event = panel_widget_expose;
> > > >  	widget_class->style_set = panel_widget_style_set;
> > > > -	widget_class->focus_in_event = panel_widget_focus_in_event;
> > > > -	widget_class->focus_out_event = panel_widget_focus_out_event;
> > > >  	widget_class->focus = panel_widget_real_focus;
> > > >  
> > > >  	container_class->add = panel_widget_cadd;
> > > >  	container_class->remove = panel_widget_cremove;
> > > > +
> > > > +	gtk_binding_entry_add_signal (binding_set, GDK_F10, GDK_CONTROL_MASK,
> > > > +				      "popup_panel_menu", 0);
> > > >  }
> > > >  
> > > >  static void
> > > > @@ -1715,9 +1728,6 @@ panel_widget_finalize (GObject *obj)
> > > >  	g_free (panel->unique_id);
> > > >  	panel->unique_id = NULL;
> > > >  
> > > > -	if (panel->key_event)
> > > > -		gdk_event_free ((GdkEvent *)panel->key_event);
> > > > -
> > > >  	if (G_OBJECT_CLASS (panel_widget_parent_class)->finalize)
> > > >  		G_OBJECT_CLASS (panel_widget_parent_class)->finalize (obj);
> > > >  }
> > > > @@ -2950,69 +2960,15 @@ panel_widget_end_move (PanelWidget *pane
> > > >  }
> > > >  
> > > >  static gboolean
> > > > -panel_widget_focus_in_event (GtkWidget *widget, GdkEventFocus *event)
> > > > -{
> > > > -	/*
> > > > -	 * FIXME: we need to figure out something sensible
> > > > -	 *        to do to indicate focus
> > > > -	 */
> > > > -
> > > > -	GTK_WIDGET_CLASS (panel_widget_parent_class)->focus_in_event (widget, 
> event);
> > > > -
> > > > -	return FALSE;
> > > > -}
> > > > -
> > > > -static gboolean
> > > > -panel_widget_focus_out_event (GtkWidget *widget, GdkEventFocus *event)
> > > > -{
> > > > -	PanelWidget *panel_widget = PANEL_WIDGET (widget);
> > > > -
> > > > -	if (GTK_WINDOW (panel_widget->panel_parent)->has_focus)
> > > > -		GTK_WIDGET_UNSET_FLAGS (widget, GTK_CAN_FOCUS);
> > > > -
> > > > -	GTK_WIDGET_CLASS (panel_widget_parent_class)->focus_out_event (widget, 
> event);
> > > > -
> > > > -	return FALSE;
> > > > -}
> > > > -
> > > > -static gboolean
> > > >  panel_widget_real_focus (GtkWidget        *widget,
> > > >                           GtkDirectionType  direction)
> > > >  {
> > > > -	PanelWidget *panel = PANEL_WIDGET (widget);
> > > > -
> > > > -	if (panel->key_event) {
> > > > -		if (panel->key_event->state & GDK_CONTROL_MASK) {
> > > > -			/*
> > > > -	 		 * Ctrl+Tab was pressed when focus was in applet in
> > > > -			 * another process
> > > > -			 */
> > > > -			panel_widget_focus (PANEL_WIDGET (widget));
> > > > -			return TRUE;
> > > > -		}
> > > > -	}
> > > > -
> > > > -	if (GTK_WIDGET_HAS_FOCUS (widget)) {
> > > > +	if (GTK_WIDGET_HAS_FOCUS (widget) && GTK_FIXED (widget)->children) {
> > > >  		GTK_WIDGET_UNSET_FLAGS (widget, GTK_CAN_FOCUS);
> > > >  	}
> > > >  	return GTK_WIDGET_CLASS (panel_widget_parent_class)->focus (widget, 
> direction);
> > > >  }
> > > >  
> > > > -void panel_widget_focus (PanelWidget *panel)
> > > > -{
> > > > -	/*
> > > > -	 * Set the focus back on the panel; we unset the focus child so that
> > > > -	 * the next time focus is inside the panel we do not remember the
> > > > -	 * previously focused child. We also need to set GTK_CAN_FOCUS flag
> > > > -	 * on the panel as it is unset when this function is called.
> > > > -	 */
> > > > -	if (!DRAWER_IS_WIDGET (panel->panel_parent)) {
> > > > -		gtk_container_set_focus_child (GTK_CONTAINER (panel), NULL);
> > > > -		GTK_WIDGET_SET_FLAGS (panel, GTK_CAN_FOCUS);
> > > > -      		gtk_widget_grab_focus (GTK_WIDGET (panel));
> > > > -	}
> > > > -}
> > > > -
> > > >  PanelOrient
> > > >  panel_widget_get_applet_orient (PanelWidget *panel)
> > > >  {
> > > > @@ -3025,13 +2981,11 @@ panel_widget_get_applet_orient (PanelWid
> > > >  	return basep_widget_get_applet_orient (BASEP_WIDGET 
> (panel->panel_parent));
> > > >  }
> > > >  
> > > > -void 
> > > > -panel_widget_save_key_event (PanelWidget *panel,
> > > > -			     GdkEventKey *key_event)
> > > > +static gboolean 
> > > > +panel_widget_popup_panel_menu (PanelWidget *panel)
> > > >  {
> > > > -	if (panel->key_event) {
> > > > -		gdk_event_free ((GdkEvent *)panel->key_event);
> > > > -	}
> > > > -	panel->key_event = (GdkEventKey *) gdk_event_copy ((GdkEvent 
> *)key_event);
> > > > -}
> > > > +	gboolean ret_val;
> > > >  
> > > > +	g_signal_emit_by_name (panel, "popup_menu", &ret_val);
> > > > +	return ret_val;
> > > > +}
> > > > Index: panel-widget.h
> > > > ===================================================================
> > > > RCS file: /cvs/gnome/gnome-panel/gnome-panel/panel-widget.h,v
> > > > retrieving revision 1.138
> > > > diff -u -p -r1.138 panel-widget.h
> > > > --- panel-widget.h	17 Apr 2002 12:52:59 -0000	1.138
> > > > +++ panel-widget.h	14 May 2002 08:14:56 -0000
> > > > @@ -107,7 +107,6 @@ struct _PanelWidget
> > > >  						   was set, this is used
> > > >  						   for tiling onto the
> > > >  						   background */
> > > > -	GdkEventKey		*key_event;
> > > >  };
> > > >  
> > > >  struct _PanelWidgetClass
> > > > @@ -139,6 +138,7 @@ struct _PanelWidgetClass
> > > >  	void (* tab_move) (PanelWidget	*panel,
> > > >                             gboolean	 next);
> > > >  	void (* end_move) (PanelWidget	*panel);
> > > > +	gboolean (* popup_panel_menu) (PanelWidget	*panel);
> > > >  
> > > >  };
> > > >  
> > > > Index: panel.c
> > > > ===================================================================
> > > > RCS file: /cvs/gnome/gnome-panel/gnome-panel/panel.c,v
> > > > retrieving revision 1.468
> > > > diff -u -p -r1.468 panel.c
> > > > --- panel.c	18 Apr 2002 13:43:39 -0000	1.468
> > > > +++ panel.c	14 May 2002 08:14:57 -0000
> > > > @@ -808,9 +808,6 @@ panel_end_move (GtkWidget *widget, GdkEv
> > > >  			g_source_remove (panel_dragged_timeout);
> > > >  		panel_dragged_timeout = 0;
> > > >  		panel_been_moved = FALSE;
> > > > -		if (pointer_in_widget (basep->panel, bevent) &&
> > > > -		    ! gtk_widget_is_focus (basep->panel))
> > > > -			panel_widget_focus (PANEL_WIDGET (basep->panel));
> > > >  
> > > >  		/* FIXME: why is this neccessary!!!!???? */
> > > >  		gtk_container_foreach (GTK_CONTAINER (basep->panel),
> > > > @@ -829,6 +826,9 @@ panel_event(GtkWidget *widget, GdkEvent 
> > > >  	PanelWidget *panel = NULL;
> > > >  	BasePWidget *basep = NULL;
> > > >  	GdkEventButton *bevent;
> > > > +	GdkEventKey *kevent;
> > > > +	GdkEventFocus *fevent;
> > > > +	GtkStateType state;
> > > >  	int x, y;
> > > >  
> > > >  	if (BASEP_IS_WIDGET (widget)) {
> > > > @@ -884,6 +884,22 @@ panel_event(GtkWidget *widget, GdkEvent 
> > > >  			}
> > > >  		}
> > > >  		break;
> > > > +	case GDK_KEY_PRESS:
> > > > +		kevent = (GdkEventKey *)event;
> > > > +		if (GTK_IS_SOCKET (GTK_WINDOW (widget)->focus_widget)) {
> > > > +			/*
> > > > +		  	 * If the focus widget is a GtkSocket, i.e. the
> > > > +			 * focus is in an applet in another widget, then key 
> > > > +			 * bindings do not work. We get around this by
> > > > +			 * activating the key bindings here.
> > > > +			 */ 
> > > > +			return gtk_bindings_activate (GTK_OBJECT (panel), 
> kevent->keyval, kevent->state);
> > > > +		}
> > > > +		break;
> > > > +	case GDK_FOCUS_CHANGE:
> > > > +		fevent = (GdkEventFocus *)event;
> > > > +		state = (fevent->in) ? GTK_STATE_SELECTED : GTK_STATE_NORMAL;
> > > > +		gtk_widget_set_state (GTK_WIDGET (panel), state);
> > > >  
> > > >  	default:
> > > >  		break;
> > > > Index: panelrc
> > > > ===================================================================
> > > > RCS file: panelrc
> > > > diff -N panelrc
> > > > --- /dev/null	1 Jan 1970 00:00:00 -0000
> > > > +++ panelrc	14 May 2002 08:14:57 -0000
> > > > @@ -0,0 +1,8 @@
> > > > +style "panel-style"
> > > > +{
> > > > +  fg[SELECTED] = { 0, 0, 0 }
> > > > +  bg[SELECTED] = { 0xd6d6, 0xd6d6, 0xd6d6 }
> > > > +}
> > > > +
> > > > +widget "*PanelWidget*" style : application "panel-style"
> > > > +widget "*PanelApplet*" style : application "panel-style"
> > > > 
> > > > ____________________________________________________________________
> > > > 
> > > > Index: ChangeLog
> > > > ===================================================================
> > > > RCS file: /cvs/gnome/gnome-panel/libpanel-applet/ChangeLog,v
> > > > retrieving revision 1.62
> > > > diff -u -p -r1.62 ChangeLog
> > > > --- ChangeLog	13 May 2002 12:30:33 -0000	1.62
> > > > +++ ChangeLog	14 May 2002 08:18:35 -0000
> > > > @@ -1,3 +1,18 @@
> > > > +2002-05-14  Padraig O'Briain <padraig obriain sun com>
> > > > +
> > > > +	* Makefile.am:
> > > > +	Add definiition for PANELRC
> > > > +
> > > > +	* panel-applet.c
> > > > +	Add function panel_applet_add_default_rcfile()
> > > > +	(panel_applet_expose): Use style's focus-line-width and
> > > > +	focus-padding when drawing focus indicator.
> > > > +
> > > > +	* panel-applet.h:
> > > > +	Add call to panel_applet_add_default_rcfile()  to
> > > > +	PANEL_APPLET_BONOBO_FACTORY macro so applets will show SELECTED state
> > > > +	as NORMAL, by default. 
> > > > +
> > > >  2002-05-13  Arvind Samptur   <arvind samptur wipro com>
> > > >  	* panel-applet.c: (panel_applet_button_press)
> > > >  	stopped the propogation of the left click on applet
> > > > Index: Makefile.am
> > > > ===================================================================
> > > > RCS file: /cvs/gnome/gnome-panel/libpanel-applet/Makefile.am,v
> > > > retrieving revision 1.12
> > > > diff -u -p -r1.12 Makefile.am
> > > > --- Makefile.am	21 Mar 2002 13:48:08 -0000	1.12
> > > > +++ Makefile.am	14 May 2002 08:18:35 -0000
> > > > @@ -13,6 +13,7 @@ INCLUDES =							
> \
> > > >  	-DPANEL_APPLET_DATADIR=\""$(datadir)"\"			\
> > > >  	-DPANEL_APPLET_GLADEDIR=\""$(gladedir)"\"		\
> > > >  	-DGNOMELOCALEDIR=\""$(datadir)/locale"\"		\
> > > > +	-DPANELRC=\""$(datadir)/gnome-panel/panelrc"\"		\
> > > >  	$(LIBPANEL_APPLET_CFLAGS)				\
> > > >  	$(WARN_CFLAGS)
> > > >  
> > > > Index: panel-applet.c
> > > > ===================================================================
> > > > RCS file: /cvs/gnome/gnome-panel/libpanel-applet/panel-applet.c,v
> > > > retrieving revision 1.56
> > > > diff -u -p -r1.56 panel-applet.c
> > > > --- panel-applet.c	13 May 2002 12:30:33 -0000	1.56
> > > > +++ panel-applet.c	14 May 2002 08:18:35 -0000
> > > > @@ -489,15 +489,24 @@ panel_applet_expose (GtkWidget      *wid
> > > >  
> > > >  	GTK_WIDGET_CLASS (parent_class)->expose_event (widget, event);
> > > >  
> > > > -        if (GTK_WIDGET_HAS_FOCUS (widget))
> > > > +        if (GTK_WIDGET_HAS_FOCUS (widget)) {
> > > > +		gint focus_width, focus_pad;
> > > > +		gint x, y, width, height;
> > > > +
> > > > +		gtk_widget_style_get (widget,
> > > > +				      "focus-line-width", &focus_width,
> > > > +				      "focus-padding", &focus_pad,
> > > > +				      NULL);
> > > > +		x = widget->allocation.x;
> > > > +		y = widget->allocation.y;
> > > > +		width = widget->allocation.width - (focus_width + focus_pad);
> > > > +		height = widget->allocation.height - (focus_width + focus_pad);
> > > > +
> > > >  		gtk_paint_focus (widget->style, widget->window,
> > > >                                   GTK_WIDGET_STATE (widget),
> > > >                                   &event->area, widget, "panel_applet",
> > > > -                                 widget->allocation.x + 1,
> > > > -                                 widget->allocation.y + 1,
> > > > -                                 widget->allocation.width - 3,
> > > > -                                 widget->allocation.height - 3);
> > > > -
> > > > +                                 x, y, width, height);
> > > > +	}
> > > >  	return FALSE;
> > > >  }                
> > > >  
> > > > @@ -1484,4 +1493,10 @@ panel_applet_shlib_factory (const char  
> > > >  			g_cclosure_new (G_CALLBACK (callback),
> > > >  					user_data, NULL),
> > > >  			ev);
> > > > +}
> > > > +
> > > > +void
> > > > +panel_applet_add_default_rcfile (void)
> > > > +{
> > > > +        gtk_rc_add_default_file (PANELRC);
> > > >  }
> > > > Index: panel-applet.h
> > > > ===================================================================
> > > > RCS file: /cvs/gnome/gnome-panel/libpanel-applet/panel-applet.h,v
> > > > retrieving revision 1.32
> > > > diff -u -p -r1.32 panel-applet.h
> > > > --- panel-applet.h	17 Apr 2002 14:12:50 -0000	1.32
> > > > +++ panel-applet.h	14 May 2002 08:18:35 -0000
> > > > @@ -165,6 +165,8 @@ Bonobo_Unknown	   panel_applet_shlib_fac
> > > >  						       GClosure                  
>  *closure,
> > > >  						       CORBA_Environment         
>  *ev);
> > > >  
> > > > +void              panel_applet_add_default_rcfile     (void);
> > > > +
> > > >  /*
> > > >   * These macros are getting a bit unwieldy.
> > > >   *
> > > > @@ -180,6 +182,7 @@ int main (int argc, char *argv [])						
> > > >  	bindtextdomain (GETTEXT_PACKAGE, GNOMELOCALEDIR);			
> \
> > > >  	bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");			
> \
> > > >  	textdomain (GETTEXT_PACKAGE);						
> \
> > > > +        panel_applet_add_default_rcfile ();					
> \
> > > >  	gnome_program_init (name, version,					
> \
> > > >  			    LIBGNOMEUI_MODULE,					
> \
> > > >  			    argc, argv,						
> \
> > > > @@ -194,6 +197,7 @@ int main (int argc, char *argv [])						
> > > >  	bindtextdomain (GETTEXT_PACKAGE, GNOMELOCALEDIR);			
> \
> > > >  	bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");			
> \
> > > >  	textdomain (GETTEXT_PACKAGE);						
> \
> > > > +        panel_applet_add_default_rcfile ();					
> \
> > > >  	gnome_program_init (name, version,					
> \
> > > >  			    LIBGNOMEUI_MODULE,					
> \
> > > >  			    argc, argv,						
> \
> > > _______________________________________________
> > > desktop-devel-list mailing list
> > > desktop-devel-list gnome org
> > > http://mail.gnome.org/mailman/listinfo/desktop-devel-list
> > 
> > 
> > _______________________________________________
> > gnome-accessibility-list mailing list
> > gnome-accessibility-list gnome org
> > http://mail.gnome.org/mailman/listinfo/gnome-accessibility-list
> 





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]