Let the applets choose if they want to expand or fill the available size
This commit is contained in:
parent
47ab15d16d
commit
29c9cb744c
|
@ -51,6 +51,8 @@ struct _PanelApplet
|
||||||
PanelAppletInitFunc init;
|
PanelAppletInitFunc init;
|
||||||
PanelAppletDestroyFunc destroy;
|
PanelAppletDestroyFunc destroy;
|
||||||
PanelAppletPosition position;
|
PanelAppletPosition position;
|
||||||
|
gboolean expand;
|
||||||
|
gboolean fill;
|
||||||
void * priv;
|
void * priv;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -50,6 +50,8 @@ PanelApplet applet =
|
||||||
_clock_init,
|
_clock_init,
|
||||||
_clock_destroy,
|
_clock_destroy,
|
||||||
PANEL_APPLET_POSITION_LAST,
|
PANEL_APPLET_POSITION_LAST,
|
||||||
|
FALSE,
|
||||||
|
TRUE,
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -57,6 +57,8 @@ PanelApplet applet =
|
||||||
_cpu_init,
|
_cpu_init,
|
||||||
_cpu_destroy,
|
_cpu_destroy,
|
||||||
PANEL_APPLET_POSITION_END,
|
PANEL_APPLET_POSITION_END,
|
||||||
|
FALSE,
|
||||||
|
TRUE,
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -38,6 +38,8 @@ PanelApplet applet =
|
||||||
_desktop_init,
|
_desktop_init,
|
||||||
NULL,
|
NULL,
|
||||||
PANEL_APPLET_POSITION_FIRST,
|
PANEL_APPLET_POSITION_FIRST,
|
||||||
|
FALSE,
|
||||||
|
TRUE,
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -35,6 +35,8 @@ PanelApplet applet =
|
||||||
_lock_init,
|
_lock_init,
|
||||||
NULL,
|
NULL,
|
||||||
PANEL_APPLET_POSITION_START,
|
PANEL_APPLET_POSITION_START,
|
||||||
|
FALSE,
|
||||||
|
TRUE,
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -35,6 +35,8 @@ PanelApplet applet =
|
||||||
_logout_init,
|
_logout_init,
|
||||||
NULL,
|
NULL,
|
||||||
PANEL_APPLET_POSITION_START,
|
PANEL_APPLET_POSITION_START,
|
||||||
|
FALSE,
|
||||||
|
TRUE,
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -90,6 +90,8 @@ PanelApplet applet =
|
||||||
_main_init,
|
_main_init,
|
||||||
_main_destroy,
|
_main_destroy,
|
||||||
PANEL_APPLET_POSITION_FIRST,
|
PANEL_APPLET_POSITION_FIRST,
|
||||||
|
FALSE,
|
||||||
|
TRUE,
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -52,6 +52,8 @@ PanelApplet applet =
|
||||||
_memory_init,
|
_memory_init,
|
||||||
_memory_destroy,
|
_memory_destroy,
|
||||||
PANEL_APPLET_POSITION_END,
|
PANEL_APPLET_POSITION_END,
|
||||||
|
FALSE,
|
||||||
|
TRUE,
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -119,6 +119,8 @@ PanelApplet applet =
|
||||||
_tasks_init,
|
_tasks_init,
|
||||||
_tasks_destroy,
|
_tasks_destroy,
|
||||||
PANEL_APPLET_POSITION_START,
|
PANEL_APPLET_POSITION_START,
|
||||||
|
TRUE,
|
||||||
|
TRUE,
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -189,6 +191,7 @@ static void _task_set(Task * task, char const * name, GdkPixbuf * pixbuf)
|
||||||
/* tasks_init */
|
/* tasks_init */
|
||||||
static GtkWidget * _tasks_init(PanelApplet * applet)
|
static GtkWidget * _tasks_init(PanelApplet * applet)
|
||||||
{
|
{
|
||||||
|
GtkWidget * ret;
|
||||||
Tasks * tasks;
|
Tasks * tasks;
|
||||||
|
|
||||||
if((tasks = malloc(sizeof(*tasks))) == NULL)
|
if((tasks = malloc(sizeof(*tasks))) == NULL)
|
||||||
|
@ -206,7 +209,12 @@ static GtkWidget * _tasks_init(PanelApplet * applet)
|
||||||
tasks->display = NULL;
|
tasks->display = NULL;
|
||||||
tasks->screen = NULL;
|
tasks->screen = NULL;
|
||||||
tasks->root = NULL;
|
tasks->root = NULL;
|
||||||
return tasks->hbox;
|
ret = gtk_scrolled_window_new(NULL, NULL);
|
||||||
|
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(ret),
|
||||||
|
GTK_POLICY_NEVER, GTK_POLICY_NEVER);
|
||||||
|
gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(ret),
|
||||||
|
tasks->hbox);
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
12
src/panel.c
12
src/panel.c
|
@ -128,6 +128,8 @@ static gboolean _on_idle(gpointer data)
|
||||||
Plugin * plugin;
|
Plugin * plugin;
|
||||||
PanelApplet * applet;
|
PanelApplet * applet;
|
||||||
GtkWidget * widget;
|
GtkWidget * widget;
|
||||||
|
gboolean exp;
|
||||||
|
gboolean fill;
|
||||||
|
|
||||||
for(i = 0; plugins[i] != NULL; i++)
|
for(i = 0; plugins[i] != NULL; i++)
|
||||||
if((plugin = plugin_new(LIBDIR, PACKAGE, "applets", plugins[i]))
|
if((plugin = plugin_new(LIBDIR, PACKAGE, "applets", plugins[i]))
|
||||||
|
@ -138,29 +140,31 @@ static gboolean _on_idle(gpointer data)
|
||||||
&& applet->init != NULL
|
&& applet->init != NULL
|
||||||
&& (widget = applet->init(applet)) != NULL)
|
&& (widget = applet->init(applet)) != NULL)
|
||||||
{
|
{
|
||||||
|
exp = applet->expand;
|
||||||
|
fill = applet->fill;
|
||||||
switch(applet->position)
|
switch(applet->position)
|
||||||
{
|
{
|
||||||
case PANEL_APPLET_POSITION_END:
|
case PANEL_APPLET_POSITION_END:
|
||||||
gtk_box_pack_end(GTK_BOX(panel->hbox),
|
gtk_box_pack_end(GTK_BOX(panel->hbox),
|
||||||
widget, FALSE, TRUE, 2);
|
widget, exp, fill, 2);
|
||||||
break;
|
break;
|
||||||
case PANEL_APPLET_POSITION_FIRST:
|
case PANEL_APPLET_POSITION_FIRST:
|
||||||
gtk_box_pack_start(GTK_BOX(panel->hbox),
|
gtk_box_pack_start(GTK_BOX(panel->hbox),
|
||||||
widget, FALSE, TRUE, 2);
|
widget, exp, fill, 2);
|
||||||
gtk_box_reorder_child(GTK_BOX(
|
gtk_box_reorder_child(GTK_BOX(
|
||||||
panel->hbox),
|
panel->hbox),
|
||||||
widget, 0);
|
widget, 0);
|
||||||
break;
|
break;
|
||||||
case PANEL_APPLET_POSITION_LAST:
|
case PANEL_APPLET_POSITION_LAST:
|
||||||
gtk_box_pack_end(GTK_BOX(panel->hbox),
|
gtk_box_pack_end(GTK_BOX(panel->hbox),
|
||||||
widget, FALSE, TRUE, 2);
|
widget, exp, fill, 2);
|
||||||
gtk_box_reorder_child(GTK_BOX(
|
gtk_box_reorder_child(GTK_BOX(
|
||||||
panel->hbox),
|
panel->hbox),
|
||||||
widget, 0);
|
widget, 0);
|
||||||
break;
|
break;
|
||||||
case PANEL_APPLET_POSITION_START:
|
case PANEL_APPLET_POSITION_START:
|
||||||
gtk_box_pack_start(GTK_BOX(panel->hbox),
|
gtk_box_pack_start(GTK_BOX(panel->hbox),
|
||||||
widget, FALSE, TRUE, 2);
|
widget, exp, fill, 2);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
gtk_widget_show_all(widget);
|
gtk_widget_show_all(widget);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user