summaryrefslogtreecommitdiffstats
path: root/superkaramba/examples/taskBar/cleanbar/cleanbar.py
diff options
context:
space:
mode:
Diffstat (limited to 'superkaramba/examples/taskBar/cleanbar/cleanbar.py')
-rw-r--r--superkaramba/examples/taskBar/cleanbar/cleanbar.py180
1 files changed, 88 insertions, 92 deletions
diff --git a/superkaramba/examples/taskBar/cleanbar/cleanbar.py b/superkaramba/examples/taskBar/cleanbar/cleanbar.py
index c0da2a2..16bd18f 100644
--- a/superkaramba/examples/taskBar/cleanbar/cleanbar.py
+++ b/superkaramba/examples/taskBar/cleanbar/cleanbar.py
@@ -34,7 +34,7 @@ havexwi = os.system("which xwininfo")
if (havexwi == 0):
pass
else:
- print "\nCan't find xwininfo in your path."
+ print("\nCan't find xwininfo in your path.")
fp = os.popen("xwininfo -root -stats")
output = fp.read()
@@ -49,8 +49,6 @@ for x in output:
resY = int(param[1])
-
-
def drawTaskbar(widget):
global taskPanels
global taskText
@@ -81,40 +79,41 @@ def drawTaskbar(widget):
#build groups list that contains sub-lists of taskInfo sorted by group
for j in range(len(taskList)):
taskinfo = karamba.getTaskInfo(widget, taskList[j])
-
- if knownGroups.has_key(taskinfo[2]) == 0:
- groupCount = groupCount + 1
- if (taskinfo[7] == 1):
- activeGroup = groupCount
- knownGroups[taskinfo[2]] = 1
- thisGroup = []
- thisGroup.append(taskinfo)
- groupRefs[taskinfo[2]] = len(groups)
- groups.append(thisGroup)
- else:
- if (taskinfo[7] == 1):
- activeGroup = groupRefs[taskinfo[2]] + 1
- knownGroups[taskinfo[2]] = knownGroups[taskinfo[2]] + 1
- thisGroup = groups[groupRefs[taskinfo[2]]]
- thisGroup.append(taskinfo)
-
+
+ if (taskinfo[2] in knownGroups) == 0:
+ groupCount = groupCount + 1
+ if (taskinfo[7] == 1):
+ activeGroup = groupCount
+ knownGroups[taskinfo[2]] = 1
+ thisGroup = []
+ thisGroup.append(taskinfo)
+ groupRefs[taskinfo[2]] = len(groups)
+ groups.append(thisGroup)
+ else:
+ if (taskinfo[7] == 1):
+ activeGroup = groupRefs[taskinfo[2]] + 1
+ knownGroups[taskinfo[2]] = knownGroups[taskinfo[2]] + 1
+ thisGroup = groups[groupRefs[taskinfo[2]]]
+ thisGroup.append(taskinfo)
+
#fill out the task bar
j = 0
- for group in groups:
+ for group in groups:
#safety check (could be more task groups than bar is long)
if (j < length):
- karamba.showImage(widget, taskPanels[j])
- if len(group) != 1:
- karamba.changeText(widget, taskText[j], group[0][2] + " [" + str(len(group)) + "]")
- else:
- karamba.changeText(widget, taskText[j], (group[0][0]))
- j = j + 1
+ karamba.showImage(widget, taskPanels[j])
+ if len(group) != 1:
+ karamba.changeText(widget, taskText[j], group[0][2].decode('utf-8') + ' [' + str(len(group)) + ']')
+ else:
+ karamba.changeText(widget, taskText[j], group[0][0].decode('utf-8'))
+ j = j + 1
if (activeGroup != 0):
- karamba.changeTextShadow(widget, taskText[activeGroup - 1], 1)
- karamba.changeTextColor(widget, taskText[activeGroup - 1], 239, 220, 11)
+ karamba.changeTextShadow(widget, taskText[activeGroup - 1], 1)
+ karamba.changeTextColor(widget, taskText[activeGroup - 1], 239, 220, 11)
-
+ karamba.moveWidget(widget, 0, resY - 32)
+ karamba.resizeWidget(widget, resX, resY)
karamba.redrawWidget(widget)
#this is called when your widget is initialized
@@ -126,7 +125,7 @@ def initWidget(widget):
global timeText
karamba.createImage(widget, resX - 149, 0, "pics/rightend_new.png")
- numOfTasks = (resX - 198 - 149)/121
+ numOfTasks = (resX - 198 - 149) // 121
timeText = karamba.createText(widget, resX - 149 + 54, 10, 140, 20, "time")
karamba.changeTextColor(widget, timeText, 0,0,0)
@@ -143,13 +142,13 @@ def initWidget(widget):
# called to indicate that a new task is currently started
def startupAdded(widget, startup):
- pass
+ pass
# called whenever a startup is removed. Which either means the task is
# successfully started (and taskAdded will be called), or the task could
# not be started for some reason.
def startupRemoved(widget, startup):
- pass
+ pass
# called whenever a new task has been started
def taskAdded(widget, task):
@@ -190,78 +189,75 @@ def widgetClicked(widget, x, y, button):
global taskMenu
global taskMenuLookup
- taskSelected = (x-198)/121
+ taskSelected = (x-198) // 121
## Make sure its a valid task
if (0 <= taskSelected < numOfTasks):
taskList = karamba.getTaskList(widget)
#free last menu
- karamba.deleteMenu(widget, taskMenu)
-
- #create new menu
- taskMenu = karamba.createMenu(widget)
- taskMenuLoopup = {}
-
- length = len(taskList)
- if (numOfTasks < length):
- length = numOfTasks
-
-
- knownGroups = {}
- groups = []
- groupRefs = {}
- for j in range(len(taskList)):
- taskinfo = karamba.getTaskInfo(widget, taskList[j])
-
- if knownGroups.has_key(taskinfo[2]) == 0:
- knownGroups[taskinfo[2]] = 1
- thisGroup = []
- thisGroup.append(taskinfo)
- groupRefs[taskinfo[2]] = len(groups)
- groups.append(thisGroup)
- else:
- knownGroups[taskinfo[2]] = knownGroups[taskinfo[2]] + 1
- thisGroup = groups[groupRefs[taskinfo[2]]]
- thisGroup.append(taskinfo)
-
- if taskSelected < len(groups):
- taskGroup = groups[taskSelected]
-
-
- if len(taskGroup) == 1:
- #only one task in group - just switch to that app
- ## perform the task action (see Task API for list of numbers)
- karamba.performTaskAction(widget, taskGroup[0][8], 8)
-
- else:
- #more than one task in this group, make a popup
- for task in taskGroup:
- #if it's minimized, put []'s around name
- if task[5] == 1:
- item = karamba.addMenuItem(widget, taskMenu, "[ " + task[0] + " ]", task[2])
- else:
- item = karamba.addMenuItem(widget, taskMenu, task[0], task[2])
- #save the taskInfo item for later use
- #so we will know info for the task that
- #will be clicked in the callback
- taskMenuLookup[item] = task
-
- numOfItems = len(taskGroup)
- karamba.popupMenu(widget, taskMenu, 198 + (121*taskSelected), -1 * (numOfItems * 26))
-
-
+ karamba.deleteMenu(widget, taskMenu)
+
+ #create new menu
+ taskMenu = karamba.createMenu(widget)
+ taskMenuLoopup = {}
+
+ length = len(taskList)
+ if (numOfTasks < length):
+ length = numOfTasks
+
+
+ knownGroups = {}
+ groups = []
+ groupRefs = {}
+ for j in range(len(taskList)):
+ taskinfo = karamba.getTaskInfo(widget, taskList[j])
+
+ if (taskinfo[2] in knownGroups) == 0:
+ knownGroups[taskinfo[2]] = 1
+ thisGroup = []
+ thisGroup.append(taskinfo)
+ groupRefs[taskinfo[2]] = len(groups)
+ groups.append(thisGroup)
+ else:
+ knownGroups[taskinfo[2]] = knownGroups[taskinfo[2]] + 1
+ thisGroup = groups[groupRefs[taskinfo[2]]]
+ thisGroup.append(taskinfo)
+
+ if taskSelected < len(groups):
+ taskGroup = groups[taskSelected]
+
+ if len(taskGroup) == 1:
+ #only one task in group - just switch to that app
+ ## perform the task action (see Task API for list of numbers)
+ karamba.performTaskAction(widget, taskGroup[0][8], 8)
+ else:
+ #more than one task in this group, make a popup
+ for task in taskGroup:
+ #if it's minimized, put []'s around name
+ if task[5] == 1:
+ item = karamba.addMenuItem(widget, taskMenu, "[ " + task[0].decode('utf-8') + " ]", task[2].decode('utf-8'))
+ else:
+ item = karamba.addMenuItem(widget, taskMenu, task[0].decode('utf-8'), task[2].decode('utf-8'))
+ #save the taskInfo item for later use
+ #so we will know info for the task that
+ #will be clicked in the callback
+ taskMenuLookup[item] = task
+
+ numOfItems = len(taskGroup)
+ karamba.popupMenu(widget, taskMenu, 198 + (121*taskSelected), -1 * (numOfItems * 26))
if (taskSelected == numOfTasks):
karamba.toggleShowDesktop(widget)
+
#This gets called when an item is clicked in a popup menu you have created.
# menu = a reference to the menu
# id = the number of the item that was clicked.
def menuItemClicked(widget, menu, id):
- global taskMenuLookup
+ global taskMenuLookup
- taskinfo = taskMenuLookup[id]
- karamba.performTaskAction(widget, taskinfo[8], 8)
-
+ taskinfo = taskMenuLookup[id]
+ karamba.performTaskAction(widget, taskinfo[8], 8)
+