Merge branch 'master' of github.com:kiooeht/pesterchum

Conflicts:
	version.py
This commit is contained in:
Kiooeht 2011-12-20 19:02:59 -08:00
commit e1284e9439
841 changed files with 5340 additions and 159 deletions

View file

@ -13,7 +13,13 @@ Visit http://nova.xzibition.com/~illuminatedwax/help.html for tutorial.
CHANGELOG
---------
### 3.41.2
## 3.41.4
* Makefile for Linux installing - Kiooeht [evacipatedBox]
* Bug fixes
* Don't require pygame (it's kind of optional, you just don't get sound) - Kiooeht [evacipatedBox]
* Allow add chum dialog to opne after adding an existing chum - Kiooeht [evacipatedBox]
### 3.41.3
* Add group option when adding chum - ghostDunk
* OOC Mode - ghostDunk
* Improve animated gifs - ghostDunk
@ -39,7 +45,9 @@ CHANGELOG
* New smilies - Kiooeht [evacipatedBox]
* Refresh theme in options - Kiooeht [evacipatedBox]
* Separate tabbed/untabbed windows for conversaions and memos - Kiooeht [evacipatedBox]
* Manually rearrange chumroll - Kiooeht [evacipatedBox] (Idea: [turntableAbbess (aka. TA or SGRILL)])
* Manually rearrange chumroll - Kiooeht [evacipatedBox] (Idea: [turntableAbbess (aka. TA of SGRILL)])
* Using user data directory for all OSs - Kiooeht [evacipatedBox]
* Lots more user created themes - ghostDunk
* Bug fixes
* Don't delete random chum when blocking someone not on chumroll - Kiooeht [evacipatedBox]
* Openning global userlist doesn't reset OP status of memo users - Kiooeht [evacipatedBox]

36
Makefile Normal file
View file

@ -0,0 +1,36 @@
PYTHON2_CMD ?= /usr/bin/python
PREFIX ?= /usr/local
LIBINSTALLDIR ?= /lib
XDGCONFDIR ?= /etc/xdg
PESTERCHUMBINDIR = ${DESTDIR}${PREFIX}/bin
PESTERCHUMLIBDIR = $(DESTDIR)$(PREFIX)$(LIBINSTALLDIR)/pesterchum
all:
@echo "Ready to install..."
make-install-dirs:
mkdir -p ${PESTERCHUMBINDIR}
mkdir -p ${PESTERCHUMLIBDIR}
mkdir -p ${PESTERCHUMLIBDIR}/libs
mkdir -p ${PESTERCHUMLIBDIR}/oyoyo
mkdir -p ${PESTERCHUMLIBDIR}/quirks
mkdir -p ${PESTERCHUMLIBDIR}/smilies
mkdir -p ${PESTERCHUMLIBDIR}/themes
uninstall:
rm -f ${PESTERCHUMBINDIR}/pesterchum
rm -rf ${PESTERCHUMLIBDIR}
install: make-install-dirs
cp *.py ${PESTERCHUMLIBDIR}
cp libs/*.py ${PESTERCHUMLIBDIR}/libs
cp oyoyo/*.py ${PESTERCHUMLIBDIR}/oyoyo
cp quirks/*.py ${PESTERCHUMLIBDIR}/quirks
cp smilies/* ${PESTERCHUMLIBDIR}/smilies
cp -r themes/* ${PESTERCHUMLIBDIR}/themes
@echo '#!/bin/sh' > ${PESTERCHUMBINDIR}/pesterchum
@echo 'cd ${PREFIX}$(LIBINSTALLDIR)/pesterchum' >> ${PESTERCHUMBINDIR}/pesterchum
@echo 'python2 pesterchum.py' >> ${PESTERCHUMBINDIR}/pesterchum
chmod +x ${PESTERCHUMBINDIR}/pesterchum

View file

@ -1,29 +1,19 @@
Welcome to Pesterchum 3.14.1!
Welcome to Pesterchum 3.41!
=============================
WHAT'S NEW?
-----------
* Quirks now have a lower(), scramble(), and reverse() function!
* Timestamps - check your Config!
* Logviewer - View logs right in Pesterchum!
* Quirk ordering - order your quirks so they work right!
* # of users in a memo - You can now see how many users are in a memo.
* @links to users - typing @ before user's name creates a link
that will pester them!
* Support for REPORT and ALT to calSprite built in -
If someone is bothering you, or a canon handle is idle, or
for whatever reason, right click their name and go to "Report"
to report them to a moderator.
If you want to talk to an alt canon handle, just right click
the username!
if you have an alt handle, register it with calSprite!
* Check out the CHANGELOG file to see what's changed!
What do I do now?
-----------------
Most questions can be answered by visiting the forums! Go to HELP->HELP
and you'll be transported to the proper thread!
Here's some tips to help you get started:
-----------------------------------------
- You can import your old Pesterchum contacts by going to
CLIENT->IMPORT and opening your pesterchum.cfg file. This is usually
in the 2.5 base directory or in Tinychum's data folder.
- Some themes can be confusing if you haven't used the program
already! Some hints:
* Trollian: Moods are set by clicking the timelines, and you
@ -44,8 +34,6 @@ online userlist, or the list of memo browsers.
Cool features:
--------------
- Importing from old PC. It can already do your chumlist, soon it will
import your quirks from 2.5 and TC as well!
- Profile switching. Instantly switch profiles, loading your color and
quirks with it.
- Theme switching and creation. So far this comes with a few official
@ -782,3 +770,4 @@ Here's a list of smilies:
* :olliesouty:
* :billiards:
* :billiardslarge:
* :whatdidyoudo:

View file

@ -26,6 +26,7 @@ Features
* Make toast notifications only on certain chums
* Local alisas for chums
* Italics/uderline - needed for canon
* Don't make new windows be all in your face and shit
Bugs
----
@ -36,6 +37,8 @@ Bugs
* Closing a timeclone doesn't actually cease for everyone else
* Kill Zalgo
* Random invisible, tiny links to last link at end of every message
* if you change the capitals on a memo name when entering. Userlist goes blank.
* Clicking link to invite-only memo crashes
Windows Bugs
------------

View file

@ -125,10 +125,7 @@ class PesterLogUserSelect(QtGui.QDialog):
@QtCore.pyqtSlot()
def openDir(self):
if ostools.isOSX():
QtGui.QDesktopServices.openUrl(QtCore.QUrl("file:///" + os.path.join(_datadir, "logs"), QtCore.QUrl.TolerantMode))
else:
QtGui.QDesktopServices.openUrl(QtCore.QUrl("file:///" + os.path.join(os.getcwd(), "logs"), QtCore.QUrl.TolerantMode))
QtGui.QDesktopServices.openUrl(QtCore.QUrl("file:///" + os.path.join(_datadir, "logs"), QtCore.QUrl.TolerantMode))
class PesterLogViewer(QtGui.QDialog):
def __init__(self, chum, config, theme, parent):

View file

@ -7,6 +7,8 @@ from dataobjs import pesterQuirk, PesterProfile
from memos import TimeSlider, TimeInput
from version import _pcVersion
_datadir = ostools.getDataDir()
class PesterQuirkItem(QtGui.QTreeWidgetItem):
def __init__(self, quirk):
parent = None
@ -890,7 +892,7 @@ class PesterChooseProfile(QtGui.QDialog):
ret = msgbox.exec_()
if ret == QtGui.QMessageBox.Ok:
try:
remove("profiles/%s.js" % (handle))
remove(_datadir+"profiles/%s.js" % (handle))
except OSError:
problem = QtGui.QMessageBox()
problem.setStyleSheet(self.theme["main/defaultwindow/style"])

View file

@ -28,6 +28,8 @@ def osVer():
def getDataDir():
if isOSX():
return os.path.join(str(QDesktopServices.storageLocation(QDesktopServices.DataLocation)), "Pesterchum/")
return os.path.join(str(QDesktopServices.storageLocation(QDesktopServices.DataLocation).toLatin1()), "Pesterchum/")
elif isLinux():
return os.path.join(str(QDesktopServices.storageLocation(QDesktopServices.HomeLocation).toLatin1()), ".pesterchum/")
else:
return ''
return os.path.join(str(QDesktopServices.storageLocation(QDesktopServices.DataLocation).toLatin1()), "pesterchum/")

View file

@ -428,6 +428,7 @@ smiledict = {
":olliesouty:": "olliesouty.gif",
":billiards:": "poolballS.gif",
":billiardslarge:": "poolballL.gif",
":whatdidyoudo:": "whatdidyoudo.gif",
}
if ostools.isOSXBundle():

View file

@ -0,0 +1,104 @@
; The name of the installer
Name "PESTERCHUM3.14 to 3.41"
; The file to write
OutFile "pesterchum3.14to3.41.exe"
RequestExecutionLevel admin
Page components
Page instfiles
UninstPage uninstConfirm
UninstPage instfiles
; The stuff to install
Section "Pesterchum"
SectionIn RO
ReadRegStr $INSTDIR HKLM "SOFTWARE\Pesterchum" "Install_Dir"
StrCmp $INSTDIR "" error
; Set output path to the installation directory.
SetOutPath $INSTDIR
; Check and see if this is really 3.14
IfFileExists library.zip 0 error
ClearErrors
CreateDirectory $TEMP\pesterchum_backup
IfErrors backuperror 0
CopyFiles $INSTDIR\pesterchum.js $TEMP\pesterchum_backup
CopyFiles $INSTDIR\profiles $TEMP\pesterchum_backup
CopyFiles $INSTDIR\logs $TEMP\pesterchum_backup
IfErrors cantcopy 0
Delete $INSTDIR\uninstall.exe
; Remove shortcuts, if any
Delete "$SMPROGRAMS\Pesterchum\*.*"
; Remove directories used
RMDir "$SMPROGRAMS\Pesterchum"
RMDir /r "$INSTDIR"
; Put file there
File /r *.*
Rename $INSTDIR\README.mkdn $INSTDIR\readme.txt
Rename $INSTDIR\CHANGELOG.mkdn $INSTDIR\changelog.txt
; Copy backup files
ClearErrors
CopyFiles $TEMP\pesterchum_backup\*.* $INSTDIR
IfErrors brokeinstall 0
RMDIR /r "$TEMP\pesterchum_backup"
WriteUninstaller "uninstall.exe"
CreateDirectory "$SMPROGRAMS\Pesterchum"
CreateShortcut "$SMPROGRAMS\Pesterchum\Pesterchum.lnk" "$INSTDIR\pesterchum.exe"
CreateShortcut "$DESKTOP\Pesterchum.lnk" "$INSTDIR\pesterchum.exe"
CreateShortcut "$SMPROGRAMS\Pesterchum\Readme.lnk" "$INSTDIR\readme.txt"
CreateShortcut "$SMPROGRAMS\Pesterchum\Uninstall.lnk" "$INSTDIR\uninstall.exe"
CreateShortcut "$SMPROGRAMS\Pesterchum\Logs.lnk" "$LOCALAPPDATA\pesterchum\logs"
Goto done
error:
MessageBox MB_OK "Pesterchum 3.14 (or 3.41 beta) not found on this machine!"
Goto done
backuperror:
IfFileExists $TEMP\pesterchum_backup brokeinstall cantmaketmp
cantmaketmp:
MessageBox MB_OK "Error! Can't make temporary directory (to save your files) for some raisin. Check your privileges?? i dunno tbqh, soryr *sorry"
Goto done
brokeinstall:
MessageBox MB_OK "Broken install detected. Please copy the files in $TEMP\pesterchum_backup to some place safe and then delete that folder."
Goto done
cantcopy:
MessageBox MB_OK "Can't seem to copy Pesterchum backup files to temp directory."
Goto done
done:
SectionEnd
Section "Uninstall"
; Remove registry keys
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Pesterchum"
DeleteRegKey HKLM SOFTWARE\Pesterchum
; Remove files and uninstaller
Delete $INSTDIR\uninstall.exe
; Remove shortcuts, if any
Delete "$SMPROGRAMS\Pesterchum\*.*"
; Remove directories used
RMDir "$SMPROGRAMS\Pesterchum"
RMDir /r "$INSTDIR"
SectionEnd

View file

@ -1,9 +1,9 @@
; The name of the installer
Name "PESTERCHUM3.418"
Name "PESTERCHUM3.41"
; The file to write
OutFile "pesterchum3.418.update.exe"
OutFile "pesterchum3.41.update.exe"
RequestExecutionLevel admin
@ -25,13 +25,19 @@ Section "Pesterchum"
; Put file there
File /r themes
File /r smilies
File library.zip
File /r quirks
File README.mkdn
File CHANGELOG.mkdn
File version.py
File pesterchum.exe
File pesterchum.exe.manifest
Rename $INSTDIR\README.mkdn $INSTDIR\readme.txt
Rename $INSTDIR\CHANGELOG.mkdn $INSTDIR\changelog.txt
Delete "$SMPROGRAMS\Pesterchum\Pesterchum.lnk"
Delete "$SMPROGRAMS\Pesterchum\PesterChumDebug.lnk"
CreateShortcut "$SMPROGRAMS\Pesterchum\Pesterchum.lnk" "$INSTDIR\pesterchum.exe"
CreateShortcut "$SMPROGRAMS\Pesterchum\PesterchumDebug.lnk" "$INSTDIR\pesterchum_debug.exe"
Goto done
error:

View file

@ -1,9 +1,9 @@
; The name of the installer
Name "PESTERCHUM3.418"
Name "PESTERCHUM3.41"
; The file to write
OutFile "pesterchum3.418.exe"
OutFile "pesterchum3.41.exe"
InstallDir C:\Pesterchum
@ -28,7 +28,9 @@ Section "Pesterchum"
; Put file there
File /r *.*
Rename $INSTDIR\README.mkdn $INSTDIR\readme.txt
Rename $INSTDIR\CHANGELOG.mkdn $INSTDIR\changelog.txt
; Write the installation path into the registry
WriteRegStr HKLM SOFTWARE\Pesterchum "Install_Dir" "$INSTDIR"
@ -41,16 +43,13 @@ Section "Pesterchum"
CreateDirectory "$SMPROGRAMS\Pesterchum"
CreateShortcut "$SMPROGRAMS\Pesterchum\Pesterchum.lnk" "$INSTDIR\pesterchum.exe"
CreateShortcut "$SMPROGRAMS\Pesterchum\PesterchumDebug.lnk" "$INSTDIR\pesterchum_debug.exe"
CreateShortcut "$DESKTOP\Pesterchum.lnk" "$INSTDIR\pesterchum.exe"
CreateShortcut "$SMPROGRAMS\Pesterchum\Readme.lnk" "$INSTDIR\readme.txt"
CreateShortcut "$SMPROGRAMS\Pesterchum\Uninstall.lnk" "$INSTDIR\uninstall.exe"
CreateShortcut "$SMPROGRAMS\Pesterchum\Logs.lnk" "$INSTDIR\logs"
CreateShortcut "$SMPROGRAMS\Pesterchum\Logs.lnk" "$LOCALAPPDATA\pesterchum\logs"
SectionEnd
Section "Uninstall"
; Remove registry keys

View file

@ -1,5 +1,5 @@
# pesterchum
import os, sys, getopt
import os, shutil, sys, getopt
if os.path.dirname(sys.argv[0]):
os.chdir(os.path.dirname(sys.argv[0]))
import version
@ -8,26 +8,29 @@ import logging
from datetime import *
import random
import re
import ostools
from time import time
import threading, Queue
missing = []
reqmissing = []
optmissing = []
try:
from PyQt4 import QtGui, QtCore
except ImportError, e:
module = str(e)
if module[:16] == "No module named ": missing.append(module[16:])
if module.startswith("No module named ") or \
module.startswith("cannot import name "):
reqmissing.append(module[module.rfind(" ")+1:])
else: print e
try:
import pygame
except ImportError, e:
pygame = None
module = str(e)
if module[:16] == "No module named ": missing.append(module[16:])
if module[:16] == "No module named ": optmissing.append(module[16:])
else: print e
if missing:
if reqmissing:
print "ERROR: The following modules are required for Pesterchum to run and are missing on your system:"
for m in missing: print "* "+m
for m in reqmissing: print "* "+m
exit()
vnum = QtCore.qVersion()
major = int(vnum[:vnum.find(".")])
@ -40,6 +43,7 @@ if not ((major > 4) or (major == 4 and minor >= 6)):
print "You currently have version " + vnum + ". Please ungrade Qt"
exit()
import ostools
# Placed here before importing the rest of pesterchum, since bits of it need
# OSX's data directory and it doesn't hurt to have everything set up before
# plowing on. :o)
@ -47,8 +51,21 @@ if not ((major > 4) or (major == 4 and minor >= 6)):
_datadir = ostools.getDataDir()
# See, what I've done here is that _datadir is '' if we're not on OSX, so the
# concatination is the same as if it wasn't there.
if _datadir and not os.path.exists(_datadir):
os.mkdir(_datadir)
# UPDATE 2011-11-28 <Kiooeht>:
# Now using data directory as defined by QDesktopServices on all platforms
# (on Linux, same as using xdg). To stay safe with older versions, copy any
# data (profiles, logs, etc) from old location to new data directory.
if _datadir:
if not os.path.exists(_datadir):
os.makedirs(_datadir)
if not os.path.exists(_datadir+"profiles/") and os.path.exists("profiles/"):
shutil.move("profiles/", _datadir+"profiles/")
if not os.path.exists(_datadir+"pesterchum.js") and os.path.exists("pesterchum.js"):
shutil.move("pesterchum.js", _datadir+"pesterchum.js")
if not os.path.exists(_datadir+"logs/") and os.path.exists("logs/"):
shutil.move("logs/", _datadir+"logs/")
if not os.path.exists(_datadir+"profiles"):
os.mkdir(_datadir+"profiles")
if not os.path.exists(_datadir+"pesterchum.js"):
@ -1575,7 +1592,7 @@ class PesterWindow(MovingWindow):
self.mychumcolor.setText("")
# sounds
if not pygame.mixer:
if not pygame or not pygame.mixer:
self.alarm = NoneSound()
self.memosound = NoneSound()
self.namesound = NoneSound()
@ -1854,6 +1871,7 @@ class PesterWindow(MovingWindow):
if ok:
handle = unicode(handle)
if handle in [h.handle for h in self.chumList.chums]:
self.addchumdialog = None
return
if not (PesterProfile.checkLength(handle) and
PesterProfile.checkValid(handle)[0]):
@ -2628,7 +2646,7 @@ class MainProgram(QtCore.QObject):
options = self.oppts(sys.argv[1:])
if pygame.mixer:
if pygame and pygame.mixer:
# we could set the frequency higher but i love how cheesy it sounds
try:
pygame.mixer.init()

View file

@ -54,7 +54,14 @@ class PesterLog(object):
for (format, t) in modes.iteritems():
if not os.path.exists("%s/%s/%s/%s" % (self.logpath, self.handle, handle, format)):
os.makedirs("%s/%s/%s/%s" % (self.logpath, self.handle, handle, format))
fp = codecs.open("%s/%s/%s/%s/%s.%s.txt" % (self.logpath, self.handle, handle, format, handle, time), encoding='utf-8', mode='a')
try:
fp = codecs.open("%s/%s/%s/%s/%s.%s.txt" % (self.logpath, self.handle, handle, format, handle, time), encoding='utf-8', mode='a')
except IOError:
errmsg = QtGui.QMessageBox(self)
errmsg.setText("Warning: Pesterchum could not open the log file for %s!" % (handle))
errmsg.setInformativeText("Your log for %s will not be saved because something went wrong. We suggest restarting Pesterchum. Sorry :(" % (handle))
errmsg.show()
continue
self.convos[handle][format] = fp
for (format, t) in modes.iteritems():
f = self.convos[handle][format]
@ -321,8 +328,8 @@ class userConfig(object):
for dirname, dirnames, filenames in os.walk(_datadir+'themes'):
for d in dirnames:
themes.append(d)
# For OSX, also load embedded themes.
if ostools.isOSX():
# Also load embedded themes.
if _datadir:
for dirname, dirnames, filenames in os.walk('themes'):
for d in dirnames:
if d not in themes:
@ -440,7 +447,7 @@ class userProfile(object):
fp.close()
@staticmethod
def newUserProfile(chatprofile):
if os.path.exists("profiles/%s.js" % (chatprofile.handle)):
if os.path.exists("%s/%s.js" % (_datadir+"profiles", chatprofile.handle)):
newprofile = userProfile(chatprofile.handle)
else:
newprofile = userProfile(chatprofile)
@ -529,11 +536,15 @@ class PesterProfileDB(dict):
class pesterTheme(dict):
def __init__(self, name, default=False):
self.path = _datadir+"themes/%s" % (name)
if not os.path.exists(self.path):
self.path = "themes/%s" % (name)
if not os.path.exists(self.path):
self.path = "themes/pesterchum"
possiblepaths = (_datadir+"themes/%s" % (name),
"themes/%s" % (name),
_datadir+"themes/pesterchum",
"themes/pesterchum")
self.path = "themes/pesterchum"
for p in possiblepaths:
if os.path.exists(p):
self.path = p
break
self.name = name
try:

View file

@ -18,7 +18,7 @@ class PythonQuirks(object):
for fn in os.listdir(os.path.join(self.home, 'quirks')):
if fn.endswith('.py') and not fn.startswith('_'):
filenames.append(os.path.join(self.home, 'quirks', fn))
if ostools.isOSX():
if self._datadir:
if not os.path.exists(os.path.join(self._datadir, 'quirks')):
os.mkdir(os.path.join(self._datadir, 'quirks'))
for fn in os.listdir(os.path.join(self._datadir, 'quirks')):
@ -66,7 +66,7 @@ class PythonQuirks(object):
def funcre(self):
if not self.quirks:
return r""
return r"\\[0-9]+"
f = r"("
for q in self.quirks:
f = f + q[:-1]+r"\(|"

BIN
smilies/whatdidyoudo.gif Normal file

Binary file not shown.

After

(image error) Size: 30 KiB

Binary file not shown.

After

(image error) Size: 3.1 KiB

Binary file not shown.

Binary file not shown.

After

(image error) Size: 3 KiB

BIN
themes/BettyBother/bbbg.png Normal file

Binary file not shown.

After

(image error) Size: 276 KiB

BIN
themes/BettyBother/bbbg.psd Normal file

Binary file not shown.

Binary file not shown.

After

(image error) Size: 21 KiB

Binary file not shown.

After

(image error) Size: 3 KiB

Binary file not shown.

After

(image error) Size: 3.1 KiB

Binary file not shown.

After

(image error) Size: 3.1 KiB

Binary file not shown.

After

(image error) Size: 5.2 KiB

Binary file not shown.

After

(image error) Size: 3 KiB

Binary file not shown.

After

(image error) Size: 91 KiB

Binary file not shown.

After

(image error) Size: 4.7 KiB

Binary file not shown.

After

(image error) Size: 650 B

Binary file not shown.

After

(image error) Size: 3 KiB

Binary file not shown.

After

(image error) Size: 8.9 KiB

Binary file not shown.

After

(image error) Size: 3 KiB

Binary file not shown.

After

(image error) Size: 3.2 KiB

Binary file not shown.

After

(image error) Size: 3.1 KiB

Binary file not shown.

After

(image error) Size: 3.1 KiB

Binary file not shown.

After

(image error) Size: 2.9 KiB

Binary file not shown.

After

(image error) Size: 50 KiB

Binary file not shown.

After

(image error) Size: 4.7 KiB

Binary file not shown.

After

(image error) Size: 2.9 KiB

Binary file not shown.

After

(image error) Size: 3.1 KiB

Binary file not shown.

After

(image error) Size: 116 KiB

BIN
themes/BettyBother/gbg.psd Normal file

Binary file not shown.

Binary file not shown.

After

(image error) Size: 48 KiB

Binary file not shown.

After

(image error) Size: 4.1 KiB

Binary file not shown.

BIN
themes/BettyBother/herp.png Normal file

Binary file not shown.

After

(image error) Size: 4.3 KiB

Binary file not shown.

After

(image error) Size: 3 KiB

Binary file not shown.

After

(image error) Size: 2.8 KiB

Binary file not shown.

After

(image error) Size: 3.2 KiB

Binary file not shown.

After

(image error) Size: 3.1 KiB

Binary file not shown.

After

(image error) Size: 3.5 KiB

Binary file not shown.

After

(image error) Size: 3 KiB

Binary file not shown.

Binary file not shown.

After

(image error) Size: 2.9 KiB

Binary file not shown.

After

(image error) Size: 3.1 KiB

Binary file not shown.

After

(image error) Size: 2.9 KiB

Binary file not shown.

After

(image error) Size: 2.9 KiB

Binary file not shown.

After

(image error) Size: 3.1 KiB

Binary file not shown.

After

(image error) Size: 3 KiB

Binary file not shown.

After

(image error) Size: 3.1 KiB

Binary file not shown.

After

(image error) Size: 2.8 KiB

Binary file not shown.

After

(image error) Size: 3.1 KiB

Binary file not shown.

After

(image error) Size: 3 KiB

451
themes/BettyBother/style.js Normal file
View file

@ -0,0 +1,451 @@
{"main":
{"style": "background-repeat: no-repeat;",
"background-image": "$path/bbbg2.png",
"size": [665, 506],
"icon": "$path/bettybother.png",
"newmsgicon": "$path/tbettybother2.png",
"windowtitle": "BettyBother",
"close": { "image": "$path/x.png",
"loc": [214, 100]},
"minimize": { "image": "$path/m.png",
"loc": [198, 100]},
"menubar": { "style": "font-family: 'Arial'; font:bold; font-size: 12px; color: white;" },
"menu" : { "style": "font-family: 'Arial'; font: bold; font-size: 12px; color: white; background-color: #f21515;border:2px solid #bb0019",
"menuitem": "margin-right:20px;",
"selected": "background-color: #bb0019",
"loc": [346,100]
},
"sounds": { "alertsound": "$path/harlarm.wav",
"memosound": "$path/alarm.wav",
"ceasesound": "$path/nannacease.wav" },
"menus": {"client": {"_name": "CLIENT",
"options": "OPTIONS",
"memos": "MEMOS",
"logviewer": "PESTERLOGS",
"randen": "RANDOM ENCOUNTER",
"userlist": "USERLIST",
"addgroup": "ADD GROUP",
"import": "IMPORT",
"reconnect": "RECONNECT",
"idle": "IDLE",
"exit": "EXIT"},
"profile": {"_name": "PROFILE",
"switch": "SWITCH",
"color": "COLOR",
"theme": "THEME",
"block": "TROLLSLUM",
"quirks": "QUIRKS"},
"help": { "_name": "HELP",
"about": "ABOUT",
"help": "HELP",
"calsprite": "CALSPRITE",
"nickserv": "NICKSERV" },
"rclickchumlist": {"pester": "PESTER",
"removechum": "REMOVE CHUM",
"report": "REPORT",
"blockchum": "BLOCK",
"addchum": "ADD CHUM",
"viewlog": "VIEW PESTERLOG",
"unblockchum": "UNBLOCK",
"removegroup": "REMOVE GROUP",
"renamegroup": "RENAME GROUP",
"movechum": "MOVE TO",
"banuser": "BAN USER",
"opuser": "MAKE OP",
"voiceuser": "GIVE VOICE",
"quirksoff": "QUIRKS OFF",
"invitechum": "INVITE CHUM"
}
},
"chums": { "style": "border:0px; background-image:url($path/chumbg.png); background-color: rgb(102,102,102); background-repeat: no-repeat; color: white;font: bold;font-family: 'Arial';selection-background-color:#646464; ",
"loc": [367, 270],
"size": [261, 90],
"userlistcolor": "white",
"moods": {
"chummy": { "icon": "$path/chummy.png", "color": "white" },
"rancorous": { "icon": "$path/rancorous.png", "color": "red" },
"offline": { "icon": "$path/offline.png", "color": "#bebebe"},
"pleasant": { "icon": "$path/pleasant.png", "color": "white" },
"distraught": { "icon": "$path/distraught.png", "color": "white" },
"pranky": { "icon": "$path/pranky.png", "color": "white" },
"smooth": { "icon": "$path/smooth.png", "color": "white" },
"mystified": { "icon": "$path/mystified.png", "color": "white" },
"amazed": { "icon": "$path/amazed.png", "color": "white" },
"insolent": { "icon": "$path/insolent.png", "color": "white" },
"bemused": { "icon": "$path/bemused.png", "color": "white" },
"ecstatic": { "icon": "$path/ecstatic.png", "color": "red" },
"relaxed": { "icon": "$path/relaxed.png", "color": "red" },
"discontent": { "icon": "$path/discontent.png", "color": "red" },
"devious": { "icon": "$path/devious.png", "color": "red" },
"sleek": { "icon": "$path/sleek.png", "color": "red" },
"detestful": { "icon": "$path/detestful.png", "color": "red" },
"mirthful": { "icon": "$path/mirthful.png", "color": "red" },
"manipulative": { "icon": "$path/manipulative.png", "color": "red" },
"vigorous": { "icon": "$path/vigorous.png", "color": "red" },
"perky": { "icon": "$path/perky.png", "color": "red" },
"acceptant": { "icon": "$path/acceptant.png", "color": "red" },
"protective": { "icon": "$path/protective.png", "color": "#00ff00" },
"destructive": { "icon": "$path/destructive.png", "color": "#009900" },
"blocked": { "icon": "$path/blocked.png", "color": "black" }
}
},
"trollslum": {
"style": "background: #f21515; border:2px solid #bb0019; font-family: 'Arial'",
"size": [195, 200],
"label": { "text": "TROLLSLUM",
"style": "color: rgba(0, 0, 0, 100%) ;font:bold; font-family: 'Arial';border:0px;" },
"chumroll": {"style": "border:0px; background-image:url($path/chumbg.png); background-color: rgb(102,102,102); background-repeat: no-repeat; color: white;font: bold;font-family: 'Arial';selection-background-color:#646464; " }
},
"mychumhandle": { "label": { "text": "",
"loc": [0,0],
"style": "color: rgba(0,0,0,0);font:bold; font-family: 'Arial';" },
"handle": { "style": "background: rgba(0,0,0,0); padding: 3px; color:rgba(0,0,0,0); font-family:'Arial'; font:bold; text-align:center;",
"loc": [239,0],
"size": [426, 94] },
"colorswatch": { "loc": [0,0],
"size": [0,0],
"text": "" },
"currentMood": [1000, 0]
},
"defaultwindow": { "style": "background: #f21515; font-family:'Arial';font:bold;selection-background-color:#919191; "
},
"addchum": { "style": "background-image:url($path/gushers1.png); border:0px;",
"pressed" : "background-image:url($path/gushers2.png);",
"loc": [358,182],
"size": [278, 70],
"text": ""
},
"pester": { "style": "background-image:url($path/first1.png); border:0px;",
"pressed" : "background-image:url($path/first2.png);",
"loc": [0,97],
"size": [328,189],
"text": ""
},
"block": { "style": "background-image:url($path/douche1.png); border:0px;",
"pressed" : "background-image:url($path/douche2.png);",
"loc": [156,289],
"size": [171, 169],
"text": ""
},
"defaultmood": 20,
"moodlabel": { "style": "",
"loc": [0,0],
"text": ""
},
"moods": [
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
"loc": [361, 381],
"size": [35, 33],
"text": "",
"icon": "$path/chummy.png",
"mood": 0
},
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
"loc": [395, 381],
"size": [35, 33],
"text": "",
"icon": "$path/pleasant.png",
"mood": 3
},
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
"loc": [429, 381],
"size": [35, 33],
"text": "",
"icon": "$path/distraught.png",
"mood": 4
},
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
"loc": [463, 381],
"size": [35, 33],
"text": "",
"icon": "$path/pranky.png",
"mood": 5
},
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
"loc": [497, 381],
"size": [35, 33],
"text": "",
"icon": "$path/smooth.png",
"mood": 6
},
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
"loc": [531, 381],
"size": [35, 33],
"text": "",
"icon": "$path/amazed.png",
"mood": 20
},
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
"loc": [565, 381],
"size": [35, 33],
"text": "",
"icon": "$path/mystified.png",
"mood": 19
},
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
"loc": [599, 381],
"size": [35, 33],
"text": "",
"icon": "$path/insolent.png",
"mood": 21
},
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
"loc": [361, 413],
"size": [35, 33],
"text": "",
"icon": "$path/bemused.png",
"mood": 22
},
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
"loc": [395, 413],
"size": [35, 33],
"text": "",
"icon": "$path/rancorous.png",
"mood": 1
},
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
"loc": [429, 413],
"size": [35, 33],
"text": "",
"icon": "$path/acceptant.png",
"mood": 17
},
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
"loc": [463, 413],
"size": [35, 33],
"text": "",
"icon": "$path/discontent.png",
"mood": 9
},
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
"loc": [497, 413],
"size": [35, 33],
"text": "",
"icon": "$path/sleek.png",
"mood": 11
},
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
"loc": [531, 413],
"size": [35, 33],
"text": "",
"icon": "$path/perky.png",
"mood": 16
},
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
"loc": [565, 413],
"size": [35, 33],
"text": "",
"icon": "$path/relaxed.png",
"mood": 8
},
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
"loc": [599, 413],
"size": [35, 33],
"text": "",
"icon": "$path/devious.png",
"mood": 10
},
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
"loc": [361, 447],
"size": [35, 33],
"text": "",
"icon": "$path/manipulative.png",
"mood": 14
},
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
"loc": [395, 447],
"size": [35, 33],
"text": "",
"icon": "$path/vigorous.png",
"mood": 15
},
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
"loc": [429, 447],
"size": [35, 33],
"text": "",
"icon": "$path/mirthful.png",
"mood": 13
},
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
"loc": [463, 447],
"size": [35, 33],
"text": "",
"icon": "$path/detestful.png",
"mood": 12
},
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
"loc": [497, 447],
"size": [35, 33],
"text": "",
"icon": "$path/ecstatic.png",
"mood": 7
},
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
"loc": [531, 447],
"size": [35, 33],
"text": "",
"icon": "$path/protective.png",
"mood": 18
},
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
"loc": [565, 447],
"size": [35, 33],
"text": "",
"icon": "$path/destructive.png",
"mood": 23
},
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
"loc": [599, 447],
"size": [35, 33],
"text": "",
"icon": "$path/offline.png",
"mood": 2
}
]
},
"convo":
{"style": "background-color: rgba(0,0,0,0);border-width: 5px; border-image:url($path/convobg.png) 5px; font-family: 'Arial'",
"tabstyle": "background-color: #f21515; font-family: 'Arial'",
"scrollbar": { "style" : "padding-top:17px; padding-bottom:17px;width: 18px; background: rgba(0,0,0,0); border:0px;",
"handle": "background-color:#bb0019;min-height:20px;",
"downarrow": "height:17px;border:0px solid #bb0019;",
"darrowstyle": "image:url($path/downarrow.png);",
"uparrow": "height:17px;border:0px solid #bb0019;",
"uarrowstyle": "image:url($path/uparrow.png);"
},
"margins": {"top": 0, "bottom": 6, "left": 0, "right": 0 },
"size": [500, 325],
"chumlabel": { "style": "margin-bottom: 7px; margin-top: 10px; background: rgba(0,0,0,0); color: white; border:0px; font-size: 16px;",
"align": { "h": "center", "v": "center" },
"minheight": 47,
"maxheight": 47,
"text" : ":: $handle ::"
},
"textarea": {
"style": "background: white; font-size: 14px; border:2px solid #bb0019;text-align:center; margin-right:10px; margin-left:10px; margin-bottom:5px;"
},
"input": {
"style": "background: white; border:2px solid #bb0019; margin-right:10px; margin-left:10px; font-size: 14px;"
},
"tabs": {
"style": "background-color: #ff7e7e; font-family: 'Arial';font:bold;font-size:12px;min-height:25px;",
"selectedstyle": "border:0px;background-color:#f21515;border-top:2px solid #bb0019; border-left:2px solid #bb0019;border-right:2px solid #bb0019; border-top-left-radius: 4px; border-top-right-radius: 4px;",
"newmsgcolor": "white",
"tabstyle": 0
},
"text": {
"beganpester": "began bothering",
"ceasepester": "ceased bothering",
"blocked": "blocked",
"unblocked": "unblocked",
"blockedmsg": "did not receive message from",
"openmemo": "opened memo on board",
"joinmemo": "responded to memo",
"closememo": "ceased responding to memo",
"kickedmemo": "You have been banned from this memo!",
"idle": "is now an idle chum!"
},
"systemMsgColor": "#646464"
},
"memos":
{"memoicon": "$path/memo.png",
"style": "background-color: rgba(0,0,0,0); background-image:url($path/convobg.png); background-repeat: no-repeat; border:0px; font-family: 'Arial'; selection-background-color:#919191; ",
"size": [500,325],
"tabs": {
"style": "background-color: #ff7e7e; font-family: 'Arial';font:bold;font-size:12px;min-height:25px;",
"selectedstyle": "border:0px;background-color:#f21515;border-top:2px solid #bb0019; border-left:2px solid #bb0019;border-right:2px solid #bb0019; border-top-left-radius: 4px; border-top-right-radius: 4px;",
"newmsgcolor": "white",
"tabstyle": 0
},
"scrollbar": { "style" : "padding-top:17px; padding-bottom:17px;width: 18px; background: rgba(255, 255, 0, 0%); border:0px;",
"handle": "background-color:#c48a00;min-height:20px;",
"downarrow": "height:17px;border:0px solid #c48a00;",
"darrowstyle": "image:url($path/downarrow.png);",
"uparrow": "height:17px;border:0px solid #c48a00;",
"uarrowstyle": "image:url($path/uparrow.png);"
},
"label": { "text": "Bulletin Board: $channel",
"style": "margin-bottom: 7px; margin-top: 10px; background: rgba(255, 255, 0, 0%); color: white; border:0px; font-size: 16px;",
"align": { "h": "center", "v": "center" },
"minheight": 47,
"maxheight": 47
},
"input": { "style": "background: white; border:2px solid #bb0019;margin-top:5px; margin-right:10px; margin-left:10px; font-size: 14px;" },
"textarea": { "style": "background: white; font-size: 14px; border:2px solid #bb0019;text-align:center; margin-right:10px; margin-left:10px;" },
"margins": {"top": 0, "bottom": 6, "left": 0, "right": 0 },
"userlist": { "width": 150,
"style": "border:2px solid #bb0019; background: white; font-family: 'Arial';selection-background-color:#646464; font-size: 14px; margin-left:0px; margin-right:10px;"
},
"time": { "text": { "width": 75,
"style": " border: 2px solid #bb0019; background: white; font-size: 12px; margin-top: 5px; margin-right: 5px; margin-left: 5px; font-family:'Arial';font:bold;"
},
"slider": { "style": "border: 0px;",
"groove": "",
"handle": ""
},
"buttons": { "style": "color: black; font: bold; border: 2px solid #bb0019; font-size: 12px; background: #ff7e7e; margin-top: 5px; margin-right: 5px; margin-left: 5px; padding: 2px; width: 50px;" },
"arrows": { "left": "$path/leftarrow.png",
"right": "$path/rightarrow.png",
"style": " border:0px; margin-top: 5px; margin-right:10px;"
}
},
"systemMsgColor": "#646464",
"op": { "icon": "$path/smooth.png" },
"voice": { "icon": "$path/voice.png" }
}
}

Binary file not shown.

After

(image error) Size: 2.9 KiB

Binary file not shown.

After

(image error) Size: 3.1 KiB

BIN
themes/Cdasl/abouticon.png Normal file

Binary file not shown.

After

(image error) Size: 3.7 KiB

BIN
themes/Cdasl/acceptant.gif Normal file

Binary file not shown.

After

(image error) Size: 126 B

BIN
themes/Cdasl/alarm.wav Normal file

Binary file not shown.

BIN
themes/Cdasl/amazed.gif Normal file

Binary file not shown.

After

(image error) Size: 97 B

BIN
themes/Cdasl/bemused.gif Normal file

Binary file not shown.

After

(image error) Size: 93 B

BIN
themes/Cdasl/blocked.gif Normal file

Binary file not shown.

After

(image error) Size: 97 B

BIN
themes/Cdasl/cease.wav Normal file

Binary file not shown.

BIN
themes/Cdasl/chummy.gif Normal file

Binary file not shown.

After

(image error) Size: 106 B

BIN
themes/Cdasl/cool.jpg Normal file

Binary file not shown.

After

(image error) Size: 16 KiB

BIN
themes/Cdasl/coolcheck.jpg Normal file

Binary file not shown.

After

(image error) Size: 16 KiB

BIN
themes/Cdasl/detestful.gif Normal file

Binary file not shown.

After

(image error) Size: 165 B

BIN
themes/Cdasl/devious.gif Normal file

Binary file not shown.

After

(image error) Size: 127 B

BIN
themes/Cdasl/discontent.gif Normal file

Binary file not shown.

After

(image error) Size: 127 B

BIN
themes/Cdasl/distraught.gif Normal file

Binary file not shown.

After

(image error) Size: 93 B

BIN
themes/Cdasl/ecstatic.gif Normal file

Binary file not shown.

After

(image error) Size: 137 B

BIN
themes/Cdasl/estatic.gif Normal file

Binary file not shown.

After

(image error) Size: 137 B

BIN
themes/Cdasl/h.gif Normal file

Binary file not shown.

After

(image error) Size: 101 B

BIN
themes/Cdasl/insolent.gif Normal file

Binary file not shown.

After

(image error) Size: 97 B

BIN
themes/Cdasl/m.gif Normal file

Binary file not shown.

After

(image error) Size: 44 B

Binary file not shown.

After

(image error) Size: 168 B

BIN
themes/Cdasl/mellow.jpg Normal file

Binary file not shown.

After

(image error) Size: 14 KiB

Binary file not shown.

After

(image error) Size: 14 KiB

BIN
themes/Cdasl/mirthful.gif Normal file

Binary file not shown.

After

(image error) Size: 125 B

BIN
themes/Cdasl/mystified.gif Normal file

Binary file not shown.

After

(image error) Size: 95 B

BIN
themes/Cdasl/offline.gif Normal file

Binary file not shown.

After

(image error) Size: 71 B

BIN
themes/Cdasl/op.gif Normal file

Binary file not shown.

After

(image error) Size: 131 B

BIN
themes/Cdasl/pcbg.png Normal file

Binary file not shown.

After

(image error) Size: 316 KiB

BIN
themes/Cdasl/pccool.gif Normal file

Binary file not shown.

After

(image error) Size: 131 B

BIN
themes/Cdasl/perky.gif Normal file

Binary file not shown.

After

(image error) Size: 127 B

BIN
themes/Cdasl/pleasant.gif Normal file

Binary file not shown.

After

(image error) Size: 94 B

BIN
themes/Cdasl/pranky.gif Normal file

Binary file not shown.

After

(image error) Size: 92 B

BIN
themes/Cdasl/rancorous.gif Normal file

Binary file not shown.

After

(image error) Size: 138 B

BIN
themes/Cdasl/relaxed.gif Normal file

Binary file not shown.

After

(image error) Size: 125 B

BIN
themes/Cdasl/shades.jpg Normal file

Binary file not shown.

After

(image error) Size: 8.3 KiB

Some files were not shown because too many files have changed in this diff Show more