I’m talking about this patch:
https://dwm.suckless.org/patches/autostart/
Now, the notes seem simple: after apply the patch, dwm will look for the autostart script in ~/.dwm/autostart.sh.
But if you read it carefully, the file is:
~/.dwm/autostart.sh &
Wth does a “&” have to do with file name? I tried to just use the normal file: autostart.sh with exec dunst. It doesnt work…
I tried to create in the Thunar this weird file name, “autostop.sh &”. The system does not recognize it as sh script anymore. .
Any help is welcome.
The
&
is an indicator to most shells to run this command in “the background”. Try and run( sleep 10; echo hi ) &
- you’ll see you get your shell prompt back, where you can run more commands, but 10 second later you’ll see that ‘hi’ come through. ‘blocking’ is the default behavior, if you don’t add the&
you’re still going get the hi in ten seconds, but you don’t get a prompt because your shell’s execution is blocked until your command is done.The doc here is indicating that you havea choice between
autostart_blocking.sh
andautostart.sh
, the latter of which would be run with a&
. They could have expressed this better.As for why your script didn’t work, I’d try executing it in a terminal to see what error message comes up.
i see, so the file names are:
autostart_blocking.sh
andautostart.sh
I dont need to create a weird file name like:
autostart.sh &
But, whichever command I put in
autostart.sh
will run as if I run in terminal with the&
sign. E.g:dunst &
to run in the background.Well, only if it’s one single command, if you have multiple commands inside of the script, they will still run sequentially (the next command will only run after the previous one completely closes) unless you add
&
to them as well.The difference is that dwm itself will not have to wait for the
autostart.sh
to complete before launching itself (thanks to it being run in the background with&
)However,
autostart_blocking.sh
(which isn’t run with a&
) will stop dwm from fully launching until the script completes… I guess this is useful if you need certain things to be set up before dwm actually starts… but it would potentially add a delay on dwm startup.