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

he-sk

15 years ago

I'm having compiler problems:
komposefullscreenwidget.cpp: In constructor `
KomposeFullscreenWidget::KomposeFullscreenWidget(int, KomposeLayout*)':
komposefullscreenwidget.cpp:35: error: `WindowMaximized' is not a member of
type `Qt'
komposefullscreenwidget.cpp:35: error: `WindowActive' is not a member of type `
Qt'
komposefullscreenwidget.cpp:35: error: `setWindowState' undeclared (first use
this function)
komposefullscreenwidget.cpp:35: error: (Each undeclared identifier is reported

Report

wwwonka

15 years ago

I'm not a huge fan of the ugly panel "system tray" in KDE so I run ksmoothdock as my "icon launcher". Currently I use 3ddesk as my desktop switcher but would prefer to use kompose.

3ddesk works off an app I can assign an icon to launch whereas kompose is a systray app. Anyway to use the 3ddesk method so I can add kompose as an app to the ksmoothdock panel?

Report

Lookanio

15 years ago

I completely agree with you. IMHO systray is not the best place for kompose “execute-icon

Report

C

oisch

15 years ago

I haven't yet decided about the best way to implement your suggestions.
You're right. Kompos

Report

Lookanio

15 years ago

Hmm... It's more complicated than I thought :-( But your idea about dcop is great. We would have command-line control over Kompose and you would not have to hard work pointlessly (if Xorg does what is going to do – as you mentioned). So you have my blessing ;-)

Report

webk

15 years ago

Any one as done a Debian packages for this apps ?

Thanks in advance

Report

DexterMagnific

15 years ago

i tried to compile it under mdk 10 with --prefix=/usr, but it always fails to compile on the same error. which version is required ? i have qt 3.2.3

Report

Lookanio

15 years ago

You can use suse rpm. Just unpack it (eg using mc) and copy files to /usr/ (preserving directory structure) instead of /opt/kde3.

Report

C

oisch

15 years ago

I use qt 3.3, but 3.2 should also work. I don't think that the problem is your qt version. Maybe the qt libs cannot be found. be sure that configure reports everything ok

Report

shagui

15 years ago

I have the same problem in MDK 10. Configure shows that all is OK.

Report

DexterMagnific

15 years ago

Configure shows all is ok. It's not the first time i compile a kde app. i compiled many kde apps before with --prefix=/usr and that worked fine.

the compiler says that the symbol is not a member of the Qt namespace. perhaps it is a new symbol of a recent qt version, which is not in my qt version

sorry for my English

Report

Yaba

15 years ago

I also use QT 3.2.3 on RedHat (compiled on my own). No problems.

Maybe it's a problem with the QT binaries on Mandrake.

Report

nightwriter

15 years ago

In order to get it to compile and work on MDK 10 use this pattern.

./configure --prefix=/usr
make
make install

You need the --prefix=/usr on most apps built for KDE when building on MDK in order for the proper QT and KDE libs to be found.

Report

TheIconoclast

15 years ago

The following is what I get when I try to compile on Debian Testing/Unstable The config script told me I was good to go.... The only option I used was --without-arts Not sure what happened, any help would be great.

g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include/kde -I/usr/share/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: In constructor `
KomposeFullscreenWidget::KomposeFullscreenWidget(int, KomposeLayout*)':
komposefullscreenwidget.cpp:35: error: `WindowMaximized' is not a member of
type `Qt'
komposefullscreenwidget.cpp:35: error: `WindowActive' is not a member of type `
Qt'
komposefullscreenwidget.cpp:35: error: `setWindowState' undeclared (first use
this function)
komposefullscreenwidget.cpp:35: error: (Each undeclared identifier is reported
only once for each function it appears in.)
komposefullscreenwidget.cpp: In member function `void
KomposeFullscreenWidget::createDesktopWidgets()':
komposefullscreenwidget.cpp:99: warning: unused variable `int row'
komposefullscreenwidget.cpp:100: warning: unused variable `int col'
komposefullscreenwidget.cpp: In member function `virtual void
KomposeFullscreenWidget::mouseReleaseEvent(QMouseEvent*)':
komposefullscreenwidget.cpp:108: warning: unused parameter `QMouseEvent*e'
komposefullscreenwidget.cpp: In member function `virtual int
KomposeFullscreenWidget::getHeightForWidth(int) const':
komposefullscreenwidget.cpp:132: warning: converting to `int' from `double'
komposefullscreenwidget.cpp: In member function `virtual int
KomposeFullscreenWidget::getWidthForHeight(int) const':
komposefullscreenwidget.cpp:137: warning: converting to `int' from `double'
make[2]: *** [komposefullscreenwidget.o] Error 1
make[2]: Leaving directory `/home/goose/Downloads/kompose-0.3/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/goose/Downloads/kompose-0.3'
make: *** [all] Error 2

Report

TheIconoclast

15 years ago

Figured out what to do:

apt-get dist-upgrade -t experimental

Spend 20minutes trying to get kicker to install....

Convert kicker-3.92.1-1 to a tgz

untar it over your /

Modify /var/lib/dpkg/status to assume kicker is installed correctly

Compile kompose

:-)

Report

bigmase

15 years ago

I can't get it to compile in Mandrake 10 Official. ./configure finished fine giving the message "Good your configure finished. Start make now"


Upon running "make" I get the following errors:

komposefullscreenwidget.cpp:35: error: `WindowMaximized' is not a member of type `Qt'
komposefullscreenwidget.cpp:35: error: `WindowActive' is not a member of type `Qt'
komposefullscreenwidget.cpp:35: error: `setWindowState' undeclared (first use this function)
komposefullscreenwidget.cpp:35: error: (Each undeclared identifier is reported only once for each function it appears in.)
komposefullscreenwidget.cpp: In member function `void KomposeFullscreenWidget::createDesktopWidgets()':
komposefullscreenwidget.cpp:99: warning: unused variable `int row'
komposefullscreenwidget.cpp:100: warning: unused variable `int col'
komposefullscreenwidget.cpp: In member function `virtual void KomposeFullscreenWidget::mouseReleaseEvent(QMouseEvent*)':
komposefullscreenwidget.cpp:108: warning: unused parameter `QMouseEvent*e'
komposefullscreenwidget.cpp: In member function `virtual int KomposeFullscreenWidget::getHeightForWidth(int) const':
komposefullscreenwidget.cpp:132: warning: return to `int' from `double'
komposefullscreenwidget.cpp:132: warning: argument to `int' from `double'
komposefullscreenwidget.cpp: In member function `virtual int KomposeFullscreenWidget::getWidthForHeight(int) const':
komposefullscreenwidget.cpp:137: warning: return to `int' from `double'
komposefullscreenwidget.cpp:137: warning: argument to `int' from `double'
make[2]: *** [komposefullscreenwidget.o] Error 1
make[2]: Leaving directory `/home/me/download/kompose-0.3/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/me/download/kompose-0.3'
make: *** [all] Error 2



Any ideas? I've been looking for an Expose-like app for some time and I'd love to test this out!

Report

mschuerig

15 years ago

The speed improvement with version 0.3 is really great. Thanks!

And a suggestion. It would be nice, if kompos

Report

C

oisch

15 years ago

Some basic key navigation is already included. Use the tab key to select the task and press enter/space to activate it.
Better support and configurable keys for every action should com in the next version.

Report

probono

15 years ago

The idea is excellent, I have long been witing for something like this. However, when I try to compile on Mdk 10:

komposefullscreenwidget.cpp: In constructor `KomposeFullscreenWidget::KomposeFullscreenWidget(int, KomposeLayout*)':
komposefullscreenwidget.cpp:35: error: `WindowMaximized' is not a member of type `Qt'
komposefullscreenwidget.cpp:35: error: `WindowActive' is not a member of type `Qt'
komposefullscreenwidget.cpp:35: error: `setWindowState' undeclared (first use this function)
komposefullscreenwidget.cpp:35: error: (Each undeclared identifier is reported only once for each function it appears in.)
komposefullscreenwidget.cpp: In member function `void KomposeFullscreenWidget::createDesktopWidgets()':
komposefullscreenwidget.cpp:99: warning: unused variable `int row'
komposefullscreenwidget.cpp:100: warning: unused variable `int col'
komposefullscreenwidget.cpp: In member function `virtual void KomposeFullscreenWidget::mouseReleaseEvent(QMouseEvent*)':
komposefullscreenwidget.cpp:108: warning: unused parameter `QMouseEvent*e'
komposefullscreenwidget.cpp: In member function `virtual int KomposeFullscreenWidget::getHeightForWidth(int) const':
komposefullscreenwidget.cpp:132: warning: return to `int' from `double'
komposefullscreenwidget.cpp:132: warning: argument to `int' from `double'
komposefullscreenwidget.cpp: In member function `virtual int KomposeFullscreenWidget::getWidthForHeight(int) const':
komposefullscreenwidget.cpp:137: warning: return to `int' from `double'
komposefullscreenwidget.cpp:137: warning: argument to `int' from `double'
make[2]: *** [komposefullscreenwidget.o] Error 1

Report

Egarwaen

15 years ago

Instead of taking screenshots, wouldn't a better approach be to exploit the X drawing library? Surely you could create appropriately-scaled windows (or even virtual windows which you then scale after they're drawn in) for the application to draw in and then display them at the appropriate places? You could even do exactly what Expose does - save the desktop and position of all windows, then reposition them and scale them as necessary.

It's a nifty idea, but using screenshots negates one of the main bonuses of Expose - that the Expose windows shown are drawn into and updated just like any other.

Report

jhorey

15 years ago

I may be wrong, but it seems what you are proposing would really necessitate the use of the Damage and Composite extensions. For instance, the Damage extension would tell the Composite Manager which parts of the windows needed to be redrawn, while the Composite Manager would use something like XRender to actually scale the windows down. These extensions will be available soon (possibly the next Xorg release), but we may need to wait a while for a good Composite Manager to be written with nice integration with KWin.

Report

C

oisch

15 years ago

the new XServer extensions are a better way to take screenshots and I'll include them once they're available in xorg.
But I think he is talking about not using screenshots but the XServer to show the windows, nevetheless I don't really understand what is meant by that. The XServer cannot show scaled windows that are operable like normal windows.
Maybe you could make your point clearer.

Report

psykotux

15 years ago

Hi,

You can watch to "uncover" apps from xapps. It works like kompose. Light, Powerfull, Real time, work perfectly on 700Mhz ;-) But it only works with DAMAGE/COMPOSITE/XFIXES ;-(. You can use it with Xserver. Now "uncover" works to see in thnumbmail all apps and the apps together. Don't scale the thunbmail and mask the apps and you have or Kompos

Report

tightcode

15 years ago

In your blog I see that rpm's are now generally available for everyone. Is there any chance for an ebuild for Gentoo ? And possibly getting this into portage ?
Thanks for the hard work, I look forward to trying this. Skippy works a bit spotty and slow for me, and now that I am using Xorg, if you used EliasP's suggestion of handling live screen updates like SkippyXD, it could even make your app better.
Vielen Dank, Merci Beaucoup, etc...

TightCode

Report

C

oisch

15 years ago

A Gentoo ebuild is available at http://bugs.gentoo.org/show_bug.cgi?id=57107

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