diff options
author | fluxgen <fluxgen> | 2004-02-20 09:07:27 (GMT) |
---|---|---|
committer | fluxgen <fluxgen> | 2004-02-20 09:07:27 (GMT) |
commit | 3c78d753c0c1b293d20ad52e38586929bf47f13e (patch) | |
tree | fc146deff9fe5ebb0afb51f9882f17f54a45336c /src | |
parent | 1e405808fb3cba1b19d6af9697312a6f4d8ec3ba (diff) | |
download | fluxbox_lack-3c78d753c0c1b293d20ad52e38586929bf47f13e.zip fluxbox_lack-3c78d753c0c1b293d20ad52e38586929bf47f13e.tar.bz2 |
fixed focus issues with remember hidden, patch from Mathias Gumz
Diffstat (limited to 'src')
-rw-r--r-- | src/Ewmh.cc | 11 | ||||
-rw-r--r-- | src/Gnome.cc | 7 | ||||
-rw-r--r-- | src/IconbarTool.cc | 6 | ||||
-rw-r--r-- | src/Remember.cc | 53 | ||||
-rw-r--r-- | src/Remember.hh | 22 | ||||
-rw-r--r-- | src/Screen.cc | 4 | ||||
-rw-r--r-- | src/Window.cc | 11 | ||||
-rw-r--r-- | src/Window.hh | 10 |
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 | ||
683 | void IconbarTool::addWindow(FluxboxWindow &win) { | 683 | void 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 | ||
1691 | void FluxboxWindow::setHidden(bool value) { | 1692 | void 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 | ||
1701 | void 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 |
1702 | void FluxboxWindow::setFocusFlag(bool focus) { | 1709 | void 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 |