void fm_turn_on_desktop_icons() { GdkDisplay * gdpy; gint i; int big = 0; if( ! group ) group = gtk_window_group_new(); theme_change_notify = g_signal_connect( gtk_icon_theme_get_default(), "changed", G_CALLBACK(on_icon_theme_changed), NULL ); vfs_mime_type_get_icon_size( &big, NULL ); gdpy = gdk_display_get_default(); n_screens = gdk_display_get_n_screens( gdpy ); desktops = g_new( GtkWidget *, n_screens ); for ( i = 0; i < n_screens; i++ ) { desktops[ i ] = desktop_window_new(); desktop_window_set_icon_size( (DesktopWindow*)desktops[ i ], big ); desktop_window_set_single_click( (DesktopWindow*)desktops[ i ], app_settings.single_click ); gtk_widget_realize( desktops[ i ] ); /* without this, setting wallpaper won't work */ gtk_widget_show_all( desktops[ i ] ); gdk_window_lower( desktops[ i ] ->window ); gtk_window_group_add_window( GTK_WINDOW_GROUP(group), GTK_WINDOW( desktops[i] ) ); } fm_desktop_update_colors(); fm_desktop_update_wallpaper(); }
static VALUE rg_remove(VALUE self, VALUE window) { gtk_window_group_remove_window(GTK_WINDOW_GROUP(RVAL2GOBJ(self)), GTK_WINDOW(RVAL2GOBJ(window))); return self; }
/****************************************************************************** * gtk_WindowGroupRemoveWindow( wGroup, window ) --> NIL ******************************************************************************/ int clip_GTK_WINDOWGROUPREMOVEWINDOW(ClipMachine * ClipMachineMemory) { C_object *cwgrp = _fetch_co_arg(ClipMachineMemory); C_widget *cwin = _fetch_cwidget(ClipMachineMemory, _clip_spar(ClipMachineMemory, 2)); CHECKARG(1, MAP_type_of_ClipVarType); CHECKCOBJ(cwgrp, GTK_IS_WINDOW_GROUP(cwgrp->object)); CHECKARG2(2, MAP_type_of_ClipVarType, NUMERIC_type_of_ClipVarType); CHECKCWID(cwin, GTK_IS_WINDOW); gtk_window_group_remove_window(GTK_WINDOW_GROUP(cwgrp->object), GTK_WINDOW(cwin->widget)); return 0; err: return 1; }