static void pager_update(PagerData* pager)
{
	wnck_pager_set_orientation(WNCK_PAGER(pager->pager), pager->orientation);
	wnck_pager_set_n_rows(WNCK_PAGER(pager->pager), pager->n_rows);
	wnck_pager_set_show_all(WNCK_PAGER(pager->pager), pager->display_all);

	if (pager->wm == PAGER_WM_MARCO)
		wnck_pager_set_display_mode(WNCK_PAGER(pager->pager), pager->display_mode);
	else
		wnck_pager_set_display_mode(WNCK_PAGER(pager->pager), WNCK_PAGER_DISPLAY_CONTENT);
}
static void
pager_update (PagerData *pager)
{
	wnck_pager_set_orientation (WNCK_PAGER (pager->pager),
				    pager->orientation);
	wnck_pager_set_n_rows (WNCK_PAGER (pager->pager),
			       pager->n_rows);
	wnck_pager_set_display_mode (WNCK_PAGER (pager->pager),
				     pager->display_mode);
	wnck_pager_set_show_all (WNCK_PAGER (pager->pager),
				 pager->display_all);
}
示例#3
0
static int
pager_wnck_constructor(Plugin *plug, char **fp)
{
    pager *pg;

    ENTER;
    pg = g_new0(pager, 1);
    g_return_val_if_fail(pg != NULL, 0);
    plug->priv = pg;
    pg->plugin = plug;

    plug->pwid = gtk_event_box_new();
    GTK_WIDGET_SET_FLAGS( plug->pwid, GTK_NO_WINDOW );

    pg->htable = g_hash_table_new (g_int_hash, g_int_equal);

    pg->box = wnck_pager_new(NULL);
    g_return_val_if_fail(pg->box != NULL, 0);
    //set orientation
    wnck_pager_set_orientation (WNCK_PAGER (pg->box),pg->plugin->panel->orientation);
    wnck_pager_set_n_rows (WNCK_PAGER (pg->box), 1); //pager->rows);
    wnck_pager_set_display_mode (WNCK_PAGER (pg->box),WNCK_PAGER_DISPLAY_CONTENT);
    //pager->show_names ? WNCK_PAGER_DISPLAY_NAME : WNCK_PAGER_DISPLAY_CONTENT);
    //gtk_widget_show (pg->box);
    //gtk_container_add (GTK_CONTAINER (plugin), pg->box);

    gtk_container_set_border_width (GTK_CONTAINER (pg->box), 2);
    gtk_widget_show(pg->box);

    gtk_container_set_border_width (GTK_CONTAINER (plug->pwid), 1);
    gtk_container_add(GTK_CONTAINER(plug->pwid), pg->box);
    pg->eb = pg->box;

    pg->ratio = (gfloat)gdk_screen_width() / (gfloat)gdk_screen_height();
    pg->scaley = (gfloat)pg->dh / (gfloat)gdk_screen_height();
    pg->scalex = (gfloat)pg->dw / (gfloat)gdk_screen_width();

    pager_rebuild_all(fbev, pg);
    //do_net_current_desktop(fbev, pg);
    //do_net_client_list_stacking(fbev, pg);

    gdk_window_add_filter(NULL, (GdkFilterFunc)pager_event_filter, pg );

    g_signal_connect (G_OBJECT (fbev), "current_desktop",
          G_CALLBACK (do_net_current_desktop), (gpointer) pg);
    g_signal_connect (G_OBJECT (fbev), "active_window",
          G_CALLBACK (do_net_active_window), (gpointer) pg);
    g_signal_connect (G_OBJECT (fbev), "number_of_desktops",
          G_CALLBACK (pager_rebuild_all), (gpointer) pg);
    g_signal_connect (G_OBJECT (fbev), "client_list_stacking",
          G_CALLBACK (do_net_client_list_stacking), (gpointer) pg);
    RET(1);
}