La publicación original se refería al uso de un script para hacer que una aplicación aparezca en un espacio de trabajo en particular, de modo que se pueda usar otro script en el script de inicio para permitir que un usuario continúe trabajando mientras una aplicación de inicio muy lenta se carga en otro espacio de trabajo. Mi script funciona muy bien como front-end para la sintaxis wmctrl bastante engorrosa, para iniciar cualquier aplicación en cualquier espacio de trabajo, desde cualquier símbolo del sistema. Por lo tanto, un script adicional que simplemente enumera algo como lh 1 thunderbird; lh 2 firefox; lh 3 calculator
... o lo que sea, ahora es fácil. Sin embargo, hay algunas dificultades con el tiempo, por lo tanto, el sueño en mi guión. La siguiente es la versión actualizada, que no mantendré ni publicaré nuevamente. Use TAL CUAL, sin garantía de adecuación para un uso particular. Modifica como quieras. Sugiero guardar como /usr/local/bin/lh
, simplemente porquelh
no es ningún otro nombre de programa conocido, al menos no en Mint 18. En cuanto a las variables, cité las variables que consideré necesarias.
#!/bin/sh
## Author: B.A. Computer Services www.ba-computer.com
## Purpose: Frontend to launch anything on a specific desktop/workspace.
## lh is short for LaunchHere
USAGE="USAGE: $(basename $0) [-r] workspace(1,2,..) command\
LaunchHere launches COMMAND on specific workspace.\
-r option returns to current workspace"
[ -z "$1" ] && echo $USAGE && exit 0
ISRETURN=$(false); [ "$1" = "-r" ] && ISRETURN=true && shift;
WRKSPC=$1;[ -z "$WRKSPC" ] && echo $USAGE && exit 0
WSN=$(expr $WRKSPC - 1) ## wmctrl starts with 0 as first wrkspc
shift; CMD="$*"; [ -z "$CMD" ] && echo $USAGE && exit 0
WM=$(which wmctrl);[ -z "$WM" ] && echo MISSING wmctrl && exit 1
CURRENT=$(wmctrl -d | grep '*' | cut -c1)
# Switch to desired workspace
$WM -s $WSN
$CMD &
PID=$!
echo Executed $CMD on workspace $WRKSPC, PID=$PID
sleep 3
# Return to CURRENT workspace ?
# [ $ISRETURN ] && echo TRUE || echo FALSE
[ $ISRETURN ] && $WM -s $CURRENT