diff options
| -rw-r--r-- | shell/maynard.c | 106 |
1 files changed, 1 insertions, 105 deletions
diff --git a/shell/maynard.c b/shell/maynard.c index e2f5c3b..b759c48 100644 --- a/shell/maynard.c +++ b/shell/maynard.c @@ -58,30 +58,8 @@ struct desktop { struct element *background; struct element *panel; - - guint initial_panel_timeout_id; - guint hide_panel_idle_id; }; -static gboolean panel_window_enter_cb (GtkWidget *widget, - GdkEventCrossing *event, struct desktop *desktop); -static gboolean panel_window_leave_cb (GtkWidget *widget, - GdkEventCrossing *event, struct desktop *desktop); - -static gboolean -connect_enter_leave_signals (gpointer data) -{ - struct desktop *desktop = data; - GList *l; - - g_signal_connect (desktop->panel->window, "enter-notify-event", - G_CALLBACK (panel_window_enter_cb), desktop); - g_signal_connect (desktop->panel->window, "leave-notify-event", - G_CALLBACK (panel_window_leave_cb), desktop); - - return G_SOURCE_REMOVE; -} - static void desktop_shell_configure (void *data, struct desktop_shell *desktop_shell, @@ -98,14 +76,9 @@ desktop_shell_configure (void *data, width, MAYNARD_PANEL_HEIGHT); shell_helper_move_surface (desktop->helper, desktop->panel->surface, - 0, height - MAYNARD_PANEL_HEIGHT); //TODO to bottom + 0, height - MAYNARD_PANEL_HEIGHT); desktop_shell_desktop_ready (desktop->shell); - - /* TODO: why does the panel signal leave on drawing for - * startup? we don't want to have to have this silly - * timeout. */ - g_timeout_add_seconds (1, connect_enter_leave_signals, desktop); } static void @@ -129,83 +102,9 @@ static const struct desktop_shell_listener listener = { }; static void -button_toggled_cb (struct desktop *desktop, - gboolean *visible, - gboolean *not_visible) -{ - *visible = !*visible; - *not_visible = FALSE; -} - -static gboolean -panel_window_enter_cb (GtkWidget *widget, - GdkEventCrossing *event, - struct desktop *desktop) -{ - if (desktop->initial_panel_timeout_id > 0) - { - g_source_remove (desktop->initial_panel_timeout_id); - desktop->initial_panel_timeout_id = 0; - } - - if (desktop->hide_panel_idle_id > 0) - { - g_source_remove (desktop->hide_panel_idle_id); - desktop->hide_panel_idle_id = 0; - return; - } - - shell_helper_slide_surface_back (desktop->helper, - desktop->panel->surface); - - return FALSE; -} - -static gboolean -leave_panel_idle_cb (gpointer data) -{ - struct desktop *desktop = data; - gint width; - - desktop->hide_panel_idle_id = 0; - - return G_SOURCE_REMOVE; -} - -static gboolean -panel_window_leave_cb (GtkWidget *widget, - GdkEventCrossing *event, - struct desktop *desktop) -{ - if (desktop->initial_panel_timeout_id > 0) - { - g_source_remove (desktop->initial_panel_timeout_id); - desktop->initial_panel_timeout_id = 0; - } - - if (desktop->hide_panel_idle_id > 0) - return; - - desktop->hide_panel_idle_id = g_idle_add (leave_panel_idle_cb, desktop); - - return FALSE; -} - -static gboolean -panel_hide_timeout_cb (gpointer data) -{ - struct desktop *desktop = data; - - panel_window_leave_cb (NULL, NULL, desktop); - - return G_SOURCE_REMOVE; -} - -static void favorite_launched_cb (MaynardPanel *panel, struct desktop *desktop) { - panel_window_leave_cb (NULL, NULL, desktop); } static void @@ -222,9 +121,6 @@ panel_create (struct desktop *desktop) g_signal_connect (panel->window, "favorite-launched", G_CALLBACK (favorite_launched_cb), desktop); - desktop->initial_panel_timeout_id = - g_timeout_add_seconds (2, panel_hide_timeout_cb, desktop); - /* set it up as the panel */ gdk_window = gtk_widget_get_window (panel->window); gdk_wayland_window_set_use_custom_surface (gdk_window); |
