LINUX.ORG.RU

Получить список открытых файлов Gedit

 ,


0

1

Чем можно получить список открытых файлов (вкладок) gedit, что-то вроде dbus?

# do_black_magic gedit.pid

/path/to/file1
/path/to/file2

PS, базовый плагин управления сеансами в gedit 3.4 просто настолько далеко их сложил, что можно руки обломать пока докликаешь

Файл - Сохранённые сеансы - Управление сеансами — Окошко и в нём открыть.

Всякий шлак типа reopen closed tabs не упоминать.

Профит: хочу накостылить себе сохранение/управление сеансами и толкать с нужными ключами во встроенном в gedit терминале.

А-ля

gss.sh -s -n NewSession

или

gss.sh -l OtherSession

Всё ж удобней.

★☆

Последнее исправление: Umberto (всего исправлений: 3)
Ответ на: комментарий от geek

Вот как знал, что придут питонщики советовать написать. Это питон доучивать надо.

если б gedit держал файлы открытыми, чего он не делает

А какой-нибудь strace к запущенному процессу?

Umberto ★☆
() автор топика
Ответ на: комментарий от geek

Вообще надо бы отловить скучающих питонщиков на форуме и попросить написать, назвать fastsession, всё что надо это два хоткея, один выводит окно для ввода имени сессии на сохранение, второй выводит список сохранённых.

Umberto ★☆
() автор топика
Ответ на: комментарий от Umberto

А какой-нибудь strace к запущенному процессу?

а он ничего не даст. открываешь документацию и пишешь что надо. Можешь без консольных извратов управление сеансами намутить, как тебе надо

geek ★★★
()
Ответ на: комментарий от Umberto

всё что надо это два хоткея, один выводит окно для ввода имени сессии на сохранение, второй выводит список сохранённых.

ну можешь в ~/.config/gedit/accels покопаться, чтобы прописать туда хоткеи на вызов сохранения/загрузки сеансов

geek ★★★
()
Ответ на: комментарий от Umberto

Там уже прочие хоткеи настраивал, про сессии ничего не заметил.

надо узнать actions плагина для сохранения и загрузки сессий, и забиндить. Это если горячее редактирование хоткеев не работает

geek ★★★
()
Ответ на: комментарий от geek

Уже нашёл более интересный путь:

Внешние инструменты «External Tools» например

#!/bin/sh
uxterm -bg black -geometry 130x10 'somescript.sh'

В скрипт экспортируются переменные:

GEDIT_CURRENT_DOCUMENT_URI
GEDIT_CURRENT_DOCUMENT_NAME
GEDIT_CURRENT_DOCUMENT_SCHEME
GEDIT_CURRENT_DOCUMENT_PATH
GEDIT_CURRENT_DOCUMENT_DIR
GEDIT_DOCUMENTS_URI
GEDIT_DOCUMENTS_PATH

Их значения:

file:///usr/local/bin/some.sh
some.sh
file
/usr/local/bin/some.sh
/usr/local/bin/
file:///usr/local/bin/some.sh file:///home/user/fomefile
/usr/local/bin/some.sh /home/user/some.sh

Просто праздник какой-то :) столько всего навешать для обработки открытого файла можно.

Хоткеи на каждый скрипт там же забиваются. Ушел делать emacs.

Umberto ★☆
() автор топика
Последнее исправление: Umberto (всего исправлений: 1)
Ответ на: комментарий от Umberto

UPD: Все передаваемые переменные

#!/bin/sh
# [Gedit Tool]
# Input=nothing
# Output=output-panel
# Name=Test External Tool
# Name[fr]=Tests pour les Outils Extérieurs
# Applicability=all
# Save-files=nothing
###############################################################################
#
# __author__='Lilian Besson'
# __email__='lilian DOT besson AT normale DOT fr'
# __date__='mar. 12/03/2013 at 14h:56m:39s '
# __gitrepository__='https://bitbucket.org/lbesson/gedit-tools'
# __webaddress__='https://sites.google.com/site/naereencorp/gedit'
# __license__='GPL v3'
#
# A simple test.
#
# (c) Naereen Corp. 2013
###############################################################################

#Variables shell utilisable dans un 'external tool' de gEdit.
#____________________________________________________________

echo "****************************************************"
echo "TEST GEDIT EXTERNAL TOOL"
echo "****************************************************"

 # Gedit Current Document Name variable
echo "$GEDIT_CURRENT_DOCUMENT_NAME : Gedit Current Document Name variable"

 # Gedit Current Document Path variable
echo "$GEDIT_CURRENT_DOCUMENT_PATH : Gedit Current Document Path variable"

 # Gedit Current Document Scheme variable
echo "$GEDIT_CURRENT_DOCUMENT_SCHEME : Gedit Current Document Scheme variable"

 
 # Gedit Current Document Type variable
echo "$GEDIT_CURRENT_DOCUMENT_TYPE : Gedit Current Document Type variable"

 
 # Gedit Current Document Uri variable
echo "$GEDIT_CURRENT_DOCUMENT_URI : Gedit Current Document Uri variable"

 # Gedit Current Line Number variable
echo "**** $GEDIT_CURRENT_LINE_NUMBER : Gedit Current Line Number variable"

 # Gedit Current Character Number variable
echo "*** $GEDIT_CURRENT_CHAR_NUMBER : Gedit Current Char Number variable"

 # Gedit Current Character Number variable
echo "** $GEDIT_CURRENT_CHARACTER_NUMBER : Gedit Current Character Number variable"

 # Gedit Current Colum Number variable
echo "$GEDIT_CURRENT_COLUMN_NUMBER : Gedit Current Column Number variable **"

 # Gedit Current Line variable
echo "$GEDIT_CURRENT_LINE : Gedit Current Line variable"


 # Gedit Current Word variable
echo "$GEDIT_CURRENT_WORD : Gedit Current Word variable"


 # Gedit Documents Path variable
echo "$GEDIT_DOCUMENTS_PATH : Gedit Documents Path variable"


 # Gedit Documents Uri variable
echo "$GEDIT_DOCUMENTS_URI : Gedit Documents Uri variable"


 # Gedit Drop Filename variable
echo "$GEDIT_DROP_FILENAME : Gedit Drop Filename variable"


 # Gedit Drop Mime Type variable
echo "$GEDIT_DROP_MIME_TYPE : Gedit Drop Mime Type variable"


 # Gedit Drop Relative Filename variable
echo "$GEDIT_DROP_REL_FILENAME : Gedit Drop Relative Filename variable"


 # Gedit Selected Text variable
echo "$GEDIT_SELECTED_TEXT : Gedit Selected Text variable"


echo "****************************************************"
echo "TEST : done"
echo "****************************************************"
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"

###############################################################################
echo -e "\nClic on this link to re-open the document \n\
 $GEDIT_CURRENT_DOCUMENT_PATH:$GEDIT_CURRENT_LINE_NUMBER:1:" > /dev/stderr
echo -e "\n"
echo -e "* For any bug report, please use : https://bitbucket.org/lbesson/gedit-tools/issues "
echo -e "* For any question, you can contact the developper at : mailto:lilian.besson@normale.fr"

Umberto ★☆
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.