Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 04/02/2008, à 10:36

informaticous

compiz fusion

Bonjour, j'ai instaler compiz fusion et soudin j'arrive plus a le lancè

ccsm

voila le resulta

studio@dubrol:~$ ccsm
Traceback (most recent call last):
  File "/usr/bin/ccsm", line 45, in <module>
    idle = ccm.IdleSettingsParser(context)
  File "usr/lib/python2.5/site-packages/ccm/Utils.py", line 229, in __init__
  File "usr/lib/python2.5/site-packages/ccm/Utils.py", line 228, in <lambda>
  File "usr/lib/python2.5/site-packages/ccm/Utils.py", line 225, in FilterPlugin
AttributeError: 'compizconfig.Plugin' object has no attribute 'Initialized'

help aider moi svp merci


j'y suis, j'y reste

Hors ligne

#2 Le 04/02/2008, à 10:50

lolo20

Re : compiz fusion

Bizzare.....
tu peut poster /usr/bin/compiz on dirait qu'il y a une couille à  la ligne 45


Devant la poule le grain de maïs a toujours tort............................

Hors ligne

#3 Le 04/02/2008, à 10:56

informaticous

Re : compiz fusion

#!/bin/sh
# Compiz Manager wrapper script
# 
# Copyright (c) 2007 Kristian Lyngstà¸l <kristian@bohemians.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
#
#
# Contributions by: Trevià±o (3v1n0) <trevi55@gmail.com>, Ubuntu Packages
#
# Much of this code is based on Beryl code, also licensed under the GPL.
# This script will detect what options we need to pass to compiz to get it
# started, and start a default plugin and possibly window decorator.
# 


COMPIZ_BIN_PATH="/usr/local/bin/" # For window decorators and compiz
PLUGIN_PATH="/usr/local/lib/compiz/" 
GLXINFO="/usr/bin/glxinfo"
KWIN="/usr/bin/kwin"
METACITY="/usr/bin/metacity"
COMPIZ_NAME="compiz" # Final name for compiz (compiz.real) 

# For Xgl LD_PRELOAD
LIBGL_NVIDIA="/usr/lib/nvidia/libGL.so.1.2.xlibmesa"
LIBGL_FGLRX="/usr/lib/fglrx/libGL.so.1.2.xlibmesa"

# Minimum amount of memory (in kilo bytes) that nVidia cards need
# to be allowed to start
# Set to 262144 to require 256MB
NVIDIA_MEMORY="65536" # 64MB
NVIDIA_SETTINGS="nvidia-settings" # Assume it's in the path by default

# For detecting what driver is in use, the + is for one or more /'s
XORG_DRIVER_PATH="/usr/lib/xorg/modules/drivers/+"

FALLBACKWM="${METACITY}"
FALLBACKWM_OPTIONS="--replace $@"

# Driver whitelist
WHITELIST="nvidia intel ati radeon i810"

# blacklist based on the pci ids 
# See http://wiki.compiz-fusion.org/Hardware/Blacklist for details
T="   1002:5954 1002:5854 1002:5955" # ati rs480
T="$T 1002:4153" # ATI Rv350
T="$T 8086:2982 8086:2992 8086:29a2 8086:2a02 8086:2a12"  # intel 965
T="$T 8086:2972" # i965 (x3000)
T="$T 1002:3152 1002:3150 1002:5462 1002:5653 " # ati X300 X600,X600 X700 
BLACKLIST_PCIIDS="$T"
unset T

COMPIZ_OPTIONS="--ignore-desktop-hints --replace"
COMPIZ_PLUGINS=""
ENV=""

# Use emerald by default if it exist
USE_EMERALD="yes"

# No indirect by default
INDIRECT="no"

# Set to yes to enable verbose
VERBOSE="yes"

# Echos the arguments if verbose
verbose()
{
	if [ "x$VERBOSE" = "xyes" ]; then
		printf "$*"
	fi
}

# abort script and run fallback windowmanager
abort_with_fallback_wm()
{
	if [ "x$SKIP_CHECKS" = "xyes" ]; then
		verbose "SKIP_CHECKS is yes, so continuing despite problems.\n"
		return 0;
	fi

	verbose "aborting and using fallback: $FALLBACKWM \n"

	if [ -x $FALLBACKWM ]; then
		exec $FALLBACKWM $FALLBACKWM_OPTIONS
	else
		printf "no $FALLBACKWM found, exiting\n"
		exit 1
	fi
}

# Check for non power of two texture support
check_npot_texture()
{
	verbose "Checking for non power of two support: "
	if glxinfo 2> /dev/null | egrep -q '(GL_ARB_texture_non_power_of_two|GL_NV_texture_rectangle|GL_EXT_texture_rectangle|GL_ARB_texture_rectangle)' ; then
		verbose "present. \n";
		return 0;
	else
		verbose "Not present. \n"
		return 1;
	fi

}

# Check for presence of FBConfig
check_fbconfig()
{
	verbose "Checking for FBConfig: "
	if [ "$INDIRECT" = "yes" ]; then
		$GLXINFO -i | grep -q GLX.*fbconfig 
		FB=$?
	else
		$GLXINFO | grep -q GLX.*fbconfig 
		FB=$?
	fi

	if [ $FB = "0" ]; then
		unset FB
		verbose "present. \n"
		return 0;
	else
		unset FB
		verbose "not present. \n"
		return 1;
	fi
}


# Check for TFP
check_tfp()
{
	verbose "Checking for texture_from_pixmap: "
	if [ $($GLXINFO 2>/dev/null | grep GLX_EXT_texture_from_pixmap -c) -gt 2 ] ; then
		verbose "present. \n"
		return 0;
	else
		verbose "not present. \n"
		if [ "$INDIRECT" = "yes" ]; then
			unset LIBGL_ALWAYS_INDIRECT
			INDIRECT="no"
			return 1;
		else
			verbose "Trying again with indirect rendering:\n";
			INDIRECT="yes"
			export LIBGL_ALWAYS_INDIRECT=1
			check_tfp;
			return $?
		fi
	fi
}

# Check wether the composite extension is present
check_composite()
{
	verbose "Checking for Composite extension: "
	if xdpyinfo -queryExtensions | grep -q Composite ; then
		verbose "present. \n";
		return 0;
	else
		verbose "not present. \n";
		return 1;
	fi
}

# Detects if Xgl is running
check_xgl()
{
	verbose "Checking for Xgl: "
	if xvinfo | grep -q Xgl ; then
		verbose "present. \n"
		return 0;
	else
		verbose "not present. \n"
		return 1;
	fi
}

# Check if the nVidia card has enough video ram to make sense
check_nvidia_memory()
{
	MEM=$(${NVIDIA_SETTINGS} -q VideoRam | egrep Attribute\ \'VideoRam\'\ .*: | cut -d: -f3 | sed 's/[^0-9]//g')
	if [ $MEM -lt $NVIDIA_MEMORY ]; then
		verbose "Less than ${NVIDIA_MEMORY}kb of memory and nVidia";
		return 1;
	fi
	return 0;
}

# Check for existence if NV-GLX
check_nvidia()
{
	if [ ! -z $NVIDIA_INTERNAL_TEST ]; then
		return $NVIDIA_INTERNAL_TEST;
	fi
	verbose "Checking for nVidia: "
	if xdpyinfo | grep -q NV-GLX ; then
		verbose "present. \n"
		NVIDIA_INTERNAL_TEST=0
		return 0;
	else
		verbose "not present. \n"
		NVIDIA_INTERNAL_TEST=1
		return 1;
	fi
}

# Check if the max texture size is large enough compared to the resolution
check_texture_size()
{
	TEXTURE_LIMIT=$(glxinfo -l | grep GL_MAX_TEXTURE_SIZE | sed 's/.*=[^0-9]//g')
	RESOLUTION=$(xdpyinfo  | grep -i dimensions: | sed 's/[^0-9]*pixels.*(.*).*//' | sed 's/[^0-9x]*//')
	VRES=$(echo $RESOLUTION | sed 's/.*x//')
	HRES=$(echo $RESOLUTION | sed 's/x.*//')
	verbose "Comparing resolution ($RESOLUTION) to maximum 3D texture size ($TEXTURE_LIMIT): ";
	if [ $VRES -gt $TEXTURE_LIMIT ] || [ $HRES -gt $TEXTURE_LIMIT ]; then
		verbose "Failed.\n"
		return 1;
	fi
	verbose "Passed.\n"
	return 0
}

# check driver whitelist
running_under_whitelisted_driver()
{
	LOG=$(xset q|grep "Log file"|awk '{print $3}')
	if [ -z "$LOG" ];then
		verbose "AIEEEEH, no Log file found \n"
		verbose "$(xset q) \n"
	return 0
	fi
	for DRV in ${WHITELIST}; do
		if egrep -q "Loading ${XORG_DRIVER_PATH}${DRV}_drv\.so" $LOG &&
		   ! egrep -q "Unloading ${XORG_DRIVER_PATH}${DRV}_drv\.so" $LOG; 
		then
			return 0
		fi
	done
	verbose "No whitelisted driver found\n"
	return 1
}

# check pciid blacklist
have_blacklisted_pciid()
{
	OUTPUT=$(lspci -n)
	for ID in ${BLACKLIST_PCIIDS}; do
		if echo "$OUTPUT" | egrep -q "$ID"; then
			verbose "Blacklisted PCIID '$ID' found \n"
			return 0
		fi
	done
	OUTPUT=$(lspci -vn | grep -i VGA)
	verbose "Detected PCI ID for VGA: $OUTPUT\n"
	return 1
}

build_env()
{
	if check_nvidia; then
		ENV="__GL_YIELD=NOTHING "
	fi
	if [ "$INDIRECT" = "yes" ]; then
		ENV="$ENV LIBGL_ALWAYS_INDIRECT=1 "
	fi
	if check_xgl; then
		if [ -f ${LIBGL_NVIDIA} ]; then
			ENV="$ENV LD_PRELOAD=${LIBGL_NVIDIA}"
			verbose "Enabling Xgl with nVidia drivers...\n"
		fi
		if [ -f ${LIBGL_FGLRX} ]; then
			ENV="$ENV LD_PRELOAD=${LIBGL_FGLRX}"
			verbose "Enabling Xgl with fglrx ATi drivers...\n"
		fi
	fi

	ENV="$ENV FROM_WRAPPER=yes"

	if [ -n "$ENV" ]; then
		export $ENV
	fi
}

build_args()
{
	if [ $INDIRECT = "yes" ]; then
		COMPIZ_OPTIONS="$COMPIZ_OPTIONS --indirect-rendering "
	fi
	if check_nvidia; then
		COMPIZ_OPTIONS="$COMPIZ_OPTIONS --loose-binding"
	fi
}

####################
# Execution begins here.

# Read configuration from XDG paths
if [ -z "$XDG_CONFIG_DIRS" ]; then
	test -f /etc/xdg/compiz/compiz-manager && . /etc/xdg/compiz/compiz-manager
else
	test -f $XDG_CONFIG_DIRS/compiz/compiz-manager && . $XDG_CONFIG_DIRS/compiz/compiz-manager
fi

if [ -z "$XDG_CONFIG_HOME" ]; then
	test -f $HOME/.config/compiz/compiz-manager && . $HOME/.config/compiz/compiz-manager
else
	test -f $XDG_CONFIG_HOME/compiz/compiz-manager && .  $XDG_CONFIG_HOME/compiz/compiz-manager
fi

# Don't use compiz when running the failsafe session
if [ "x$GNOME_DESKTOP_SESSION_ID" = "xFailsafe" ]; then
	abort_with_fallback_wm
fi

if [ "x$LIBGL_ALWAYS_INDIRECT" = "x1" ]; then
	INDIRECT="yes";
fi

# if we run under Xgl, we can skip some tests here
if ! check_xgl; then
	# if vesa or vga are in use, do not even try glxinfo (LP#119341)
	if ! running_under_whitelisted_driver || have_blacklisted_pciid; then
		abort_with_fallback_wm
	fi
	# check if we have the required bits to run compiz and if not, 
	# fallback
	if ! check_tfp || ! check_npot_texture || ! check_composite || ! check_texture_size; then
		abort_with_fallback_wm
	fi

	if check_nvidia && ! check_nvidia_memory; then
		abort_with_fallback_wm
	fi

	if ! check_fbconfig; then
		abort_with_fallback_wm
	fi
fi

# load the ccp plugin if present and fallback to plain gconf if not
if [ -f ${PLUGIN_PATH}libccp.so ]; then
	COMPIZ_PLUGINS="$COMPIZ_PLUGINS ccp"
elif [ -f ${PLUGIN_PATH}libgconf.so ]; then
	COMPIZ_PLUGINS="$COMPIZ_PLUGINS glib gconf"
fi

# get environment
build_env
build_args

# start the gtk-window-decorator if present
if [ -x ${COMPIZ_BIN_PATH}emerald ] && [ "$USE_EMERALD" = "yes" ]; then
	verbose "Starting emerald\n"
	${COMPIZ_BIN_PATH}emerald --replace &
elif [ -x ${COMPIZ_BIN_PATH}gtk-window-decorator ] && [ -n "$GNOME_DESKTOP_SESSION_ID" ]; then
	verbose "Starting gtk-window-decorator\n"
	${COMPIZ_BIN_PATH}gtk-window-decorator --replace &
elif [ -x ${COMPIZ_BIN_PATH}kde-window-decorator ] && [ -n "$KDE_FULL_SESSION" ]; then
	verbose "Starting kde-window-decorator\n"
	${COMPIZ_BIN_PATH}kde-window-decorator --replace &
	FALLBACKWM="${KWIN}"
fi

${COMPIZ_BIN_PATH}${COMPIZ_NAME} $COMPIZ_OPTIONS "$@" $COMPIZ_PLUGINS || exec $FALLBACKWM $FALLBACKWM_OPTIONS

voila merci d'avoir fait vite

ligne 45 : NVIDIA_SETTINGS="nvidia-settings" # Assume it's in the path by default

Dernière modification par informaticous (Le 04/02/2008, à 11:17)


j'y suis, j'y reste

Hors ligne

#4 Le 04/02/2008, à 11:10

informaticous

Re : compiz fusion

et ausi /usr/lib/python2.5/site-packages/ccm/Utils.py comme ça tu l'aura

#!/usr/bin/env python
# -*- coding: UTF-8 -*-

# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, 
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
#
# Authors: Quinn Storm (quinn@beryl-project.org)
#          Patrick Niklaus (marex@opencompositing.org)
#          Guillaume Seguin (guillaume@segu.in)
# Copyright (C) 2007 Quinn Storm

import os

import pygtk
import gtk
import gtk.gdk
import gobject

from ccm.Constants import *

import locale
import gettext
locale.setlocale(locale.LC_ALL, "")
gettext.bindtextdomain("ccsm", DataDir + "/locale")
gettext.textdomain("ccsm")
_ = gettext.gettext

IconTheme = gtk.icon_theme_get_default()
if not IconDir in IconTheme.get_search_path():
    IconTheme.prepend_search_path(IconDir)

def gtk_process_events ():
    while gtk.events_pending ():
        gtk.main_iteration ()

def protect_pango_markup (string):
    string = string.replace ("&", "&amp;")
    return string.replace ("<", "&lt;").replace (">", "&gt;")

def makeCustomSetting (desc, integrated, widget, reset):
    box = gtk.HBox ()
    label = gtk.Label (desc)
    if integrated:
        label.set_markup ("<span foreground=\"blue\">%s</span>" % desc)
    align = gtk.Alignment (0, 0.5)
    align.add (label)
    widgetAlign = gtk.Alignment (0, 0.5)
    widgetAlign.set_padding (0, 0, 0, 10)
    widgetAlign.add (widget)
    box.pack_start (align, True, True)
    box.pack_start (widgetAlign, False, False)
    box.pack_start (reset, False, False)
    return box

def getScreens():
    screens = []
    display = gtk.gdk.display_get_default()
    nScreens = display.get_n_screens()
    for i in range(nScreens):
        screens.append(i)
    return screens

class Style:
    def __init__(self):
        fakeWindow = gtk.Window()
        styleWidget = gtk.Entry()
        fakeWindow.add(styleWidget)
        styleWidget.realize()
        bc = styleWidget.style.bg[gtk.STATE_SELECTED]
        self.BrightColor = "#%.4x%.4x%.4x" % (bc.red, bc.green, bc.blue)
        bc = styleWidget.style.light[gtk.STATE_NORMAL]
        self.BackgroundColor = "#%.4x%.4x%.4x" % (bc.red, bc.green, bc.blue)
        styleWidget.destroy()
        fakeWindow.destroy()

class Image (gtk.Image):

    def __init__ (self, name = None, type = ImageNone, size = 32):
        gtk.Image.__init__ (self)

        if not name:
            return

        try:
            if type in  (ImagePlugin, ImageCategory, ImageThemed):
                pixbuf = None
                
                if type == ImagePlugin:
                    name = "plugin-" + name
                    try:
                        pixbuf = IconTheme.load_icon (name, size, 0)
                    except gobject.GError:
                        pixbuf = IconTheme.load_icon ("plugin-unknown", size, 0)
                
                elif type == ImageCategory:
                    name = "plugins-" + name
                    try:
                        pixbuf = IconTheme.load_icon (name, size, 0)
                    except gobject.GError:
                        pixbuf = IconTheme.load_icon ("plugins-unknown", size, 0)
                
                else:
                    pixbuf = IconTheme.load_icon (name, size, 0)

                self.set_from_pixbuf (pixbuf)
            
            elif type == ImageStock:
                self.set_from_stock (name, size)
        except gobject.GError, e:
            self.set_from_stock (gtk.STOCK_MISSING_IMAGE, gtk.ICON_SIZE_BUTTON)

class ActionImage (gtk.Alignment):

    map = {
            "keyboard"  : "input-keyboard",
            "button"    : "input-mouse",
            "edges"     : "video-display",
            "bell"      : "audio-x-generic"
          }

    def __init__ (self, action):
        gtk.Alignment.__init__ (self, 0, 0.5)
        self.set_padding (0, 0, 0, 10)
        if action in self.map: action = self.map[action]
        self.add (Image (name = action, type = ImageThemed, size = 22))

class SizedButton (gtk.Button):

    minWidth = -1
    minHeight = -1

    def __init__ (self, minWidth = -1, minHeight = -1):
        super (SizedButton, self).__init__ ()
        self.minWidth = minWidth
        self.minHeight = minHeight
        self.connect ("size-request", self.adjust_size)

    def adjust_size (self, widget, requisition):
        width, height = requisition.width, requisition.height
        newWidth = max (width, self.minWidth)
        newHeight = max (height, self.minHeight)
        self.set_size_request (newWidth, newHeight)

class PrettyButton (gtk.Button):

    __gsignals__ = {
        'expose-event'      : 'override',
    }

    def __init__ (self):
        super (PrettyButton, self).__init__ ()
        self.states = {
                        "focus"   : False,
                        "pointer" : False
                      }
        self.set_size_request (200, -1)
        self.set_relief (gtk.RELIEF_NONE)
        self.connect ("focus-in-event", self.update_state_in, "focus")
        self.connect ("focus-out-event", self.update_state_out, "focus")

    def update_state_in (self, *args):
        state = args[-1]
        self.set_state (gtk.STATE_PRELIGHT)
        self.states[state] = True

    def update_state_out (self, *args):
        state = args[-1]
        self.states[state] = False
        if True in self.states.values ():
            self.set_state (gtk.STATE_PRELIGHT)
        else:
            self.set_state (gtk.STATE_NORMAL)

    def do_expose_event (self, event):
        has_focus = self.flags () & gtk.HAS_FOCUS
        if has_focus:
            self.unset_flags (gtk.HAS_FOCUS)

        ret = super (PrettyButton, self).do_expose_event (self, event)

        if has_focus:
            self.set_flags (gtk.HAS_FOCUS)

        return ret

class Label(gtk.Label):
    def __init__(self, value = "", wrap = 160):
        gtk.Label.__init__(self, value)
        self.props.xalign = 0
        self.props.wrap_mode = gtk.WRAP_WORD
        self.set_line_wrap(True)
        self.set_size_request(wrap, -1)

class NotFoundBox(gtk.Alignment):
    def __init__(self, value):
        gtk.Alignment.__init__(self, 0.5, 0.5, 0.0, 0.0)
        
        box = gtk.HBox()
        self.Warning = gtk.Label()
        self.Markup = _("<span size=\"large\"><b>No matches found.</b> </span><span>\n\n Your filter \"<b>%s</b>\" does not match any items.</span>")
        self.Warning.set_markup(self.Markup % value)
        image = Image("face-surprise", ImageThemed, 48)
            
        box.pack_start(image, False, False, 0)
        box.pack_start(self.Warning, True, True, 15)
        self.add(box)

    def update(self, value):
        self.Warning.set_markup(self.Markup % value)

class IdleSettingsParser:
    def __init__(self, context):
        def FilterPlugin (p):
            return not p.Initialized and p.Enabled

        self.Context = context
        self.PluginList = filter (lambda p: FilterPlugin (p[1]),
                                  self.Context.Plugins.items ())
        
        gobject.timeout_add (200, self.Wait)

    def Wait(self):
        if len (self.PluginList) == 0:
            return False
        
        gobject.idle_add (self.ParseSettings)
        
        return False
    
    def ParseSettings(self):
        name, plugin = self.PluginList[0]

        if not plugin.Initialized:
            plugin.Update ()

        self.PluginList.remove (self.PluginList[0])

        gobject.timeout_add (200, self.Wait)

        return False

# Updates all registered setting when they where changed through CompizConfig
class Updater:

    def __init__ (self):
        self.VisibleSettings = []
        self.Plugins = []
        self.NotRemoved = []

    def SetContext (self, context):
        self.Context = context

        gobject.timeout_add (2000, self.Update)

    def Append(self, setting):
        self.VisibleSettings.append(setting)

    def AppendPlugin (self, plugin):
        self.Plugins.append (plugin)

    def UpdateSetting (self, setting):
        for widget in self.VisibleSettings:
            if widget.Setting == setting:
                widget.Read ()
                break

    def Update(self):
        changed = self.Context.ProcessEvents()
        if changed:
            changedSettings = self.Context.ChangedSettings
            if len (filter (lambda s :  s.Plugin.Name == "core" and \
                                        s.Name == "active_plugins",
                            changedSettings)):
                map (lambda plugin: plugin.Read (), self.Plugins)
            for settingWidget in self.VisibleSettings:
                # Remove already destroyed widgets
                if not settingWidget.Widget.get_parent():
                    self.VisibleSettings.remove(settingWidget)
                
                # Exception for multi settings widgets (multi list widget, action page, etc.)
                if settingWidget.Setting.__class__ != list:
                    if settingWidget.Setting in changedSettings:
                        settingWidget.Read()
                        changedSettings.remove(settingWidget.Setting)
                else:
                    read = False
                    for setting in settingWidget.Setting:
                        if setting in changedSettings:
                            read = True
                            changedSettings.remove(setting)
                    if read:
                        settingWidget.Read()
            # For removing non-visible settings
            map (lambda s: changedSettings.remove (s),
                 filter (lambda s: s in changedSettings, self.NotRemoved))
            self.NotRemoved = changedSettings
            self.Context.ChangedSettings = changedSettings

        return True

GlobalUpdater = Updater ()

class PluginSetting:

    def __init__ (self, plugin, widget):
        self.Widget = widget
        self.Plugin = plugin
        GlobalUpdater.AppendPlugin (self)

    def Read (self):
        self.Widget.set_active (self.Plugin.Enabled)

class PureVirtualError(Exception):
    pass

def SettingSortCompare(v1, v2):
    return cmp(v1.Plugin.Ranking[v1.Name], v2.Plugin.Ranking[v2.Name])

def FirstItemSortCompare(sg1, sg2):
    return cmp(sg1[0], sg2[0])

def EnumSettingSortCompare(v1, v2):
    return cmp(v1[1], v2[1])

def PluginSortCompare(p1, p2):
    return cmp(p1.ShortDesc, p2.ShortDesc)

# singleRun is used to combine the run stages, in this case run is a list
# containing the run levels which should be used to filter the settings
def FilterSettings(settings, filter, run=0, singleRun=False):
    if filter == None:
        return settings

    filteredSettings = []

    for setting in settings:
        # First run, only search in shortDesc and name
        if run == 0 or (singleRun and run.count(0) != 0):
            shortDesc = setting.ShortDesc.lower()
            name = setting.Name.lower()
            if shortDesc.find(filter) != -1:
                filteredSettings.append(setting)
                continue
            elif name.find(filter) != -1:
                filteredSettings.append(setting)
                continue
        # Then in longDesc
        if run == 1 or (singleRun and run.count(1) != 0):
            longDesc = setting.LongDesc.lower()
            if longDesc.find(filter) != -1:
                filteredSettings.append(setting)
                continue
        # Finally search in the option value
        if run == 2 or (singleRun and run.count(2) != 0):
            value = ""
            # make sure enum settings work too
            if setting.Type == 'Int' and len(setting.Info[2].keys()) > 0:
                    value = sorted(setting.Info[2].items(), EnumSettingSortCompare)[setting.Value][0]
                    value = value.lower()
            # also make sure intDesc settings work right
            elif setting.Type == 'List' and setting.Info[0] == 'Int' and len(setting.Info[1][2]) > 0:
                for int in setting.Value:
                    for item in setting.Info[1][2].items():
                        if item[1] == int:
                            value += item[0]
                value = value.lower()
            else:
                value = str(setting.Value).lower()
            if value.find(filter) != -1:
                filteredSettings.append(setting)

    # Nothing was found, search also in the longDesc/value
    if len(filteredSettings) == 0 and run < 2 and not singleRun:
        return FilterSettings(settings, filter, run+1, False)

    return filteredSettings

def HasOnlyType (settings, type):
    f = filter (lambda s: s.Type != type, settings)
    return len (settings) > 0 and len (f) == 0

ligne 229 :                                   self.Context.Plugins.items ())
ligne 228 :         self.PluginList = filter (lambda p: FilterPlugin (p[1]),
ligne 225 :             return not p.Initialized and p.Enabled


j'y suis, j'y reste

Hors ligne

#5 Le 04/02/2008, à 11:21

lolo20

Re : compiz fusion

je vois rien
essaye de poster
/usr/bin/ccsm
c'est quoi ta carte graphique ?


Devant la poule le grain de maïs a toujours tort............................

Hors ligne

#6 Le 04/02/2008, à 11:26

informaticous

Re : compiz fusion

#!/usr/bin/python
# -*- coding: UTF-8 -*-

# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, 
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
#
# Authors: Quinn Storm (quinn@beryl-project.org)
#          Patrick Niklaus (marex@opencompositing.org)
# Copyright (C) 2007 Quinn Storm

import pygtk
pygtk.require('2.0')
import gtk

try:
    import sexy
    has_sexy = True
except ImportError:
    print "Info: No sexy-python package found, don't worry it's optional."
    has_sexy = False

if gtk.pygtk_version < (2,10,0):
    print "PyGtk 2.10.0 or later required"
    raise SystemExit

import compizconfig
import ccm
from ccm.Utils import GlobalUpdater

screens = ccm.getScreens()
context = compizconfig.Context(screens)
GlobalUpdater.SetContext (context)
mainWin = ccm.MainWin(context)
idle = ccm.IdleSettingsParser(context)
mainWin.show_all()

gtk.main()

carte graphique ati redeon 9550


j'y suis, j'y reste

Hors ligne

#7 Le 04/02/2008, à 11:39

lolo20

Re : compiz fusion

Bon bon bon le problème c'est que je suis pas chez moi je peut pas comparer
on peut essayer plusieurs choses
dans la ligne COMPIZ-PLUGINS après la ligne BLACKLIST de /usr/bin/compiz metttre "yes"
tu doit avoir le driver fglrx je suppose ? alors le rajouter dans WHITELIST devant nvidia si c'est le cas
ccm ça serait pas plutà´t ccsm ? a voir


Devant la poule le grain de maïs a toujours tort............................

Hors ligne

#8 Le 04/02/2008, à 11:51

Fred-Prague

Re : compiz fusion

Je ne suis pas un spécialiste de Compiz mais si tu as une carte graphique ATI, je ne suis pas étonné qu'il y ait des difficultés à lancer "nvidia-settings" qui est l'application de paramétrage du pilote propriétaire des cartes NVidia...
Ensuite, je ne sais pas comment corriger ça.

Bonne chance.


Ubuntero depuis février 2007
01/2017: Poste principal+portable+mes gamins: Ubuntu 16.04 LTS avec Unity ou Gnome Classic

Hors ligne

#9 Le 04/02/2008, à 11:53

lolo20

Re : compiz fusion

non c'est la ligne 45 de /usr/bin/ccsm qui est mentionnée


Devant la poule le grain de maïs a toujours tort............................

Hors ligne

#10 Le 04/02/2008, à 12:53

informaticous

Re : compiz fusion

desoler lolo20 mais les modifdication que tu ma conseillé non rien changé


j'y suis, j'y reste

Hors ligne

#11 Le 04/02/2008, à 17:17

informaticous

Re : compiz fusion

j'ai tout reinstaler c'est a dire ubuntu studio puis reinstalé compiz fusion et tout marche bien maintenant


j'y suis, j'y reste

Hors ligne