You are not logged in.
Pages: 1
After using wallch, I'm wondering is there a way to set&show an html file as desktop background?
(Using Mint17 + xfce4.10)
Offline
Xfce doesn't have this functionality built-in, but I guess you could script something using a 3rd party tool to capture a webpage as an image and then use xfconf-query to set that image as the background. Auto-refresh as required.
However, why not just use wallch? I believe it supports Xfce.
Please remember to mark your thread [SOLVED] to make it easier for others to find
--- How To Ask For Help | FAQ | Developer Wiki | Community | Contribute ---
Offline
Thanks ToZ, wallch seems only support onlinewebsite , what I want is a local HTML
As background.
And how about leave it unsolved?
Last edited by highwind (2014-06-27 13:01:44)
(Using Mint17 + xfce4.10)
Offline
Thanks ToZ, wallch seems only support onlinewebsite , what I want is a local HTML
As background.
Yep, can't seem to get that to work on wallch. So I decided to through together a quick script that will do this for you:
#!/bin/bash
#Name: htmlback
#Description: Uses an html file as a desktop background and refreshes on a preset schedule
# For local files, use file:// prefix
# For online files, use http:// prefix
#Requires: xfdesktop, cutycapt
#Debug mode: bash -xv /path/to/htmlback 2>&1 | tee htmlback.log
# make sure that only one instance of this script is running per user
lockfile=/tmp/.htmlback.$USER.lockfile
if ( set -o noclobber; echo "locked" > "$lockfile") 2> /dev/null; then
trap 'rm -f "$lockfile"; exit $?' INT TERM EXIT
echo "htmlbackDEBUG: Locking succeeded" >&2
# Set some default vaules
# refresh time in seconds
REFRESH_TIME=60
# location of html file to use as background image
HTML_LOCATION="file:///usr/share/xubuntu-docs/desktop-guide/index.html"
#HTML_LOCATION="http://www.thestar.com"
# minimal width of image (should match desktop dimension)
MIN_WIDTH=1024
# minimal height of image (should match desktop dimension)
MIN_HEIGHT=768
# xfconf wallpaper setting
# To get this xfconf entry, in a terminal window, run "xfconf-query -c xfce4-desktop -m" then
# manually change the background. In the terminal window the xfconf wallpaper setting will be displayed
XFCONF_WSETTING=/backdrop/screen0/monitorLVDS-0/workspace0/last-image
# xfdesktop won't reload an image if it has the same name so we have to toggle the filename back and forth
toggle=0
# loop forever
while true; do
# get the htmlpage
if [ $toggle -eq 0 ]; then
cutycapt --url=$HTML_LOCATION --out=/tmp/htmlback0.png --min-width=$MIN_WIDTH --min-height=$MIN_HEIGHT
else
cutycapt --url=$HTML_LOCATION --out=/tmp/htmlback1.png --min-width=$MIN_WIDTH --min-height=$MIN_HEIGHT
fi
#sleep for cutycapt to complete (adjust to suit)
sleep 10s
# set the wallpaper
if [ $toggle -eq 0 ]; then
xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitorLVDS-0/workspace0/last-image -s /tmp/htmlback0.png
toggle=1
else
xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitorLVDS-0/workspace0/last-image -s /tmp/htmlback1.png
toggle=0
fi
# change style to "tiled" (looks the best)
xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitorLVDS-0/workspace0/image-style -s 2
# sleep for the refresh time
sleep $REFRESH_TIME
done
# can't create lockfile - notify user and quit
else
echo "htmlbackDEBUG: Lock failed, check for existing process and/or lock file and delete - exiting." >&2
exit 1
fi
exit 0
Steps:
1. Create the file /usr/local/bin/htmlback with the contents above.
2. Change the default values inside the script to match your needs, specifically:
- REFRESH_TIME -> the time in seconds between a refresh of the background
- HTML_LOCATION -> the location of the html file you want to use. If its a local file, prefix the path with "file://"
- MIN_WIDTH -> the width of your display
- MIN_HEIGHT -> the height of your display
- XFCONF_WSETTING -> information in the script on how to get the actual xfconf entry that points to your screen wallpaper
3. Make the file executable
4. Run the executable in a terminal window for testing.
If you want to ruin automatically at boot, add it to your application startup.
And how about leave it unsolved?
I didn't flag this thread as solved. Only the original author can flag it as solved. Perhaps you inadvertantly selected the option to close the thread?
Last edited by ToZ (2014-06-27 23:44:01)
Please remember to mark your thread [SOLVED] to make it easier for others to find
--- How To Ask For Help | FAQ | Developer Wiki | Community | Contribute ---
Offline
@ToZ , Thank you so much ,I really appreciate your help.
#!/bin/bash
#Name: htmlback
#Description: Uses an html file as a desktop background and refreshes on a preset schedule
# For local files, use file:// prefix
# For online files, use http:// prefix
#Requires: xfdesktop, cutycapt
#Debug mode: bash -xv /path/to/htmlback 2>&1 | tee htmlback.log
# make sure that only one instance of this script is running per user
lockfile=/tmp/.htmlback.$USER.lockfile
if ( set -o noclobber; echo "locked" > "$lockfile") 2> /dev/null; then
trap 'rm -f "$lockfile"; exit $?' INT TERM EXIT
echo "htmlbackDEBUG: Locking succeeded" >&2
# Set some default vaules
# refresh time in seconds
REFRESH_TIME=10
# location of html file to use as background image
HTML_LOCATION="file:///home/path/to/file"
#/usr/share/xubuntu-docs/desktop-guide/index.html"
#HTML_LOCATION="http://www.thestar.com"
# minimal width of image (should match desktop dimension)
MIN_WIDTH=800
# minimal height of image (should match desktop dimension)
MIN_HEIGHT=600
# xfconf wallpaper setting
# To get this xfconf entry, in a terminal window, run "xfconf-query -c xfce4-desktop -m" then
# manually change the background. In the terminal window the xfconf wallpaper setting will be displayed
XFCONF_WSETTING=/backdrop/screen0/monitorVBOX0/workspace0/last-image
#/backdrop/screen0/monitorLVDS-0/workspace0/last-image
# xfdesktop won't reload an image if it has the same name so we have to toggle the filename back and forth
toggle=0
# loop forever
while true; do
# get the htmlpage
if [ $toggle -eq 0 ]; then
cutycapt --url=$HTML_LOCATION --out=/tmp/htmlback0.png --min-width=$MIN_WIDTH --min-height=$MIN_HEIGHT
else
cutycapt --url=$HTML_LOCATION --out=/tmp/htmlback1.png --min-width=$MIN_WIDTH --min-height=$MIN_HEIGHT
fi
#sleep for cutycapt to complete (adjust to suit)
sleep 10s
# set the wallpaper
if [ $toggle -eq 0 ]; then
xfconf-query -c xfce4-desktop -p $XFCONF_WSETTING -s /tmp/htmlback0.png
#/backdrop/screen0/monitorLVDS-0/workspace0/last-image
toggle=1
else
xfconf-query -c xfce4-desktop -p $XFCONF_WSETTING -s /tmp/htmlback1.png
#/backdrop/screen0/monitorLVDS-0/workspace0/last-image
toggle=0
fi
# change style to "tiled" (looks the best)
# xfconf-query -c xfce4-desktop -p $XFCONF_WSETTING -s 2 ???
#/backdrop/screen0/monitorLVDS-0/workspace0/image-style
# sleep for the refresh time
sleep $REFRESH_TIME
done
# can't create lockfile - notify user and quit
else
echo "htmlbackDEBUG: Lock failed, check for existing process and/or lock file and delete - exiting." >&2
exit 1
fi
exit 0
I made some change to let it work,
However, my original idea is to let the background to be click-able/interactive (html), so I think I will leave this thread as "unsolved".
(ps: I think you are right I may accidentally trigger the solved/unsolved flag, ^_^)
(Using Mint17 + xfce4.10)
Offline
However, my original idea is to let the background to be click-able/interactive (html)
In that case, why not just run firefox, full screen, pinned and below all other windows? You can use devilspie to automate this. A .ds file like this:
(if
(is (window_class) "Firefox")
(begin
(pin)
(below)
(undecorate)
(maximize)
)
)
...will do it.
Please remember to mark your thread [SOLVED] to make it easier for others to find
--- How To Ask For Help | FAQ | Developer Wiki | Community | Contribute ---
Offline
@ToZ, Thanks again for introducing such nice tool.
However , as I tested, the following firefox menu will be effected,
I just wondering is that a way I can run the engine but not whole firefox to display my html as background?
(Using Mint17 + xfce4.10)
Offline
I tried to think about this issue in another way, I install Uzbl to run with devilspie2, looks much better,
do you have some other lightweight web-browser recommend?
(Using Mint17 + xfce4.10)
Offline
Pages: 1
[ Generated in 0.007 seconds, 7 queries executed - Memory usage: 580.41 KiB (Peak: 597.7 KiB) ]