diff --git a/TODO b/TODO
index 78e23c0..b23a22b 100644
--- a/TODO
+++ b/TODO
@@ -1,22 +1,17 @@
Features:
-* scaling icons
-* tab background
-* top box layout
* chat scrolls when switch theme
-* eliminate "SWITCH" in profile menu
* remove highlighted text area if focus in textinput
-* new sound on CEASE and BEGIN?
-* windows text goes gray when out of focus
-* Logging
+* windows text goes gray when out of focus?
* Block list
* User list/add from list
* Turn quirks off
* User commands/stop user from sending commands accidentally
* Hyperlinks
-* color tags
* /me ghostDunk's [GD'S]
* Transparent background
* tab recombining gives wrong window icon
+* help menu -- about and forum
+* new sound on CEASE and BEGIN?
-- release alpha
* shared buddy lists - changes to the buddy list should refresh it?
multiple clients share buddy list???
@@ -26,11 +21,13 @@ Features:
* page up/down scrolling
* ctrl-tab should prefer new convos
* Chat rooms/browser
-* More complex quirks
+* More complex quirks: random, spelling, by-sound
* Implement TC options
* spell check?
* Help menu
+* more robust IRC error handling
-- release beta
+* log viewer
* pick your own icon
* time codes
* theme elements define, implement
@@ -40,4 +37,11 @@ Features:
* put code into separate files
* hide offline chums
-* chum list groups
\ No newline at end of file
+* chum list groups
+
+
+
+-- MEMOS:
+list has "CREATE" CACNCEL JOIN buttons
+no "--" for sys mesg
+
diff --git a/logs/chums.js b/logs/chums.js
index cac9eaf..30b71e4 100644
--- a/logs/chums.js
+++ b/logs/chums.js
@@ -1 +1 @@
-{"aquaMarinist": {"color": "#00caca", "handle": "aquaMarinist", "mood": "offline"}, "superGhost": {"color": "#800564", "handle": "superGhost", "mood": "offline"}, "captainCaveman": {"color": "#7c414e", "handle": "captainCaveman", "mood": "offline"}, "gamblingGenocider": {"color": "#00ff00", "handle": "gamblingGenocider", "mood": "offline"}, "unknownTraveler": {"color": "#006666", "handle": "unknownTraveler", "mood": "offline"}, "marineAquist": {"color": "#00caca", "handle": "marineAquist", "mood": "offline"}}
\ No newline at end of file
+{"aquaMarinist": {"color": "#00caca", "handle": "aquaMarinist", "mood": "offline"}, "nitroZealist": {"color": "#ff3737", "handle": "nitroZealist", "mood": "offline"}, "superGhost": {"color": "#800564", "handle": "superGhost", "mood": "offline"}, "tentacleTherapist": {"color": "#cc66ff", "handle": "tentacleTherapist", "mood": "offline"}, "captainCaveman": {"color": "#7c414e", "handle": "captainCaveman", "mood": "offline"}, "gamblingGenocider": {"color": "#00ff00", "handle": "gamblingGenocider", "mood": "offline"}, "schlagzeugGator": {"color": "#61821f", "handle": "schlagzeugGator", "mood": "offline"}, "unknownTraveler": {"color": "#006666", "handle": "unknownTraveler", "mood": "offline"}, "marineAquist": {"color": "#00caca", "handle": "marineAquist", "mood": "offline"}}
\ No newline at end of file
diff --git a/pesterchum.js b/pesterchum.js
index 81621d8..d0acb73 100644
--- a/pesterchum.js
+++ b/pesterchum.js
@@ -1 +1 @@
-{"tabs": true, "chums": ["aquaMarinist", "gardenGnostic", "gamblingGenocider", "schlagzeugGator", "mechanicalSpectacle", "marineAquist", "unknownTraveler"], "defaultprofile": "testProfile"}
\ No newline at end of file
+{"tabs": true, "chums": ["aquaMarinist", "gardenGnostic", "gamblingGenocider", "schlagzeugGator", "mechanicalSpectacle", "marineAquist", "unknownTraveler", "tentacleTherapist"], "defaultprofile": "testProfile"}
\ No newline at end of file
diff --git a/pesterchum.py b/pesterchum.py
index 3016fda..5cdd07e 100644
--- a/pesterchum.py
+++ b/pesterchum.py
@@ -18,7 +18,8 @@ logging.basicConfig(level=logging.INFO)
class Mood(object):
moods = ["chummy", "rancorous", "offline", "pleasant", "distraught",
"unruly", "smooth", "ecstatic", "relaxed", "discontent",
- "devious", "sleek", "detestful"]
+ "devious", "sleek", "detestful", "mirthful", "manipulative",
+ "vigorous", "perky", "acceptant", "protective"]
def __init__(self, mood):
if type(mood) is int:
self.mood = mood
@@ -34,7 +35,83 @@ class Mood(object):
return name
def icon(self, theme):
f = theme["main/chums/moods"][self.name()]["icon"]
- return QtGui.QIcon(f)
+ return PesterIcon(f)
+
+_ctag_begin = re.compile(r'')
+_ctag_rgb = re.compile(r'\d+,\d+,\d+')
+
+def convertColorTags(string, format="html"):
+ if format not in ["html", "bbcode", "ctag"]:
+ raise ValueError("Color format not recognized")
+ def repfunc(matchobj):
+ color = matchobj.group(1)
+ if _ctag_rgb.match(color) is not None:
+ if format=='ctag':
+ return ""
+ qc = QtGui.QColor(*color.split(","))
+ else:
+ qc = QtGui.QColor(color)
+ if not qc.isValid():
+ qc = QtGui.QColor("black")
+ if format == "html":
+ return '' % (qc.name())
+ elif format == "bbcode":
+ return '[color=%s]' % (qc.name())
+ elif format == "ctag":
+ (r,g,b,a) = qc.getRgb()
+ return '' % (r,g,b)
+ string = _ctag_begin.sub(repfunc, string)
+ endtag = {"html": "", "bbcode": "[/color]", "ctag": ""}
+ string = string.replace("", endtag[format])
+ return string
+
+def escapeBrackets(string):
+ class beginTag(object):
+ def __init__(self, tag):
+ self.tag = tag
+ class endTag(object):
+ pass
+ newlist = []
+ begintagpos = [(m.start(), m.end()) for m in _ctag_begin.finditer(string)]
+ lasti = 0
+ for (s, e) in begintagpos:
+ newlist.append(string[lasti:s])
+ newlist.append(beginTag(string[s:e]))
+ lasti = e
+ if lasti < len(string):
+ newlist.append(string[lasti:])
+ tmp = []
+ for o in newlist:
+ if type(o) is not beginTag:
+ l = o.split("")
+ tmp.append(l[0])
+ l = l[1:]
+ for item in l:
+ tmp.append(endTag())
+ tmp.append(item)
+ else:
+ tmp.append(o)
+ btlen = 0
+ etlen = 0
+ retval = ""
+ newlist = tmp
+ for o in newlist:
+ if type(o) is beginTag:
+ retval += o.tag.replace("&", "&")
+ btlen +=1
+ elif type(o) is endTag:
+ if etlen >= btlen:
+ continue
+ else:
+ retval += ""
+ etlen += 1
+ else:
+ retval += o.replace("&", "&").replace("<", "<").replace(">", ">")
+ if btlen > etlen:
+ for i in range(0, btlen-etlen):
+ retval += ""
+ return retval
+
class waitingMessageHolder(object):
def __init__(self, mainwindow, **msgfuncs):
@@ -65,6 +142,30 @@ class waitingMessageHolder(object):
class NoneSound(object):
def play(self): pass
+class PesterLog(object):
+ def __init__(self, handle):
+ self.handle = handle
+ if not os.path.exists("logs/%s" % (handle)):
+ os.mkdir("logs/%s" % (handle))
+ self.convos = {}
+ def log(self, handle, msg):
+ if not self.convos.has_key(handle):
+ time = datetime.now().strftime("%Y-%m-%d.%H:%M")
+ if not os.path.exists("logs/%s/%s" % (self.handle, handle)):
+ os.mkdir("logs/%s/%s" % (self.handle, handle))
+ fp = open("logs/%s/%s/%s.%s" % (self.handle, handle, handle, time), 'a')
+ self.convos[handle] = fp
+ self.convos[handle].write(msg+"\n")
+ self.convos[handle].flush()
+ def finish(self, handle):
+ if not self.convos.has_key(handle):
+ return
+ self.convos[handle].close()
+ del self.convos[handle]
+ def close(self):
+ for h in self.convos.keys():
+ self.close(h)
+
class PesterProfileDB(dict):
def __init__(self):
try:
@@ -124,10 +225,10 @@ class PesterProfile(object):
"mood": self.mood.name(),
"color": unicode(self.color.name())})
- def beganpestermsg(self, otherchum, verb="began pestering"):
- return "-- %s [%s] %s %s [%s] at %s --" % (self.handle, self.colorhtml(), self.initials(), verb, otherchum.handle, otherchum.colorhtml(), otherchum.initials(), datetime.now().strftime("%H:%M"))
- def ceasedpestermsg(self, otherchum, verb="ceased pestering"):
- return "-- %s [%s] %s %s [%s] at %s --" % (self.handle, self.colorhtml(), self.initials(), verb, otherchum.handle, otherchum.colorhtml(), otherchum.initials(), datetime.now().strftime("%H:%M"))
+ def beganpestermsg(self, otherchum, syscolor, verb="began pestering"):
+ return "-- %s [%s] %s %s [%s] at %s --" % (syscolor.name(), self.handle, self.colorhtml(), self.initials(), verb, otherchum.handle, otherchum.colorhtml(), otherchum.initials(), datetime.now().strftime("%H:%M"))
+ def ceasedpestermsg(self, otherchum, syscolor, verb="ceased pestering"):
+ return "-- %s [%s] %s %s [%s] at %s --" % (syscolor.name(), self.handle, self.colorhtml(), self.initials(), verb, otherchum.handle, otherchum.colorhtml(), otherchum.initials(), datetime.now().strftime("%H:%M"))
@staticmethod
def checkLength(handle):
@@ -643,6 +744,7 @@ class PesterOptions(QtGui.QDialog):
class WMButton(QtGui.QPushButton):
def __init__(self, icon, parent=None):
QtGui.QPushButton.__init__(self, icon, "", parent)
+ self.setIconSize(icon.realsize())
self.setFlat(True)
self.setStyleSheet("QPushButton { padding: 0px; }")
self.setAutoDefault(False)
@@ -775,8 +877,9 @@ class PesterMoodHandler(QtCore.QObject):
class PesterMoodButton(QtGui.QPushButton):
def __init__(self, parent, **options):
- icon = QtGui.QIcon(options["icon"])
+ icon = PesterIcon(options["icon"])
QtGui.QPushButton.__init__(self, icon, options["text"], parent)
+ self.setIconSize(icon.realsize())
self.setFlat(True)
self.resize(*options["size"])
self.move(*options["loc"])
@@ -795,6 +898,22 @@ class PesterMoodButton(QtGui.QPushButton):
self.moodUpdated.emit(self.mood.value())
moodUpdated = QtCore.pyqtSignal(int)
+class PesterIcon(QtGui.QIcon):
+ def __init__(self, *x, **y):
+ QtGui.QIcon.__init__(self, *x, **y)
+ if type(x[0]) in [str, unicode]:
+ self.icon_pixmap = QtGui.QPixmap(x[0])
+ else:
+ self.icon_pixmap = None
+ def realsize(self):
+ if self.icon_pixmap:
+ return self.icon_pixmap.size()
+ else:
+ try:
+ return self.availableSizes()[0]
+ except IndexError:
+ return None
+
class MovingWindow(QtGui.QFrame):
def __init__(self, *x, **y):
QtGui.QFrame.__init__(self, *x, **y)
@@ -831,7 +950,7 @@ class PesterTabWindow(QtGui.QFrame):
self.connect(self.tabs, QtCore.SIGNAL('tabCloseRequested(int)'),
self, QtCore.SLOT('tabClose(int)'))
self.tabs.setShape(self.mainwindow.theme["convo/tabs/tabstyle"])
- self.tabs.setStyleSheet("QTabBar::tabs{ %s }" % (self.mainwindow.theme["convo/tabs/style"]))
+ self.tabs.setStyleSheet("QTabBar::tab{ %s } QTabBar::tab:selected { %s }" % (self.mainwindow.theme["convo/tabs/style"], self.mainwindow.theme["convo/tabs/selectedstyle"]))
self.layout = QtGui.QVBoxLayout()
self.layout.setContentsMargins(0,0,0,0)
@@ -986,6 +1105,7 @@ class PesterText(QtGui.QTextEdit):
self.setReadOnly(True)
def addMessage(self, text, chum):
color = chum.colorhtml()
+ systemColor = QtGui.QColor(self.parent().mainwindow.theme["convo/systemMsgColor"])
initials = chum.initials()
msg = unicode(text)
if msg == "PESTERCHUM:BEGIN":
@@ -993,31 +1113,37 @@ class PesterText(QtGui.QTextEdit):
parent.setChumOpen(True)
window = parent.mainwindow
me = window.profile()
- msg = chum.beganpestermsg(me, window.theme["convo/text/beganpester"])
- self.append(msg)
+ msg = chum.beganpestermsg(me, systemColor, window.theme["convo/text/beganpester"])
+ window.chatlog.log(chum.handle, convertColorTags(msg, "bbcode"))
+ self.append(convertColorTags(msg))
elif msg == "PESTERCHUM:CEASE":
parent = self.parent()
parent.setChumOpen(False)
window = parent.mainwindow
me = window.profile()
- msg = chum.ceasedpestermsg(me, window.theme["convo/text/ceasepester"])
- self.append(msg)
+ msg = chum.ceasedpestermsg(me, systemColor, window.theme["convo/text/ceasepester"])
+ window.chatlog.log(chum.handle, convertColorTags(msg, "bbcode"))
+ self.append(convertColorTags(msg))
else:
if not self.parent().chumopen and chum is not self.parent().mainwindow.profile():
me = self.parent().mainwindow.profile()
- beginmsg = chum.beganpestermsg(me, self.parent().mainwindow.theme["convo/text/beganpester"])
+ beginmsg = chum.beganpestermsg(me, systemColor, self.parent().mainwindow.theme["convo/text/beganpester"])
self.parent().setChumOpen(True)
- self.append(beginmsg)
+ self.parent().mainwindow.chatlog.log(chum.handle, convertColorTags(beginmsg, "bbcode"))
+ self.append(convertColorTags(beginmsg))
- msg = msg.replace("&", "&").replace("<", "<").replace(">", ">")
- self.append("%s: %s" % \
- (color, initials, msg))
+ msg = "%s: %s" % (color, initials, msg)
+ msg = escapeBrackets(msg)
+ self.append(convertColorTags(msg))
+ if chum.handle == self.parent().mainwindow.profile().handle:
+ self.parent().mainwindow.chatlog.log(self.parent().chum.handle, convertColorTags(msg, "bbcode"))
+ else:
+ self.parent().mainwindow.chatlog.log(chum.handle, convertColorTags(msg, "bbcode"))
def changeTheme(self, theme):
self.setStyleSheet(theme["convo/textarea/style"])
def focusInEvent(self, event):
self.parent().clearNewMessage()
QtGui.QTextEdit.focusInEvent(self, event)
- self.parent().textInput.setFocus()
class PesterInput(QtGui.QLineEdit):
def __init__(self, theme, parent=None):
@@ -1045,6 +1171,10 @@ class PesterConvo(QtGui.QFrame):
self.chumLabel = QtGui.QLabel(t.safe_substitute(handle=chum.handle), self)
self.chumLabel.setStyleSheet(self.mainwindow.theme["convo/chumlabel/style"])
+ self.chumLabel.setAlignment(self.aligndict["h"][self.mainwindow.theme["convo/chumlabel/align/h"]] | self.aligndict["v"][self.mainwindow.theme["convo/chumlabel/align/v"]])
+ self.chumLabel.setMaximumHeight(self.mainwindow.theme["convo/chumlabel/maxheight"])
+ self.chumLabel.setMinimumHeight(self.mainwindow.theme["convo/chumlabel/minheight"])
+ self.chumLabel.setSizePolicy(QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Expanding))
self.textArea = PesterText(self.mainwindow.theme, self)
self.textInput = PesterInput(self.mainwindow.theme, self)
self.textInput.setFocus()
@@ -1056,7 +1186,8 @@ class PesterConvo(QtGui.QFrame):
self.layout.addWidget(self.chumLabel)
self.layout.addWidget(self.textArea)
self.layout.addWidget(self.textInput)
-
+ self.layout.setSpacing(0)
+
self.setLayout(self.layout)
self.chumopen = False
@@ -1064,14 +1195,16 @@ class PesterConvo(QtGui.QFrame):
if parent:
parent.addChat(self)
if initiated:
- msg = self.mainwindow.profile().beganpestermsg(self.chum, self.mainwindow.theme["convo/text/beganpester"])
- self.textArea.append(msg)
+ msg = self.mainwindow.profile().beganpestermsg(self.chum, QtGui.QColor(self.mainwindow.theme["convo/systemMsgColor"]), self.mainwindow.theme["convo/text/beganpester"])
+ self.textArea.append(convertColorTags(msg))
+ self.mainwindow.chatlog.log(self.chum.handle, convertColorTags(msg, "bbcode"))
self.newmessage = False
def updateMood(self, mood):
if mood.name() == "offline" and self.chumopen == True:
- msg = self.chum.ceasedpestermsg(self.mainwindow.profile(), self.mainwindow.theme["convo/text/ceasepester"])
- self.textArea.append(msg)
+ msg = self.chum.ceasedpestermsg(self.mainwindow.profile(), QtGui.QColor(self.mainwindow.theme["convo/systemMsgColor"]), self.mainwindow.theme["convo/text/ceasepester"])
+ self.textArea.append(convertColorTags(msg))
+ self.mainwindow.chatlog.log(self.chum.handle, convertColorTags(msg, "bbcode"))
self.chumopen = False
if self.parent():
self.parent().updateMood(self.chum.handle, mood)
@@ -1114,6 +1247,7 @@ class PesterConvo(QtGui.QFrame):
# reset system tray
def focusInEvent(self, event):
self.clearNewMessage()
+ self.textInput.setFocus()
def raiseChat(self):
self.activateWindow()
self.raise_()
@@ -1136,6 +1270,10 @@ class PesterConvo(QtGui.QFrame):
t = Template(self.mainwindow.theme["convo/chumlabel/text"])
self.chumLabel.setText(t.safe_substitute(handle=self.chum.handle))
self.chumLabel.setStyleSheet(theme["convo/chumlabel/style"])
+ self.chumLabel.setAlignment(self.aligndict["h"][self.mainwindow.theme["convo/chumlabel/align/h"]] | self.aligndict["v"][self.mainwindow.theme["convo/chumlabel/align/v"]])
+ self.chumLabel.setMaximumHeight(self.mainwindow.theme["convo/chumlabel/maxheight"])
+ self.chumLabel.setMinimumHeight(self.mainwindow.theme["convo/chumlabel/minheight"])
+ self.chumLabel.setSizePolicy(QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Expanding))
self.textArea.changeTheme(theme)
self.textInput.changeTheme(theme)
@@ -1157,10 +1295,18 @@ class PesterConvo(QtGui.QFrame):
messageSent = QtCore.pyqtSignal(QtCore.QString, PesterProfile)
windowClosed = QtCore.pyqtSignal(QtCore.QString)
+ aligndict = {"h": {"center": QtCore.Qt.AlignHCenter,
+ "left": QtCore.Qt.AlignLeft,
+ "right": QtCore.Qt.AlignRight },
+ "v": {"center": QtCore.Qt.AlignVCenter,
+ "top": QtCore.Qt.AlignTop,
+ "bottom": QtCore.Qt.AlignBottom } }
+
class PesterWindow(MovingWindow):
def __init__(self, parent=None):
MovingWindow.__init__(self, parent,
- flags=QtCore.Qt.CustomizeWindowHint)
+ flags=(QtCore.Qt.CustomizeWindowHint |
+ QtCore.Qt.FramelessWindowHint))
self.convos = {}
self.tabconvo = None
@@ -1174,6 +1320,8 @@ class PesterWindow(MovingWindow):
self.userprofile = userProfile(PesterProfile("pesterClient%d" % (random.randint(100,999)), QtGui.QColor("black"), Mood(0)))
self.theme = self.userprofile.getTheme()
+ self.chatlog = PesterLog(self.profile().handle)
+
self.move(100, 100)
opts = QtGui.QAction(self.theme["main/menus/client/options"], self)
@@ -1211,10 +1359,10 @@ class PesterWindow(MovingWindow):
profilemenu.addAction(changequirks)
profilemenu.addAction(switch)
- self.closeButton = WMButton(QtGui.QIcon(self.theme["main/close/image"]), self)
+ self.closeButton = WMButton(PesterIcon(self.theme["main/close/image"]), self)
self.connect(self.closeButton, QtCore.SIGNAL('clicked()'),
self, QtCore.SLOT('close()'))
- self.miniButton = WMButton(QtGui.QIcon(self.theme["main/minimize/image"]), self)
+ self.miniButton = WMButton(PesterIcon(self.theme["main/minimize/image"]), self)
self.connect(self.miniButton, QtCore.SIGNAL('clicked()'),
self, QtCore.SLOT('showMinimized()'))
@@ -1338,13 +1486,17 @@ class PesterWindow(MovingWindow):
self.choosetheme.exec_()
def initTheme(self, theme):
self.resize(*theme["main/size"])
- self.setWindowIcon(QtGui.QIcon(theme["main/icon"]))
+ self.setWindowIcon(PesterIcon(theme["main/icon"]))
self.setWindowTitle(theme["main/windowtitle"])
self.setStyleSheet("QFrame#main { "+theme["main/style"]+" }")
self.menu.setStyleSheet("QMenuBar { background: transparent; %s } QMenuBar::item { background: transparent; %s } " % (theme["main/menubar/style"], theme["main/menu/menuitem"]) + "QMenu { background: transparent; %s } QMenu::item::selected { %s }" % (theme["main/menu/style"], theme["main/menu/selected"]))
- self.closeButton.setIcon(QtGui.QIcon(theme["main/close/image"]))
+ newcloseicon = PesterIcon(theme["main/close/image"])
+ self.closeButton.setIcon(newcloseicon)
+ self.closeButton.setIconSize(newcloseicon.realsize())
self.closeButton.move(*theme["main/close/loc"])
- self.miniButton.setIcon(QtGui.QIcon(theme["main/minimize/image"]))
+ newminiicon = PesterIcon(theme["main/minimize/image"])
+ self.miniButton.setIcon(newminiicon)
+ self.miniButton.setIconSize(newminiicon.realsize())
self.miniButton.move(*theme["main/minimize/loc"])
# menus
self.menu.move(*theme["main/menu/loc"])
@@ -1444,10 +1596,13 @@ class PesterWindow(MovingWindow):
@QtCore.pyqtSlot(QtCore.QString)
def closeConvo(self, handle):
h = unicode(handle)
+ chum = self.convos[h].chum
chumopen = self.convos[h].chumopen
- del self.convos[h]
if chumopen:
+ self.chatlog.log(chum.handle, convertColorTags(self.profile().ceasedpestermsg(chum, QtGui.QColor(self.theme["convo/systemMsgColor"]), self.theme["convo/text/ceasepester"]), "bbcode"))
+ self.chatlog.finish(h)
self.convoClosed.emit(handle)
+ del self.convos[h]
@QtCore.pyqtSlot()
def tabsClosed(self):
del self.tabconvo
@@ -1598,6 +1753,9 @@ class PesterWindow(MovingWindow):
self.userprofile = userProfile.newUserProfile(profile)
self.changeTheme(self.userprofile.getTheme())
+ self.chatlog.close()
+ self.chatlog = PesterLog(handle)
+
# is default?
if self.chooseprofile.defaultcheck.isChecked():
self.config.set("defaultprofile", self.userprofile.chat.handle)
@@ -1818,9 +1976,9 @@ class PesterTray(QtGui.QSystemTrayIcon):
@QtCore.pyqtSlot(int)
def changeTrayIcon(self, i):
if i == 0:
- self.setIcon(QtGui.QIcon(self.mainwindow.theme["main/icon"]))
+ self.setIcon(PesterIcon(self.mainwindow.theme["main/icon"]))
else:
- self.setIcon(QtGui.QIcon(self.mainwindow.theme["main/newmsgicon"]))
+ self.setIcon(PesterIcon(self.mainwindow.theme["main/newmsgicon"]))
def main():
@@ -1833,7 +1991,7 @@ def main():
widget = PesterWindow()
widget.show()
- trayicon = PesterTray(QtGui.QIcon(widget.theme["main/icon"]), widget, app)
+ trayicon = PesterTray(PesterIcon(widget.theme["main/icon"]), widget, app)
trayicon.show()
trayicon.connect(trayicon,
diff --git a/themes/pesterchum/Thumbs.db b/themes/pesterchum/Thumbs.db
deleted file mode 100644
index 8517079..0000000
Binary files a/themes/pesterchum/Thumbs.db and /dev/null differ
diff --git a/themes/pesterchum/pcbg.png b/themes/pesterchum/pcbg.png
index 1f93fa9..688eab7 100644
Binary files a/themes/pesterchum/pcbg.png and b/themes/pesterchum/pcbg.png differ
diff --git a/themes/pesterchum/style.js b/themes/pesterchum/style.js
index 8617f13..3dbc992 100644
--- a/themes/pesterchum/style.js
+++ b/themes/pesterchum/style.js
@@ -1,168 +1,173 @@
-{"main":
- {"style": "background-image:url($path/pcbg.png);",
- "size": [300, 620],
- "icon": "$path/trayicon.gif",
- "newmsgicon": "$path/trayicon2.png",
- "windowtitle": "P3ST3RCHUM",
- "close": { "image": "$path/x.gif",
- "loc": [275, 0]},
- "minimize": { "image": "$path/m.gif",
- "loc": [255, 0]},
- "menubar": { "style": "font-family: 'Courier New'; font-weight: bold; font-size: 12px;" },
- "menu" : { "style": "font-family: 'Courier New'; font-weight: bold; font-size: 12px; background-color: #fdb302;border:2px solid #ffff00",
- "selected": "background-color: #ffff00",
- "menuitem": "margin-right:10px;",
- "loc": [7,3]
- },
- "sounds": { "alertsound": "$path/alarm.wav" },
- "menus": {"client": {"_name": "CLIENT",
- "options": "OPTIONS",
- "exit": "EXIT"},
- "profile": {"_name": "PROFILE",
- "switch": "SWITCH",
- "theme": "THEME",
- "quirks": "QUIRKS"},
- "rclickchumlist": {"pester": "PESTER",
- "removechum": "REMOVE CHUM"}
- },
- "chums": { "style": "background-color: black;color: white;font: bold;font-family: 'Courier New';selection-background-color:#919191; ",
- "loc": [20, 65],
- "size": [266, 270],
- "moods": { "chummy": { "icon": "$path/chummy.gif",
- "color": "white" },
- "offline": { "icon": "$path/offline.gif",
- "color": "#919191"},
- "rancorous": { "icon": "$path/rancorous.gif",
- "color": "red" },
- "detestful": { "icon": "$path/detestful.gif",
- "color": "red" },
- "devious": { "icon": "$path/devious.gif",
- "color": "white" },
- "discontent": { "icon": "$path/discontent.gif",
- "color": "white" },
- "distraught": { "icon": "$path/distraught.gif",
- "color": "white" },
- "ecstatic": { "icon": "$path/estatic.gif",
- "color": "white" },
- "pleasant": { "icon": "$path/pleasant.gif",
- "color": "white" },
- "relaxed": { "icon": "$path/relaxed.gif",
- "color": "white" },
- "sleek": { "icon": "$path/sleek.gif",
- "color": "white" },
- "smooth": { "icon": "$path/smooth.gif",
- "color": "white" },
- "unruly": { "icon": "$path/unruly.gif",
- "color": "white" }
- }
- },
- "mychumhandle": { "label": { "text": "MYCHUMHANDLE",
- "loc": [70,380],
- "style": "color:black;font:bold;" },
- "handle": { "style": "border:3px solid yellow; background: black; color:white;",
- "loc": [20,400],
- "size": [220,30] },
- "colorswatch": { "loc": [243,400],
- "size": [40,30],
- "text": "" }
- },
- "defaultwindow": { "style": "background: #fdb302; font-family:'Courier New';font:bold;selection-background-color:#919191; "
- },
- "addchum": { "style": "background: #fdb302; border:5px solid yellow; font: bold;",
- "loc": [20,340],
- "size": [100, 40],
- "text": "ADD CHUM"
- },
- "pester": { "style": "background: #fdb302; border:5px solid yellow; font: bold;",
- "loc": [130,340],
- "size": [100, 40],
- "text": "PESTER!"
- },
- "defaultmood": 0,
- "moodlabel": { "style": "",
- "loc": [20, 430],
- "text": "MOODS"
- },
- "moods": [
- { "style": "text-align:left; background: white; border:3px solid black; padding: 5px;color:#919191;",
- "selected": "text-align:left; background: white; border:3px solid black; padding: 5px;font: bold;",
- "loc": [20, 470],
- "size": [133, 30],
- "text": "CHUMMY",
- "icon": "$path/chummy.gif",
- "mood": 0
- },
- { "style": "text-align:left; background: white; border:3px solid black; padding: 5px;color: #919191",
- "selected": "text-align:left; background: white; border:3px solid black; padding: 5px;font: bold;",
- "loc": [20, 497],
- "size": [133, 30],
- "text": "PLEASANT",
- "icon": "$path/pleasant.gif",
- "mood": 3
- },
- { "style": "text-align:left; background: white; border:3px solid black; padding: 5px;color:#919191;",
- "selected": "text-align:left; background: white; border:3px solid black; padding: 5px;font: bold;",
- "loc": [20, 524],
- "size": [133, 30],
- "text": "DISTRAUGHT",
- "icon": "$path/distraught.gif",
- "mood": 4
- },
- { "style": "text-align:left; background: white; border:3px solid black; padding: 5px;color:#919191;",
- "selected": "text-align:left; background: white; border:3px solid black; padding: 5px;font: bold;",
- "loc": [150, 470],
- "size": [133, 30],
- "text": "UNRULY",
- "icon": "$path/unruly.gif",
- "mood": 5
- },
- { "style": "text-align:left; background: white; border:3px solid black; padding: 5px;color:#919191;",
- "selected": "text-align:left; background: white; border:3px solid black; padding: 5px;font: bold;",
- "loc": [150, 497],
- "size": [133, 30],
- "text": "SMOOTH",
- "icon": "$path/smooth.gif",
- "mood": 6
- },
- { "style": "text-align:left; background: red; border:3px solid black; padding: 5px;",
- "selected": "text-align:left; background: red; border:3px solid black; padding: 5px;font: bold;",
- "loc": [150, 524],
- "size": [133, 30],
- "text": "RANCOROUS",
- "icon": "$path/rancorous.gif",
- "mood": 1
- },
- { "style": "text-align:center; background: #919191; border:3px solid black; padding: 5px;",
- "selected": "text-align:center; background: #919191; border:3px solid black; padding: 5px;font: bold;",
- "loc": [20, 551],
- "size": [263, 30],
- "text": "ABSCOND",
- "icon": "$path/offline.gif",
- "mood": 2
- }
- ]
- },
- "convo":
- {"style": "background: #fdb302; font-family: 'Courier New'",
- "size": [600, 500],
- "chumlabel": { "style": "background: rgba(255, 255, 255, 25%);",
- "text" : ":: $handle ::"
- },
- "textarea": {
- "style": "background: white;font:bold;"
- },
- "input": {
- "style": "background: white;"
- },
- "tabs": {
- "style": "",
- "newmsgcolor": "#fdb302",
- "tabstyle": 0
- },
- "text": {
- "beganpester": "began pestering",
- "ceasepester": "ceased pestering"
- }
- }
-
-}
+{"main":
+ {"style": "background-image:url($path/pcbg.png);",
+ "size": [232, 380],
+ "icon": "$path/trayicon.png",
+ "newmsgicon": "$path/trayicon2.png",
+ "windowtitle": "PESTERCHUM",
+ "close": { "image": "$path/x.gif",
+ "loc": [210, 2]},
+ "minimize": { "image": "$path/m.gif",
+ "loc": [190, 2]},
+ "menubar": { "style": "font-family: 'Courier'; font:bold; font-size: 12px;" },
+ "menu" : { "style": "font-family: 'Courier'; font: bold; font-size: 12px; background-color: #fdb302;border:2px solid #ffff00",
+ "menuitem": "margin-right:10px;",
+ "selected": "background-color: #ffff00",
+ "loc": [10,0]
+ },
+ "sounds": { "alertsound": "$path/alarm.wav" },
+ "menus": {"client": {"_name": "CLIENT",
+ "options": "OPTIONS",
+ "exit": "EXIT"},
+ "profile": {"_name": "PROFILE",
+ "switch": "SWITCH",
+ "theme": "THEME",
+ "quirks": "QUIRKS"},
+ "rclickchumlist": {"pester": "PESTER",
+ "removechum": "REMOVE CHUM"}
+ },
+ "chums": { "style": "border:2px solid yellow; background-color: black;color: white;font: bold;font-family: 'Courier';selection-background-color:#646464; ",
+ "loc": [12, 117],
+ "size": [209, 82],
+ "moods": { "chummy": { "icon": "$path/chummy.gif",
+ "color": "white" },
+ "offline": { "icon": "$path/offline.gif",
+ "color": "#646464"},
+ "rancorous": { "icon": "$path/rancorous.gif",
+ "color": "red" },
+ "detestful": { "icon": "$path/detestful.gif",
+ "color": "red" },
+ "devious": { "icon": "$path/devious.gif",
+ "color": "white" },
+ "discontent": { "icon": "$path/discontent.gif",
+ "color": "white" },
+ "distraught": { "icon": "$path/distraught.gif",
+ "color": "white" },
+ "ecstatic": { "icon": "$path/estatic.gif",
+ "color": "white" },
+ "pleasant": { "icon": "$path/pleasant.gif",
+ "color": "white" },
+ "relaxed": { "icon": "$path/relaxed.gif",
+ "color": "white" },
+ "sleek": { "icon": "$path/sleek.gif",
+ "color": "white" },
+ "smooth": { "icon": "$path/smooth.gif",
+ "color": "white" },
+ "unruly": { "icon": "$path/unruly.gif",
+ "color": "white" }
+ }
+ },
+ "mychumhandle": { "label": { "text": "CHUMHANDLE:",
+ "loc": [19,232],
+ "style": "color: rgba(255, 255, 0, 0%) ;font:bold; font-family: 'Courier';" },
+ "handle": { "style": "background: black; padding: 3px; color:white; font-family:'Courier'; font:bold; text-align:left;",
+ "loc": [14,246],
+ "size": [190, 21] },
+ "colorswatch": { "loc": [196,246],
+ "size": [23,21],
+ "text": "" }
+ },
+ "defaultwindow": { "style": "background: #fdb302; font-family:'Courier';font:bold;selection-background-color:#919191; "
+ },
+ "addchum": { "style": "background: rgba(255, 255, 0, 0%); border:2px solid #c48a00; font: bold; color: rgba(0, 0, 0, 0%); font-family:'Courier';",
+ "loc": [12,202],
+ "size": [71, 22],
+ "text": "ADD CHUM"
+ },
+ "pester": { "style": "background: rgba(255, 255, 0, 0%); border:2px solid #c48a00; font: bold; color: rgba(255, 255, 0, 0%); font-family:'Courier';",
+ "loc": [150,202],
+ "size": [71, 22],
+ "text": "PESTER!"
+ },
+ "defaultmood": 0,
+ "moodlabel": { "style": "",
+ "loc": [20, 430],
+ "text": "MOODS"
+ },
+ "moods": [
+ { "style": "text-align:left; border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier'",
+ "selected": "text-align:left; background-image:url($path/moodcheck1.gif); border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier';",
+ "loc": [12, 288],
+ "size": [104, 22],
+ "text": "CHUMMY",
+ "icon": "$path/chummy.gif",
+ "mood": 0
+ },
+ { "style": "text-align:left; border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier'",
+ "selected": "text-align:left; background-image:url($path/moodcheck2.gif); border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier';",
+ "loc": [12, 308],
+ "size": [104, 22],
+ "text": "PALSY",
+ "icon": "$path/chummy.gif",
+ "mood": 3
+ },
+ { "style": "text-align:left; border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier'",
+ "selected": "text-align:left; background-image:url($path/moodcheck3.gif); border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier';",
+ "loc": [12, 328],
+ "size": [104, 22],
+ "text": "CHIPPER",
+ "icon": "$path/chummy.gif",
+ "mood": 4
+ },
+ { "style": "text-align:left; border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier'",
+ "selected": "text-align:left; background-image:url($path/moodcheck2.gif); border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier';",
+ "loc": [117, 288],
+ "size": [104, 22],
+ "text": "BULLY",
+ "icon": "$path/chummy.gif",
+ "mood": 5
+ },
+ { "style": "text-align:left; border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier'",
+ "selected": "text-align:left; background-image:url($path/moodcheck2.gif); border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier';",
+ "loc": [117, 308],
+ "size": [104, 22],
+ "text": "PEPPY",
+ "icon": "$path/chummy.gif",
+ "mood": 6
+ },
+ { "style": "text-align:left; border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier'",
+ "selected": "text-align:left; background-image:url($path/moodcheck4.gif); border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier';",
+ "loc": [117, 328],
+ "size": [104, 22],
+ "text": "RANCOROUS",
+ "icon": "$path/rancorous.gif",
+ "mood": 1
+ },
+ { "style": "text-align:left; border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier'",
+ "selected": "text-align:left; background-image:url($path/moodcheck5.gif); border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier';",
+ "loc": [12, 348],
+ "size": [209, 22],
+ "text": "ABSCOND",
+ "icon": "$path/x.gif",
+ "mood": 2
+ }
+ ]
+ },
+ "convo":
+ {"style": "background: #fdb302; border:2px solid yellow; font-family: 'Courier'",
+ "size": [295, 191],
+ "chumlabel": { "style": "background: rgb(196, 138, 0); color: white; border:0px;",
+ "align": { "h": "center", "v": "center" },
+ "minheight": 30,
+ "maxheight": 50,
+ "text" : ":: $handle ::"
+ },
+ "textarea": {
+ "style": "background: white; font:bold; border:2px solid #c48a00;text-align:center;"
+ },
+ "input": {
+ "style": "background: white; border:2px solid #c48a00;margin-top:5px;"
+ },
+ "tabs": {
+ "style": "",
+ "selectedstyle": "",
+ "newmsgcolor": "#fdb302",
+ "tabstyle": 0
+ },
+ "text": {
+ "beganpester": "began pestering",
+ "ceasepester": "ceased pestering"
+ },
+ "systemMsgColor": "#646464"
+ }
+
+}
\ No newline at end of file
diff --git a/themes/pesterchum/trayicon.gif b/themes/pesterchum/trayicon.gif
deleted file mode 100644
index 926ccc7..0000000
Binary files a/themes/pesterchum/trayicon.gif and /dev/null differ
diff --git a/themes/pesterchum/trayicon2.png b/themes/pesterchum/trayicon2.png
index 817bf4b..7b78586 100644
Binary files a/themes/pesterchum/trayicon2.png and b/themes/pesterchum/trayicon2.png differ
diff --git a/themes/pesterchum/x.gif b/themes/pesterchum/x.gif
index 1c679ca..6f29624 100644
Binary files a/themes/pesterchum/x.gif and b/themes/pesterchum/x.gif differ
diff --git a/themes/pesterchum6/style.js b/themes/pesterchum6/style.js
index f561d72..3dbc992 100644
--- a/themes/pesterchum6/style.js
+++ b/themes/pesterchum6/style.js
@@ -145,23 +145,29 @@
"convo":
{"style": "background: #fdb302; border:2px solid yellow; font-family: 'Courier'",
"size": [295, 191],
- "chumlabel": { "style": "background: rgb(196, 138, 0); color: white; text-align:center;",
- "text" : ":: $handle ::" },
+ "chumlabel": { "style": "background: rgb(196, 138, 0); color: white; border:0px;",
+ "align": { "h": "center", "v": "center" },
+ "minheight": 30,
+ "maxheight": 50,
+ "text" : ":: $handle ::"
+ },
"textarea": {
"style": "background: white; font:bold; border:2px solid #c48a00;text-align:center;"
},
"input": {
- "style": "background: white; border:2px solid #c48a00;"
+ "style": "background: white; border:2px solid #c48a00;margin-top:5px;"
},
"tabs": {
"style": "",
+ "selectedstyle": "",
"newmsgcolor": "#fdb302",
"tabstyle": 0
},
"text": {
"beganpester": "began pestering",
"ceasepester": "ceased pestering"
- }
+ },
+ "systemMsgColor": "#646464"
}
}
\ No newline at end of file
diff --git a/themes/trollian/Thumbs.db b/themes/trollian/Thumbs.db
index f67753d..40ac244 100644
Binary files a/themes/trollian/Thumbs.db and b/themes/trollian/Thumbs.db differ
diff --git a/themes/trollian/chummy.gif b/themes/trollian/chummy.gif
deleted file mode 100644
index bdacc01..0000000
Binary files a/themes/trollian/chummy.gif and /dev/null differ
diff --git a/themes/trollian/detestful.gif b/themes/trollian/detestful.gif
deleted file mode 100644
index e8f3e08..0000000
Binary files a/themes/trollian/detestful.gif and /dev/null differ
diff --git a/themes/trollian/devious.gif b/themes/trollian/devious.gif
deleted file mode 100644
index 06ba8be..0000000
Binary files a/themes/trollian/devious.gif and /dev/null differ
diff --git a/themes/trollian/discontent.gif b/themes/trollian/discontent.gif
deleted file mode 100644
index addcf54..0000000
Binary files a/themes/trollian/discontent.gif and /dev/null differ
diff --git a/themes/trollian/distraught.gif b/themes/trollian/distraught.gif
deleted file mode 100644
index 222e9dd..0000000
Binary files a/themes/trollian/distraught.gif and /dev/null differ
diff --git a/themes/trollian/estatic.gif b/themes/trollian/estatic.gif
deleted file mode 100644
index dc3ee61..0000000
Binary files a/themes/trollian/estatic.gif and /dev/null differ
diff --git a/themes/trollian/m.gif b/themes/trollian/m.gif
index 946ed22..b40729b 100644
Binary files a/themes/trollian/m.gif and b/themes/trollian/m.gif differ
diff --git a/themes/trollian/offline.gif b/themes/trollian/offline.gif
deleted file mode 100644
index 1733bf0..0000000
Binary files a/themes/trollian/offline.gif and /dev/null differ
diff --git a/themes/trollian/pleasant.gif b/themes/trollian/pleasant.gif
deleted file mode 100644
index ef1457c..0000000
Binary files a/themes/trollian/pleasant.gif and /dev/null differ
diff --git a/themes/trollian/rancorous.gif b/themes/trollian/rancorous.gif
deleted file mode 100644
index d4a3dc0..0000000
Binary files a/themes/trollian/rancorous.gif and /dev/null differ
diff --git a/themes/trollian/relaxed.gif b/themes/trollian/relaxed.gif
deleted file mode 100644
index 55a31a0..0000000
Binary files a/themes/trollian/relaxed.gif and /dev/null differ
diff --git a/themes/trollian/sleek.gif b/themes/trollian/sleek.gif
deleted file mode 100644
index 5573aa5..0000000
Binary files a/themes/trollian/sleek.gif and /dev/null differ
diff --git a/themes/trollian/smooth.gif b/themes/trollian/smooth.gif
deleted file mode 100644
index e86ebd3..0000000
Binary files a/themes/trollian/smooth.gif and /dev/null differ
diff --git a/themes/trollian/style.js b/themes/trollian/style.js
index 784a101..ac7f161 100644
--- a/themes/trollian/style.js
+++ b/themes/trollian/style.js
@@ -1,168 +1,247 @@
{"main":
- {"style": "background-image:url($path/tnbg2.png);background-color:rgba(255,255,255,0);",
- "size": [300, 620],
- "icon": "$path/trayicon3.png",
- "newmsgicon": "$path/trayicon.gif",
+ {"style": "background-image:url($path/tnbg.png);background-color:rgba(255,255,255,0);",
+ "size": [650, 450],
+ "icon": "$path/trayicon2.png",
+ "newmsgicon": "$path/trayicon3.png",
"windowtitle": "TROLLIAN",
"close": { "image": "$path/x.gif",
- "loc": [275, 0]},
+ "loc": [635, 2]},
"minimize": { "image": "$path/m.gif",
- "loc": [255, 0]},
- "menubar": { "style": "font-family: 'Courier New'; font-weight: bold; font-size: 12px;" },
- "menu" : { "style": "font-family: 'Courier New'; font-weight: bold; font-size: 12px; background-color: #e5000f; border:2px solid #ff0000",
- "selected": "background-color: #ff0000",
- "menuitem": "margin-right:10px;",
- "loc": [10,0]
+ "loc": [621, 8]},
+ "menubar": { "style": "font-family: 'Arial'; font-size: 11px; color: rgba(0,0,0,0);" },
+
+
+ "menu" : { "style": "font-family: 'Arial'; font-size: 11px; background-color: #c2c2c2; border:1px solid #545454;",
+
+
+ "selected": "background-color: #545454",
+
+
+ "menuitem": "margin-right:14px;",
+
+ "loc": [14,90]
},
+
"sounds": { "alertsound": "$path/alarm.wav" },
- "menus": {"client": {"_name": "GRUBBER",
- "options": "OPTIONS",
- "exit": "ABSCOND"},
- "profile": {"_name": "HEMOSPECTRUM",
- "switch": "SWITCH",
- "theme": "THEME",
- "quirks": "ANNOYING"},
- "rclickchumlist": {"pester": "TROLL",
- "removechum": "REMOVE LOSER"}
+ "menus": {"client": {"_name": "Trollian",
+ "options": "Options",
+ "exit": "Abscond"},
+ "profile": {"_name": "View",
+ "switch": "Trolltag",
+ "theme": "Theme",
+ "quirks": "Annoying"},
+ "rclickchumlist": {"pester": "Troll",
+ "removechum": "Trash"}
},
- "chums": { "style": "background-color: black;color: white;font: bold;font-family: 'Courier New';selection-background-color:#ffb6b6; ",
- "loc": [20, 65],
- "size": [266, 270],
- "moods": { "chummy": { "icon": "$path/chummy.gif",
- "color": "white" },
- "offline": { "icon": "$path/offline.gif",
- "color": "#919191"},
- "rancorous": { "icon": "$path/rancorous.gif",
- "color": "red" },
- "detestful": { "icon": "$path/detestful.gif",
- "color": "red" },
- "devious": { "icon": "$path/devious.gif",
- "color": "white" },
- "discontent": { "icon": "$path/discontent.gif",
- "color": "white" },
- "distraught": { "icon": "$path/distraught.gif",
- "color": "white" },
- "ecstatic": { "icon": "$path/estatic.gif",
- "color": "white" },
- "pleasant": { "icon": "$path/pleasant.gif",
- "color": "white" },
- "relaxed": { "icon": "$path/relaxed.gif",
- "color": "white" },
- "sleek": { "icon": "$path/sleek.gif",
- "color": "white" },
- "smooth": { "icon": "$path/smooth.gif",
- "color": "white" },
- "unruly": { "icon": "$path/unruly.gif",
- "color": "white" }
+ "chums": { "style": "border: 0px; background-color: white; padding: 5px; font-family: 'Arial';selection-background-color:rgb(200,200,200); ",
+ "loc": [476, 90],
+ "size": [175, 361],
+
+ "moods": {
+
+"chummy": { "icon": "$path/chummy.png", "color": "#63ea00" },
+
+"rancorous": { "icon": "$path/rancorous.png", "color": "#7f7f7f" },
+
+"offline": { "icon": "$path/offline.png", "color": "black"},
+
+
+"pleasant": { "icon": "$path/pleasant.png", "color": "#d69df8" },
+
+"distraught": { "icon": "$path/distraught.png", "color": "#706eba" },
+
+"unruly": { "icon": "$path/unruly.png", "color": "blue" },
+
+"smooth": { "icon": "$path/smooth.png", "color": "red" },
+
+
+"ecstatic": { "icon": "$path/ecstatic.png", "color": "#99004d" },
+
+"relaxed": { "icon": "$path/relaxed.png", "color": "#078446" },
+
+"discontent": { "icon": "$path/discontent.png", "color": "#a75403" },
+
+"devious": { "icon": "$path/devious.png", "color": "#008282" },
+
+"sleek": { "icon": "$path/sleek.png", "color": "#a1a100" },
+
+"detestful": { "icon": "$path/detestful.png", "color": "#6a006a" },
+
+"mirthful": { "icon": "$path/mirthful.png", "color": "#450077" },
+
+"manipulative": { "icon": "$path/manipulative.png", "color": "#004182" },
+
+"vigorous": { "icon": "$path/vigorous.png", "color": "#0021cb" },
+
+"perky": { "icon": "$path/perky.png", "color": "#406600" },
+
+"acceptant": { "icon": "$path/acceptant.png", "color": "#a10000" },
+
+"protective": { "icon": "$path/protective.png", "color": "white" }
+
}
},
- "mychumhandle": { "label": { "text": "MYTROLLTAG",
+ "mychumhandle": { "label": { "text": "",
"loc": [85,410],
- "style": "color:black;font:bold;" },
- "handle": { "style": "border:3px solid #550000; background: black; color:white;",
- "loc": [20,430],
- "size": [220,30] },
- "colorswatch": { "loc": [243,430],
- "size": [40,30],
+ "style": "color:rgba(0,0,0,0);" },
+ "handle": { "style": "background: rgba(0,0,0,0); color:rgba(0,0,0,0);",
+ "loc": [0,0],
+ "size": [0,0] },
+ "colorswatch": { "loc": [0,0],
+ "size": [0,0],
"text": "" }
},
- "defaultwindow": { "style": "background: #e5000f; font-family:'Courier New';font:bold;selection-background-color:#ffb6b6; "
+ "defaultwindow": { "style": "background: #c2c2c2; font-family:'Arial';font:bold;selection-background-color:#545454; "
},
- "addchum": { "style": "background: black; border:5px solid #550000; font: bold;color:white;",
- "loc": [20,340],
- "size": [100, 40],
- "text": "ADD LOSER"
+ "addchum": { "style": "background: rgba(0,0,0,0); border:0px; color: rgba(0,0,0,0);",
+ "loc": [475, 67],
+ "size": [175, 18],
+ "text": ""
},
- "pester": { "style": "background: black; border:5px solid #550000; font: bold;color:white;",
- "loc": [130,340],
- "size": [100, 40],
- "text": "TROLL"
+ "pester": { "style": "background: rgba(0,0,0,0); border:0px; color: rgba(0,0,0,0);",
+ "loc": [0,0],
+ "size": [0, 0],
+ "text": ""
},
"defaultmood": 7,
"moodlabel": { "style": "",
- "loc": [20, 430],
- "text": "MOODS"
+ "loc": [0, 0],
+ "text": ""
},
"moods": [
- { "style": "text-align:left; background: black; border:3px solid black; padding: 5px;color:#dbdbdb;",
- "selected": "text-align:left; background: white; border:3px solid black; padding: 5px;font: bold;",
- "loc": [20, 470],
- "size": [133, 30],
- "text": "ECSTATIC",
- "icon": "$path/estatic.gif",
- "mood": 7
+ { "style": "border:0px;",
+ "selected": "background-image:url($path/moodcheck1.png); border:0px;",
+ "loc": [25, 141],
+ "size": [20, 270],
+ "text": "",
+ "icon": "",
+ "mood": 17
},
- { "style": "text-align:left; background: black; border:3px solid black; padding: 5px;color: #dbdbdb",
- "selected": "text-align:left; background: white; border:3px solid black; padding: 5px;font: bold;",
- "loc": [20, 497],
- "size": [133, 30],
- "text": "RELAXED",
- "icon": "$path/relaxed.gif",
- "mood": 8
- },
- { "style": "text-align:left; background: black; border:3px solid black; padding: 5px;color:#dbdbdb;",
- "selected": "text-align:left; background: white; border:3px solid black; padding: 5px;font: bold;",
- "loc": [20, 524],
- "size": [133, 30],
- "text": "DISCONTENT",
- "icon": "$path/discontent.gif",
+ { "style": "border:0px;",
+ "selected": "background-image:url($path/moodcheck2.png); border:0px;",
+ "loc": [60, 141],
+ "size": [20, 270],
+ "text": "",
+ "icon": "",
"mood": 9
},
- { "style": "text-align:left; background: black; border:3px solid black; padding: 5px;color:#dbdbdb;",
- "selected": "text-align:left; background: white; border:3px solid black; padding: 5px;font: bold;",
- "loc": [150, 470],
- "size": [133, 30],
- "text": "DEVIOUS",
- "icon": "$path/devious.gif",
- "mood": 10
- },
- { "style": "text-align:left; background: black; border:3px solid black; padding: 5px;color:#dbdbdb;",
- "selected": "text-align:left; background: white; border:3px solid black; padding: 5px;font: bold;",
- "loc": [150, 497],
- "size": [133, 30],
- "text": "SLEEK",
- "icon": "$path/sleek.gif",
+ { "style": "border:0px;",
+ "selected": "background-image:url($path/moodcheck3.png); border:0px;",
+ "loc": [95, 141],
+ "size": [20, 270],
+ "text": "",
+ "icon": "",
"mood": 11
},
- { "style": "text-align:left; background: red; border:3px solid black; padding: 5px;",
- "selected": "text-align:left; background: red; border:3px solid black; padding: 5px;font: bold;",
- "loc": [150, 524],
- "size": [133, 30],
- "text": "DETESTFUL",
- "icon": "$path/detestful.gif",
+ { "style": "border:0px;",
+ "selected": "background-image:url($path/moodcheck4.png); border:0px;",
+ "loc": [130, 141],
+ "size": [20, 270],
+ "text": "",
+ "icon": "",
+ "mood": 1
+ },
+ { "style": "border:0px;",
+ "selected": "background-image:url($path/moodcheck5.png); border:0px;",
+ "loc": [165, 141],
+ "size": [20, 270],
+ "text": "",
+ "icon": "",
+ "mood": 16
+ },
+ { "style": "border:0px;",
+ "selected": "background-image:url($path/moodcheck6.png); border:0px;",
+ "loc": [200, 141],
+ "size": [20, 270],
+ "text": "",
+ "icon": "",
+ "mood": 8
+ },
+ { "style": "border:0px;",
+ "selected": "background-image:url($path/moodcheck7.png); border:0px;",
+ "loc": [235, 141],
+ "size": [20, 270],
+ "text": "",
+ "icon": "",
+ "mood": 10
+ },
+ { "style": "border:0px;",
+ "selected": "background-image:url($path/moodcheck8.png); border:0px;",
+ "loc": [270, 141],
+ "size": [20, 270],
+ "text": "",
+ "icon": "",
+ "mood": 14
+ },
+ { "style": "border:0px;",
+ "selected": "background-image:url($path/moodcheck9.png); border:0px;",
+ "loc": [305, 141],
+ "size": [20, 270],
+ "text": "",
+ "icon": "",
+ "mood": 15
+ },
+ { "style": "border:0px;",
+ "selected": "background-image:url($path/moodcheck10.png); border:0px;",
+ "loc": [340, 141],
+ "size": [20, 270],
+ "text": "",
+ "icon": "",
+ "mood": 13
+ },
+ { "style": "border:0px;",
+ "selected": "background-image:url($path/moodcheck11.png); border:0px;",
+ "loc": [375, 141],
+ "size": [20, 270],
+ "text": "",
+ "icon": "",
"mood": 12
},
- { "style": "text-align:center; background: #919191; border:3px solid black; padding: 5px;",
- "selected": "text-align:center; background: #919191; border:3px solid black; padding: 5px;font: bold;",
- "loc": [20, 551],
- "size": [263, 30],
- "text": "ABSCOND",
- "icon": "$path/offline.gif",
+ { "style": "border:0px;",
+ "selected": "background-image:url($path/moodcheck12.png); border:0px;",
+ "loc": [410, 141],
+ "size": [20, 270],
+ "text": "",
+ "icon": "",
+ "mood": 7
+ },
+
+ { "style": "border:0px;color: rgba(0, 0, 0, 0%);",
+ "selected": "border:0px; color: rgba(0, 0, 0, 0%);",
+ "loc": [12, 117],
+ "size": [435, 18],
+ "text": "",
+ "icon": "",
"mood": 2
}
]
},
"convo":
- {"style": "background: #e5000f; font-family: 'Courier New'",
- "size": [600, 500],
- "chumlabel": { "style": "background: rgba(255, 255, 255, 25%);",
- "text" : "trolling $handle"
+ {"style": "background: rgb(190, 19, 4); font-family: 'Arial'",
+ "size": [308, 194],
+ "chumlabel": { "style": "background: rgb(255, 38, 18); color: white;",
+ "align": { "h": "center", "v": "center" },
+ "minheight": 30,
+ "maxheight": 50,
+ "text" : "trolling: $handle"
},
"textarea": {
- "style": "background: white;font:bold;"
+ "style": "background: white; border:0px;"
},
"input": {
- "style": "background: white;"
+ "style": "background: white; border:0px solid #c48a00;margin-top:5px;"
},
"tabs": {
"style": "",
+ "selectedstyle": "",
"newmsgcolor": "red",
"tabstyle": 0
},
"text": {
"beganpester": "began trolling",
"ceasepester": "gave up trolling"
- }
+ },
+ "systemMsgColor": "#646464"
}
-}
+}
\ No newline at end of file
diff --git a/themes/trollian/tnbg.png b/themes/trollian/tnbg.png
index ac1513b..1c409a5 100644
Binary files a/themes/trollian/tnbg.png and b/themes/trollian/tnbg.png differ
diff --git a/themes/trollian/tnbg2.png b/themes/trollian/tnbg2.png
index 87babae..4ea9d2a 100644
Binary files a/themes/trollian/tnbg2.png and b/themes/trollian/tnbg2.png differ
diff --git a/themes/trollian/trayicon2.png b/themes/trollian/trayicon2.png
index 92b7081..31f7d29 100644
Binary files a/themes/trollian/trayicon2.png and b/themes/trollian/trayicon2.png differ
diff --git a/themes/trollian/trayicon3.png b/themes/trollian/trayicon3.png
index 31f7d29..84d1156 100644
Binary files a/themes/trollian/trayicon3.png and b/themes/trollian/trayicon3.png differ
diff --git a/themes/trollian/unruly.gif b/themes/trollian/unruly.gif
deleted file mode 100644
index 3bbd8be..0000000
Binary files a/themes/trollian/unruly.gif and /dev/null differ
diff --git a/themes/trollian/x.gif b/themes/trollian/x.gif
index 16a9d37..80f14b6 100644
Binary files a/themes/trollian/x.gif and b/themes/trollian/x.gif differ