aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Ramsay <i.am@jimramsay.com>2009-04-24 15:25:08 (GMT)
committerJim Ramsay <i.am@jimramsay.com>2009-05-26 20:36:13 (GMT)
commitedffe9c93f051e863f9fb9c768a837534c2e567f (patch)
tree061461d4ae5db49cc02123f02b93b9134d7d064d
parentff6a46391f29922476556f8f198730610f3707c2 (diff)
downloadfluxbox_pavel-edffe9c93f051e863f9fb9c768a837534c2e567f.zip
fluxbox_pavel-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.txt7
-rw-r--r--doc/fluxbox-style.5.in8
-rw-r--r--src/RootTheme.cc4
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
365user overlay files only. It specifies that fbsetbg should never be run (by
366default, 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
614Every 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\&. 614Every 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
623background: centered|aspect|tiled|fullscreen|random|solid|gradient <texture>|mod|none 623background: centered|aspect|tiled|fullscreen|random|solid|gradient <texture>|mod|none|unset
624background\&.pixmap: <file or directory> 624background\&.pixmap: <file or directory>
625background\&.color: <color> 625background\&.color: <color>
626background\&.colorTo: <color> 626background\&.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)