Раздражающее поведение в Geany при открытии файла с несколькими открытыми окнами Geany

2956
Max Williams

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

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

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

0
Я никогда не видел Джани с более чем одним открытым окном. Ignacio Vazquez-Abrams 12 лет назад 0
В последней версии вы можете щелкнуть правой кнопкой мыши на вкладке и выбрать «Открыть в новом окне». (опять же, досадно, он оставляет его открытым в исходном окне, а также открывает его в новом) Max Williams 12 лет назад 0

3 ответа на вопрос

3
Rikard

Using Geany 1.22 there may be a workaround which is pretty close to what you want to do.

According to the manual on http://www.geany.org/manual/current/#command-line-options you can use

--socket-file 

to specify the socket file with which to communicate with the Geany instance.

Putting the following in a script will get you an instance per workspace:

#!/bin/bash geany --socket-file=/tmp/geany-sock-$(xprop -root _NET_CURRENT_DESKTOP | awk '') $ 

(It also passes on the command line args to geany).

Это замечательно. Я предпочитаю определять функцию «edit» в моем файле .XXXXrc, а также добавить «&», чтобы запустить его в фоновом режиме. troutinator 10 лет назад 0
это привело к появлению бесконечно многих геанских процессов. shrx 7 лет назад 0
0

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

0
Dominic108

Возможно, это должен был быть комментарий к ответу Рикарда, но я представлю его как альтернативный ответ. Я заметил, что его решение делает компьютер (с 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 '') $ 

Похожие вопросы