static void desktop_cb (GSimpleAction *action, GVariant *parameter, gpointer callback_data) { GdkScreen *screen; GdkWindow *root; GtkWidget *window; GtkWidget *label; GdkRGBA desktop_color; screen = gdk_screen_get_default (); root = gdk_screen_get_root_window (screen); window = gtk_window_new (GTK_WINDOW_TOPLEVEL); set_gtk_window_type (GTK_WINDOW (window), "_NET_WM_WINDOW_TYPE_DESKTOP"); gtk_window_set_title (GTK_WINDOW (window), "Desktop"); gtk_widget_set_size_request (window, gdk_window_get_width (root), gdk_window_get_height (root)); gtk_window_move (GTK_WINDOW (window), 0, 0); desktop_color.red = 0.32; desktop_color.green = 0.46; desktop_color.blue = 0.65; desktop_color.alpha = 1.0; override_background_color (window, &desktop_color); label = focus_label (window); gtk_container_add (GTK_CONTAINER (window), label); gtk_widget_show_all (window); }
static void desktop_cb (gpointer callback_data, guint callback_action, GtkWidget *widget) { GtkWidget *window; GtkWidget *label; GdkColor desktop_color; window = gtk_window_new (GTK_WINDOW_TOPLEVEL); set_gtk_window_type (GTK_WINDOW (window), "_NET_WM_WINDOW_TYPE_DESKTOP"); gtk_window_set_title (GTK_WINDOW (window), "Desktop"); gtk_widget_set_size_request (window, gdk_screen_width (), gdk_screen_height ()); gtk_window_move (GTK_WINDOW (window), 0, 0); desktop_color.red = 0x5144; desktop_color.green = 0x75D6; desktop_color.blue = 0xA699; gtk_widget_modify_bg (window, GTK_STATE_NORMAL, &desktop_color); label = focus_label (window); gtk_container_add (GTK_CONTAINER (window), label); gtk_widget_show_all (window); }
static void splashscreen_cb (GSimpleAction *action, GVariant *parameter, gpointer callback_data) { GtkWidget *window; GtkWidget *image; GtkWidget *vbox; window = gtk_window_new (GTK_WINDOW_TOPLEVEL); set_gtk_window_type (GTK_WINDOW (window), "_NET_WM_WINDOW_TYPE_SPLASH"); gtk_window_set_title (GTK_WINDOW (window), "Splashscreen"); vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); image = gtk_image_new_from_icon_name ("dialog-information", GTK_ICON_SIZE_DIALOG); gtk_box_pack_start (GTK_BOX (vbox), image, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), focus_label (window), FALSE, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), vbox); gtk_widget_show_all (window); }
static void splashscreen_cb (gpointer callback_data, guint callback_action, GtkWidget *widget) { GtkWidget *window; GtkWidget *image; GtkWidget *vbox; window = gtk_window_new (GTK_WINDOW_TOPLEVEL); set_gtk_window_type (GTK_WINDOW (window), "_NET_WM_WINDOW_TYPE_SPLASHSCREEN"); gtk_window_set_title (GTK_WINDOW (window), "Splashscreen"); vbox = gtk_vbox_new (FALSE, 0); image = gtk_image_new_from_stock (GTK_STOCK_DIALOG_INFO, GTK_ICON_SIZE_DIALOG); gtk_box_pack_start (GTK_BOX (vbox), image, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), focus_label (window), FALSE, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), vbox); gtk_widget_show_all (window); }
static void make_dock (int type) { GtkWidget *window; GtkWidget *image; GtkWidget *box; GtkWidget *button; GdkScreen *screen; GdkWindow *root; g_return_if_fail (type != DOCK_ALL); box = NULL; switch (type) { case DOCK_LEFT: case DOCK_RIGHT: box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); break; case DOCK_TOP: case DOCK_BOTTOM: box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); break; case DOCK_ALL: default: break; } window = gtk_window_new (GTK_WINDOW_TOPLEVEL); set_gtk_window_type (GTK_WINDOW (window), "_NET_WM_WINDOW_TYPE_DOCK"); image = gtk_image_new_from_icon_name ("dialog-information", GTK_ICON_SIZE_DIALOG); gtk_box_pack_start (GTK_BOX (box), image, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (box), focus_label (window), FALSE, FALSE, 0); button = gtk_button_new_with_label ("Close"); gtk_box_pack_start (GTK_BOX (box), button, FALSE, FALSE, 0); g_signal_connect_swapped (G_OBJECT (button), "clicked", G_CALLBACK (gtk_widget_destroy), window); gtk_container_add (GTK_CONTAINER (window), box); screen = gdk_screen_get_default (); root = gdk_screen_get_root_window (screen); #define DOCK_SIZE 48 switch (type) { case DOCK_LEFT: gtk_widget_set_size_request (window, DOCK_SIZE, 400); gtk_window_move (GTK_WINDOW (window), 0, 000); set_gtk_window_struts (window, DOCK_SIZE, 0, 0, 0); gtk_window_set_title (GTK_WINDOW (window), "LeftDock"); break; case DOCK_RIGHT: gtk_widget_set_size_request (window, DOCK_SIZE, 400); gtk_window_move (GTK_WINDOW (window), gdk_window_get_width (root) - DOCK_SIZE, 200); set_gtk_window_struts (window, 0, DOCK_SIZE, 0, 0); gtk_window_set_title (GTK_WINDOW (window), "RightDock"); break; case DOCK_TOP: gtk_widget_set_size_request (window, 600, DOCK_SIZE); gtk_window_move (GTK_WINDOW (window), 76, 0); set_gtk_window_struts (window, 0, 0, DOCK_SIZE, 0); gtk_window_set_title (GTK_WINDOW (window), "TopDock"); break; case DOCK_BOTTOM: gtk_widget_set_size_request (window, 600, DOCK_SIZE); gtk_window_move (GTK_WINDOW (window), 200, gdk_window_get_height (root) - DOCK_SIZE); set_gtk_window_struts (window, 0, 0, 0, DOCK_SIZE); gtk_window_set_title (GTK_WINDOW (window), "BottomDock"); break; case DOCK_ALL: default: break; } gtk_widget_show_all (window); }