Geany: abra una nueva instancia por área de trabajo al abrir un file en ese espacio de trabajo

Estoy usando Mate 1.2.0 en Linux Mint 13. Los dos editores de text que uso son Gedit y Geany (v0.25): uso Geany para todas mis codificaciones ya que prefiero el resaltado de syntax y algunas otras características de la interfaz.

Sin embargo, una cosa que me molesta es este comportamiento:

  • abrir un file en Geany en el espacio de trabajo 1
  • ir al espacio de trabajo 2
  • haga doble clic en un file para abrirlo (en Geany)
  • el escritorio vuelve al espacio de trabajo 1 y abre el file en Geany.

Cuando hago esto en Gedit, abre una nueva instancia de Gedit en ese espacio de trabajo, que se adapta perfectamente a mi estilo de trabajo, donde tengo diferentes proyectos abiertos en cada espacio de trabajo.

Puedo iniciar otra instancia de Geany desde el menu de progtwigs, y mover uno al otro espacio de trabajo, pero no cambia el comportamiento: entonces veo esto:

  • abrir un file en Geany en el espacio de trabajo 1
  • ir al espacio de trabajo 2
  • inicie una nueva instancia de Geany desde el menu del progtwig (así que ahora tengo una por área de trabajo)
  • haga doble clic en un file para abrirlo (en Geany)
  • el escritorio vuelve al espacio de trabajo 1 y abre el file en la primera instancia de Geany.

Por lo tanto, es como si siempre se abre un file en el Geany "principal" y cambia al espacio de trabajo en el que se encuentre.

¿Hay alguna manera de que pueda cambiar este comportamiento? Me gustaría que fuera así:

  • Al abrir un file: ¿hay un Geany ejecutándose en este espacio de trabajo?
    • sí: abra el file en ese Geany
    • no: abre un nuevo Geany en este espacio de trabajo y abre el file en ese.

No puedo ver una opción relacionada con esto en la configuration. Cualquier consejo apreciado! Gracias

Usa este lote para abrir Geany. Esto abrirá un socket separado específico para cada espacio de trabajo.

Por ejemplo, en Thunar, use 'abrir con otra aplicación' y apunte a este file por lotes.

#!/bin/sh socket=`xprop -root _NET_CURRENT_DESKTOP` socket=${socket##* } if [ "$socket" ] then if [ "$DISPLAY" ] then socket="${DISPLAY%.*}-$socket" socket=${socket#*:} else socket="NODISPLAY-$socket" fi exec geany --socket-file "/tmp/geany_socket_$socket" "$@" else exec geany "$@" fi 

Ve a la terminal y escribe geany -h que te mostrará todas las opciones disponibles. Entre ellos -i, --new-instance Don't open files in a running instance, force opening a new instance es exactamente lo que necesita.

CÓMO

  1. Encuentra aquello en lo que estás haciendo clic.

  2. Ábralo en cualquier editor de text, o encuentre una forma de cambiar el command que está ejecutando. (podría ser complicado si es un iniciador en la bandeja, por ejemplo).

  3. Cambia el command de algo como geany -some_options a geany -some_options -i

hecho.

Si utiliza 'Archivo' y 'Abrir', Geany abrirá el file en la instancia 'primaria' actual, es decir, la instancia de Geany que está utilizando actualmente y no la primera instancia.

geany.org lo documenta de la siguiente manera:

utilice el siguiente command para ejecutar Geany en el espacio de trabajo actual:

 geany --socket-file=/tmp/geany-sock-$(xprop -root _NET_CURRENT_DESKTOP | awk '{print $3}') 

Ahora, si copy el file geany.desktop de todo el sistema (desde, por ejemplo, / usr / share / applications /) a su directory de aplicaciones locales (probablemente ~ / .local / applications /), el file local parece tener prioridad tanto en la GUI menus (probado menu de aplicaciones de Whisker y Xubuntu) y en administradores de files (probado thunar y spacefm).

De modo que puede agregar la opción anterior –socket-file en su geany.desktop local, para tener 1 instancia geany por espacio de trabajo, o agregar la opción -i sugerida en otras respuestas, para tener una instancia geany por invocación.

Al iniciar geany desde una línea de command, puede agregar, por supuesto, las opciones que elija, e incluso includelas en un alias, para tener el mismo comportamiento.