Compare commits

...
7 Commits
Author SHA1 Message Date
fwarren 970bb33b46 updated examples to python 3 2024-09-09 01:26:31 -06:00
fwarren 259f902f75 ported wmoo to python3 2024-09-09 01:24:47 -06:00
fwarren 667724990c ported pywmgeneral to python3 2024-09-09 01:24:09 -06:00
fwarren d4d7fdf761 ported python c extention to python 3 2024-09-09 01:20:02 -06:00
fwarren b30c989858 updated moudle __init__ 2024-09-09 01:16:30 -06:00
fwarren b72b9d2f3e update version number 2024-09-09 01:09:05 -06:00
fwarren 9ed8c863ec updated from distutils to setupools 2024-09-09 01:08:36 -06:00
11 changed files with 136 additions and 139 deletions

No files matched your search

+5 -5
View File
@@ -28,7 +28,7 @@ First workingish version
"""
usage = """pywmdatetime.py [options]
Available options are:
-h, --help print this help
-h, --help asprint this help
-f, --foreground <color> set the foreground color
-b, --background <color> set the background color
-F, --font <file> set the font name
@@ -69,7 +69,7 @@ def addString(s, x, y):
try:
wmdocklib.addString(s, x, y, xOffset, yOffset,
width, height)
except ValueError, e:
except ValueError as e:
sys.stderr.write('Error when painting string:\n' + str(e) + '\n')
sys.stderr.write('test %s' % ((s, x, y, xOffset, yOffset,
width, height),))
@@ -119,7 +119,7 @@ def parseCommandLine(argv):
'weekdayformat=', 'weekformat=', 'rgbfile=', 'configfile=', 'font=']
try:
opts, nonOptArgs = getopt.getopt(argv[1:], shorts, longs)
except getopt.GetoptError, e:
except getopt.GetoptError as e:
sys.stderr.write('Error when parsing commandline: ' + str(e) + '\n')
sys.stderr.write(usage)
sys.exit(2)
@@ -247,7 +247,7 @@ def main():
# Merge the two configs, let the commandline options overwrite those in the
# configuration file.
config = fileConfig
for i in clConfig.iteritems():
for i in clConfig.items():
config[i[0]] = i[1]
timeFmt = config.get('timeformat', timeDefaultFormat)
@@ -282,7 +282,7 @@ def main():
bg=0, fg=2, palette=palette,
background=background,
debug=debug)
maxCharsPerLine = (width-2*xOffset) / char_width
maxCharsPerLine = (width-2*xOffset) // char_width
antialiased = clConfig.get('antialiased', False)
wmdocklib.openXwindow(sys.argv, width, height)
+20 -21
View File
@@ -1,4 +1,4 @@
#!/usr/bin/env python
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""pywmgeneric.py
@@ -37,11 +37,13 @@ import sys
import os
import time
import string
import ConfigParser
import configparser
import getopt
import popen2
import subprocess
import wmdocklib
import wmdocklib.pywmgeneral as pywmgeneral
import wmdocklib.pywmhelpers as pywmhelpers
prevStat = {'user':0,
'nice':0,
@@ -76,16 +78,14 @@ class UserMethods:
def result():
global prevStat
try:
f = file('/proc/stat', 'r')
with open('/proc/stat', 'r') as f:
currStat = dict(
[(k, int(v))
for (k,v) in cpuinfo.match(f.readline()).groupdict().items()]
)
except IOError:
return 'error'
currStat = dict(
[(k, int(v))
for (k,v) in cpuinfo.match(f.readline()).groupdict().items()]
)
f.close()
total = 0
for k,v in currStat.items():
total += v
@@ -105,11 +105,10 @@ class UserMethods:
def getSysTemp(self):
try:
f = file('/proc/sys/dev/sensors/w83697hf-isa-0290/temp1', 'r')
with open('/proc/sys/dev/sensors/w83697hf-isa-0290/temp1', 'r') as f:
temp = f.readline().split()[2]
except IOError:
return lambda: 'error'
temp = f.readline().split()[2]
f.close()
return lambda: 'sys: %s' % temp
def ls(self):
@@ -153,8 +152,8 @@ def addString(s, x, y):
try:
wmdocklib.addString(s, x, y, xOffset, yOffset,
width, height)
except ValueError, e:
sys.stderr.write('Error when painting string:\n' + str(e) + '\n')
except ValueError as e:
sys.stderr.write(f'Error when painting string:\n{e}\n')
sys.exit(3)
def clearLine(y):
@@ -194,7 +193,7 @@ class Entry:
self._glue = ' ... '
self._scrollPos = 0
self._tickCount = 0L
self._tickCount = 0
self._runningProcs = []
self._actionProc = None
@@ -220,7 +219,7 @@ class Entry:
"""Exec an external command in the background.
Return the running process as created by Popen3()."""
proc = popen2.Popen3(command)
proc = subprocess.Popen(command)
self._runningProcs.append(proc)
return proc
@@ -480,7 +479,7 @@ class PywmGeneric:
timeNum = float(timeStr[:-1].strip())
numSecs = timeNum * multiplier
return numSecs
raise ValueError, 'Invalid literal'
raise ValueError('Invalid literal')
def _checkForEvents(self):
event = wmdocklib.getEvent()
@@ -517,7 +516,7 @@ def parseCommandLine(argv):
'font=', 'debug']
try:
opts, nonOptArgs = getopt.getopt(argv[1:], shorts, longs)
except getopt.GetoptError, e:
except getopt.GetoptError as e:
err('Error when parsing commandline: ' + str(e) + '\n')
err(usage)
sys.exit(2)
@@ -551,10 +550,10 @@ def readConfigFile(fileName):
err("Can't read the configuration file %s.\n" % fileName)
# We can't do much without a configuration file
sys.exit(3)
cp = ConfigParser.ConfigParser()
cp = configparser.ConfigParser()
try:
cp.read(fileName)
except ConfigParser.Error, e:
except configparser.Error as e:
err("Error when reading configuration file:\n%s\n" % str(e))
sys.exit(3)
l = [{}, {}, {}, {}, {}]
+10 -10
View File
@@ -89,7 +89,7 @@ class PywmHDMon:
self._pathsToMonitor = pathsToMonitor
self._actMonEnabled = actMonEnabled
self._skipping = skipping
self._lineCount = (height - yOffset*2 - 2) / (char_height+1)
self._lineCount = (height - yOffset*2 - 2) // (char_height+1)
self._statFile = procStat
self._maxIODiff = 0
@@ -102,7 +102,7 @@ class PywmHDMon:
def addString(self, s, x, y):
try:
wmdocklib.addString(s, x, y, xOffset, yOffset, width, height)
except ValueError, e:
except ValueError as e:
sys.stderr.write('Error when painting string:\n' + str(e) + '\n')
sys.exit(3)
@@ -116,7 +116,7 @@ class PywmHDMon:
"""
# check if is mounted <- st_dev(/mount/point) == st_dev(/mount)
if path is not '/':
if path != '/':
statOwn = os.stat(path)
# the following is a bit ugly: it removes the trailing
@@ -151,7 +151,7 @@ class PywmHDMon:
def getY(self, line):
"returns the y coordinate of the top line for the box"
interlinea = (height - yOffset*2 - 2 - self._lineCount * char_height) / (self._lineCount-1)
interlinea = (height - yOffset*2 - 2 - self._lineCount * char_height) // (self._lineCount-1)
interlinea += char_height
lastBaseline = yOffset + self._lineCount * interlinea
from math import ceil
@@ -163,7 +163,7 @@ class PywmHDMon:
def paintHdData(self, line, data, mode):
total, free = data
xStart = (width*2)/5
xStart = (width*2)//5
if total==0:
self.addString(' ', width-yOffset*2-5*char_width-1, self.getY(line))
self.paintGraph(0, xStart, self.getY(line) + 4,
@@ -244,7 +244,7 @@ class PywmHDMon:
sys.exit(0)
elif event['type'] == 'buttonrelease':
area = wmdocklib.checkMouseRegion(event['x'],event['y'])
if area is not -1:
if area != -1:
self.toggleMount(area-1+self._skipping)
event = wmdocklib.getEvent()
@@ -257,7 +257,7 @@ class PywmHDMon:
mounted = True
except NotMounted:
mounted = False
except OSError, e:
except OSError as e:
return
if mounted:
if action == 'mount':
@@ -282,7 +282,7 @@ class PywmHDMon:
hdData = self.getHdInfo(path)
except NotMounted:
hdData = (0, 0)
except OSError, e:
except OSError as e:
sys.stderr.write(
"Can't get hd data from %s: %s\n" % (path, str(e)))
hdData = (0, 0)
@@ -313,7 +313,7 @@ def parseCommandLine(argv):
'skipconf=','font=', 'debug']
try:
opts, nonOptArgs = getopt.getopt(argv[1:], shorts, longs)
except getopt.GetoptError, e:
except getopt.GetoptError as e:
sys.stderr.write('Error when parsing commandline: ' + str(e) + '\n')
sys.stderr.write(usage)
sys.exit(2)
@@ -406,7 +406,7 @@ def main():
configFile = os.path.expanduser(configFile)
fileConfig = wmdocklib.readConfigFile(configFile, sys.stderr)
config = fileConfig
for i in clConfig.iteritems():
for i in clConfig.items():
config[i[0]] = i[1]
palette = {}
+13 -14
View File
@@ -10,8 +10,7 @@ Licensed under the GNU General Public License.
"""
import sys, time
from wmdocklib import wmoo
devnull = file('/dev/null')
from wmdocklib import wmoo as wmoo
class Application(wmoo.Application):
@@ -58,7 +57,7 @@ class Application(wmoo.Application):
def handler(self, num, frame):
if self._expectdying:
print self._expectdying
print(self._expectdying)
self._expectdying -= 1
else:
self.reset()
@@ -74,7 +73,7 @@ class Application(wmoo.Application):
self.child = subprocess.Popen(commandline,
stdin =subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=devnull)
stderr=subprocess.DEVNULL)
signal.signal(signal.SIGCHLD, self.handler)
self._flash = 0
self._paused = False
@@ -82,26 +81,26 @@ class Application(wmoo.Application):
self._buffering = 1
self._cacheLevel = 0
import fcntl
flags = fcntl.fcntl(self.child.stdout, fcntl.F_GETFL)
fcntl.fcntl(self.child.stdout, fcntl.F_SETFL, flags | os.O_NONBLOCK)
flags = fcntl.fcntl(self.child.stdin, fcntl.F_GETFL)
fcntl.fcntl(self.child.stdin, fcntl.F_SETFL, flags | os.O_NONBLOCK)
flags = fcntl.fcntl(self.child.stdout, fcntl.F_GETFL)
fcntl.fcntl(self.child.stdout, fcntl.F_SETFL, flags | os.O_NONBLOCK)
flags = fcntl.fcntl(self.child.stdin, fcntl.F_GETFL)
fcntl.fcntl(self.child.stdin, fcntl.F_SETFL, flags | os.O_NONBLOCK)
def stopPlayer(self):
if self.child:
print self._expectdying
self.child.stdin.write('q')
print(self._expectdying)
self.child.stdin.write(b'q')
self._expectdying += 1
self.child = None
def muteStream(self, event):
if self.child and self._buffering == 0:
self.child.stdin.write('m')
self.child.stdin.write(b'm')
self.putPattern(9*self._muting, 0, 9, 11, 30, 29)
self._muting = 1 - self._muting
def printevent(self, event):
print event
print(event)
def previousRadio(self, event):
if self.currentRadio == 0: self.currentRadio = len(self.radioList)
@@ -128,7 +127,7 @@ class Application(wmoo.Application):
def pauseStream(self, event):
if self.child and not self._buffering:
self.child.stdin.write(' ')
self.child.stdin.write(b' ')
self._paused = not self._paused
if self._paused:
self._colour = 1
@@ -167,7 +166,7 @@ class Application(wmoo.Application):
import select
[i, o, e] = select.select([self.child.stdout], [], [], 0)
if i:
line = self.child.stdout.read(102400)
line = self.child.stdout.read(102400).decode("utf-8")
self._buffered += line
npos = self._buffered.rfind('\n')+1
rpos = self._buffered.rfind('\r')+1
+7 -7
View File
@@ -85,7 +85,7 @@ class PywmSeti:
try:
wmdocklib.addString(s, x, y, digits,
xOffset, yOffset, width, height)
except ValueError, e:
except ValueError as e:
sys.stderr.write('Error when painting string:\n' + str(e) + '\n')
sys.exit(3)
@@ -137,7 +137,7 @@ class PywmSeti:
"""
try:
os.kill(pid, 0)
except OSError, e:
except OSError as e:
if e.errno == 1:
return -1
return 0
@@ -146,7 +146,7 @@ class PywmSeti:
def openFileRead(self, fileName):
try:
f = file(fileName, 'r')
except IOError, e:
except IOError as e:
sys.stderr.write('Error when opening %s: %s\n' % (fileName, str(e)))
return None
return f
@@ -265,7 +265,7 @@ class PywmSeti:
if self._running:
try:
os.kill(self._pid, 15)
except OSError, e:
except OSError as e:
sys.stderr.write(
"Error when ending process: "+str(e)+'\n')
else:
@@ -309,7 +309,7 @@ def parseCommandLine(argv):
'indicatorcolor=']
try:
opts, nonOptArgs = getopt.getopt(argv[1:], shorts, longs)
except getopt.GetoptError, e:
except getopt.GetoptError as e:
sys.stderr.write('Error when parsing commandline: ' + str(e) + '\n')
sys.stderr.write(usage)
sys.exit(2)
@@ -459,7 +459,7 @@ def main():
# Merge the two configs, let the commandline options overwrite those in the
# configuration file.
config = fileConfig
for i in clConfig.iteritems():
for i in clConfig.items():
config[i[0]] = i[1]
# Get the configurations
setiDir = config.get('setidir')
@@ -472,7 +472,7 @@ def main():
setiDir = os.path.expanduser(setiDir)
try:
os.chdir(setiDir)
except OSError, e:
except OSError as e:
sys.stderr.write('Error when accessing seti directory: %s\n' % str(e))
sys.exit(4)
statePath = os.path.join(setiDir, stateFileName)
+12 -12
View File
@@ -95,8 +95,8 @@ class PywmSysMon:
Return a tuple with (total_mem, used_mem, buffered_mem, cached_mem).
"""
try:
meminfoFile = file(self._procMeminfo, 'r')
except IOError, e:
meminfoFile = open(self._procMeminfo, 'r')
except IOError as e:
sys.stderr.write("Can't open meminfo file: %s.\n" % str(e))
sys.exit(2)
total = used = free = shared = buffers = cached = theLine = None
@@ -105,17 +105,17 @@ class PywmSysMon:
theLine = line
break
if line.startswith('MemTotal:'):
total = long(line.split()[1])
total = int(line.split()[1])
if line.startswith('MemFree:'):
free = long(line.split()[1])
free = int(line.split()[1])
if line.startswith('Buffers:'):
buffers = long(line.split()[1])
buffers = int(line.split()[1])
if line.startswith('Cached:'):
cached = long(line.split()[1])
cached = int(line.split()[1])
if free and total:
used = total - free
if theLine is not None:
parts = [long(x) for x in theLine.split()[1]]
parts = [int(x) for x in theLine.split()[1]]
total, used, free, shared, buffers, cached = parts[:6]
if None in [total, used, buffers, cached]:
sys.stderr.write("Can't find memory information in %s.\n" %
@@ -138,13 +138,13 @@ class PywmSysMon:
file. Return the usage in percent.
"""
try:
statFile = file(self._procStat, 'r')
except IOError, e:
statFile = open(self._procStat, 'r')
except IOError as e:
sys.stderr.write("Can't open statfile: %s.\n" % str(e))
sys.exit(2)
line = statFile.readline()
statFile.close()
cpu, nice, system, idle = [long(x) for x in line.split()[1:]][:4]
cpu, nice, system, idle = [int(x) for x in line.split()[1:]][:4]
used = cpu + system
if not self._ignoreNice:
used += nice
@@ -161,7 +161,7 @@ class PywmSysMon:
def addString(self, s, x, y):
try:
wmdocklib.addString(s, x, y, digits, xOffset, yOffset, width, height)
except ValueError, e:
except ValueError as e:
sys.stderr.write('Error when painting string:\n' + str(e) + '\n')
sys.exit(3)
@@ -244,7 +244,7 @@ def parseCommandLine(argv):
'procmeminfo=', 'ignorenice', 'updatedelay=']
try:
opts, nonOptArgs = getopt.getopt(argv[1:], shorts, longs)
except getopt.GetoptError, e:
except getopt.GetoptError as e:
sys.stderr.write('Error when parsing commandline: ' + str(e) + '\n')
sys.stderr.write(usage)
sys.exit(2)
+21 -31
View File
@@ -1,37 +1,27 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Set these so they match your system.
XLibDir = '/usr/X11R6/lib'
XIncludes = '/usr/X11R6/include'
from __future__ import absolute_import
XLibDir = '/usr/lib/x11'
XIncludes = '/usr/include/x11'
from distutils.core import setup, Extension
from setuptools import setup, Extension
module1 = Extension('wmdocklib.pywmgeneral',
libraries = ['Xpm', 'Xext', 'X11'],
library_dirs = [XLibDir],
include_dirs = [XIncludes],
sources = ['wmdocklib/pywmgeneral.c'])
pywmgeneral = Extension('wmdocklib.pywmgeneral',
libraries = ['Xpm', 'Xext', 'X11'],
library_dirs = [XLibDir],
include_dirs = [XIncludes],
sources = ['wmdocklib/pywmgeneral.c'])
setup(name="pywmdockapps",
version = "$Revision: 1.21 $"[11:-2],
description='''
read the whole story at http://pywmdockapps.sourceforge.net/''',
author="Kristoffer Erlandsson & al.",
author_email="mfrasca@zonnet.nl",
url="http://pywmdockapps.sourceforge.net",
license="(L)GPL",
packages=['wmdocklib',
],
scripts=['examples/pywmdatetime.py',
'examples/pywmhdmon.py',
'examples/pywmseti.py',
'examples/pywmsysmon.py',
'examples/pywmphoto.py',
'examples/pywmwet.py',
'examples/pywmradio.py',
'examples/pywmgeneric.py'],
package_data={'wmdocklib': ['*.xpm']},
ext_modules = [module1])
setup(
name="pywmdockapps",
version = "$Revision: 1.99 $"[11:-2],
description="This helper functions for windowmaker dockapps\nRead the whole story at http://pywmdockapps.sourceforge.net/",
author="Kristoffer Erlandsson & al.",
author_email="mfrasca@zonnet.nl",
url="http://pywmdockapps.sourceforge.net",
license="(L)GPL",
packages=['wmdocklib'],
package_data={'wmdocklib': ['*.xpm']},
ext_modules=[pywmgeneral],
)
+2 -2
View File
@@ -6,7 +6,7 @@ wmgeneral.c, but some new functions are added too.
to get help about a contained package, try:
help(wmdocklib.<name>)
"""
from pywmgeneral import *
from pywmhelpers import *
from .pywmgeneral import *
from .pywmhelpers import *
__all__ = ['wmoo']
+24 -14
View File
@@ -10,6 +10,9 @@
*
* History:
*
* 2024-09-08 Fredrick W. Warren
* Ported from python 2 to python 3
*
* 2003-06-24 Kristoffer Erlandsson
* Added some additional event handling.
*
@@ -29,10 +32,11 @@
*
*/
#include <Python.h>
#include "structmember.h"
#include <stdlib.h>
#include <stdio.h>
#define PY_SSIZE_T_CLEAN
#include <Python.h>
#include "structmember.h"
#include <string.h>
#include <unistd.h>
#include <ctype.h>
@@ -83,11 +87,12 @@ char **pyListToStrs(PyObject *l) {
s = PySequence_GetItem(l, i);
if (s == NULL)
return NULL; /* Shouldn't happen. */
if (!PyString_Check(s)) {
if (!PyUnicode_Check(s)) {
PyErr_SetString(PyExc_TypeError, "String expected.");
return NULL;
}
target[i] = PyString_AsString(s);
// target[i] = strdup(PyUnicode_AsString(s));
target[i] = strdup(PyUnicode_AsUTF8(s));
}
return target;
}
@@ -363,8 +368,7 @@ static PyMethodDef Drawable_methods[] = {
};
static PyTypeObject drawable_DrawableType = {
PyObject_HEAD_INIT(NULL)
0, /*ob_size*/
PyVarObject_HEAD_INIT(NULL, 0)
"pyywmgeneral.Drawable", /*tp_name*/
sizeof(drawable_DrawableObject), /*tp_basicsize*/
0, /*tp_itemsize*/
@@ -787,23 +791,29 @@ void openXwindow(int argc, char *argv[], char *pixmap_bytes[], char *pixmask_bit
}
}
#ifndef PyMODINIT_FUNC /* declarations for DLL import/export */
#define PyMODINIT_FUNC void
#endif
static struct PyModuleDef pywmgeneral_module = {
PyModuleDef_HEAD_INIT, /* m_base */
"pywmgeneral", /* m_name */
NULL, /* m_doc */
-1, /* m_size */
PyWmgeneralMethods /* m_methods */
};
PyMODINIT_FUNC
initpywmgeneral(void) {
PyInit_pywmgeneral(void)
{
PyObject* m;
drawable_DrawableType.tp_new = PyType_GenericNew;
if (PyType_Ready(&drawable_DrawableType) < 0)
return;
return NULL;
m = Py_InitModule3("pywmgeneral", PyWmgeneralMethods,
"base C module for wmdocklib");
m = PyModule_Create(&pywmgeneral_module);
if (m == NULL)
return;
return NULL;
Py_INCREF(&drawable_DrawableType);
PyModule_AddObject(m, "Drawable", (PyObject *)&drawable_DrawableType);
return m;
}
+18 -19
View File
@@ -26,14 +26,14 @@ Some changes to handle the additional event handling in pywmgeneral
First workingish version
"""
import os, re, types
import ConfigParser
import os, re
import configparser
charset_start = None
charset_width = None
pattern_start = None
import pywmgeneral
import wmdocklib.pywmgeneral as pywmgeneral
defaultRGBFileList = [
'/etc/X11/rgb.txt',
'/usr/lib/X11/rgb.txt',
@@ -55,10 +55,10 @@ def readConfigFile(fileName, errOut):
errOut.write(
'Configuration file is not readable. Using defaults.\n')
return {}
cp = ConfigParser.ConfigParser()
cp = configparser.ConfigParser()
try:
cp.read(fileName)
except ConfigParser.Error, e:
except configparser.Error as e:
if errOut:
errOut.write('Error in configuration file:\n')
errOut.write(str(e) + '\nUsing defaults.')
@@ -75,7 +75,7 @@ def getCenterStartPos(s, areaWidth, offset):
"""Get the x starting position if we want to paint s centred."""
w = len(s) * char_width
textArea = areaWidth - offset * 2 - 1
return (textArea - w) / 2
return (textArea - w) // 2
def addChar(ch, x, y, xOffset, yOffset, width, height, drawable=None):
"""Paint the character ch at position x, y in the window.
@@ -102,13 +102,13 @@ def addChar(ch, x, y, xOffset, yOffset, width, height, drawable=None):
pos = (ord(ch)-32) * char_width
# translate pos into chX, chY, rolling back and down each linelength
# bits. character definition start at row 64, column 0.
chY = (pos / linelength) * char_height + charset_start
chY = (pos // linelength) * char_height + charset_start
chX = pos % linelength
targX = x + xOffset
targY = y + yOffset
chW = char_width
if ch in "',.:;":
chW = char_twidth
chW =char_twidth
if drawable is None:
pywmgeneral.copyXPMArea(chX, chY, chW, char_height, targX, targY)
else:
@@ -131,7 +131,7 @@ def getVertSpacing(numLines, margin, height, yOffset):
margin is the space we want between the first line and the top."""
h = height - (numLines * char_height + 1) - yOffset * 2 - margin
return h / (numLines - 1)
return h // (numLines - 1)
def readXPM(fileName):
@@ -145,8 +145,8 @@ def readXPM(fileName):
Raise IOError if we run into trouble when trying to read the file. This
function has not been tested extensively. do not try to use more than
"""
f = file(fileName, 'r')
lines = [l.rstrip('\n') for l in f.readlines()]
with open(fileName, 'r') as f:
lines = [l.rstrip('\n') for l in f.readlines()]
s = ''.join(lines)
res = []
while 1:
@@ -260,7 +260,7 @@ def initPixmap(background=None,
] + [
' '*width for item in range(margin)
]
elif isinstance(background, types.ListType) and not isinstance(background[0], types.StringTypes):
elif isinstance(background, list) and not isinstance(background[0], str):
nbackground = [[' ']*width for i in range(height)]
for ((left, top),(right, bottom)) in background:
for x in range(left, right+1):
@@ -329,7 +329,7 @@ def initPixmap(background=None,
origRgb = [int(origColor[i*2:i*2+2],16)/256. for i in range(3)]
intensity = sum(origRgb) / 3
newRgb = [i * intensity + base for i,base in zip(fg_vec, bg_point)]
new_font_palette[k] = '#'+''.join(["%02x"%i for i in newRgb])
new_font_palette[k] = '#'+''.join(["%02x"%int(i) for i in newRgb])
return new_font_palette
@@ -364,10 +364,10 @@ def initPixmap(background=None,
for line in fontdef
]
if debug:
print '/* XPM */\nstatic char *_x_[] = {'
print('/* XPM */\nstatic char *_x_[] = {')
for item in xpm:
print '"%s",' % item
print '};'
print('"%s",' % item)
print('};')
pywmgeneral.includePixmap(xpm)
return char_width, char_height
@@ -436,9 +436,8 @@ def getColorCode(colorName, rgbFileName=None):
if rgbFileName is None:
raise ValueError('cannot find rgb file')
f = file(rgbFileName, 'r')
lines = f.readlines()
f.close()
with open(rgbFileName, 'r') as f:
lines = f.readlines()
for l in lines:
if l[0] != '!':
words = l.split()
+4 -4
View File
@@ -1,5 +1,6 @@
import sys, time
import pywmhelpers
import wmdocklib.pywmhelpers as pywmhelpers
import wmdocklib.pywmgeneral as pywmgeneral
debug = 0
@@ -44,7 +45,7 @@ class Application:
if size is None:
size = (self._char_width * len(text), self._char_height)
pixmapwidth = self._char_width * len(text)
import pywmgeneral
# import pywmgeneral
labelPixmap = pywmgeneral.Drawable(pixmapwidth, self._char_height)
self._elements[labelId] = [orig, size, pixmapwidth, 0, labelPixmap]
self.setLabelText(labelId, text)
@@ -55,7 +56,6 @@ class Application:
(orig_x,orig_y), (size_x, size_y), width, offset, pixmap = self._elements[labelId]
newwidth = self._char_width * len(text)
if newwidth > width:
import pywmgeneral
pixmap = pywmgeneral.Drawable(newwidth, self._char_height)
self._elements[labelId][4] = pixmap
self._elements[labelId][2] = newwidth
@@ -101,7 +101,7 @@ class Application:
mouse or keyboard event. all fields may be left to their 'None'
default value, in which case the callback is activated on any event.
"""
if area is not None and len(area) is not 4:
if area is not None and len(area) != 4:
area = None
self._events.append( (type, key, area, callback,) )
pass