В Gedit, если у вас открыто несколько окон Gedit, а затем открыт файл, Gedit решает открыть его в последнем активном окне. Мне нравится это поведение, я думаю, что оно интуитивно понятно.

В Geany, которую я предпочитаю Gedit, правило, для которого используется экземпляр, кажется "самым старым". Что еще хуже, если этот экземпляр открыт на другом рабочем столе, он также перемещает этот экземпляр на ваш текущий рабочий стол. Это фактически делает невозможным работу с несколькими окнами Geany, что действительно раздражает.

Кто-нибудь знает, как я могу сделать Geany открытыми файлами в самом последнем активном (то есть "просмотренном") экземпляре Geany? Я использую самую последнюю версию (0.21).

3 ответа3

3

При использовании Geany 1.22 может быть обходной путь, который очень близок к тому, что вы хотите сделать.

Согласно руководству на http://www.geany.org/manual/current/#command-line-options вы можете использовать

--socket-file

указать файл сокета для связи с экземпляром Geany.

Поместив в скрипт следующее, вы получите экземпляр для каждой рабочей области:

#!/bin/bash
geany --socket-file=/tmp/geany-sock-$(xprop -root _NET_CURRENT_DESKTOP | awk '{print $3}') ${1+"$@"}

(Он также передает аргументы командной строки в geany).

0

Возможно, это должен был быть комментарий к ответу Рикарда, но я представлю его как альтернативный ответ. Я заметил, что его решение делает компьютер (с Ubuntu 14.04) невосприимчивым, если мы используем его, когда оригинальный скрипт (без опции сокета) уже запущен. Поэтому я чувствовал, что в этом случае будет полезно завершить работу сценария. Если вы назовете скрипт geany , поместите его в каталог перед /usr/bin или там, где находится оригинал в PATH.

#!/bin/bash
for pid in $(pgrep "geany")
do
 cmd=$(ps -p $pid -o cmd)
 if [[ "$cmd" = *"/usr/bin/geany"* ]] && [[ "$cmd" != *"socket"* ]] ; then
  echo original geany already running
  exit
 fi
done
/usr/bin/geany --socket-file=/tmp/geany-sock-$(xprop -root _NET_CURRENT_DESKTOP | awk '{print $3}') ${1+"$@"}
0

К сожалению, нет способа настроить это поведение. Несколько месяцев назад я спросил об этом некоторых разработчиков плагинов Geany, и, похоже, единственный способ изменить это - написать код самостоятельно и отправить им патч.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .