prealpha-0.0.4

This commit is contained in:
Stephen Dranger 2011-02-02 02:20:48 -06:00
parent a1a7a8dbdd
commit 24c1cebe57
32 changed files with 591 additions and 339 deletions

24
TODO
View file

@ -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
* chum list groups
-- MEMOS:
list has "CREATE" CACNCEL JOIN buttons
no "--" for sys mesg

View file

@ -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"}}
{"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"}}

View file

@ -1 +1 @@
{"tabs": true, "chums": ["aquaMarinist", "gardenGnostic", "gamblingGenocider", "schlagzeugGator", "mechanicalSpectacle", "marineAquist", "unknownTraveler"], "defaultprofile": "testProfile"}
{"tabs": true, "chums": ["aquaMarinist", "gardenGnostic", "gamblingGenocider", "schlagzeugGator", "mechanicalSpectacle", "marineAquist", "unknownTraveler", "tentacleTherapist"], "defaultprofile": "testProfile"}

View file

@ -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'<c=(.*?)>')
_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 "<c=%s,%s,%s>"
qc = QtGui.QColor(*color.split(","))
else:
qc = QtGui.QColor(color)
if not qc.isValid():
qc = QtGui.QColor("black")
if format == "html":
return '<span style="color:%s">' % (qc.name())
elif format == "bbcode":
return '[color=%s]' % (qc.name())
elif format == "ctag":
(r,g,b,a) = qc.getRgb()
return '<c=%s,%s,%s>' % (r,g,b)
string = _ctag_begin.sub(repfunc, string)
endtag = {"html": "</span>", "bbcode": "[/color]", "ctag": "</c>"}
string = string.replace("</c>", 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("</c>")
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("&", "&amp;")
btlen +=1
elif type(o) is endTag:
if etlen >= btlen:
continue
else:
retval += "</c>"
etlen += 1
else:
retval += o.replace("&", "&amp;").replace("<", "&lt;").replace(">", "&gt;")
if btlen > etlen:
for i in range(0, btlen-etlen):
retval += "</c>"
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 "<span style='color:black;'>-- %s <span style='color:%s'>[%s]</span> %s %s <span style='color:%s'>[%s]</span> at %s --</span>" % (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 "<span style='color:black;'>-- %s <span style='color:%s'>[%s]</span> %s %s <span style='color:%s'>[%s]</span> at %s --</span>" % (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 "<c=%s>-- %s <c=%s>[%s]</c> %s %s <c=%s>[%s]</c> at %s --</c>" % (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 "<c=%s>-- %s <c=%s>[%s]</c> %s %s <c=%s>[%s]</c> at %s --</c>" % (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("&", "&amp;").replace("<", "&lt;").replace(">", "&gt;")
self.append("<span style='color:%s'>%s: %s</span>" % \
(color, initials, msg))
msg = "<c=%s>%s: %s</c>" % (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,

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 9 KiB

View file

@ -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"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 116 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 B

After

Width:  |  Height:  |  Size: 55 B

View file

@ -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"
}
}

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 117 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 164 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 127 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 127 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 106 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 137 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 B

After

Width:  |  Height:  |  Size: 50 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 106 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 145 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 125 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 134 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 93 B

View file

@ -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"
}
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4 KiB

After

Width:  |  Height:  |  Size: 4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 106 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 109 B

After

Width:  |  Height:  |  Size: 76 B