aboutsummaryrefslogtreecommitdiff
path: root/src/Ewmh.hh
diff options
context:
space:
mode:
authormathias <mathias>2004-12-21 16:17:14 (GMT)
committermathias <mathias>2004-12-21 16:17:14 (GMT)
commitad10a3543e278aea0dd8e1fb83fa79b93025d14b (patch)
treed0ba04c54c53a027d6a39dd1c9a3853fcd6e0042 /src/Ewmh.hh
parenta88d3b39ad76182bf120b8c69b80104f7b61cba8 (diff)
downloadfluxbox_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.hh27
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
65private: 65private:
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