Dicas Empatia: Como fechar a janela com atalho Esc e mudar a mudança janelas
18 de maio

No outro dia eu decidi apagar meu Ubuntu 11,04 Pidgin e empatia resolver devido à sua integração.
Assim eu comecei a testar o aplicativo eu encontrei 2 grandes problemas.
- Eu não posso alternar entre as janelas com Ctrl + Tab
- Eu não posso fechar a janela existente com Esc ou Escape
De acordo com os criadores de estes não são Empatia bugs, mas diz Fuga Gnome = Cancelar e Ctrl + Tab = alternar o foco entre elementos do texto. É por isso que para ser consistente com o Gnome não quer colocar estas opções em seu código.
Em seguida, descobrir por um longo tempo eu achei a correção para este problema.
Há um arquivo no sistema de arquivos são criados, onde todas as ações podem ser executadas em nossa janela GTK. Essas ações têm o que é chamado de "aceleradores" são atalhos de teclado.
Primeiro, vá para o arquivo: / usr / share / empatia / empatia-chat-window.ui
Vamos editar o sudo (sudo gedit / usr / share / empatia / empatia-chat-window.ui).
Uma vez aberto, você verá que é um XML comum e corrente, com várias ações.
Primeiro de tudo você procurar a seguinte linha:
1
| id = "menu_conv_close" > <object "GtkAction" class = id = "menu_conv_close"> |
<object class="GtkAction" id="menu_conv_close"> Você verá que abaixo dessa linha, haverá alguma semelhante a:
1
| modifiers = "GDK_CONTROL_MASK" /> key = "Q" modificadores <accelerator = "GDK_CONTROL_MASK" /> |
key = "q" <accelerator modifiers="GDK_CONTROL_MASK"/> O que isto diz é que para fechar a conversa não tocar Ctrl + K. Queremos mudar isso para escapar, em seguida, altere a linha acima com:
1
| /> key = "Escape" <accelerator /> |
<accelerator key="Escape"/> e pronto
.
Indo para o segundo problema de mudar as janelas com Ctrl + Tab é um pouco mais complicado. Por padrão, o GNOME não vamos mudar as janelas com Ctrl + Tab e por sua vez, não deixa qualquer aplicação GTK bindear um atalho para a tecla Tab. Se quiséssemos fazer isso, devemos tocar o código e alterar uma empatia FLAG para nos deixar pisar o Gnome diz. Como este ia ser um trabalho árduo, decidiu mudar Ctrl + Tab e Ctrl + Shift + Tab para Ctrl + A, neste caso, que é bastante semelhante.
Em seguida, procure agora no mesmo arquivo as seguintes 2 linhas
1
| id = "menu_tabs_prev" > <object "GtkAction" class = id = "menu_tabs_prev"> |
<object class="GtkAction" id="menu_tabs_prev"> 1
| id = "menu_tabs_next" > <object "GtkAction" class = id = "menu_tabs_next"> |
<object class="GtkAction" id="menu_tabs_next"> E mudar os dois aceleradores. Os atalhos atuais dizer para mudar guia você tem que usar Ctrl + PageDown, o que significa que o atalho eu tenho que usar cerca de 3 demãos
. Em seguida, altere o seguinte respectivamente:
1
| modifiers = "GDK_CONTROL_MASK|GDK_SHIFT_MASK" /> chave = "A" modificadores <accelerator = "GDK_CONTROL_MASK|GDK_SHIFT_MASK" /> |
key = "a" <accelerator modifiers="GDK_CONTROL_MASK|GDK_SHIFT_MASK"/> 1
| modifiers = "GDK_CONTROL_MASK" /> chave = "A" modificadores <accelerator = "GDK_CONTROL_MASK" /> |
key = "a" <accelerator modifiers="GDK_CONTROL_MASK"/> Depois disso, reinicie Empatia e voila!
Deixo-vos o meu arquivo de configuração para decidir entrou diretamente:
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 Bate-papo para Todos Contato = "t" modifiers = "GDK_SHIFT_MASK | Close Tab </ property> </ object> <acelerador chave = "t" modificadores = "GDK_SHIFT_MASK | Aba Aba |
<? Xml version = "1.0"> <! - * - Mode: xml - * -> <classe de objeto = "GtkUIManager" <interface> id = "ui_manager"> <child> <classe de objeto = "GtkActionGroup" id = "actiongroup1"> <class = objeto "GtkAction" <child> id = "menu_conv"> <property name="name"> menu_conv </ property> <property name="label" _Conversation translatable="yes"> < / property> </ object> </ criança> <classe de objeto = "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"/> <criança /> <child> objeto < class = "GtkAction" id = "menu_conv_insert_smiley"> <property name="icon-name"> rosto sorriso </ property> <property name="name"> menu_conv_insert_smiley </ property> <nome da propriedade = "label" traduzível = "yes"> Inserir _smiley </ property> </ object> </ criança> <classe de objeto = "GtkToggleAction" <child> id = "menu_conv_favorite"> <property name="name"> menu_conv_favorite </ property> nome da propriedade < = "label" traduzível = "yes"> _Favorite Chat Room </ property> </ object> </ criança> <classe de objeto = "GtkToggleAction" <child> id = "menu_conv_always_urgent"> <property name="name"> menu_conv_always_urgent </ property> <property name="label" Notifique translatable="yes"> para todas as mensagens </ property> </ object> </ criança> <classe de objeto = "GtkToggleAction" <child> id = "menu_conv_toggle_contacts"> < nome da propriedade = "nome"> menu_conv_toggle_contacts </ property> <property name="active"> True </ property> <property name="label" translatable="yes"> Lista de Contatos _Show </ property> </ object> < / criança> <classe de objeto = "GtkAction" <child> id = "menu_conv_invite_participant"> <property name="name"> menu_conv_invite_participant </ property> <property name="label" translatable="yes"> _Participant Convidar ... </ property> </ object> </ criança> <classe de objeto = "GtkAction" <child> id = "menu_conv_close"> <property name="stock_id"> gtk-close </ property> <property name="name"> menu_conv_close </ property> </ object> <accelerator key="Escape"/> </ criança> <classe de objeto = "GtkAction" <child> id = "menu_contact"> <property name="name"> menu_contact </ property> <property name="label" translatable="yes"> C_ontact </ property> </ object> </ criança> <classe de objeto = "GtkAction" <child> id = "menu_edit"> <property name="name"> menu_edit </ property> <property name="label" translatable="yes"> _Edit </ property> </ object> </ criança> <classe de objeto = "GtkAction" <child> id = "menu_edit_cut"> nome da propriedade < = "stock_id"> gtk-corte </ property> <property name="name"> menu_edit_cut </ property> </ object> <accelerator key="X" modifiers="GDK_CONTROL_MASK"/> <criança /> <child> <object class="GtkAction" id="menu_edit_copy"> <property name="stock_id"> gtk-cópia </ property> <property name="name"> menu_edit_copy </ property> </ object> <acelerador key = " C "modificadores =" GDK_CONTROL_MASK "/> </ criança> <classe de objeto =" GtkAction "<child> id =" menu_edit_paste "> <property name="stock_id"> gtk-paste </ property> <nome da propriedade =" nome "> menu_edit_paste </ property> </ object> <accelerator key="V" modifiers="GDK_CONTROL_MASK"/> </ criança> <classe de objeto =" GtkAction "<child> id =" menu_edit_find "> <nome da propriedade =" stock_id "> gtk-encontrar </ property> <property name="name"> menu_edit_find </ property> </ object> <accelerator key="F" modifiers="GDK_CONTROL_MASK"/> <criança /> <child> objeto < class = "GtkAction" id = "menu_tabs"> <property name="name"> menu_tabs </ property> <property name="label" translatable="yes"> _Tabs </ property> </ object> </ criança> <objeto de classe <child> = "GtkAction" id = "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"/> </ criança> <classe de objeto = "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"/> <criança /> <child> <= classe de objeto " 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> <acelerador key =" t "modificadores =" GDK_SHIFT_MASK | GDK_CONTROL_MASK "/> </ criança> <classe de objeto =" GtkAction "<child> id =" menu_tabs_left "> <property name="name"> menu_tabs_left </ property> <nome da propriedade =" rótulo "traduzível =" yes "Tab> Mover _Alt </ property> </ object> <accelerator key="Page_Up" modifiers="GDK_CONTROL_MASK|GDK_SHIFT_MASK"/> <criança /> <child> <classe de objeto =" GtkAction id "= "menu_tabs_right"> <property name="name"> menu_tabs_right </ property> Tab Move <property nome translatable="yes"> = "label" _Right </ property> </ object> <acelerador key = "page_down" modificadores = "GDK_CONTROL_MASK | GDK_SHIFT_MASK" /> </ criança> <classe de objeto = "GtkAction" <child> id = "menu_tabs_detach"> <property name="name"> menu_tabs_detach </ property> <nome da propriedade = "label" traduzível = " yes "> _Detach Tab </ property> </ object> </ criança> <classe de objeto =" GtkAction "<child> id =" menu_help "> <property name="name"> menu_help </ property> nome da propriedade <= "rótulo" traduzível = "yes"> _Help </ property> </ object> </ criança> <classe de objeto = "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> <acelerador chave = "F1" modificadores = "" / > </ criança> <classe de objeto = "GtkAction" <child> id = "menu_help_about"> gtk-sobre <property name="stock_id"> </ property> <property name="name"> menu_help_about </ property> < / object> </ criança> </ object> </ criança> <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/> <ação 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"/> < separador /> <menuitem action="menu_edit_find"/> </ menu> <Menu action="menu_tabs"> <menuitem action="menu_tabs_prev"/> <menuitem action="menu_tabs_next"/> <ação 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> </ menu> </ u> </ object> <object class="GtkWindow" id="chat_window"> <property name="title" translatable="yes"> bate-papo </ property> <property name="role"> bate-papo </ property> <property name="default_width"> 580 </ property> <nome da propriedade = "default_height "> 480 </ property> <classe de objeto =" GtkVBox "<child> id =" chat_vbox "> <property name="visible"> True </ property> <child> <classe de objeto =" GtkMenuBar "builder =" ui_manager "id =" chats_menubar "> <property name="visible"> True </ property> </ object> <property name="expand"> <packing> False </ property> <property name="fill"> False < / property> </ embalagem> </ criança> <child> <placeholder/> </ criança> </ object> </ criança> </ object> </ interface> 














