firefox "$@" &
fi
-# .5 was too fast
-sleep 1
+# on a fast computer, .5 is too fast, 1 is ok. on x200, 1 is too fast, 2 is ok.
+sleep 2
# debug
#printf "%s\n" "$*" >> /tmp/a
if (( $# == 0 )) && ! i3-msg -t get_tree | jq --stream -r 'select(.[1]|scalars!=null) | "\(.[0]|join(".")): \(.[1]|tojson)"' | grep 'marks.0: "abrowser"$' &>/dev/null; then
# into a single array instead of a list of arrays with [.[]], or else
# it will add the arrays a bunch of times and give several results.
# comm gives us just the new id.
- id=$(i3-msg -t get_tree | jq -e '.nodes[].nodes[].nodes[].nodes | [.[]] + ( [.[].nodes[]]) | .[] | select(.window_properties.class=="abrowser") | .id' | comm -23 - $tmpf | head -n1)
+ id=$(i3-msg -t get_tree | jq -e '.nodes[].nodes[].nodes[].nodes | [.[]] + ( [.[].nodes[]]) + ( [.[].nodes[].nodes[]]) + ( [.[].nodes[].nodes[].nodes[]]) | .[] | select(.window_properties.class=="abrowser") | .id' | comm -23 - $tmpf | head -n1)
rm -f $tmpf
if [[ $id ]]; then
i3-msg "[con_id=$id] mark abrowser"