diff options
author | Jim Ramsay <i.am@jimramsay.com> | 2009-04-24 15:25:08 (GMT) |
---|---|---|
committer | Jim Ramsay <i.am@jimramsay.com> | 2009-05-26 20:36:13 (GMT) |
commit | edffe9c93f051e863f9fb9c768a837534c2e567f (patch) | |
tree | 061461d4ae5db49cc02123f02b93b9134d7d064d | |
parent | ff6a46391f29922476556f8f198730610f3707c2 (diff) | |
download | fluxbox_lack-edffe9c93f051e863f9fb9c768a837534c2e567f.zip fluxbox_lack-edffe9c93f051e863f9fb9c768a837534c2e567f.tar.bz2 |
Allow 'background: unset'
When a user sets 'background: none' it really means "Do not let themes touch the
background I have already set with fbsetbg" -> It does still actually call
fbsetbeg to re-assert the proper background.
This new value 'unset' is for users who will use an alternate method to set
their background (root-tail, xscreensaver, or whatever). It instructs fluxbox
to *never* run fbsetbg.
-rw-r--r-- | doc/asciidoc/fluxbox-style.txt | 7 | ||||
-rw-r--r-- | doc/fluxbox-style.5.in | 8 | ||||
-rw-r--r-- | src/RootTheme.cc | 4 |
3 files changed, 13 insertions, 6 deletions
diff --git a/doc/asciidoc/fluxbox-style.txt b/doc/asciidoc/fluxbox-style.txt index 02838fb..69a1d6d 100644 --- a/doc/asciidoc/fluxbox-style.txt +++ b/doc/asciidoc/fluxbox-style.txt | |||
@@ -361,9 +361,12 @@ resource to contain a valid file name. The `random' option requires | |||
361 | `solid', and `mod' all require `background.color' to be set. `gradient' and | 361 | `solid', and `mod' all require `background.color' to be set. `gradient' and |
362 | `mod' both require `background.colorTo'. `mod' requires `background.modX' and | 362 | `mod' both require `background.colorTo'. `mod' requires `background.modX' and |
363 | `background.modY' to be set as well. These options will be passed to | 363 | `background.modY' to be set as well. These options will be passed to |
364 | *fbsetroot(1)* to set the background. | 364 | *fbsetroot(1)* to set the background. The special option `unset' is for use in |
365 | user overlay files only. It specifies that fbsetbg should never be run (by | ||
366 | default, even when `none' is set in the overlay, fluxbox will try to run | ||
367 | ``fbsetbg -z'' to restore the last wallpaper). | ||
365 | 368 | ||
366 | background: centered|aspect|tiled|fullscreen|random|solid|gradient <texture>|mod|none | 369 | background: centered|aspect|tiled|fullscreen|random|solid|gradient <texture>|mod|none|unset |
367 | background.pixmap: <file or directory> | 370 | background.pixmap: <file or directory> |
368 | background.color: <color> | 371 | background.color: <color> |
369 | background.colorTo: <color> | 372 | background.colorTo: <color> |
diff --git a/doc/fluxbox-style.5.in b/doc/fluxbox-style.5.in index 62a82e6..25f9a16 100644 --- a/doc/fluxbox-style.5.in +++ b/doc/fluxbox-style.5.in | |||
@@ -1,12 +1,12 @@ | |||
1 | .\" Title: fluxbox-style | 1 | .\" Title: fluxbox-style |
2 | .\" Author: [see the "AUTHORS" section] | 2 | .\" Author: [see the "AUTHORS" section] |
3 | .\" Generator: DocBook XSL Stylesheets v1.74.0 <http://docbook.sf.net/> | 3 | .\" Generator: DocBook XSL Stylesheets v1.74.0 <http://docbook.sf.net/> |
4 | .\" Date: 02/19/2009 | 4 | .\" Date: 05/26/2009 |
5 | .\" Manual: Fluxbox Manual | 5 | .\" Manual: Fluxbox Manual |
6 | .\" Source: fluxbox-style.txt 1.1.2 | 6 | .\" Source: fluxbox-style.txt 1.1.2 |
7 | .\" Language: English | 7 | .\" Language: English |
8 | .\" | 8 | .\" |
9 | .TH "FLUXBOX\-STYLE" "5" "02/19/2009" "fluxbox\-style\&.txt 1\&.1\&.2" "Fluxbox Manual" | 9 | .TH "FLUXBOX\-STYLE" "5" "05/26/2009" "fluxbox\-style\&.txt 1\&.1\&.2" "Fluxbox Manual" |
10 | .\" ----------------------------------------------------------------- | 10 | .\" ----------------------------------------------------------------- |
11 | .\" * (re)Define some macros | 11 | .\" * (re)Define some macros |
12 | .\" ----------------------------------------------------------------- | 12 | .\" ----------------------------------------------------------------- |
@@ -611,7 +611,7 @@ menu\&.unselected\&.pixmap: <filename> | |||
611 | .\} | 611 | .\} |
612 | .SH "BACKGROUND" | 612 | .SH "BACKGROUND" |
613 | .sp | 613 | .sp |
614 | Every style must specify the background option\&. If you don\'t want your style to change the user\'s background, then use `background: none\'\&. The options `centered\', `aspect\', `tiled\', and `fullscreen\' require the `background\&.pixmap\' resource to contain a valid file name\&. The `random\' option requires `background\&.pixmap\' to contain a valid directory name\&. For these options, \fBfluxbox(1)\fR will call \fBfbsetbg(1)\fR to set the background\&. The options `gradient\', `solid\', and `mod\' all require `background\&.color\' to be set\&. `gradient\' and `mod\' both require `background\&.colorTo\'\&. `mod\' requires `background\&.modX\' and `background\&.modY\' to be set as well\&. These options will be passed to \fBfbsetroot(1)\fR to set the background\&. | 614 | Every style must specify the background option\&. If you don\'t want your style to change the user\'s background, then use `background: none\'\&. The options `centered\', `aspect\', `tiled\', and `fullscreen\' require the `background\&.pixmap\' resource to contain a valid file name\&. The `random\' option requires `background\&.pixmap\' to contain a valid directory name\&. For these options, \fBfluxbox(1)\fR will call \fBfbsetbg(1)\fR to set the background\&. The options `gradient\', `solid\', and `mod\' all require `background\&.color\' to be set\&. `gradient\' and `mod\' both require `background\&.colorTo\'\&. `mod\' requires `background\&.modX\' and `background\&.modY\' to be set as well\&. These options will be passed to \fBfbsetroot(1)\fR to set the background\&. The special option `unset\' is for use in user overlay files only\&. It specifies that fbsetbg should never be run (by default, even when `none\' is set in the overlay, fluxbox will try to run \(lqfbsetbg \-z\(rq to restore the last wallpaper)\&. |
615 | .sp | 615 | .sp |
616 | .if n \{\ | 616 | .if n \{\ |
617 | .RS 4 | 617 | .RS 4 |
@@ -620,7 +620,7 @@ Every style must specify the background option\&. If you don\'t want your style | |||
620 | .ps -1 | 620 | .ps -1 |
621 | .nf | 621 | .nf |
622 | .BB lightgray | 622 | .BB lightgray |
623 | background: centered|aspect|tiled|fullscreen|random|solid|gradient <texture>|mod|none | 623 | background: centered|aspect|tiled|fullscreen|random|solid|gradient <texture>|mod|none|unset |
624 | background\&.pixmap: <file or directory> | 624 | background\&.pixmap: <file or directory> |
625 | background\&.color: <color> | 625 | background\&.color: <color> |
626 | background\&.colorTo: <color> | 626 | background\&.colorTo: <color> |
diff --git a/src/RootTheme.cc b/src/RootTheme.cc index 049eb27..34c06e9 100644 --- a/src/RootTheme.cc +++ b/src/RootTheme.cc | |||
@@ -202,6 +202,10 @@ void RootTheme::reconfigTheme() { | |||
202 | filename = FbTk::StringUtil::expandFilename(filename); | 202 | filename = FbTk::StringUtil::expandFilename(filename); |
203 | std::string cmd = realProgramName("fbsetbg") + (m_first ? " -z " : " -Z "); | 203 | std::string cmd = realProgramName("fbsetbg") + (m_first ? " -z " : " -Z "); |
204 | 204 | ||
205 | // user explicitly requests NO background be set at all | ||
206 | if (strstr(m_background->options().c_str(), "unset") != 0) { | ||
207 | return; | ||
208 | } | ||
205 | // style doesn't wish to change the background | 209 | // style doesn't wish to change the background |
206 | if (strstr(m_background->options().c_str(), "none") != 0) { | 210 | if (strstr(m_background->options().c_str(), "none") != 0) { |
207 | if (!m_first) | 211 | if (!m_first) |