From e1665d70b5efdb930857e6bf629e1e0e3d448806 Mon Sep 17 00:00:00 2001 From: Mikael Magnusson Date: Sun, 25 Sep 2005 14:45:24 +0000 Subject: add showDelay to dock --- openbox/dock.c | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) (limited to 'openbox/dock.c') diff --git a/openbox/dock.c b/openbox/dock.c index ac09a913..cf8c006b 100644 --- a/openbox/dock.c +++ b/openbox/dock.c @@ -597,17 +597,30 @@ static gboolean hide_timeout(gpointer data) return FALSE; /* don't repeat */ } +static gboolean show_timeout(gpointer data) +{ + /* hide */ + dock->hidden = FALSE; + dock_configure(); + + return FALSE; /* don't repeat */ +} + void dock_hide(gboolean hide) { if (!hide) { - /* show */ - dock->hidden = FALSE; - dock_configure(); - - /* if was hiding, stop it */ - ob_main_loop_timeout_remove(ob_main_loop, hide_timeout); - } else if (!dock->hidden && config_dock_hide) { - ob_main_loop_timeout_add(ob_main_loop, config_dock_hide_delay, + if (dock->hidden && config_dock_hide) { + ob_main_loop_timeout_add(ob_main_loop, config_dock_show_delay, + show_timeout, NULL, NULL); + } else if (!dock->hidden && config_dock_hide) { + ob_main_loop_timeout_remove(ob_main_loop, hide_timeout); + } + } else { + if (!dock->hidden && config_dock_hide) { + ob_main_loop_timeout_add(ob_main_loop, config_dock_hide_delay, hide_timeout, NULL, NULL); + } else if (dock->hidden && config_dock_hide) { + ob_main_loop_timeout_remove(ob_main_loop, show_timeout); + } } } -- cgit v1.2.3