diff options
Diffstat (limited to 'src/Remember.cc')
-rw-r--r-- | src/Remember.cc | 29 |
1 files changed, 23 insertions, 6 deletions
diff --git a/src/Remember.cc b/src/Remember.cc index fef995b..5f1787f 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.33 2003/12/19 00:48:41 fluxgen Exp $ | 24 | // $Id: Remember.cc,v 1.34 2004/02/16 10:25:33 fluxgen Exp $ |
25 | 25 | ||
26 | #include "Remember.hh" | 26 | #include "Remember.hh" |
27 | #include "ClientPattern.hh" | 27 | #include "ClientPattern.hh" |
@@ -208,15 +208,16 @@ Application::Application(bool grouped) | |||
208 | : is_grouped(grouped), | 208 | : is_grouped(grouped), |
209 | group(0) | 209 | group(0) |
210 | { | 210 | { |
211 | workspace_remember = | 211 | decostate_remember = |
212 | dimensions_remember = | 212 | dimensions_remember = |
213 | hiddenstate_remember = | ||
214 | jumpworkspace_remember = | ||
215 | layer_remember = | ||
213 | position_remember = | 216 | position_remember = |
214 | stuckstate_remember = | ||
215 | decostate_remember = | ||
216 | shadedstate_remember = | 217 | shadedstate_remember = |
218 | stuckstate_remember = | ||
217 | tabstate_remember = | 219 | tabstate_remember = |
218 | jumpworkspace_remember = | 220 | workspace_remember = |
219 | layer_remember = | ||
220 | save_on_close_remember = false; | 221 | save_on_close_remember = false; |
221 | } | 222 | } |
222 | 223 | ||
@@ -363,6 +364,8 @@ int Remember::parseApp(ifstream &file, Application &app, string *first_line) { | |||
363 | app.rememberShadedstate((str_label=="yes")); | 364 | app.rememberShadedstate((str_label=="yes")); |
364 | } else if (str_key == "Tab") { | 365 | } else if (str_key == "Tab") { |
365 | app.rememberTabstate((str_label=="yes")); | 366 | app.rememberTabstate((str_label=="yes")); |
367 | } else if (str_key == "Hidden") { | ||
368 | app.rememberHiddenstate((str_label=="yes")); | ||
366 | } else if (str_key == "Deco") { | 369 | } else if (str_key == "Deco") { |
367 | if (str_label == "NONE") { | 370 | if (str_label == "NONE") { |
368 | app.rememberDecostate((unsigned int) 0); | 371 | app.rememberDecostate((unsigned int) 0); |
@@ -545,6 +548,9 @@ void Remember::save() { | |||
545 | if (a.tabstate_remember) { | 548 | if (a.tabstate_remember) { |
546 | apps_file << " [Tab]\t\t{" << ((a.tabstate)?"yes":"no") << "}" << endl; | 549 | apps_file << " [Tab]\t\t{" << ((a.tabstate)?"yes":"no") << "}" << endl; |
547 | } | 550 | } |
551 | if (a.hiddenstate_remember) { | ||
552 | apps_file << " [Hidden]\t\t{" << ((a.tabstate)?"yes":"no") << "}" << endl; | ||
553 | } | ||
548 | if (a.decostate_remember) { | 554 | if (a.decostate_remember) { |
549 | switch (a.decostate) { | 555 | switch (a.decostate) { |
550 | case (0) : | 556 | case (0) : |
@@ -601,6 +607,9 @@ bool Remember::isRemembered(WinClient &winclient, Attribute attrib) { | |||
601 | case REM_POSITION: | 607 | case REM_POSITION: |
602 | return app->position_remember; | 608 | return app->position_remember; |
603 | break; | 609 | break; |
610 | case REM_HIDDENSTATE: | ||
611 | return app->hiddenstate_remember; | ||
612 | break; | ||
604 | case REM_STUCKSTATE: | 613 | case REM_STUCKSTATE: |
605 | return app->stuckstate_remember; | 614 | return app->stuckstate_remember; |
606 | break; | 615 | break; |
@@ -646,6 +655,9 @@ void Remember::rememberAttrib(WinClient &winclient, Attribute attrib) { | |||
646 | case REM_POSITION: | 655 | case REM_POSITION: |
647 | app->rememberPosition(win->x(), win->y()); | 656 | app->rememberPosition(win->x(), win->y()); |
648 | break; | 657 | break; |
658 | case REM_HIDDENSTATE: | ||
659 | app->rememberHiddenstate(win->isHidden()); | ||
660 | break; | ||
649 | case REM_SHADEDSTATE: | 661 | case REM_SHADEDSTATE: |
650 | app->rememberShadedstate(win->isShaded()); | 662 | app->rememberShadedstate(win->isShaded()); |
651 | break; | 663 | break; |
@@ -691,6 +703,9 @@ void Remember::forgetAttrib(WinClient &winclient, Attribute attrib) { | |||
691 | case REM_POSITION: | 703 | case REM_POSITION: |
692 | app->forgetPosition(); | 704 | app->forgetPosition(); |
693 | break; | 705 | break; |
706 | case REM_HIDDENSTATE: | ||
707 | app->forgetHiddenstate(); | ||
708 | break; | ||
694 | case REM_STUCKSTATE: | 709 | case REM_STUCKSTATE: |
695 | app->forgetStuckstate(); | 710 | app->forgetStuckstate(); |
696 | break; | 711 | break; |
@@ -794,6 +809,8 @@ void Remember::setupFrame(FluxboxWindow &win) { | |||
794 | if (win.isStuck() && !app->stuckstate || | 809 | if (win.isStuck() && !app->stuckstate || |
795 | !win.isStuck() && app->stuckstate) | 810 | !win.isStuck() && app->stuckstate) |
796 | win.stick(); // toggles | 811 | win.stick(); // toggles |
812 | if (app->hiddenstate_remember) | ||
813 | win.setHidden(true); | ||
797 | 814 | ||
798 | if (app->layer_remember) | 815 | if (app->layer_remember) |
799 | win.moveToLayer(app->layer); | 816 | win.moveToLayer(app->layer); |