rendered paste body#!/usr/bin/env python
# Author(s): xsacha
import sys
from time import sleep
from PyQt4 import QtGui, QtCore
from libfusionicon import *
#Defs
def open_ccsm():
subprocess.Popen(['ccsm'])
def open_emeraldthemes():
subprocess.Popen(['emerald-theme-manager'])
def reload_wm():
print '* Reloading Window Manager ...'
start_wm()
def run_wm(str):
if get_setting('window manager', 'active wm') != str:
set_old_wm()
set_setting('window manager', 'active wm', str)
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_setting('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')
if get_setting('window manager', 'active wm') == compiz:
reload_wm()
def toggleLB():
if int(get_setting('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')
if get_setting('window manager', 'active wm') == compiz:
reload_wm()
def toggleEmerald():
os.system('killall kde-window-decorator gtk-window-decorator 2>/dev/null')
set_decorator(emerald)
def toggleGWD():
os.system('killall kde-window-decorator emerald 2>/dev/null')
set_decorator(gwd)
def toggleKWD():
os.system('killall emerald gtk-window-decorator 2>/dev/null')
set_decorator(kwd)
#Run Menu
#QtGui.QApplication.setStyle(QtGui.QStyleFactory.create('Plastique'))
app = QtGui.QApplication(sys.argv)
SysTray = QtGui.QSystemTrayIcon(QtGui.QIcon(sys.path[0] + '/../icons/hicolor/22x22/apps/fusion-icon.png'))
SysTray.setToolTip("Compiz Fusion Icon")
active_wm = get_setting('window manager', 'active wm')
SysTray.managerMenu = QtGui.QMenu()
groupManager = QtGui.QActionGroup(SysTray.managerMenu)
if compiz != '':
actionCompiz = groupManager.addAction(SysTray.managerMenu.addAction("Compiz",runCompiz))
actionCompiz.setCheckable(True)
if active_wm == compiz:
actionCompiz.setChecked(True)
if is_installed('metacity'):
actionMetacity = groupManager.addAction(SysTray.managerMenu.addAction("Metacity",runMetacity))
actionMetacity.setCheckable(True)
if active_wm == 'metacity':
actionMetacity.setChecked(True)
if is_installed('kwin'):
actionKwin = groupManager.addAction(SysTray.managerMenu.addAction("Kwin",runKwin))
actionKwin.setCheckable(True)
if active_wm == 'kwin':
actionKwin.setChecked(True)
if is_installed('xfwm4'):
actionXfwm4 = groupManager.addAction(SysTray.managerMenu.addAction("Xfwm4",runXfwm4))
actionXfwm4.setCheckable(True)
if active_wm == 'xfwm4':
actionXfwm4.setChecked(True)
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 indirect_rendering:
actionIR.setChecked(True)
if always_indirect:
actionIR.setEnabled(False)
if loose_binding:
actionLB.setChecked(True)
SysTray.decoratorMenu = QtGui.QMenu()
groupDecorator = QtGui.QActionGroup(SysTray.decoratorMenu)
if is_installed('emerald'):
actionEmerald = groupDecorator.addAction(SysTray.decoratorMenu.addAction("Emerald",toggleEmerald))
actionEmerald.setCheckable(True)
if decosetting.Value == emerald:
actionEmerald.setChecked(True)
if is_installed('gtk-window-decorator'):
actionGWD = groupDecorator.addAction(SysTray.decoratorMenu.addAction("GTK Decorator",toggleGWD))
actionGWD.setCheckable(True)
if decosetting.Value == gwd:
actionGWD.setChecked(True)
if is_installed('kde-window-decorator'):
actionKWD = groupDecorator.addAction(SysTray.decoratorMenu.addAction("KDE Decorator",toggleKWD))
actionKWD.setCheckable(True)
if decosetting.Value == kwd:
actionKWD.setChecked(True)
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()
app.exec_()