共感のヒント:Escキーのショートカットでウィンドウを閉じ、ウィンドウの変更を変更する方法
5月18日

私のUbuntu 11.04ピジンと共感を削除することを決めた他の日は、その統合のために落ち着く。
すぐに私は2つの主要な問題を発見したアプリケーションをテストし始めた。
- 私はCtrl + Tabキーでウィンドウを切り替えることはできません
- 私は、EscキーまたはEscで、既存のウィンドウを閉じることはできません
これらのクリエイターによれば、バグの共感ではありませんが、Gnomeのテキスト要素の間の=キャンセルとCtrl + Tabキー=スイッチのフォーカスをエスケープすると言います。 コード内でこれらのオプションを置きたくないのGnomeとの整合性を保つために、その理由です。
それから私はこの問題に対する修正を発見し、長時間把握する。
ファイルシステム内のファイルは、すべてのアクションが私たちのGTKウィンドウ上で実行することができますどこに設定されているがあります。 これらのアクションは、 "アクセラレータ"と呼ばれているものを持っているキーボードショートカットがあります。
まず、ファイルにアクセスしてください。を/ usr / share /共感/共感·チャットwindow.ui
我々は、sudoのように編集します(sudo geditのを/ usr / share /共感/共感·チャット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" /> キー= "q"を<accelerator修飾子= "GDK_CONTROL_MASK" /> |
キー= "q"を<accelerator modifiers="GDK_CONTROL_MASK"/> これは何を言うことは会話を閉じるには、Ctrl + Kには手を触れないということです 次に、上記の行を変更し、脱出するためにそれを変更したい:
1
| /> キー= "エスケープ" <accelerator /> |
<accelerator key="Escape"/> と準備
。
Ctrl + Tabキーでウィンドウを変更する2番目の問題に行くのは少し複雑です。 デフォルトでは、GNOMEは、私たちはCtrl + Tabキーで順番にウィンドウを変更することはできません、TabキーへのショートカットをすべてのGTKアプリケーションはbindear残していません。 我々はこれをやってみたかったのならば、我々はコードに触れ、私たちはGnomeの言うことを踏ませるためにFLAGの共感を変更する必要があります。 これは大変な作業になる予定だったように、CtrlキーにCtrl + TabやCtrl + Shift + Tabキーを変更することを決めた+非常によく似ていますこの場合、インチ
その後、次の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"> と2のアクセラレータを変更します。 現在のショートカットは、ショートカットは、私は約3コートを使用する必要があることを意味しますCtrlキーを押しながらPageDownキーを使用する必要がタブを変更するには、言う
。 その後、それぞれ次のように変更します。
1
| modifiers = "GDK_CONTROL_MASK|GDK_SHIFT_MASK" /> キー= "1" <accelerator修飾子= "GDK_CONTROL_MASK|GDK_SHIFT_MASK" /> |
キー= "1" <accelerator modifiers="GDK_CONTROL_MASK|GDK_SHIFT_MASK"/> 1
| modifiers = "GDK_CONTROL_MASK" /> キー= "1" <accelerator修飾子= "GDK_CONTROL_MASK" /> |
キー= "1" <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 | タブを閉じる</プロパティ> </オブジェクト> <アクセラレータキー= "t"の修飾子= "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 < /プロパティ> </ OBJECT> </子> <オブジェクトのクラス= "GtkAction" <child> ID = "menu_conv_clear"> <property name="stock_id">のgtk-クリア</プロパティ> <property name="name">をmenu_conv_clear </プロパティ> <property name="label" translatable="yes"> C_lear </プロパティ> </ OBJECT> <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 </プロパティ> </ OBJECT> </子> <オブジェクトのクラス= "GtkToggleAction" <child> ID = "menu_conv_favorite"> <property name="name">をmenu_conv_favorite </プロパティ> <プロパティ名= "ラベル"の翻訳= "yes"を> _Favoriteチャットルーム</プロパティ> </ OBJECT> </子> <オブジェクトのクラス= "GtkToggleAction" <child> ID = "menu_conv_always_urgent"> <property name="name">をmenu_conv_always_urgent </プロパティ> <property name="label"すべてのメッセージのためにtranslatable="yes">を受け取る</プロパティ> </ OBJECT> </子> <オブジェクトのクラス= "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招待... </プロパティー> </ OBJECT> </子> <オブジェクトのクラス= "GtkAction" <child> ID = "menu_conv_close"> <property name="stock_id">のgtk-閉じる</プロパティ> <property name="name">をmenu_conv_close </プロパティ> </ OBJECT> <accelerator key="Escape"/> </子> <オブジェクトのクラス= "GtkAction" <child> ID = "menu_contact"> <property name="name">をmenu_contact </プロパティ> <property name="label" translatable="yes"> C_ontact </プロパティ> </ OBJECT> </子> <オブジェクトのクラス= "GtkAction" <child> ID = "menu_edit"> <property name="name">をmenu_edit </プロパティ> <property name="label" translatable="yes"> _edit </プロパティ> </ OBJECT> </子> <オブジェクトのクラス= "GtkAction" <child> ID = "menu_edit_cut"> <プロパティ名= "stock_id">のgtk-カット</プロパティ> <property name="name">をmenu_edit_cut </プロパティ> </ OBJECT> <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 </プロパティ> </オブジェクト> <アクセラレータキー= " C "修飾子=" GDK_CONTROL_MASK "/> </子> <オブジェクトのクラス=" GtkAction "<child> ID =" menu_edit_paste "> <property name="stock_id">のgtk-貼り付け</プロパティ> <プロパティ名="名前"> menu_edit_paste </プロパティ> </ OBJECT> <accelerator key="V" modifiers="GDK_CONTROL_MASK"/> </子> <オブジェクトのクラス=" GtkAction "<child> ID =" menu_edit_find "> <プロパティ名=" stock_id ">のgtk-見つける</プロパティ> <property name="name">をmenu_edit_find </プロパティ> </ OBJECT> <accelerator key="F" modifiers="GDK_CONTROL_MASK"/> </子> <child> <オブジェクトクラス= "GtkAction" ID = "menu_tabs"> <property name="name">をmenu_tabs </プロパティ> <property name="label" translatable="yes"> _Tabs </プロパティ> </ OBJECT> </子> <オブジェクト<child>クラス= "GtkAction" ID = "menu_tabs_prev"> <property name="name">をmenu_tabs_prev </プロパティ> <property name="label" translatable="yes"> _Previousタブ</プロパティ> </オブジェクト> <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タブ</プロパティ> </ OBJECT> <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タブを閉じる</プロパティ> </オブジェクト> <アクセラレータキー=" T "修飾子=" GDK_SHIFT_MASK | GDK_CONTROL_MASK "/> </子> <オブジェクトのクラス=" GtkAction "<child> ID =" menu_tabs_left "> <property name="name">をmenu_tabs_left </プロパティ> <プロパティ名="ラベル"翻訳=" yes "を>移動タブ_Left </プロパティ> </ OBJECT> <accelerator key="Page_Up" modifiers="GDK_CONTROL_MASK|GDK_SHIFT_MASK"/> </子> <child> <オブジェクトのクラス=" GtkAction "ID = "menu_tabs_right"> <property name="name">をmenu_tabs_right </プロパティ>移動タブ<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タブ</プロパティ> </ OBJECT> </子> <オブジェクトのクラス=" GtkAction "<child> ID =" menu_help "> <property name="name">をmenu_help </プロパティ> <プロパティ名= "ラベル"の翻訳= "yes"を> _Help </プロパティ> </ OBJECT> </子> <オブジェクトのクラス= "GtkAction" <child> ID = "menu_help_contents"> <property name="stock_id">のgtk-助ける< /プロパティ> <property name="name">をmenu_help_contents </プロパティ> <property name="label" translatable="yes"> _Contents </プロパティ> </オブジェクト> <アクセラレータキー= "F1"修飾子= "" / > </子> <オブジェクトのクラス= "GtkAction" <child> ID = "menu_help_about"> <propertyのgtk-約name="stock_id"> </プロパティ> <property name="name">をmenu_help_about </プロパティ> < / OBJECT> </子> </ OBJECT> </子> <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/> <のMenuItemでaction = "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"/> <のMenuItemでaction = "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"> <のMenuItemでaction = "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 </プロパティ> <プロパティ名= "default_height "> 480 </プロパティ> <オブジェクトのクラス=" GtkVBox "<child> ID =" chat_vbox "> <property name="visible"> TRUE </プロパティ> <child> <オブジェクトのクラス=" GtkMenuBar "ビルダー=" ui_manager "ID =" chats_menubar "> <property name="visible"> TRUE </プロパティ> </ OBJECT> <property name="expand"> <packing>偽</プロパティ> <property name="fill">偽< /プロパティ> </パッキン> </子> <child> <placeholder/> </子> </ OBJECT> </子> </ OBJECT> </インターフェース> 














