diff options
author | markt <markt> | 2007-04-23 16:07:21 (GMT) |
---|---|---|
committer | markt <markt> | 2007-04-23 16:07:21 (GMT) |
commit | 6848e180a69cf55840f337f2ca3e70db44f25fd5 (patch) | |
tree | bda5a494abf5e7307f3190a5f6def6b138cdbc0d /src/FbWinFrame.cc | |
parent | f0e5b2ef3ac6a90cf8a0a97321d9f040b31145c4 (diff) | |
download | fluxbox-6848e180a69cf55840f337f2ca3e70db44f25fd5.zip fluxbox-6848e180a69cf55840f337f2ca3e70db44f25fd5.tar.bz2 |
added clientmenu command, set iconicstate properly, disabled resizing shaded windows
Diffstat (limited to 'src/FbWinFrame.cc')
-rw-r--r-- | src/FbWinFrame.cc | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/src/FbWinFrame.cc b/src/FbWinFrame.cc index 7a8a14e..dfdcf32 100644 --- a/src/FbWinFrame.cc +++ b/src/FbWinFrame.cc | |||
@@ -53,7 +53,8 @@ FbWinFrame::FbWinFrame(BScreen &screen, FbWinFrameTheme &theme, FbTk::ImageContr | |||
53 | m_screen(screen), | 53 | m_screen(screen), |
54 | m_theme(theme), | 54 | m_theme(theme), |
55 | m_imagectrl(imgctrl), | 55 | m_imagectrl(imgctrl), |
56 | m_window(theme.screenNum(), x, y, width, height, ButtonPressMask | ButtonReleaseMask | | 56 | m_window(theme.screenNum(), x, y, width, height, |
57 | ButtonPressMask | ButtonReleaseMask | | ||
57 | ButtonMotionMask | EnterWindowMask, true), | 58 | ButtonMotionMask | EnterWindowMask, true), |
58 | m_layeritem(window(), layer), | 59 | m_layeritem(window(), layer), |
59 | m_titlebar(m_window, 0, 0, 100, 16, | 60 | m_titlebar(m_window, 0, 0, 100, 16, |
@@ -91,7 +92,6 @@ FbWinFrame::FbWinFrame(BScreen &screen, FbWinFrameTheme &theme, FbTk::ImageContr | |||
91 | m_active_orig_client_bw(0), | 92 | m_active_orig_client_bw(0), |
92 | m_need_render(true), | 93 | m_need_render(true), |
93 | m_button_size(1), | 94 | m_button_size(1), |
94 | m_width_before_shade(1), | ||
95 | m_height_before_shade(1), | 95 | m_height_before_shade(1), |
96 | m_shaded(false), | 96 | m_shaded(false), |
97 | m_focused_alpha(0), | 97 | m_focused_alpha(0), |
@@ -233,7 +233,6 @@ void FbWinFrame::shade() { | |||
233 | // toggle shade | 233 | // toggle shade |
234 | m_shaded = !m_shaded; | 234 | m_shaded = !m_shaded; |
235 | if (m_shaded) { // i.e. should be shaded now | 235 | if (m_shaded) { // i.e. should be shaded now |
236 | m_width_before_shade = m_window.width(); | ||
237 | m_height_before_shade = m_window.height(); | 236 | m_height_before_shade = m_window.height(); |
238 | m_window.resize(m_window.width(), m_titlebar.height()); | 237 | m_window.resize(m_window.width(), m_titlebar.height()); |
239 | alignTabs(); | 238 | alignTabs(); |
@@ -241,7 +240,7 @@ void FbWinFrame::shade() { | |||
241 | if ( m_shape.get() ) | 240 | if ( m_shape.get() ) |
242 | m_shape->update(); | 241 | m_shape->update(); |
243 | } else { // should be unshaded | 242 | } else { // should be unshaded |
244 | m_window.resize(m_width_before_shade, m_height_before_shade); | 243 | m_window.resize(m_window.width(), m_height_before_shade); |
245 | reconfigure(); | 244 | reconfigure(); |
246 | } | 245 | } |
247 | } | 246 | } |
@@ -280,19 +279,13 @@ void FbWinFrame::moveResize(int x, int y, unsigned int width, unsigned int heigh | |||
280 | if (move && x == window().x() && y == window().y()) | 279 | if (move && x == window().x() && y == window().y()) |
281 | move = false; | 280 | move = false; |
282 | 281 | ||
283 | if (resize && width == FbWinFrame::width() && height == FbWinFrame::height()) | 282 | if (resize && (m_shaded || width == FbWinFrame::width() && |
283 | height == FbWinFrame::height())) | ||
284 | resize = false; | 284 | resize = false; |
285 | 285 | ||
286 | if (!move && !resize) | 286 | if (!move && !resize) |
287 | return; | 287 | return; |
288 | 288 | ||
289 | if (resize && m_shaded) { | ||
290 | // update unshaded size if we're in shaded state and just resize width | ||
291 | m_width_before_shade = width; | ||
292 | m_height_before_shade = height; | ||
293 | height = m_window.height(); | ||
294 | } | ||
295 | |||
296 | if (move && resize) { | 289 | if (move && resize) { |
297 | m_window.moveResize(x, y, width, height); | 290 | m_window.moveResize(x, y, width, height); |
298 | notifyMoved(false); // will reconfigure | 291 | notifyMoved(false); // will reconfigure |