komposé

Utilities

Source (link to git-repo or to original if based on someone elses unmodified work): Add the source-code for this project on opencode.net

0
Score 50.0%
Description:

Komposé provides a fullscreen view of all your tasks and/or virtual desktops where every window is represented by a scaled screenshot of it's own.

0.5 now features support for the Composite and Damage extensions (disabled by default, enable it in the preferences), however with the current state of graphics drivers XOrg may be awfully slow (or even crash sometimes) when enabling the Composite extension.
So blame me for your bad gfx drivers :)
Last changelog:

14 years ago

0.5.3
- well, 0.5.2 didn't show plain and tiled backgrounds right... here we go
- updated author's email addy

0.5.2
- Nicer layouting (less grid-like)
- ADD: Icons for different views (thanks to Bill Kendrick)
- FIX: no more debug out if compiled normally (qDebug() to kdDebug())
- some code cleanups
- Remove flicker on desktop widget mouseover
- Added the ability to show the currently activated Desktop number on the systray icon (thanks to Debajyoti Bera)
- get rid of KRootPixmap
- Autoactivate when mouse moves on to the screen edge

0.5.1
-Hot corners delay controls whether Kompos�is started and not when it's started :)
-imlib2 error message added to configure script
-Fixed "if a kompose window (prefs, about) is open, you are stuck"
-Added german translation (thanks to Thomas Fischer)

0.5:
-Composite support to take screenshots without raising windows
-Damage support for live-updates of windows
-major refactoring for a cleaner design
-new View Type (current desktop)
-activate when mouse moves in one of the screen's corners
-added popup menu for windows
-added a small screenshot delay for passive screenshots. This should make switching between tasks seem more responsive (redraws occur before taking screenshots) and help on most of the "overlapping windows" problems
-fixed flashing background when activating Kompos�
-Switched to themable KDE cursors
-Window title changes are now updated properly
-Correct handling of windows that are on all desktops
-additionally using hjkl(vi) keys for moving and c/m keys for close/minimize/restore
-Imlib2, Composite and Damage autodetected through configure
-some minor bugs and various smaller performance improvements

rgfernandes

15 years ago

It works well for me here.
Great work. Great application. Great idea.
Go on.

Report

vision

15 years ago

just slow ... my system is p4 2.4
Nvidia video card 128M
but still slow

a very good try!

Report

dschrader

15 years ago

This is an awesome idea, and the project seems like it's off to a great start.

Report

pistis

15 years ago

Hallo, I'm not able to compile it with Mandrake 10 Official:

Good - your configure finished. Start make now

komposefullscreenwidget.cpp: In constructor `KomposeFullscreenWidget::KomposeFullscreenWidget(KomposeLayout*)':
komposefullscreenwidget.cpp:30: error: `WindowMaximized' is not a member of type `Qt'
komposefullscreenwidget.cpp:30: error: `WindowActive' is not a member of type `Qt'
komposefullscreenwidget.cpp:30: error: `setWindowState' undeclared (first use this function)
komposefullscreenwidget.cpp:30: error: (Each undeclared identifier is reported only once for each function it appears in.)
komposefullscreenwidget.cpp: In member function `void KomposeFullscreenWidget::createTaskWidgets()':
komposefullscreenwidget.cpp:76: warning: cannot pass objects of non-POD type `class QString' through `...'; call will abort at runtime
komposefullscreenwidget.cpp:76: warning: format argument is not a pointer (arg 2)
komposefullscreenwidget.cpp: In member function `virtual int KomposeFullscreenWidget::heightForWidth(int) const':
komposefullscreenwidget.cpp:92: warning: return to `int' from `double'
komposefullscreenwidget.cpp:92: warning: argument to `int' from `double'
komposefullscreenwidget.cpp: In member function `virtual int KomposeFullscreenWidget::widthForHeight(int) const':
komposefullscreenwidget.cpp:97: warning: return to `int' from `double'
komposefullscreenwidget.cpp:97: warning: argument to `int' from `double'
make[2]: *** [komposefullscreenwidget.o] Error 1
make[2]: Leaving directory `/home/mauro/src/kompose-0.2.1/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/mauro/src/kompose-0.2.1'
make: *** [all] Error 2


Thank you,
Marco

Report

mschuerig

15 years ago

I think this app is really cool, but unfortunately, it is too slow on my system. With 11 windows on 2 desktops it takes about 5 seconds to display the overview.

I have a P4/2.4 GHz so that should not be a bottleneck, but my graphics adapter is a wimpy ATI Xpert whatever.

"Passive Screenshots" and "Create screenshots whenever possible" are both enabled.

Michael

Report

SynTruth

15 years ago


I've noticed one issue so far, but otherwise it's been a flawless experience. Anyways...

If you have a Window shaded at the time Kompose grabs it's screenshots, it only takes a snap of the background under the window. Also, if you have windows layered (overlapping) you get a copy of the window that is "on top" as well where it overlaps.

I've turned Passive Screenshots on, but it never seems to update the screens. It keeps them exactly the same as they are when it first grabs the images.

Still, I'm still happy to see it working so well for a 0.2 release. :)

Report

sparkitny

15 years ago

Hi,

nice application, it works quite fine and looks good. But sometimes it crashes for some reason.
I also have an idea to improve this application.
I guess you know how expose on Mac works. Kompose might be more usable if it works in the same manner. So my question: Is it possible to request from the Windowmanager (namely KDE) all running applications and then with the help of the DCOP resizing the window of exactly the active screen, such that all running applications are visible. This resizing could be done in a concurrent manner. The only problem I see is that of getting a signal after deciding which application to choose, such that all others are to be resized to its original size.
It's just an idea.

Report

wintermte

15 years ago

I was thinking about this same thing, funny. It doesn't look like KDE has a dcop control that will let you move or resize windows.

There is another tool called wmctl that works at a lower level than KDE (I think) that allows to resize and move windows.

The hardest part I can see is how to interpret a click on the desired window to focus it and return it to its original size and position. Can you overlay a transparent window over the entire desktop so a mouse click doesn't get passed to the app, but to kompose?

Anyway just some thoughts.

Report

Sebien

15 years ago

I can see one solution :
From the QT doc :

void QWidget::grabMouse ()
Grabs the mouse input.
This widget receives all mouse events until releaseMouse() is called; other widgets get no mouse events at all. Keyboard events are not affected. Use grabKeyboard() if you want to grab that.

Can it be work ?
I think it's the macanism that menus uses when they are poped-up : they grab the mouse.
But I don't know if at releaseMouse() the event is sent to other windows...

Indeed, have you took a look at the new XServer (from X.org) that a lot of recent distributions uses ?
I think it have transparencies AND buffer all the windows : it could be interesting to request those buffers, so you haven't to take screenshots each times Komposé is called...
It just can pose problems for those who haven't yet migrated to XServer (as me) but a conditional compilation would be great.

Report

sparkitny

15 years ago

Hi,

I know it's possible to resize windows with dcop. You could try it even on command line. But in fact I don't know whether you can resize all registered windows because some of them may not be registered at dcop.
Maybe this situation is better with your suggestion.
The idea with glass pane is the same I had. I think that would fit.

Report

C

oisch

15 years ago

crashes should be gone with the new release

Report

sourcexx

15 years ago

g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/opt/kde3/include -I/usr/lib/qt3/include -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -Wnon-virtual-dtor -Wno-long-long -Wundef -Wall -W -Wpointer-arith -Wwrite-strings -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -O2 -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common -c -o komposefullscreenwidget.o `test -f 'komposefullscreenwidget.cpp' || echo './'`komposefullscreenwidget.cpp
komposefullscreenwidget.cpp:13:27: Warnung: mehrere Token am Ende der Direktive #include
komposefullscreenwidget.cpp: In constructor `
KomposeFullscreenWidget::KomposeFullscreenWidget(KomposeLayout*)':
komposefullscreenwidget.cpp:22: error: `WindowFullScreen' is not a member of
type `Qt'
komposefullscreenwidget.cpp:22: error: `WindowActive' is not a member of type `
Qt'
komposefullscreenwidget.cpp:22: error: `setWindowState' undeclared (first use
this function)
komposefullscreenwidget.cpp:22: error: (Each undeclared identifier is reported
only once for each function it appears in.)

... using qt323 and kde323

rgds
marc'O

Report

sourcexx

15 years ago

..well... looks like WindowFullScreen is in qt33x but not in qt32x...

qnamespace.h: WindowFullScreen = 0x00000004

... any chance to get is running with qt32x?

rgds
marc'O

Report

noop

15 years ago

Same problem here - Mandrake 10.0 official.

On other computers I have upgraded packages with QT3.3, but this is my customer presentable laptop and I wont to keep it as stable as possible - and for Mandrake that means QT 3.2

It would be great to have Kompose available with that setup

Report

laktose

15 years ago

i love this app, i've been waiting for one of these for a really long time.
I'm impressed to see how quickly you've developed it :)
My only suggestion is to have some sort of label for desktops or maybe a pixmap in the corner of the desktops of the background of that specific desktop.. I dunno, other than that its great, and so much faster now that it actively acquires information.
Thanks :)

Report

Bam0112

15 years ago

Compiled fine & works great on SuSE 9.0 w/ KDE 3.2.1. Nice app. I'm looking forward to installing future versions of this. Thanks for all the hard work.

Report

ltmon

15 years ago

Really good utiltity. Thanks.

An improvement for me would to have keyboard support when the kompose view is shown ... i.e. arrow keys to move the focus to different windows/desktops.

Cheers,
Luke.

Report

SynTruth

15 years ago


This app continues to amaze me. Seriously, very good job and thank you very much. On my system (2Ghz + 1GB RAM) this is very fast and very usable already. I forsee this only improving and becoming a part of the standard KDE distro.

Report

wintermte

15 years ago

This works great now as a tray app.

What's next?

The transition could be smoother and a litter faster.

Some kind of border around each of the desktops being shown would be a nice touch.

Report

Linuxglider

15 years ago

configure fine here but make says at the end:

libtool: link: cannot find the library `/usr/X11R6/lib/libGL.la'
make[2]: *** [kompose] Fehler 1
make[2]: Leaving directory `/home/olaf/Documents/downloads/kompose/src'
make[1]: *** [all-recursive] Fehler 1
make[1]: Leaving directory `/home/olaf/Documents/downloads/kompose'
make: *** [all] Fehler 2

by the way v 0.1 is running fine here

Report

C

oisch

15 years ago

just remove all occurences of -lGLU and -lGL in the automake files.
find those with grep -r lGL *

Report

alexcg

15 years ago

Configured OK, but getting this error when I try to make. Any ideas as to what the problem could be?

kompose.cpp: In constructor `Kompose::Kompose()':
kompose.cpp:36: error: `WindowFullScreen' is not a member of type `Qt'
kompose.cpp:36: error: `WindowActive' is not a member of type `Qt'
kompose.cpp:36: error: `setWindowState' undeclared (first use this function)
kompose.cpp:36: error: (Each undeclared identifier is reported only once for
each function it appears in.)
make[2]: *** [kompose.o] Error 1

Thanks
Alex C-G

Report

SinOps

15 years ago

Would it be possible to get this working as a kicker app? That would allow you to monitor updates to the programs running on the desktop. If you look at kickerpanel it monitors all running programs and puts a capture of the window onto a pixmap of the background. Also is it possible to do this for the current desktop instead of showing me all the desktops I might have?

Report

codarin

15 years ago

Hi,
which is the key-sequence assigned by default to activate kompose'?
Could I change it? If so, how?

Thanx

Report

SinOps

15 years ago

If you look under Utilities in the KDE menu you will find kompose there. Go into the menu editor and navigate to kompose in Utilities. Then assign your own key sequence there.

Report

14 years ago

0.5.3
- well, 0.5.2 didn't show plain and tiled backgrounds right... here we go
- updated author's email addy

0.5.2
- Nicer layouting (less grid-like)
- ADD: Icons for different views (thanks to Bill Kendrick)
- FIX: no more debug out if compiled normally (qDebug() to kdDebug())
- some code cleanups
- Remove flicker on desktop widget mouseover
- Added the ability to show the currently activated Desktop number on the systray icon (thanks to Debajyoti Bera)
- get rid of KRootPixmap
- Autoactivate when mouse moves on to the screen edge

0.5.1
-Hot corners delay controls whether Kompos�is started and not when it's started :)
-imlib2 error message added to configure script
-Fixed "if a kompose window (prefs, about) is open, you are stuck"
-Added german translation (thanks to Thomas Fischer)

0.5:
-Composite support to take screenshots without raising windows
-Damage support for live-updates of windows
-major refactoring for a cleaner design
-new View Type (current desktop)
-activate when mouse moves in one of the screen's corners
-added popup menu for windows
-added a small screenshot delay for passive screenshots. This should make switching between tasks seem more responsive (redraws occur before taking screenshots) and help on most of the "overlapping windows" problems
-fixed flashing background when activating Kompos�
-Switched to themable KDE cursors
-Window title changes are now updated properly
-Correct handling of windows that are on all desktops
-additionally using hjkl(vi) keys for moving and c/m keys for close/minimize/restore
-Imlib2, Composite and Damage autodetected through configure
-some minor bugs and various smaller performance improvements

12345678910
product-maker Base: 4 x 5.0 Ratings
File (click to download) Version Description PackagetypeArchitectureRelease Channel Downloads Date Filesize DL OCS-Install MD5SUM
*Needs pling-store or ocs-url to install things
Pling
0 Affiliates
Details
license
version
0.5.3
updated Jul 22 2005
added Jul 14 2004
downloads 24h
0
mediaviews 24h 0
pageviews 24h 0
System Tags app software