Эмпатия Советы: Как закрыть окно с ярлыком Esc и изменить изменение окна
18 мая

На днях я решил удалить свой Ubuntu 11.04 Pidgin и эмпатия решить благодаря интеграции.
Как только я начал тестирование приложения я нашел 2 основные проблемы.
- Я не могу переключаться между окнами Ctrl + Tab
- Я не могу закрыть существующее окно с Esc или Побег
По словам создателей это не ошибки Сочувствие, но говорит, что Gnome Побег = Отмена и Ctrl + Tab = переключение внимания между текстовыми элементами. Именно поэтому в соответствие с Gnome не хотите поставить эти параметры в коде.
Затем выяснить, в течение длительного времени я нашел решение этой проблемы.
Существует файла в файловой системе, где созданы все действия могут быть выполнены на нашем GTK окно. Эти действия, что называется "ускорители" быстрые клавиши.
Сначала идем в файл: / USR / доли / сочувствие / сопереживание-чата window.ui
Мы будем редактировать как Суда (Суда Gedit / USR / доли / сочувствие / сопереживание-чата window.ui).
После открытия вы увидите, что XML является общей и текущей различные действия.
Прежде всего вы посмотрите на следующую строку:
1
| id = "menu_conv_close" > <object "GtkAction" класс = ID = "menu_conv_close"> |
<object class="GtkAction" id="menu_conv_close"> Вы увидите, что ниже этой линии будет несколько похож на:
1
| modifiers = "GDK_CONTROL_MASK" /> ключ = "д" модификаторы <accelerator = "GDK_CONTROL_MASK" /> |
ключ = "д" <accelerator modifiers="GDK_CONTROL_MASK"/> Это говорит о том, чтобы закрыть разговор не касался Ctrl + K. Мы хотим, чтобы изменить его к бегству, то измените строку выше:
1
| /> ключ = "Escape" <accelerator /> |
<accelerator key="Escape"/> и готово
.
Переход ко второй проблеме изменения окна Tab Ctrl + немного сложнее. По умолчанию, GNOME не позволяет менять окна Ctrl + Tab и, в свою очередь, не оставляет никаких приложений GTK bindear ссылку на клавишу табуляции. Если бы мы хотели это сделать, мы должны коснуться код и изменить флаг Сочувствие, чтобы сообщить нам выйти на то, что говорит Gnome. Как это будет тяжелая работа, решила изменить Ctrl + Tab и Ctrl + Shift + Tab, чтобы Ctrl + A в этом случае, который очень похож.
Тогда ищите в настоящее время в том же файле следующие 2 строки
1
| id = "menu_tabs_prev" > <object "GtkAction" класс = ID = "menu_tabs_prev"> |
<object class="GtkAction" id="menu_tabs_prev"> 1
| id = "menu_tabs_next" > <object "GtkAction" класс = ID = "menu_tabs_next"> |
<object class="GtkAction" id="menu_tabs_next"> И изменить двух ускорителей. В настоящее время ярлыки сказать изменить вкладку, вы должны использовать Ctrl + PageDown, а это значит, что ярлык, я должен использовать около 3 слоя
. Затем измените следующие соответственно:
1
| modifiers = "GDK_CONTROL_MASK|GDK_SHIFT_MASK" /> ключ = "" модификаторы <accelerator = "GDK_CONTROL_MASK|GDK_SHIFT_MASK" /> |
ключ = "" <accelerator modifiers="GDK_CONTROL_MASK|GDK_SHIFT_MASK"/> 1
| modifiers = "GDK_CONTROL_MASK" /> ключ = "" модификаторы <accelerator = "GDK_CONTROL_MASK" /> |
ключ = "" <accelerator modifiers="GDK_CONTROL_MASK"/> После этого перезагрузите Сочувствие и вуаля!
Я оставляю вам свою конфигурационный файл решить шагнул прямо:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 | ?> <!--*- mode: xml <? Xml Версия = "1.0">! <- * - Режим: XML Чат для всех Связаться = "t" modifiers = "GDK_SHIFT_MASK | Close Tab </ недвижимость> </ объект> <ускоритель ключ = «т» модификаторы = "GDK_SHIFT_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/> </ ребенка> </ объект> </ ребенка> </ объект> </ интерфейс> 














