& ldquo; Простой & ldquo; гном апплетов в Unity - заметки

Я полагаю, что это связанный с вопрос. Можно ли использовать апплеты GNOME в Unity? (перенесено по предложению @ Хорхе Кастро )

Мне бы хотелось использовать stickynotes_applet в Unity. Теперь в Gnome этот апплет добавляется в панель, затем я должен щелкнуть по нему, чтобы создать новую заметку, и я могу вызвать предпочтения, чтобы заметки оставались на рабочем столе - и это все Я нуждаюсь.

Очевидно, что, как упоминалось здесь, будет невозможно использовать этот апплет непосредственно в Unity; но в основном, все, что мне нужно сделать, это поднять окно настроек (чтобы заставить заметки залипать) и как-то выполнить команду для новой заметки (что в противном случае было бы выполнено щелчком по значку апплета в бар гномов).

Я попытался запустить '/usr/lib/gnome-applets/stickynotes_applet' и, похоже, он запускается, хотя значок апплета не отображается (что ожидается), и никаких других окон тоже (которые, как я надеялся, покажет :)).

Итак, я бродил - учитывая, что у этого апплета (кажется) нет ничего особенного, связанного с рабочим столом - есть ли командная строка способ в основном запустить этот апплет, выпустить ' Показать ему команду Preferences и выдать ей новую команду note в среде Unity ( в настоящее время я могу вызвать tomboy из командной строки, и она работает - но ее окна слишком неуклюжи на мой вкус ) ?

(и бонусный вопрос - как бы вы запустили окно, связанное с апплетом, только из командной строки в классическом Gnome?)

Интеграция с рабочим столом не имеет для меня большого значения - я бы с удовольствием запускаю это вручную из командной строки, пока я получаю небольшие компактные заметки, которые остаются на рабочем столе (пока процесс активен) ..

Спасибо за любые комментарии,
Ура!

7
задан 13 April 2017 в 15:23

4 ответа

У вас может быть небольшая панель гномов, на которой работает только ваш апплет. См. Как использовать панель GNOME в Unity?

0
ответ дан 13 April 2017 в 15:23

Rhinote имеет сочетания клавиш

0
ответ дан 13 April 2017 в 15:23
1155 Я снова вернулся к этой проблеме (все еще на Натти); поэтому я решил опубликовать свои результаты.

Сначала я начал искать, можно ли запускать апплеты Gnome из командной строки, и в отдельном окне - оказывается, это была техника для отладки апплетов Python;

invest-applet-unity-standalone [ 1157]

Это сценарий:

import sys
import gtk
import pygtk
pygtk.require('2.0')
# sudo apt-get install python-gnomeapplet
import gnomeapplet
import CORBA # must have import gnomeapplet before!
import bonobo
import bonobo.ui
import bonobo.activation

bcontrol = bonobo.activation.activate_from_id('OAFIID:Invest_Applet', 0, False)
win = bonobo.ui.Window("foo", "FOOOOO")
buiwid = bonobo.ui.widget_new_control_from_objref(bcontrol, win.get_ui_container().corba_objref())
win.set_contents(buiwid)
win.show_all()
win.connect("destroy", lambda x: sys.exit(0))
bonobo.ui.main()

... и расширенный сценарий (с выводом отладки и кучей грязных комментариев) находится в gtk_bonobo_applet_widget.py .


Это точно то, что я хотел, и сначала я подумал, что это будет применимо ко всем апплетам - по крайней мере, в Natty (и среди них stickynotes); но увы, нет :

Теперь, Natty немного специфичен, потому что это последний Ubuntu Gnome 2 - однако, он также имеет (первое) Unity. Таким образом:

  • некоторые апплеты основаны на (или предоставляют) интерфейс bonobo / CORBA (в Python через gnomeapplet); такие, как invest-applet или brightness-applet, могут использовать вышеупомянутую технику для поднятия в собственном окне - и могут быть запрошены с помощью libbonobo2-bin инструментов (например, activation-client)
  • других апплетов, таких как [ 1111], мигрировали к базе GSettings / DBUS (интерфейс)

На самом деле, stickynotes мигрировали из bonobo в dbus незадолго до выхода Natty (в ревизии Port новому API-интерфейсу libpanel-applet ); что очевидно при замене макроса PANEL_APPLET_BONOBO_FACTORY на PANEL_APPLET_OUT_PROCESS_FACTORY. Возможно, если кто-то проверит последнюю ревизию stickynotes на основе bonobo и соберет ее - он также должен иметь возможность использовать вышеописанную технику для создания экземпляра апплета в отдельном окне и запуска его оттуда, даже без [ 1119].

В противном случае я бы полагал, что все апплеты (или, скорее, среды разработки апплетов) должны иметь возможность работать в отдельном окне, подобном этому - если не по какой-либо другой причине, то облегчить отладку апплетов во время разработки. И учитывая, что некоторые апплеты имеют переключатели командной строки для запуска в отдельном окне (как «руководство для начинающих» выше, а также invest-applet, имеют такие переключатели) - я надеялся, что, возможно, stickynotes также имеет такие аргументы командной строки; Тем не менее, я сделал grep через его исходные файлы - и, увы, я не могу найти упоминания о параметрах командной строки.

Но потом я удивился - почему такая миграция? Ну, это потому, что bonobo некоторое время (или, скорее, уже давно) устарело:

AppletsDbusMigration - GNOME Live! : (2009)

[ 1166] Gnome Panel недавно удалила зависимость libbonobo (см. bug # 572131 ).

список рассылки gnome-devel-list - Что заменит bonobo? (2009)

Dbus не является прямой заменой bonobo. Точной замены бонобо как таковой нет.
...
Однако основной сценарий использования bonobo, который внедряет одно приложение в другое (например, уборщик мусора в gnumeric, или (чуть более полезный) диаграмма dia в gnumeric), просто не так уж и много используется.

список рассылки gnome-components 'Re: Что заменит bonobo?' (2005)

> О DBUS трудно сказать, что это будет замена когда-нибудь.
Первая проблема заключается в том, что это не система компонентов, а API для передачи сообщений.
Поверьте мне, есть определенные планы по внедрению какого-либо компилятора IDL для имитации RPC в стиле CORBA поверх сообщений D-BUS. Это произойдет рано или поздно.

Ну, чёрт побери - я сам думаю, что «встраивание одного приложения в другое» в этом случае было очень полезно - запускать (хотя бы несколько) апплетов в Unity с удаленной поддержкой их :) Конечно, это было более-менее «счастливое» расположение пакетов рабочего стола в Natty, которое учитывало это (учитывая, что это все еще Gnome 2 и все еще имеет библиотеки bonobo) - очевидно, более поздние версии, основанные на Gnome 3, имеют bonobo полностью удален - и описанная выше техника Python-script-instantiation-in-a-window совершенно точно не сработает там :/

Последний вопрос: можем ли мы аналогичным образом использовать скрипт Python, но с привязками для dbus, чтобы достичь чего-то похожего на сценарий, основанный выше bonobo?

Самое близкое, что я получил к этому, - это скрипт gtk_dbus_applet_widget.py , однако этот скрипт не вызывает апплет в окне - и даже не может добавить апплет на панель! Единственное, что он может сделать, это поговорить с «фабрикой» апплета через dbus и дать ему указание создать апплет; но этот апплет остается просто как данные где-то в файловой системе (, и он сохраняется при перезагрузках! ), и никогда не становится экземпляром в виде виджета Gnome ... И учитывая комментарии выше, я сомневаться, что-то подобное в настоящее время (ну, по крайней мере, у Натти) возможно с dbus.

В заключение - я думаю, что это, наряду с техникой gnome-panel , исчерпывает возможности легкомысленного запуска апплетов под Unity в Natty.

0
ответ дан 13 April 2017 в 15:23

Для тех, кто все еще ищет что-то похожее, удобное и поддерживающее функцию «Категория заметок», есть заметки «Индикатор».

Установка:

sudo add-apt-repository ppa:umang/indicator-stickynotes

sudo apt-get update

sudo apt-get install indicator-stickynotes

Надеюсь, это поможет ... Наслаждайтесь!

0
ответ дан 13 April 2017 в 15:23

Другие вопросы по тегам:

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