diff options
author | mathias <mathias> | 2004-12-21 16:17:14 (GMT) |
---|---|---|
committer | mathias <mathias> | 2004-12-21 16:17:14 (GMT) |
commit | ad10a3543e278aea0dd8e1fb83fa79b93025d14b (patch) | |
tree | d0ba04c54c53a027d6a39dd1c9a3853fcd6e0042 /src/Ewmh.hh | |
parent | a88d3b39ad76182bf120b8c69b80104f7b61cba8 (diff) | |
download | fluxbox_pavel-ad10a3543e278aea0dd8e1fb83fa79b93025d14b.zip fluxbox_pavel-ad10a3543e278aea0dd8e1fb83fa79b93025d14b.tar.bz2 |
fix a problem with enabling/disabling fullscreen-mode in gtk2-apps
* synchronize _NET_WM_STATE in Ewmh.cc
* added FluxboxWindow::setFullscreen(bool) to Window.cc
furthermore, if a window is in fullscreenmode any existing shape is
disabled (looks pretty annoying in mplayer for example)
Diffstat (limited to 'src/Ewmh.hh')
-rw-r--r-- | src/Ewmh.hh | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/src/Ewmh.hh b/src/Ewmh.hh index b3f1593..ebd6350 100644 --- a/src/Ewmh.hh +++ b/src/Ewmh.hh | |||
@@ -36,7 +36,7 @@ public: | |||
36 | void initForScreen(BScreen &screen); | 36 | void initForScreen(BScreen &screen); |
37 | void setupFrame(FluxboxWindow &win); | 37 | void setupFrame(FluxboxWindow &win); |
38 | void setupClient(WinClient &winclient); | 38 | void setupClient(WinClient &winclient); |
39 | 39 | ||
40 | void updateFocusedWindow(BScreen &screen, Window win); | 40 | void updateFocusedWindow(BScreen &screen, Window win); |
41 | void updateClientList(BScreen &screen); | 41 | void updateClientList(BScreen &screen); |
42 | void updateWorkspaceNames(BScreen &screen); | 42 | void updateWorkspaceNames(BScreen &screen); |
@@ -51,7 +51,7 @@ public: | |||
51 | void updateHints(FluxboxWindow &win); | 51 | void updateHints(FluxboxWindow &win); |
52 | void updateWorkspace(FluxboxWindow &win); | 52 | void updateWorkspace(FluxboxWindow &win); |
53 | 53 | ||
54 | bool checkClientMessage(const XClientMessageEvent &ce, | 54 | bool checkClientMessage(const XClientMessageEvent &ce, |
55 | BScreen * screen, WinClient * const winclient); | 55 | BScreen * screen, WinClient * const winclient); |
56 | 56 | ||
57 | bool propertyNotify(WinClient &winclient, Atom the_property); | 57 | bool propertyNotify(WinClient &winclient, Atom the_property); |
@@ -63,9 +63,10 @@ public: | |||
63 | void setFullscreen(FluxboxWindow &win, bool value); | 63 | void setFullscreen(FluxboxWindow &win, bool value); |
64 | 64 | ||
65 | private: | 65 | private: |
66 | 66 | ||
67 | typedef struct WindowState { | 67 | typedef struct WindowState { |
68 | WindowState(int x, int y, unsigned int width, unsigned int height, int layer, unsigned int decor); | 68 | WindowState(int x, int y, unsigned int width, unsigned int height, |
69 | int layer, unsigned int decor); | ||
69 | int x, y, layer; | 70 | int x, y, layer; |
70 | unsigned int width, height, decor; | 71 | unsigned int width, height, decor; |
71 | } WindowState; | 72 | } WindowState; |
@@ -88,7 +89,7 @@ private: | |||
88 | Atom m_net_close_window, m_net_wm_moveresize; | 89 | Atom m_net_close_window, m_net_wm_moveresize; |
89 | 90 | ||
90 | // application window properties | 91 | // application window properties |
91 | Atom m_net_properties, m_net_wm_name, m_net_wm_desktop, | 92 | Atom m_net_properties, m_net_wm_name, m_net_wm_desktop, |
92 | // types | 93 | // types |
93 | m_net_wm_window_type, | 94 | m_net_wm_window_type, |
94 | m_net_wm_window_type_dock, | 95 | m_net_wm_window_type_dock, |
@@ -96,16 +97,28 @@ private: | |||
96 | 97 | ||
97 | // states | 98 | // states |
98 | m_net_wm_state, m_net_wm_state_sticky, m_net_wm_state_shaded, | 99 | m_net_wm_state, m_net_wm_state_sticky, m_net_wm_state_shaded, |
99 | m_net_wm_state_maximized_horz, m_net_wm_state_maximized_vert, | 100 | m_net_wm_state_maximized_horz, m_net_wm_state_maximized_vert, |
100 | m_net_wm_state_fullscreen, | 101 | m_net_wm_state_fullscreen, |
101 | m_net_wm_state_hidden, | 102 | m_net_wm_state_hidden, |
102 | m_net_wm_state_skip_taskbar, | 103 | m_net_wm_state_skip_taskbar, |
103 | m_net_wm_state_below, | 104 | m_net_wm_state_below, |
104 | m_net_wm_state_above, | 105 | m_net_wm_state_above, |
105 | 106 | ||
107 | // allowed actions | ||
108 | m_net_wm_allowed_actions, | ||
109 | m_net_wm_action_move, | ||
110 | m_net_wm_action_resize, | ||
111 | m_net_wm_action_minimize, | ||
112 | m_net_wm_action_shade, | ||
113 | m_net_wm_action_stick, | ||
114 | m_net_wm_action_maximize_horz, m_net_wm_action_maximize_vert, | ||
115 | m_net_wm_action_fullscreen, | ||
116 | m_net_wm_action_change_desktop, | ||
117 | m_net_wm_action_close, | ||
118 | |||
106 | m_net_wm_strut, m_net_wm_icon_geometry, m_net_wm_icon, m_net_wm_pid, | 119 | m_net_wm_strut, m_net_wm_icon_geometry, m_net_wm_icon, m_net_wm_pid, |
107 | m_net_wm_handled_icons; | 120 | m_net_wm_handled_icons; |
108 | 121 | ||
109 | // application protocols | 122 | // application protocols |
110 | Atom m_net_wm_ping; | 123 | Atom m_net_wm_ping; |
111 | 124 | ||