Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Автоматизация Nautilus. Возможно ли?  (Прочитано 1763 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн cmsservice

  • Автор темы
  • Любитель
  • *
  • Сообщений: 61
  • Нырнем? :-)
    • Просмотр профиля
    • Эксперты по переделке сайтов и системе Concrete5 CMS
Здравствуйте. Есть задача: нужно скриптом запускать nautilus с открытыми в нем некоторым количеством директорий во вкладках.
Соответственно ищу подходы к решению... если это в принципе возможно. Соответственно, буду благодарен за любые ссылки по теме или обоснованию почему этого сделать невозможно без внесения изменений в код.

С уважением, Константин

Модернизация сайтов - Переделка-сайтов.РФ

Оффлайн truegeek

  • FPGA Designer
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4214
  • аЦкий схемотехник
    • Просмотр профиля
Re: Автоматизация Nautilus. Возможно ли?
« Ответ #1 : 17 Июня 2010, 15:38:26 »
ну, запустить наутилис из скрипта не так уж сложно, по умолчанию он откроет домашний каталог пользователя из под которого он вызывается.
скажите, для чего вам это нужно, может есть более красивое решение

Оффлайн cmsservice

  • Автор темы
  • Любитель
  • *
  • Сообщений: 61
  • Нырнем? :-)
    • Просмотр профиля
    • Эксперты по переделке сайтов и системе Concrete5 CMS
Re: Автоматизация Nautilus. Возможно ли?
« Ответ #2 : 17 Июня 2010, 16:29:30 »
Это я понимаю, что можно.
Мне нужно чтобы по одному клику наутилус открывал... ну предположим три разных директории в трех вкладках (табах) одного окна.
Думаю так понятнее. :-)
Модернизация сайтов - Переделка-сайтов.РФ

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Автоматизация Nautilus. Возможно ли?
« Ответ #3 : 17 Июня 2010, 16:36:19 »
Судя по ману и беглому гуглению, пока никак.

Сейчас я вижу выход лишь в тыкании средней кнопкой в закладки.
« Последнее редактирование: 17 Июня 2010, 16:38:18 от ArcFi »

Оффлайн cmsservice

  • Автор темы
  • Любитель
  • *
  • Сообщений: 61
  • Нырнем? :-)
    • Просмотр профиля
    • Эксперты по переделке сайтов и системе Concrete5 CMS
Re: Автоматизация Nautilus. Возможно ли?
« Ответ #4 : 17 Июня 2010, 16:40:25 »
да я тоже погуглил перед тем как задать вопрос, но ничего не нашел.
единственная мысль, которая пришла в голову, это запускать наутилус и посылать ему клавиатурные команды, но как-то не изящно это. :-)
Модернизация сайтов - Переделка-сайтов.РФ

Оффлайн truegeek

  • FPGA Designer
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4214
  • аЦкий схемотехник
    • Просмотр профиля
Re: Автоматизация Nautilus. Возможно ли?
« Ответ #5 : 17 Июня 2010, 17:00:40 »
я тоже думаю, что легче сделать закладки и юзать их...

Оффлайн VolCh

  • Активист
  • *
  • Сообщений: 543
    • Просмотр профиля
Re: Автоматизация Nautilus. Возможно ли?
« Ответ #6 : 17 Июня 2010, 17:30:09 »
Долгий путь - запостить на http://brainstorm.ubuntu.com/nautilus/  :)
Наверное побыстрее - реализовать самому и предложить включить в очередной релиз  8)

Оффлайн cmsservice

  • Автор темы
  • Любитель
  • *
  • Сообщений: 61
  • Нырнем? :-)
    • Просмотр профиля
    • Эксперты по переделке сайтов и системе Concrete5 CMS
Re: Автоматизация Nautilus. Возможно ли?
« Ответ #7 : 17 Июня 2010, 18:49:17 »
На счет реализации самому думаю, пока мысли двигаются в направлении расширения функциональности закладок, чтобы можно было делать закладку не на одну директорию, а на совокупность открытых в данный момент в наутилусе, и при выборе этой закладки все директории открывалось во вкладках, плюс сюда еще можно присовокупить вторую панель....
Но это дело будущего и дойдет ли до реализации - не знаю ибо много основной работы, пока обдумываю.

Пока сделал вот такое решение на основе xmacro:
(Нажмите, чтобы показать/скрыть)

В результате исполнения этого макроса имеем запущенный наутилус с двумя панелями, на каждой из которых открыто по три вкладки (таба) с нужными нам директориями.
Макрос легко адаптируется заменой путей в директиве String на нужные в конкретном случае.

С уважением, Константин
Модернизация сайтов - Переделка-сайтов.РФ

Оффлайн VestniK

  • Активист
  • *
  • Сообщений: 594
    • Просмотр профиля
Re: Автоматизация Nautilus. Возможно ли?
« Ответ #8 : 17 Июня 2010, 19:16:05 »
Стало любопытно, а наутилус никакого интерфейса через dbus не предоставляет?

Оффлайн VolCh

  • Активист
  • *
  • Сообщений: 543
    • Просмотр профиля
Re: Автоматизация Nautilus. Возможно ли?
« Ответ #9 : 17 Июня 2010, 20:24:29 »
Что-то предоставляет, но не вникал

Оффлайн VestniK

  • Активист
  • *
  • Сообщений: 594
    • Просмотр профиля
Re: Автоматизация Nautilus. Возможно ли?
« Ответ #10 : 17 Июня 2010, 22:43:04 »
Так может можно открыть вкладку и сменить путь через dbus? Я когда-то писал прогу которя с амароком общалась через DCOP (это ещё на 3х кедах было). Когда с DCOP'ом разбирался обнаружил, что многие приложения в КДЕ очень много полезных функций для удалённого контроля самих себя рсшаривают. Может стоит попробовать приглядеться к dbus интерфейсу.

P.S. я совсем не гномер, поэтому всё что говорю может быть точно так же совсем бесполезно :)

Оффлайн cmsservice

  • Автор темы
  • Любитель
  • *
  • Сообщений: 61
  • Нырнем? :-)
    • Просмотр профиля
    • Эксперты по переделке сайтов и системе Concrete5 CMS
Re: Автоматизация Nautilus. Возможно ли?
« Ответ #11 : 17 Июня 2010, 23:06:35 »
Так может можно открыть вкладку и сменить путь через dbus?
Вот с этого места поподробнее плиз. :-)
Модернизация сайтов - Переделка-сайтов.РФ

Оффлайн VestniK

  • Активист
  • *
  • Сообщений: 594
    • Просмотр профиля
Re: Автоматизация Nautilus. Возможно ли?
« Ответ #12 : 18 Июня 2010, 01:20:46 »
Ну сам по себе dbus это шина обмена данными между приложениями. В первую очередь она расчитана на взаимодействие Desktop приложений, хотя этим она не ограничивается. Подробней о нём здесь: http://www.freedesktop.org/wiki/Software/dbus (да, это стандарт от freedesktop.org посему от того Гном ли КДЕ ли разницы быть особой не должно)

Язык на котором написанно приложение с которым хочешь общаться и из которого хочешь общаться вобщем то не важен. Поэтому общаться через dbus ты можешь с любыми программами которые расшаривают сервисы через эту шину даже из bash скрипта. Есть несколько базовых утилит, но они достаточно низкоуровневые и не очень  удобные.

Я тут побаловался с Dolphin'ом (дефолтным файловым менеджером в KDE) с помощью стандартной Qt'шной утилиты qdbus. Она спокойно позволяет просматривать доступных клиентов на шине (сервисы в терминологии dbus), предоставляемые ими пути и свойства и методы доступные по этим путям.

В дельфине я могу сделать то что ты хочешь вот так:
dolphin &>/dev/null &
qdbus org.kde.dolphin /dolphin/Dolphin_1 changeUrl ~/Downloads
qdbus org.kde.dolphin /dolphin/Dolphin_1/actions/new_tab trigger
qdbus org.kde.dolphin /dolphin/Dolphin_1 changeUrl ~/Video/Anime
qdbus org.kde.dolphin /dolphin/Dolphin_1/actions/new_tab trigger
qdbus org.kde.dolphin /dolphin/Dolphin_1 changeUrl ~/Video/Clips
Думаю понятно как и что тут делается. Вобщем возможно как-нибудь так же можно и с наутилусом поступить.

Думаю в гноме есть свои тулзы для работы с dbus но если что утилита qdbus идёт в пакете libqt4-dbus

Оффлайн cmsservice

  • Автор темы
  • Любитель
  • *
  • Сообщений: 61
  • Нырнем? :-)
    • Просмотр профиля
    • Эксперты по переделке сайтов и системе Concrete5 CMS
Re: Автоматизация Nautilus. Возможно ли?
« Ответ #13 : 18 Июня 2010, 08:59:01 »
Спасибо, буду разбираться.
Модернизация сайтов - Переделка-сайтов.РФ

Оффлайн Zalexi

  • Новичок
  • *
  • Сообщений: 42
    • Просмотр профиля
Re: Автоматизация Nautilus. Возможно ли?
« Ответ #14 : 24 Декабря 2010, 10:23:40 »
2 cmsservice
У меня не открывалось ПО три вкладки, а открывались 5 с одной стороны и одна с другой.
Добавил в скрипт после секции с F3:
KeyStrPress F6\n
KeyStrRelease F3\n
Delay 1\n
KeyStrPress Tab\n
KeyStrRelease Tab\n
Delay 1\n
Еще такой глюк иногда бывает, что слишком быстро печатает и получается в строке адреса что-то типа: ~/Downloads/ads/

За скрипт благодарю, нужная вещь!
Нужно умереть молодым и сделать  это как можно позже. Китайская пословица[.i]

 

Страница сгенерирована за 0.034 секунд. Запросов: 26.