На днях я решил удалить свой Ubuntu 11.04 Pidgin и эмпатия решить благодаря интеграции.
Как только я начал тестирование приложения я нашел 2 основные проблемы.
- Я не могу переключаться между окнами Ctrl + Tab
- Я не могу закрыть существующее окно с Esc или Побег
По словам создателей это не ошибки Сочувствие, но говорит, что Gnome Побег = Отмена и Ctrl + Tab = переключение внимания между текстовыми элементами. Именно поэтому в соответствие с Gnome не хотите поставить эти параметры в коде.
Затем выяснить, в течение длительного времени я нашел решение этой проблемы.
Существует файла в файловой системе, где созданы все действия могут быть выполнены на нашем GTK окно. Эти действия, что называется "ускорители" быстрые клавиши.
Сначала идем в файл: / USR / доли / сочувствие / сопереживание-чата window.ui
Мы будем редактировать как Суда (Суда Gedit / USR / доли / сочувствие / сопереживание-чата window.ui).
После открытия вы увидите, что XML является общей и текущей различные действия.
Прежде всего вы посмотрите на следующую строку:
<object class="GtkAction" id="menu_conv_close">
Вы увидите, что ниже этой линии будет несколько похож на:
ключ = "д" <accelerator modifiers="GDK_CONTROL_MASK"/>
Это говорит о том, чтобы закрыть разговор не касался Ctrl + K. Мы хотим, чтобы изменить его к бегству, то измените строку выше:
<accelerator key="Escape"/>
и готово
.
Переход ко второй проблеме изменения окна Tab Ctrl + немного сложнее. По умолчанию, GNOME не позволяет менять окна Ctrl + Tab и, в свою очередь, не оставляет никаких приложений GTK bindear ссылку на клавишу табуляции. Если бы мы хотели это сделать, мы должны коснуться код и изменить флаг Сочувствие, чтобы сообщить нам выйти на то, что говорит Gnome. Как это будет тяжелая работа, решила изменить Ctrl + Tab и Ctrl + Shift + Tab, чтобы Ctrl + A в этом случае, который очень похож.
Тогда ищите в настоящее время в том же файле следующие 2 строки
<object class="GtkAction" id="menu_tabs_prev">
<object class="GtkAction" id="menu_tabs_next">
И изменить двух ускорителей. В настоящее время ярлыки сказать изменить вкладку, вы должны использовать Ctrl + PageDown, а это значит, что ярлык, я должен использовать около 3 слоя
. Затем измените следующие соответственно:
ключ = "" <accelerator modifiers="GDK_CONTROL_MASK|GDK_SHIFT_MASK"/>
ключ = "" <accelerator modifiers="GDK_CONTROL_MASK"/>
После этого перезагрузите Сочувствие и вуаля!
Я оставляю вам свою конфигурационный файл решить шагнул прямо:
<? Xml Версия = "1.0"> <! - * - Режим: XML - * -> <объект класса = "GtkUIManager" <interface> ID = "ui_manager"> <child> <объект класса = "GtkActionGroup" ID = "actiongroup1"> <объект класса = "GtkAction" <child> ID = "menu_conv"> <property name="name"> menu_conv </ недвижимость> <property name="label" translatable="yes"> _Conversation < / собственность> </ объект> </ ребенка> <объект класса = "GtkAction" <child> ID = "menu_conv_clear"> <property name="stock_id"> GTK чистая </ недвижимость> <property name="name"> menu_conv_clear </ недвижимость> <property name="label" translatable="yes"> C_lear </ недвижимость> </ объект> <accelerator key="L" modifiers="GDK_CONTROL_MASK"/> </ ребенка> <child> <объект класс = "GtkAction" ID = "menu_conv_insert_smiley"> <property name="icon-name"> лицо улыбкой </ недвижимость> <property name="name"> menu_conv_insert_smiley </ недвижимость> <имя свойства = "ярлык" переводимый = "Да"> Вставить _smiley </ недвижимость> </ объект> </ ребенка> <объект класса = "GtkToggleAction" <child> ID = "menu_conv_favorite"> <property name="name"> menu_conv_favorite </ недвижимость> <имя свойства = "ярлык" переводимый = "YES"> _Favorite Чат </ недвижимость> </ объект> </ ребенка> <объект класса = "GtkToggleAction" <child> ID = "menu_conv_always_urgent"> <property name="name"> menu_conv_always_urgent </ недвижимость> <property name="label" Сообщите translatable="yes"> для всех сообщений </ недвижимость> </ объект> </ ребенка> <объект класса = "GtkToggleAction" <child> ID = "menu_conv_toggle_contacts"> < имя свойства = "имя"> menu_conv_toggle_contacts </ недвижимость> <property name="active"> True </ недвижимость> <property name="label" translatable="yes"> _Show Список контактов </ недвижимость> </ объект> < / ребенок> <объект класса = "GtkAction" <child> ID = "menu_conv_invite_participant"> <property name="name"> menu_conv_invite_participant </ недвижимость> <property name="label" translatable="yes"> _Participant Пригласить ... </ Свойство> </ объект> </ ребенка> <объект класса = "GtkAction" <child> ID = "menu_conv_close"> <property name="stock_id"> GTK-близко </ недвижимость> <property name="name"> menu_conv_close </ недвижимость> </ объект> <accelerator key="Escape"/> </ ребенка> <объект класса = "GtkAction" <child> ID = "menu_contact"> <property name="name"> menu_contact </ недвижимость> <property name="label" translatable="yes"> C_ontact </ недвижимость> </ объект> </ ребенка> <объект класса = "GtkAction" <child> ID = "menu_edit"> <property name="name"> menu_edit </ недвижимость> <property name="label" translatable="yes"> _edit </ недвижимость> </ объект> </ ребенка> <объект класса = "GtkAction" <child> ID = "menu_edit_cut"> <имя свойства = "stock_id"> GTK вырезом </ недвижимость> <property name="name"> menu_edit_cut </ недвижимость> </ объект> <accelerator key="X" modifiers="GDK_CONTROL_MASK"/> </ ребенка> <child> <object class="GtkAction" id="menu_edit_copy"> <property name="stock_id"> GTK-копия </ недвижимость> <property name="name"> menu_edit_copy </ недвижимость> </ объект> <сочетание клавиш = " С "модификаторы =" GDK_CONTROL_MASK "/> </ ребенка> <объект класса =" GtkAction "<child> ID =" menu_edit_paste "> <property name="stock_id"> GTK-паста </ недвижимость> <имя свойства =" имя "> menu_edit_paste </ недвижимость> </ объект> <accelerator key="V" modifiers="GDK_CONTROL_MASK"/> </ ребенка> <объект класса =" GtkAction "<child> ID =" menu_edit_find "> <имя свойства =" stock_id "> GTK-найти </ недвижимость> <property name="name"> menu_edit_find </ недвижимость> </ объект> <accelerator key="F" modifiers="GDK_CONTROL_MASK"/> </ ребенка> <child> <объект класс = "GtkAction" ID = "menu_tabs"> <property name="name"> menu_tabs </ недвижимость> <property name="label" translatable="yes"> _Tabs </ недвижимость> </ объект> </ ребенка> <объект <child> класс = "GtkAction" ID = "menu_tabs_prev"> <property name="name"> menu_tabs_prev </ недвижимость> <property name="label" translatable="yes"> _Previous Tab </ недвижимость> </ Объект> <accelerator key="a" modifiers="GDK_CONTROL_MASK|GDK_SHIFT_MASK"/> </ ребенка> <объект класса = "GtkAction" <child> ID = "menu_tabs_next"> <property name="name"> menu_tabs_next </ собственность > <property name="label" translatable="yes"> _NEXT Tab </ недвижимость> </ объект> <accelerator key="a" modifiers="GDK_CONTROL_MASK"/> </ ребенка> <child> <объект класса = " GtkAction "ID =" menu_tabs_undo_close_tab "> <property name="name"> menu_tabs_undo_close_tab </ недвижимость> <property name="label" translatable="yes"> _Undo Close Tab </ недвижимость> </ объект> <сочетание клавиш =" т "модификаторы =" GDK_SHIFT_MASK | GDK_CONTROL_MASK "/> </ ребенка> <объект класса =" GtkAction "<child> ID =" menu_tabs_left "> <property name="name"> menu_tabs_left </ недвижимость> <имя свойства =" этикетки "переводимый =" YES "> Переместить вкладку _Left </ недвижимость> </ объект> <accelerator key="Page_Up" modifiers="GDK_CONTROL_MASK|GDK_SHIFT_MASK"/> </ ребенка> <child> <объект класса =" GtkAction "ID = "menu_tabs_right"> <property name="name"> menu_tabs_right </ недвижимость> Move Tab <property translatable="yes"> имя = "ярлык" _Right </ недвижимость> </ объект> <сочетание клавиш = "PAGE_DOWN" модификаторы = "GDK_CONTROL_MASK | GDK_SHIFT_MASK" /> </ ребенка> <объект класса = "GtkAction" <child> ID = "menu_tabs_detach"> <property name="name"> menu_tabs_detach </ недвижимость> <имя свойства = "ярлык" переводимый = " да "> _Detach Tab </ недвижимость> </ объект> </ ребенка> <объект класса =" GtkAction "<child> ID =" menu_help "> <property name="name"> menu_help </ недвижимость> <имя свойства = "ярлык" переводимый = "YES"> _Help </ недвижимость> </ объект> </ ребенка> <объект класса = "GtkAction" <child> ID = "menu_help_contents"> <property name="stock_id"> GTK-help < / недвижимость> <property name="name"> menu_help_contents </ недвижимость> <property name="label" translatable="yes"> _Contents </ недвижимость> </ объект> <ускоритель ключ = "F1" модификаторы = "" / > </ ребенка> <объект класса = "GtkAction" <child> ID = "menu_help_about"> GTK-о <property name="stock_id"> </ недвижимость> <property name="name"> menu_help_about </ недвижимость> < / объект> </ ребенка> </ объект> </ ребенка> <ui> <menubar name="chats_menubar"> <menu action="menu_conv"> <menuitem action="menu_conv_clear"/> <пункт меню действие = "menu_conv_insert_smiley" /> <menuitem action="menu_conv_favorite"/> <menuitem action="menu_conv_always_urgent"/> <menuitem action="menu_conv_toggle_contacts"/> <menuitem action="menu_conv_invite_participant"/> <separator/> <пункт меню действие = "menu_conv_close" / > </ Меню> <menu action="menu_contact" /> <menu action="menu_edit"> <menuitem action="menu_edit_cut"/> <menuitem action="menu_edit_copy"/> <menuitem action="menu_edit_paste"/> < сепаратор /> <menuitem action="menu_edit_find"/> </ Меню> <menu action="menu_tabs"> <menuitem action="menu_tabs_prev"/> <menuitem action="menu_tabs_next"/> <пункт меню действие = "menu_tabs_undo_close_tab" / > <separator/> <menuitem action="menu_tabs_left"/> <menuitem action="menu_tabs_right"/> <menuitem action="menu_tabs_detach"/> </ Меню> <menu action="menu_help"> <пункт меню действие = "menu_help_contents "/> <placeholder name="LaunchpadItems"/> <menuitem action="menu_help_about"/> </ Меню> </ меню> </ U> </ объект> <object class="GtkWindow" id="chat_window"> <property name="title" translatable="yes"> чат </ недвижимость> <property name="role"> чат </ недвижимость> <property name="default_width"> 580 </ Property> <имя свойства = "default_height "> 480 </ Property> <объект класса =" GtkVBox "<child> ID =" chat_vbox "> <property name="visible"> True </ недвижимость> <child> <объект класса =" GtkMenuBar "Строитель =" ui_manager "ID =" chats_menubar "> <property name="visible"> True </ недвижимость> </ объект> <property name="expand"> <packing> False </ недвижимость> <property name="fill"> False < / собственность> </ упаковка> </ ребенка> <child> <placeholder/> </ ребенка> </ объект> </ ребенка> </ объект> </ интерфейс>
Подробнее