diff options
-rw-r--r-- | ChangeLog | 2 | ||||
-rw-r--r-- | src/ClientPattern.cc | 13 | ||||
-rw-r--r-- | src/ClientPattern.hh | 2 |
3 files changed, 16 insertions, 1 deletions
@@ -1,6 +1,8 @@ | |||
1 | (Format: Year/Month/Day) | 1 | (Format: Year/Month/Day) |
2 | Changes for 1.1.2 | 2 | Changes for 1.1.2 |
3 | *09/06/28: | 3 | *09/06/28: |
4 | * Allow matching screen number in ClientPattern (thanks Peter Hercek) | ||
5 | ClientPattern.cc | ||
4 | * Hide the menu when you click on a window (Mark) | 6 | * Hide the menu when you click on a window (Mark) |
5 | Window.cc | 7 | Window.cc |
6 | * Make Raise/LowerLayer commands accept integer argument, defualt 2 (Mark) | 8 | * Make Raise/LowerLayer commands accept integer argument, defualt 2 (Mark) |
diff --git a/src/ClientPattern.cc b/src/ClientPattern.cc index 72bf161..84f421a 100644 --- a/src/ClientPattern.cc +++ b/src/ClientPattern.cc | |||
@@ -134,6 +134,8 @@ ClientPattern::ClientPattern(const char *str): | |||
134 | prop = LAYER; | 134 | prop = LAYER; |
135 | } else if (strcasecmp(memstr.c_str(), "urgent") == 0) { | 135 | } else if (strcasecmp(memstr.c_str(), "urgent") == 0) { |
136 | prop = URGENT; | 136 | prop = URGENT; |
137 | } else if (strcasecmp(memstr.c_str(), "screen") == 0) { | ||
138 | prop = SCREEN; | ||
137 | } else { | 139 | } else { |
138 | prop = NAME; | 140 | prop = NAME; |
139 | expr = match; | 141 | expr = match; |
@@ -245,6 +247,10 @@ string ClientPattern::toString() const { | |||
245 | break; | 247 | break; |
246 | case URGENT: | 248 | case URGENT: |
247 | pat.append("urgent="); | 249 | pat.append("urgent="); |
250 | break; | ||
251 | case SCREEN: | ||
252 | pat.append("screen="); | ||
253 | break; | ||
248 | } | 254 | } |
249 | 255 | ||
250 | pat.append((*it)->orig); | 256 | pat.append((*it)->orig); |
@@ -407,6 +413,13 @@ string ClientPattern::getProperty(WinProperty prop, const Focusable &client) { | |||
407 | return Fluxbox::instance()->attentionHandler() | 413 | return Fluxbox::instance()->attentionHandler() |
408 | .isDemandingAttention(client) ? "yes" : "no"; | 414 | .isDemandingAttention(client) ? "yes" : "no"; |
409 | break; | 415 | break; |
416 | case SCREEN: { | ||
417 | int screenId = client.screen().screenNumber(); | ||
418 | char tmpstr[32]; | ||
419 | sprintf(tmpstr, "%d", screenId); | ||
420 | return std::string(tmpstr); | ||
421 | break; | ||
422 | } | ||
410 | } | 423 | } |
411 | return client.getWMClassName(); | 424 | return client.getWMClassName(); |
412 | } | 425 | } |
diff --git a/src/ClientPattern.hh b/src/ClientPattern.hh index 4e25cb5..153b7c0 100644 --- a/src/ClientPattern.hh +++ b/src/ClientPattern.hh | |||
@@ -53,7 +53,7 @@ public: | |||
53 | enum WinProperty { | 53 | enum WinProperty { |
54 | TITLE, CLASS, NAME, ROLE, TRANSIENT, | 54 | TITLE, CLASS, NAME, ROLE, TRANSIENT, |
55 | MAXIMIZED, MINIMIZED, SHADED, STUCK, FOCUSHIDDEN, ICONHIDDEN, | 55 | MAXIMIZED, MINIMIZED, SHADED, STUCK, FOCUSHIDDEN, ICONHIDDEN, |
56 | WORKSPACE, WORKSPACENAME, HEAD, LAYER, URGENT | 56 | WORKSPACE, WORKSPACENAME, HEAD, LAYER, URGENT, SCREEN |
57 | }; | 57 | }; |
58 | 58 | ||
59 | /// Does this client match this pattern? | 59 | /// Does this client match this pattern? |