Suggerimenti Empatia: Come per chiudere la finestra con il collegamento Esc e cambiare il cambiamento di Windows
18 Maggio

L'altro giorno ho deciso di cancellare il mio Ubuntu 11,04 Pidgin ed Empathy risolvere grazie alla sua integrazione.
Appena ho iniziato a testare l'applicazione che ho trovato 2 grossi problemi.
- Non riesco a passare da una finestra con Ctrl + Tab
- Non riesco a chiudere la finestra esistente con Esc o Esc
Secondo i creatori di queste non sono Empathy bug, ma dice che Gnome Esc = Annulla e Ctrl + Tab = interruttore di messa a fuoco fra elementi di testo. Questo è il motivo per essere coerente con Gnome non vuole mettere queste opzioni nel codice.
Poi capire per molto tempo ho trovato la soluzione a questo problema.
C'è un file nel file system sono impostati in cui tutte le azioni possono essere eseguite sulla nostra finestra GTK. Queste azioni hanno quello che viene chiamato "acceleratori" sono le scorciatoie da tastiera.
In primo luogo andiamo al file: / usr / share / empatia / empatia-chat-window.ui
Noi modificare come sudo (sudo gedit / usr / share / empatia / empatia-chat-window.ui).
Una volta aperto vedrete che XML è un comune e corrente con varie azioni.
Prima di tutto cercate la riga seguente:
1
| id = "menu_conv_close" > <object "GtkAction" class = id = "menu_conv_close"> |
<oggetto class="GtkAction" id="menu_conv_close"> Vedrete che al di sotto di questa linea ci sarà qualche simile a:
1
| modifiers = "GDK_CONTROL_MASK" /> chiave = <accelerator "Q" modificatori = "GDK_CONTROL_MASK" /> |
<accelerator key = "q" modifiers="GDK_CONTROL_MASK"/> Quello che dice è che per chiudere la conversazione non toccare Ctrl + K. Vogliamo cambiare di sfuggire, quindi modificare la riga precedente con:
1
| /> key = "Escape" <accelerator /> |
<accelerator key="Escape"/> e pronto
.
Andare al secondo problema di cambiare le finestre con Ctrl + Tab è un po 'più complicato. Per impostazione predefinita, GNOME non ci permette di cambiare le finestre con Ctrl + Tab e, a sua volta, non lascia qualsiasi applicazione GTK bindear un collegamento al tasto Tab. Se volessimo fare questo, dobbiamo toccare il codice e modificare una empatia FLAG per farci calpestare ciò che dice Gnome. Dato che questo sarebbe stato un duro lavoro, ha deciso di cambiare Ctrl + Tab e Ctrl + Maiusc + Tab per Ctrl + A, in questo caso, che è abbastanza simile.
Poi cercare per ora nello stesso file le seguenti 2 linee
1
| id = "menu_tabs_prev" > <object "GtkAction" class = id = "menu_tabs_prev"> |
<oggetto class="GtkAction" id="menu_tabs_prev"> 1
| id = "menu_tabs_next" > <object "GtkAction" class = id = "menu_tabs_next"> |
<oggetto class="GtkAction" id="menu_tabs_next"> E cambiare i due acceleratori. I collegamenti attuali dicono di cambiare scheda è necessario utilizzare Ctrl + PageDown, il che significa che il collegamento devo usare circa 3 strati
. Quindi modificare il seguente rispettivamente:
1
| modifiers = "GDK_CONTROL_MASK|GDK_SHIFT_MASK" /> chiave = <accelerator "a" modificatori = "GDK_CONTROL_MASK|GDK_SHIFT_MASK" /> |
key = <accelerator "a" modifiers="GDK_CONTROL_MASK|GDK_SHIFT_MASK"/> 1
| modifiers = "GDK_CONTROL_MASK" /> chiave = <accelerator "a" modificatori = "GDK_CONTROL_MASK" /> |
key = <accelerator "a" modifiers="GDK_CONTROL_MASK"/> Dopo di che, riavviare Empatia e voilà!
Vi lascio il mio file di configurazione per decidere un passo direttamente:
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 version = "1.0"> <- * - Mode: xml Chiacchierare per tutti Contattare = "t" modifiers = "GDK_SHIFT_MASK | Close Tab </ property> </ object> <tasti di scelta rapida = "T" modificatori = "GDK_SHIFT_MASK | Linguetta Linguetta |
<? Xml version = "1.0"> <- * - Mode: xml - * -> <object class = "GtkUIManager" <interfaccia> id = "ui_manager"> <child> <object class = "GtkActionGroup" id = "actiongroup1"> <object class = "GtkAction" <child> id = "menu_conv"> <property name="name"> menu_conv </ property> <property name="label" translatable="yes"> _Conversation < / property> </ object> </ figlio> <object class = "GtkAction" <child> id = "menu_conv_clear"> <property name="stock_id"> gtk-clear </ property> <property name="name"> menu_conv_clear </ property> <property name="label" translatable="yes"> C_lear </ property> </ object> <accelerator key="L" modifiers="GDK_CONTROL_MASK"/> </ child> <child> <object class = id "GtkAction" = "menu_conv_insert_smiley"> <property name="icon-name"> faccia-sorriso </ property> <property name="name"> menu_conv_insert_smiley </ property> <nome della proprietà "label" = traducibile = "yes"> Inserisci _smiley </ property> </ object> </ figlio> <object class = "GtkToggleAction" <child> id = "menu_conv_favorite"> <property name="name"> menu_conv_favorite </ property> <proprietà del nome = "label" traducibili = "yes"> _Favorite Chat Room </ property> </ object> </ figlio> <object class = "GtkToggleAction" <child> id = "menu_conv_always_urgent"> <property name="name"> menu_conv_always_urgent </ property> <property name="label" Comunica translatable="yes"> per tutti i messaggi </ property> </ object> </ figlio> <object class = "GtkToggleAction" <child> id = "menu_conv_toggle_contacts"> < property name = "nome"> menu_conv_toggle_contacts </ property> <property name="active"> True </ property> <property name="label" translatable="yes"> lista dei contatti _Mostra </ property> </ object> < / figlio> <class object = "GtkAction" <child> id = "menu_conv_invite_participant"> <property name="name"> menu_conv_invite_participant </ property> <property name="label" translatable="yes"> _Participant Invita ... </ property> </ object> </ figlio> <object class = "GtkAction" <child> id = "menu_conv_close"> <property name="stock_id"> gtk-close </ property> <property name="name"> menu_conv_close </ property> </ object> <accelerator key="Escape"/> </ figlio> <object class = "GtkAction" <child> id = "menu_contact"> <property name="name"> menu_contact </ property> <property name="label" translatable="yes"> C_ontact </ property> </ object> </ figlio> <object class = "GtkAction" <child> id = "menu_edit"> <property name="name"> menu_edit </ property> <property name="label" translatable="yes"> _edit </ property> </ object> </ figlio> <object class = "GtkAction" <child> id = "menu_edit_cut"> <nome della proprietà = "stock_id"> gtk-cut </ property> <property name="name"> menu_edit_cut </ property> </ object> <accelerator key="X" modifiers="GDK_CONTROL_MASK"/> </ child> <child> <object class="GtkAction" id="menu_edit_copy"> <property name="stock_id"> gtk-copy </ property> <property name="name"> menu_edit_copy </ property> </ object> <= tasti di scelta rapida " C "modificatori =" GDK_CONTROL_MASK "/> </ figlio> <object class =" GtkAction "<child> id =" menu_edit_paste "> <property name="stock_id"> gtk-incolla </ property> <property name =" nome "> menu_edit_paste </ property> </ object> <accelerator key="V" modifiers="GDK_CONTROL_MASK"/> </ figlio> <object class =" GtkAction "<child> id =" menu_edit_find "> <= nome della proprietà" stock_id "> gtk-find </ property> <property name="name"> menu_edit_find </ property> </ object> <accelerator key="F" modifiers="GDK_CONTROL_MASK"/> </ child> <child> <object class = id "GtkAction" = "menu_tabs"> <property name="name"> menu_tabs </ property> <property name="label" translatable="yes"> _Tabs </ property> </ object> </ child> <oggetto classe <child> id = "GtkAction" = "menu_tabs_prev"> <property name="name"> menu_tabs_prev </ property> <property name="label" translatable="yes"> _Previous Tab </ property> </ object> <accelerator key="a" modifiers="GDK_CONTROL_MASK|GDK_SHIFT_MASK"/> </ figlio> <object class = "GtkAction" <child> id = "menu_tabs_next"> <property name="name"> menu_tabs_next </ property > <property name="label" translatable="yes"> _NEXT Tab </ property> </ object> <accelerator key="a" modifiers="GDK_CONTROL_MASK"/> </ child> <child> <object class = " GtkAction "id =" menu_tabs_undo_close_tab "> <property name="name"> menu_tabs_undo_close_tab </ property> <property name="label" translatable="yes"> _Undo Close Tab </ property> </ object> <= tasti di scelta rapida" t "modificatori =" GDK_SHIFT_MASK | GDK_CONTROL_MASK "/> </ figlio> <object class =" GtkAction "<child> id =" menu_tabs_left "> <property name="name"> menu_tabs_left </ property> <property name =" label "traducibile =" yes "> Tab Sposta _Alt </ property> </ object> <accelerator key="Page_Up" modifiers="GDK_CONTROL_MASK|GDK_SHIFT_MASK"/> </ child> <child> <object class =" "id = GtkAction "menu_tabs_right"> <property name="name"> menu_tabs_right </ property> Tab Sposta <property translatable="yes"> _Right name = "label" </ property> </ object> <tasti di scelta rapida = "Pag_Giù" modificatori = "GDK_CONTROL_MASK | GDK_SHIFT_MASK" /> </ figlio> <object class = "GtkAction" <child> id = "menu_tabs_detach"> <property name="name"> menu_tabs_detach </ property> <property name = "label" = traducibili " yes "> _Detach Tab </ property> </ object> </ figlio> <object class =" GtkAction "<child> id =" menu_help "> <property name="name"> menu_help </ property> <nome della proprietà = "etichetta" traducibili = "yes"> _Help </ property> </ object> </ figlio> <object class = "GtkAction" <child> id = "menu_help_contents"> <property name="stock_id"> gtk-help < / property> <property name="name"> menu_help_contents </ property> <property name="label" translatable="yes"> _Contents </ property> </ object> <tasti di scelta rapida = "F1" modificatori = "" / > </ figlio> <object class = "GtkAction" <child> id = "menu_help_about"> gtk-about <property name="stock_id"> </ property> <property name="name"> menu_help_about </ property> < / object> </ figlio> </ object> </ child> <UI> <menubar name="chats_menubar"> <menu action="menu_conv"> <menuitem action="menu_conv_clear"/> <menuitem action = "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/> <azione menuitem = "menu_conv_close" / > </ menu> <menu action="menu_contact" /> <menu action="menu_edit"> <menuitem action="menu_edit_cut"/> <menuitem action="menu_edit_copy"/> <menuitem action="menu_edit_paste"/> < separatore /> <menuitem action="menu_edit_find"/> </ menu> <menu action="menu_tabs"> <menuitem action="menu_tabs_prev"/> <menuitem action="menu_tabs_next"/> <azione menuitem = "menu_tabs_undo_close_tab" / > <separator/> <menuitem action="menu_tabs_left"/> <menuitem action="menu_tabs_right"/> <menuitem action="menu_tabs_detach"/> </ menu> <<menu action="menu_help"> menuitem action = "menu_help_contents "/> <placeholder name="LaunchpadItems"/> <menuitem action="menu_help_about"/> </ menu> </ menubar> </ u> </ object> <oggetto class="GtkWindow" id="chat_window"> <property name="title" translatable="yes"> Chat </ property> <property name="role"> chat </ property> <property name="default_width"> 580 </ property> <property name = "default_height "> 480 </ property> <object class =" GtkVBox "<child> id =" chat_vbox "> <property name="visible"> True </ property> <child> <object class =" "builder =" GtkMenuBar ui_manager "id =" chats_menubar "> <property name="visible"> True </ property> </ object> <property name="expand"> <packing> False </ property> <property name="fill"> False < / property> </ imballaggio> </ child> <child> <placeholder/> </ figlio> </ object> </ figlio> </ object> </ interface> 














