-
-
Notifications
You must be signed in to change notification settings - Fork 67
Description
Version Information:
- Distribution Information ( run
uname -a): Linux 6.4.8-arch1-1 - swhkd version (
swhkd -V): 1.2.1
Describe the bug:
Commands chained by && seem to be executed together, disregarding mode stack changes. Example:
super + d
@enter display
mode display swallow
b
@escape && @enter display_selection && @enter brightness_selection && set_brightness.sh
endmode
mode display_selection swallow oneoff
{1,2,3}
save_selection_to_file.sh {left,middle,right}
endmode
mode brightness_selection swallow oneoff
{1,2,3,4,5}
save_brightness_to_file.sh {0,25,50,75,100}%
endmode
Expected behavior:
With @escape && @enter display_selection && @enter brightness_selection && set_brightness.sh, we expect when mode display_selection is popped, we continue to the next command @enter brightness_selection.
Actual behavior:
As soon as b fires @escape && @enter display_selection && @enter brightness_selection && set_brightness.sh, everything is executed right away, including the set_brightness.sh script, while we are still in the mode display_selection.
To Reproduce:
See example above.
Additional information:
Since we don't have the syntax like sxhkd as I mentioned in #67 , we can't exactly do a command with more than two expansions, e.g.
{1,2,3}; {b,c,t}; {1,2,3}
display_setting.sh {left,middle,right} {brightness,contrast,temperature} {low,mid,high}
With the mode design, I can only get around it by temporarily saving a state for later use.
That said, mode actually provides a more clear and reusable design, if this bug/feature is addressed. For example, I can re-use the display_selection mode for not only brightness, but contrast, color temperature, etc., by entering that mode, and then continue with the next action.