From da9cd0c056c8275033fca84a1c8d49a8edb0c8ee Mon Sep 17 00:00:00 2001 From: Michele Calgaro Date: Fri, 11 Nov 2022 17:41:30 +0900 Subject: [PATCH] superkaramba: convert examples to python3. Signed-off-by: Michele Calgaro --- superkaramba/examples/autoHide/main.py | 22 +-- superkaramba/examples/bar/bar.py | 16 +- .../examples/change_interval/interval.py | 53 +++--- .../examples/control_management/mgmt.py | 50 ++--- .../disableRightClickMenu/disable_menu.py | 8 +- .../examples/globalMouse/extension/setup.py | 20 +- .../examples/globalMouse/extension/xcursor.c | 16 +- superkaramba/examples/globalMouse/eyes.py | 173 +++++++++-------- superkaramba/examples/globalMouse/xcursor.so | Bin 7465 -> 27408 bytes superkaramba/examples/graph/graph.py | 18 +- superkaramba/examples/image/image.py | 14 +- superkaramba/examples/input_api/input_api.py | 2 +- .../examples/input_example/input_example.py | 6 +- .../examples/mouseDrag/karmix/karmix.py | 2 +- superkaramba/examples/mouseDrop/mousedrop.py | 2 +- superkaramba/examples/popupMenu/popupMenu.py | 26 +-- superkaramba/examples/richtext/richtext.py | 8 +- superkaramba/examples/richtext/rtext.py | 20 +- .../examples/service_group/service_group.py | 39 ++-- superkaramba/examples/setIncomingData/2.py | 6 +- .../examples/taskBar/cleanbar/cleanbar.py | 180 +++++++++--------- superkaramba/examples/template.py | 2 +- superkaramba/examples/text/text.py | 20 +- superkaramba/examples/unicode/unicode.py | 4 +- 24 files changed, 355 insertions(+), 352 deletions(-) mode change 100644 => 100755 superkaramba/examples/globalMouse/xcursor.so diff --git a/superkaramba/examples/autoHide/main.py b/superkaramba/examples/autoHide/main.py index 85e2b37..0dce2e0 100644 --- a/superkaramba/examples/autoHide/main.py +++ b/superkaramba/examples/autoHide/main.py @@ -18,7 +18,6 @@ def widgetUpdated(widget): hidden = 1 karamba.moveWidget(widget, 0, -210) - #This gets called everytime our widget is clicked. #Notes: # widget = reference to our widget @@ -33,21 +32,10 @@ def widgetUpdated(widget): def widgetClicked(widget, x, y, button): pass -#This gets called everytime our widget is clicked. -#Notes -# widget = reference to our widget -# x = x position (relative to our widget) -# y = y position (relative to our widget) -# botton = button being held: -# 0 = No Mouse Button -# 1 = Left Mouse Button -# 2 = Middle Mouse Button -# 3 = Right Mouse Button, but this will never happen -# because the right mouse button brings up the -# Karamba menu. +#This gets called everytime the mouse moves on the widget area +#Warning: Don't do anything too intensive here +#You don't want to run some complex piece of code everytime the mouse moves def widgetMouseMoved(widget, x, y, button): - #Warning: Don't do anything too intensive here - #You don't want to run some complex piece of code everytime the mouse moves global hidden global counter if (hidden==1): @@ -55,8 +43,6 @@ def widgetMouseMoved(widget, x, y, button): hidden = 0 counter = 0 - - # This will be printed when the widget loads. -print "Loaded my python extension!" +print("Loaded my python extension!") diff --git a/superkaramba/examples/bar/bar.py b/superkaramba/examples/bar/bar.py index b018fe8..2ec029d 100644 --- a/superkaramba/examples/bar/bar.py +++ b/superkaramba/examples/bar/bar.py @@ -24,9 +24,9 @@ def widgetUpdated(widget): # vertical & bitmap b = karamba.getBarVertical(widget, bars[7]) - print "getVertical: " + str(b) + print("getVertical: " + str(b)) bmp = karamba.getBarImage(widget, bars[7]) - print "getBitmap: " + str(bmp) + print("getBitmap: " + str(bmp)) b = (b+1)%2 karamba.setBarVertical(widget, bars[7], b) if(b): @@ -38,13 +38,13 @@ def widgetUpdated(widget): # size & resize size = karamba.getBarSize(widget, bars[1]) - print "getBarSize: " + str(size) + print("getBarSize: " + str(size)) size = ((b * 100) + 100, size[1]) karamba.resizeBar(widget, bars[1], size[0], size[1]) # pos & move pos = karamba.getBarPos(widget, bars[2]) - print "getBarPos: " + str(pos) + print("getBarPos: " + str(pos)) pos = (b * 200, pos[1]) karamba.moveBar(widget, bars[2], pos[0], pos[1]) @@ -56,19 +56,19 @@ def widgetUpdated(widget): # Value v = karamba.getBarValue(widget, bars[5]) - print "getBarValue: ", v + print("getBarValue: ", v) v = (v + 10) % 110 karamba.setBarValue(widget, bars[5], v) # Min Max minmax = karamba.getBarMinMax(widget, bars[6]) - print "getBarMinMax: " + str(minmax) + print("getBarMinMax: " + str(minmax)) minmax = (0, (b * 100) + 100) karamba.setBarMinMax(widget, bars[6], minmax[0], minmax[1]) # Sensor sensor = karamba.getBarSensor(widget, bars[4]) - print "getSensor: " + str(sensor) + print("getSensor: " + str(sensor)) if(b): karamba.setBarSensor(widget, bars[4], 'SENSOR=SENSOR TYPE="cpu_temp"') else: @@ -90,4 +90,4 @@ def widgetMouseMoved(widget, x, y, button): pass # This will be printed when the widget loads. -print "Loaded Bar test python extension!" +print("Loaded Bar test python extension!") diff --git a/superkaramba/examples/change_interval/interval.py b/superkaramba/examples/change_interval/interval.py index 6c3422a..6a72434 100644 --- a/superkaramba/examples/change_interval/interval.py +++ b/superkaramba/examples/change_interval/interval.py @@ -11,50 +11,53 @@ text = None #this is called when you widget is initialized def initWidget(widget): - - karamba.redrawWidget(widget) + global seq + global text + seq = 0 + text = None + karamba.redrawWidget(widget) # sequence drops down to zero and changes the time interval to 1 second. # keeps counting down thereafter... def widgetUpdated(widget): - global seq - global text + global seq + global text - seq -= 1 + seq -= 1 - if seq <= 0: - karamba.changeInterval(widget, 1000) + if seq <= 0: + karamba.changeInterval(widget, 1000) - if seq <= 0: - message = "biding-time seq:%d" % -seq - else: - message = "wiggle seq:%d" % seq + if seq <= 0: + message = "biding-time seq:%d" % -seq + else: + message = "wiggle seq:%d" % seq - # delete previous text if exists. - if text is not None: - karamba.deleteText(widget, text) + # delete previous text if exists. + if text is not None: + karamba.deleteText(widget, text) - # display new message - text = karamba.createText(widget, 0, 20, 300, 20, message) - karamba.changeTextColor(widget, text, 252,252,252) + # display new message + text = karamba.createText(widget, 0, 20, 300, 20, message) + karamba.changeTextColor(widget, text, 252,252,252) - karamba.redrawWidget(widget) + karamba.redrawWidget(widget) # wiggle the mouse over the widget to get the sequence number increased more. # also set the refresh rate to 50ms so that the theme has to fight against # the wiggling. def widgetMouseMoved(widget, x, y, button): - global seq + global seq - if seq <= 0: - seq = 0 - karamba.changeInterval(widget, 50) + if seq <= 0: + seq = 0 + karamba.changeInterval(widget, 50) - seq += 1 - + seq += 1 + # This will be printed when the widget loads. -print "Loaded my python extension!" +print("Loaded my python extension!") diff --git a/superkaramba/examples/control_management/mgmt.py b/superkaramba/examples/control_management/mgmt.py index eae98c2..2e43634 100644 --- a/superkaramba/examples/control_management/mgmt.py +++ b/superkaramba/examples/control_management/mgmt.py @@ -10,40 +10,40 @@ mgmt_txt = None #this is called when you widget is initialized def initWidget(widget): - global do_nothing_txt - global do_something_txt + global do_nothing_txt + global do_something_txt - # display new message - do_nothing_txt = karamba.createText(widget, 0, 00, 300, 20, - "Right mouse click me!") - karamba.changeTextColor(widget, do_nothing_txt, 252,252,252) - mgmt_txt = karamba.createText(widget, 0, 20, 300, 20, - "Righ mouse click me too!") - karamba.changeTextColor(widget, mgmt_txt, 252,252,252) + # display new message + do_nothing_txt = karamba.createText(widget, 0, 00, 300, 20, + "Right mouse click me!") + karamba.changeTextColor(widget, do_nothing_txt, 252,252,252) + mgmt_txt = karamba.createText(widget, 0, 20, 300, 20, + "Righ mouse click me too!") + karamba.changeTextColor(widget, mgmt_txt, 252,252,252) - karamba.redrawWidget(widget) + karamba.redrawWidget(widget) - karamba.setWantRightButton(widget, 1) + karamba.setWantRightButton(widget, 1) def widgetUpdated(widget): - karamba.redrawWidget(widget) + karamba.redrawWidget(widget) def widgetClicked(widget, x, y, button): - global do_nothing_txt + global do_nothing_txt - if y < 20: - if do_nothing_txt is not None: - karamba.deleteText(widget, do_nothing_txt) - do_nothing_txt = karamba.createText(widget, - 0, 0, 300, 20, "I don't do anything when clicking here.") - karamba.changeTextColor(widget, do_nothing_txt, - 255,200,200) - karamba.redrawWidget(widget) - return + if y < 20: + if do_nothing_txt is not None: + karamba.deleteText(widget, do_nothing_txt) + do_nothing_txt = karamba.createText(widget, + 0, 0, 300, 20, "I don't do anything when clicking here.") + karamba.changeTextColor(widget, do_nothing_txt, + 255,200,200) + karamba.redrawWidget(widget) + return - karamba.managementPopup(widget) - + karamba.managementPopup(widget) + # This will be printed when the widget loads. -print "Loaded my python extension!" +print("Loaded my python extension!") diff --git a/superkaramba/examples/disableRightClickMenu/disable_menu.py b/superkaramba/examples/disableRightClickMenu/disable_menu.py index 6c524dd..e903d26 100644 --- a/superkaramba/examples/disableRightClickMenu/disable_menu.py +++ b/superkaramba/examples/disableRightClickMenu/disable_menu.py @@ -45,7 +45,7 @@ def widgetClicked(widget, x, y, button): if text2: karamba.deleteText(widget,text2) text2 = karamba.createText(widget,5,70,400,20,newText) - print newText + print(newText) elif not clicked and button == 1: clicked = True karamba.setWantRightButton(widget, True) @@ -53,9 +53,9 @@ def widgetClicked(widget, x, y, button): if text2: karamba.deleteText(widget,text2) text2 = karamba.createText(widget,5,70,400,20,newText) - print newText + print(newText) if button == 3: - print "Clicking the right mouse button is recognized now." + print("Clicking the right mouse button is recognized now.") karamba.redrawWidget(widget) #This gets called everytime our widget is clicked. @@ -173,4 +173,4 @@ def keyPressed(widget, meter, char): pass # This will be printed when the widget loads. -print "Loaded my python extension!" +print("Loaded my python extension!") diff --git a/superkaramba/examples/globalMouse/extension/setup.py b/superkaramba/examples/globalMouse/extension/setup.py index f33f8a6..49bd87b 100644 --- a/superkaramba/examples/globalMouse/extension/setup.py +++ b/superkaramba/examples/globalMouse/extension/setup.py @@ -1,12 +1,14 @@ from distutils.core import setup, Extension -module1 = Extension('xcursor', - include_dirs = ['/usr/X11R6/include'], - libraries = ['X11'], - library_dirs = ['/usr/X11R6/lib'], - sources = ['xcursor.c']) +def main(): + setup(name = 'XMouseCursor', + version = '1.0', + description = 'Determines the position of the X mouse cursor', + ext_modules = [Extension('xcursor', + include_dirs = ['/usr/X11R6/include'], + libraries = ['X11'], + library_dirs = ['/usr/X11R6/lib'], + sources = ['xcursor.c'])]) -setup (name = 'XMouseCursor', - version = '1.0', - description = 'Determines the position of the X mouse cursor', - ext_modules = [module1]) +if __name__ == "__main__": + main() diff --git a/superkaramba/examples/globalMouse/extension/xcursor.c b/superkaramba/examples/globalMouse/extension/xcursor.c index 8dad240..fbe80fa 100644 --- a/superkaramba/examples/globalMouse/extension/xcursor.c +++ b/superkaramba/examples/globalMouse/extension/xcursor.c @@ -26,6 +26,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ****************************************************************************/ +#define PY_SSIZE_T_CLEAN #include #include @@ -96,9 +97,16 @@ static PyMethodDef xcursorMethods[] = {NULL, NULL, 0, NULL} /* Sentinel */ }; -void initxcursor(void) +static struct PyModuleDef xcursordef = { - (void) Py_InitModule("xcursor", xcursorMethods); -} - + PyModuleDef_HEAD_INIT, + "xcursor", + NULL, + -1, + xcursorMethods +}; +PyMODINIT_FUNC PyInit_xcursor(void) +{ + return PyModule_Create(&xcursordef); +} diff --git a/superkaramba/examples/globalMouse/eyes.py b/superkaramba/examples/globalMouse/eyes.py index b95f86d..f6f3804 100644 --- a/superkaramba/examples/globalMouse/eyes.py +++ b/superkaramba/examples/globalMouse/eyes.py @@ -38,117 +38,122 @@ lp_width, lp_height = 11, 17 rp_width, rp_height = 11, 17 def pupille(mouse_x, mouse_y, eye_center_x, eye_center_y, eye_a, eye_b, widget_x, widget_y): - x = mouse_x - eye_center_x - widget_x - y = mouse_y - eye_center_y - widget_y - #print x, y + x = mouse_x - eye_center_x - widget_x + y = mouse_y - eye_center_y - widget_y + #print(x, y) - r = math.sqrt(x * x + y * y) - phi = math.atan2(y, x) - #print phi * math.pi + r = math.sqrt(x * x + y * y) + phi = math.atan2(y, x) + #print(phi * math.pi) - eye_x = eye_a * math.cos(phi) - eye_y = eye_b * math.sin(phi) - - eye_r = math.sqrt(eye_x * eye_x + eye_y * eye_y) + eye_x = eye_a * math.cos(phi) + eye_y = eye_b * math.sin(phi) + + eye_r = math.sqrt(eye_x * eye_x + eye_y * eye_y) - if eye_r < r: - return int(eye_x + eye_center_x), int(eye_y + eye_center_y) - - return int(x + eye_center_x), int(y + eye_center_y) + if eye_r < r: + return int(eye_x + eye_center_x), int(eye_y + eye_center_y) + + return int(x + eye_center_x), int(y + eye_center_y) - + #this is called when you widget is initialized def initWidget(widget): - pass + global init + global linkePupille + global rechtePupille + init = 0 + linkePupille = "" + rechtePupille = "" #this is called everytime your widget is updated #the update inverval is specified in the .theme file def widgetUpdated(widget): - global init - global linkePupille - global rechtePupille - - global w_width - global w_height + global init + global linkePupille + global rechtePupille + + global w_width + global w_height - global w_x - global w_y + global w_x + global w_y - global lx - global ly - global la - global lb + global lx + global ly + global la + global lb - global lp_width - global lp_height + global lp_width + global lp_height - global rx - global ry - global ra - global rb + global rx + global ry + global ra + global rb - global rp_width - global rp_height + global rp_width + global rp_height - global x_old - global y_old + global x_old + global y_old - if init == 0: - theme_path = karamba.getThemePath(widget) + "/" - - # read widget coordinates from eyes.theme - # f = open(theme_path + "eyes.theme") + if init == 0: + theme_path = karamba.getThemePath(widget) + "/" + + # read widget coordinates from eyes.theme + # f = open(theme_path + "eyes.theme") - # karamba_line = "" - #while re.compile('KARAMBA').search(karamba_line) == None: - # karamba_line = f.readline() + # karamba_line = "" + #while re.compile('KARAMBA').search(karamba_line) == None: + # karamba_line = f.readline() - #w_x = int(re.compile('X=([0-9]+)').search(karamba_line).group(1)) - #w_y = int(re.compile('Y=([0-9]+)').search(karamba_line).group(1)) + #w_x = int(re.compile('X=([0-9]+)').search(karamba_line).group(1)) + #w_y = int(re.compile('Y=([0-9]+)').search(karamba_line).group(1)) - #f.close() + #f.close() - #karamba.createWidgetMask(widget, theme_path + "pics/mask.png") + #karamba.createWidgetMask(widget, theme_path + "pics/mask.png") - linkePupille = karamba.createImage(widget, 15, 30, theme_path + "pics/pupille.png") - rechtePupille = karamba.createImage(widget, 100, 30, theme_path + "pics/pupille.png") - init = 1 + linkePupille = karamba.createImage(widget, 15, 30, theme_path + "pics/pupille.png") + rechtePupille = karamba.createImage(widget, 100, 30, theme_path + "pics/pupille.png") + init = 1 - karamba.redrawWidget(widget) + karamba.redrawWidget(widget) - # query mouse-cursor position - x, y = xcursor.position() - - #fp = os.popen("./xpos") - #output = fp.read() - #x, y = output.split() - - #print x, y + # query mouse-cursor position + x, y = xcursor.position() + + #fp = os.popen("./xpos") + #output = fp.read() + #x, y = output.split() + + #print(x, y) - if x != x_old or y != y_old: - x_old, y_old = x, y - # Get Widget Position - w_x, w_y = karamba.getWidgetPosition(widget) + if x != x_old or y != y_old: + x_old, y_old = x, y + # Get Widget Position + w_x, w_y = karamba.getWidgetPosition(widget) - # Calc left pupille - xp, yp = pupille (int(x), int(y), lx, ly, la, lb, w_x, w_y) + # Calc left pupille + xp, yp = pupille (int(x), int(y), lx, ly, la, lb, w_x, w_y) - xp = xp - lp_width / 2 - yp = yp - lp_height / 2 - #print xp, yp + xp = xp - lp_width // 2 + yp = yp - lp_height // 2 + #print(xp, yp) - karamba.moveImage(widget, linkePupille, xp, yp) + karamba.moveImage(widget, linkePupille, xp, yp) - # Calc right pupille - xp, yp = pupille (int(x), int(y), rx, ry, ra, rb, w_x, w_y) + # Calc right pupille + xp, yp = pupille (int(x), int(y), rx, ry, ra, rb, w_x, w_y) - xp = xp - rp_width / 2 - yp = yp - rp_height / 2 - #print xp, yp + xp = xp - rp_width // 2 + yp = yp - rp_height // 2 + #print(xp, yp) - karamba.moveImage(widget, rechtePupille, xp, yp) + karamba.moveImage(widget, rechtePupille, xp, yp) - karamba.redrawWidget(widget) + karamba.redrawWidget(widget) #This gets called everytime our widget is clicked. #Notes: @@ -180,13 +185,13 @@ def widgetClicked(widget, x, y, button): def widgetMouseMoved(widget, x, y, button): #Warning: Don't do anything too intensive here #You don't want to run some complex piece of code everytime the mouse moves - pass - #global linkePupille + pass + #global linkePupille - #karamba.moveImage(widget, linkePupille, x, y) - #karamba.redrawWidget(widget) + #karamba.moveImage(widget, linkePupille, x, y) + #karamba.redrawWidget(widget) # This will be printed when the widget loads. -print "Loaded Karamba Eyes" +print("Loaded Karamba Eyes") diff --git a/superkaramba/examples/globalMouse/xcursor.so b/superkaramba/examples/globalMouse/xcursor.so old mode 100644 new mode 100755 index 1ff08d59999584af67f85425bf7eb9f737819fd2..167bb290e9eff65006a143c1684fa1ba4a116666 GIT binary patch literal 27408 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

Some features:

  • Numbered and unnumbered lists
  • -
  • Inline Images +
  • Inline Images
  • Various different text colours
  • Hyperlinks: Superkaramba Homepage
  • Links can also trigger actions in the script
  • @@ -53,7 +53,7 @@ http://doc.trolltech.com/3.0/qstylesheet.html. karamba.moveRichText(widget, richtext, 10, 10) - print "richText Size = ", karamba.getRichTextSize(widget, richtext) + print("richText Size = ", karamba.getRichTextSize(widget, richtext)) karamba.setRichTextWidth(widget, richtext, 345) @@ -104,7 +104,7 @@ def meterClicked(widget, meter, button): global penguin_hidden global richtext - print "Meter clicked", meter + print("Meter clicked", meter) if meter == "trigger": if penguin_hidden: karamba.showImage(widget, penguin) @@ -133,4 +133,4 @@ def widgetMouseMoved(widget, x, y, button): pass # This will be printed when the widget loads. -print "Loaded Karamba Unicode Test" +print("Loaded Karamba Unicode Test") diff --git a/superkaramba/examples/richtext/rtext.py b/superkaramba/examples/richtext/rtext.py index 68c800a..7d30776 100644 --- a/superkaramba/examples/richtext/rtext.py +++ b/superkaramba/examples/richtext/rtext.py @@ -38,19 +38,19 @@ def widgetUpdated(widget): karamba.moveRichText(widget, texts[0], 0, 20) karamba.resizeRichText(widget, texts[0], 200, 20) pos = karamba.getRichTextPos(widget, texts[0]) - print "--getRichTextPos: " + str(pos) + print("--getRichTextPos: " + str(pos)) size = karamba.getRichTextSize(widget, texts[0]) - print "--getRichTextSize: " + str(size) + print("--getRichTextSize: " + str(size)) # size & resize size = karamba.getRichTextSize(widget, texts[1]) - print "getRichTextSize: " + str(size) + print("getRichTextSize: " + str(size)) size = ((b * 200) + 200, size[1]) karamba.resizeRichText(widget, texts[1], size[0], size[1]) # pos & move pos = karamba.getRichTextPos(widget, texts[2]) - print "getRichTextPos: " + str(pos) + print("getRichTextPos: " + str(pos)) pos = (b * 200, pos[1]) karamba.moveRichText(widget, texts[2], pos[0], pos[1]) @@ -62,7 +62,7 @@ def widgetUpdated(widget): # Sensor sensor = karamba.getRichTextSensor(widget, texts[4]) - print "getSensor: " + str(sensor) + print("getSensor: " + str(sensor)) if(b): karamba.setRichTextSensor(widget, texts[4], 'SENSOR=SENSOR TYPE="cpu_temp"') else: @@ -70,19 +70,19 @@ def widgetUpdated(widget): # Value v = karamba.getRichTextValue(widget, texts[5]) - print "getRichTextValue: ", v - v += '.' + print("getRichTextValue: ", v) + v += '.'.encode('utf-8') karamba.changeRichText(widget, texts[5], v) # Font size v = karamba.getRichTextFontSize(widget, texts[7]) - print "getRichTextFontSize: ", v + print("getRichTextFontSize: ", v) v = 10 + ((v-10)+1)%10; karamba.changeRichTextSize(widget, texts[7], v) # RichText Font v = karamba.getRichTextFont(widget, texts[9]) - print "getRichTextFont: ", v + print("getRichTextFont: ", v) if(b): v = 'Bitstream Vera Sans' else: @@ -96,4 +96,4 @@ def widgetMouseMoved(widget, x, y, button): pass # This will be printed when the widget loads. -print "Loaded RichText test python extension!" +print("Loaded RichText test python extension!") diff --git a/superkaramba/examples/service_group/service_group.py b/superkaramba/examples/service_group/service_group.py index 276b9c8..a56835e 100644 --- a/superkaramba/examples/service_group/service_group.py +++ b/superkaramba/examples/service_group/service_group.py @@ -16,23 +16,25 @@ import karamba # simple function to display def create_text(widget, line, depth, disp, name=None, command=None, icon=None): + print(name) + print(disp) x = depth*30 - y = line*7 + y = line*12 width = 400 - height = 8 + height = 12 drop_txt = karamba.createText(widget, x, y, width, height, disp) - karamba.changeTextSize(widget, drop_txt, 7) + karamba.changeTextSize(widget, drop_txt, 11) karamba.changeTextColor(widget, drop_txt, 252,252,252) - # create a (very narrow! only an 8-pixel-high area!) + # create a (very narrow! only an 12-pixel-high area!) # service click area to demonstrate that commands get # executed correctly. if name: karamba.createServiceClickArea( widget, x,y,width,height, - name, command, icon) + str(name), str(command), str(icon)) # okay. you really should be looking up the KDE Developer documentation @@ -92,14 +94,14 @@ def display_svc_group(widget, rel_path, line, depth): for (type, d) in grps: - if type is 0: + if type == 0: # it's a - sub_relpath = d['relpath'] - icon = d.get('icon', 'unknown') - caption = d.get('caption', None) - comment = d.get('comment', None) + sub_relpath = d[b'relpath'].decode('utf-8') + icon = d.get(b'icon', 'unknown').decode('utf-8') + caption = d.get(b'caption', b'').decode('utf-8') + comment = d.get(b'comment', b'').decode('utf-8') cmt = '' # get at least something to display @@ -109,23 +111,24 @@ def display_svc_group(widget, rel_path, line, depth): cmt = caption msg = "SVCGRP: %s %s" % (icon, cmt) + print("MSG="+msg) create_text(widget, line, depth, msg) line += 1 - line = display_svc_group(widget, sub_relpath, + line = display_svc_group(widget, str(sub_relpath), line, depth+1) - elif type is 1 and d.has_key('menuid'): + elif type == 1 and b'menuid' in d: - relpath = d.get('relpath', '') - cmd = d['exec'] - icon = d.get('icon', 'unknown') - name = d.get('name', None) - genericname = d.get('genericname', None) + relpath = d.get(b'relpath', b'').decode('utf-8') + cmd = d[b'exec'].decode('utf-8') + icon = d.get(b'icon', 'unknown').decode('utf-8') + name = d.get(b'name', b'').decode('utf-8') + genericname = d.get(b'genericname', b'') cmt = '' # get at least something to display if genericname: - cmt = genericname + cmt = genericname.decode('utf-8') elif name: cmt = name diff --git a/superkaramba/examples/setIncomingData/2.py b/superkaramba/examples/setIncomingData/2.py index a411b60..1656316 100644 --- a/superkaramba/examples/setIncomingData/2.py +++ b/superkaramba/examples/setIncomingData/2.py @@ -14,7 +14,7 @@ def initWidget(widget): # this resets the text to "" so we know we've never # received anything yet from the other theme name = karamba.getPrettyThemeName(widget) - print "2.py name: ", name + print("2.py name: ", name) karamba.setIncomingData(widget, name, "") karamba.redrawWidget(widget) @@ -47,7 +47,7 @@ def widgetUpdated(widget): # get the "message"... disp = karamba.getIncomingData(widget) - if disp == "": + if disp == "" or disp == b'': return # decode it... @@ -74,5 +74,5 @@ def widgetUpdated(widget): pass # This will be printed when the widget loads. -print "Loaded my python 2.py extension!" +print("Loaded my python 2.py extension!") 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) + diff --git a/superkaramba/examples/template.py b/superkaramba/examples/template.py index d79d1a0..dac8db7 100644 --- a/superkaramba/examples/template.py +++ b/superkaramba/examples/template.py @@ -157,4 +157,4 @@ def keyPressed(widget, meter, char): pass # This will be printed when the widget loads. -print "Loaded my python extension!" +print("Loaded my python extension!") diff --git a/superkaramba/examples/text/text.py b/superkaramba/examples/text/text.py index 4612dd5..b5ca3d7 100644 --- a/superkaramba/examples/text/text.py +++ b/superkaramba/examples/text/text.py @@ -38,13 +38,13 @@ def widgetUpdated(widget): # size & resize size = karamba.getTextSize(widget, texts[1]) - print "getTextSize: " + str(size) + print("getTextSize: " + str(size)) size = ((b * 200) + 200, size[1]) karamba.resizeText(widget, texts[1], size[0], size[1]) # pos & move pos = karamba.getTextPos(widget, texts[2]) - print "getTextPos: " + str(pos) + print("getTextPos: " + str(pos)) pos = (b * 200, pos[1]) karamba.moveText(widget, texts[2], pos[0], pos[1]) @@ -56,7 +56,7 @@ def widgetUpdated(widget): # Sensor sensor = karamba.getTextSensor(widget, texts[4]) - print "getSensor: " + str(sensor) + print("getSensor: " + str(sensor)) if(b): karamba.setTextSensor(widget, texts[4], 'SENSOR=SENSOR TYPE="cpu_temp"') else: @@ -64,30 +64,30 @@ def widgetUpdated(widget): # Value v = karamba.getTextValue(widget, texts[5]) - print "getTextValue: ", v + print("getTextValue: ", v) v += '.' karamba.changeText(widget, texts[5], v) # Shadow v = karamba.getTextShadow(widget, texts[6]) - print "getTextShadow: ", v + print("getTextShadow: ", v) v = (v+1)%10; karamba.changeTextShadow(widget, texts[6], v) # Font size v = karamba.getTextFontSize(widget, texts[7]) - print "getTextFontSize: ", v + print("getTextFontSize: ", v) v = 10 + ((v-10)+1)%10; karamba.changeTextSize(widget, texts[7], v) # Text color v = karamba.getTextColor(widget, texts[8]) - print "getTextColor: ", v + print("getTextColor: ", v) karamba.changeTextColor(widget, texts[8], b*255, b*255, b*255) # Text Font v = karamba.getTextFont(widget, texts[9]) - print "getTextFont: ", v + print("getTextFont: ", v) if(b): v = 'Bitstream Vera Sans' else: @@ -97,7 +97,7 @@ def widgetUpdated(widget): # Text Alignment a = (a+1)%3 v = karamba.getTextAlign(widget, texts[10]) - print "getTextAlign: ", v + print("getTextAlign: ", v) karamba.setTextAlign(widget, texts[10], align[a]) def widgetClicked(widget, x, y, button): @@ -107,4 +107,4 @@ def widgetMouseMoved(widget, x, y, button): pass # This will be printed when the widget loads. -print "Loaded Text test python extension!" +print("Loaded Text test python extension!") diff --git a/superkaramba/examples/unicode/unicode.py b/superkaramba/examples/unicode/unicode.py index 13d1136..6e0447a 100644 --- a/superkaramba/examples/unicode/unicode.py +++ b/superkaramba/examples/unicode/unicode.py @@ -9,7 +9,7 @@ import karamba #this is called when you widget is initialized def initWidget(widget): - text=u""" + text="""

    UNICODE Example

    Greek:

    \u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0 @@ -113,4 +113,4 @@ def widgetMouseMoved(widget, x, y, button): pass # This will be printed when the widget loads. -print "Loaded Karamba Unicode Test" +print("Loaded Karamba Unicode Test")