static void dock_cb (GSimpleAction *action, GVariant *parameter, gpointer callback_data) { guint callback_action; const gchar *name; g_object_get (G_OBJECT (action), "name", &name, NULL); if (!g_strcmp0 (name, "top-dock")) callback_action = DOCK_TOP; else if (!g_strcmp0 (name, "bottom-dock")) callback_action = DOCK_BOTTOM; else if (!g_strcmp0 (name, "left-dock")) callback_action = DOCK_LEFT; else if (!g_strcmp0 (name, "right-dock")) callback_action = DOCK_RIGHT; else if (!g_strcmp0 (name, "all-docks")) callback_action = DOCK_ALL; else return; if (callback_action == DOCK_ALL) { make_dock (DOCK_TOP); make_dock (DOCK_BOTTOM); make_dock (DOCK_LEFT); make_dock (DOCK_RIGHT); } else { make_dock (callback_action); } }
static void dock_cb (gpointer callback_data, guint callback_action, GtkWidget *widget) { if (callback_action == DOCK_ALL) { make_dock (DOCK_TOP); make_dock (DOCK_BOTTOM); make_dock (DOCK_LEFT); make_dock (DOCK_RIGHT); } else { make_dock (callback_action); } }
static void right_dock_cb() { make_dock(DOCK_RIGHT); }
static void left_dock_cb() { make_dock(DOCK_LEFT); }
static void bottom_dock_cb() { make_dock(DOCK_BOTTOM); }
static void top_dock_cb() { make_dock(DOCK_TOP); }