diff options
Diffstat (limited to 'src/Remember.hh')
-rw-r--r-- | src/Remember.hh | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/src/Remember.hh b/src/Remember.hh index 581e525..7ecf8c2 100644 --- a/src/Remember.hh +++ b/src/Remember.hh | |||
@@ -29,6 +29,9 @@ | |||
29 | #define REMEMBER_HH | 29 | #define REMEMBER_HH |
30 | 30 | ||
31 | #include "AtomHandler.hh" | 31 | #include "AtomHandler.hh" |
32 | #include "ClientPattern.hh" | ||
33 | |||
34 | #include "FbTk/RefCount.hh" | ||
32 | 35 | ||
33 | #include <fstream> | 36 | #include <fstream> |
34 | #include <map> | 37 | #include <map> |
@@ -40,11 +43,10 @@ | |||
40 | class FluxboxWindow; | 43 | class FluxboxWindow; |
41 | class BScreen; | 44 | class BScreen; |
42 | class WinClient; | 45 | class WinClient; |
43 | class ClientPattern; | ||
44 | 46 | ||
45 | class Application { | 47 | class Application { |
46 | public: | 48 | public: |
47 | Application(int grouped); | 49 | Application(bool grouped, ClientPattern *pat = 0); |
48 | inline void forgetWorkspace() { workspace_remember = false; } | 50 | inline void forgetWorkspace() { workspace_remember = false; } |
49 | inline void forgetHead() { head_remember = false; } | 51 | inline void forgetHead() { head_remember = false; } |
50 | inline void forgetDimensions() { dimensions_remember = false; } | 52 | inline void forgetDimensions() { dimensions_remember = false; } |
@@ -137,14 +139,8 @@ public: | |||
137 | bool save_on_close_remember; | 139 | bool save_on_close_remember; |
138 | bool save_on_close; | 140 | bool save_on_close; |
139 | 141 | ||
140 | enum { | 142 | bool is_grouped; |
141 | IS_GROUPED = 0x01, | 143 | FbTk::RefCount<ClientPattern> group_pattern; |
142 | MATCH_WORKSPACE = 0x02 | ||
143 | // MATCH_HEAD, STUCK, ICONIFIED, etc.? | ||
144 | // this will probably evolve into a ClientPattern as soon as they | ||
145 | // match things like currentworkspace | ||
146 | }; | ||
147 | int is_grouped; | ||
148 | 144 | ||
149 | }; | 145 | }; |
150 | 146 | ||
@@ -254,7 +250,8 @@ private: | |||
254 | // optionally can give a line to read before the first (lookahead line) | 250 | // optionally can give a line to read before the first (lookahead line) |
255 | int parseApp(std::ifstream &file, Application &app, std::string *first_line = 0); | 251 | int parseApp(std::ifstream &file, Application &app, std::string *first_line = 0); |
256 | 252 | ||
257 | Application *findMatchingPatterns(ClientPattern *pat, Patterns *patlist, int is_group); | 253 | Application *findMatchingPatterns(ClientPattern *pat, Patterns *patlist, |
254 | bool is_group, ClientPattern *match_pat = 0); | ||
258 | 255 | ||
259 | std::auto_ptr<Patterns> m_pats; | 256 | std::auto_ptr<Patterns> m_pats; |
260 | Clients m_clients; | 257 | Clients m_clients; |