
I'm investigating how to make per-workspace backgrounds. On xmonad side solution is pretty simple using logHook (thanks #xmonad-ers for hints!) The other problem is the speed. Currently I use "qiv -z" to update the background (big jpeg photo) and it takes about 0.7-0.8s. Preliminary converting it to the size of display (1280x1024) gives 0.3-0.4s. It's still barely acceptable. So, how can I do better? Does X renders jpeg itself, or qiv converts jpeg to some other format? Then preliminary converting would also save the time. Any suggestions are welcome. -- Roman I. Cheplyaka (aka Feuerbach @ IRC)

On Apr 1, 2008, at 20:01 , Roman Cheplyaka wrote:
So, how can I do better? Does X renders jpeg itself, or qiv converts jpeg to some other format? Then preliminary converting would also save the time.
X11 doesn't speak any file-based format. There are some formats which are close to the wire protocol: xbm for fonts, cursors, and depth-1 windows, and xpm for other bit depths. But when it comes down to it, the program has to read whatever format you give it and populate a Pixmap, then blit that to the window. -- brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allbery@kf8nh.com system administrator [openafs,heimdal,too many hats] allbery@ece.cmu.edu electrical and computer engineering, carnegie mellon university KF8NH

* Brandon S. Allbery KF8NH
On Apr 1, 2008, at 20:01 , Roman Cheplyaka wrote:
So, how can I do better? Does X renders jpeg itself, or qiv converts jpeg to some other format? Then preliminary converting would also save the time.
X11 doesn't speak any file-based format. There are some formats which are close to the wire protocol: xbm for fonts, cursors, and depth-1 windows, and xpm for other bit depths. But when it comes down to it, the program has to read whatever format you give it and populate a Pixmap, then blit that to the window.
Pretty close to what I expected. So, are there programs capable of converting jpegs to pixmaps and saving to file? qiv doesn't seem to have such option. -- Roman I. Cheplyaka :: http://ro-che.info/ ...being in love is totally punk rock...

On Apr 2, 2008, at 0:12 , Roman Cheplyaka wrote:
* Brandon S. Allbery KF8NH
[2008-04-01 20:04:38-0400] X11 doesn't speak any file-based format. There are some formats which are close to the wire protocol: xbm for fonts, cursors, and depth-1 windows, and xpm for other bit depths. But when it comes down to it, the program has to read whatever format you give it and populate a Pixmap, then blit that to the window.
Pretty close to what I expected. So, are there programs capable of converting jpegs to pixmaps and saving to file? qiv doesn't seem to have such option.
ImageMagick's convert, jpeg2pnm | ppmtoxpm, djpeg | ppmtoxpm for three off the top of my head. -- brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allbery@kf8nh.com system administrator [openafs,heimdal,too many hats] allbery@ece.cmu.edu electrical and computer engineering, carnegie mellon university KF8NH

Hi, Am Mittwoch, den 02.04.2008, 03:01 +0300 schrieb Roman Cheplyaka:
I'm investigating how to make per-workspace backgrounds. On xmonad side solution is pretty simple using logHook (thanks #xmonad-ers for hints!)
The other problem is the speed. Currently I use "qiv -z" to update the background (big jpeg photo) and it takes about 0.7-0.8s. Preliminary converting it to the size of display (1280x1024) gives 0.3-0.4s. It's still barely acceptable.
So, how can I do better? Does X renders jpeg itself, or qiv converts jpeg to some other format? Then preliminary converting would also save the time.
Any suggestions are welcome.
To make it really fast enough you’d need a long-running program (similar to xmobar I guess) that creates a pixmap on the X server for all backgrounds and just switches them without re-loading them. This program then needs to be controlled from the logHook (again similar to xmobar). Re-Loading a file from disk to the X server on every desktop change will be too slow even for bpm files, i think. (But that’s just guessing). Greetings, Joachim -- Joachim "nomeata" Breitner mail: mail@joachim-breitner.de | ICQ# 74513189 | GPG-Key: 4743206C JID: nomeata@joachim-breitner.de | http://www.joachim-breitner.de/ Debian Developer: nomeata@debian.org

On Wed, Apr 02, 2008 at 03:01:27AM +0300, Roman Cheplyaka wrote:
I'm investigating how to make per-workspace backgrounds. On xmonad side solution is pretty simple using logHook (thanks #xmonad-ers for hints!)
The other problem is the speed. Currently I use "qiv -z" to update the background (big jpeg photo) and it takes about 0.7-0.8s. Preliminary converting it to the size of display (1280x1024) gives 0.3-0.4s. It's still barely acceptable.
So, how can I do better? Does X renders jpeg itself, or qiv converts jpeg to some other format? Then preliminary converting would also save the time.
Any suggestions are welcome.
-- Roman I. Cheplyaka (aka Feuerbach @ IRC)
Crazy idea: gnome-desktop and kdesktop support separate backgrounds for each desktop, maybe you could just use one of those plus EwmhDesktops? Cheers, Spencer Janssen

Hi, Am Mittwoch, den 02.04.2008, 02:53 -0500 schrieb Spencer Janssen:
Crazy idea: gnome-desktop and kdesktop support separate backgrounds for each desktop, maybe you could just use one of those plus EwmhDesktops?
Another crazy idea: Running nautilus to show the desktop icons. Works just fine, it seems, I guess this section can be removed, or marked optional: http://haskell.org/haskellwiki/Xmonad/Using_xmonad_in_Gnome#Disable_the_Naut... BTW, are you sure regular Gnome supports different backgrounds on different workspaces? Greetings, Joachim -- Joachim Breitner e-Mail: mail@joachim-breitner.de Homepage: http://www.joachim-breitner.de ICQ#: 74513189 Jabber-ID: nomeata@joachim-breitner.de

On Wed, Apr 02, 2008 at 01:43:07PM +0200, Joachim Breitner wrote:
Hi,
Am Mittwoch, den 02.04.2008, 02:53 -0500 schrieb Spencer Janssen:
Crazy idea: gnome-desktop and kdesktop support separate backgrounds for each desktop, maybe you could just use one of those plus EwmhDesktops?
Another crazy idea: Running nautilus to show the desktop icons. Works just fine, it seems, I guess this section can be removed, or marked optional: http://haskell.org/haskellwiki/Xmonad/Using_xmonad_in_Gnome#Disable_the_Naut...
BTW, are you sure regular Gnome supports different backgrounds on different workspaces?
Greetings, Joachim -- Joachim Breitner e-Mail: mail@joachim-breitner.de Homepage: http://www.joachim-breitner.de ICQ#: 74513189 Jabber-ID: nomeata@joachim-breitner.de
Maybe gnome doesn't, but I know KDE does.

Another crazy idea: Running nautilus to show the desktop icons. Works just fine, it seems, I guess this section can be removed, or marked optional: http://haskell.org/haskellwiki/Xmonad/Using_xmonad_in_Gnome#Disable_the_Naut...
I think the section already implies that it is optional? Anyway, I'd prefer the latter if you take any action on the wiki. I use Nautilus for the file-management, not the desktoppy environment, and it's infuriating every time I've forgotten to configure it appropriately and it tries ungracefully to commandeer my desktop.
participants (5)
-
Brandon S. Allbery KF8NH
-
Joachim Breitner
-
Michael F. Lamb
-
Roman Cheplyaka
-
Spencer Janssen