Public feed #601611

Mine

public text v1 · immutable
Raw Edit
·published 2007-07-03 16:48 UTC
rendered paste body
#!/usr/bin/env python
# Author(s): xsacha
import sys
from PyQt4 import QtGui, QtCore
from libfusionicon import *

#Defs
def lockItem(action,b):
    if b:
        action.setChecked(True)
        action.setEnabled(False)
    else:
        action.setChecked(False)
        action.setEnabled(True)
def open_ccsm():
    Popen(['ccsm'])
def open_emeraldthemes():
    Popen(['emerald-theme-manager'])
def reload_wm():
    print '* Reloading Window Manager ...'
    start_wm()
def run_wm(str):
    if active_wm != str:
        set_setting('window manager', 'active wm', str)
        configuration.write(open(config_file, 'w'))
        print '* switching to', str,'...'
        start_wm()
def runCompiz():
    run_wm(compiz)
def runMetacity():
    run_wm('metacity')
def runKwin():
    run_wm('kwin')
def runXfwm4():
    run_wm('xfwm4')
def toggleIR():
    if int(get_config('compiz options', 'indirect rendering')):
        print '* disabling Indirect Rendering...'
        set_setting('compiz options', 'indirect rendering', '0')
    else:
        print '* enabling  Indirect Rendering...'
        set_setting('compiz options', 'indirect rendering', '1')
    configuration.write(open(config_file, 'w'))
    if active_wm == compiz:
        reload_wm()
def toggleLB():
    if int(get_config('compiz options', 'loose binding')):
        print '* disabling Loose Binding...'
        set_setting('compiz options', 'loose binding', '0')
    else:
        print '* enabling  Loose Binding...'
        set_setting('compiz options', 'loose binding', '1')
    configuration.write(open(config_file, 'w'))
    if active_wm == compiz:
        reload_wm()
def toggleEmerald():
    system('killall kde-window-decorator gwd-window-decorator 2>/dev/null')
    lockItem(actionGWD, False)
    lockItem(actionKWD, False)
    lockItem(actionEmerald, True)
    set_decorator(emerald)
def toggleGWD():
    system('killall kde-window-decorator emerald 2>/dev/null')
    lockItem(actionEmerald, False)
    lockItem(actionKWD, False)
    lockItem(actionGWD, True)
    set_decorator(gwd)
def toggleKWD():
    system('killall emerald gwd-window-decorator 2>/dev/null')
    set_decorator(kwd)
    lockItem(actionEmerald, False)
    lockItem(actionGWD, False)
    lockItem(actionKWD, True)

#Run Menu
QtGui.QApplication.setStyle(QtGui.QStyleFactory.create('Plastique'))
app = QtGui.QApplication(sys.argv)

SysTray = QtGui.QSystemTrayIcon(QtGui.QIcon('/usr/share/pixmaps/fusion-icon.png'))
SysTray.setToolTip("Compiz Fusion Icon")

SysTray.managerMenu = QtGui.QMenu()
if compiz != '':
    SysTray.managerMenu.addAction("Compiz",runCompiz)
if installed('metacity'):
    SysTray.managerMenu.addAction("Metacity",runMetacity)
if installed('kwin'):
    SysTray.managerMenu.addAction("Kwin",runKwin)
if installed('xfwm4'):
    SysTray.managerMenu.addAction("Xfwm4",runXfwm4)

SysTray.optionsMenu = QtGui.QMenu()
actionIR = SysTray.optionsMenu.addAction("Indirect Rendering",toggleIR)
actionIR.setCheckable(True)
actionLB = SysTray.optionsMenu.addAction("Loose Binding",toggleLB)
actionLB.setCheckable(True)
if always_indirect:
    lockItem(actionIR, True)
elif indirect_rendering:
    actionIR.setChecked(True)
if loose_binding:
    actionLB.setChecked(True)

SysTray.decoratorMenu = QtGui.QMenu()
actionEmerald = SysTray.decoratorMenu.addAction("Emerald",toggleEmerald)
actionEmerald.setCheckable(True)
if installed('emerald'):
    if decosetting.Value == emerald:
        lockItem(actionEmerald, True)
else:
    actionEmerald.setVisible(False)
actionGWD = SysTray.decoratorMenu.addAction("GTK Decorator",toggleGWD)
actionGWD.setCheckable(True)
if installed('gtk-window-decorator'):
    if decosetting.Value == gwd:
         lockItem(actionGWD, True)
else:
    actionGWD.setVisible(False)
actionKWD = SysTray.decoratorMenu.addAction("KDE Decorator",toggleKWD)
actionKWD.setCheckable(True)
if installed('kde-window-decorator'):
    if decosetting.Value == kwd:
         lockItem(actionKWD, True)
else:
    actionKWD.setVisible(False)

SysTray.menu = QtGui.QMenu()
SysTray.menu.addAction("Settings Manager",open_ccsm)
SysTray.menu.addAction("Emerald Theme Manager",open_emeraldthemes)
SysTray.menu.addSeparator()
SysTray.menu.addAction("Reload Window Manager",reload_wm)
SysTray.menu.addAction("Select Window Manager").setMenu(SysTray.managerMenu)
SysTray.menu.addAction("Compiz Options").setMenu(SysTray.optionsMenu)
SysTray.menu.addAction("Select Window Decorator").setMenu(SysTray.decoratorMenu)
SysTray.menu.addSeparator()
SysTray.menu.addAction("Quit",app.quit)
SysTray.setContextMenu(SysTray.menu)
SysTray.show()
if active_wm == compiz:
    reload_wm()
app.exec_()