pyinstaller ready
This commit is contained in:
parent
9bdfb4fb12
commit
ca5f3899c5
10 changed files with 1546 additions and 107 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1,5 +1,4 @@
|
||||||
dist/*
|
dist/*
|
||||||
pesterchum.spec
|
|
||||||
*.sw?
|
*.sw?
|
||||||
*~
|
*~
|
||||||
logs/*
|
logs/*
|
||||||
|
|
BIN
PCskins.png
Executable file
BIN
PCskins.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 483 KiB |
BIN
Pesterchum.png
Executable file
BIN
Pesterchum.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 7.8 KiB |
184
README-karxi.mkdn
Executable file
184
README-karxi.mkdn
Executable file
|
@ -0,0 +1,184 @@
|
||||||
|
Welcome to Pesterchum 3.41!
|
||||||
|
=============================
|
||||||
|
|
||||||
|
## FOR NEW USERS
|
||||||
|
This modification of Pesterchum is intended for people who are already familiar
|
||||||
|
with using the base client.
|
||||||
|
|
||||||
|
If you aren't, please check the standard build's [documentation][pchum-doc].
|
||||||
|
|
||||||
|
[pchum-orig]: https://github.com/illuminatedwax/pesterchum
|
||||||
|
[pchum-doc]: https://github.com/illuminatedwax/pesterchum/blob/master/README.mkdn
|
||||||
|
|
||||||
|
## FOR EVERYONE ELSE
|
||||||
|
Greetings! This is a modification of Pesterchum, made because Pesterchum is
|
||||||
|
effectively no longer maintained, that is intended to fix a number of issues.
|
||||||
|
|
||||||
|
The code used as a base is a newer version of Pesterchum than the one in
|
||||||
|
circulation, and thus has plenty of useful features that can be found in the
|
||||||
|
[CHANGELOG][changes].
|
||||||
|
|
||||||
|
In addition, there are other features and improvements that have been made, and
|
||||||
|
there are many more planned. Check the [TODO list][todo-done] to see what's
|
||||||
|
been fixed, as well as what's [planned][todo-upcoming].
|
||||||
|
|
||||||
|
[changes]: https://github.com/karxi/pesterchum/blob/master/CHANGELOG.mkdn
|
||||||
|
[todo-done]: https://github.com/karxi/pesterchum/blob/master/TODO.mkdn#tododone
|
||||||
|
[todo-upcoming]: https://github.com/karxi/pesterchum/blob/master/TODO.mkdn#features
|
||||||
|
|
||||||
|
### Installation
|
||||||
|
There isn't an automated installer yet, but the steps involved aren't all that
|
||||||
|
difficult.
|
||||||
|
|
||||||
|
#### Pitfalls
|
||||||
|
* If you're on a 64-bit system (and most are these days), use those links. You
|
||||||
|
can also use the 32 bit versions, if you choose, but you *cannot* mix them.
|
||||||
|
* If you're on a 32-bit system but use the 64-bit installers, you'll get an
|
||||||
|
error along the lines of "not a valid Win32 application", or the
|
||||||
|
installer will simply fail.
|
||||||
|
* This version of Pesterchum does not come compiled as an executable, and thus
|
||||||
|
does not have Python/PyQt4 packaged with it. Those are necessary for
|
||||||
|
Pesterchum to run, so you have to install them manually.
|
||||||
|
|
||||||
|
#### First-Time Install
|
||||||
|
Download links are for Windows, but a quick Google search will find everything
|
||||||
|
necessary.
|
||||||
|
|
||||||
|
1. Install **Python 2.7** or higher if you don't already have it:
|
||||||
|
* [32 bit][python2-32]
|
||||||
|
* [64 bit][python2-64]
|
||||||
|
|
||||||
|
Be **sure** to add Python to the PATH if asked to do so during
|
||||||
|
installation. It means Python will be usable from the console,
|
||||||
|
which is necessary for this to run.
|
||||||
|
|
||||||
|
2. Install **PyQt4**:
|
||||||
|
* [32 bit][pyqt4-32]
|
||||||
|
* [64 bit][pyqt4-64]
|
||||||
|
|
||||||
|
3. **(LINUX)** Install **pygame**:
|
||||||
|
* [pygame download page][pygame-dl]
|
||||||
|
* You don't need to install this if you're using Windows. Linux users need
|
||||||
|
to install it to enable sound, but it will otherwise work without it.
|
||||||
|
* If you want to download this, you should probably do so using your native
|
||||||
|
package manager.
|
||||||
|
|
||||||
|
4. Download **Pesterchum**:
|
||||||
|
* [Download from main branch][pchum-zip]
|
||||||
|
|
||||||
|
5. Unzip Pesterchum somewhere easily-accessible.
|
||||||
|
|
||||||
|
6. **If you have any custom themes**, copy/paste them into the 'themes' folder.
|
||||||
|
You can find this in `%LOCALAPPDATA%\pesterchum`, which is the same as
|
||||||
|
`%APPDATA%\..\Local\pesterchum`. Copy/paste one into Explorer's address bar
|
||||||
|
and you'll end up where you need to be.
|
||||||
|
|
||||||
|
Oftentimes the 'themes' folder doesn't exist in Pesterchum's user-specific
|
||||||
|
config folder, so you'll have to make it and copy the custom themes into
|
||||||
|
it.
|
||||||
|
|
||||||
|
__If, for some reason, that doesn't work:__
|
||||||
|
|
||||||
|
You can also copy the missing themes into the 'themes' folder of the version
|
||||||
|
you just unzipped. **Don't overwrite any files** if you do this - the themes
|
||||||
|
used by this have been updated, and the older default themes may break when
|
||||||
|
used.
|
||||||
|
|
||||||
|
7. Run Pesterchum! How you do this depends on the OS:
|
||||||
|
* **(WINDOWS)** Run `w32-run-pchum.bat`.
|
||||||
|
* **(LINUX)** Run `./pesterchum`, preferably via terminal.
|
||||||
|
* Note that this is made to provide debugging information - so that if
|
||||||
|
errors come up, they can be reported to me, and I can fix them.
|
||||||
|
|
||||||
|
[python2-32]: https://www.python.org/ftp/python/2.7.12/python-2.7.12.msi
|
||||||
|
[python2-64]: https://www.python.org/ftp/python/2.7.12/python-2.7.12.amd64.msi
|
||||||
|
[pyqt4-32]: http://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-4.11.4/PyQt4-4.11.4-gpl-Py2.7-Qt4.8.7-x32.exe
|
||||||
|
[pyqt4-64]: http://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-4.11.4/PyQt4-4.11.4-gpl-Py2.7-Qt4.8.7-x64.exe
|
||||||
|
[pygame-dl]: http://www.pygame.org/download.shtml
|
||||||
|
[pchum-zip]: https://github.com/karxi/pesterchum/archive/master.zip
|
||||||
|
|
||||||
|
#### Upgrading
|
||||||
|
**NOTE: This only applies to those who already have this patched Pesterchum
|
||||||
|
installed.**
|
||||||
|
**DO NOT extract this into a folder containing pesterchum.exe, because it WILL
|
||||||
|
break.** Read up to **First-Time Install** if you're installing this version
|
||||||
|
for the first time.
|
||||||
|
Otherwise...
|
||||||
|
|
||||||
|
Just re-download the [Pesterchum zip][pchum-zip] and extract it over your old
|
||||||
|
installation, replacing everything that was already there. That's all there is
|
||||||
|
to it!
|
||||||
|
|
||||||
|
#### Having Problems?
|
||||||
|
I can't offer much help in this regard; if you're getting errors, feel free to
|
||||||
|
try to contact me, but if you're having trouble with the installers, there's
|
||||||
|
little I can do. [How to install Python][howtogetpython] might help; failing
|
||||||
|
that, Google saves lives.
|
||||||
|
|
||||||
|
[howtogetpython]: http://www.howtogeek.com/197947/how-to-install-python-on-windows/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
SMILIES
|
||||||
|
-------
|
||||||
|
None of the smilies have changed or been added, yet; this list is kept for
|
||||||
|
posterity and easy reference.
|
||||||
|
|
||||||
|
* `:rancorous:`
|
||||||
|
* `:apple:`
|
||||||
|
* `:bathearst:`
|
||||||
|
* `:cathearst:`
|
||||||
|
* `:woeful:`
|
||||||
|
* `:pleasant:`
|
||||||
|
* `:blueghost:`
|
||||||
|
* `:slimer:`
|
||||||
|
* `:candycorn:`
|
||||||
|
* `:cheer:`
|
||||||
|
* `:duhjohn:`
|
||||||
|
* `:datrump:`
|
||||||
|
* `:facepalm:`
|
||||||
|
* `:bonk:`
|
||||||
|
* `:mspa:`
|
||||||
|
* `:gun:`
|
||||||
|
* `:cal:`
|
||||||
|
* `:amazedfirman:`
|
||||||
|
* `:amazed:`
|
||||||
|
* `:chummy:`
|
||||||
|
* `:cool:`
|
||||||
|
* `:smooth:`
|
||||||
|
* `:distraughtfirman:`
|
||||||
|
* `:distraught:`
|
||||||
|
* `:insolent:`
|
||||||
|
* `:bemused:`
|
||||||
|
* `:3:`
|
||||||
|
* `:mystified:`
|
||||||
|
* `:pranky:`
|
||||||
|
* `:tense:`
|
||||||
|
* `:record:`
|
||||||
|
* `:squiddle:`
|
||||||
|
* `:tab:`
|
||||||
|
* `:beetip:`
|
||||||
|
* `:flipout:`
|
||||||
|
* `:befuddled:`
|
||||||
|
* `:pumpkin:`
|
||||||
|
* `:trollcool:`
|
||||||
|
* `:jadecry:`
|
||||||
|
* `:ecstatic:`
|
||||||
|
* `:relaxed:`
|
||||||
|
* `:discontent:`
|
||||||
|
* `:devious:`
|
||||||
|
* `:sleek:`
|
||||||
|
* `:detestful:`
|
||||||
|
* `:mirthful:`
|
||||||
|
* `:manipulative:`
|
||||||
|
* `:vigorous:`
|
||||||
|
* `:perky:`
|
||||||
|
* `:acceptant:`
|
||||||
|
* `:olliesouty:`
|
||||||
|
* `:billiards:`
|
||||||
|
* `:billiardslarge:`
|
||||||
|
* `:whatdidyoudo:`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[modeline]: vim:set autoindent ts=4 sts=4 sw=4 tw=79 expandtab:
|
840
README-pesterchum.mkdn
Executable file
840
README-pesterchum.mkdn
Executable file
|
@ -0,0 +1,840 @@
|
||||||
|
Welcome to Pesterchum 3.41!
|
||||||
|
=============================
|
||||||
|
|
||||||
|
WHAT'S NEW?
|
||||||
|
-----------
|
||||||
|
* 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:
|
||||||
|
-----------------------------------------
|
||||||
|
|
||||||
|
- 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
|
||||||
|
can add chums by clicking "Chumproll." Moods correspond to the troll
|
||||||
|
that would most likely exhibit them. You can go offline by hitting the
|
||||||
|
"Timelines" menu bar.
|
||||||
|
|
||||||
|
* Gold: Add chums by hitting the two chumpeoples in the upper left
|
||||||
|
corner. Go offline by clicking the "CHUMHANDLE:" label.
|
||||||
|
|
||||||
|
* Enamel: Add chums by hitting the "CHUMROLL" label. Go offline by
|
||||||
|
clicking the upper left hand corner.
|
||||||
|
|
||||||
|
- Right-click is your friend! There are useful right click
|
||||||
|
options on the chumroll, by clicking the chumhandle in a conversation,
|
||||||
|
online userlist, or the list of memo browsers.
|
||||||
|
|
||||||
|
Cool features:
|
||||||
|
--------------
|
||||||
|
|
||||||
|
- Profile switching. Instantly switch profiles, loading your color and
|
||||||
|
quirks with it.
|
||||||
|
- Theme switching and creation. So far this comes with a few official
|
||||||
|
themes! But you can also make your own: just make a new directory in
|
||||||
|
the themes folder with the proper images and style.js file. The
|
||||||
|
style.js file will be documented soon, but feel free to poke at it.
|
||||||
|
- Memos. Memos that are a lot more like the ones in the comic and
|
||||||
|
allow you to appear at multiple times in one chat.
|
||||||
|
- Quirks: Prefix, suffix, simple replace, regexp replace (like in
|
||||||
|
2.5), random replacement, and an auto-mispeller :P
|
||||||
|
- Chum groups. Organize your chums into collapsible groups for easy
|
||||||
|
management.
|
||||||
|
- Block/user list
|
||||||
|
- Add/block chums directly from a conversation, the userlist, or memo
|
||||||
|
userlist.
|
||||||
|
- Timestamps saved in logs and shown in conversations if wanted.
|
||||||
|
- Logging. Logs are output in bbcode (for easy forum posting), html,
|
||||||
|
and plain text.
|
||||||
|
- Logviewer for easy log reading inside Pesterchum
|
||||||
|
- Idling. You can set yourself idle manually, and the computer will
|
||||||
|
set it for you after a configurable amount of time.
|
||||||
|
- Improved /me. Any letters immediately following /me will be
|
||||||
|
processed correctly. e.g. /me'd rather be fishing -> `-- ghostDunk'd
|
||||||
|
[GD'D] rather be fishing --`
|
||||||
|
- Hyperlinks! Now if someone types http://whatever it will turn into a
|
||||||
|
link you can just click and follow. No more copy/paste.
|
||||||
|
- Memo links. Link your friends to your memos.
|
||||||
|
- Smilies. We've added about 30-40 smilies from the forums. There is a
|
||||||
|
list later on in this readme.
|
||||||
|
- Submit quotes directly to the Pesterchum QDB!
|
||||||
|
|
||||||
|
FA%
|
||||||
|
---
|
||||||
|
__Q:__ Norton says it has a virus and then deletes it!
|
||||||
|
__A:__ Read this helpful Norton FAQ:
|
||||||
|
|
||||||
|
Alright, here's a guide to by-passing Norton:
|
||||||
|
|
||||||
|
* First, to download Pesterchum:
|
||||||
|
1. Make sure you're on a Moderator account. Moreso for the Norton steps than these ones.
|
||||||
|
2. Download the .zip file, not the .exe file.
|
||||||
|
3. Unzip the .zip file onto memory. Pesterchum should now be installed.
|
||||||
|
|
||||||
|
* Now, to by-pass Norton:
|
||||||
|
1. Make sure you're still on a moderator account.
|
||||||
|
2. Open up Norton.
|
||||||
|
3. Click on 'Settings' up in the upperright hand corner.
|
||||||
|
4. Click on 'Anitivirus', off to the upper left. It has a small image of a needle or something similar off to it's side.
|
||||||
|
5. There's a word that reads 'SONAR protection' halfway to the bottomleft. Off to it's right, there's a bar that's half green. Click on the bar.
|
||||||
|
6. It will warn you about turning off SONAR. Have it set to turn back on when the system restarts.
|
||||||
|
7. If done properly, the background for the main page of Norton(what you saw on steps 2-3) has turned an apocaliptic red. Feel free to close Norton now. Keep in mind to stay off suspicious online sites now.
|
||||||
|
8. Open up Pesterchum, and let the chummy convos begin.
|
||||||
|
|
||||||
|
* When finished:
|
||||||
|
1. Log off of Pesterchum. LOG OFF, NOT CLOSE IT.
|
||||||
|
2. Then, you can either shut off your comp, and Norton will re-enable SONAR, or you can repeat steps 1-5, except turning the red bar green. If done right, Norton will be it's happy color again.
|
||||||
|
3, Keep in mind that you must repeat all of this(other than the download) every time you want to get on Pesterchum.
|
||||||
|
|
||||||
|
* Hope this is helpful!
|
||||||
|
|
||||||
|
(This guide brought to you by the slightly combined efforts of empireomega and Xanaomin)
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
__Q:__ I can't connect because my school/university/network/stolen wifi is blocking my connection! OR I can't seem to connect to the server at all and I'm not running any firewalls!
|
||||||
|
__A:__ Edit your pesterchum.js file. Open it up in notepad or something, and then edit the beginning so it looks like this:
|
||||||
|
|
||||||
|
```
|
||||||
|
{"port": "1413", ....
|
||||||
|
```
|
||||||
|
|
||||||
|
where the .... is the rest of the gobbledygook there.
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
__Q:__ The mood buttons on Pesterchum 6.0 don't match up to what it sets your mood to! What gives?
|
||||||
|
__A:__ The mood names are just there to look canon. It is intentional.
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
__Q:__ I'm appearing as offline to 2.5 users/other users appear the wrong
|
||||||
|
mood? What's happeninggggg
|
||||||
|
__A:__ The 2.5 people decided to change the mood protocol. When I made
|
||||||
|
this program, I decided to go with Tinychat's original protocol (and
|
||||||
|
extend it). So some moods will appear wrong between 2.5
|
||||||
|
users. (\*COUGH\*tell them to switch to 3.14\*COUGH\*)
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
__Q:__ Pesterchum 2.5 users don't get my /me messages correctly!
|
||||||
|
__A:__ That's because they implemented the /me command differently.
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
__Q:__ Can we resize the main window?
|
||||||
|
__A:__ No. This is done so we can offer more flexible UI creation. It's a
|
||||||
|
lot easier to make themes that look canon this way.
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
__Q:__ Can we have different chum rolls for different users?
|
||||||
|
__A:__ No. Instead what we now have crum groups to organize people.
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
__Q:__ Can we delete profiles?
|
||||||
|
__A:__ Yes. Go to the profile switcher, choose a profile and press DELETE.
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
__Q:__ You should make it so you can ban specific time frames in memos.
|
||||||
|
__A:__ This was too complicated to implement, and I don't have the UI
|
||||||
|
quite figured out. This will probably go in a future update.
|
||||||
|
|
||||||
|
|
||||||
|
DOCUMENTATION
|
||||||
|
-------------
|
||||||
|
|
||||||
|
STARTING
|
||||||
|
--------
|
||||||
|
|
||||||
|
If this is your first time running Pesterchum 3.14, you need to create
|
||||||
|
a new profile. Just type in your chum handle in the box and click the
|
||||||
|
color swatch to pick your color. Check the "default" checkbox to make
|
||||||
|
this your default profile.
|
||||||
|
|
||||||
|
BASIC PESTERING
|
||||||
|
---------------
|
||||||
|
|
||||||
|
To begin pestering, first click the "ADD CHUM" button and type in
|
||||||
|
their pester handle. The handle must be all lower case except for one
|
||||||
|
capital letter. Once you've added that person, they will appear on
|
||||||
|
your chumroll. You can double click to begin pestering them, or
|
||||||
|
right-click to bring up a menu where you can pester them, block them,
|
||||||
|
or remove them from your chumroll. (Or you can select them and hit
|
||||||
|
"enter" OR hit the "PESTER" button.)
|
||||||
|
|
||||||
|
Once you begin pestering somebody (or they begin pestering you), it
|
||||||
|
will bring up the conversation window. Here you can type to your
|
||||||
|
chum. Also remember that if you right-click on the area just above the
|
||||||
|
Pesterlog, it will bring up a list of options: Quirks Off will turn
|
||||||
|
your quirks off, Add Chum will add this chum to your list, and Block
|
||||||
|
will block them. (Those last two options are useful if you are being
|
||||||
|
pestered by someone you don't have on your list yet!)
|
||||||
|
|
||||||
|
While pestering your chum, here are some useful features:
|
||||||
|
|
||||||
|
* Type /me to create a system message. "/me facepalms." will generate:
|
||||||
|
|
||||||
|
```
|
||||||
|
-- ghostDunk [GD] facepalms. --
|
||||||
|
```
|
||||||
|
|
||||||
|
You can also append 's after /me like so: "/me's computer exploded."
|
||||||
|
|
||||||
|
```
|
||||||
|
-- ghostDunk's [GD'S] computer exploded. --
|
||||||
|
```
|
||||||
|
|
||||||
|
In fact, any characters you type after a /me before the space will
|
||||||
|
be added: "/meing is the Ghost Nation's official pastime."
|
||||||
|
|
||||||
|
```
|
||||||
|
-- ghostDunking [GDING] is the Ghost Nation's official pastime. --
|
||||||
|
```
|
||||||
|
|
||||||
|
* Color tags! If you feel the need to talk about The Green Sun or add
|
||||||
|
some appleberry blast to your conversation, just use color
|
||||||
|
tags. These work like in TC 1.5: `<c=(color)>colored text</c>`. But in
|
||||||
|
PC 3.14, you can type your color in a lot of different ways:
|
||||||
|
|
||||||
|
- You can use the familiar r,g,b method:
|
||||||
|
`<c=0,255,0>The Green Sun</c>`
|
||||||
|
- You can use HTML tags:
|
||||||
|
`<c=#7f7f7f>DURR I'M KARKAT AND I'M A HUGE IDIOT</c>`
|
||||||
|
- You can even use [plain color names](http://en.wikipedia.org/wiki/Web_colors):
|
||||||
|
`<c=red>D4V3 TH1S 1S SO D3C4D3NT</c>`
|
||||||
|
- You don't even have to add the `</c>` if you are lazy. Just use a
|
||||||
|
new color tag whenever you want to change colors and PC 3.14 will
|
||||||
|
add the extra tags for you.
|
||||||
|
|
||||||
|
* URLs (anything with `http://` or `www.` in front of it) will automatically be
|
||||||
|
detected and made into a link you can CLICK.
|
||||||
|
|
||||||
|
* You can also link people to memos by typing "#" and the name of the
|
||||||
|
menu like so: #R41NBOW_RUMPUS_P4RTYTOWN
|
||||||
|
Clicking the link will open up the memo select menu.
|
||||||
|
|
||||||
|
* Smilies! There are a list of smilies at the end of this document;
|
||||||
|
they are based on the MSPA Forum smilies.
|
||||||
|
|
||||||
|
* Don't worry about your quirks screwing up any of the above: PC will
|
||||||
|
apply your quirks AFTER it figures out color codes, links, smilies, etc.
|
||||||
|
|
||||||
|
* Pressing the up arrow will cycle through a history of your comments,
|
||||||
|
so if you want to retype something, you can pull it up.
|
||||||
|
|
||||||
|
* You can submit directly to the Pesterchum Quote Database! If you
|
||||||
|
have a particualarly awesome conversation, you can submit it to the
|
||||||
|
database by simply highlighting the good part of the conversation,
|
||||||
|
right clicking it and choosing "Submit to Pesterchum QDB!"
|
||||||
|
|
||||||
|
|
||||||
|
MEMOS
|
||||||
|
-----
|
||||||
|
|
||||||
|
One of the most interesting features to make was the memos, and make
|
||||||
|
them as close to the comic as I could without actually inventing time
|
||||||
|
travel. So here is the TIME TUTORIAL:
|
||||||
|
|
||||||
|
* __Joining:__ When you go CLIENT->MEMOS, you'll see a list of memos pop up
|
||||||
|
-- those are memos people already have open. To join one, just
|
||||||
|
highlight one of them. If you want to make a new memo, just type it in
|
||||||
|
the input. If you'd like to make it secret, so that it doesn't appear
|
||||||
|
in the list, check "HIDDEN CHANNEL". Then, choose what timeframe you
|
||||||
|
want to appear to be in. So if you wanted to be in the future, you
|
||||||
|
could move the slider to the right. You can also enter the time
|
||||||
|
manually. Then hit JOIN.
|
||||||
|
|
||||||
|
* __Explaining time:__ Time in memos, unlike Homestuck, will not be relative
|
||||||
|
to your position. That is, if you choose 4:13 in the future, you will
|
||||||
|
not see someone who has set their time as "current" (or "0") in the
|
||||||
|
past: you will see them as "current" and yourself as "future." This is
|
||||||
|
because we do not have time travel! Memo time setting is basically an
|
||||||
|
RP mechanic: you are pretending to be from the future! It will also
|
||||||
|
help keep everyone straight: everyone will see the same thing!
|
||||||
|
|
||||||
|
* __The time slider:__ The slider shows your current position in the time
|
||||||
|
stream. If you want to change your time frame, simply move the slider
|
||||||
|
(or type a time in) and hit GO. This will open a new time frame, and
|
||||||
|
the next time you type a message, the memo will show that you've
|
||||||
|
responded to it in that time frame. You can now switch between your
|
||||||
|
time frames simply by clicking the arrows in the right hand
|
||||||
|
corner. (THIS COMES IN HANDY IF YOU WANT TO ARGUE WITH YOURSELF.) You
|
||||||
|
can have any number of open time frames, and the program will number
|
||||||
|
them in the order in which you open them (like in the comic). You can
|
||||||
|
have one of your time frames cease responding to the memo by hitting
|
||||||
|
"CLOSE." If you open that time frame again, the program will remember
|
||||||
|
the number it originally gave it. If you want to be mysteeeeeeeerious,
|
||||||
|
you can type in "?" and you will appear as ???.
|
||||||
|
|
||||||
|
* __The memo viewer list:__ To the right is a list of people currently
|
||||||
|
browsing the memo. A shade icon next to their name means they are the
|
||||||
|
"operator" of the memo: meaning they can kick ("ban") people from the
|
||||||
|
memo and make other people operators as well. A "ban" is not permanent
|
||||||
|
(like in the comic), and the program will ask if you want to reconnect
|
||||||
|
to the memo. You kick and op people by right clicking their name in
|
||||||
|
the window. You can also add them to your chumroll!
|
||||||
|
|
||||||
|
* __Inviting people to your memo:__ You can link to a memo by simply typing
|
||||||
|
"#nameofmemo" in any conversation or memo window. So you can say:
|
||||||
|
|
||||||
|
```
|
||||||
|
CG: NOW YOU, ME, AND EGBERT NEED TO HAVE A CHAT.
|
||||||
|
CG: CLICK IT.
|
||||||
|
CG: #FRUITYRUMPUSASSHOLEFACTORY
|
||||||
|
```
|
||||||
|
|
||||||
|
and it will appear as a link that you can click, which will open the
|
||||||
|
memo chooser window.
|
||||||
|
|
||||||
|
CLIENT MENU
|
||||||
|
-----------
|
||||||
|
|
||||||
|
### OPTIONS: ###
|
||||||
|
|
||||||
|
* __Chum List__
|
||||||
|
* __Hide Offline Chums:__ Turning this option on will hide all offline chums
|
||||||
|
off your chumroll.
|
||||||
|
|
||||||
|
* __Show Empty Groups:__ Turning this option on will show empty groups.
|
||||||
|
|
||||||
|
* __Show Number of Online Chums:__ Show number of online chums in each group.
|
||||||
|
|
||||||
|
* __Sort Chums:__ How would you like your chums sorted?
|
||||||
|
|
||||||
|
* __Conversations__
|
||||||
|
* __Time Stamps:__ Turning this on will show timestamps in your chats.
|
||||||
|
|
||||||
|
* __12/24 hour:__ Formatting for timestamps. Whether you want them in 12 or
|
||||||
|
24 hour time.
|
||||||
|
|
||||||
|
* __Show Seconds:__ Turning this on will show the seconds in your timestamps.
|
||||||
|
|
||||||
|
* __Show OP and Voice Messages in Memos:__ Whether or not you would like
|
||||||
|
to see messages when people gain/lose OP or Voice.
|
||||||
|
|
||||||
|
* __Use animated smilies:__ To animate or not to animate.
|
||||||
|
|
||||||
|
* __Interface__
|
||||||
|
* __Tabbed Conversations:__ Turns tabbed conversations on and off. Don't
|
||||||
|
worry if you do this in the middle of a conversation, PC will save
|
||||||
|
them for you.
|
||||||
|
|
||||||
|
* __Minimize:__ What do you want the minimize button to do?
|
||||||
|
|
||||||
|
* __Close:__ What do you want the close button to do?
|
||||||
|
|
||||||
|
* __Sound__
|
||||||
|
* __Sounds On:__ Uncheck to shut it the fuck up.
|
||||||
|
|
||||||
|
* __Pester Sounds:__ Uncheck to only turn off Pester sounds.
|
||||||
|
|
||||||
|
* __Memo Sounds:__ Uncheck to only turn off Memo sounds.
|
||||||
|
|
||||||
|
* __Memo Mentions:__ Check to have a separate noise when your initials
|
||||||
|
get mentioned in a memo.
|
||||||
|
|
||||||
|
* __Logging__
|
||||||
|
* __Log all Pesters:__ Log one-on-one chats.
|
||||||
|
|
||||||
|
* __Log all Memos:__ Log everything said in memos.
|
||||||
|
|
||||||
|
* __Log Time Stamps for Pesters__
|
||||||
|
|
||||||
|
* __Log Time Stamps for Memos__
|
||||||
|
|
||||||
|
* __Idle/Updates__
|
||||||
|
* __Minutes before Idle:__ How long before you should be considered idle.
|
||||||
|
|
||||||
|
* __Check for Pesterchum Updates:__ How often to check for updates
|
||||||
|
to Pesterchum.
|
||||||
|
|
||||||
|
* __Check for MSPA Updates:__ Check the MSPA site for updates to comics.
|
||||||
|
|
||||||
|
* __Theme__
|
||||||
|
* __Pick a Theme__
|
||||||
|
|
||||||
|
### MEMOS: ###
|
||||||
|
|
||||||
|
Opens the Memo list as above.
|
||||||
|
|
||||||
|
### USERLIST: ###
|
||||||
|
|
||||||
|
Shows a list of all the users that are currently logged onto
|
||||||
|
Pesterchum. Right-click their names and select "ADD CHUM" to add them
|
||||||
|
to your chum roll!
|
||||||
|
|
||||||
|
### IDLE: ###
|
||||||
|
|
||||||
|
Make yourself an idle chum. You will appear as idle until you
|
||||||
|
uncheck this box, or if you *actually* go idle (stop using the
|
||||||
|
computer) for 10 minutes and then come back.
|
||||||
|
|
||||||
|
### IMPORT: ###
|
||||||
|
|
||||||
|
Imports your old Pesterchum 2.0, 2.5 and Tinychum chum
|
||||||
|
rolls. This will also import your old quirks from Pesterchum 2.5.
|
||||||
|
|
||||||
|
### RECONNECT: ###
|
||||||
|
|
||||||
|
Forces PC to reconnect to the server.
|
||||||
|
|
||||||
|
### EXIT: ###
|
||||||
|
|
||||||
|
noooooooooooooooooooooooo
|
||||||
|
|
||||||
|
|
||||||
|
PROFILE MENU
|
||||||
|
------------
|
||||||
|
|
||||||
|
### QUIRKS: ###
|
||||||
|
|
||||||
|
Opens the quirks menu. More on that below!
|
||||||
|
|
||||||
|
### TROLLSLUM: ###
|
||||||
|
|
||||||
|
Opens up the window where you can view people you've
|
||||||
|
blocked. You can add and remove people to the list from here as well.
|
||||||
|
|
||||||
|
### COLOR: ####
|
||||||
|
|
||||||
|
Change your text color here!
|
||||||
|
|
||||||
|
### SWITCH: ###
|
||||||
|
|
||||||
|
Switch your profile! You can have any number of profiles, and
|
||||||
|
PC will save your color, quirks, and theme for that profile. Chumrolls
|
||||||
|
and block lists are the same for all profiles. Feel free to have
|
||||||
|
multiple instances of PC running on two or more handles!
|
||||||
|
|
||||||
|
|
||||||
|
HELP MENU
|
||||||
|
---------
|
||||||
|
|
||||||
|
### HELP: ###
|
||||||
|
|
||||||
|
Get taken to a handy dandy tutorial for Pesterchum!
|
||||||
|
|
||||||
|
### CALSPRITE: ###
|
||||||
|
|
||||||
|
Open a chat with calSprite (learn more about calSprite below).
|
||||||
|
|
||||||
|
### NICKSERV: ###
|
||||||
|
|
||||||
|
Open a chat with NickServ. If you don't know what NickServ is, you don't need to.
|
||||||
|
|
||||||
|
### ABOUT: ###
|
||||||
|
|
||||||
|
See which version of Pesterchum you have. Learn about all the awesome people
|
||||||
|
that helped bring Pesterchum 3.14 to you!
|
||||||
|
|
||||||
|
### REPORT BUG: ###
|
||||||
|
|
||||||
|
Report any bugs you come across so we can fix them and make Pesterchum
|
||||||
|
even better!
|
||||||
|
|
||||||
|
|
||||||
|
CALSPRITE
|
||||||
|
---------
|
||||||
|
|
||||||
|
calSprite is the bot that helps moderate canon handle usage! Simply pester
|
||||||
|
calSprite with the world "HELP" (turn your quirks off!) and you
|
||||||
|
will get instructions on how to use calSprite!
|
||||||
|
|
||||||
|
|
||||||
|
QUIRKS
|
||||||
|
------
|
||||||
|
|
||||||
|
There are six kinds of quirks! I'll teach you how to use them all!
|
||||||
|
(In this section, I will use quotes ("") around things so it's clearer
|
||||||
|
to see exactly what to type! Don't include these quotes when using
|
||||||
|
these examples!
|
||||||
|
|
||||||
|
Also, note that your quirks will not work until you save them by
|
||||||
|
hitting "OK" on the Quirk window.
|
||||||
|
|
||||||
|
* __Prefix/Suffix:__
|
||||||
|
This will put text before or after everything you
|
||||||
|
say. So for example, we can use prefixes to emulate part of Nepeta or
|
||||||
|
Equius' quirks:
|
||||||
|
|
||||||
|
```
|
||||||
|
PREFIX: ":33 < "
|
||||||
|
You type: "*ac twitches her friendly whiskers at ct*"
|
||||||
|
Result:
|
||||||
|
AC: :33 < *ac twitches her friendly whiskers at ct*
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
PREFIX: "D --> "
|
||||||
|
You type: "Hi"
|
||||||
|
Result:
|
||||||
|
CT: D --> Hi
|
||||||
|
```
|
||||||
|
|
||||||
|
Suffixes work the same way, but at the end of the message:
|
||||||
|
|
||||||
|
```
|
||||||
|
SUFFIX: "!!!"
|
||||||
|
You type: hey there
|
||||||
|
Result:
|
||||||
|
GD: hey there!!!
|
||||||
|
```
|
||||||
|
|
||||||
|
Remember that it doesn't automatically add a space! You'll need to add
|
||||||
|
it in (see CT and AC examples again!)
|
||||||
|
|
||||||
|
* __Simple Replace:__
|
||||||
|
This will simply take a set of characters and replace them with other
|
||||||
|
characters.
|
||||||
|
* Let's add a quirk to our Nepeta:
|
||||||
|
|
||||||
|
```
|
||||||
|
Replace: "ee" With: "33"
|
||||||
|
You type: "*ac saunters from her dark cave a little bit sleepy from
|
||||||
|
the recent kill*"
|
||||||
|
Result:
|
||||||
|
AC: :33 < *ac saunters from her dark cave a little bit sl33py from the
|
||||||
|
recent kill*
|
||||||
|
```
|
||||||
|
|
||||||
|
* Let's add two to Equius:
|
||||||
|
|
||||||
|
```
|
||||||
|
Replace: "loo" With: "100"
|
||||||
|
Replace: "x" With "%"
|
||||||
|
You type: "look"
|
||||||
|
Result:
|
||||||
|
CT: D --> 100k
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
You type: "What are you expecting to accomplish with this"
|
||||||
|
Result:
|
||||||
|
CT: D --> What are you e%pecting to accomplish with this
|
||||||
|
```
|
||||||
|
|
||||||
|
* Aradia:
|
||||||
|
|
||||||
|
```
|
||||||
|
Replace: "o" With: "0"
|
||||||
|
You type: "and the reward would be within our reach"
|
||||||
|
Result:
|
||||||
|
AA: and the reward w0uld be within 0ur reach
|
||||||
|
```
|
||||||
|
|
||||||
|
Notice that it is CASE SENSITIVE. So in the above case, if you typed
|
||||||
|
"ABSCOND", it would not replace the "O".
|
||||||
|
|
||||||
|
* Sollux:
|
||||||
|
|
||||||
|
```
|
||||||
|
Replace: "i" With: "ii"
|
||||||
|
Replace: "s" With: "2"
|
||||||
|
```
|
||||||
|
|
||||||
|
* Eridan:
|
||||||
|
|
||||||
|
```
|
||||||
|
Replace: "v" With: "vv"
|
||||||
|
Replace: "w" With: "ww"
|
||||||
|
```
|
||||||
|
|
||||||
|
* Feferi:
|
||||||
|
|
||||||
|
```
|
||||||
|
Replace: "h" with: ")("
|
||||||
|
Replace: "H" with: ")("
|
||||||
|
Replace: "E" with: "-E"
|
||||||
|
```
|
||||||
|
|
||||||
|
* __Regexp Replace:__
|
||||||
|
This is a more complex kind of replacement. [Regexp](http://en.wikipedia.org/wiki/Regexp)
|
||||||
|
stands for "regular expression", a kind of programming language (yes, it is a language)
|
||||||
|
used to find and replace text. PC 3.14 also includes a few functions (`upper()`,
|
||||||
|
`lower()`, `scramble()`). If you want to learn it on your own,
|
||||||
|
I suggest you start with the [Python tutorial](http://docs.python.org/howto/regex.html)
|
||||||
|
since PC 3.14 uses Python's regexps. Check out V2.5's tutorial too, as that is a pretty
|
||||||
|
good start as well.
|
||||||
|
|
||||||
|
* Let's start with Karkat. Regexps are just like your every day find and
|
||||||
|
replace: they search for a string that matches what you want to
|
||||||
|
replace, and replaces it with... the replacement.
|
||||||
|
|
||||||
|
```
|
||||||
|
Regexp: "(.)" Replace with: "upper(\1)"
|
||||||
|
```
|
||||||
|
|
||||||
|
Three concepts here. Let's look at the regexp. "(.)" has two things
|
||||||
|
going on. The first is that ".". In regexp speak, "." is the wildcard:
|
||||||
|
it will match *any* character -- and just one.
|
||||||
|
|
||||||
|
The parentheses tell the regexp to *save* what's inside them so you
|
||||||
|
can put it back when you replace. That's what the "\1" is for -- it
|
||||||
|
means, "put the match inside parentheses #1 here". You can have any
|
||||||
|
number of parentheses.
|
||||||
|
|
||||||
|
* __"upper()"__ is a function special to PC 3.14 -- it will uppercase
|
||||||
|
anything inside the parentheses. So in this case, upper will uppercase
|
||||||
|
"\1" -- which, as you recall is what we found inside the
|
||||||
|
parentheses. Which was *every* character. So to sum up, it replaces
|
||||||
|
every character with an uppercase version of that character. WHICH
|
||||||
|
MAKES YOU TALK LIKE THIS.
|
||||||
|
|
||||||
|
* Let's look at Terezi next.
|
||||||
|
|
||||||
|
```
|
||||||
|
Regexp: "[aA]" Replace with: "4"
|
||||||
|
Regexp: "[iI]" Replace with: "1"
|
||||||
|
Regexp: "[eE]" Replace with: "3"
|
||||||
|
Regexp: "(.)" Replace with: "upper(\1)"
|
||||||
|
```
|
||||||
|
|
||||||
|
We already know what the last line does. But what's up with those
|
||||||
|
brackets? What's their deal? Basically, in regular expressions,
|
||||||
|
brackets indicate a list of matching characters. So, basically any
|
||||||
|
single character within the brackets will be matched. In this case,
|
||||||
|
either "a" or "A" will be matched and replaced with "4," and likewise,
|
||||||
|
"i" and "I" will be replaced with "1", and "e" and "E" will be
|
||||||
|
replaced with "3."
|
||||||
|
|
||||||
|
Just like there is an `upper()` function, there is also a `lower()`
|
||||||
|
function. It acts just like `upper()` but instead makes everything
|
||||||
|
inside the parentheses lowercase. This allows you to do things like:
|
||||||
|
|
||||||
|
```
|
||||||
|
Regexp: "(.)" Replace with: "lower(\1)"
|
||||||
|
You type: "I AM YELLING"
|
||||||
|
Result:
|
||||||
|
GD: i am yelling
|
||||||
|
```
|
||||||
|
|
||||||
|
Along with the upper and lower functions is a `scramble()` function.
|
||||||
|
The purpose of this function is to randomly scramble anything inside
|
||||||
|
the parentheses.
|
||||||
|
|
||||||
|
```
|
||||||
|
Regexp: "(\w)(\w*)(\w)" Replace with: "\1scramble(\2)\3"
|
||||||
|
You type: "hello there"
|
||||||
|
Result:
|
||||||
|
GD: hlelo trhee
|
||||||
|
```
|
||||||
|
|
||||||
|
This particular regular expression scrambles all of the letters in
|
||||||
|
the middle of a word. Notice that the "h" and "o" at the beginning
|
||||||
|
and end of hello remain in place while the other letters are scrambled.
|
||||||
|
|
||||||
|
You should also know that "^" is a special character in brackets. If
|
||||||
|
placed immediately after the opening bracket (like "[^"), then the
|
||||||
|
brackets instead match every character *except* the ones in the
|
||||||
|
brackets. So, for example, if you wanted to have a quirk where you
|
||||||
|
capitalized all your letters *except* o, you'd do this:
|
||||||
|
|
||||||
|
```
|
||||||
|
Regexp: "([^o])" Replace with: "upper(\1)"
|
||||||
|
You type: "hello there"
|
||||||
|
Result:
|
||||||
|
GD: HELLo THERE
|
||||||
|
```
|
||||||
|
|
||||||
|
You can also specify a *range* of characters inside the brackets, by
|
||||||
|
using the "-" character. [a-z] will match any lowercase letter. You
|
||||||
|
can combine them, too: [a-z0-9] will match any digit and lowercase letter.
|
||||||
|
|
||||||
|
There are also different shortcuts for character types:
|
||||||
|
|
||||||
|
```
|
||||||
|
\d matches any digit; same as [0-9]
|
||||||
|
\D matches any non-digit; same as [^0-9]
|
||||||
|
\s matches any spaces
|
||||||
|
\S matches any non-space
|
||||||
|
\w matches any alphanumeric character; same as [a-zA-Z0-9_]
|
||||||
|
\W matches any non-alphanumeric character; same as [^a-zA-Z0-9_]
|
||||||
|
|
||||||
|
Note \w and \W also match extended Latin or Unicode alphanumerics.
|
||||||
|
```
|
||||||
|
|
||||||
|
You can include this inside brackets, too.
|
||||||
|
|
||||||
|
There's also a special character, \\b. What \\b does is make sure that
|
||||||
|
you are at the beginning or end of a word.
|
||||||
|
* So with that knowledge, let's try Kanaya:
|
||||||
|
|
||||||
|
```
|
||||||
|
Regexp: \b(\w) Replace with: upper(\1)
|
||||||
|
You type: "i suggest you come to terms with it"
|
||||||
|
Result:
|
||||||
|
GA: I Suggest You Come To Terms With It
|
||||||
|
```
|
||||||
|
|
||||||
|
Another feature of regular expressions is the ability to match
|
||||||
|
*repeated* characters. There are three repeat characters: the "\*", the
|
||||||
|
"+", "?", and "{m,n}". They work by playing them after the character,
|
||||||
|
or character type you want to match. (So, you could say "\s+" or ".*")
|
||||||
|
|
||||||
|
The "\*" character matches ZERO or more of that character. So, for
|
||||||
|
example, "f\*" would match "", "f" and "ff" -- and any other character!
|
||||||
|
That's right, every character counts as matching it zero times. Yeah,
|
||||||
|
it's weird. I suggest you use...
|
||||||
|
|
||||||
|
The "+" character matches ONE or more of that character. So, if we
|
||||||
|
wanted to have a character that wanted to elongate their s's so that
|
||||||
|
they used four 's's every time, like sssso, but didn't want to have
|
||||||
|
eight s's when using words with double s's, like pass, we'd do this:
|
||||||
|
|
||||||
|
```
|
||||||
|
Regexp: "s+" Replace with: "ssss"
|
||||||
|
You type: "you shall not pass"
|
||||||
|
Result:
|
||||||
|
UU: you sssshall not passss
|
||||||
|
```
|
||||||
|
|
||||||
|
As for the other two, I can't really think of any useful quirks to be
|
||||||
|
made with them. But to let you know, "?" matches either 0 or 1 of that
|
||||||
|
character, so "trolls?" would match "troll" and "trolls". "{m,n}"
|
||||||
|
matches between m and n characters. (If you leave out 'n', any number
|
||||||
|
of characters more than m will be matched: "s{3,}" will match 3 or more 's'.)
|
||||||
|
So "s{2,4}" will match "ss", "sss", and "ssss" and that's it.
|
||||||
|
|
||||||
|
Also, "?" is equivalent to "{0,1}", "*" is equivalent to "{0,}", and
|
||||||
|
"+" is equivalent to "{1,}".
|
||||||
|
|
||||||
|
Now with repeating expressions, we can do something like make EVERY
|
||||||
|
other WORD capitalized:
|
||||||
|
|
||||||
|
```
|
||||||
|
Regexp: "(\w+) (\w+)" Replace with: "upper(\1) \2"
|
||||||
|
You type: "this is pretty annoying i bet"
|
||||||
|
Result:
|
||||||
|
GD: THIS is PRETTY annoying I bet
|
||||||
|
```
|
||||||
|
|
||||||
|
The \1 represents the first word -- which has been matched because the
|
||||||
|
word is alphanumeric characters, repeated once or more -- and \2
|
||||||
|
represents the second word.
|
||||||
|
|
||||||
|
Another operator to use is the "|", which will match more than one set
|
||||||
|
of characters. For example, "black|red" will match "black" or
|
||||||
|
"red". If you want to match something in the middle of words, you have
|
||||||
|
to use parentheses: "(black|red) romance" will match "black romance"
|
||||||
|
and "red romance".
|
||||||
|
|
||||||
|
Finally, there are the "^" and "$" characters. Yes, we already did the
|
||||||
|
"^" character, but this is OUTSIDE of brackets, not INSIDE. "^"
|
||||||
|
matches the beginning of a message, and "$" matches the end of it. You
|
||||||
|
can use this to make more sophisticated prefix and suffix
|
||||||
|
behaviors. For example, if we have a quirk that adds "..." to the end
|
||||||
|
of all our messages, we can set it up so it doesn't do that if we put
|
||||||
|
punctuation [?!.] at the end. So:
|
||||||
|
|
||||||
|
```
|
||||||
|
Regexp: "([^?!.])$" Replace with: "\1..."
|
||||||
|
```
|
||||||
|
|
||||||
|
This will match the end of any message as long as it doesn't have
|
||||||
|
"?", "!", or "." at the end. Then it will replace it with whatever the
|
||||||
|
last character of the sentence was (remember we're replacing it, so we
|
||||||
|
have to put it back!) and add "..." at the end.
|
||||||
|
|
||||||
|
Careful with the beginning and ending replaces -- if you use more than
|
||||||
|
one, you may not get what you expect because they will ALL be applied,
|
||||||
|
one after the other! This is a bug in my opinion, that I plan to fix!
|
||||||
|
|
||||||
|
* __Random replace:__
|
||||||
|
Just like the regexp replace, except that instead of just one thing to
|
||||||
|
replace it with, you give it a list. PC will then choose from that
|
||||||
|
list randomly. So let's say I want to randomly end my sentences with
|
||||||
|
either "bro" or "dog":
|
||||||
|
|
||||||
|
```
|
||||||
|
Regexp: "$" Replace with: "bro" and "dog"
|
||||||
|
```
|
||||||
|
|
||||||
|
* You can also imitate Araida's random "ribbits" in between words:
|
||||||
|
|
||||||
|
```
|
||||||
|
Regexp: "\s" Replace with: " ribbit ", " ", " ", " ", " ", " ", etc....
|
||||||
|
```
|
||||||
|
|
||||||
|
where " " is just a blank space added a bunch of times. (You can see
|
||||||
|
how many blank spaces you've added by clicking on the list.) You have
|
||||||
|
to add the spaces because each entry has the same chance of being
|
||||||
|
selected. (Yes, I know this could be improved.) If you add " ribbit "
|
||||||
|
and 9 spaces, " ribbit " will have a 1/10 chance of being picked.
|
||||||
|
|
||||||
|
Also note that if you add more than one prefix or more than one
|
||||||
|
suffix, it will pick randomly from them instead of adding them both!
|
||||||
|
|
||||||
|
* __Mispeller__:
|
||||||
|
Be careful with thsi one. The mispeller will randomly mispell x% of
|
||||||
|
the words you type -- where x is the percentage you set the slider
|
||||||
|
to. I have attempted to mimic SBaHJ mispelling style but whoof knows
|
||||||
|
what will happen oh god ive created a mosnter
|
||||||
|
|
||||||
|
|
||||||
|
SMILIES
|
||||||
|
-------
|
||||||
|
Here's a list of smilies:
|
||||||
|
|
||||||
|
* `:rancorous:`
|
||||||
|
* `:apple:`
|
||||||
|
* `:bathearst:`
|
||||||
|
* `:cathearst:`
|
||||||
|
* `:woeful:`
|
||||||
|
* `:pleasant:`
|
||||||
|
* `:blueghost:`
|
||||||
|
* `:slimer:`
|
||||||
|
* `:candycorn:`
|
||||||
|
* `:cheer:`
|
||||||
|
* `:duhjohn:`
|
||||||
|
* `:datrump:`
|
||||||
|
* `:facepalm:`
|
||||||
|
* `:bonk:`
|
||||||
|
* `:mspa:`
|
||||||
|
* `:gun:`
|
||||||
|
* `:cal:`
|
||||||
|
* `:amazedfirman:`
|
||||||
|
* `:amazed:`
|
||||||
|
* `:chummy:`
|
||||||
|
* `:cool:`
|
||||||
|
* `:smooth:`
|
||||||
|
* `:distraughtfirman:`
|
||||||
|
* `:distraught:`
|
||||||
|
* `:insolent:`
|
||||||
|
* `:bemused:`
|
||||||
|
* `:3:`
|
||||||
|
* `:mystified:`
|
||||||
|
* `:pranky:`
|
||||||
|
* `:tense:`
|
||||||
|
* `:record:`
|
||||||
|
* `:squiddle:`
|
||||||
|
* `:tab:`
|
||||||
|
* `:beetip:`
|
||||||
|
* `:flipout:`
|
||||||
|
* `:befuddled:`
|
||||||
|
* `:pumpkin:`
|
||||||
|
* `:trollcool:`
|
||||||
|
* `:jadecry:`
|
||||||
|
* `:ecstatic:`
|
||||||
|
* `:relaxed:`
|
||||||
|
* `:discontent:`
|
||||||
|
* `:devious:`
|
||||||
|
* `:sleek:`
|
||||||
|
* `:detestful:`
|
||||||
|
* `:mirthful:`
|
||||||
|
* `:manipulative:`
|
||||||
|
* `:vigorous:`
|
||||||
|
* `:perky:`
|
||||||
|
* `:acceptant:`
|
||||||
|
* `:olliesouty:`
|
||||||
|
* `:billiards:`
|
||||||
|
* `:billiardslarge:`
|
||||||
|
* `:whatdidyoudo:`
|
BIN
pesterchum.ico
Executable file
BIN
pesterchum.ico
Executable file
Binary file not shown.
After Width: | Height: | Size: 3.6 KiB |
48
pesterchum.spec
Normal file
48
pesterchum.spec
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
# -*- mode: python ; coding: utf-8 -*-
|
||||||
|
|
||||||
|
block_cipher = None
|
||||||
|
|
||||||
|
added_files = [
|
||||||
|
( "quirks", 'quirks' ),
|
||||||
|
( "smilies", 'smilies' ),
|
||||||
|
( "themes", 'themes' ),
|
||||||
|
( "README.md", '.' ),
|
||||||
|
( "README-karxi.mkdn", '.' ),
|
||||||
|
( "README-pesterchum.mkdn", '.' ),
|
||||||
|
( "themes.txt", '.' ),
|
||||||
|
( "server.json", '.' ),
|
||||||
|
( "PCskins.png", '.' ),
|
||||||
|
( "Pesterchum.png", '.' )
|
||||||
|
]
|
||||||
|
|
||||||
|
a = Analysis(['pesterchum.py'],
|
||||||
|
binaries=[],
|
||||||
|
datas=added_files,
|
||||||
|
hiddenimports=[],
|
||||||
|
hookspath=[],
|
||||||
|
runtime_hooks=[],
|
||||||
|
excludes=[],
|
||||||
|
win_no_prefer_redirects=False,
|
||||||
|
win_private_assemblies=False,
|
||||||
|
cipher=block_cipher,
|
||||||
|
noarchive=False)
|
||||||
|
pyz = PYZ(a.pure, a.zipped_data,
|
||||||
|
cipher=block_cipher)
|
||||||
|
exe = EXE(pyz,
|
||||||
|
a.scripts,
|
||||||
|
[],
|
||||||
|
exclude_binaries=True,
|
||||||
|
name='pesterchum',
|
||||||
|
debug=False,
|
||||||
|
bootloader_ignore_signals=False,
|
||||||
|
strip=False,
|
||||||
|
upx=True,
|
||||||
|
console=True )
|
||||||
|
coll = COLLECT(exe,
|
||||||
|
a.binaries,
|
||||||
|
a.zipfiles,
|
||||||
|
a.datas,
|
||||||
|
strip=False,
|
||||||
|
upx=True,
|
||||||
|
upx_exclude=[],
|
||||||
|
name='pesterchum')
|
|
@ -1,54 +0,0 @@
|
||||||
"""
|
|
||||||
This is a setup.py script generated by py2applet
|
|
||||||
|
|
||||||
Usage:
|
|
||||||
python setup.py py2app
|
|
||||||
"""
|
|
||||||
|
|
||||||
from setuptools import setup
|
|
||||||
from version import lexVersion
|
|
||||||
|
|
||||||
APP = ['pesterchum.py']
|
|
||||||
#DATA_FILES = ['pesterchum.js', 'profiles', 'themes', 'smilies', 'logs']
|
|
||||||
DATA_FILES = ['quirks', 'themes', 'smilies']
|
|
||||||
# TODO: Grep this version out of version.py
|
|
||||||
SHORT_VERSION = lexVersion(True) #'3.41.2B5'
|
|
||||||
LONG_VERSION = lexVersion() #'3.41.2 Beta 5 Bleeding Edge'
|
|
||||||
OPTIONS = {
|
|
||||||
'argv_emulation': False,
|
|
||||||
'prefer_ppc': True,
|
|
||||||
'includes': [
|
|
||||||
'sip',
|
|
||||||
'PyQt4',
|
|
||||||
'PyQt4.QtCore',
|
|
||||||
'PyQt4.QtGui'
|
|
||||||
],
|
|
||||||
'excludes': [
|
|
||||||
'PyQt4.QtDesigner',
|
|
||||||
'PyQt4.QtNetwork',
|
|
||||||
'PyQt4.QtOpenGL',
|
|
||||||
'PyQt4.QtScript',
|
|
||||||
'PyQt4.QtSql',
|
|
||||||
'PyQt4.QtTest',
|
|
||||||
'PyQt4.QtWebKit',
|
|
||||||
'PyQt4.QtXml',
|
|
||||||
'PyQt4.phonon'
|
|
||||||
],
|
|
||||||
'iconfile': 'trayicon32.icns'
|
|
||||||
,
|
|
||||||
'plist': {
|
|
||||||
'NSHumanReadableCopyright': 'GPL v3',
|
|
||||||
'CFBundleIdentifier': 'skaianet.Pesterchum',
|
|
||||||
}
|
|
||||||
}
|
|
||||||
setup(
|
|
||||||
name='Pesterchum',
|
|
||||||
description='A client for the pesterchum network',
|
|
||||||
version=LONG_VERSION,
|
|
||||||
license='GPL v3',
|
|
||||||
app=APP,
|
|
||||||
data_files=DATA_FILES,
|
|
||||||
platforms=['i386', 'x86_64'],
|
|
||||||
options={'py2app': OPTIONS},
|
|
||||||
setup_requires=['py2app'],
|
|
||||||
)
|
|
52
setup32.py
52
setup32.py
|
@ -1,52 +0,0 @@
|
||||||
# Windows-only cx_freeze setup file
|
|
||||||
from cx_Freeze import setup, Executable
|
|
||||||
import sys
|
|
||||||
import os
|
|
||||||
import shutil
|
|
||||||
|
|
||||||
from version import _pcVersion
|
|
||||||
|
|
||||||
if sys.platform == "win32":
|
|
||||||
base = "Win32GUI"
|
|
||||||
|
|
||||||
build_exe_options = {
|
|
||||||
"includes": ["requests","urllib"],
|
|
||||||
'excludes': ['collections.sys',
|
|
||||||
'collections._sre',
|
|
||||||
'collections._json',
|
|
||||||
'collections._locale',
|
|
||||||
'collections._struct',
|
|
||||||
'collections.array',
|
|
||||||
'collections._weakref'],
|
|
||||||
}
|
|
||||||
|
|
||||||
setup(
|
|
||||||
name = "Pesterchum",
|
|
||||||
version = str(_pcVersion),
|
|
||||||
description = "Pesterchum Alt. 2.0 :)",
|
|
||||||
options = {"build_exe": build_exe_options},
|
|
||||||
executables = [Executable("pesterchum.py",
|
|
||||||
base=base,
|
|
||||||
icon="pesterchum.ico",
|
|
||||||
),
|
|
||||||
Executable("pesterchum_debug.py",
|
|
||||||
base=base,
|
|
||||||
icon="pesterchum.ico",
|
|
||||||
)])
|
|
||||||
|
|
||||||
#if sys.platform == "win32":
|
|
||||||
# os.rename("build/exe.win32-2.7", "build/pesterchum")
|
|
||||||
|
|
||||||
shutil.copytree("themes", "build/pesterchum/themes")
|
|
||||||
shutil.copytree("smilies", "build/pesterchum/smilies")
|
|
||||||
shutil.copytree("quirks", "build/pesterchum/quirks")
|
|
||||||
#shutil.copy("pesterchum.nsi", "build/pesterchum/")
|
|
||||||
#shutil.copy("pesterchum-update.nsi", "build/pesterchum/")
|
|
||||||
#os.mkdir("build/pesterchum/profiles")
|
|
||||||
#os.mkdir("build/pesterchum/logs")
|
|
||||||
|
|
||||||
#Readme & txt
|
|
||||||
#shutil.copy("README.md", "build/pesterchum/")
|
|
||||||
#shutil.copy("README-pesterchum.mkdn", "build/pesterchum/")
|
|
||||||
#shutil.copy("README-karxi.mkdn", "build/pesterchum/")
|
|
||||||
#shutil.copy("themes.txt", "build/pesterchum/")
|
|
474
themes.txt
Executable file
474
themes.txt
Executable file
|
@ -0,0 +1,474 @@
|
||||||
|
HOW TO MAKE YOUR OWN THEMES:
|
||||||
|
|
||||||
|
Pesterchum 3.14 themes are very flexible and allow you to create
|
||||||
|
almost any kind of main window you can imagine (notable exception
|
||||||
|
being animation). This document should help you make your own themes
|
||||||
|
or make adjustments to existing themes!
|
||||||
|
|
||||||
|
Try following along with existing themes -- it'll make this document
|
||||||
|
much less confusing!
|
||||||
|
|
||||||
|
A note on editing existing themes: Don't edit current themes! If you
|
||||||
|
make changes in the existing themes directory, they *will* be
|
||||||
|
overwritten when you install any updates.
|
||||||
|
|
||||||
|
CREATING A THEME
|
||||||
|
----------------
|
||||||
|
Every theme is just a separate directory in the "themes"
|
||||||
|
directory. That directory contains all the images used in that theme
|
||||||
|
as well as a "style.js" file which is the configuration file for the
|
||||||
|
theme.
|
||||||
|
|
||||||
|
FORMAT
|
||||||
|
------
|
||||||
|
The theme file is unlike most configuration files. It uses a format
|
||||||
|
called JSON, which at its core looks like this:
|
||||||
|
|
||||||
|
{"option": "value", "option2": 5, "category": {"option1": [10, 50] } }
|
||||||
|
|
||||||
|
The idea is that it's basically a list of: "name": "value"
|
||||||
|
separated by commas, inside brackets. So to give another example:
|
||||||
|
|
||||||
|
{"color": "red", "size": 50 }
|
||||||
|
|
||||||
|
means "color" is "red, and "size" is 50. Note that strings should have
|
||||||
|
quotes around them and numbers should not. You can also make certain
|
||||||
|
values into categories by making the value a bracketed list, like so:
|
||||||
|
|
||||||
|
{"memos": {"color": "red", "size": 50}, "convos": {"color": "green", "size": 50 } }
|
||||||
|
|
||||||
|
This creates two categories: memos and convos, each with their own
|
||||||
|
color and size value. Also note that spaces don't really matter. It
|
||||||
|
helps to indent each category:
|
||||||
|
|
||||||
|
{"memos": {"color": "red", "size": 50"},
|
||||||
|
"convos": {"color": "green", "size": 50" }
|
||||||
|
}
|
||||||
|
|
||||||
|
or even
|
||||||
|
|
||||||
|
{"memos": {"color": "red",
|
||||||
|
"size": 50" },
|
||||||
|
"convos": {"color": "green",
|
||||||
|
"size": 50" }
|
||||||
|
}
|
||||||
|
|
||||||
|
SETTINGS
|
||||||
|
--------
|
||||||
|
|
||||||
|
INHERITS: You can make writing themes easier on yourself by using the
|
||||||
|
"inherits" setting. This sets all the settings to be the same as the
|
||||||
|
inherited theme unless you change it. So you only need to set the
|
||||||
|
settings you want to change!
|
||||||
|
|
||||||
|
When specifying file locations, you use the term "$path" to represent
|
||||||
|
the path to the current theme. The program will automatically
|
||||||
|
subtitute the correct location.
|
||||||
|
|
||||||
|
A note about styles:
|
||||||
|
|
||||||
|
PC3.14 uses Qt's Stylesheets. That means that there are several
|
||||||
|
options in the style file that use CSS-like options. Most CSS options
|
||||||
|
are actually available in these settings. See this page for details
|
||||||
|
about Qt's stylesheets:
|
||||||
|
|
||||||
|
http://doc.qt.nokia.com/latest/stylesheet.html
|
||||||
|
|
||||||
|
and here for how CSS works:
|
||||||
|
|
||||||
|
http://www.w3schools.com/css/default.asp
|
||||||
|
|
||||||
|
If you know CSS, note that there is no cascading or need to type in
|
||||||
|
tag names. The program does this for you.
|
||||||
|
|
||||||
|
CSS values are like this:
|
||||||
|
|
||||||
|
background:#000000; font: bold;
|
||||||
|
|
||||||
|
with name:value; separated by ";".
|
||||||
|
|
||||||
|
NOTE that if you change a style from a theme you inherited, you MUST
|
||||||
|
put in all the options the old style had if you want to keep them!
|
||||||
|
|
||||||
|
I'll go over some of the most commonly used options in styles:
|
||||||
|
|
||||||
|
background-color: Self-explanatory. A note, though: colors can be
|
||||||
|
color names ("black"), standard HTML colors ("#000000") or rgba
|
||||||
|
(red, green, blue, alpha) values ("rgba(0, 34, 151, 75%)").
|
||||||
|
|
||||||
|
background-image: Sets the background image to be this image. You
|
||||||
|
specify the location of the image by using "url(location)". So it
|
||||||
|
could be: "url($path/background.png)".
|
||||||
|
|
||||||
|
background-repeat: Sets how the background should repeat if the area
|
||||||
|
is larger than the image. Values are repeat-x, repeat-y, repeat, and
|
||||||
|
no-repeat.
|
||||||
|
|
||||||
|
border: Sets the border of the item. Should be in the form "Xpx style
|
||||||
|
color". Example: "border: 2px solid black;" See reference for styles.
|
||||||
|
|
||||||
|
border-top/right/left/bottom: You can specify values for individual
|
||||||
|
borders the same way by using these. Example: "border-right: 1px solid
|
||||||
|
#ffff00;"
|
||||||
|
|
||||||
|
border-image: This one is complicated. Basically it's a good way of
|
||||||
|
having a resizable image with borders. See this page for a good
|
||||||
|
tutorial: http://www.lrbabe.com/sdoms/borderImage/
|
||||||
|
|
||||||
|
border-radius: Set this to a certain pixel length to get a rounded
|
||||||
|
border. Example: "border-radius: 4px;"
|
||||||
|
|
||||||
|
color: The color to make text. Example: "color: #ff0000;"
|
||||||
|
|
||||||
|
font: A shortcut. You can specify most different font properties from
|
||||||
|
this setting. Read on...
|
||||||
|
|
||||||
|
font-family: A string representing the font name. Be careful as
|
||||||
|
everyone's computer may not have the same fonts! Popular fonts like
|
||||||
|
"Arial" are fine. Example: "font-family: 'Arial';" Don't forget the
|
||||||
|
quotes!
|
||||||
|
|
||||||
|
font-size: A font's size in pixels. Example: "font-size: 12px;"
|
||||||
|
|
||||||
|
font-style: Basically italic or not. Example: "font-style: italic;"
|
||||||
|
|
||||||
|
font-weight: Basically bold or not. Example: "font-weight: bold;"
|
||||||
|
|
||||||
|
margin: Sets the amount of space between this object and other
|
||||||
|
objects. This is really only useful in memo and conversation
|
||||||
|
settings. You can set individual margins for right/left/top/bottom
|
||||||
|
by margin-top/left/right/bottom. Examples: "margin-top: 15px;" "margin:
|
||||||
|
5px;"
|
||||||
|
|
||||||
|
max/min-height/width: Sets the maximum/minimum height/width for something.
|
||||||
|
|
||||||
|
padding: Same thing as margin, kinda... basically this sets the space
|
||||||
|
between the outside of the box and the stuff inside it. See
|
||||||
|
http://doc.qt.nokia.com/latest/stylesheet-customizing.html#the-box-model
|
||||||
|
for more detail.
|
||||||
|
|
||||||
|
selection-color: The color of the text when an item is
|
||||||
|
selected. Example: "selection-color: black;"
|
||||||
|
|
||||||
|
selection-background-color: The color of the background of an item
|
||||||
|
when it is selected. Example: "selection-background-color: white;"
|
||||||
|
|
||||||
|
text-align: Centers, left-justifies, and right-justifies
|
||||||
|
text. Example: "text-align: center;"
|
||||||
|
|
||||||
|
--------
|
||||||
|
|
||||||
|
A note about sizes and coordinates:
|
||||||
|
|
||||||
|
Wherever it says "size", Pesterchum expects a value of the form [width,
|
||||||
|
height], where width and height are NUMBERS. No quotes should be
|
||||||
|
involved. Example:
|
||||||
|
|
||||||
|
"size": [232,280]
|
||||||
|
|
||||||
|
Same with coordinates, and with coordinates, they are always the
|
||||||
|
distance away from the top left corner. So [50, 60] would be 50 pixels
|
||||||
|
to the right and 60 pixels down.
|
||||||
|
|
||||||
|
|
||||||
|
OK, onto the main event:
|
||||||
|
|
||||||
|
MAIN
|
||||||
|
----
|
||||||
|
|
||||||
|
"main": { .... }
|
||||||
|
|
||||||
|
This is the section that controls the main chum window.
|
||||||
|
|
||||||
|
"style": Sets the style of the main window (as above). This value will
|
||||||
|
affect other parts of the window. DO NOT put a background image
|
||||||
|
here. You must set that separately; this is necessary to support
|
||||||
|
themes that are not square (e.g. gold xl).
|
||||||
|
|
||||||
|
"background-image": Sets the background image. This will define the
|
||||||
|
shape of your pesterchum! This is your canvas! See the included themes
|
||||||
|
for examples of what background images look like.
|
||||||
|
|
||||||
|
"size": The size of the window. Usually this is the same as the size
|
||||||
|
of your background image.
|
||||||
|
|
||||||
|
"icon": The file name of the image you want to appear in the tray and
|
||||||
|
your taskbar. Example: "icon": "$path/trayicon.png"
|
||||||
|
|
||||||
|
"newmsgicon": The file name of the image that will appear in the tray
|
||||||
|
when you have a new message.
|
||||||
|
|
||||||
|
"windowtitle": The title of the window.
|
||||||
|
|
||||||
|
"close": Category:
|
||||||
|
"image": Location of the image of the "X" button.
|
||||||
|
"loc": The coordinates of the "X" button.
|
||||||
|
Example:
|
||||||
|
"close": {"image": "$path/x.png", "loc": [210,2]}
|
||||||
|
|
||||||
|
"minimize": Category. Same as "close" but for the minimize button.
|
||||||
|
|
||||||
|
"menubar": Category. Contains one element:
|
||||||
|
"style": Style of the main menubar.
|
||||||
|
|
||||||
|
"menu": Category.
|
||||||
|
"style": Style of each individual menu.
|
||||||
|
"menuitem": Affects each menu item on the main menu. Usually used
|
||||||
|
for spacing.
|
||||||
|
"selected": Style information for when you hover over a menu option.
|
||||||
|
"loc": Location of the main menubar.
|
||||||
|
|
||||||
|
"sounds": Category.
|
||||||
|
"alertsound": Path to the alert sound. Should be a wav.
|
||||||
|
"ceasesound": Path to the sound when people cease pestering.
|
||||||
|
|
||||||
|
"menus": Category. This is where you change the text of the menus.
|
||||||
|
"client": Category. The client menu.
|
||||||
|
"_name": The text for the client menu header.
|
||||||
|
(These are self explanatory:)
|
||||||
|
"options"
|
||||||
|
"memos"
|
||||||
|
"userlist"
|
||||||
|
"import"
|
||||||
|
"reconnect"
|
||||||
|
"idle"
|
||||||
|
"exit"
|
||||||
|
"profile": Category. Profile menu.
|
||||||
|
"_name": Text of the profile menu header.
|
||||||
|
"switch"
|
||||||
|
"color"
|
||||||
|
"theme"
|
||||||
|
"block"
|
||||||
|
"quirks"
|
||||||
|
"help": Category. Help menu.
|
||||||
|
"_name": Text of the help menu header
|
||||||
|
"about"
|
||||||
|
"rclickchumlist": Category. Text for right click menus.
|
||||||
|
"pester"
|
||||||
|
"removechum"
|
||||||
|
"blockchum"
|
||||||
|
"addchum"
|
||||||
|
"unblockchum"
|
||||||
|
"banuser"
|
||||||
|
"opuser"
|
||||||
|
"quirksoff"
|
||||||
|
|
||||||
|
"chums": Category. Creates your chumroll, where all the users are. All
|
||||||
|
of them.
|
||||||
|
|
||||||
|
"style": Style for the chumroll
|
||||||
|
"loc": Location of the chumroll
|
||||||
|
"size": Size of the chumroll
|
||||||
|
"userlistcolor": Default text color of the users
|
||||||
|
"moods": Category. Contains a list of mood icons and colors; when a
|
||||||
|
user has that mood, their handle will appear with that icon and text
|
||||||
|
color. Basically follows the form "mood": { "icon": "$path/file.png", "color": "colorname" }
|
||||||
|
Moods are:
|
||||||
|
"chummy", "rancorous", "offline", "pleasant", "distraught",
|
||||||
|
"pranky", "smooth", "mystified", "amazed", "insolent", "bemused",
|
||||||
|
"ecstatic", "relaxed", "discontent", "devious", "sleek",
|
||||||
|
"detestful", "mirthful", "manipulative", "vigorous", "perky",
|
||||||
|
"acceptant", "protective", "blocked"
|
||||||
|
(Note: blocked is not technically a "mood", but the icon is used
|
||||||
|
when you block someone.)
|
||||||
|
|
||||||
|
"trollslum": Category. The settings for the trollslum.
|
||||||
|
"style": Style for the trollslum.
|
||||||
|
"size": Size of the window.
|
||||||
|
"label": Category. Sets the label of the trollslum.
|
||||||
|
"style": Style of the label.
|
||||||
|
"text": The text displayed.
|
||||||
|
"chumroll": Category.
|
||||||
|
"style": Sets the style for the list of users.
|
||||||
|
|
||||||
|
"mychumhandle": Category. Settings for the text label, the user's
|
||||||
|
current handle, and color swatch.
|
||||||
|
"label": Category.
|
||||||
|
"text": Text of label indicating chumhandle.
|
||||||
|
"loc": Location of label.
|
||||||
|
"style": Style of label.
|
||||||
|
"handle": Category. User's current handle.
|
||||||
|
"style": Style of handle.
|
||||||
|
"loc": Location of handle.
|
||||||
|
"size": Size of handle.
|
||||||
|
"colorswatch": Category. Color swatch.
|
||||||
|
"loc": Location of swatch.
|
||||||
|
"size": Size of swatch.
|
||||||
|
"text": Text displayed inside swatch.
|
||||||
|
"currentmood": Location of icon of user's current mood.
|
||||||
|
|
||||||
|
"defaultwindow": Category.
|
||||||
|
"style": Style of the default window. (Quirks, profile changer,
|
||||||
|
etc)
|
||||||
|
|
||||||
|
"addchum": Category. Add chum button.
|
||||||
|
"style": Style of button.
|
||||||
|
"pressed": Style of button when pressed down.
|
||||||
|
"loc": Location of button.
|
||||||
|
"size": Size of button.
|
||||||
|
"text": Text of button.
|
||||||
|
The same attributes apply for these categories:
|
||||||
|
"pester": Button to pester selected user.
|
||||||
|
"block": Button to block selected user.
|
||||||
|
|
||||||
|
"defaultmood": Default mood of this theme.
|
||||||
|
"moodlabel": Category. Text label indicating mood buttons.
|
||||||
|
"style": Style of label.
|
||||||
|
"loc": Location of label.
|
||||||
|
"text": Text of label.
|
||||||
|
|
||||||
|
"moods": OK this can get complicated. Basically this is a list of
|
||||||
|
categories, one for each mood button present in the interface. You
|
||||||
|
make a list like this example:
|
||||||
|
|
||||||
|
"moods": [{"style": "", "option": "value"}, {"style": "", "option": "value"}]
|
||||||
|
|
||||||
|
The square brackets are important!
|
||||||
|
Anyway, for each mood, here are the possible settings:
|
||||||
|
"style": Style of the mood button.
|
||||||
|
"selected": Style of the mood button when selected.
|
||||||
|
"loc": Location of the mood button.
|
||||||
|
"size": Size of the mood button.
|
||||||
|
"text": Text displayed on the mood button.
|
||||||
|
"icon": Path to icon displayed on the mood button.
|
||||||
|
"mood": Mood # of the button. See mood numbers -> mood names index
|
||||||
|
at the end of this document.
|
||||||
|
|
||||||
|
CONVO SECTION
|
||||||
|
-------------
|
||||||
|
|
||||||
|
{"main": { ... },
|
||||||
|
"convo": { ... }
|
||||||
|
|
||||||
|
This controls the conversation windows.
|
||||||
|
|
||||||
|
"style": Style of the conversation window. Only affects the main
|
||||||
|
window; does not cascade to the other parts.
|
||||||
|
"scrollbar": Category. This item is OPTIONAL. It can be a little
|
||||||
|
complicated: if you add this item, you MUST specify ALL of the
|
||||||
|
settings yourself. If you don't add this item, it will use default
|
||||||
|
system scrollbars. If you are inheriting a theme that does have
|
||||||
|
scrollbar customization and you want to remove it, enter "scrollbar: null".
|
||||||
|
|
||||||
|
Anyway, onto the scrollbar options:
|
||||||
|
"style": General style of whole scrollbar.
|
||||||
|
"handle": Style for the handle of the scrollbar.
|
||||||
|
"downarrow": Style for the down arrow.
|
||||||
|
"darrowstyle": Generally this is where you set the image of the
|
||||||
|
down arrow with "image:url($path/downarrow.png)".
|
||||||
|
"uparrow": Same as down arrow.
|
||||||
|
"uarrowstyle": Same as darrowstyle but for up arrow.
|
||||||
|
|
||||||
|
"margins": Category. Sets the margins around the contents of the
|
||||||
|
conversation window.
|
||||||
|
"top": Top margin
|
||||||
|
"bottom", "left", "right"
|
||||||
|
|
||||||
|
"size": Initial size of the conversation window.
|
||||||
|
"chumlabel": Category. The part that says who youre chatting with.
|
||||||
|
"style": Style for the chumlabel.
|
||||||
|
"align": Category.
|
||||||
|
"h": Horizontal alignment
|
||||||
|
"v": Vertical alignment
|
||||||
|
"minheight": The minimum height the chum label can be.
|
||||||
|
"maxheight": The tallest the chum label can be.
|
||||||
|
"text": The text of the label. Use $handle to represent the name
|
||||||
|
of the person you're talking to. Example: ":: $handle ::"
|
||||||
|
|
||||||
|
"textarea": Category. The window with the pesterlog in it.
|
||||||
|
"style": Style of the window.
|
||||||
|
|
||||||
|
"input": Category. The place where you type.
|
||||||
|
"style": Style of the input area.
|
||||||
|
|
||||||
|
"tabwindow": Category. The window that holds the tabs.
|
||||||
|
"style": Style of the window.
|
||||||
|
|
||||||
|
"tabs": Category. Style of the tabs in tabbed conversation.
|
||||||
|
"style": Style of the tabs.
|
||||||
|
"selectedstyle": Style of the currently selected tabs.
|
||||||
|
"newmsgcolor": The color the text should turn when you get a new
|
||||||
|
msg.
|
||||||
|
"tabstyle": Usually 0. See the Qt Stylesheets for more
|
||||||
|
information.
|
||||||
|
|
||||||
|
"text": Category. Flavor text for system messages. In the following
|
||||||
|
examples, the text in all caps will be replaced with these values:
|
||||||
|
"beganpester": "<user> BEGAN PESTERING <you> at <time>"
|
||||||
|
"ceasepester": "<user> CEASED PESTERING <you> at <time>"
|
||||||
|
"blocked": "<user> BLOCKED <user>"
|
||||||
|
"unblocked": "<user> UNBLOCKED <user>"
|
||||||
|
"blockedmsg": "<user> DID NOT RECEIVE MESSAGE FROM <you>"
|
||||||
|
"openmemo": "<user> OPENED MEMO ON BOARD <memo>"
|
||||||
|
"joinmemo": "<user> RESPONDED TO MEMO <memo>"
|
||||||
|
"closememo": "<user> CEASED RESPONDING TO MEMO"
|
||||||
|
"kickedmemo": "YOU HAVE BEEN BANNED FROM THIS MEMO!"
|
||||||
|
"idle": "<user> IS NOW AN IDLE CHUM!"
|
||||||
|
|
||||||
|
"systemMsgColor": The color of system messages.
|
||||||
|
|
||||||
|
MEMOS SECTION
|
||||||
|
------------
|
||||||
|
|
||||||
|
{"main": { .... }
|
||||||
|
"convo": { .... }
|
||||||
|
"memos": { .... }
|
||||||
|
|
||||||
|
This controls the memos. It is almost identical to conversations,
|
||||||
|
with a few additions.
|
||||||
|
|
||||||
|
"style": Same as convos.
|
||||||
|
"size": Same as convos.
|
||||||
|
"tabs": Same as convos.
|
||||||
|
"scrollbar": Same as convos.
|
||||||
|
"label": Same as convos.
|
||||||
|
"input": Same as convos.
|
||||||
|
"textarea": Same as convos.
|
||||||
|
"margins": Same as convos.
|
||||||
|
"userlist": Category. The list of users currently in the memo.
|
||||||
|
"width": Width.
|
||||||
|
"style": Style of the userlist.
|
||||||
|
"time": Category. The time slider area.
|
||||||
|
"text": Category.
|
||||||
|
"width": Width of time text.
|
||||||
|
"style": Style of time text.
|
||||||
|
"slider": Category. Time slider.
|
||||||
|
"style": Style of slider.
|
||||||
|
"groove": Style of the groove of the slider.
|
||||||
|
"handle": Style of the handle of the slider.
|
||||||
|
"buttons": Category. Controls the time buttons.
|
||||||
|
"style": Style of the buttons.
|
||||||
|
"arrows": Category. Controls the time arrows.
|
||||||
|
"left": Path to image of left arrow.
|
||||||
|
"right" Path to image of right arrow.
|
||||||
|
"style": Style of arrow boxes.
|
||||||
|
|
||||||
|
"systemMsgColor": Color of system messges.
|
||||||
|
"op": Category.
|
||||||
|
"icon": Icon that is shown next to the ops of the memo in the userlist.
|
||||||
|
|
||||||
|
Number -> Mood List
|
||||||
|
-------------------
|
||||||
|
0: "chummy"
|
||||||
|
1: "rancorous"
|
||||||
|
2: "offline"
|
||||||
|
3: "pleasant"
|
||||||
|
4: "distraught"
|
||||||
|
5: "pranky"
|
||||||
|
6: "smooth"
|
||||||
|
7: "ecstatic"
|
||||||
|
8: "relaxed"
|
||||||
|
9: "discontent"
|
||||||
|
10: "devious"
|
||||||
|
11: "sleek"
|
||||||
|
12: "detestful"
|
||||||
|
13: "mirthful"
|
||||||
|
14: "manipulative"
|
||||||
|
15: "vigorous"
|
||||||
|
16: "perky"
|
||||||
|
17: "acceptant"
|
||||||
|
18: "protective"
|
||||||
|
19: "mystified"
|
||||||
|
20: "amazed"
|
||||||
|
21: "insolent"
|
||||||
|
22: "bemused"
|
Loading…
Reference in a new issue