aboutsummaryrefslogtreecommitdiff
path: root/src/FbWinFrame.cc
diff options
context:
space:
mode:
authormarkt <markt>2007-04-23 16:07:21 (GMT)
committermarkt <markt>2007-04-23 16:07:21 (GMT)
commit6848e180a69cf55840f337f2ca3e70db44f25fd5 (patch)
treebda5a494abf5e7307f3190a5f6def6b138cdbc0d /src/FbWinFrame.cc
parentf0e5b2ef3ac6a90cf8a0a97321d9f040b31145c4 (diff)
downloadfluxbox-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.cc17
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