ecomorph - OpenGL compositing managerecomorph consists of a compositing manager based on compiz(renamed to ecomp) and a (modified version of e17 - gone) module for e17 that works together with ecomp. note that this currently somewhere between a hack and planning/pre-alpha state. it's pretty stable for me, more stable than xcompmgr. disclaimer: it might reorder your window stacking, burn your house down, kill your cat or do anything in between.. so, you've been warned :) search youtube on ecomorph for some video footage. there is also a nice debian based live cd with which you can try and even install ecomorph: http://www.elivecd.org/Download/e17-compiz . OpenGEU, a ubuntu based distribution, provides packages for ecomorph too. For openSUSE packages, see: http://en.opensuse.org/Ecomorph. For Debian packages should be in these repos:http://packages.enlightenment.org/ Does Multihead work? yes somehow.. For this and other issues read the Ecomorph FAQ
Get itcheckout with: git clone git://github.com/jeffdameth/ecomp.git
git clone git://github.com/jeffdameth/ecomorph.git update: git fetch && git merge origin/master (do 'git-reset --hard' in the case that merge does not work) Install ecomorph module: cd ecomorph
./autogen.sh && make && sudo make install or when efl was installed by easy_e17.sh: PKG_CONFIG_PATH=/opt/e17/lib/pkgconfig ./autogen.sh
PATH=/opt/e17/bin/:$PATH LD_LIBRARY_PATH=/opt/e17/lib:/opt/e17/lib/eina:/opt/e17/lib/evas make
sudo make install Install ecomp - the patched compiz cd ecomp
./autogen.sh && make && sudo make install ecomp stores its config in ~/.ecomp. remove the dir and restart ecomorph.sh to get the defaults back. packages needed to build this stuff with debian/ubuntu- git-core automake intltool libtool xorg-dev libjpeg62-dev libpng12-dev librsvg2-dev libgl1-mesa-dev libglu1-mesa-dev libxml2-dev libxslt1 libxslt1-dev libdbus-1-dev - xorg-driver-fglrx-dev or nvidia-glx-(new)-dev, when using proprietary drivers Run ite.git installs a session file named 'e17 ecomorph' that you can select in gdm, etc on login. Load the 'ecomorph' module in e and restart e. For testing you can start it manually with: 'enlightenment_start -evil' (without 'evil' it should be plain e without hints for the composite manager) 'ecomorph.sh' this works at least for ubuntu, otherwise run 'ecomorph ini' recent updates: - Thu Mar 12 22:39:13 CET 2009:
- Lots of stuff has changed. ecsm and stuff is finally deprecated. I do not update this list anymore. read the commit logs on http://github.com/jeffdameth to see when what happend ;)
- Fri Feb 6 20:15:06 CET 2009:
- better configuration backend: i.e. the ini and inotify plugin were added again. in ecomorph.sh replace 'ccp' with 'ini' to use it. configuration is done via config files in ~/.ecomp, see my example config in the download section. inotify is used to update the config automatically when the files were changed. So no need to build libcompizconfig and ecsm anymore
- Thu Jan 8 17:35:57 CET 2009:
- updated e from svn
- fixed gadman module initialisation
- Fri Jan 2 20:08:29 CET 2009:
- added option for wall plugin to not move desktop and override redirect windows
- Wed Dec 31 00:24:40 CET 2008:
- lots of fixes, check the git log..
- wobbly windows now work without an explicit trigger. i.e. just enable 'move' and 'wobbly'.
- Fri Dec 19 19:32:19 CET 2008:
- lock drawing while enlightenment restarts - a lot less disturbing now :)
- fixed scale normal-mode: only windows from the current desk are shown
- some more fixes
- Wed Dec 17 20:37:22 CET 2008:
- updated e from svn
- fixed a segv in e
- fixed initial window damage (OpenOffice splash)
- set window type of firefox and open office menus to DropdownMenu
- Sat Dec 13 20:31:53 CET 2008:
- back to git!
- one can restart e from any desk without messing up the window placement
- some more fixes and cleanups
- finally renamed all compiz stuff to ecomp
- recompile libecompconfig once again
- Thu Dec 11 02:20:37 CET 2008:
- animation plugin minimize stuff works. zoom to bar works with itask-ng again (=
- exebuf, winlist, pager popup have the window type Utility.. if you want to have different anims for these
- better sync between e's desks and ecomp's viewports
- delay animation until client is fully 'damaged' i.e. no more garbled firefox windows
- fix cube rotation segv
- you'll probably have to recompile libecompconfig after compiz
- Sun Dec 7 22:58:58 CET 2008:
- mouse bindings can be configured in e (you'll need to run e and ecomorph in a dbus session for this. ubuntu 8.10 sets this up correctly by default. gentoo people: check your forums :) ... nah it should also work with "dbus-launch enlightenment_start.sh")
- expo moves maximized windows correctly
- fix e17 start-script install problem
- Fri Dec 5 19:47:50 CET 2008:
- e17 now installs a session script to start enlightenement with ecomorph (edit /usr/local/bin/enlightenment_start.sh to your preferences)
- expo prev/next keybindings are finally working... one of the most important changes to me :)
- scale left/right now cycles through the window (i.e. switches to next row at the end) next/prev is also bound to 'a','s' i would recommend to bind initiate(-all) to alt-shift-a/s
- the video plugin now works (somehow) with a patched mplayer
- Tue Dec 2 01:03:43 CET 2008:
- new version, some fixes. switched to making snapshots. see the download section. compilation still should be done as written below.
- So 13. Apr 22:59:42 CEST 2008:
- .git, compiz.git, fixed a bug with sticky/maximized windows, updated to current e - you might have to make a clean checkout of the above and rebuild libecompconfig
PLEASE USE THE ISSUE TRACKER FOR REPORTING PROBLEMS(if you post here I wont be notified by an email, and so it could take some months until I look on this page and see your comments.. anyway if you got it working(or not) and it's not a bug just post it below, but dont expect me to see it ;) )
|
good video of elive-compiz http://wuapi.com/video/elive-ecomorph-compizfusion?page=1&viewtype=&category=mr
hannes, what type of changes do you have in your modified version of E, and why are they not in E svn? Do you happen to have a diff file with all the changed between your repository and the main svn one?
I'm looking at the diff, and there's some files which you might want to fetch from svn, since they only produce noise:
e_manager.c - only indentation changes e_zone.c - one lone printf e_gadcon.c - one whitespace change
btw, what differences do the changes in e_gadcon_popup.c introduce? they don't seem related to ecomorph, so you might want to think about pushing them to svn. same for e_bindings.c
in e_border.c, you've removed the return value of e_border_shutdown, perhaps by mistake. And why did you move e_border_raise_stack_get to the begining of the file, but comment out the same function later on?
also, you might want to sed through the files and change the 'evil' variable to something else, so as not to clash with the bridge library for windows.
vkojouharov, hi. thanks for looking through it :) concerning e_border: really good questions. i dont know how this went in or what drove me to it back then. e had the evil option before the library of evil existed. i think there are no chances to confuse someone as e wont run on windows. someday when this might be not a collection of evil hacks anymore i'll reconsider the naming :)
maybe i should state on this site that this e is also a playground for me to try things out. the changes in e_gadcon_popup should cause the popup to be placed at the position where it will be when the shelf is completely visible, so that the gcc cannot be hidden below the popup (e.g. the battery popup shows up for a hidden shelf, then one cant click the gcc to make it disappear) i didnt test if it works with more than one zone yet. but i'll commit it to svn later. e_bindings is a workaround: if one makes a mousebinding with 'any' context it is triggered twice when clicking on the desktop, one time for zone an one time for container.
Just recompiled all this stuff for the first time since you started updating in december, and MAN is it a lot smoother. ini plugin format seems to make a big difference in plugin speed.
One thing I can't get to work: skydome. I have cube rotation working just great but no matter what I do it won't seem to set my skydome image. Has anyone else gotten a skydome image working at all? If so, do you have any special tricks you did?
Just a suggestion,- you can simplify the calls to nvidia-settings in ecomorph.sh. Most nvidia-settings calls can be appended with the -t (--terse) argument which gives only the value you want. Example: ~> nvidia-settings -t -q VideoRam? 524288
Can you let us know where is the eet config stored at present? I can't seem to locate it on my hard drive. I logged out and on next login it was back to defaults. I tried looking in ~/.e/e/config/<profile>/e.cfg but came up with nothing (FYI, I used eet -d e.cfg config e.config). Thanks, for the new config dialog :D
I should qualify what I said above: I am able to find the ecomp.eet file in /usr. It contains some default settings. However, I am unable to find a corresponding file in my home directory; in particular I am not able to determine if my custom settings made in the ecomorph settings panel are being saved. Even if they are getting saved anywhere, they are not being read the next time I log in.
I installed a .deb package which I found on the internet
here: http://www.esdebian.org/foro/26204/ecomorph-fluxbox
and I'm using Fluxbox, what I want to do is run Ecomorph with Fluxbox, and when I use ecomorph ini, or ecomorph --replace says:
ecomorph (core) - Error: Another window manager is already running on screen: 0 ecomorph (core) - Fatal: No manageable screens found on display :0.0
any help?
cool i havent heard of the project to make ecomorph run with fluxbox. unfortunately i dont speak spanish so i dont know what written there or what the state of ecomorph-fluxbox is. all i can say is that i'm currently cleaning up the interface between ecomp and wm so it might be easier in future to support other window managers
ah and btw why dont use e17 instead of fluxbox? (=
Thanks a lot for answering...
Well, you misunderstood me... my mistake. There it says that who posted those link thinks/have heard that it should work with Fluxbox... but as I read you, there's no support yet.
The fluxbox/openbox community will be amazed if you reach the goal!!!! And there are lots of users.
Honestly I didn't know e17 until now, and what I saw, I didn't like it, in addition, I'm testing fluxbox and I decided to keep it as my standard window manager, because its simply great, but the only thing is that I'd love to have the compiz effects, and here you are... trying to bring them to us.
So really really thanks, and I'll be following your progress :) !!!!
(OH, really sorry because of my impatience)
but... do you have any estimated time to release (that) newer version??
Thanks a lot ;) Cheers from Uruguay !!
sorry to have to deceive you. ecomorph is in the first place intended to become a compositing manager for e17.there are quite a lot of modification needed in e17 to make it work with ecomp. (the combination of both is what i've named ecomorph) i am currently reworking it so that it can use hooks provided by e17 to make all the communication code between wm and cm a module (which is loaded into e17). atm i provide a modified version of e on github. i think fluxbox does not provide the needed hooks so a lot of modification will be needed in fluxbox to make it work with ecomp. it will probably take a year or so until i finish the protocol between cm and wm to write it down so that other wm developers could write an implementation to use ecomp with their wm. or they could just dig through the code now. in any case it will be quite a lot of work to add support to another wm.. and i wont do that as long as e17 is my wm :)
Oh, its a pity ! Anyways, keep working! ;)
I'm wondering if there is a way to turn the previous ~/.ecomp/options/.conf files into a ~/.ecomp/ecomp.eet file. I have all my settings just so in my old conf files and the graphical interface always thinks ecomorph isn't loaded (or isn't loaded with dbus, even though it is). Is this even possible?
yup. e and ecomp had to run in the same dbus session. i'm currently reworking the config dialog to use the eet file directly. so then there will be no more trouble with dbus :) i tought about renaming ini plugin too 'eet' then one could run ini and eet the same time to convert config
So the only way to configure ecomp is via the GUI now? There are more options supported with raw config files from what I understad, is there any way to have it use the regular conf files, or to convert the conf files into ecomp.eet?
'eet -l ~/.ecomp/ecomp.eet' gives you the list of config groups. 'eet -d file group outfile' converts to textfile. 'eet -e file group infile 0' encode the textfile back into eet ;)
So I can take the regular ~/.ecomp/options/.conf files and convert them all directly like that? Sounds like exactly what I want, I'll have to try it. Thanks.
oh no, I see. So I have to convert the previous conf files into a format that eet understands, ok. pokes at it some more
After reading up on eet and the file structure, I'm still kind of confused as to what the meaning of the entries are. Looking at expo-allscreens for example I see the structure for what used to be "ground_color2=#00000000" in my .conf file, but in eet it looks like:
Clearly the string part is what I need to modify, but if I want to create an entirely new config option, I'm unsure of where to put the actual value. I think I can just use int for boolean values, but I'm confused as to the type option. Looking at the files I think type 1 means use the int value, type 2 means use the double value, and type 4 means use the string value. Is type 0 off/disabled? And what about type 3? I understand if you don't want to spend the time explaining how the eet files work, just trying to get my config back like it was.
hello, type is not for eets internal use. infact it is unused programatically by the config atm. type is only set by ini module when it saves options. it is just set to CompOptionType?. boolean is saved as int in the eet file 1 == on. though it might be easier reading ecomp/metadata/.xml.in for valid options and types
CompOptionType?:
} CompOptionType?;Oh ok, so it's easier than I was making it. I need to do some trial and error but I think that's exactly what I needed. Thanks again for all your help.
Hi..
I try to install it, (ecomorph-e17) but int the configure process, he say:
No package 'ecore-input' found
But in the ecore, I not found this lib (recompiled) but nothing.....where can I found that lib?
Thx: liso
@lisovszki You need to update e lib. I had the same problem ;-)
Is everyone getting the animations to work? Open/Close animations just don't seem to work on mine. This has been the case for several weeks now. ecomorph is running since the wall plugin works.
Has been a long time since I did an update, but unfortunately things worsened for me :-) (which seems to prove the attitude "never change a running system").
Actually everything runs fine, but I don't have the slightest idea where to change the keybindings for expo and the screen corners for scale. Tried to fiddle aroun with the xml-files in /usr/share/ecomp, but no effect. Trie the eet thing as well, but no idea what to change.
Any hint? BTW, setting keyboard shortcuts in the E settings menu doesn't have any effect, though ecomorph is being launched by "dbus-launch ecomorph ini" from within an xterm in E.
Thx in advance,
all bindings are now to be configured with the standard e dialogs. open/close animation needs the animation plugin to be loaded. works for me (tm) :)
no need to do stuff in eet. most things are in 'ecomorph' configure module in settings now. oh forgot to mention on this site that ecomorph module must be loaded
no more need for dbus at all btw
I tried with clean configs (removed ~/.e) every time. It never worked. Today, I tried launching it like this (providing all modules on command line)
And it worked. But, I am unable to change the animations themselves. Changing settings via the eco module dialog has no effect on any module. It is clear that the data is being written to ~/.ecomp/ecomp.eet (the timestamp is updated).
hi hannes,
setting the keybindings does work, I was too dumb :-/ But still, I don't have any idea where I could set the screen corners/edges?
Thx,
theres a new conf module for screen edges in vanilla e. you might need to load that module
@ppurka, is the inotify plugin loaded? it is needed by ecomp to get informed when the config file changed. if not then it should at least load the new config when restarting ecomp
awesome, works :-)
Thanks again,
@hannes. Actually no. It doesn't seem to read the ~/.ecomp/ecomp.eet file. For example, right now I did "Stop ecomorph" and "Start ecomorph" from within the config dialog. As you can see in this screenshot, the modules loaded and the modules I have enabled are completely different. http://omploader.org/vMWZxYw
In fact, in the screenshot you can see that ecomorph was started by the config dialog without the animation plugin mentioned (it seems ecomorph.sh has those as the default). So, animations do not work and checking "animation" in the config and clicking "Apply" has no effect. The general problem is that the ecomp.eet is being updated but not being read.
BTW, I can see that you inching towards an almost module-like implementation of ecomorph. I must thank you for your time and effort! :D
ppurka, what a bout the ini plugin? .. i should mention in the dialog that ini and inotify are needed for configuration. when loadin on the commandline it should also suffice to load these two plugins. when you delete ~/.ecomp/ecomp.eet the default config will be copied there on the next start of ini.
Aaah! I always get error that the ini plugin could not be loaded. Maybe that is why this is happening. I used to think that this was normal since we don't have those text files anymore. I will need to investigate this further.
Since the last update, 4 days ago, I can't load fileman module. I have the following message: /usr/local/lib/enlightenment/modules/fileman/linux-gnu-i686/module.so: undefined symbol: e_fm2_all_sel
then I tried with the "official" e, fileman working fine. Any help ?
resizing is painfully slow on my ati card
see http://www.phoronix.com/forums/showthread.php?t=15163 for more info on the problem
is there a way to change the resize mode in ecomorph to strech
is there any documentation to get this to compile on freebsd ? (7.2)
if i installed e17 on a debian dist using alphagemini repo, how may install ecomorph or directly ecomp on my linux? tnks
Hi,
I'm having some troubles with Ecomorph in Debian Lenny/Sid . I used the packages provided at deb http://packages.enlightenment.org/debian sid main extras to install ecomorph. I was able to load ecomorph's module without any trouble but when I click on "Start Ecomorph", screen blinks and then falls back to "normal e17" with no ecomorph without any errors.
Is there anyway to see the logs about what's wrong?
Thanks
Hi, thanks for all the great work! It looks awesome under enlightenment!
Can anyone please show me how to zoom a window (or part of it) with ecomorph ? The "manual zoom" plugin is enabled but I don't see anywhere how to use it. The reason I'd like to zoom a window is that some website flash videos can not be displayed in fullscreen mode, or they play very slowly, because it seems flash disables hardware acceleration when compositing window is used. They recommend the use of zooming instead. But I don't know how...
Thank you.
zoom plugin input handling is a pretty broken so theres no predefined action for it. you can add a keybinding to ecomorph-custom-action with params 1 7 0 0 0 though and then use cursor down to zoom in further..
Thanks alot, it works !
This is sort of a bug in ecomorph as found at
packages.enlightenment.org/ubuntu (Ubuntu Jaunty)
I did not find another place to post this issue and solution (I don't think that it's and enlightenment issue, nor that it's worth to post it on ecomorph's github as I don't know if it happens with other binary packages besides the aformentioned ones).
So please excuse me if this is not the right place to comment.
Issue:
ecomorph.sh complains about not finding "ini" module
Solution:
edit /usr/bin/ecomorph.sh and change the line
ECOMP_PLUGINS="ini dbus decoration text png regex move wall scale expo"
with this one
ECOMP_PLUGINS="ccp dbus decoration text png regex move wall scale expo"
It worked for me (rene garcia) using ubuntu jaunty.
Thanks!
this means you use some really outdated or broken packages. i told the maintainers to remove these packages some time ago... sorry cant help there. new packages should become available soon afaik, if you dont build from source. ccp shouldnt have been built for a year now and the packages a newer so i guess this wont be the real fix.
Just installed ecomorph, and it rocks!
A quick suggestion for an added feature - how about an alternative to the pager module that shows the live window contents? (Assuming it's not already there and I've missed it....)
window previews in pager is not something that i would do with ecomorph as it can not integrate in e's rendering. you could do a pager module that uses esmart_xpimap for this though