summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Ewmh.cc11
-rw-r--r--src/Gnome.cc7
-rw-r--r--src/IconbarTool.cc6
-rw-r--r--src/Remember.cc53
-rw-r--r--src/Remember.hh22
-rw-r--r--src/Screen.cc4
-rw-r--r--src/Window.cc11
-rw-r--r--src/Window.hh10
8 files changed, 85 insertions, 39 deletions
diff --git a/src/Ewmh.cc b/src/Ewmh.cc
index 014976a..7f23302 100644
--- a/src/Ewmh.cc
+++ b/src/Ewmh.cc
@@ -19,7 +19,7 @@
19// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 19// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20// DEALINGS IN THE SOFTWARE. 20// DEALINGS IN THE SOFTWARE.
21 21
22// $Id: Ewmh.cc,v 1.43 2004/02/14 12:15:35 fluxgen Exp $ 22// $Id: Ewmh.cc,v 1.44 2004/02/20 09:05:38 fluxgen Exp $
23 23
24#include "Ewmh.hh" 24#include "Ewmh.hh"
25 25
@@ -174,7 +174,8 @@ void Ewmh::setupFrame(FluxboxWindow &win) {
174 */ 174 */
175 if (atoms[l] == m_net_wm_window_type_dock) { 175 if (atoms[l] == m_net_wm_window_type_dock) {
176 // we also assume it shouldn't be visible in any toolbar 176 // we also assume it shouldn't be visible in any toolbar
177 win.setHidden(true); 177 win.setFocusHidden(true);
178 win.setIconHidden(true);
178 break; 179 break;
179 } 180 }
180 181
@@ -722,7 +723,8 @@ void Ewmh::setState(FluxboxWindow &win, Atom state, bool value) {
722 setFullscreen(win, value); 723 setFullscreen(win, value);
723 } else if (state == m_net_wm_state_hidden || 724 } else if (state == m_net_wm_state_hidden ||
724 state == m_net_wm_state_skip_taskbar) { 725 state == m_net_wm_state_skip_taskbar) {
725 win.setHidden(value); 726 win.setFocusHidden(value);
727 win.setIconHidden(win.isFocusHidden());
726 } else if (state == m_net_wm_state_below) { 728 } else if (state == m_net_wm_state_below) {
727 if (value) 729 if (value)
728 win.moveToLayer(Fluxbox::instance()->getBottomLayer()); 730 win.moveToLayer(Fluxbox::instance()->getBottomLayer());
@@ -752,7 +754,8 @@ void Ewmh::toggleState(FluxboxWindow &win, Atom state) {
752 setFullscreen(win, getState(win) == 0); // toggle current state 754 setFullscreen(win, getState(win) == 0); // toggle current state
753 } else if (state == m_net_wm_state_hidden || 755 } else if (state == m_net_wm_state_hidden ||
754 state == m_net_wm_state_skip_taskbar) { 756 state == m_net_wm_state_skip_taskbar) {
755 win.setHidden(!win.isHidden()); 757 win.setFocusHidden(!win.isFocusHidden());
758 win.setIconHidden(!win.isIconHidden());
756 } else if (state == m_net_wm_state_below) { 759 } else if (state == m_net_wm_state_below) {
757 if (win.layerNum() == Fluxbox::instance()->getBottomLayer()) 760 if (win.layerNum() == Fluxbox::instance()->getBottomLayer())
758 win.moveToLayer(Fluxbox::instance()->getNormalLayer()); 761 win.moveToLayer(Fluxbox::instance()->getNormalLayer());
diff --git a/src/Gnome.cc b/src/Gnome.cc
index c046184..dcfb029 100644
--- a/src/Gnome.cc
+++ b/src/Gnome.cc
@@ -19,7 +19,7 @@
19// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 19// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20// DEALINGS IN THE SOFTWARE. 20// DEALINGS IN THE SOFTWARE.
21 21
22// $Id: Gnome.cc,v 1.33 2004/01/19 18:36:27 fluxgen Exp $ 22// $Id: Gnome.cc,v 1.34 2004/02/20 09:05:38 fluxgen Exp $
23 23
24#include "Gnome.hh" 24#include "Gnome.hh"
25 25
@@ -369,7 +369,10 @@ void Gnome::setState(FluxboxWindow *win, int state) {
369 win->shade(); 369 win->shade();
370 370
371 if (state & WIN_STATE_HIDDEN) 371 if (state & WIN_STATE_HIDDEN)
372 win->setHidden(! win->isHidden()); 372 {
373 win->setFocusHidden(! win->isFocusHidden());
374 win->setIconHidden(! win->isIconHidden());
375 }
373 376
374 377
375 /* 378 /*
diff --git a/src/IconbarTool.cc b/src/IconbarTool.cc
index d1292c4..16b51e9 100644
--- a/src/IconbarTool.cc
+++ b/src/IconbarTool.cc
@@ -20,7 +20,7 @@
20// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 20// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21// DEALINGS IN THE SOFTWARE. 21// DEALINGS IN THE SOFTWARE.
22 22
23// $Id: IconbarTool.cc,v 1.33 2004/02/16 10:26:03 fluxgen Exp $ 23// $Id: IconbarTool.cc,v 1.34 2004/02/20 09:05:24 fluxgen Exp $
24 24
25#include "IconbarTool.hh" 25#include "IconbarTool.hh"
26 26
@@ -211,7 +211,7 @@ inline bool checkAddWindow(IconbarTool::Mode mode, const FluxboxWindow &win) {
211 break; 211 break;
212 } 212 }
213 213
214 if (win.isHidden()) 214 if (win.isIconHidden())
215 ret_val = false; 215 ret_val = false;
216 216
217 return ret_val; 217 return ret_val;
@@ -682,7 +682,7 @@ void IconbarTool::removeWindow(FluxboxWindow &win) {
682 682
683void IconbarTool::addWindow(FluxboxWindow &win) { 683void IconbarTool::addWindow(FluxboxWindow &win) {
684 // we just want windows that has clients 684 // we just want windows that has clients
685 if (win.clientList().empty() || win.isHidden() ) 685 if (win.clientList().empty() || win.isIconHidden() )
686 return; 686 return;
687 687
688 IconButton *button = new IconButton(m_icon_container, m_theme.focusedText().font(), win); 688 IconButton *button = new IconButton(m_icon_container, m_theme.focusedText().font(), win);
diff --git a/src/Remember.cc b/src/Remember.cc
index 5f1787f..630428b 100644
--- a/src/Remember.cc
+++ b/src/Remember.cc
@@ -21,7 +21,7 @@
21// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 21// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22// DEALINGS IN THE SOFTWARE. 22// DEALINGS IN THE SOFTWARE.
23 23
24// $Id: Remember.cc,v 1.34 2004/02/16 10:25:33 fluxgen Exp $ 24// $Id: Remember.cc,v 1.35 2004/02/20 09:05:38 fluxgen Exp $
25 25
26#include "Remember.hh" 26#include "Remember.hh"
27#include "ClientPattern.hh" 27#include "ClientPattern.hh"
@@ -210,7 +210,8 @@ Application::Application(bool grouped)
210{ 210{
211 decostate_remember = 211 decostate_remember =
212 dimensions_remember = 212 dimensions_remember =
213 hiddenstate_remember = 213 focushiddenstate_remember =
214 iconhiddenstate_remember =
214 jumpworkspace_remember = 215 jumpworkspace_remember =
215 layer_remember = 216 layer_remember =
216 position_remember = 217 position_remember =
@@ -364,8 +365,13 @@ int Remember::parseApp(ifstream &file, Application &app, string *first_line) {
364 app.rememberShadedstate((str_label=="yes")); 365 app.rememberShadedstate((str_label=="yes"));
365 } else if (str_key == "Tab") { 366 } else if (str_key == "Tab") {
366 app.rememberTabstate((str_label=="yes")); 367 app.rememberTabstate((str_label=="yes"));
368 } else if (str_key == "FocusHidden") {
369 app.rememberFocusHiddenstate((str_label=="yes"));
370 } else if (str_key == "IconHidden") {
371 app.rememberIconHiddenstate((str_label=="yes"));
367 } else if (str_key == "Hidden") { 372 } else if (str_key == "Hidden") {
368 app.rememberHiddenstate((str_label=="yes")); 373 app.rememberIconHiddenstate((str_label=="yes"));
374 app.rememberFocusHiddenstate((str_label=="yes"));
369 } else if (str_key == "Deco") { 375 } else if (str_key == "Deco") {
370 if (str_label == "NONE") { 376 if (str_label == "NONE") {
371 app.rememberDecostate((unsigned int) 0); 377 app.rememberDecostate((unsigned int) 0);
@@ -548,9 +554,6 @@ void Remember::save() {
548 if (a.tabstate_remember) { 554 if (a.tabstate_remember) {
549 apps_file << " [Tab]\t\t{" << ((a.tabstate)?"yes":"no") << "}" << endl; 555 apps_file << " [Tab]\t\t{" << ((a.tabstate)?"yes":"no") << "}" << endl;
550 } 556 }
551 if (a.hiddenstate_remember) {
552 apps_file << " [Hidden]\t\t{" << ((a.tabstate)?"yes":"no") << "}" << endl;
553 }
554 if (a.decostate_remember) { 557 if (a.decostate_remember) {
555 switch (a.decostate) { 558 switch (a.decostate) {
556 case (0) : 559 case (0) :
@@ -578,6 +581,17 @@ void Remember::save() {
578 break; 581 break;
579 } 582 }
580 } 583 }
584
585 if (a.focushiddenstate_remember || a.iconhiddenstate_remember) {
586 if (a.focushiddenstate_remember && a.iconhiddenstate_remember &&
587 a.focushiddenstate && a.iconhiddenstate)
588 apps_file << " [Hidden]\t{" << ((a.focushiddenstate)?"yes":"no") << "}" << endl;
589 else if (a.focushiddenstate_remember) {
590 apps_file << " [FocusHidden]\t{" << ((a.focushiddenstate)?"yes":"no") << "}" << endl;
591 } else if (a.iconhiddenstate_remember) {
592 apps_file << " [IconHidden]\t{" << ((a.iconhiddenstate)?"yes":"no") << "}" << endl;
593 }
594 }
581 if (a.stuckstate_remember) { 595 if (a.stuckstate_remember) {
582 apps_file << " [Sticky]\t{" << ((a.stuckstate)?"yes":"no") << "}" << endl; 596 apps_file << " [Sticky]\t{" << ((a.stuckstate)?"yes":"no") << "}" << endl;
583 } 597 }
@@ -607,8 +621,11 @@ bool Remember::isRemembered(WinClient &winclient, Attribute attrib) {
607 case REM_POSITION: 621 case REM_POSITION:
608 return app->position_remember; 622 return app->position_remember;
609 break; 623 break;
610 case REM_HIDDENSTATE: 624 case REM_FOCUSHIDDENSTATE:
611 return app->hiddenstate_remember; 625 return app->focushiddenstate_remember;
626 break;
627 case REM_ICONHIDDENSTATE:
628 return app->iconhiddenstate_remember;
612 break; 629 break;
613 case REM_STUCKSTATE: 630 case REM_STUCKSTATE:
614 return app->stuckstate_remember; 631 return app->stuckstate_remember;
@@ -655,8 +672,11 @@ void Remember::rememberAttrib(WinClient &winclient, Attribute attrib) {
655 case REM_POSITION: 672 case REM_POSITION:
656 app->rememberPosition(win->x(), win->y()); 673 app->rememberPosition(win->x(), win->y());
657 break; 674 break;
658 case REM_HIDDENSTATE: 675 case REM_FOCUSHIDDENSTATE:
659 app->rememberHiddenstate(win->isHidden()); 676 app->rememberFocusHiddenstate(win->isFocusHidden());
677 break;
678 case REM_ICONHIDDENSTATE:
679 app->rememberIconHiddenstate(win->isIconHidden());
660 break; 680 break;
661 case REM_SHADEDSTATE: 681 case REM_SHADEDSTATE:
662 app->rememberShadedstate(win->isShaded()); 682 app->rememberShadedstate(win->isShaded());
@@ -703,8 +723,11 @@ void Remember::forgetAttrib(WinClient &winclient, Attribute attrib) {
703 case REM_POSITION: 723 case REM_POSITION:
704 app->forgetPosition(); 724 app->forgetPosition();
705 break; 725 break;
706 case REM_HIDDENSTATE: 726 case REM_FOCUSHIDDENSTATE:
707 app->forgetHiddenstate(); 727 app->forgetFocusHiddenstate();
728 break;
729 case REM_ICONHIDDENSTATE:
730 app->forgetIconHiddenstate();
708 break; 731 break;
709 case REM_STUCKSTATE: 732 case REM_STUCKSTATE:
710 app->forgetStuckstate(); 733 app->forgetStuckstate();
@@ -809,8 +832,10 @@ void Remember::setupFrame(FluxboxWindow &win) {
809 if (win.isStuck() && !app->stuckstate || 832 if (win.isStuck() && !app->stuckstate ||
810 !win.isStuck() && app->stuckstate) 833 !win.isStuck() && app->stuckstate)
811 win.stick(); // toggles 834 win.stick(); // toggles
812 if (app->hiddenstate_remember) 835 if (app->focushiddenstate_remember)
813 win.setHidden(true); 836 win.setFocusHidden(true);
837 if (app->iconhiddenstate_remember)
838 win.setIconHidden(true);
814 839
815 if (app->layer_remember) 840 if (app->layer_remember)
816 win.moveToLayer(app->layer); 841 win.moveToLayer(app->layer);
diff --git a/src/Remember.hh b/src/Remember.hh
index 2e92e42..e1a4db5 100644
--- a/src/Remember.hh
+++ b/src/Remember.hh
@@ -21,7 +21,7 @@
21// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 21// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22// DEALINGS IN THE SOFTWARE. 22// DEALINGS IN THE SOFTWARE.
23 23
24// $Id: Remember.hh,v 1.15 2004/02/16 10:25:34 fluxgen Exp $ 24// $Id: Remember.hh,v 1.16 2004/02/20 09:05:38 fluxgen Exp $
25 25
26/* Based on the original "Remember patch" by Xavier Brouckaert */ 26/* Based on the original "Remember patch" by Xavier Brouckaert */
27 27
@@ -50,7 +50,8 @@ public:
50 inline void forgetShadedstate() { shadedstate_remember = false; } 50 inline void forgetShadedstate() { shadedstate_remember = false; }
51 inline void forgetTabstate() { tabstate_remember = false; } 51 inline void forgetTabstate() { tabstate_remember = false; }
52 inline void forgetDecostate() { decostate_remember = false; } 52 inline void forgetDecostate() { decostate_remember = false; }
53 inline void forgetHiddenstate() { hiddenstate_remember= false; } 53 inline void forgetFocusHiddenstate() { focushiddenstate_remember= false; }
54 inline void forgetIconHiddenstate() { iconhiddenstate_remember= false; }
54 inline void forgetStuckstate() { stuckstate_remember = false; } 55 inline void forgetStuckstate() { stuckstate_remember = false; }
55 inline void forgetJumpworkspace() { jumpworkspace_remember = false; } 56 inline void forgetJumpworkspace() { jumpworkspace_remember = false; }
56 inline void forgetLayer() { layer_remember = false; } 57 inline void forgetLayer() { layer_remember = false; }
@@ -60,9 +61,10 @@ public:
60 { workspace = ws; workspace_remember = true; } 61 { workspace = ws; workspace_remember = true; }
61 inline void rememberDimensions(int width, int height) 62 inline void rememberDimensions(int width, int height)
62 { w = width; h = height; dimensions_remember = true; } 63 { w = width; h = height; dimensions_remember = true; }
63 64 inline void rememberFocusHiddenstate(bool state)
64 inline void rememberHiddenstate(bool state) 65 { focushiddenstate= state; focushiddenstate_remember= true; }
65 { hiddenstate= state; hiddenstate_remember= true; } 66 inline void rememberIconHiddenstate(bool state)
67 { iconhiddenstate= state; iconhiddenstate_remember= true; }
66 inline void rememberPosition(int posx, int posy, unsigned char rfc= 0 ) 68 inline void rememberPosition(int posx, int posy, unsigned char rfc= 0 )
67 { x = posx; y = posy; refc = rfc; position_remember = true; } 69 { x = posx; y = posy; refc = rfc; position_remember = true; }
68 inline void rememberShadedstate(bool state) 70 inline void rememberShadedstate(bool state)
@@ -106,8 +108,11 @@ public:
106 bool stuckstate_remember; 108 bool stuckstate_remember;
107 bool stuckstate; 109 bool stuckstate;
108 110
109 bool hiddenstate_remember; 111 bool focushiddenstate_remember;
110 bool hiddenstate; 112 bool focushiddenstate;
113
114 bool iconhiddenstate_remember;
115 bool iconhiddenstate;
111 116
112 bool jumpworkspace_remember; 117 bool jumpworkspace_remember;
113 bool jumpworkspace; 118 bool jumpworkspace;
@@ -138,7 +143,8 @@ public:
138 enum Attribute { 143 enum Attribute {
139 REM_DECOSTATE= 0, 144 REM_DECOSTATE= 0,
140 REM_DIMENSIONS, 145 REM_DIMENSIONS,
141 REM_HIDDENSTATE, 146 REM_FOCUSHIDDENSTATE,
147 REM_ICONHIDDENSTATE,
142 REM_JUMPWORKSPACE, 148 REM_JUMPWORKSPACE,
143 REM_LAYER, 149 REM_LAYER,
144 REM_POSITION, 150 REM_POSITION,
diff --git a/src/Screen.cc b/src/Screen.cc
index 7402f49..319852c 100644
--- a/src/Screen.cc
+++ b/src/Screen.cc
@@ -22,7 +22,7 @@
22// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 22// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23// DEALINGS IN THE SOFTWARE. 23// DEALINGS IN THE SOFTWARE.
24 24
25// $Id: Screen.cc,v 1.266 2004/02/10 18:53:37 fluxgen Exp $ 25// $Id: Screen.cc,v 1.267 2004/02/20 09:06:19 fluxgen Exp $
26 26
27 27
28#include "Screen.hh" 28#include "Screen.hh"
@@ -2411,7 +2411,7 @@ bool BScreen::doSkipWindow(const WinClient &winclient, int opts) {
2411 // skip if not active client (i.e. only visit each fbwin once) 2411 // skip if not active client (i.e. only visit each fbwin once)
2412 (opts & CYCLEGROUPS) != 0 && win->winClient().window() != winclient.window() || 2412 (opts & CYCLEGROUPS) != 0 && win->winClient().window() != winclient.window() ||
2413 (opts & CYCLESKIPSHADED) != 0 && win->isShaded() || // skip if shaded 2413 (opts & CYCLESKIPSHADED) != 0 && win->isShaded() || // skip if shaded
2414 win->isHidden() 2414 win->isFocusHidden()
2415 ); 2415 );
2416} 2416}
2417 2417
diff --git a/src/Window.cc b/src/Window.cc
index 0a5c948..f7d7bf2 100644
--- a/src/Window.cc
+++ b/src/Window.cc
@@ -22,7 +22,7 @@
22// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 22// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23// DEALINGS IN THE SOFTWARE. 23// DEALINGS IN THE SOFTWARE.
24 24
25// $Id: Window.cc,v 1.267 2004/02/16 09:19:45 fluxgen Exp $ 25// $Id: Window.cc,v 1.268 2004/02/20 09:07:27 fluxgen Exp $
26 26
27#include "Window.hh" 27#include "Window.hh"
28 28
@@ -265,6 +265,7 @@ FluxboxWindow::FluxboxWindow(WinClient &client, FbWinFrameTheme &tm,
265 m_focussig(*this), 265 m_focussig(*this),
266 m_titlesig(*this), 266 m_titlesig(*this),
267 m_themelistener(*this), 267 m_themelistener(*this),
268 m_icon_hidden(false),
268 moving(false), resizing(false), shaded(false), 269 moving(false), resizing(false), shaded(false),
269 iconic(false), focused(false), 270 iconic(false), focused(false),
270 stuck(false), m_managed(false), 271 stuck(false), m_managed(false),
@@ -1688,7 +1689,7 @@ void FluxboxWindow::moveToLayer(int layernum) {
1688 } 1689 }
1689} 1690}
1690 1691
1691void FluxboxWindow::setHidden(bool value) { 1692void FluxboxWindow::setFocusHidden(bool value) {
1692 if(value) 1693 if(value)
1693 m_blackbox_attrib.flags |= ATTRIB_HIDDEN; 1694 m_blackbox_attrib.flags |= ATTRIB_HIDDEN;
1694 else 1695 else
@@ -1697,6 +1698,12 @@ void FluxboxWindow::setHidden(bool value) {
1697 m_statesig.notify(); 1698 m_statesig.notify();
1698} 1699}
1699 1700
1701void FluxboxWindow::setIconHidden(bool value) {
1702 m_icon_hidden= value;
1703 m_statesig.notify();
1704}
1705
1706
1700// window has actually RECEIVED focus (got a FocusIn event) 1707// window has actually RECEIVED focus (got a FocusIn event)
1701// so now we make it a focused frame etc 1708// so now we make it a focused frame etc
1702void FluxboxWindow::setFocusFlag(bool focus) { 1709void FluxboxWindow::setFocusFlag(bool focus) {
diff --git a/src/Window.hh b/src/Window.hh
index 2a4d507..f6cb3d0 100644
--- a/src/Window.hh
+++ b/src/Window.hh
@@ -22,7 +22,7 @@
22// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 22// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23// DEALINGS IN THE SOFTWARE. 23// DEALINGS IN THE SOFTWARE.
24 24
25// $Id: Window.hh,v 1.108 2004/02/16 20:47:51 fluxgen Exp $ 25// $Id: Window.hh,v 1.109 2004/02/20 09:07:27 fluxgen Exp $
26 26
27#ifndef WINDOW_HH 27#ifndef WINDOW_HH
28#define WINDOW_HH 28#define WINDOW_HH
@@ -207,7 +207,8 @@ public:
207 void raiseLayer(); 207 void raiseLayer();
208 void lowerLayer(); 208 void lowerLayer();
209 void moveToLayer(int layernum); 209 void moveToLayer(int layernum);
210 void setHidden(bool value); 210 void setFocusHidden(bool value);
211 void setIconHidden(bool value);
211 void reconfigure(); 212 void reconfigure();
212 213
213 214
@@ -262,7 +263,8 @@ public:
262 @name accessors 263 @name accessors
263 */ 264 */
264 //@{ 265 //@{
265 inline bool isHidden() const { return (m_blackbox_attrib.flags & ATTRIB_HIDDEN); } 266 inline bool isFocusHidden() const { return (m_blackbox_attrib.flags & ATTRIB_HIDDEN); }
267 inline bool isIconHidden() const { return m_icon_hidden; }
266 inline bool isManaged() const { return m_managed; } 268 inline bool isManaged() const { return m_managed; }
267 inline bool isFocused() const { return focused; } 269 inline bool isFocused() const { return focused; }
268 bool isVisible() const; 270 bool isVisible() const;
@@ -468,7 +470,7 @@ private:
468 } functions; 470 } functions;
469 471
470 bool m_shaped; ///< if the window is shaped with a mask 472 bool m_shaped; ///< if the window is shaped with a mask
471 473 bool m_icon_hidden; ///< if the window is in the iconbar
472 int m_old_pos_x, m_old_pos_y; ///< old position so we can restore from maximized 474 int m_old_pos_x, m_old_pos_y; ///< old position so we can restore from maximized
473 unsigned int m_old_width, m_old_height; ///< old size so we can restore from maximized state 475 unsigned int m_old_width, m_old_height; ///< old size so we can restore from maximized state
474 int m_last_button_x, ///< last known x position of the mouse button 476 int m_last_button_x, ///< last known x position of the mouse button