Active Web Site as Gnome Background

The easy way

(which installs a graphical program that does the job for you)

Wallch has this feature now implemented! You may download and install the PPA:

For 13.10/14.04:

sudo add-apt-repository ppa:wallch/3+
sudo apt-get update && sudo apt-get install wallch

For 12.04:

sudo add-apt-repository ppa:wallch/12.04-3+
sudo apt-get update && sudo apt-get install wallch

Newest addition is the wallch-daily PPA for the more recent Ubuntu versions

sudo add-apt-repository ppa:wallch/wallch-daily
sudo apt-get update && sudo apt-get install wallch

The hard way

(which installs only what is needed and requires a little bit of command line usage)

My answer will guide you through on how to have your desktop background updated on an interval of your choice of a website of your choice.

After a search on the source code of the program Shutter so as to see what trick does it do so as to capture a web site, I found an easier way to do it, so I've edited my answer.

The easiest way around is the following:

First, install a small package:

sudo apt-get install gnome-web-photo

When the above command finishes running, then run the following inside your terminal:

mkdir -p ~/Documents/web_image
cd ~/Documents/web_image

Now, a folder under your ~/Documents folder named web_image has been created.

In this folder, place the following script, called update_background.sh:

#!/bin/bash
screen_width=1280 #<--set here your screen's width dimension
interval="300" #<--set here the seconds you want to sleep till the next update

while true; do
   gnome-web-photo --timeout=30 --mode=photo --width=$screen_width "http://google.com" $HOME/Documents/web_image/output.png
   gsettings set org.gnome.desktop.background picture-uri file://$HOME/Documents/web_image/output.png
   echo "Sleeping $interval seconds till the next update..."
   sleep $interval
done

In the above bash script, you may edit 4 parameters: screen_width is your screen's width (the same width will be the site), interval is the interval to wait till the next update of the picture, the timeout (which is a parameter on the gnome-web-photo command) which is the timeout to wait for the creation of the picture to wait, and also edit the site, which, by default I have set it to be http://google.com. You may change it to whatever you want.

After saving the script, give it executable permissions (chmod +x update_background.sh or right click on it->properties->permissions->allow executing file as program) and run it through a terminal.

This is how it looks like at my desktop background, with the site askubuntu.com:

enter image description here

NOTE: Sites' first page can be very long, take for example askubuntu.com. This is apparently a problem, you can solve this problem with programs like imagemagick. You can edit/crop etc. the image before setting it as desktop background (before the gsettings command). You can crop the image like this:

convert $HOME/Documents/web_image/output2.png -crop 300x300+0+0 $HOME/Documents/web_image/output2.png

The convert command is at the imagemagick package (sudo apt-get install imagemagick). Note that you have to find the dimensions that fit best (e.g. 300x300 is very small in this case, it is just an example...)

PS: You can set the update_background.sh script to start on login: Run simple bash script to start applications at login, but it would be nice to wait till you have internet connection. So, before the while loop in that script place this:

while ! ping -c 1 google.com > /dev/null 2> /dev/null; do
  echo "Waiting for internet connection..."
  sleep 3
done

So, along with the above, if you set the script running at startup and you want to crop the image, then the update_background.sh should look like something like this:

#!/bin/bash
screen_width=1280 #<--set here your screen's width dimension
interval="300" #<--set here the seconds you want to sleep till the next update

while true; do
   gnome-web-photo --timeout=30 --mode=photo --width=$screen_width "http://google.com" $HOME/Documents/web_image/output.png
   convert $HOME/Documents/web_image/output.png -crop 300x300+0+0 $HOME/Documents/web_image/output.png
   gsettings set org.gnome.desktop.background picture-uri file://$HOME/Documents/web_image/output.png
   echo "Sleeping $interval seconds till the next update..."
   sleep $interval
done

Your best bet might be the screenlet project. The webframe screenlet does indeed allow you to embed your gmail, albeit, it's the mobile version by default. Perhaps you can find a way to change it. Screenshot below.

Screenlets can either sit on your desktop directly, or combined with the widget layer of Compiz, called up over existing windows, like the Mac handles its gadgets/widgets (whatever they're called - I've forgotten).

sudo apt-get install screenlets

Install via the software center

You'll have to visit the site to download the third party webframe screenlet. I've just tried it and the installer will complain that webframe isn't packaged correctly, but it installs perfectly nonetheless:

enter image description here

Might also be worth noting that I'm fairly sure that KDE bundles this kind of functionality out of the box with its "plasma" framework. Just a thought.


You can use xwinwrap to get any application on your desktop. It was made with a "videos for wallpaper" idea in mind but I think that it can stick any application on your desktop just fine (so you can just stick a fullscreen browser on your desktop)

You can find xwinwrap here but I think that there is a newer version around; couldn't find it though.


Conky

Conky is probably one option you should explore. I cannot give you exact instructions as its something I have never tried.

Conky is a system monitor that displays on your screen's desktop. It's also very modular. It can display the output of any command line program. You can view RSS feeds by using a the Conky RSS functions, or a separate program or script.


You can find instructions here. How to create an RSS feed using Conky


There is no way to do this with standard gnome. The wallpaper is a solid image and isn't doing anything special.

I am reading this a few years later.

Before I get jumped on for not reading the original post - I did and I know the OP asked about GNOME. But a lot of the discussion was about KDE so I'll add a foolproof way to do it in KDE and someone with GNOME can check and see if the right click on the title bar works there too.

I'm not sure if this is possible in Gnome etc, but in KDE there is nothing special to it. In fact I am typing this reply in Firefox which is set as my desktop background in Mint 17 KDE, but have been using it in earlier releases.

Ok, so in KDE all you do is:

  1. Right click the title bar of your browser.
  2. Choose More Actions
  3. Choose Keep Below Others
  4. Choose More Actions again
  5. Choose Fullscreen
  6. Read the warning that tells you you probably won't get back out of fullscreen.
  7. Take note of the Alt+F3 shortcut to get out of fullscreen.
  8. Click ok.
  9. See point 6. Make a text file in /home to remind you.

To get out of Full Screen use Alt+F3
Choose More Actions then get rid of the tick next to Fullscreen.
You might want to get rid of Keep below others as well.

I have been using this method to set VLC to play videos as wallpaper for years, but now I see it has a built in Wallpaper Mode.