From b584f00fd92ee8a6d7148a80a59c4cb977cb1f63 Mon Sep 17 00:00:00 2001 From: angelic-sedition Date: Sat, 16 May 2015 03:06:21 -0400 Subject: [PATCH] Fix bug where wasn't getting wid for newly created dropdowns for potential use with a map_post_command. Also, don't use a map_post_command when making the current window a dropdown and instead unmap it. --- tdrop | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/tdrop b/tdrop index 48933cb..38a80e3 100755 --- a/tdrop +++ b/tdrop @@ -295,6 +295,7 @@ current_create() { wid=$(xdotool getactivewindow) echo "$wid" > /tmp/tdrop/current"$num" get_class_name "$wid" > /tmp/tdrop/current"$num"_type + echo "$wid" } wid_toggle() { @@ -329,13 +330,24 @@ wid_toggle() { # make it map_pre_command "$term" if [[ $term == current ]]; then - current_create - elif $normal_window; then - win_create + wid=$(current_create) + xdotool windowunmap "$wid" else - term_create + if $normal_window; then + win_create + else + term_create + fi + # get saved wid of newly created dropdown + wid="" + count=0 + while [[ -z $wid ]] && [[ $count -lt 100 ]]; do + wid=$(< /tmp/tdrop/"$term$num") + sleep 0.01 + ((count++)) + done + map_post_command oneshot "$wid" fi - map_post_command oneshot "$wid" fi }