do some major changes
- disable mateconf and use libini text file configuration backend - remove mateconf from scriptlet section - move glib annotate svg plugins to core package - disable gtk-windows-decorator - drop compiz-mate-gtk compiz session script - disable gtk-windows-decorator patches - disable marco/metacity - disable mate/gnome - disable mate/gnome keybindings - insert compiz-mate-emerald compiz session script - insert compiz-xfce-emerald compiz session script - insert compiz-lxde-emerald compiz session script - add emerald as require - add matecompat icon - add icon cache scriptlets
This commit is contained in:
parent
d658e0f879
commit
85a4272321
|
@ -1,82 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<KeyListEntries wm_name="Marco" package="marco" group="system" name="Navigation">
|
||||
|
||||
<KeyListEntry value="1" name="/apps/marco/window_keybindings/move_to_workspace_1" key="/apps/marco/general/num_workspaces" comparison="gt"/>
|
||||
|
||||
<KeyListEntry value="1" name="/apps/marco/window_keybindings/move_to_workspace_2" key="/apps/marco/general/num_workspaces" comparison="gt"/>
|
||||
|
||||
<KeyListEntry value="2" name="/apps/marco/window_keybindings/move_to_workspace_3" key="/apps/marco/general/num_workspaces" comparison="gt"/>
|
||||
|
||||
<KeyListEntry value="3" name="/apps/marco/window_keybindings/move_to_workspace_4" key="/apps/marco/general/num_workspaces" comparison="gt"/>
|
||||
|
||||
<KeyListEntry value="4" name="/apps/marco/window_keybindings/move_to_workspace_5" key="/apps/marco/general/num_workspaces" comparison="gt"/>
|
||||
|
||||
<KeyListEntry value="5" name="/apps/marco/window_keybindings/move_to_workspace_6" key="/apps/marco/general/num_workspaces" comparison="gt"/>
|
||||
|
||||
<KeyListEntry value="6" name="/apps/marco/window_keybindings/move_to_workspace_7" key="/apps/marco/general/num_workspaces" comparison="gt"/>
|
||||
|
||||
<KeyListEntry value="7" name="/apps/marco/window_keybindings/move_to_workspace_8" key="/apps/marco/general/num_workspaces" comparison="gt"/>
|
||||
|
||||
<KeyListEntry value="8" name="/apps/marco/window_keybindings/move_to_workspace_9" key="/apps/marco/general/num_workspaces" comparison="gt"/>
|
||||
|
||||
<KeyListEntry value="9" name="/apps/marco/window_keybindings/move_to_workspace_10" key="/apps/marco/general/num_workspaces" comparison="gt"/>
|
||||
|
||||
<KeyListEntry value="10" name="/apps/marco/window_keybindings/move_to_workspace_11" key="/apps/marco/general/num_workspaces" comparison="gt"/>
|
||||
|
||||
<KeyListEntry value="11" name="/apps/marco/window_keybindings/move_to_workspace_12" key="/apps/marco/general/num_workspaces" comparison="gt"/>
|
||||
|
||||
<KeyListEntry value="1" name="/apps/marco/window_keybindings/move_to_workspace_left" key="/apps/marco/general/num_workspaces" comparison="gt"/>
|
||||
|
||||
<KeyListEntry value="1" name="/apps/marco/window_keybindings/move_to_workspace_right" key="/apps/marco/general/num_workspaces" comparison="gt"/>
|
||||
|
||||
<KeyListEntry value="1" name="/apps/marco/window_keybindings/move_to_workspace_up" key="/apps/marco/general/num_workspaces" comparison="gt"/>
|
||||
|
||||
<KeyListEntry value="1" name="/apps/marco/window_keybindings/move_to_workspace_down" key="/apps/marco/general/num_workspaces" comparison="gt"/>
|
||||
|
||||
<KeyListEntry name="/apps/marco/global_keybindings/switch_windows"/>
|
||||
|
||||
<KeyListEntry name="/apps/marco/global_keybindings/switch_group"/>
|
||||
|
||||
<KeyListEntry name="/apps/marco/global_keybindings/switch_panels"/>
|
||||
|
||||
<KeyListEntry name="/apps/marco/global_keybindings/cycle_windows"/>
|
||||
|
||||
<KeyListEntry name="/apps/marco/global_keybindings/cycle_group"/>
|
||||
|
||||
<KeyListEntry name="/apps/marco/global_keybindings/cycle_panels"/>
|
||||
|
||||
<KeyListEntry name="/apps/marco/global_keybindings/show_desktop"/>
|
||||
|
||||
<KeyListEntry value="1" name="/apps/marco/global_keybindings/switch_to_workspace_1" key="/apps/marco/general/num_workspaces" comparison="gt"/>
|
||||
|
||||
<KeyListEntry value="1" name="/apps/marco/global_keybindings/switch_to_workspace_2" key="/apps/marco/general/num_workspaces" comparison="gt"/>
|
||||
|
||||
<KeyListEntry value="2" name="/apps/marco/global_keybindings/switch_to_workspace_3" key="/apps/marco/general/num_workspaces" comparison="gt"/>
|
||||
|
||||
<KeyListEntry value="3" name="/apps/marco/global_keybindings/switch_to_workspace_4" key="/apps/marco/general/num_workspaces" comparison="gt"/>
|
||||
|
||||
<KeyListEntry value="4" name="/apps/marco/global_keybindings/switch_to_workspace_5" key="/apps/marco/general/num_workspaces" comparison="gt"/>
|
||||
|
||||
<KeyListEntry value="5" name="/apps/marco/global_keybindings/switch_to_workspace_6" key="/apps/marco/general/num_workspaces" comparison="gt"/>
|
||||
|
||||
<KeyListEntry value="6" name="/apps/marco/global_keybindings/switch_to_workspace_7" key="/apps/marco/general/num_workspaces" comparison="gt"/>
|
||||
|
||||
<KeyListEntry value="7" name="/apps/marco/global_keybindings/switch_to_workspace_8" key="/apps/marco/general/num_workspaces" comparison="gt"/>
|
||||
|
||||
<KeyListEntry value="8" name="/apps/marco/global_keybindings/switch_to_workspace_9" key="/apps/marco/general/num_workspaces" comparison="gt"/>
|
||||
|
||||
<KeyListEntry value="9" name="/apps/marco/global_keybindings/switch_to_workspace_10" key="/apps/marco/general/num_workspaces" comparison="gt"/>
|
||||
|
||||
<KeyListEntry value="10" name="/apps/marco/global_keybindings/switch_to_workspace_11" key="/apps/marco/general/num_workspaces" comparison="gt"/>
|
||||
|
||||
<KeyListEntry value="11" name="/apps/marco/global_keybindings/switch_to_workspace_12" key="/apps/marco/general/num_workspaces" comparison="gt"/>
|
||||
|
||||
<KeyListEntry value="1" name="/apps/marco/global_keybindings/switch_to_workspace_left" key="/apps/marco/general/num_workspaces" comparison="gt"/>
|
||||
|
||||
<KeyListEntry value="1" name="/apps/marco/global_keybindings/switch_to_workspace_right" key="/apps/marco/general/num_workspaces" comparison="gt"/>
|
||||
|
||||
<KeyListEntry value="1" name="/apps/marco/global_keybindings/switch_to_workspace_up" key="/apps/marco/general/num_workspaces" comparison="gt"/>
|
||||
|
||||
<KeyListEntry value="1" name="/apps/marco/global_keybindings/switch_to_workspace_down" key="/apps/marco/general/num_workspaces" comparison="gt"/>
|
||||
|
||||
</KeyListEntries>
|
|
@ -1,8 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<KeyListEntries wm_name="Marco" package="marco" group="system" name="System">
|
||||
|
||||
<KeyListEntry name="/apps/marco/global_keybindings/panel_run_dialog"/>
|
||||
|
||||
<KeyListEntry name="/apps/marco/global_keybindings/panel_main_menu"/>
|
||||
|
||||
</KeyListEntries>
|
|
@ -1,36 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<KeyListEntries wm_name="Marco" package="marco" group="system" name="Windows">
|
||||
|
||||
<KeyListEntry name="/apps/marco/window_keybindings/activate_window_menu"/>
|
||||
|
||||
<KeyListEntry name="/apps/marco/window_keybindings/toggle_fullscreen"/>
|
||||
|
||||
<KeyListEntry name="/apps/marco/window_keybindings/toggle_maximized"/>
|
||||
|
||||
<KeyListEntry name="/apps/marco/window_keybindings/maximize"/>
|
||||
|
||||
<KeyListEntry name="/apps/marco/window_keybindings/unmaximize"/>
|
||||
|
||||
<KeyListEntry name="/apps/marco/window_keybindings/toggle_shaded"/>
|
||||
|
||||
<KeyListEntry name="/apps/marco/window_keybindings/close"/>
|
||||
|
||||
<KeyListEntry name="/apps/marco/window_keybindings/minimize"/>
|
||||
|
||||
<KeyListEntry name="/apps/marco/window_keybindings/begin_move"/>
|
||||
|
||||
<KeyListEntry name="/apps/marco/window_keybindings/begin_resize"/>
|
||||
|
||||
<KeyListEntry value="1" name="/apps/marco/window_keybindings/toggle_on_all_workspaces" key="/apps/marco/general/num_workspaces" comparison="gt"/>
|
||||
|
||||
<KeyListEntry name="/apps/marco/window_keybindings/raise_or_lower"/>
|
||||
|
||||
<KeyListEntry name="/apps/marco/window_keybindings/raise"/>
|
||||
|
||||
<KeyListEntry name="/apps/marco/window_keybindings/lower"/>
|
||||
|
||||
<KeyListEntry name="/apps/marco/window_keybindings/maximize_vertically"/>
|
||||
|
||||
<KeyListEntry name="/apps/marco/window_keybindings/maximize_horizontally"/>
|
||||
|
||||
</KeyListEntries>
|
|
@ -0,0 +1,257 @@
|
|||
Author: Sebastien Bacher <seb128@canonical.com>
|
||||
Description: add cursor theme and size support
|
||||
Origin: vendor, ubuntu (1:0.3.6-1ubuntu4)
|
||||
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/compiz/+bug/86184
|
||||
|
||||
Author: Jasmine Hassan <jasmine.aura@gmail.com>
|
||||
Description: Updated to migrate to Mate Desktop
|
||||
Origin: <other>, build for LMDE/Debian Testing
|
||||
Last-Updated: 2012-10-09
|
||||
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -125,6 +125,7 @@ COMPIZ_REQUIRES="x11 \
|
||||
xdamage \
|
||||
xrandr \
|
||||
xinerama \
|
||||
+ xcursor \
|
||||
ice \
|
||||
sm \
|
||||
libxml-2.0 \
|
||||
@@ -301,6 +302,7 @@ AC_ARG_ENABLE(mate-keybindings,
|
||||
if test "x$use_gtk" = "xyes"; then
|
||||
PKG_CHECK_MODULES(GTK_WINDOW_DECORATOR,
|
||||
xrender >= 0.8.4 \
|
||||
+ xcursor \
|
||||
gtk+-2.0 >= 2.8.0 \
|
||||
libwnck-1.0 \
|
||||
pangocairo,
|
||||
--- a/gtk/window-decorator/gtk-window-decorator.c
|
||||
+++ b/gtk/window-decorator/gtk-window-decorator.c
|
||||
@@ -30,6 +30,7 @@
|
||||
#include <X11/cursorfont.h>
|
||||
#include <X11/extensions/Xrender.h>
|
||||
#include <X11/Xregion.h>
|
||||
+#include <X11/Xcursor/Xcursor.h>
|
||||
|
||||
#ifndef GDK_DISABLE_DEPRECATED
|
||||
#define GDK_DISABLE_DEPRECATED
|
||||
@@ -75,6 +76,14 @@
|
||||
#include <marco-private/theme.h>
|
||||
#endif
|
||||
|
||||
+#define MATE_MOUSE_DIR "/desktop/mate/peripherals/mouse"
|
||||
+
|
||||
+#define MATE_CURSOR_THEME_KEY \
|
||||
+ MATE_MOUSE_DIR "/cursor_theme"
|
||||
+
|
||||
+#define MATE_CURSOR_SIZE_KEY \
|
||||
+ MATE_MOUSE_DIR "/cursor_size"
|
||||
+
|
||||
#define MARCO_MATECONF_DIR "/apps/marco/general"
|
||||
|
||||
#define COMPIZ_USE_SYSTEM_FONT_KEY \
|
||||
@@ -138,6 +147,13 @@
|
||||
#define WHEEL_ACTION_KEY \
|
||||
MATECONF_DIR "/mouse_wheel_action"
|
||||
|
||||
+#define COMPIZ_MATECONF_DIR2 "/apps/compiz/general/allscreens/options"
|
||||
+#define COMPIZ_CURSOR_THEME_KEY \
|
||||
+ COMPIZ_MATECONF_DIR2 "/cursor_theme"
|
||||
+
|
||||
+#define COMPIZ_CURSOR_SIZE_KEY \
|
||||
+ COMPIZ_MATECONF_DIR2 "/cursor_size"
|
||||
+
|
||||
#define DBUS_DEST "org.freedesktop.compiz"
|
||||
#define DBUS_PATH "/org/freedesktop/compiz/decoration/allscreens"
|
||||
#define DBUS_INTERFACE "org.freedesktop.compiz"
|
||||
@@ -6462,6 +6478,44 @@ button_layout_changed (MateConfClient *c
|
||||
}
|
||||
|
||||
static void
|
||||
+cursor_theme_changed (MateConfClient *client)
|
||||
+{
|
||||
+ gchar *theme;
|
||||
+ gint size;
|
||||
+
|
||||
+ theme = mateconf_client_get_string(client, MATE_CURSOR_THEME_KEY, NULL);
|
||||
+ size = mateconf_client_get_int(client, MATE_CURSOR_SIZE_KEY, NULL);
|
||||
+
|
||||
+ mateconf_client_set_string(client, COMPIZ_CURSOR_THEME_KEY, theme, NULL);
|
||||
+
|
||||
+ mateconf_client_set_int(client, COMPIZ_CURSOR_SIZE_KEY, size, NULL);
|
||||
+
|
||||
+ if (theme && strlen(theme))
|
||||
+ {
|
||||
+ gint i, j;
|
||||
+ GdkDisplay *gdkdisplay = gdk_display_get_default ();
|
||||
+ Display *xdisplay = gdk_x11_display_get_xdisplay (gdkdisplay);
|
||||
+
|
||||
+
|
||||
+ XcursorSetTheme (xdisplay, theme);
|
||||
+ XcursorSetDefaultSize (xdisplay, size);
|
||||
+
|
||||
+ for (i = 0; i < 3; i++)
|
||||
+ {
|
||||
+ for (j = 0; j < 3; j++)
|
||||
+ {
|
||||
+ if (cursor[i][j].shape != XC_left_ptr)
|
||||
+ {
|
||||
+ XFreeCursor (xdisplay, cursor[i][j].cursor);
|
||||
+ cursor[i][j].cursor =
|
||||
+ XCreateFontCursor (xdisplay, cursor[i][j].shape);
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
value_changed (MateConfClient *client,
|
||||
const gchar *key,
|
||||
MateConfValue *value,
|
||||
@@ -6539,6 +6593,11 @@ value_changed (MateConfClient *client,
|
||||
if (theme_opacity_changed (client))
|
||||
changed = TRUE;
|
||||
}
|
||||
+ else if (strcmp (key, MATE_CURSOR_THEME_KEY) == 0 ||
|
||||
+ strcmp (key, MATE_CURSOR_SIZE_KEY) == 0)
|
||||
+ {
|
||||
+ cursor_theme_changed (client);
|
||||
+ }
|
||||
|
||||
if (changed)
|
||||
decorations_changed (data);
|
||||
@@ -6702,6 +6761,11 @@ init_settings (WnckScreen *screen)
|
||||
NULL);
|
||||
|
||||
mateconf_client_add_dir (mateconf,
|
||||
+ MATE_MOUSE_DIR,
|
||||
+ MATECONF_CLIENT_PRELOAD_ONELEVEL,
|
||||
+ NULL);
|
||||
+
|
||||
+ mateconf_client_add_dir (mateconf,
|
||||
COMPIZ_MATECONF_DIR1,
|
||||
MATECONF_CLIENT_PRELOAD_ONELEVEL,
|
||||
NULL);
|
||||
@@ -6710,6 +6774,9 @@ init_settings (WnckScreen *screen)
|
||||
"value_changed",
|
||||
G_CALLBACK (value_changed),
|
||||
screen);
|
||||
+
|
||||
+ cursor_theme_changed(mateconf);
|
||||
+
|
||||
#elif USE_DBUS_GLIB
|
||||
DBusConnection *connection;
|
||||
DBusMessage *reply;
|
||||
--- a/metadata/core.xml.in.in
|
||||
+++ b/metadata/core.xml.in.in
|
||||
@@ -35,6 +35,18 @@
|
||||
<min>0</min>
|
||||
<max>10000</max>
|
||||
</option>
|
||||
+ <option name="cursor_theme" type="string">
|
||||
+ <_short>Cursor theme</_short>
|
||||
+ <_long>Cursor theme name</_long>
|
||||
+ <default></default>
|
||||
+ </option>
|
||||
+ <option name="cursor_size" type="int">
|
||||
+ <_short>Cursor size</_short>
|
||||
+ <_long>Size of the cursor</_long>
|
||||
+ <default>18</default>
|
||||
+ <min>8</min>
|
||||
+ <max>128</max>
|
||||
+ </option>
|
||||
<option name="ping_delay" type="int">
|
||||
<_short>Ping Delay</_short>
|
||||
<_long>Interval between ping messages</_long>
|
||||
--- a/src/display.c
|
||||
+++ b/src/display.c
|
||||
@@ -41,6 +41,8 @@
|
||||
#include <X11/extensions/Xcomposite.h>
|
||||
#include <X11/extensions/Xrandr.h>
|
||||
#include <X11/extensions/shape.h>
|
||||
+#include <X11/Xcursor/Xcursor.h>
|
||||
+#include <X11/cursorfont.h>
|
||||
|
||||
#include <compiz-core.h>
|
||||
|
||||
@@ -474,6 +476,32 @@ shade (CompDisplay *d,
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
+static void
|
||||
+compDisplaySetCursorTheme (CompDisplay *display)
|
||||
+{
|
||||
+ char *theme = display->opt[COMP_DISPLAY_OPTION_CURSOR_THEME].value.s;
|
||||
+ int size = display->opt[COMP_DISPLAY_OPTION_CURSOR_SIZE].value.i;
|
||||
+
|
||||
+ if (theme && strlen(theme))
|
||||
+ {
|
||||
+ CompScreen *s;
|
||||
+
|
||||
+ XcursorSetTheme (display->display, theme);
|
||||
+ XcursorSetDefaultSize (display->display, size);
|
||||
+ for (s = display->screens; s; s = s->next)
|
||||
+ {
|
||||
+ XFreeCursor (display->display, s->normalCursor);
|
||||
+ s->busyCursor = XCreateFontCursor (display->display, XC_watch);
|
||||
+ XFlush (display->display);
|
||||
+
|
||||
+ XFreeCursor (display->display, s->normalCursor);
|
||||
+ s->normalCursor = XCreateFontCursor (display->display, XC_left_ptr);
|
||||
+ XDefineCursor (display->display, s->root, s->normalCursor);
|
||||
+ XFlush (display->display);
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
const CompMetadataOptionInfo coreDisplayOptionInfo[COMP_DISPLAY_OPTION_NUM] = {
|
||||
{ "abi", "int", 0, 0, 0 },
|
||||
{ "active_plugins", "list", "<type>string</type>", 0, 0 },
|
||||
@@ -510,7 +538,9 @@ const CompMetadataOptionInfo coreDisplay
|
||||
{ "toggle_window_shaded_key", "key", 0, shade, 0 },
|
||||
{ "ignore_hints_when_maximized", "bool", 0, 0, 0 },
|
||||
{ "ping_delay", "int", "<min>1000</min>", 0, 0 },
|
||||
- { "edge_delay", "int", "<min>0</min>", 0, 0 }
|
||||
+ { "edge_delay", "int", "<min>0</min>", 0, 0 },
|
||||
+ { "cursor_theme", "string", 0, 0, 0 },
|
||||
+ { "cursor_size", "int", 0, 0, 0 }
|
||||
};
|
||||
|
||||
CompOption *
|
||||
@@ -661,6 +691,20 @@ setDisplayOption (CompPlugin *plugin,
|
||||
return TRUE;
|
||||
}
|
||||
break;
|
||||
+ case COMP_DISPLAY_OPTION_CURSOR_THEME:
|
||||
+ if (compSetStringOption(o, value))
|
||||
+ {
|
||||
+ compDisplaySetCursorTheme(display);
|
||||
+ return TRUE;
|
||||
+ }
|
||||
+ break;
|
||||
+ case COMP_DISPLAY_OPTION_CURSOR_SIZE:
|
||||
+ if (compSetIntOption(o, value))
|
||||
+ {
|
||||
+ compDisplaySetCursorTheme(display);
|
||||
+ return TRUE;
|
||||
+ }
|
||||
+ break;
|
||||
default:
|
||||
if (compSetDisplayOption (display, o, value))
|
||||
return TRUE;
|
||||
--- a/include/compiz-core.h
|
||||
+++ b/include/compiz-core.h
|
||||
@@ -776,7 +776,10 @@ removeFileWatch (CompFileWatchHandle han
|
||||
#define COMP_DISPLAY_OPTION_IGNORE_HINTS_WHEN_MAXIMIZED 31
|
||||
#define COMP_DISPLAY_OPTION_PING_DELAY 32
|
||||
#define COMP_DISPLAY_OPTION_EDGE_DELAY 33
|
||||
-#define COMP_DISPLAY_OPTION_NUM 34
|
||||
+#define COMP_DISPLAY_OPTION_CURSOR_THEME 34
|
||||
+#define COMP_DISPLAY_OPTION_CURSOR_SIZE 35
|
||||
+#define COMP_DISPLAY_OPTION_NUM 36
|
||||
+
|
||||
|
||||
typedef void (*HandleEventProc) (CompDisplay *display,
|
||||
XEvent *event);
|
|
@ -0,0 +1,43 @@
|
|||
Author: Matthew Garrett <mjg59@srcf.ucam.org>
|
||||
Description: Disable clipping of child windows
|
||||
* This patch was modified to apply cleanly in 0.8.4-1
|
||||
Last-Modified: Thu, 11 Feb 2010 20:06:12 +0100
|
||||
Origin: vendor, ubuntu (1:0.3.6-1ubuntu10)
|
||||
|
||||
--- a/src/display.c
|
||||
+++ b/src/display.c
|
||||
@@ -2234,6 +2234,23 @@ addDisplay (const char *name)
|
||||
lastScreen = ScreenCount (dpy) - 1;
|
||||
}
|
||||
|
||||
+ {
|
||||
+ XSetWindowAttributes attr;
|
||||
+ Atom atom;
|
||||
+
|
||||
+ attr.override_redirect = TRUE;
|
||||
+ d->glIncludeInferiorsOwner =
|
||||
+ XCreateWindow (dpy, XRootWindow (dpy, 0),
|
||||
+ -100, -100, 1, 1, 0,
|
||||
+ CopyFromParent, CopyFromParent,
|
||||
+ CopyFromParent,
|
||||
+ CWOverrideRedirect,
|
||||
+ &attr);
|
||||
+
|
||||
+ atom = XInternAtom (dpy, "_COMPIZ_GL_INCLUDE_INFERIORS", False);
|
||||
+ XSetSelectionOwner(dpy, atom, d->glIncludeInferiorsOwner, CurrentTime);
|
||||
+ }
|
||||
+
|
||||
for (i = firstScreen; i <= lastScreen; i++)
|
||||
{
|
||||
Window newWmSnOwner = None, newCmSnOwner = None;
|
||||
--- a/include/compiz-core.h
|
||||
+++ b/include/compiz-core.h
|
||||
@@ -1028,6 +1028,8 @@ struct _CompDisplay {
|
||||
|
||||
GLenum textureFilter;
|
||||
|
||||
+ Window glIncludeInferiorsOwner;
|
||||
+
|
||||
Window activeWindow;
|
||||
Window nextActiveWindow;
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
#!/bin/bash
|
||||
|
||||
function runCompiz() {
|
||||
if ( [ -e /usr/lib/compizconfig/backends/libini.so ] || [ -e /usr/lib64/compizconfig/backends/libini.so ] )
|
||||
then
|
||||
exec compiz --replace --sm-disable --ignore-desktop-hints ccp &&
|
||||
emerald --replace $@
|
||||
else
|
||||
exec compiz --replace --sm-disable --ignore-desktop-hints ccp glib ini $@
|
||||
fi
|
||||
}
|
||||
|
||||
ISSW=`glxinfo | grep "Software Rasterizer" -c`
|
||||
|
||||
# Try with direct rendering
|
||||
HAVETFP=`glxinfo | grep texture_from_pixmap -c`
|
||||
|
||||
if ( [ $ISSW == 0 ] && [ $HAVETFP -gt 2 ] ); then
|
||||
runCompiz $@
|
||||
fi
|
||||
|
||||
# Try again with indirect rendering
|
||||
export LIBGL_ALWAYS_INDIRECT=1
|
||||
|
||||
HAVETFP=`glxinfo | grep texture_from_pixmap -c`
|
||||
|
||||
if ( [ $ISSW == 0 ] && [ $HAVETFP -gt 2 ] ); then
|
||||
runCompiz $@
|
||||
fi
|
||||
|
||||
# Fall back to openbox-lxde
|
||||
exec openbox-lxde $@
|
|
@ -0,0 +1,8 @@
|
|||
[Desktop Entry]
|
||||
Type=Application
|
||||
Name=Compiz
|
||||
TryExec=compiz-lxde-emerald
|
||||
Exec=compiz-lxde-emerald
|
||||
NoDisplay=true
|
||||
Name[de_DE]=compiz-lxde-emerald.desktop
|
||||
X-Desktop-File-Install-Version=0.21
|
|
@ -1,12 +1,12 @@
|
|||
#!/bin/bash
|
||||
|
||||
function runCompiz() {
|
||||
gtk-window-decorator &
|
||||
if ( [ -e /usr/lib/compizconfig/backends/libmateconf.so ] || [ -e /usr/lib64/compizconfig/backends/libmateconf.so ] )
|
||||
if ( [ -e /usr/lib/compizconfig/backends/libini.so ] || [ -e /usr/lib64/compizconfig/backends/libini.so ] )
|
||||
then
|
||||
exec compiz --ignore-desktop-hints ccp $@
|
||||
exec compiz --replace --sm-disable --ignore-desktop-hints ccp &&
|
||||
emerald --replace $@
|
||||
else
|
||||
exec compiz --ignore-desktop-hints glib mateconf matecompat $@
|
||||
exec compiz --replace --sm-disable --ignore-desktop-hints glib ini matecompat $@
|
||||
fi
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
[Desktop Entry]
|
||||
Type=Application
|
||||
Name=Compiz
|
||||
TryExec=compiz-mate-emerald
|
||||
Exec=compiz-mate-emerald
|
||||
NoDisplay=true
|
||||
Name[de_DE]=compiz-mate-emerald.desktop
|
|
@ -1,8 +0,0 @@
|
|||
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
Encoding=UTF-8
|
||||
Name=Compiz
|
||||
TryExec=compiz-mate-gtk
|
||||
Exec=compiz-mate-gtk
|
||||
NoDisplay=true
|
|
@ -0,0 +1,134 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
id="svg3315"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.1 r9760"
|
||||
width="48"
|
||||
height="48"
|
||||
sodipodi:docname="mate.png">
|
||||
<metadata
|
||||
id="metadata3321">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs3319" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="640"
|
||||
inkscape:window-height="480"
|
||||
id="namedview3317"
|
||||
showgrid="false"
|
||||
inkscape:zoom="5.9375"
|
||||
inkscape:cx="24"
|
||||
inkscape:cy="24"
|
||||
inkscape:window-x="587"
|
||||
inkscape:window-y="157"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg3315" />
|
||||
<image
|
||||
width="48"
|
||||
height="48"
|
||||
xlink:href="data:image/png;base64,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
|
||||
"
|
||||
id="image3323"
|
||||
x="0"
|
||||
y="0" />
|
||||
</svg>
|
After Width: | Height: | Size: 7.2 KiB |
|
@ -0,0 +1,32 @@
|
|||
#!/bin/bash
|
||||
|
||||
function runCompiz() {
|
||||
if ( [ -e /usr/lib/compizconfig/backends/libini.so ] || [ -e /usr/lib64/compizconfig/backends/libini.so ] )
|
||||
then
|
||||
exec compiz --replace --sm-disable --ignore-desktop-hints ccp &&
|
||||
emerald --replace $@
|
||||
else
|
||||
exec compiz --replace --sm-disable --ignore-desktop-hints ccp glib ini $@
|
||||
fi
|
||||
}
|
||||
|
||||
ISSW=`glxinfo | grep "Software Rasterizer" -c`
|
||||
|
||||
# Try with direct rendering
|
||||
HAVETFP=`glxinfo | grep texture_from_pixmap -c`
|
||||
|
||||
if ( [ $ISSW == 0 ] && [ $HAVETFP -gt 2 ] ); then
|
||||
runCompiz $@
|
||||
fi
|
||||
|
||||
# Try again with indirect rendering
|
||||
export LIBGL_ALWAYS_INDIRECT=1
|
||||
|
||||
HAVETFP=`glxinfo | grep texture_from_pixmap -c`
|
||||
|
||||
if ( [ $ISSW == 0 ] && [ $HAVETFP -gt 2 ] ); then
|
||||
runCompiz $@
|
||||
fi
|
||||
|
||||
# Fall back to xfwm4
|
||||
exec xfwm4 $@
|
|
@ -0,0 +1,8 @@
|
|||
[Desktop Entry]
|
||||
Type=Application
|
||||
Name=Compiz
|
||||
TryExec=compiz-xfce-emerald
|
||||
Exec=compiz-xfce-emerald
|
||||
NoDisplay=true
|
||||
Name[de_DE]=compiz-xfce-emerald.desktop
|
||||
X-Desktop-File-Install-Version=0.21
|
271
compiz.spec
271
compiz.spec
|
@ -1,27 +1,29 @@
|
|||
%global core_plugins blur clone cube dbus decoration fade ini inotify minimize move place png regex resize rotate scale screenshot switcher video water wobbly zoom fs obs commands wall
|
||||
|
||||
%global mate_plugins annotate mateconf glib svg matecompat
|
||||
|
||||
%global core_plugins blur clone cube dbus decoration fade ini inotify minimize move place png regex resize rotate scale screenshot switcher video water wobbly zoom fs obs commands wall glib annotate svg
|
||||
|
||||
%global mate_plugins matecompat
|
||||
|
||||
# List of plugins passed to ./configure. The order is important
|
||||
|
||||
%global plugins core,glib,dbus,png,svg,video,screenshot,decoration,clone,place,fade,minimize,move,resize,switcher,scale,wall,obs
|
||||
|
||||
%global plugins core,glib,mateconf,dbus,png,svg,video,screenshot,decoration,clone,place,fade,minimize,move,resize,switcher,scale,wall,obs
|
||||
|
||||
Name: compiz
|
||||
URL: http://www.compiz.org
|
||||
License: GPLv2+ and LGPLv2+ and MIT
|
||||
Group: User Interface/Desktops
|
||||
Version: 0.8.8
|
||||
Release: 7%{?dist}
|
||||
Release: 11%{?dist}
|
||||
Epoch: 1
|
||||
Summary: OpenGL window and compositing manager
|
||||
|
||||
|
||||
# libdrm is not available on these arches
|
||||
ExcludeArch: s390 s390x
|
||||
|
||||
|
||||
Requires: system-logos
|
||||
Requires: glx-utils
|
||||
Requires(post): desktop-file-utils
|
||||
|
||||
# this is an inverse require which is needed for build without gtk-windows-decorator
|
||||
Requires: emerald
|
||||
|
||||
BuildRequires: libX11-devel
|
||||
BuildRequires: libdrm-devel
|
||||
BuildRequires: libwnck-devel
|
||||
|
@ -35,8 +37,6 @@ BuildRequires: libXt-devel
|
|||
BuildRequires: libSM-devel
|
||||
BuildRequires: libICE-devel
|
||||
BuildRequires: libXmu-devel
|
||||
BuildRequires: mate-desktop-devel
|
||||
BuildRequires: mate-control-center-devel
|
||||
BuildRequires: mate-conf-devel
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: intltool
|
||||
|
@ -44,25 +44,27 @@ BuildRequires: gettext
|
|||
BuildRequires: dbus-devel
|
||||
BuildRequires: dbus-glib-devel
|
||||
BuildRequires: librsvg2-devel
|
||||
BuildRequires: mate-window-manager-devel
|
||||
BuildRequires: mesa-libGLU-devel
|
||||
BuildRequires: fuse-devel
|
||||
BuildRequires: cairo-devel
|
||||
BuildRequires: libtool
|
||||
BuildRequires: libxslt-devel
|
||||
|
||||
|
||||
Source0: http://releases.compiz.org/%{version}/%{name}-%{version}.tar.bz2
|
||||
Source2: compiz-mate-gtk
|
||||
Source3: compiz-mate-gtk.desktop
|
||||
Source4: 50-marco-navigation.xml
|
||||
Source5: 50-marco-system.xml
|
||||
Source6: 50-marco-windows.xml
|
||||
|
||||
Source2: compiz-mate-emerald
|
||||
Source3: compiz-mate-emerald.desktop
|
||||
Source4: compiz-xfce-emerald
|
||||
Source5: compiz-xfce-emerald.desktop
|
||||
Source6: compiz-lxde-emerald
|
||||
Source7: compiz-lxde-emerald.desktop
|
||||
Source8: compiz-plugins-main_plugin-matecompat.svg
|
||||
|
||||
# fork gnome to mate
|
||||
Patch0: comiz_mate_fork.patch
|
||||
# fix http://forums.mate-desktop.org/viewtopic.php?f=8&t=818
|
||||
Patch1: compiz_gtk_window_decoration_button_placement.patch
|
||||
Patch2: compiz_windows-decorator.patch
|
||||
#Patch1: compiz_gtk_window_decoration_button_placement.patch
|
||||
#Patch2: compiz_windows-decorator.patch
|
||||
# Patches that are not upstream
|
||||
Patch3: composite-cube-logo.patch
|
||||
Patch4: fedora-logo.patch
|
||||
|
@ -71,7 +73,20 @@ Patch6: compiz-0.8.6-wall.patch
|
|||
Patch7: compiz-0.8.6-unloadpluginfix.patch
|
||||
Patch8: no-more-mate-wm-settings.patch
|
||||
Patch9: compiz-0.88_incorrect-fsf-address.patch
|
||||
|
||||
Patch10: compiz-disable-child-window-clipping.patch
|
||||
Patch11: compiz-add-cursor-theme-support.patch
|
||||
#Patch12: compiz-fix-gtk-window-decorator-no-argb-crash.patch
|
||||
Patch13: compiz_fix-no-border-window-shadow.patch
|
||||
Patch14: compiz_draw_dock_shadows_on_desktop.patch
|
||||
Patch15: compiz_optional-fbo.patch
|
||||
Patch16: compiz_call_glxwaitx_before_drawing.patch
|
||||
Patch17: compiz_always_unredirect_screensaver_on_nvidia.patch
|
||||
#Patch18: compiz_hide_tooltip_on_decorator.patch
|
||||
Patch19: compiz_fullscreen_stacking_fixes.patch
|
||||
Patch20: compiz_damage-report-non-empty.patch
|
||||
Patch21: compiz_stacking.patch
|
||||
|
||||
|
||||
%description
|
||||
Compiz is one of the first OpenGL-accelerated compositing window
|
||||
managers for the X Window System. The integration allows it to perform
|
||||
|
@ -79,7 +94,7 @@ compositing effects in window management, such as a minimization
|
|||
effect and a cube work space. Compiz is an OpenGL compositing manager
|
||||
that use Compiz use EXT_texture_from_pixmap OpenGL extension for
|
||||
binding redirected top-level windows to texture objects.
|
||||
|
||||
|
||||
%package devel
|
||||
Summary: Development packages for compiz
|
||||
Group: Development/Libraries
|
||||
|
@ -88,32 +103,47 @@ Requires: pkgconfig
|
|||
Requires: libXcomposite-devel libXfixes-devel libXdamage-devel libXrandr-devel
|
||||
Requires: libXinerama-devel libICE-devel libSM-devel libxml2-devel
|
||||
Requires: libxslt-devel startup-notification-devel
|
||||
|
||||
|
||||
%description devel
|
||||
The compiz-devel package includes the header files,
|
||||
and developer docs for the compiz package.
|
||||
|
||||
|
||||
Install compiz-devel if you want to develop plugins for the compiz
|
||||
windows and compositing manager.
|
||||
|
||||
|
||||
%package mate
|
||||
Summary: Compiz mate integration bits
|
||||
Group: User Interface/Desktops
|
||||
Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
|
||||
Requires(pre): mate-conf
|
||||
Requires(post): mate-conf
|
||||
Requires(preun): mate-conf
|
||||
|
||||
|
||||
%description mate
|
||||
The compiz-mate package contains gtk-window-decorator,
|
||||
and other mate integration related stuff.
|
||||
The compiz-mate package contains matecompat plugin
|
||||
and a compiz start script for mate.
|
||||
|
||||
%package xfce
|
||||
Summary: Compiz mate integration bits
|
||||
Group: User Interface/Desktops
|
||||
Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
|
||||
|
||||
%description xfce
|
||||
The compiz-xfce package contains a compiz start script
|
||||
for xfce.
|
||||
|
||||
%package lxde
|
||||
Summary: Compiz mate integration bits
|
||||
Group: User Interface/Desktops
|
||||
Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
|
||||
|
||||
%description lxde
|
||||
The compiz-lxde package contains a compiz start script
|
||||
for lxde.
|
||||
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1 -b .comiz_mate_fork
|
||||
%patch1 -p1 -b .compiz_gtk_window_decoration_button
|
||||
%patch2 -p1 -b .compiz_windows-decorator
|
||||
#%patch1 -p1 -b .compiz_gtk_window_decoration_button
|
||||
#%patch2 -p1 -b .compiz_windows-decorator
|
||||
%patch3 -p1 -b .composite-cube-logo
|
||||
%if 0%{?fedora}
|
||||
%patch4 -p1 -b .fedora-logo
|
||||
|
@ -124,89 +154,113 @@ and other mate integration related stuff.
|
|||
%patch7 -p1 -b .unloadfix
|
||||
%patch8 -p1 -b .mate-wm-settings
|
||||
%patch9 -p1 -b .incorrect-fsf-address
|
||||
|
||||
%patch11 -p1 -b .cursor-theme-support
|
||||
#%patch12 -p1 -b .gtk-window-decorator-no-argb-crash
|
||||
%patch13 -p1 -b .no-border-window-shadow
|
||||
%patch14 -p1 -b .draw_dock_shadows
|
||||
%patch15 -p1 -b .fbo
|
||||
%patch16 -p1 -b .glxwaitx_before_drawing
|
||||
%patch17 -p1 -b .always_unredirect_screensaver
|
||||
#%patch18 -p1 -b .tooltip_on_decorator
|
||||
%patch19 -p1 -b .fullscreen_stacking
|
||||
%patch20 -p1 -b .damage-report
|
||||
%patch21 -p1 -b .stacking
|
||||
|
||||
|
||||
%build
|
||||
|
||||
|
||||
libtoolize
|
||||
aclocal
|
||||
autoconf
|
||||
automake
|
||||
%configure \
|
||||
--enable-mateconf \
|
||||
--disable-mateconf \
|
||||
--enable-dbus \
|
||||
--enable-librsvg \
|
||||
--enable-gtk \
|
||||
--enable-marco \
|
||||
--disable-gtk \
|
||||
--disable-marco \
|
||||
--enable-mate \
|
||||
--with-default-plugins=%{plugins} \
|
||||
--enable-mate-keybindings \
|
||||
--disable-mate-keybindings \
|
||||
--disable-kde \
|
||||
--disable-kde4 \
|
||||
--disable-kconfig
|
||||
|
||||
|
||||
make %{?_smp_mflags} imagedir=%{_datadir}/pixmaps
|
||||
|
||||
|
||||
|
||||
|
||||
%install
|
||||
export MATECONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1
|
||||
make DESTDIR=$RPM_BUILD_ROOT install || exit 1
|
||||
unset MATECONF_DISABLE_MAKEFILE_SCHEMA_INSTALL
|
||||
|
||||
install %SOURCE2 $RPM_BUILD_ROOT%{_bindir}
|
||||
install %SOURCE4 $RPM_BUILD_ROOT%{_bindir}
|
||||
install %SOURCE6 $RPM_BUILD_ROOT%{_bindir}
|
||||
|
||||
desktop-file-install --vendor="" \
|
||||
--dir $RPM_BUILD_ROOT%{_datadir}/applications \
|
||||
%SOURCE3
|
||||
desktop-file-install --vendor="" \
|
||||
--dir $RPM_BUILD_ROOT%{_datadir}/applications \
|
||||
%SOURCE5
|
||||
desktop-file-install --vendor="" \
|
||||
--dir $RPM_BUILD_ROOT%{_datadir}/applications \
|
||||
%SOURCE7
|
||||
|
||||
# matecompat icon
|
||||
mkdir -p $RPM_BUILD_ROOT%{_datadir}/ccsm/icons/hicolor/scalable/apps
|
||||
cp -f %SOURCE8 $RPM_BUILD_ROOT%{_datadir}/ccsm/icons/hicolor/scalable/apps/plugin-matecompat.svg
|
||||
|
||||
rm $RPM_BUILD_ROOT%{_datadir}/compiz/kconfig.xml
|
||||
rm $RPM_BUILD_ROOT%{_sysconfdir}/mateconf/schemas/compiz-kconfig.schemas
|
||||
|
||||
rm $RPM_BUILD_ROOT%{_datadir}/compiz/mateconf.xml
|
||||
rm $RPM_BUILD_ROOT%{_datadir}/applications/compiz.desktop
|
||||
|
||||
find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
|
||||
find $RPM_BUILD_ROOT -name '*.a' -exec rm -f {} ';'
|
||||
|
||||
# create compiz keybindings file based on the marco ones
|
||||
# lifted straight from Ubuntu, as long as installation of the upstream
|
||||
# ones is broken at least (I've reported this upstream)
|
||||
mkdir -p $RPM_BUILD_ROOT/%{_datadir}/mate-control-center/keybindings
|
||||
sed 's/wm_name=\"Marco\" package=\"marco\"/wm_name=\"Compiz\" package=\"compiz\"/' /usr/share/mate-control-center/keybindings/50-marco-desktop-key.xml > $RPM_BUILD_ROOT/%{_datadir}/mate-control-center/keybindings/50-compiz-desktop-key.xml
|
||||
sed 's/wm_name=\"Marco\" package=\"marco\"/wm_name=\"Compiz\" package=\"compiz\"/' /usr/share/mate-control-center/keybindings/50-marco-key.xml > $RPM_BUILD_ROOT/%{_datadir}/mate-control-center/keybindings/50-compiz-key.xml
|
||||
|
||||
cp %SOURCE4 $RPM_BUILD_ROOT%{_datadir}/mate-control-center/keybindings/50-compiz-navigation.xml
|
||||
cp %SOURCE5 $RPM_BUILD_ROOT%{_datadir}/mate-control-center/keybindings/50-compiz-system.xml
|
||||
cp %SOURCE6 $RPM_BUILD_ROOT%{_datadir}/mate-control-center/keybindings/50-compiz-windows.xml
|
||||
|
||||
sed -i 's#key=\"/apps/marco/general/num_workspaces\" comparison=\"gt\"##g' $RPM_BUILD_ROOT/%{_datadir}/mate-control-center/keybindings/50-compiz-desktop-key.xml
|
||||
sed -i 's#key=\"/apps/marco/general/num_workspaces\" comparison=\"gt\"##g' $RPM_BUILD_ROOT/%{_datadir}/mate-control-center/keybindings/50-compiz-key.xml
|
||||
|
||||
|
||||
%find_lang compiz
|
||||
|
||||
cat compiz.lang > core-files.txt
|
||||
|
||||
%find_lang %{name}
|
||||
|
||||
cat %{name}.lang > core-files.txt
|
||||
|
||||
for f in %{core_plugins}; do
|
||||
echo %{_libdir}/compiz/lib$f.so
|
||||
echo %{_datadir}/compiz/$f.xml
|
||||
done >> core-files.txt
|
||||
|
||||
|
||||
for f in %{mate_plugins}; do
|
||||
echo %{_libdir}/compiz/lib$f.so
|
||||
echo %{_datadir}/compiz/$f.xml
|
||||
done >> mate-files.txt
|
||||
|
||||
|
||||
%check
|
||||
desktop-file-validate $RPM_BUILD_ROOT/%{_datadir}/applications/compiz-mate-emerald.desktop
|
||||
desktop-file-validate $RPM_BUILD_ROOT/%{_datadir}/applications/compiz-xfce-emerald.desktop
|
||||
desktop-file-validate $RPM_BUILD_ROOT/%{_datadir}/applications/compiz-lxde-emerald.desktop
|
||||
|
||||
|
||||
%post
|
||||
/sbin/ldconfig
|
||||
/bin/touch --no-create %{_datadir}/compiz &>/dev/null || :
|
||||
/bin/touch --no-create %{_datadir}/ccsm/icons/hicolor/scalable/apps &>/dev/null || :
|
||||
|
||||
%postun
|
||||
/sbin/ldconfig
|
||||
if [ $1 -eq 0 ] ; then
|
||||
/bin/touch --no-create %{_datadir}/compiz &>/dev/null
|
||||
/usr/bin/gtk-update-icon-cache %{_datadir}/compiz &>/dev/null || :
|
||||
fi
|
||||
if [ $1 -eq 0 ] ; then
|
||||
/bin/touch --no-create %{_datadir}/ccsm/icons/hicolor/scalable/apps &>/dev/null
|
||||
/usr/bin/gtk-update-icon-cache %{_datadir}/ccsm/icons/hicolor/scalable/apps &>/dev/null || :
|
||||
fi
|
||||
|
||||
%post -p /sbin/ldconfig
|
||||
|
||||
%postun -p /sbin/ldconfig
|
||||
|
||||
%post mate
|
||||
%mateconf_schema_upgrade compiz-annotate compiz-blur compiz-clone compiz-commands compiz-core compiz-cube compiz-dbus compiz-decoration compiz-fade compiz-fs compiz-glib compiz-ini compiz-inotify compiz-matecompat compiz-mateconf compiz-minimize compiz-move compiz-obs compiz-place compiz-png compiz-regex compiz-resize compiz-rotate compiz-scale compiz-screenshot compiz-svg compiz-switcher compiz-video compiz-wall compiz-water compiz-wobbly compiz-zoom gwd
|
||||
|
||||
%pre mate
|
||||
%mateconf_schema_prepare compiz-annotate compiz-blur compiz-clone compiz-commands compiz-core compiz-cube compiz-dbus compiz-decoration compiz-fade compiz-fs compiz-glib compiz-ini compiz-inotify compiz-matecompat compiz-mateconf compiz-minimize compiz-move compiz-obs compiz-place compiz-png compiz-regex compiz-resize compiz-rotate compiz-scale compiz-screenshot compiz-svg compiz-switcher compiz-video compiz-wall compiz-water compiz-wobbly compiz-zoom gwd
|
||||
%gconf_schema_obsolete compiz-kconfig
|
||||
|
||||
%preun mate
|
||||
%mateconf_schema_remove compiz-annotate compiz-blur compiz-clone compiz-commands compiz-core compiz-cube compiz-dbus compiz-decoration compiz-fade compiz-fs compiz-glib compiz-ini compiz-inotify compiz-matecompat compiz-mateconf compiz-minimize compiz-move compiz-obs compiz-place compiz-png compiz-regex compiz-resize compiz-rotate compiz-scale compiz-screenshot compiz-svg compiz-switcher compiz-video compiz-wall compiz-water compiz-wobbly compiz-zoom gwd
|
||||
%posttrans
|
||||
/usr/bin/gtk-update-icon-cache %{_datadir}/compiz &>/dev/null || :
|
||||
/usr/bin/gtk-update-icon-cache %{_datadir}/ccsm/icons/hicolor/scalable/apps &>/dev/null || :
|
||||
|
||||
|
||||
|
||||
%files -f core-files.txt
|
||||
%doc AUTHORS ChangeLog COPYING.GPL COPYING.LGPL README TODO NEWS
|
||||
%{_bindir}/compiz
|
||||
|
@ -215,33 +269,64 @@ done >> mate-files.txt
|
|||
%dir %{_datadir}/compiz
|
||||
%{_datadir}/compiz/*.png
|
||||
%{_datadir}/compiz/core.xml
|
||||
|
||||
|
||||
|
||||
%files mate -f mate-files.txt
|
||||
%{_bindir}/compiz-mate-gtk
|
||||
%{_bindir}/gtk-window-decorator
|
||||
%{_datadir}/mate-control-center/keybindings/50-compiz-desktop-key.xml
|
||||
%{_datadir}/mate-control-center/keybindings/50-compiz-key.xml
|
||||
%{_datadir}/mate-control-center/keybindings/50-compiz-navigation.xml
|
||||
%{_datadir}/mate-control-center/keybindings/50-compiz-system.xml
|
||||
%{_datadir}/mate-control-center/keybindings/50-compiz-windows.xml
|
||||
%{_datadir}/applications/compiz-mate-gtk.desktop
|
||||
%exclude %{_datadir}/applications/compiz.desktop
|
||||
%config(noreplace) %{_sysconfdir}/mateconf/schemas/*.schemas
|
||||
%{_bindir}/compiz-mate-emerald
|
||||
%{_datadir}/applications/compiz-mate-emerald.desktop
|
||||
%{_datadir}/ccsm/icons/hicolor/scalable/apps/plugin-matecompat.svg
|
||||
|
||||
%files xfce
|
||||
%{_bindir}/compiz-xfce-emerald
|
||||
%{_datadir}/applications/compiz-xfce-emerald.desktop
|
||||
|
||||
%files lxde
|
||||
%{_bindir}/compiz-lxde-emerald
|
||||
%{_datadir}/applications/compiz-lxde-emerald.desktop
|
||||
|
||||
%files devel
|
||||
%{_libdir}/pkgconfig/compiz.pc
|
||||
%{_libdir}/pkgconfig/libdecoration.pc
|
||||
%{_libdir}/pkgconfig/compiz-cube.pc
|
||||
%{_libdir}/pkgconfig/compiz-mateconf.pc
|
||||
%{_libdir}/pkgconfig/compiz-scale.pc
|
||||
%{_datadir}/compiz/schemas.xslt
|
||||
%{_includedir}/compiz/
|
||||
%{_libdir}/libdecoration.so
|
||||
|
||||
|
||||
%changelog
|
||||
* Sat Dec 22 2012 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1:0.8.8-11
|
||||
- do some major changes
|
||||
- disable mateconf and use libini text file configuration backend
|
||||
- remove mateconf from scriptlet section
|
||||
- move glib annotate svg plugins to core package
|
||||
- disable gtk-windows-decorator
|
||||
- drop compiz-mate-gtk compiz session script
|
||||
- disable gtk-windows-decorator patches
|
||||
- disable marco/metacity
|
||||
- disable mate/gnome
|
||||
- disable mate/gnome keybindings
|
||||
- insert compiz-mate-emerald compiz session script
|
||||
- insert compiz-xfce-emerald compiz session script
|
||||
- insert compiz-lxde-emerald compiz session script
|
||||
- add emerald as require
|
||||
- add matecompat icon
|
||||
- add icon cache scriptlets
|
||||
|
||||
|
||||
* Sun Dec 02 2012 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1:0.8.8-10
|
||||
- add %%global plugins_schemas again
|
||||
|
||||
* Sun Dec 02 2012 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1:0.8.8-9
|
||||
- revert scriptlet change
|
||||
|
||||
* Sun Dec 02 2012 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1:0.8.8-8
|
||||
- add %%global plugins_schemas
|
||||
- change mateconf scriptlets
|
||||
- remove (Requires(post): desktop-file-utils)
|
||||
- add some patches from Jasmine Hassan jasmine.aura@gmail.com
|
||||
- remove (noreplace) from mateconf schema directory
|
||||
- add desktop-file-validate
|
||||
- disable mate keybindings for the moment
|
||||
|
||||
* Fri Oct 05 2012 Leigh Scott <leigh123linux@googlemail.com> - 1:0.8.8-7
|
||||
- remove and obsolete compiz-kconfig schema
|
||||
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
Author: Travis Watkins <amaranth@ubuntu.com>
|
||||
Description: Always unredirect mate-screensaver when using nvidia
|
||||
Workaround for LP #160264 while still disabling unredirect fullscreen
|
||||
windows for nvidia users
|
||||
Origin: vendor, ubuntu (1:0.8.3+git20090917-0ubuntu4)
|
||||
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/compiz/+bug/160264
|
||||
--- a/src/paint.c
|
||||
+++ b/src/paint.c
|
||||
@@ -262,6 +262,7 @@ paintOutputRegion (CompScreen *sc
|
||||
CompTransform vTransform;
|
||||
int offX, offY;
|
||||
Region clip = region;
|
||||
+ int dontcare;
|
||||
|
||||
if (!tmpRegion)
|
||||
{
|
||||
@@ -341,8 +342,14 @@ paintOutputRegion (CompScreen *sc
|
||||
XSubtractRegion (tmpRegion, w->region, tmpRegion);
|
||||
|
||||
/* unredirect top most fullscreen windows. */
|
||||
+ /* if the fullscreen window is mate-screensaver and we're
|
||||
+ on nvidia we want to always unredirect even if this
|
||||
+ option is disabled to work around LP #160264 */
|
||||
if (count == 0 &&
|
||||
- screen->opt[COMP_SCREEN_OPTION_UNREDIRECT_FS].value.b)
|
||||
+ (screen->opt[COMP_SCREEN_OPTION_UNREDIRECT_FS].value.b ||
|
||||
+ (w->resName && !strcmp(w->resName, "mate-screensaver") &&
|
||||
+ XQueryExtension (screen->display->display, "NV-GLX",
|
||||
+ &dontcare, &dontcare, &dontcare))))
|
||||
{
|
||||
if (XEqualRegion (w->region, &screen->region) &&
|
||||
!REGION_NOT_EMPTY (tmpRegion))
|
|
@ -0,0 +1,17 @@
|
|||
Author: Travis Watkins <amaranth@ubuntu.com>
|
||||
Description: Call glXWaitX before we start drawing
|
||||
Call glXWaitX before we start drawing to make sure X is done
|
||||
handling rendering calls. Suggested by Michel Dänzer to ensure
|
||||
we don't have any rendering glitches.
|
||||
Origin: vendor, ubuntu (1:0.8.3+git20090917-0ubuntu3)
|
||||
--- a/src/display.c
|
||||
+++ b/src/display.c
|
||||
@@ -1537,6 +1537,8 @@ eventLoop (void)
|
||||
timeDiff = 0;
|
||||
|
||||
makeScreenCurrent (s);
|
||||
+ /* make sure X is ready for us to draw */
|
||||
+ glXWaitX ();
|
||||
|
||||
if (s->slowAnimations)
|
||||
{
|
|
@ -0,0 +1,83 @@
|
|||
Author: Michael Vogt <michael.vogt@ubuntu.com>
|
||||
Description: Workaround for problems with damage extension and refresh
|
||||
Add workaround patch by Aaron Plattner to fix problems with the damage
|
||||
extension and refresh (LP: #269904)
|
||||
Origin: vendor, ubuntu (1:0.7.8-0ubuntu4)
|
||||
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/compiz/+bug/269904
|
||||
--- a/src/event.c
|
||||
+++ b/src/event.c
|
||||
@@ -2315,32 +2315,50 @@ handleEvent (CompDisplay *d,
|
||||
|
||||
if (w)
|
||||
{
|
||||
+ XserverRegion parts = XFixesCreateRegion(de->display, NULL, 0);
|
||||
+ XRectangle *rects;
|
||||
+ int nRects;
|
||||
+
|
||||
w->texture->oldMipmaps = TRUE;
|
||||
|
||||
+ // Get the damage region
|
||||
+ XDamageSubtract(de->display, de->damage, None, parts);
|
||||
+ rects = XFixesFetchRegion(de->display, parts, &nRects);
|
||||
+ XFixesDestroyRegion(de->display, parts);
|
||||
+
|
||||
if (w->syncWait)
|
||||
{
|
||||
- if (w->nDamage == w->sizeDamage)
|
||||
+ int i;
|
||||
+
|
||||
+ if (w->nDamage + nRects - 1 >= w->sizeDamage)
|
||||
{
|
||||
w->damageRects = realloc (w->damageRects,
|
||||
- (w->sizeDamage + 1) *
|
||||
+ (w->sizeDamage + nRects) *
|
||||
sizeof (XRectangle));
|
||||
- w->sizeDamage += 1;
|
||||
+ w->sizeDamage += nRects;
|
||||
}
|
||||
|
||||
- w->damageRects[w->nDamage].x = de->area.x;
|
||||
- w->damageRects[w->nDamage].y = de->area.y;
|
||||
- w->damageRects[w->nDamage].width = de->area.width;
|
||||
- w->damageRects[w->nDamage].height = de->area.height;
|
||||
- w->nDamage++;
|
||||
+ for (i = 0; i < nRects; i++)
|
||||
+ {
|
||||
+ w->damageRects[w->nDamage] = rects[i];
|
||||
+ w->nDamage++;
|
||||
+ }
|
||||
}
|
||||
else
|
||||
{
|
||||
- handleWindowDamageRect (w,
|
||||
- de->area.x,
|
||||
- de->area.y,
|
||||
- de->area.width,
|
||||
- de->area.height);
|
||||
+ int i;
|
||||
+
|
||||
+ for (i = 0; i < nRects; i++)
|
||||
+ {
|
||||
+ handleWindowDamageRect (w,
|
||||
+ rects[i].x,
|
||||
+ rects[i].y,
|
||||
+ rects[i].width,
|
||||
+ rects[i].height);
|
||||
+ }
|
||||
}
|
||||
+
|
||||
+ XFree(rects);
|
||||
}
|
||||
}
|
||||
else if (d->shapeExtension &&
|
||||
--- a/src/window.c
|
||||
+++ b/src/window.c
|
||||
@@ -2207,7 +2207,7 @@ addWindow (CompScreen *screen,
|
||||
XUnionRegion (&rect, w->region, w->region);
|
||||
|
||||
w->damage = XDamageCreate (d->display, id,
|
||||
- XDamageReportRawRectangles);
|
||||
+ XDamageReportNonEmpty);
|
||||
|
||||
/* need to check for DisplayModal state on all windows */
|
||||
w->state = getWindowState (d, w->id);
|
|
@ -0,0 +1,85 @@
|
|||
Author: Travis Watkins <amaranth@ubuntu.com>
|
||||
Description: Change decoration plugin dock shadow drawing behavior
|
||||
change decoration plugin to draw dock shadows only on the
|
||||
desktop window instead of on top of all other windows
|
||||
Origin: vendor, ubuntu (1:0.8.2-0ubuntu16)
|
||||
--- a/plugins/decoration.c
|
||||
+++ b/plugins/decoration.c
|
||||
@@ -190,6 +190,11 @@ decorDrawWindow (CompWindow *w,
|
||||
status = (*w->screen->drawWindow) (w, transform, attrib, region, mask);
|
||||
WRAP (ds, w->screen, drawWindow, decorDrawWindow);
|
||||
|
||||
+ /* we wait to draw dock shadows until we get to the lowest
|
||||
+ desktop window in the stack */
|
||||
+ if (w->type & CompWindowTypeDockMask)
|
||||
+ return status;
|
||||
+
|
||||
if (mask & PAINT_WINDOW_TRANSFORMED_MASK)
|
||||
region = &infiniteRegion;
|
||||
|
||||
@@ -226,6 +231,65 @@ decorDrawWindow (CompWindow *w,
|
||||
attrib, mask);
|
||||
}
|
||||
|
||||
+ if (w->type & CompWindowTypeDesktopMask)
|
||||
+ {
|
||||
+ /* we only want to draw on the lowest desktop window, find it and see
|
||||
+ if we the window we have is it */
|
||||
+ CompWindow *window = w->screen->windows;
|
||||
+ for (window = w->screen->windows; window; window = window->next)
|
||||
+ {
|
||||
+ if (window->type & CompWindowTypeDesktopMask)
|
||||
+ {
|
||||
+ if (window == w)
|
||||
+ break;
|
||||
+ else
|
||||
+ return status;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ /* drawing dock shadows now */
|
||||
+ for (window = w->screen->windows; window; window = window->next)
|
||||
+ {
|
||||
+ if (window->type & CompWindowTypeDockMask && !window->destroyed && !window->invisible)
|
||||
+ {
|
||||
+ DECOR_WINDOW (window);
|
||||
+
|
||||
+ if (dw->wd && region->numRects)
|
||||
+ {
|
||||
+ WindowDecoration *wd = dw->wd;
|
||||
+ REGION box;
|
||||
+ int i;
|
||||
+
|
||||
+ mask |= PAINT_WINDOW_BLEND_MASK;
|
||||
+
|
||||
+ box.rects = &box.extents;
|
||||
+ box.numRects = 1;
|
||||
+
|
||||
+ window->vCount = window->indexCount = 0;
|
||||
+
|
||||
+ for (i = 0; i < wd->nQuad; i++)
|
||||
+ {
|
||||
+ box.extents = wd->quad[i].box;
|
||||
+
|
||||
+ if (box.extents.x1 < box.extents.x2 &&
|
||||
+ box.extents.y1 < box.extents.y2)
|
||||
+ {
|
||||
+ (*window->screen->addWindowGeometry) (window,
|
||||
+ &wd->quad[i].matrix, 1,
|
||||
+ &box,
|
||||
+ region);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if (window->vCount)
|
||||
+ (*window->screen->drawWindowTexture) (window,
|
||||
+ &wd->decor->texture->texture,
|
||||
+ attrib, mask);
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
return status;
|
||||
}
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
From abf9d0b9c431f56e3fe88cb5a22b2f5e7b41e92e Mon Sep 17 00:00:00 2001
|
||||
From: Nicolas Bruguier <gandalfn@mithrandir.(none)>
|
||||
Date: Tue, 12 Dec 2006 22:59:22 +0100
|
||||
Subject: [PATCH] Fix no border window shadow
|
||||
---
|
||||
libdecoration/decoration.c | 4 +++-
|
||||
1 files changed, 3 insertions(+), 1 deletions(-)
|
||||
|
||||
--- a/libdecoration/decoration.c
|
||||
+++ b/libdecoration/decoration.c
|
||||
@@ -1243,7 +1243,9 @@ decor_shadow_create (Display *xdisp
|
||||
}
|
||||
|
||||
/* create pixmap for temporary decorations */
|
||||
- d_pixmap = XCreatePixmap (xdisplay, xroot, d_width, d_height, 32);
|
||||
+ d_pixmap = XCreatePixmap (xdisplay, xroot,
|
||||
+ (d_width % 32) ? d_width : d_width + 1,
|
||||
+ d_height, 32);
|
||||
if (!d_pixmap)
|
||||
{
|
||||
XFreePixmap (xdisplay, pixmap);
|
|
@ -0,0 +1,17 @@
|
|||
Author: Travis Watkins <amaranth@ubuntu.com>
|
||||
Description: keep window on top of fullscreen windows during move
|
||||
Origin: vendor, ubuntu (1:0.7.2-0ubuntu2)
|
||||
--- a/plugins/move.c
|
||||
+++ b/plugins/move.c
|
||||
@@ -124,6 +124,11 @@ moveInitiate (CompDisplay *d,
|
||||
xid = getIntOptionNamed (option, nOption, "window", 0);
|
||||
|
||||
w = findWindowAtDisplay (d, xid);
|
||||
+
|
||||
+ /* make window stay above fullscreen windows while moving */
|
||||
+ if (w)
|
||||
+ updateWindowAttributes (w, CompStackingUpdateModeAboveFullscreen);
|
||||
+
|
||||
if (w && (w->actions & CompWindowActionMoveMask))
|
||||
{
|
||||
XRectangle workArea;
|
|
@ -1,42 +0,0 @@
|
|||
diff -upr compiz-0.8.8-orig/configure.ac compiz-0.8.8/configure.ac
|
||||
--- compiz-0.8.8-orig/configure.ac 2012-09-16 10:04:18.000000000 +0200
|
||||
+++ compiz-0.8.8/configure.ac 2012-09-16 10:10:26.095872922 +0200
|
||||
@@ -323,12 +323,12 @@ if test "x$use_gtk" = "xyes"; then
|
||||
if test "x$use_marco" = "xyes"; then
|
||||
PKG_CHECK_MODULES(MARCO, libmarco-private,
|
||||
[use_marco=yes], [use_marco=no])
|
||||
- PKG_CHECK_EXISTS(libmarco-private >= 2.15.21,
|
||||
+ PKG_CHECK_EXISTS(libmarco-private >= 1.2.0,
|
||||
[have_marco_2_15_21=yes], [have_marco_2_15_21=no])
|
||||
- PKG_CHECK_EXISTS(libmarco-private >= 2.17.0,
|
||||
+ PKG_CHECK_EXISTS(libmarco-private >= 1.2.0,
|
||||
[have_marco_2_17_0=yes], [have_marco_2_17_0=no])
|
||||
PKG_CHECK_EXISTS(libmarco-private >= 1.2.0,
|
||||
- [have_marco_2_23_2=yes], [have_marco_1_2_0=no])
|
||||
+ [have_marco_2_23_2=yes], [have_marco_2_23_2=no])
|
||||
fi
|
||||
|
||||
if test "x$use_mate" = "xyes"; then
|
||||
@@ -382,8 +382,8 @@ if test "$use_marco" = yes; then
|
||||
AC_DEFINE(HAVE_MARCO_2_17_0, 1,
|
||||
[Define to 1 if marco version >= 2.17.0])
|
||||
fi
|
||||
- if test "$have_marco_1_2_0" = yes; then
|
||||
- AC_DEFINE(HAVE_MARCO_1_2_0, 1,
|
||||
+ if test "$have_marco_2_23_2" = yes; then
|
||||
+ AC_DEFINE(HAVE_MARCO_2_23_2, 1,
|
||||
[Define to 1 if marco version >= 1.2.0])
|
||||
fi
|
||||
fi
|
||||
diff -upr compiz-0.8.8-orig/gtk/mate/compiz-window-manager.c compiz-0.8.8/gtk/mate/compiz-window-manager.c
|
||||
--- compiz-0.8.8-orig/gtk/mate/compiz-window-manager.c 2012-09-16 10:04:18.000000000 +0200
|
||||
+++ compiz-0.8.8/gtk/mate/compiz-window-manager.c 2012-09-16 10:12:15.613373978 +0200
|
||||
@@ -370,7 +370,7 @@ add_themes_from_dir (GList *current_list
|
||||
{
|
||||
theme_file_path =
|
||||
g_build_filename (path, entry->d_name,
|
||||
- "marco-1/marco-theme-1.xml", NULL);
|
||||
+ "metacity-1/metacity-theme-1.xml", NULL);
|
||||
|
||||
if (g_file_test (theme_file_path, G_FILE_TEST_EXISTS))
|
||||
{
|
|
@ -0,0 +1,55 @@
|
|||
Author: David Nusinow <dnusinow@debian.org>
|
||||
Description: Add a command-line option for disabling the use of FBOs
|
||||
This is to work around buggy drivers. Add the --no-fbo option to
|
||||
command-line to compiz.
|
||||
Origin: vendor, debian (0.3.6-1)
|
||||
--- a/include/compiz-core.h
|
||||
+++ b/include/compiz-core.h
|
||||
@@ -219,6 +219,7 @@ extern Bool useCow;
|
||||
extern Bool noDetection;
|
||||
extern Bool useDesktopHints;
|
||||
extern Bool onlyCurrentScreen;
|
||||
+extern Bool noFBO;
|
||||
|
||||
extern char **initialPlugins;
|
||||
extern int nInitialPlugins;
|
||||
--- a/src/main.c
|
||||
+++ b/src/main.c
|
||||
@@ -66,6 +66,7 @@ Bool strictBinding = TRUE;
|
||||
Bool noDetection = FALSE;
|
||||
Bool useDesktopHints = FALSE;
|
||||
Bool onlyCurrentScreen = FALSE;
|
||||
+Bool noFBO = FALSE;
|
||||
static Bool debugOutput = FALSE;
|
||||
|
||||
#ifdef USE_COW
|
||||
@@ -87,6 +88,7 @@ usage (void)
|
||||
"[--keep-desktop-hints] "
|
||||
"[--loose-binding] "
|
||||
"[--replace]\n "
|
||||
+ "[--no-fbo] "
|
||||
"[--sm-disable] "
|
||||
"[--sm-client-id ID] "
|
||||
"[--only-current-screen]\n "
|
||||
@@ -346,6 +348,10 @@ main (int argc, char **argv)
|
||||
{
|
||||
onlyCurrentScreen = TRUE;
|
||||
}
|
||||
+ else if (!strcmp (argv[i], "--no-fbo"))
|
||||
+ {
|
||||
+ noFBO = TRUE;
|
||||
+ }
|
||||
|
||||
#ifdef USE_COW
|
||||
else if (!strcmp (argv[i], "--use-root-window"))
|
||||
--- a/src/screen.c
|
||||
+++ b/src/screen.c
|
||||
@@ -2183,7 +2183,7 @@ addScreen (CompDisplay *display,
|
||||
s->generateMipmap = NULL;
|
||||
|
||||
s->fbo = 0;
|
||||
- if (strstr (glExtensions, "GL_EXT_framebuffer_object"))
|
||||
+ if (!noFBO && strstr (glExtensions, "GL_EXT_framebuffer_object"))
|
||||
{
|
||||
s->genFramebuffers = (GLGenFramebuffersProc)
|
||||
getProcAddress (s, "glGenFramebuffersEXT");
|
|
@ -0,0 +1,16 @@
|
|||
Author: Michael Vogt <michael.vogt@ubuntu.com>
|
||||
Description: map windows with focus_on_map=FALSE in the background
|
||||
map windows with focus_on_map=FALSE in the background (just like metacity)
|
||||
Origin: vendor, ubuntu (1:0.8.2-0ubuntu6)
|
||||
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/compiz/+bug/333284
|
||||
--- a/src/event.c
|
||||
+++ b/src/event.c
|
||||
@@ -2075,7 +2075,7 @@ handleEvent (CompDisplay *d,
|
||||
focus = allowWindowFocus (w, NO_FOCUS_MASK,
|
||||
w->screen->x, w->screen->y, 0);
|
||||
|
||||
- if (focus == CompFocusDenied)
|
||||
+ if ((focus == CompFocusDenied || focus == CompFocusPrevent) && (w->type & ~NO_FOCUS_MASK))
|
||||
stackingMode = CompStackingUpdateModeInitialMapDeniedFocus;
|
||||
else
|
||||
stackingMode = CompStackingUpdateModeInitialMap;
|
|
@ -1,35 +0,0 @@
|
|||
diff -upr compiz-0.8.8-orig/gtk/window-decorator/gtk-window-decorator.c compiz-0.8.8/gtk/window-decorator/gtk-window-decorator.c
|
||||
--- compiz-0.8.8-orig/gtk/window-decorator/gtk-window-decorator.c 2012-05-16 12:40:35.000000000 +0200
|
||||
+++ compiz-0.8.8/gtk/window-decorator/gtk-window-decorator.c 2012-05-16 13:55:44.000000000 +0200
|
||||
@@ -1318,7 +1318,7 @@ draw_window_decoration (decor_t *d)
|
||||
}
|
||||
}
|
||||
|
||||
-#ifdef USE_MARCO
|
||||
+
|
||||
static void
|
||||
decor_update_meta_window_property (decor_t *d,
|
||||
MetaTheme *theme,
|
||||
@@ -1405,17 +1405,16 @@ meta_get_corner_radius (const MetaFrameG
|
||||
int *bottom_right_radius)
|
||||
{
|
||||
|
||||
-#ifdef HAVE_MARCO_2_17_0
|
||||
+#ifdef HAVE_MARCO_1_2_0
|
||||
*top_left_radius = fgeom->top_left_corner_rounded_radius;
|
||||
*top_right_radius = fgeom->top_right_corner_rounded_radius;
|
||||
*bottom_left_radius = fgeom->bottom_left_corner_rounded_radius;
|
||||
*bottom_right_radius = fgeom->bottom_right_corner_rounded_radius;
|
||||
#else
|
||||
- *top_left_radius = fgeom->top_left_corner_rounded ? 5 : 0;
|
||||
- *top_right_radius = fgeom->top_right_corner_rounded ? 5 : 0;
|
||||
- *bottom_left_radius = fgeom->bottom_left_corner_rounded ? 5 : 0;
|
||||
- *bottom_right_radius = fgeom->bottom_right_corner_rounded ? 5 : 0;
|
||||
-#endif
|
||||
+ *top_left_radius = fgeom->top_left_corner_rounded_radius;
|
||||
+ *top_right_radius = fgeom->top_right_corner_rounded_radius;
|
||||
+ *bottom_left_radius = fgeom->bottom_left_corner_rounded_radius;
|
||||
+ *bottom_right_radius = fgeom->bottom_right_corner_rounded_radius;
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue