From da9cd0c056c8275033fca84a1c8d49a8edb0c8ee Mon Sep 17 00:00:00 2001 From: Michele Calgaro Date: Fri, 11 Nov 2022 17:41:30 +0900 Subject: superkaramba: convert examples to python3. Signed-off-by: Michele Calgaro --- superkaramba/examples/autoHide/main.py | 22 +-- superkaramba/examples/bar/bar.py | 16 +- superkaramba/examples/change_interval/interval.py | 53 +++--- superkaramba/examples/control_management/mgmt.py | 50 +++--- .../examples/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 +- superkaramba/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 +- superkaramba/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 1ff08d5..167bb29 Binary files a/superkaramba/examples/globalMouse/xcursor.so and b/superkaramba/examples/globalMouse/xcursor.so differ diff --git a/superkaramba/examples/graph/graph.py b/superkaramba/examples/graph/graph.py index 5798612..56beab1 100644 --- a/superkaramba/examples/graph/graph.py +++ b/superkaramba/examples/graph/graph.py @@ -28,20 +28,20 @@ def widgetUpdated(widget): if(graphs[0]): karamba.deleteGraph(widget, graphs[0]) graphs[0] = 0 - print "Deleted graph." + print("Deleted graph.") else: graphs[0] = karamba.createGraph(widget, 0, 20, 400, 30, 400) - print "Created graph: " + str(graphs[0]) + print("Created graph: " + str(graphs[0])) # size & resize size = karamba.getGraphSize(widget, graphs[1]) - print "getGraphSize: " + str(size) + print("getGraphSize: " + str(size)) size = ((b * 200) + 200, size[1]) karamba.resizeGraph(widget, graphs[1], size[0], size[1]) # pos & move pos = karamba.getGraphPos(widget, graphs[2]) - print "getGraphPos: " + str(pos) + print("getGraphPos: " + str(pos)) pos = (b * 200, pos[1]) karamba.moveGraph(widget, graphs[2], pos[0], pos[1]) @@ -53,7 +53,7 @@ def widgetUpdated(widget): # Sensor sensor = karamba.getGraphSensor(widget, graphs[4]) - print "getSensor: " + str(sensor) + print("getSensor: " + str(sensor)) if(b): karamba.setGraphSensor(widget, graphs[4], 'SENSOR=NETWORK FORMAT="%in"') else: @@ -61,19 +61,19 @@ def widgetUpdated(widget): # Min Max minmax = karamba.getGraphMinMax(widget, graphs[5]) - print "getGraphMinMax: " + str(minmax) + print("getGraphMinMax: " + str(minmax)) minmax = (0, (b * 25) + 25) karamba.setGraphMinMax(widget, graphs[5], minmax[0], minmax[1]) # Value v = karamba.getGraphValue(widget, graphs[6]) - print "getGraphValue: ", v + print("getGraphValue: ", v) v = (v + 1) % 30 karamba.setGraphValue(widget, graphs[6], v) # Color c = karamba.getGraphColor(widget, graphs[7]) - print "getGraphColor: ", c + print("getGraphColor: ", c) r = (c[0] + 10) % 255 g = (c[1] + 10) % 255 bl = (c[2] + 10) % 255 @@ -86,4 +86,4 @@ def widgetMouseMoved(widget, x, y, button): pass # This will be printed when the widget loads. -print "Loaded Graph test python extension!" +print("Loaded Graph test python extension!") diff --git a/superkaramba/examples/image/image.py b/superkaramba/examples/image/image.py index 97656eb..54f2106 100644 --- a/superkaramba/examples/image/image.py +++ b/superkaramba/examples/image/image.py @@ -44,22 +44,22 @@ def widgetUpdated(widget): # size & resize size = karamba.getImageSize(widget, images[1]) - print "getImageSize: " + str(size) - print "getImageWidth: " + str(karamba.getImageWidth(widget, images[1])) - print "getImageHeight: " + str(karamba.getImageHeight(widget, images[1])) + print("getImageSize: " + str(size)) + print("getImageWidth: " + str(karamba.getImageWidth(widget, images[1]))) + print("getImageHeight: " + str(karamba.getImageHeight(widget, images[1]))) # Auto size #size = ((b * 200) + 200, size[1]) #karamba.resizeImage(widget, images[1], size[0], size[1]) # pos & move pos = karamba.getImagePos(widget, images[2]) - print "getImagePos: " + str(pos) + print("getImagePos: " + str(pos)) pos = (b * 200, pos[1]) karamba.moveImage(widget, images[2], pos[0], pos[1]) # Sensor sensor = karamba.getImageSensor(widget, images[3]) - print "getSensor: " + str(sensor) + print("getSensor: " + str(sensor)) if(b): karamba.setImageSensor(widget, images[3], 'SENSOR=PROGRAM PROGRAM="/tmp/test1.sh"') else: @@ -67,7 +67,7 @@ def widgetUpdated(widget): # Value v = karamba.getImagePath(widget, images[4]) - print "getImagePath: ", v + print("getImagePath: ", v) if(b): v = 'flag.png' else: @@ -118,4 +118,4 @@ def widgetMouseMoved(widget, x, y, button): pass # This will be printed when the widget loads. -print "Loaded Image test python extension!" +print("Loaded Image test python extension!") diff --git a/superkaramba/examples/input_api/input_api.py b/superkaramba/examples/input_api/input_api.py index 59dc9ba..0a9725f 100644 --- a/superkaramba/examples/input_api/input_api.py +++ b/superkaramba/examples/input_api/input_api.py @@ -182,4 +182,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/input_example/input_example.py b/superkaramba/examples/input_example/input_example.py index c0145c9..62a369f 100644 --- a/superkaramba/examples/input_example/input_example.py +++ b/superkaramba/examples/input_example/input_example.py @@ -153,7 +153,7 @@ def wallpaperChanged(widget, desktop): def keyPressed(widget, meter, char): global input, output if meter == input: - print "keyPressed: key= '", char, "'" + print("keyPressed: key= '", char, "'") text = karamba.getInputBoxValue(widget, input) karamba.changeText(widget, output, "Searched: " + text) try: @@ -161,9 +161,9 @@ def keyPressed(widget, meter, char): url = "konqueror leo:" + text os.system(url + "&") except TypeError: - print "There was a type error" + print("There was a type error") karamba.redrawWidget(widget) # This will be printed when the widget loads. -print "Loaded my python extension!" +print("Loaded my python extension!") diff --git a/superkaramba/examples/mouseDrag/karmix/karmix.py b/superkaramba/examples/mouseDrag/karmix/karmix.py index 225eefb..bd167db 100644 --- a/superkaramba/examples/mouseDrag/karmix/karmix.py +++ b/superkaramba/examples/mouseDrag/karmix/karmix.py @@ -186,5 +186,5 @@ def activeTaskChanged(widget, task): pass # This will be printed when the widget loads. -print "Loaded my python extension!" +print("Loaded my python extension!") diff --git a/superkaramba/examples/mouseDrop/mousedrop.py b/superkaramba/examples/mouseDrop/mousedrop.py index 521f0ee..b83c1df 100644 --- a/superkaramba/examples/mouseDrop/mousedrop.py +++ b/superkaramba/examples/mouseDrop/mousedrop.py @@ -134,5 +134,5 @@ def activeTaskChanged(widget, task): pass # This will be printed when the widget loads. -print "Loaded my python extension!" +print("Loaded my python extension!") diff --git a/superkaramba/examples/popupMenu/popupMenu.py b/superkaramba/examples/popupMenu/popupMenu.py index 8df5aef..39010f7 100644 --- a/superkaramba/examples/popupMenu/popupMenu.py +++ b/superkaramba/examples/popupMenu/popupMenu.py @@ -20,21 +20,21 @@ def initWidget(widget): global id5 menu1 = karamba.createMenu(widget) - print "menu 1 created!" + print("menu 1 created!") menu2 = karamba.createMenu(widget) - print "menu 2 created!" + print("menu 2 created!") id1 = karamba.addMenuItem(widget, menu1, "menu 1 first item", "kword") - print "item 1 entered in menu 1" + print("item 1 entered in menu 1") id2 = karamba.addMenuItem(widget, menu1, "menu 1 second item", "kate") - print "item 2 entered in menu 1" + print("item 2 entered in menu 1") id3 = karamba.addMenuItem(widget, menu2, "menu 2 first item", "kword") - print "item 1 entered in menu 2" + print("item 1 entered in menu 2") id4 = karamba.addMenuItem(widget, menu2, "menu 2 second item", "kate") - print "item 2 entered in menu 2" + print("item 2 entered in menu 2") id5 = karamba.addMenuItem(widget, menu2, "menu 2 third item", "/opt/kde/share/icons/kdeclassic/16x16/apps/kicker.png") - print "item 3 entered in menu 2" + print("item 3 entered in menu 2") @@ -95,23 +95,23 @@ def menuItemClicked(widget, menu, id): if (menu == menu1): if(id == id1): - print "item 1 in menu 1 clicked." + print("item 1 in menu 1 clicked.") elif(id == id2): - print "item 2 in menu 1 clicked, removing item 2 in menu 2" + print("item 2 in menu 1 clicked, removing item 2 in menu 2") karamba.removeMenuItem(widget, menu2, id4) elif (menu == menu2): if(id == id3): - print "item 1 in menu 2 clicked." + print("item 1 in menu 2 clicked.") elif(id == id4): - print "item 2 in menu 2 clicked, deleting menu 1 (if menu1 still exists...)" + print("item 2 in menu 2 clicked, deleting menu 1 (if menu1 still exists...)") karamba.deleteMenu(widget, menu1) elif(id == id5): - print "item 3 in menu 2 clicked, removing item 2 in menu 1 (if menu1 still exists...)" + print("item 3 in menu 2 clicked, removing item 2 in menu 1 (if menu1 still exists...)") karamba.removeMenuItem(widget, menu1, id2) # This will be printed when the widget loads. -print "Loaded my python extension!" +print("Loaded my python extension!") diff --git a/superkaramba/examples/richtext/richtext.py b/superkaramba/examples/richtext/richtext.py index 518aa65..6da4080 100644 --- a/superkaramba/examples/richtext/richtext.py +++ b/superkaramba/examples/richtext/richtext.py @@ -30,7 +30,7 @@ is used to encode the formatting commands.

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") -- cgit v1.2.3