remove old compiz-related ebuilds and deprecated patches
This commit is contained in:
@ -1,41 +0,0 @@
|
||||
# compiz-start script
|
||||
#
|
||||
# hacky autodetection of neccessary options for XGL/AIGLX/NVIDIA
|
||||
#
|
||||
# Hanno Boeck, http://www.hboeck.de/
|
||||
#
|
||||
# Licensed under the same conditions as compiz itself (MIT or GPL)
|
||||
|
||||
if [ ! -x /usr/bin/glxinfo ]; then
|
||||
echo "glxinfo not found, please install mesa-progs."
|
||||
exit -1
|
||||
fi
|
||||
|
||||
GLX_WITH_DIRECT=`glxinfo|grep -c GLX_EXT_texture_from_pixmap`
|
||||
GLX_WITH_INDIRECT=`LIBGL_ALWAYS_INDIRECT=1 glxinfo|grep -c GLX_EXT_texture_from_pixmap`
|
||||
GLX_RENDER=`glxinfo|grep -c "OpenGL renderer string: Mesa GLX Indirect"`
|
||||
|
||||
|
||||
COMPIZ_OPTIONS="--replace"
|
||||
|
||||
if [ $GLX_WITH_DIRECT -eq 3 ]; then
|
||||
if [ $GLX_RENDER -eq 0 ]; then
|
||||
echo NVIDA detected
|
||||
export __GL_YIELD="NOTHING"
|
||||
else
|
||||
echo XGL detected
|
||||
fi
|
||||
elif [ $GLX_WITH_INDIRECT -eq 3 ]; then
|
||||
echo AIGLX detected
|
||||
export LIBGL_ALWAYS_INDIRECT=1
|
||||
fi
|
||||
|
||||
if [ ! -z $KDE_FULL_SESSION ] && [ -x /usr/bin/kde-window-decorator ]; then
|
||||
echo Using KDE decorator
|
||||
kde-window-decorator --replace &
|
||||
else
|
||||
echo Using GTK decorator
|
||||
gtk-window-decorator --replace &
|
||||
fi
|
||||
|
||||
compiz $COMPIZ_OPTIONS gconf move resize minimize place decoration wobbly fade cube rotate scale switcher zoom dbus
|
@ -1,29 +0,0 @@
|
||||
Index: compiz-0.6.2/src/screen.c
|
||||
===================================================================
|
||||
--- compiz-0.6.2.orig/src/screen.c
|
||||
+++ compiz-0.6.2/src/screen.c
|
||||
@@ -2244,7 +2244,8 @@ findTopLevelWindowAtScreen (CompScreen *
|
||||
for (w = s->windows; w; w = w->next)
|
||||
if (w->frame == id)
|
||||
return w;
|
||||
- }
|
||||
+ } else if (w->resName && strstr(w->resName,"screensaver"))
|
||||
+ return w;
|
||||
|
||||
return NULL;
|
||||
}
|
||||
Index: compiz-0.6.2/src/paint.c
|
||||
===================================================================
|
||||
--- compiz-0.6.2.orig/src/paint.c
|
||||
+++ compiz-0.6.2/src/paint.c
|
||||
@@ -211,7 +211,9 @@ paintOutputRegion (CompScreen *sc
|
||||
if (count == 0 &&
|
||||
!REGION_NOT_EMPTY (tmpRegion) &&
|
||||
screen->opt[COMP_SCREEN_OPTION_UNREDIRECT_FS].value.b &&
|
||||
- XEqualRegion (w->region, &screen->region))
|
||||
+ XEqualRegion (w->region, &screen->region) &&
|
||||
+ !(w->resName && strcmp(w->resName, "gnome-screensaver") == 0)
|
||||
+ )
|
||||
{
|
||||
unredirectWindow (w);
|
||||
fullscreenWindow = w;
|
@ -1,77 +0,0 @@
|
||||
diff -p -up compiz-0.7.8/configure.ac.framesvg compiz-0.7.8/configure.ac
|
||||
--- compiz-0.7.8/configure.ac.framesvg 2008-11-20 15:58:43.000000000 +0100
|
||||
+++ compiz-0.7.8/configure.ac 2008-11-20 16:34:25.000000000 +0100
|
||||
@@ -487,7 +487,7 @@ if test "x$use_kde4" = "xyes"; then
|
||||
kde4libs=`kde4-config --install lib --expandvars 2>/dev/null`
|
||||
kde4incs=`kde4-config --install include --expandvars 2>/dev/null`
|
||||
|
||||
- kde4_test_includes="kdecoration.h kcommondecoration.h kdecorationbridge.h plasma/panelsvg.h"
|
||||
+ kde4_test_includes="kdecoration.h kcommondecoration.h kdecorationbridge.h plasma/framesvg.h"
|
||||
|
||||
dnl Check for KWin headers
|
||||
AC_MSG_CHECKING([for KWin headers])
|
||||
diff -p -up compiz-0.7.8/kde/window-decorator-kde4/switcher.cpp.framesvg compiz-0.7.8/kde/window-decorator-kde4/switcher.cpp
|
||||
--- compiz-0.7.8/kde/window-decorator-kde4/switcher.cpp.framesvg 2008-08-08 13:20:31.000000000 +0200
|
||||
+++ compiz-0.7.8/kde/window-decorator-kde4/switcher.cpp 2008-11-20 16:38:10.000000000 +0100
|
||||
@@ -30,7 +30,7 @@
|
||||
|
||||
#include <fixx11h.h>
|
||||
|
||||
-#include <KDE/Plasma/PanelSvg>
|
||||
+#include <KDE/Plasma/FrameSvg>
|
||||
#include <KDE/Plasma/Theme>
|
||||
|
||||
#include <kwindowsystem.h>
|
||||
@@ -46,9 +46,9 @@ mId (id)
|
||||
QColor color;
|
||||
color = Plasma::Theme::defaultTheme ()->color (Plasma::Theme::TextColor);
|
||||
|
||||
- mBackground = new Plasma::PanelSvg();
|
||||
+ mBackground = new Plasma::FrameSvg();
|
||||
mBackground->setImagePath ("dialogs/background");
|
||||
- mBackground->setEnabledBorders(Plasma::PanelSvg::AllBorders);
|
||||
+ mBackground->setEnabledBorders(Plasma::FrameSvg::AllBorders);
|
||||
|
||||
mBorder.left = mBackground->marginSize(Plasma::LeftMargin);
|
||||
mBorder.right = mBackground->marginSize(Plasma::RightMargin);
|
||||
@@ -131,8 +131,8 @@ KWD::Switcher::redrawPixmap ()
|
||||
p.setCompositionMode (QPainter::CompositionMode_Source);
|
||||
p.setRenderHint (QPainter::SmoothPixmapTransform);
|
||||
|
||||
- mBackground->resizePanel (QSizeF (contentWidth, contentHeight));
|
||||
- mBackground->paintPanel (&p, QRect (0, 0, contentWidth,
|
||||
+ mBackground->resizeFrame (QSizeF (contentWidth, contentHeight));
|
||||
+ mBackground->paintFrame (&p, QRect (0, 0, contentWidth,
|
||||
contentHeight));
|
||||
|
||||
mBackgroundPixmap = mPixmap.copy (mBorder.left, mBorder.top,
|
||||
@@ -168,7 +168,7 @@ KWD::Switcher::update ()
|
||||
p.setCompositionMode (QPainter::CompositionMode_Source);
|
||||
|
||||
|
||||
- mBackground->paintPanel (&p, QRect (mBorder.left, mBorder.top +
|
||||
+ mBackground->paintFrame (&p, QRect (mBorder.left, mBorder.top +
|
||||
mGeometry.height () + 5, mGeometry.width (),
|
||||
fm.height ()));
|
||||
|
||||
diff -p -up compiz-0.7.8/kde/window-decorator-kde4/switcher.h.framesvg compiz-0.7.8/kde/window-decorator-kde4/switcher.h
|
||||
--- compiz-0.7.8/kde/window-decorator-kde4/switcher.h.framesvg 2008-08-08 13:20:31.000000000 +0200
|
||||
+++ compiz-0.7.8/kde/window-decorator-kde4/switcher.h 2008-11-20 16:36:22.000000000 +0100
|
||||
@@ -30,7 +30,7 @@
|
||||
|
||||
namespace Plasma
|
||||
{
|
||||
-class PanelSvg;
|
||||
+class FrameSvg;
|
||||
}
|
||||
|
||||
class QSpacerItem;
|
||||
@@ -70,7 +70,7 @@ class Switcher
|
||||
|
||||
QRect mGeometry;
|
||||
|
||||
- Plasma::PanelSvg *mBackground;
|
||||
+ Plasma::FrameSvg *mBackground;
|
||||
QPixmap mPixmap;
|
||||
QPixmap mBackgroundPixmap;
|
||||
|
@ -1,33 +0,0 @@
|
||||
Author: Romain Perier <mrpouet@gentoo.org>
|
||||
Subject: Missing gconf flags for gnome plugin, fix bug #282807
|
||||
Date: 2009-08-29 12:25
|
||||
|
||||
---
|
||||
gtk/gnome/Makefile.am | 7 ++++---
|
||||
1 files changed, 4 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/gtk/gnome/Makefile.am b/gtk/gnome/Makefile.am
|
||||
index 208318a..d0a7c54 100644
|
||||
--- a/gtk/gnome/Makefile.am
|
||||
+++ b/gtk/gnome/Makefile.am
|
||||
@@ -2,7 +2,7 @@ moduledir = $(DESTDIR)$(windowsettingslibdir)/window-manager-settings
|
||||
|
||||
if USE_GNOME
|
||||
libcompiz_la_LDFLAGS = -export-dynamic -avoid-version -rpath $(moduledir)
|
||||
-libcompiz_la_LIBADD = @GNOME_WINDOW_SETTINGS_LIBS@
|
||||
+libcompiz_la_LIBADD = @GNOME_WINDOW_SETTINGS_LIBS@ @GCONF_LIBS@
|
||||
libcompiz_la_SOURCES = \
|
||||
compiz-window-manager.c \
|
||||
compiz-window-manager.h
|
||||
@@ -76,8 +76,9 @@ if USE_GNOME_KEYBINDINGS
|
||||
endif
|
||||
endif
|
||||
|
||||
-INCLUDES = @GNOME_WINDOW_SETTINGS_CFLAGS@ \
|
||||
- -DMETACITY_THEME_DIR=\""$(windowsettingsdatadir)/themes"\" \
|
||||
+INCLUDES = @GNOME_WINDOW_SETTINGS_CFLAGS@ \
|
||||
+ @GCONF_CFLAGS@ \
|
||||
+ -DMETACITY_THEME_DIR=\""$(windowsettingsdatadir)/themes"\" \
|
||||
-DLOCALEDIR="\"@datadir@/locale"\"
|
||||
|
||||
noinst_LTLIBRARIES = \
|
@ -1,82 +0,0 @@
|
||||
From 43c269a377e7b446fb1bb70732835b7395ce9524 Mon Sep 17 00:00:00 2001
|
||||
From: Danny Baumann <dannybaumann@web.de>
|
||||
Date: Mon, 25 Jan 2010 06:28:34 +0000
|
||||
Subject: Fix crash on opening windows.
|
||||
|
||||
We must defer match evaluation until window initialization has finished
|
||||
for all plugins as match evaluation means wrapped function calls.
|
||||
---
|
||||
diff --git a/plugins/obs.c b/plugins/obs.c
|
||||
index a8d67f1..0f5b9d0 100644
|
||||
--- a/plugins/obs.c
|
||||
+++ b/plugins/obs.c
|
||||
@@ -88,6 +88,8 @@ typedef struct _ObsWindow
|
||||
{
|
||||
int customFactor[MODIFIER_COUNT];
|
||||
int matchFactor[MODIFIER_COUNT];
|
||||
+
|
||||
+ CompTimeoutHandle updateHandle;
|
||||
} ObsWindow;
|
||||
|
||||
#define GET_OBS_DISPLAY(d) \
|
||||
@@ -323,6 +325,22 @@ obsMatchPropertyChanged (CompDisplay *d,
|
||||
WRAP (od, d, matchPropertyChanged, obsMatchPropertyChanged);
|
||||
}
|
||||
|
||||
+static Bool
|
||||
+obsUpdateWindow (void *closure)
|
||||
+{
|
||||
+ CompWindow *w = (CompWindow *) closure;
|
||||
+ int i;
|
||||
+
|
||||
+ OBS_WINDOW (w);
|
||||
+
|
||||
+ for (i = 0; i < MODIFIER_COUNT; i++)
|
||||
+ updatePaintModifier (w, i);
|
||||
+
|
||||
+ ow->updateHandle = 0;
|
||||
+
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
static CompOption *
|
||||
obsGetDisplayOptions (CompPlugin *p,
|
||||
CompDisplay *display,
|
||||
@@ -628,8 +646,8 @@ static CompBool
|
||||
obsInitWindow (CompPlugin *p,
|
||||
CompWindow *w)
|
||||
{
|
||||
- ObsWindow *ow;
|
||||
- int i;
|
||||
+ ObsWindow *ow;
|
||||
+ int i;
|
||||
|
||||
OBS_SCREEN (w->screen);
|
||||
|
||||
@@ -643,10 +661,11 @@ obsInitWindow (CompPlugin *p,
|
||||
ow->matchFactor[i] = 100;
|
||||
}
|
||||
|
||||
- w->base.privates[os->windowPrivateIndex].ptr = ow;
|
||||
+ /* defer initializing the factors from window matches as match evalution
|
||||
+ means wrapped function calls */
|
||||
+ ow->updateHandle = compAddTimeout (0, 0, obsUpdateWindow, w);
|
||||
|
||||
- for (i = 0; i < MODIFIER_COUNT; i++)
|
||||
- updatePaintModifier (w, i);
|
||||
+ w->base.privates[os->windowPrivateIndex].ptr = ow;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
@@ -657,6 +676,9 @@ obsFiniWindow (CompPlugin *p,
|
||||
{
|
||||
OBS_WINDOW (w);
|
||||
|
||||
+ if (ow->updateHandle)
|
||||
+ compRemoveTimeout (ow->updateHandle);
|
||||
+
|
||||
free (ow);
|
||||
}
|
||||
|
||||
--
|
||||
cgit v0.8.2
|
@ -1,11 +0,0 @@
|
||||
--- compiz-0.8.4/gtk/window-decorator/gtk-window-decorator.c.old 2010-03-28 13:01:58.639940630 +0200
|
||||
+++ compiz-0.8.4/gtk/window-decorator/gtk-window-decorator.c 2010-03-28 13:02:30.580354171 +0200
|
||||
@@ -4233,7 +4233,7 @@
|
||||
static void
|
||||
hide_tooltip (void)
|
||||
{
|
||||
- if (GTK_WIDGET_VISIBLE (tip_window))
|
||||
+ if (gtk_widget_get_visible (tip_window))
|
||||
g_get_current_time (&tooltip_last_popdown);
|
||||
|
||||
gtk_widget_hide (tip_window);
|
@ -1,225 +0,0 @@
|
||||
From 04c6a44893a00088c63acd3ba327022f8aa551cc Mon Sep 17 00:00:00 2001
|
||||
From: Dennis Kasprzyk <onestone@compiz-fusion.org>
|
||||
Date: Fri, 12 Feb 2010 20:07:41 +0000
|
||||
Subject: Kde 4.4 support.
|
||||
|
||||
---
|
||||
diff --git a/kde/window-decorator-kde4/window.cpp b/kde/window-decorator-kde4/window.cpp
|
||||
index a7cd2d4..99c502d 100644
|
||||
--- a/kde/window-decorator-kde4/window.cpp
|
||||
+++ b/kde/window-decorator-kde4/window.cpp
|
||||
@@ -486,31 +486,39 @@ KWD::Window::showWindowMenu (const QRect &pos)
|
||||
showWindowMenu (pos.bottomLeft ());
|
||||
}
|
||||
|
||||
-void
|
||||
-KWD::Window::processMousePressEvent (QMouseEvent *qme)
|
||||
+KWD::Options::MouseCommand
|
||||
+KWD::Window::buttonToCommand (Qt::MouseButtons button)
|
||||
{
|
||||
Options::MouseCommand com = Options::MouseNothing;
|
||||
- bool active = isActive ();
|
||||
+ bool active = isActive ();
|
||||
|
||||
if (!mSupportTakeFocus)
|
||||
- active = TRUE;
|
||||
+ active = true;
|
||||
|
||||
- switch (qme->button ()) {
|
||||
+ switch (button) {
|
||||
case Qt::LeftButton:
|
||||
com = active ? Decorator::options ()->commandActiveTitlebar1 () :
|
||||
- Decorator::options()->commandInactiveTitlebar1 ();
|
||||
+ Decorator::options()->commandInactiveTitlebar1 ();
|
||||
break;
|
||||
case Qt::MidButton:
|
||||
com = active ? Decorator::options ()->commandActiveTitlebar2 () :
|
||||
- Decorator::options()->commandInactiveTitlebar2 ();
|
||||
+ Decorator::options()->commandInactiveTitlebar2 ();
|
||||
break;
|
||||
case Qt::RightButton:
|
||||
com = active ? Decorator::options ()->commandActiveTitlebar3 () :
|
||||
- Decorator::options()->commandInactiveTitlebar3 ();
|
||||
+ Decorator::options()->commandInactiveTitlebar3 ();
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
+ return com;
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+KWD::Window::processMousePressEvent (QMouseEvent *qme)
|
||||
+{
|
||||
+ Options::MouseCommand com = buttonToCommand (qme->button ());
|
||||
+
|
||||
if (qme->button () == Qt::LeftButton)
|
||||
{
|
||||
// actions where it's not possible to get the matching release event
|
||||
@@ -752,6 +760,96 @@ KWD::Window::compositingActive (void) const
|
||||
return true;
|
||||
}
|
||||
|
||||
+#if KDE_IS_VERSION(4,3,90)
|
||||
+
|
||||
+QRect
|
||||
+KWD::Window::transparentRect () const
|
||||
+{
|
||||
+ return QRect ();
|
||||
+}
|
||||
+
|
||||
+bool
|
||||
+KWD::Window::isClientGroupActive ()
|
||||
+{
|
||||
+ return false;
|
||||
+}
|
||||
+
|
||||
+QList<ClientGroupItem>
|
||||
+KWD::Window::clientGroupItems () const
|
||||
+{
|
||||
+ QList<ClientGroupItem> items;
|
||||
+
|
||||
+ QIcon icon (mIcon);
|
||||
+ icon.addPixmap (mMiniIcon);
|
||||
+
|
||||
+ items.append (ClientGroupItem (mName, icon));
|
||||
+
|
||||
+ return items;
|
||||
+}
|
||||
+
|
||||
+long
|
||||
+KWD::Window::itemId (int index)
|
||||
+{
|
||||
+ return (long) mClientId;
|
||||
+}
|
||||
+
|
||||
+int
|
||||
+KWD::Window::visibleClientGroupItem ()
|
||||
+{
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+KWD::Window::setVisibleClientGroupItem (int index)
|
||||
+{
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+KWD::Window::moveItemInClientGroup (int index, int before)
|
||||
+{
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+KWD::Window::moveItemToClientGroup (long itemId, int before)
|
||||
+{
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+KWD::Window::removeFromClientGroup (int index, const QRect& newGeom)
|
||||
+{
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+KWD::Window::closeClientGroupItem (int index)
|
||||
+{
|
||||
+ closeWindow ();
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+KWD::Window::closeAllInClientGroup ()
|
||||
+{
|
||||
+ closeWindow ();
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+KWD::Window::displayClientMenu (int index, const QPoint& pos)
|
||||
+{
|
||||
+ showWindowMenu (pos);
|
||||
+}
|
||||
+
|
||||
+KDecorationDefines::WindowOperation
|
||||
+KWD::Window::buttonToWindowOperation(Qt::MouseButtons button)
|
||||
+{
|
||||
+ Options::MouseCommand com = buttonToCommand (button);
|
||||
+
|
||||
+ if (com == Options::MouseOperationsMenu)
|
||||
+ return KDecorationDefines::OperationsOp;
|
||||
+
|
||||
+ return KDecorationDefines::NoOp;
|
||||
+}
|
||||
+
|
||||
+#endif
|
||||
+
|
||||
void
|
||||
KWD::Window::createDecoration (void)
|
||||
{
|
||||
@@ -1466,7 +1564,7 @@ KWD::Window::moveWindow (QMouseEvent *qme)
|
||||
NET::Direction direction;
|
||||
|
||||
direction = positionToDirection (mDecor->mousePosition (qme->pos ()));
|
||||
-
|
||||
+
|
||||
QPoint p (mGeometry.x () - mExtents.left, mGeometry.y () - mExtents.top);
|
||||
p += qme->pos ();
|
||||
|
||||
@@ -1476,7 +1574,7 @@ KWD::Window::moveWindow (QMouseEvent *qme)
|
||||
Decorator::rootInfo ()->restackRequest (mClientId, NET::FromApplication,
|
||||
None, Above,
|
||||
QX11Info::appTime());
|
||||
-
|
||||
+
|
||||
Decorator::rootInfo ()->moveResizeRequest (mClientId,
|
||||
p.x (),
|
||||
p.y (),
|
||||
diff --git a/kde/window-decorator-kde4/window.h b/kde/window-decorator-kde4/window.h
|
||||
index 40a5076..c2b274b 100644
|
||||
--- a/kde/window-decorator-kde4/window.h
|
||||
+++ b/kde/window-decorator-kde4/window.h
|
||||
@@ -26,6 +26,7 @@
|
||||
|
||||
#include <kdecorationbridge.h>
|
||||
#include <KDE/KActionCollection>
|
||||
+#include <kdeversion.h>
|
||||
|
||||
#include <qpixmap.h>
|
||||
#include <qwidget.h>
|
||||
@@ -111,7 +112,24 @@ class Window: public QObject, public KDecorationBridgeUnstable {
|
||||
|
||||
/* unstable API */
|
||||
virtual bool compositingActive () const;
|
||||
-
|
||||
+#if KDE_IS_VERSION(4,3,90)
|
||||
+ virtual QRect transparentRect () const;
|
||||
+
|
||||
+ virtual bool isClientGroupActive ();
|
||||
+ virtual QList<ClientGroupItem> clientGroupItems () const;
|
||||
+ virtual long itemId (int index);
|
||||
+ virtual int visibleClientGroupItem ();
|
||||
+ virtual void setVisibleClientGroupItem (int index);
|
||||
+ virtual void moveItemInClientGroup (int index, int before);
|
||||
+ virtual void moveItemToClientGroup (long itemId, int before);
|
||||
+ virtual void removeFromClientGroup (int index, const QRect& newGeom);
|
||||
+ virtual void closeClientGroupItem (int index);
|
||||
+ virtual void closeAllInClientGroup ();
|
||||
+ virtual void displayClientMenu (int index, const QPoint& pos);
|
||||
+
|
||||
+ virtual WindowOperation
|
||||
+ buttonToWindowOperation(Qt::MouseButtons button);
|
||||
+#endif
|
||||
virtual bool eventFilter (QObject* o, QEvent* e);
|
||||
|
||||
void handleActiveChange (void);
|
||||
@@ -191,8 +209,10 @@ class Window: public QObject, public KDecorationBridgeUnstable {
|
||||
int rightOffset);
|
||||
void updateProperty (void);
|
||||
void getWindowProtocols (void);
|
||||
+
|
||||
+ Options::MouseCommand buttonToCommand (Qt::MouseButtons button);
|
||||
void performMouseCommand (KWD::Options::MouseCommand command,
|
||||
- QMouseEvent *qme);
|
||||
+ QMouseEvent *qme);
|
||||
NET::Direction positionToDirection (int pos);
|
||||
Cursor positionToCursor (QPoint pos);
|
||||
|
||||
--
|
||||
cgit v0.8.2
|
@ -1,30 +0,0 @@
|
||||
diff -uNr compiz-0.8.4.old/plugins/png.c compiz-0.8.4/plugins/png.c
|
||||
--- compiz-0.8.4.old/plugins/png.c 2009-09-01 07:38:22.000000000 +0200
|
||||
+++ compiz-0.8.4/plugins/png.c 2010-02-15 22:16:30.000000000 +0100
|
||||
@@ -102,7 +102,7 @@
|
||||
|
||||
/* expand gray bit depth if needed */
|
||||
if (color_type == PNG_COLOR_TYPE_GRAY && depth < 8)
|
||||
- png_set_gray_1_2_4_to_8 (png);
|
||||
+ png_set_expand_gray_1_2_4_to_8 (png);
|
||||
|
||||
/* transform transparency to alpha */
|
||||
if (png_get_valid(png, info, PNG_INFO_tRNS))
|
||||
@@ -167,7 +167,7 @@
|
||||
Bool status;
|
||||
|
||||
sig_bytes = fread (png_sig, 1, PNG_SIG_SIZE, file);
|
||||
- if (png_check_sig (png_sig, sig_bytes) == 0)
|
||||
+ if (png_sig_cmp (png_sig, 0, sig_bytes) != 0)
|
||||
return FALSE;
|
||||
|
||||
png = png_create_read_struct (PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
|
||||
@@ -218,7 +218,7 @@
|
||||
Bool status;
|
||||
|
||||
memcpy (png_sig, buffer, PNG_SIG_SIZE);
|
||||
- if (png_check_sig (png_sig, PNG_SIG_SIZE) == 0)
|
||||
+ if (png_sig_cmp (png_sig, 0, PNG_SIG_SIZE) != 0)
|
||||
return FALSE;
|
||||
|
||||
png = png_create_read_struct (PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
|
@ -1,103 +0,0 @@
|
||||
From db88fb6f3f6c0fa3c81bc04a2a3468252d49f098 Mon Sep 17 00:00:00 2001
|
||||
From: Danny Baumann <dannybaumann@web.de>
|
||||
Date: Sun, 31 Jan 2010 12:36:42 +0000
|
||||
Subject: Fix handling of windows that have a server border set.
|
||||
|
||||
Also handle windows that have a server border set properly in pointer
|
||||
(placement mode)
|
||||
|
||||
---
|
||||
diff --git a/plugins/place.c b/plugins/place.c
|
||||
index d59de33..a54e60a 100644
|
||||
--- a/plugins/place.c
|
||||
+++ b/plugins/place.c
|
||||
@@ -131,12 +131,15 @@ typedef enum {
|
||||
|
||||
/* helper macros to get the full dimensions of a window,
|
||||
including decorations */
|
||||
+#define BORDER_WIDTH(w) ((w)->input.left + (w)->input.right + \
|
||||
+ 2 * (w)->serverBorderWidth)
|
||||
+#define BORDER_HEIGHT(w) ((w)->input.top + (w)->input.bottom + \
|
||||
+ 2 * (w)->serverBorderWidth)
|
||||
+
|
||||
#define WIN_FULL_X(w) ((w)->serverX - (w)->input.left)
|
||||
#define WIN_FULL_Y(w) ((w)->serverY - (w)->input.top)
|
||||
-#define WIN_FULL_W(w) ((w)->serverWidth + 2 * (w)->serverBorderWidth + \
|
||||
- (w)->input.left + (w)->input.right)
|
||||
-#define WIN_FULL_H(w) ((w)->serverHeight + 2 * (w)->serverBorderWidth + \
|
||||
- (w)->input.top + (w)->input.bottom)
|
||||
+#define WIN_FULL_W(w) ((w)->serverWidth + BORDER_WIDTH (w))
|
||||
+#define WIN_FULL_H(w) ((w)->serverHeight + BORDER_HEIGHT (w))
|
||||
|
||||
static Bool
|
||||
placeMatchXYValue (CompWindow *w,
|
||||
@@ -1216,8 +1219,8 @@ placeConstrainToWorkarea (CompWindow *w,
|
||||
|
||||
extents.left = *x - w->input.left;
|
||||
extents.top = *y - w->input.top;
|
||||
- extents.right = *x + w->serverWidth + w->input.right;
|
||||
- extents.bottom = *y + w->serverHeight + w->input.bottom;
|
||||
+ extents.right = extents.left + WIN_FULL_W (w);
|
||||
+ extents.bottom = extents.top + WIN_FULL_H (w);
|
||||
|
||||
delta = workArea->x + workArea->width - extents.right;
|
||||
if (delta < 0)
|
||||
@@ -1419,9 +1422,9 @@ placeDoValidateWindowResizeRequest (CompWindow *w,
|
||||
}
|
||||
|
||||
left = x - w->input.left;
|
||||
- right = x + xwc->width + w->input.right;
|
||||
+ right = left + xwc->width + BORDER_WIDTH (w);
|
||||
top = y - w->input.top;
|
||||
- bottom = y + xwc->height + w->input.bottom;
|
||||
+ bottom = top + xwc->height + BORDER_HEIGHT (w);
|
||||
|
||||
output = outputDeviceForGeometry (s,
|
||||
xwc->x, xwc->y,
|
||||
@@ -1484,9 +1487,9 @@ placeDoValidateWindowResizeRequest (CompWindow *w,
|
||||
|
||||
/* bring left/right/top/bottom to actual window coordinates */
|
||||
left += w->input.left;
|
||||
- right -= w->input.right;
|
||||
+ right -= w->input.right + 2 * w->serverBorderWidth;
|
||||
top += w->input.top;
|
||||
- bottom -= w->input.bottom;
|
||||
+ bottom -= w->input.bottom + 2 * w->serverBorderWidth;
|
||||
|
||||
if ((right - left) != xwc->width)
|
||||
{
|
||||
@@ -1886,17 +1889,13 @@ placeDoHandleScreenSizeChange (CompScreen *s,
|
||||
{
|
||||
mask |= CWX | CWWidth;
|
||||
xwc.x = vpX * s->width + workArea.x + w->input.left;
|
||||
- xwc.width = workArea.width -
|
||||
- (2 * w->serverBorderWidth +
|
||||
- w->input.left + w->input.right);
|
||||
+ xwc.width = workArea.width - BORDER_WIDTH (w);
|
||||
}
|
||||
if (w->state & CompWindowStateMaximizedVertMask)
|
||||
{
|
||||
mask |= CWY | CWHeight;
|
||||
xwc.y = vpY * s->height + workArea.y + w->input.top;
|
||||
- xwc.height = workArea.height -
|
||||
- (2 * w->serverBorderWidth +
|
||||
- w->input.top + w->input.bottom);
|
||||
+ xwc.height = workArea.height - BORDER_HEIGHT (w);
|
||||
}
|
||||
}
|
||||
}
|
||||
--- a/plugins/place.c
|
||||
+++ b/plugins/place.c
|
||||
@@ -847,8 +847,8 @@ placePointer (CompWindow *w,
|
||||
|
||||
if (placeGetPointerPosition (w->screen, &xPointer, &yPointer))
|
||||
{
|
||||
- *x = xPointer - (w->serverWidth / 2);
|
||||
- *y = yPointer - (w->serverHeight / 2);
|
||||
+ *x = xPointer - (w->serverWidth / 2) - w->serverBorderWidth;
|
||||
+ *y = yPointer - (w->serverHeight / 2) - w->serverBorderWidth;
|
||||
}
|
||||
else
|
||||
{
|
||||
--
|
||||
cgit v0.8.2
|
@ -1,36 +0,0 @@
|
||||
From 79a275b240a98d9f64c8dd1e799e5d469ec8f204 Mon Sep 17 00:00:00 2001
|
||||
From: Danny Baumann <dannybaumann@web.de>
|
||||
Date: Wed, 20 Jan 2010 14:05:10 +0000
|
||||
Subject: Fix window region calculation for windows that have border width set.
|
||||
|
||||
---
|
||||
diff --git a/src/window.c b/src/window.c
|
||||
index 90922d1..e7bb987 100644
|
||||
--- a/src/window.c
|
||||
+++ b/src/window.c
|
||||
@@ -1701,8 +1701,8 @@ updateWindowRegion (CompWindow *w)
|
||||
{
|
||||
r.x = -w->attrib.border_width;
|
||||
r.y = -w->attrib.border_width;
|
||||
- r.width = w->width;
|
||||
- r.height = w->height;
|
||||
+ r.width = w->attrib.width + w->attrib.border_width;
|
||||
+ r.height = w->attrib.height + w->attrib.border_width;
|
||||
|
||||
rects = &r;
|
||||
n = 1;
|
||||
@@ -1719,8 +1719,10 @@ updateWindowRegion (CompWindow *w)
|
||||
{
|
||||
rect.extents.x1 = rects[i].x + w->attrib.border_width;
|
||||
rect.extents.y1 = rects[i].y + w->attrib.border_width;
|
||||
- rect.extents.x2 = rect.extents.x1 + rects[i].width;
|
||||
- rect.extents.y2 = rect.extents.y1 + rects[i].height;
|
||||
+ rect.extents.x2 = rect.extents.x1 + rects[i].width +
|
||||
+ w->attrib.border_width;
|
||||
+ rect.extents.y2 = rect.extents.y1 + rects[i].height +
|
||||
+ w->attrib.border_width;
|
||||
|
||||
if (rect.extents.x1 < 0)
|
||||
rect.extents.x1 = 0;
|
||||
--
|
||||
cgit v0.8.2
|
@ -1,101 +0,0 @@
|
||||
diff --git a/gtk/window-decorator/gtk-window-decorator.c b/gtk/window-decorator/gtk-window-decorator.c
|
||||
index 18b907e..566da0f 100644
|
||||
--- a/gtk/window-decorator/gtk-window-decorator.c
|
||||
+++ b/gtk/window-decorator/gtk-window-decorator.c
|
||||
@@ -31,6 +31,11 @@
|
||||
#include <X11/extensions/Xrender.h>
|
||||
#include <X11/Xregion.h>
|
||||
|
||||
+/* This must be included before the GDK_DISABLE_DEPRECATED definition
|
||||
+ * in order to avoid QA issues on amd64 arch (see Gentoo bug 344293).
|
||||
+ */
|
||||
+#include <gdk/gdkgc.h>
|
||||
+
|
||||
#ifndef GDK_DISABLE_DEPRECATED
|
||||
#define GDK_DISABLE_DEPRECATED
|
||||
#endif
|
||||
@@ -2659,6 +2664,7 @@ get_window_prop (Window xwindow,
|
||||
Atom atom,
|
||||
Window *val)
|
||||
{
|
||||
+ Display *dpy = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ());
|
||||
Atom type;
|
||||
int format;
|
||||
gulong nitems;
|
||||
@@ -2671,7 +2677,7 @@ get_window_prop (Window xwindow,
|
||||
gdk_error_trap_push ();
|
||||
|
||||
type = None;
|
||||
- result = XGetWindowProperty (gdk_display,
|
||||
+ result = XGetWindowProperty (dpy,
|
||||
xwindow,
|
||||
atom,
|
||||
0, G_MAXLONG,
|
||||
@@ -4966,7 +4972,7 @@ force_quit_dialog_realize (GtkWidget *dialog,
|
||||
WnckWindow *win = data;
|
||||
|
||||
gdk_error_trap_push ();
|
||||
- XSetTransientForHint (gdk_display,
|
||||
+ XSetTransientForHint (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()),
|
||||
GDK_WINDOW_XID (dialog->window),
|
||||
wnck_window_get_xid (win));
|
||||
gdk_display_sync (gdk_display_get_default ());
|
||||
@@ -4976,17 +4982,18 @@ force_quit_dialog_realize (GtkWidget *dialog,
|
||||
static char *
|
||||
get_client_machine (Window xwindow)
|
||||
{
|
||||
- Atom atom, type;
|
||||
- gulong nitems, bytes_after;
|
||||
- guchar *str = NULL;
|
||||
- int format, result;
|
||||
- char *retval;
|
||||
+ Display *xdisplay = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ());
|
||||
+ Atom atom, type;
|
||||
+ gulong nitems, bytes_after;
|
||||
+ guchar *str = NULL;
|
||||
+ int format, result;
|
||||
+ char *retval;
|
||||
|
||||
- atom = XInternAtom (gdk_display, "WM_CLIENT_MACHINE", FALSE);
|
||||
+ atom = XInternAtom (xdisplay, "WM_CLIENT_MACHINE", FALSE);
|
||||
|
||||
gdk_error_trap_push ();
|
||||
|
||||
- result = XGetWindowProperty (gdk_display,
|
||||
+ result = XGetWindowProperty (xdisplay,
|
||||
xwindow, atom,
|
||||
0, G_MAXLONG,
|
||||
FALSE, XA_STRING, &type, &format, &nitems,
|
||||
@@ -5013,6 +5020,8 @@ get_client_machine (Window xwindow)
|
||||
static void
|
||||
kill_window (WnckWindow *win)
|
||||
{
|
||||
+ GdkDisplay *gdk_display = gdk_display_get_default ();
|
||||
+ Display *xdisplay = GDK_DISPLAY_XDISPLAY (gdk_display);
|
||||
WnckApplication *app;
|
||||
|
||||
app = wnck_window_get_application (win);
|
||||
@@ -5038,8 +5047,8 @@ kill_window (WnckWindow *win)
|
||||
}
|
||||
|
||||
gdk_error_trap_push ();
|
||||
- XKillClient (gdk_display, wnck_window_get_xid (win));
|
||||
- gdk_display_sync (gdk_display_get_default ());
|
||||
+ XKillClient (xdisplay, wnck_window_get_xid (win));
|
||||
+ gdk_display_sync (gdk_display);
|
||||
gdk_error_trap_pop ();
|
||||
}
|
||||
|
||||
@@ -5623,9 +5632,9 @@ static int
|
||||
update_shadow (void)
|
||||
{
|
||||
decor_shadow_options_t opt;
|
||||
- Display *xdisplay = gdk_display;
|
||||
- GdkDisplay *display = gdk_display_get_default ();
|
||||
- GdkScreen *screen = gdk_display_get_default_screen (display);
|
||||
+ GdkDisplay *display = gdk_display_get_default ();
|
||||
+ Display *xdisplay = GDK_DISPLAY_XDISPLAY (display);
|
||||
+ GdkScreen *screen = gdk_display_get_default_screen (display);
|
||||
|
||||
opt.shadow_radius = shadow_radius;
|
||||
opt.shadow_opacity = shadow_opacity;
|
@ -1,23 +0,0 @@
|
||||
From 0f95c41a0aa175ddf7947ba18b01f746c95594a9 Mon Sep 17 00:00:00 2001
|
||||
From: Paul Donohue <compiz@paulsd.com>
|
||||
Date: Sun, 17 Oct 2010 16:24:14 +0000
|
||||
Subject: Fix pixmap size calculation, server drawn borders are also included in
|
||||
the pixmap.
|
||||
---
|
||||
diff --git a/src/window.c b/src/window.c
|
||||
index a925288..6674643 100644
|
||||
--- a/src/window.c
|
||||
+++ b/src/window.c
|
||||
@@ -1446,8 +1446,8 @@ bindWindow (CompWindow *w)
|
||||
}
|
||||
|
||||
w->pixmap = XCompositeNameWindowPixmap (dpy, w->id);
|
||||
- w->width = attr.width;
|
||||
- w->height = attr.height;
|
||||
+ w->width = attr.width + attr.border_width * 2;
|
||||
+ w->height = attr.height + attr.border_width * 2;
|
||||
|
||||
XUngrabServer (dpy);
|
||||
}
|
||||
--
|
||||
cgit v0.8.3.1-30-gff3a
|
Reference in New Issue
Block a user