Re: [compiz] Unable to start gwd under Fedora 7
U¿ytkownik Danny Baumann [EMAIL PROTECTED] napisa³: Hi, gtk-window-decorator: Could not acquire decoration manager selection on screen 0 display :0.0 Which version of Compiz do you use? I just tried running gtk-window-decorator --replace on my box (F7 / latest Git Compiz) and it worked just fine. Or do you by any chance already have some decorator running and didn't specify the --replace option? I am running packaged compiz-0.3.6-8.fc7.x86_64 (btw I think we should bug krh to update that to something more recent. The --replace option has indeed helped, but there is still no decorations (a different problem, I presume). Cheers, Julian ___ compiz mailing list compiz@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/compiz
[compiz] KWD crash
Attached is a backtrace from a KWD crash, it happens regularly when restarting compiz. Regards Mike Using host libthread_db library /lib/libthread_db.so.1. [Thread debugging using libthread_db enabled] [New Thread 47750156939440 (LWP 6152)] [KCrash handler] #5 0x2b6dafa10368 in QObject::parent () from /usr/kde/3.5/lib/libkdecore.so.4 #6 0x2b6db078b73a in QWidget::~QWidget () from /usr/qt/3/lib/libqt-mt.so.3 #7 0x2b6db07fa276 in QButton::~QButton () from /usr/qt/3/lib/libqt-mt.so.3 #8 0x2b6db3397818 in Laptop::LaptopButton::~LaptopButton () from /usr/kde/3.5/lib64/kde3/kwin3_laptop.so #9 0x2b6daf7736db in KCommonDecoration::~KCommonDecoration () from /usr/kde/3.5/lib/libkdecorations.so.1 #10 0x2b6db3396dca in Laptop::LaptopClient::~LaptopClient () from /usr/kde/3.5/lib64/kde3/kwin3_laptop.so #11 0x00415621 in ~Window (this=0x6da830) at window.cpp:150 #12 0x0040d725 in KWD::Decorator::handleWindowRemoved (this=0x5288d0, id=54526270) at decorator.cpp:981 #13 0x0040b778 in KWD::Decorator::qt_invoke (this=0x5288d0, _id=20, _o=0x7b774de0) at decorator.moc.cpp:109 #14 0x2b6db0745540 in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3 #15 0x2b6dafa10e01 in KWinModule::windowRemoved () from /usr/kde/3.5/lib/libkdecore.so.4 #16 0x2b6dafa11c4d in KWinModulePrivate::removeClient () from /usr/kde/3.5/lib/libkdecore.so.4 #17 0x2b6daf9d6938 in NETRootInfo::update () from /usr/kde/3.5/lib/libkdecore.so.4 #18 0x2b6daf9d7dcc in NETRootInfo::event () from /usr/kde/3.5/lib/libkdecore.so.4 #19 0x2b6dafa1220b in KWinModulePrivate::x11Event () from /usr/kde/3.5/lib/libkdecore.so.4 #20 0x2b6daf9c8d6f in KAppX11HackWidget::publicx11Event () from /usr/kde/3.5/lib/libkdecore.so.4 #21 0x2b6daf9c14b4 in KApplication::x11EventFilter () from /usr/kde/3.5/lib/libkdecore.so.4 #22 0x0040dd55 in KWD::Decorator::x11EventFilter (this=0x5288d0, xevent=0x7b7758b0) at decorator.cpp:823 #23 0x2b6db0644b2a in ?? () from /usr/qt/3/lib/libqt-mt.so.3 #24 0x2b6db0656a2d in QApplication::x11ProcessEvent () from /usr/qt/3/lib/libqt-mt.so.3 #25 0x2b6db066fca3 in QEventLoop::processEvents () from /usr/qt/3/lib/libqt-mt.so.3 #26 0x2b6db06f0212 in QEventLoop::enterLoop () from /usr/qt/3/lib/libqt-mt.so.3 #27 0x2b6db06f001b in QEventLoop::exec () from /usr/qt/3/lib/libqt-mt.so.3 #28 0x2b6db06d4316 in QApplication::exec () from /usr/qt/3/lib/libqt-mt.so.3 #29 0x0040c4d9 in main (argc=value optimized out, argv=0x7b775d68) at main.cpp:131 ___ compiz mailing list compiz@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/compiz
Re: [compiz] Unable to start gwd under Fedora 7
On 6/5/07, Julian Sikorski [EMAIL PROTECTED] wrote: U¿ytkownik Danny Baumann [EMAIL PROTECTED] napisa³: Hi, gtk-window-decorator: Could not acquire decoration manager selection on screen 0 display :0.0 Which version of Compiz do you use? I just tried running gtk-window-decorator --replace on my box (F7 / latest Git Compiz) and it worked just fine. Or do you by any chance already have some decorator running and didn't specify the --replace option? I am running packaged compiz-0.3.6-8.fc7.x86_64 (btw I think we should bug krh to update that to something more recent. The --replace option has indeed helped, but there is still no decorations (a different problem, I presume). make sure the decoration plugin is loaded ___ compiz mailing list compiz@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/compiz
Re: [compiz] Unable to start gwd under Fedora 7
U¿ytkownik dragoran [EMAIL PROTECTED] napisa³: make sure the decoration plugin is loaded WTF is wrong with the previous email? Anyway, once again: It was the first thing I did. It is loaded. FYI, here is the console output [EMAIL PROTECTED] ~]$ gtk-window-decorator [1] 8554 [EMAIL PROTECTED] ~]$ compiz --replace gconf compiz: No stencil buffer. Clipping of transformed windows is not going to be correct when screen is transformed. compiz: No GLXFBConfig for depth 32 compiz: No GLXFBConfig for depth 32 compiz: No GLXFBConfig for depth 32 [EMAIL PROTECTED] ~]$ Cheers. On 6/5/07, Julian Sikorski [EMAIL PROTECTED] wrote: U¿ytkownik Danny Baumann [EMAIL PROTECTED] napisa³: Hi, gtk-window-decorator: Could not acquire decoration manager selection on screen 0 display :0.0 Which version of Compiz do you use? I just tried running gtk-window-decorator --replace on my box (F7 / latest Git Compiz) and it worked just fine. Or do you by any chance already have some decorator running and didn't specify the --replace option? I am running packaged compiz-0.3.6-8.fc7.x86_64 (btw I think we should bug krh to update that to something more recent. The --replace option has indeed helped, but there is still no decorations (a different problem, I presume). make sure the decoration plugin is loaded On 6/5/07, Julian Sikorski [EMAIL PROTECTED] wrote: U¿ytkownik Danny Baumann [EMAIL PROTECTED] napisa³:Hi, gtk-window-decorator: Could not acquire decoration manager selection on screen 0 display : 0.0Which version of Compiz do you use? I just tried runninggtk-window-decorator --replace on my box (F7 / latest Git Compiz)and it worked just fine. Or do you by any chance already have some decorator running and didnt specify the --replace option?I am running packaged compiz-0.3.6-8.fc7.x86_64 (btw I think we should bug krh to update that to something more recent. The --replace option has indeed helped, but there is still no decorations (a different problem, I presume). make sure the decoration plugin is loaded ___ compiz mailing list compiz@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/compiz
Re: [compiz] window walking interface
-next = walker-prev; + walker-prev = tmpStep; +} +} + +static void cubeApplyScreenTransform (CompScreen *s, const ScreenPaintAttrib *sAttrib, CompOutput *output, @@ -1713,6 +1832,7 @@ cubeInitScreen (CompPlugin *p, WRAP (cs, s, applyScreenTransform, cubeApplyScreenTransform); WRAP (cs, s, setScreenOption, cubeSetGlobalScreenOption); WRAP (cs, s, outputChangeNotify, cubeOutputChangeNotify); +WRAP (cs, s, initWindowWalker, cubeInitWindowWalker); return TRUE; } @@ -1734,6 +1854,7 @@ cubeFiniScreen (CompPlugin *p, UNWRAP (cs, s, applyScreenTransform); UNWRAP (cs, s, setScreenOption); UNWRAP (cs, s, outputChangeNotify); +UNWRAP (cs, s, initWindowWalker); finiTexture (s, cs-texture); finiTexture (s, cs-sky); -- 1.4.4.2 From 33a0603d8d1abc0074c98de6d6d74d3e1851a0af Mon Sep 17 00:00:00 2001 From: Roi Cohen [EMAIL PROTECTED](none) Date: Tue, 5 Jun 2007 14:49:33 +0300 Subject: [PATCH] plugin events --- include/cube.h | 15 - plugins/cube.c | 95 -- plugins/rotate.c | 29 3 files changed, 135 insertions(+), 4 deletions(-) diff --git a/include/cube.h b/include/cube.h index bc44a32..0dcb14b 100644 --- a/include/cube.h +++ b/include/cube.h @@ -25,7 +25,7 @@ #include compiz.h -#define CUBE_ABIVERSION 20070604 +#define CUBE_ABIVERSION 20070605 #define CUBE_DISPLAY_OPTION_ABI0 #define CUBE_DISPLAY_OPTION_INDEX 1 @@ -38,6 +38,8 @@ typedef struct _CubeDisplay { intscreenPrivateIndex; CompOption opt[CUBE_DISPLAY_OPTION_NUM]; + +HandleCompizEventProc handleCompizEvent; } CubeDisplay; #define CUBE_SCREEN_OPTION_COLOR 0 @@ -77,6 +79,13 @@ typedef enum _PaintOrder FTB } PaintOrder; +typedef enum _RotationMode +{ +NoRotation = 0, +RotationChange, +RotationManual +} RotationMode; + typedef struct _CubeScreen { PreparePaintScreenProc preparePaintScreen; DonePaintScreenProc donePaintScreen; @@ -131,6 +140,10 @@ typedef struct _CubeScreen { float outputXOffset; float outputYOffset; +RotationMode rotationMode; +Bool disableCaps; +Bool paintAllViewports; + CompTexture *bg; intnBg; } CubeScreen; diff --git a/plugins/cube.c b/plugins/cube.c index f28b9f5..43c6578 100644 --- a/plugins/cube.c +++ b/plugins/cube.c @@ -1295,10 +1295,10 @@ cubePaintTransformedOutput (CompScreen *s, else paintOrder = BTF; // Inside cube - start with BTF faces. -if (cs-invert == -1) +if (cs-invert == -1 || cs-paintAllViewports) cubePaintAllViewports(s, sa, transform, region, outputPtr, mask, xMove, size, hsize, paintOrder); -if (!clear cs-grabIndex == 0 hsize 2 +if (!clear cs-grabIndex == 0 hsize 2 !cs-disableCaps (cs-invert != 1 || sa.vRotate != 0.0f || sa.yTranslate != 0.0f)) { (*cs-paintTopBottom) (s, sa, transform, outputPtr, hsize); @@ -1309,7 +1309,7 @@ cubePaintTransformedOutput (CompScreen*s, else paintOrder = FTB; // Inside cube - continue with FTB faces. -if (cs-invert == 1) +if (cs-invert == 1 || cs-paintAllViewports) cubePaintAllViewports(s, sa, transform, region, outputPtr, mask, xMove, size, hsize, paintOrder); s-display-textureFilter = filter; @@ -1458,6 +1458,85 @@ cubeApplyScreenTransform (CompScreen *s, matrixTranslate (transform, -cs-outputXOffset, cs-outputYOffset, 0.0f); } +static void cubeHandleCompizEvent(CompDisplay * d, char *pluginName, + char *eventName, CompOption * option, int nOption) +{ +CUBE_DISPLAY(d); + +UNWRAP (cd, d, handleCompizEvent); +(*d-handleCompizEvent) (d, pluginName, eventName, option, nOption); +WRAP (cd, d, handleCompizEvent, cubeHandleCompizEvent); + +if (strcmp(pluginName, 3d) == 0) +{ + if (strcmp(eventName, disableCapsEvent) == 0) + { + Window xid = getIntOptionNamed(option, nOption, root, 0); + CompScreen *s = findScreenAtDisplay(d, xid); + + if (s) + { + CUBE_SCREEN(s); + cs-disableCaps = getBoolOptionNamed(option, nOption, disableCaps, FALSE); + } + } + + else if (strcmp(eventName, paintAllViewportsEvent) == 0) + { + Window xid = getIntOptionNamed(option, nOption, root, 0); + CompScreen *s = findScreenAtDisplay(d, xid); + + if (s) + { + CUBE_SCREEN(s); + cs-paintAllViewports = getBoolOptionNamed(option, nOption, paintAllViewports, FALSE); + } + } +} +if (strcmp(pluginName, rotate) == 0) +{ + if (strcmp(eventName, rotateEvent) == 0) + { + Window xid = getIntOptionNamed(option
Re: [compiz] status of input redirection
On Tue, 2007-06-05 at 00:17 +0300, Daniel Stone wrote: On Mon, Jun 04, 2007 at 05:06:20PM -0400, David Reveman wrote: On Sat, 2007-06-02 at 04:29 +0300, Daniel Stone wrote: On Fri, Jun 01, 2007 at 03:47:17PM -0400, David Reveman wrote: + switch (events[i].u.u.type) { + case MotionNotify: + case ButtonPress: + case ButtonRelease: + case KeyPress: + case KeyRelease: + case EnterNotify: + case LeaveNotify: Hi, This needs to be aware of Xi events. Yea, I forgot about that. Will the attached patch work or are those device events not using the keyButtonPointer structure? Unfortunately, they're not using keyButtonPointer, and you can't put it in a case, as the event numbers are non-constant. They use deviceKeyButtonPointer, but you also need to check deviceValuator. See dix/getevents.c, and mi/mieq.c. I've adjusted the patch for deviceKeyButtonPointer. Like in my previous patch, device events are checked for in the default so that they are not constant should already be handled fine. Not sure exactly what to do about deviceValuator events yet. -David --- a/dix/events.c +++ b/dix/events.c @@ -4686,8 +4686,9 @@ WriteEventsToClient(ClientPtr pClient, int count, xEvent *events) for (i = 0; i count; i++) { - WindowPtr pWin; - int x, y, dx, dy; + deviceKeyButtonPointer *deviceEvent; + WindowPtr pWin; + int x, y, dx, dy; switch (events[i].u.u.type) { case MotionNotify: @@ -4720,6 +4721,34 @@ WriteEventsToClient(ClientPtr pClient, int count, xEvent *events) events[i].u.keyButtonPointer.eventY += dy; } break; + default: + if (events[i].u.u.type == DeviceMotionNotify || + events[i].u.u.type == DeviceButtonPress || + events[i].u.u.type == DeviceButtonRelease || + events[i].u.u.type == DeviceKeyPress || + events[i].u.u.type == DeviceKeyRelease) + { + deviceEvent = (deviceKeyButtonPointer *) events[i]; + + pWin = LookupIDByType (deviceEvent-event, RT_WINDOW); + if (pWin) + { + x = deviceEvent-root_x; + y = deviceEvent-root_y; + + CompositeXYScreenToWindowRootCoordinate (pWin, x, y, + x, y); + + dx = x - deviceEvent-root_x; + dy = y - deviceEvent-root_y; + + deviceEvent-root_x += dx; + deviceEvent-root_y += dy; + deviceEvent-event_x += dx; + deviceEvent-event_y += dy; + } + } + break; } } #endif ___ compiz mailing list compiz@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/compiz
Re: [compiz] A little patch to make scale's show-desktop behaviour optional
On Sat, 2007-06-02 at 23:25 -0400, Quinn Storm wrote: This particular behaviour drives me nuts, its so easy to accidentally click on desktop during scale and then all of your windows get minimized, which is no fun. This little patch just makes this optional, leaving the default to be the normal behaviour. Applied. Thanks. -David ___ compiz mailing list compiz@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/compiz
Re: [compiz] A little patch to make scale's show-desktop behaviouroptional
On Tue, 2007-06-05 at 11:54 +0200, Andrea Volani wrote: Hi, I'm only a compiz user, but just a question: is possible to have scale plugin to undo the window expose just with a re-push the desktop corner, just like macos do. I remember this happens in the early versions of compiz Sometimes my mouse goes accidentally on the corner and i'll like to undo the scale by hitting the corner again. This should now work OK for the non DnD case. DnD needs some additional work. -David ___ compiz mailing list compiz@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/compiz
Re: [compiz] N_ macro
On Sun, 2007-06-03 at 15:37 +0100, Mike Dransfield wrote: I have just updated the place plugin to use integers rather than strings with restrictions (as per the other plugins). The only thing which is now using the N_ macro is windowTypeString which I think can be removed. I think some plugins may still be using this so I have not removed it just yet. Once this is gone it will be possible to remove the N_ macro as well, is this OK? Yep, please remove it and if all occurrences of string restrictions have been removed from the FDO repo, string restrictions should also be removed completely from the CompOptionRestriction union. -David ___ compiz mailing list compiz@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/compiz
Re: [compiz] Direct and Indirect: Difference in rendering quality
On Tue, 2007-06-05 at 18:01 +0100, Matt Russell wrote: Hi Why is the quality of scaled textures/objects using --indirect-rendering much worse than direct rendering? Also, vsync does not work with indirect-rendering. Scaled texture quality problem might be caused by GLX_EXT_framebuffer_object extension not being supported when using indirect rendering. This means that mipmap filter can't be used with pixmaps bound to textures. GLX_SGI_video_sync extensions is used for vsync and that extension will only work properly with direct rendering. -David ___ compiz mailing list compiz@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/compiz
Re: [compiz] window walking interface
On Tue, 2007-06-05 at 16:01 +0300, Roi Cohen wrote: Hi, Thanks for putting these changes in git, it indeed makes more sense than the way I did it first. I re-made the transparent cube patches to work now with this new interface. Tell me what you think about it. 0001-cube-painting-order.txt: This is good to go in if you're able to help fix any regressions that may appear. There's some coding style changes that need to be made before I can let this go in, though. Please replace all C++ comments with C comments, keep declarations at the beginning of each scope and make sure lines are no longer than 80 columns. 0002-plugin-events.txt: This is not OK. Plugin events should not be used at all now that 3d and rotate plugins can hook into the cube plugin directly. Just add whatever hooks that are appropriate to the cube plugin. 0003-transparent-cube.txt: Looks OK. The same coding style changes need to be made here too, though. -David ___ compiz mailing list compiz@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/compiz
[compiz] Compiz segmentation fault
Hey, Whenever I run compiz --replace, I get a segmentation fault. This is what a backtrace in gdb says: #0 0xbb871310 in strstr () from /usr/lib/libc.so.12 #1 0x080590b6 in addScreen (display=0x8071980, screenNum=0, wmSnSelectionWindow=39845889, wmSnAtom=365, wmSnTimestamp=27602486) at screen.c:1756 #2 0x08055292 in addDisplay (name=0x0) at display.c:2484 #3 0x08050926 in main (argc=2, argv=0xbfbfe9a0) at main.c:471 I'm running NetBSD, with modular-xorg-server 1.3, with an Intel 950GMA card, Mesa 6.5.3. This is compiz freshly checked out from git. (Similar issues from the release) I set the LIBGL_ALWAYS_INDIRECT environment variable to TRUE. Anyone got any idea what's wrong? If this is something I should be raising with the NetBSD people instead, please let me know. I posted on the forum and one suggestion was that my driver was bad-- but what does that mean? Something about: glExtensions = (const char *) glGetString (GL_EXTENSIONS); is returning 0. I'm using the current git xorg intel drivers-- every other GL application I've tried works fine. Thanks, Ahmad ___ compiz mailing list compiz@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/compiz