It's slow. Communicating with the server back and forth from CLI client can take additional 100ms which becomes noticeable. Even if we fix the slowness somehow, annoying flickering will still remain an issue
It'd be cool if AeroSpace supported basic shell combinators (||, &&, ;, ( ), !)
It fixes the ugliness of on-window-detected TOML callback. The new syntax is much more compact and powerful. It remains readable for people familiar with shell:
on-window-detected = '''
test %{app-bundle-id} == com.jetbrains.intellij && move-workspace-to-monitor I \
|| test %{app-bundle-id} == com.google.Chrome && move-node-to-workspace W \
|| test %{app-bundle-id} == com.apple.dt.Xcode && (move-node-to-workspace X; exec-async 'echo hi!')
'''
It opens up a possibility for even more powerful conditional gaps #60:
Other subcommands that AeroSpace has to implement to make the feature complete:
test similar to GNU test but with possibility to interpolate AeroSpace special variables like %{window-title}, %{window-name}, %{app-bundle-id}, %{workspace-tiling-windows-count}, etc #150
xargs similar to GNU xargs
echo similar to GNU echo
exec-async as a replacement for exec-and-forget. The problem with exec-and-forget that it's not parsed as real CLI command, making it impossible to use the command with combinators
eval to evaluate "AeroSpace script" from file
Overall a lot issues can be fixed: #264 #60 #54 #174 (partially) #104 (partially) #107 (kinda) #150
Open question: doesn't it open a pandora box of own script programming language? It kinda does. I hope that people will never ask for loops
Currently it's impossible to consume stdout and exit codes of commands in toml config. One has to use
exec-and-forget
It's slow. Communicating with the server back and forth from CLI client can take additional 100ms which becomes noticeable. Even if we fix the slowness somehow, annoying flickering will still remain an issue
It'd be cool if AeroSpace supported basic shell combinators (
||
,&&
,;
,( )
,!
)That's a big feature that lays the foundation for a lot of things (basically the combinators allow programming custom logic):
on-window-detected
TOML callback. The new syntax is much more compact and powerful. It remains readable for people familiar with shell:config
command allows to queryon-window-detected
command:Other subcommands that AeroSpace has to implement to make the feature complete:
test
similar to GNUtest
but with possibility to interpolate AeroSpace special variables like%{window-title}
,%{window-name}
,%{app-bundle-id}
,%{workspace-tiling-windows-count}
, etc #150xargs
similar to GNUxargs
echo
similar to GNUecho
exec-async
as a replacement forexec-and-forget
. The problem withexec-and-forget
that it's not parsed as real CLI command, making it impossible to use the command with combinatorseval
to evaluate "AeroSpace script" from fileOverall a lot issues can be fixed: #264 #60 #54 #174 (partially) #104 (partially) #107 (kinda) #150
Open question: doesn't it open a pandora box of own script programming language? It kinda does. I hope that people will never ask for loops