Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Xfce: Keyboard Shortcuts Working in Eclipse IDE

DZone's Guide to

Xfce: Keyboard Shortcuts Working in Eclipse IDE

· DevOps Zone
Free Resource

Learn more about how CareerBuilder was able to resolve customer issues 5x faster by using Scalyr, the fastest log management tool on the market. 

Did you ever face the problem with Xfce that not all of the globally defined keyboard shortcuts can be changed?

In my case Eclipse IDE shortcuts that I'm used to:
  • Perspective switch (Ctrl + F8)
  • Editor switch (Ctrl + F6)
  • ...
all of these were eaten by Xfce (as they're supposed to be used for some multi-workspace experience)
But hey! I don't use multiple workspaces! I'd rather like to use the full power of eclipse here.

Changing via UI 


But if you go over: Menu -> Settings -> Keyboad
There are not all the global shortcuts listed (at least those mentioned earlier are missing).

Looking for help


As I faced this problem already quite some time ago, I even participated in some discussions (like this on myeclipse related), and even submitted Xfce bug report.

Good old plain xml way 


But when I came back to this problem after some time, I've googled and found some references to file:
~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml

As I checked the contents, there seem to be even the shortcuts I'm facing the problem with.

I've seen there:
 <property name="xfwm4" type="empty">
<property name="default" type="empty">
<property name="<Alt>Insert" type="empty"/>
<property name="Escape" type="empty"/>
<property name="Left" type="empty"/>
<property name="Right" type="empty"/>
<property name="Up" type="empty"/>
<property name="Down" type="empty"/>
<property name="<Alt>Tab" type="empty"/>
<property name="<Alt><Shift>Tab" type="empty"/>
<property name="<Alt>Delete" type="empty"/>
<property name="<Control><Alt>Down" type="empty"/>
<property name="<Control><Alt>Left" type="empty"/>
<property name="<Shift><Alt>Page_Down" type="empty"/>
<property name="<Alt>F4" type="empty"/>
<property name="<Alt>F6" type="empty"/>
<property name="<Alt>F7" type="empty"/>
<property name="<Alt>F8" type="empty"/>
<property name="<Alt>F9" type="empty"/>
<property name="<Alt>F10" type="empty"/>
<property name="<Alt>F11" type="empty"/>
<property name="<Alt>F12" type="empty"/>
<property name="<Control><Shift><Alt>Left" type="empty"/>
<property name="<Alt><Control>End" type="empty"/>
<property name="<Alt><Control>Home" type="empty"/>
<property name="<Control><Shift><Alt>Right" type="empty"/>
<property name="<Control><Shift><Alt>Up" type="empty"/>
<property name="<Alt><Control>KP_1" type="empty"/>
<property name="<Alt><Control>KP_2" type="empty"/>
<property name="<Alt><Control>KP_3" type="empty"/>
<property name="<Alt><Control>KP_4" type="empty"/>
<property name="<Alt><Control>KP_5" type="empty"/>
<property name="<Alt><Control>KP_6" type="empty"/>
<property name="<Alt><Control>KP_7" type="empty"/>
<property name="<Alt><Control>KP_8" type="empty"/>
<property name="<Alt><Control>KP_9" type="empty"/>
<property name="<Alt>space" type="empty"/>
<property name="<Shift><Alt>Page_Up" type="empty"/>
<property name="<Control><Alt>Right" type="empty"/>
<property name="<Control><Alt>d" type="empty"/>
<property name="<Control><Alt>Up" type="empty"/>
<property name="<Super>Tab" type="empty"/>
<property name="<Control>F1" type="empty"/>
<property name="<Control>F2" type="empty"/>
<property name="<Control>F3" type="empty"/>
<property name="<Control>F4" type="empty"/>
<property name="<Control>F5" type="empty"/>
<property name="<Control>F6" type="empty"/>
<property name="<Control>F7" type="empty"/>
<property name="<Control>F8" type="empty"/>
<property name="<Control>F9" type="empty"/>
<property name="<Control>F10" type="empty"/>
<property name="<Control>F11" type="empty"/>
<property name="<Control>F12" type="empty"/>
</property>
<property name="custom" type="empty">
<property name="<Control>F3" type="string" value="workspace_3_key"/>
<property name="<Control>F4" type="string" value="workspace_4_key"/>
<property name="<Control>F5" type="string" value="workspace_5_key"/>
<property name="<Control>F6" type="string" value="workspace_6_key"/>
<property name="<Control>F7" type="string" value="workspace_7_key"/>
<property name="<Control>F8" type="string" value="workspace_8_key"/>
<property name="<Control>F9" type="string" value="workspace_9_key"/>
<property name="<Alt>Tab" type="string" value="cycle_windows_key"/>
<property name="<Control><Alt>Right" type="string" value="right_workspace_key"/>
<property name="Left" type="string" value="left_key"/>
<property name="<Control><Alt>d" type="string" value="show_desktop_key"/>
<property name="<Control><Shift><Alt>Left" type="string" value="move_window_left_key"/>
<property name="<Control><Shift><Alt>Right" type="string" value="move_window_right_key"/>
<property name="Up" type="string" value="up_key"/>
<property name="<Alt>F4" type="string" value="close_window_key"/>
<property name="<Alt>F6" type="string" value="stick_window_key"/>
<property name="<Control><Alt>Down" type="string" value="down_workspace_key"/>
<property name="<Alt>F7" type="string" value="move_window_key"/>
<property name="<Alt>F9" type="string" value="hide_window_key"/>
<property name="<Alt>F11" type="string" value="fullscreen_key"/>
<property name="<Alt>F8" type="string" value="resize_window_key"/>
<property name="<Super>Tab" type="string" value="switch_window_key"/>
<property name="Escape" type="string" value="cancel_key"/>
<property name="<Alt><Control>KP_1" type="string" value="move_window_workspace_1_key"/>
<property name="<Alt><Control>KP_2" type="string" value="move_window_workspace_2_key"/>
<property name="<Alt><Control>KP_3" type="string" value="move_window_workspace_3_key"/>
<property name="<Alt><Control>KP_4" type="string" value="move_window_workspace_4_key"/>
<property name="<Alt><Control>KP_5" type="string" value="move_window_workspace_5_key"/>
<property name="<Alt><Control>KP_6" type="string" value="move_window_workspace_6_key"/>
<property name="Down" type="string" value="down_key"/>
<property name="<Control><Shift><Alt>Up" type="string" value="move_window_up_key"/>
<property name="<Shift><Alt>Page_Down" type="string" value="lower_window_key"/>
<property name="<Alt>F12" type="string" value="above_key"/>
<property name="<Alt><Control>KP_8" type="string" value="move_window_workspace_8_key"/>
<property name="<Alt><Control>KP_9" type="string" value="move_window_workspace_9_key"/>
<property name="Right" type="string" value="right_key"/>
<property name="<Alt>F10" type="string" value="maximize_window_key"/>
<property name="<Control><Alt>Up" type="string" value="up_workspace_key"/>
<property name="<Control>F10" type="string" value="workspace_10_key"/>
<property name="<Alt><Control>KP_7" type="string" value="move_window_workspace_7_key"/>
<property name="<Alt><Control>End" type="string" value="move_window_next_workspace_key"/>
<property name="<Alt>Delete" type="string" value="del_workspace_key"/>
<property name="<Control><Alt>Left" type="string" value="left_workspace_key"/>
<property name="<Control>F12" type="string" value="workspace_12_key"/>
<property name="<Alt>space" type="string" value="popup_menu_key"/>
<property name="<Alt><Shift>Tab" type="string" value="cycle_reverse_windows_key"/>
<property name="<Shift><Alt>Page_Up" type="string" value="raise_window_key"/>
<property name="<Alt>Insert" type="string" value="add_workspace_key"/>
<property name="<Alt><Control>Home" type="string" value="move_window_prev_workspace_key"/>
<property name="<Control>F2" type="string" value="workspace_2_key"/>
<property name="<Control>F1" type="string" value="workspace_1_key"/>
<property name="<Control>F11" type="string" value="workspace_11_key"/>
<property name="override" type="bool" value="true"/>
</property>
</property>

That sounds promissing! Let's remove multi-workspace relevant and see if that helps.

After my update:
 <property name="xfwm4" type="empty">
<property name="default" type="empty">
<property name="<Alt>Insert" type="empty"/>
<property name="Escape" type="empty"/>
<property name="Left" type="empty"/>
<property name="Right" type="empty"/>
<property name="Up" type="empty"/>
<property name="Down" type="empty"/>
<property name="<Alt>Tab" type="empty"/>
<property name="<Alt><Shift>Tab" type="empty"/>
<property name="<Alt>Delete" type="empty"/>
<!--
<property name="<Control><Alt>Down" type="empty"/>
<property name="<Control><Alt>Left" type="empty"/>
-->
<property name="<Shift><Alt>Page_Down" type="empty"/>
<property name="<Alt>F4" type="empty"/>
<property name="<Alt>F6" type="empty"/>
<property name="<Alt>F7" type="empty"/>
<property name="<Alt>F8" type="empty"/>
<property name="<Alt>F9" type="empty"/>
<property name="<Alt>F10" type="empty"/>
<property name="<Alt>F11" type="empty"/>
<property name="<Alt>F12" type="empty"/>
<property name="<Control><Shift><Alt>Left" type="empty"/>
<!--
<property name="<Alt><Control>End" type="empty"/>
<property name="<Alt><Control>Home" type="empty"/>
<property name="<Control><Shift><Alt>Right" type="empty"/>
<property name="<Control><Shift><Alt>Up" type="empty"/>
 
<property name="<Alt><Control>KP_1" type="empty"/>
<property name="<Alt><Control>KP_2" type="empty"/>
<property name="<Alt><Control>KP_3" type="empty"/>
<property name="<Alt><Control>KP_4" type="empty"/>
<property name="<Alt><Control>KP_5" type="empty"/>
<property name="<Alt><Control>KP_6" type="empty"/>
<property name="<Alt><Control>KP_7" type="empty"/>
<property name="<Alt><Control>KP_8" type="empty"/>
<property name="<Alt><Control>KP_9" type="empty"/>
-->
<property name="<Alt>space" type="empty"/>
<property name="<Shift><Alt>Page_Up" type="empty"/>
<!--
<property name="<Control><Alt>Right" type="empty"/>
-->
<property name="<Control><Alt>d" type="empty"/>
<!--
<property name="<Control><Alt>Up" type="empty"/>
-->
<property name="<Super>Tab" type="empty"/>
<!--
<property name="<Control>F1" type="empty"/>
<property name="<Control>F2" type="empty"/>
<property name="<Control>F3" type="empty"/>
<property name="<Control>F4" type="empty"/>
<property name="<Control>F5" type="empty"/>
<property name="<Control>F6" type="empty"/>
<property name="<Control>F7" type="empty"/>
<property name="<Control>F8" type="empty"/>
<property name="<Control>F9" type="empty"/>
<property name="<Control>F10" type="empty"/>
<property name="<Control>F11" type="empty"/>
<property name="<Control>F12" type="empty"/>
-->
</property>
<property name="custom" type="empty">
<!--
<property name="<Control>F3" type="string" value="workspace_3_key"/>
<property name="<Control>F4" type="string" value="workspace_4_key"/>
<property name="<Control>F5" type="string" value="workspace_5_key"/>
<property name="<Control>F6" type="string" value="workspace_6_key"/>
<property name="<Control>F7" type="string" value="workspace_7_key"/>
<property name="<Control>F8" type="string" value="workspace_8_key"/>
<property name="<Control>F9" type="string" value="workspace_9_key"/>
-->
<property name="<Alt>Tab" type="string" value="cycle_windows_key"/>
<!--
<property name="<Control><Alt>Right" type="string" value="right_workspace_key"/>
-->
<property name="Left" type="string" value="left_key"/>
<property name="<Control><Alt>d" type="string" value="show_desktop_key"/>
<property name="<Control><Shift><Alt>Left" type="string" value="move_window_left_key"/>
<property name="<Control><Shift><Alt>Right" type="string" value="move_window_right_key"/>
<property name="Up" type="string" value="up_key"/>
<property name="<Alt>F4" type="string" value="close_window_key"/>
<property name="<Alt>F6" type="string" value="stick_window_key"/>
<property name="<Control><Alt>Down" type="string" value="down_workspace_key"/>
<property name="<Alt>F7" type="string" value="move_window_key"/>
<property name="<Alt>F9" type="string" value="hide_window_key"/>
<property name="<Alt>F11" type="string" value="fullscreen_key"/>
<property name="<Alt>F8" type="string" value="resize_window_key"/>
<property name="<Super>Tab" type="string" value="switch_window_key"/>
<property name="Escape" type="string" value="cancel_key"/>
<!--
<property name="<Alt><Control>KP_1" type="string" value="move_window_workspace_1_key"/>
<property name="<Alt><Control>KP_2" type="string" value="move_window_workspace_2_key"/>
<property name="<Alt><Control>KP_3" type="string" value="move_window_workspace_3_key"/>
<property name="<Alt><Control>KP_4" type="string" value="move_window_workspace_4_key"/>
<property name="<Alt><Control>KP_5" type="string" value="move_window_workspace_5_key"/>
<property name="<Alt><Control>KP_6" type="string" value="move_window_workspace_6_key"/>
-->
<property name="Down" type="string" value="down_key"/>
<property name="<Control><Shift><Alt>Up" type="string" value="move_window_up_key"/>
<property name="<Shift><Alt>Page_Down" type="string" value="lower_window_key"/>
<property name="<Alt>F12" type="string" value="above_key"/>
<!--
<property name="<Alt><Control>KP_8" type="string" value="move_window_workspace_8_key"/>
<property name="<Alt><Control>KP_9" type="string" value="move_window_workspace_9_key"/>
-->
<property name="Right" type="string" value="right_key"/>
<property name="<Alt>F10" type="string" value="maximize_window_key"/>
<!--
<property name="<Control><Alt>Up" type="string" value="up_workspace_key"/>
<property name="<Control>F10" type="string" value="workspace_10_key"/>
<property name="<Alt><Control>KP_7" type="string" value="move_window_workspace_7_key"/>
<property name="<Alt><Control>End" type="string" value="move_window_next_workspace_key"/>
<property name="<Alt>Delete" type="string" value="del_workspace_key"/>
<property name="<Control><Alt>Left" type="string" value="left_workspace_key"/>
<property name="<Control>F12" type="string" value="workspace_12_key"/>
-->
<property name="<Alt>space" type="string" value="popup_menu_key"/>
<property name="<Alt><Shift>Tab" type="string" value="cycle_reverse_windows_key"/>
<property name="<Shift><Alt>Page_Up" type="string" value="raise_window_key"/>
<!--
<property name="<Alt>Insert" type="string" value="add_workspace_key"/>
<property name="<Alt><Control>Home" type="string" value="move_window_prev_workspace_key"/>
<property name="<Control>F2" type="string" value="workspace_2_key"/>
<property name="<Control>F1" type="string" value="workspace_1_key"/>
<property name="<Control>F11" type="string" value="workspace_11_key"/>
-->
<property name="override" type="bool" value="true"/>
</property>

to be honest, I'm not sure if I need to update them in both sections, but to make things fast, let's do so.

OK, I guess I need to log-out/and in and see if that helped.

And as you could guess it...... worked!  (otherwise I would not write a blog post, right? :-) )


The original article  was posted on my blog.

Find out more about how Scalyr built a proprietary database that does not use text indexing for their log management tool.

Topics:

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}