summaryrefslogtreecommitdiffstats
path: root/src/kernel/qapplication_x11.cpp
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2012-01-26 16:34:00 -0600
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2012-01-26 16:34:00 -0600
commit0eb9f5e217225129b22de1a48fe7300723456da3 (patch)
treeede5a4dd39476960a1f113a323b34b613cf07987 /src/kernel/qapplication_x11.cpp
parent336d563830cd5f9f1f9abdce20db839d06431168 (diff)
downloadqt3-0eb9f5e217225129b22de1a48fe7300723456da3.tar.gz
qt3-0eb9f5e217225129b22de1a48fe7300723456da3.zip
Add NetWM/Motif controls to QWidget
This must break binary compatibility, so version was also bumped to 3.4.0
Diffstat (limited to 'src/kernel/qapplication_x11.cpp')
-rw-r--r--src/kernel/qapplication_x11.cpp34
1 files changed, 30 insertions, 4 deletions
diff --git a/src/kernel/qapplication_x11.cpp b/src/kernel/qapplication_x11.cpp
index 7bc9f48..45d83df 100644
--- a/src/kernel/qapplication_x11.cpp
+++ b/src/kernel/qapplication_x11.cpp
@@ -262,9 +262,22 @@ Atom qt_net_wm_state = 0;
Atom qt_net_wm_state_modal = 0;
Atom qt_net_wm_state_max_v = 0;
Atom qt_net_wm_state_max_h = 0;
-Atom qt_net_wm_state_fullscreen = 0;
-Atom qt_net_wm_state_above = 0;
-Atom qt_net_wm_window_type = 0;
+Atom qt_net_wm_state_fullscreen = 0;
+Atom qt_net_wm_state_above = 0;
+Atom qt_net_wm_action = 0;
+Atom qt_net_wm_action_move = 0;
+Atom qt_net_wm_action_resize = 0;
+Atom qt_net_wm_action_minimize = 0;
+Atom qt_net_wm_action_shade = 0;
+Atom qt_net_wm_action_stick = 0;
+Atom qt_net_wm_action_max_h = 0;
+Atom qt_net_wm_action_max_v = 0;
+Atom qt_net_wm_action_fullscreen = 0;
+Atom qt_net_wm_action_change_desktop = 0;
+Atom qt_net_wm_action_close = 0;
+Atom qt_net_wm_action_above = 0;
+Atom qt_net_wm_action_below = 0;
+Atom qt_net_wm_window_type = 0;
Atom qt_net_wm_window_type_normal = 0;
Atom qt_net_wm_window_type_dialog = 0;
Atom qt_net_wm_window_type_toolbar = 0;
@@ -2003,6 +2016,19 @@ void qt_init_internal( int *argcptr, char **argv,
qt_x11_intern_atom( "_NET_WM_STATE_MAXIMIZED_HORZ", &qt_net_wm_state_max_h );
qt_x11_intern_atom( "_NET_WM_STATE_FULLSCREEN", &qt_net_wm_state_fullscreen );
qt_x11_intern_atom( "_NET_WM_STATE_ABOVE", &qt_net_wm_state_above );
+ qt_x11_intern_atom( "_NET_WM_ALLOWED_ACTIONS", &qt_net_wm_action );
+ qt_x11_intern_atom( "_NET_WM_ACTION_MOVE", &qt_net_wm_action_move );
+ qt_x11_intern_atom( "_NET_WM_ACTION_RESIZE", &qt_net_wm_action_resize );
+ qt_x11_intern_atom( "_NET_WM_ACTION_MINIMIZE", &qt_net_wm_action_minimize );
+ qt_x11_intern_atom( "_NET_WM_ACTION_SHADE", &qt_net_wm_action_shade );
+ qt_x11_intern_atom( "_NET_WM_ACTION_STICK", &qt_net_wm_action_stick );
+ qt_x11_intern_atom( "_NET_WM_ACTION_MAXIMIZE_HORZ", &qt_net_wm_action_max_h );
+ qt_x11_intern_atom( "_NET_WM_ACTION_MAXIMIZE_VERT", &qt_net_wm_action_max_v );
+ qt_x11_intern_atom( "_NET_WM_ACTION_FULLSCREEN", &qt_net_wm_action_fullscreen );
+ qt_x11_intern_atom( "_NET_WM_ACTION_CHANGE_DESKTOP", &qt_net_wm_action_change_desktop );
+ qt_x11_intern_atom( "_NET_WM_ACTION_CLOSE", &qt_net_wm_action_close );
+ qt_x11_intern_atom( "_NET_WM_ACTION_ABOVE", &qt_net_wm_action_above );
+ qt_x11_intern_atom( "_NET_WM_ACTION_BELOW", &qt_net_wm_action_below );
qt_x11_intern_atom( "_NET_WM_WINDOW_TYPE", &qt_net_wm_window_type );
qt_x11_intern_atom( "_NET_WM_WINDOW_TYPE_NORMAL", &qt_net_wm_window_type_normal );
qt_x11_intern_atom( "_NET_WM_WINDOW_TYPE_DIALOG", &qt_net_wm_window_type_dialog );
@@ -5167,7 +5193,7 @@ bool QETWidget::translateKeyEventInternal( const XEvent *event, int& count,
uint keystate = event->xkey.state;
// remove the modifiers where mode_switch exists... HPUX machines seem
// to have alt *AND* mode_switch both in Mod1Mask, which causes
- // XLookupString to return things like 'å' (aring) for ALT-A. This
+ // XLookupString to return things like '�' (aring) for ALT-A. This
// completely breaks modifiers. If we remove the modifier for Mode_switch,
// then things work correctly...
xkeyevent.state &= ~qt_mode_switch_remove_mask;