Compare commits

..

211 Commits

Author SHA1 Message Date
de1a2a7b33 Version bump 2012-10-14 00:58:54 +02:00
bc4d4f6536 Fix misspelled words 2012-10-13 22:55:35 +02:00
84c536e4ea Compatibility for Automake 1.12.4+ 2012-10-13 22:26:35 +02:00
4482f8d1f5 Cosmetics 2012-10-13 20:59:52 +02:00
68e795a595 Accept license agreement by default 2012-10-13 18:55:43 +02:00
c01ee90ef6 Provide builtin defauls for treeview icons 2012-10-13 15:31:25 +02:00
f7013f70a5 By default, use pure white background color and use background color for UI elements 2012-10-13 14:13:58 +02:00
cf78762b69 Some HexChat-Text rebranding work left 2012-10-13 13:05:01 +02:00
b67b223c26 Add option to omit alerts when marked as being away 2012-10-13 12:38:01 +02:00
0ec02c13c7 Make beep consistent with other alerts 2012-10-13 11:53:39 +02:00
05b6e0b330 By default, use <config>/downloads for DCC file transfers when in portable mode 2012-10-13 10:49:29 +02:00
dfd4828ad2 Fix opening folders in portable mode 2012-10-13 10:26:32 +02:00
6f1185c00e get_xdir_fs() cleanup 2012-10-13 10:14:34 +02:00
ca3fa043f0 Save URLs to disk on-the-fly and provide an option for toggling it 2012-10-13 10:03:39 +02:00
d4f3738ca8 This does not belong here 2012-10-13 08:45:41 +02:00
cbd72ff455 Get rid of auto_save, we always want to save 2012-10-13 08:43:57 +02:00
dbef9c9eb4 Speed up Non-BMP filtering 2012-10-13 07:06:38 +02:00
902063d932 Get rid of some hardcoding 2012-10-13 06:17:27 +02:00
d20daad417 Implement /ADDSERVER 2012-10-13 06:03:14 +02:00
de7a4aee31 Make identd check easier to read 2012-10-13 04:25:39 +02:00
b43e567dbf Show user name sent by identd 2012-10-13 04:19:56 +02:00
77fb21c5d5 Merge pull request #142 from RichardHitt/master
Fix "Fix URL Detection"
2012-10-08 13:29:38 -07:00
5f60820eba Fix "Fix URL detection". First-character test in linux should be for
equal, rather than not-equal.  If first character is a slash return
WORD_PATH.
2012-10-08 12:20:11 -07:00
8df11c030c Fix Wikipedia URL detection - URLs inside parentheses won't work 2012-10-07 13:27:44 +02:00
59f32ccb3a Fix URL detection 2012-10-07 03:00:52 +02:00
b4e78e0455 Add SSL port to freenode 2012-10-06 16:49:11 +02:00
86596d080d Add Fusion Latina and IRCHighWay 2012-10-06 16:44:31 +02:00
151bee59f0 Update NSS-WDK patch for NSS 3.13.6 2012-10-06 01:14:51 +02:00
3b8d2aeca8 Fix mpcInfo-xp not using the WDK toolset 2012-10-05 12:21:08 +02:00
003fa2dcc5 Ignore Mono built HTM 2012-10-05 01:17:31 +02:00
89bee16e56 Version bump 2012-10-05 00:41:53 +02:00
2f09db1d4f Fix operator precedence oversight (AND vs OR) 2012-10-05 00:30:35 +02:00
afe16e7bb7 Nasty copy-paste problem 2012-10-05 00:24:21 +02:00
fb2413793c Install SASL plugin by default 2012-10-05 00:16:37 +02:00
aaa19466d6 Add Mono project for HTM 2012-10-04 23:44:55 +02:00
02fd5a2aff Enable timestamps by default and change default format to include seconds 2012-10-04 22:12:14 +02:00
24de2899ec Add libwimp and libpixmap makefiles, don't work yet though 2012-10-04 21:41:20 +02:00
ae2cfa16d9 Add project for generating text events 2012-10-04 21:07:26 +02:00
3b19fe1374 Generate a new upgrade code for vs2012 platform toolset so that both can be installed simultaneously 2012-10-04 20:33:23 +02:00
82debac62d No registry keys for WDKPT 2012-10-04 20:24:16 +02:00
7bbe6d4eab Provide sources for both platform toolset 2012-10-04 20:15:23 +02:00
cc903db727 Add scripts for building the spelling dictionaries SFX 2012-10-04 19:57:15 +02:00
5af19dfb64 Remove unused references 2 (TingPing) 2012-10-04 19:03:09 +02:00
ff6e1ef94a Remove unused references (TingPing) 2012-10-04 19:02:36 +02:00
2ea1b492d5 Merge pull request #102 from Arnavion/allow-configure-libproxy
Allow user to enable or disable libproxy support explicitly
2012-10-04 07:22:04 -07:00
33e0840294 Add support for backslash as drive root for full path logs 2012-10-04 15:42:44 +02:00
df6e3fd953 Add note about special folder 2012-10-04 14:53:55 +02:00
723486913f Fix HTM config dir handling both on Windows and Unix 2012-10-04 14:51:00 +02:00
94c525eee9 Fix for erroneous full path check 2012-10-03 23:18:10 +02:00
e5b230b0cd Fix WinSys compilation without WDK 2012-10-03 21:13:05 +02:00
b797a899c8 Use multiprocessor compilation for GTK+, otherwise it's waaay too slow 2012-10-03 21:00:32 +02:00
288e0ccbdd Fix the remaining path breakages after the downgrade 2012-10-03 20:51:44 +02:00
981c7b9482 Now really finish the reversion 2012-10-03 18:54:15 +02:00
018e32e693 Nuke the remnants of the nonbmp plugin 2012-10-03 18:29:22 +02:00
90db7e85c2 Complete the VS2010 reversion 2012-10-03 18:26:48 +02:00
8131d66da7 Unified copy for xp solution too 2012-10-03 18:23:03 +02:00
f039a4264d Fix solution versions 2012-10-03 17:54:06 +02:00
12c7600024 Get rid of useless .exp files 2012-10-03 16:35:10 +02:00
4b699210bd Move license files to share\doc 2012-10-03 16:31:24 +02:00
73282c2d6c Fix libxml2 path according to VS downgrade 2012-10-03 15:49:06 +02:00
5b8491846d Fix platform toolset for certain projects in legacy solution 2012-10-03 13:52:31 +02:00
da46225034 Revert to VS2010 part4 2012-10-03 13:50:31 +02:00
9fd15ec990 Revert to VS2010 part3 2012-10-03 13:46:24 +02:00
ae602d4428 Revert to VS2010 part2 2012-10-03 13:36:07 +02:00
e2c532c679 Revert to VS2010 part1 2012-10-03 13:29:56 +02:00
822715856e Update GIMPNet name and servers 2012-10-03 11:29:59 +02:00
a3b2a203e7 Update default URL grabber limit 2012-10-02 22:03:15 +02:00
c80858f919 Merge pull request #115 from RichardHitt/master
Fix memory leak related to url grabbing
2012-10-02 13:02:17 -07:00
6e3efe2622 Remove another WDK-only thing 2012-10-02 20:43:14 +02:00
0986891a66 Add NLS to GTK+ 2012-10-02 20:38:08 +02:00
ca65aa7edc Fix copying 2012-10-02 20:11:52 +02:00
3cca76f051 Fix build path 2012-10-02 19:47:07 +02:00
3b38ad4d80 Fix NLS generation 2012-10-02 19:46:57 +02:00
d5b272b0c8 These directives were only required for the WDK 2012-10-02 19:38:07 +02:00
ccd2fd6c77 Update dependency extractor scripts 2012-10-02 19:17:48 +02:00
caa270922f Fix release path for HTM, C# projects don't support property sheets to use a separate xp project instead 2012-10-02 18:47:03 +02:00
1d7773f735 Use explicit project names, output filenames depend on them 2012-10-02 18:40:23 +02:00
e9e0c59065 Fix intl lib name for xp solution 2012-10-02 18:33:30 +02:00
78cbceee4e Remove the last 2 remnants too 2012-10-02 18:29:11 +02:00
63a47f0135 Update old xp copy project too 2012-10-02 18:26:34 +02:00
9b5766c46b Update gitignore to reflect recent changes 2012-10-02 18:22:29 +02:00
de70630cef Oops, wrong find'n'replace 2012-10-02 18:21:16 +02:00
75fa95d3a3 Fix xp deps path 2012-10-02 18:16:18 +02:00
567270d5a7 Remove hardcoding as much as possible 2012-10-02 18:15:49 +02:00
24aad3fecf Move copy part to property sheet part 1 2012-10-02 16:42:06 +02:00
c342b29f77 Use new GTK+ path and fix intl lib name 2012-10-02 16:06:29 +02:00
ab2d0b736c Change platform toolset to Visual Studio 2012 2012-10-02 16:05:20 +02:00
a57a7d3f88 Add XP (WDK) solution as a fallback option 2012-10-02 16:00:13 +02:00
47193043a7 Add Enchant build scripts 2012-10-02 14:35:59 +02:00
149dc70821 Add GTK+ solution and release scripts 2012-10-02 13:53:54 +02:00
42c523bf3c Pango depends on HarfBuzz after 1.30.x 2012-10-02 13:04:56 +02:00
0a68629dae Add Pango solution and release scripts 2012-10-02 12:59:27 +02:00
93039b3305 Remove unistd.h stub 2012-10-02 10:59:46 +02:00
189e4168cb Fix Fontconfig unistd.h inclusion 2012-10-02 10:54:19 +02:00
94ad6dc012 Add cairo solution, release scripts and patches 2012-10-02 10:26:01 +02:00
2d2afd9a59 Add license for libpng releases 2012-10-02 10:12:37 +02:00
f22979bafb Cosmetics 2012-10-02 10:02:57 +02:00
62903cd171 Fix memory leak related to url grabbing 2012-10-01 12:53:25 -07:00
9c3ea36483 Add Pixman solution and release scripts 2012-10-01 16:25:02 +02:00
f618f914cd Use win-iconv for Fontconfig 2012-10-01 15:43:19 +02:00
5a5c1798aa Add Fontconfig release scripts 2012-10-01 14:08:20 +02:00
67c9bdb289 This is not required anymore, Fontconfig depends on libxml2 already 2012-10-01 10:42:01 +02:00
1694825ed8 Expat can be replaced with libxml2, 1 dependency less 2012-10-01 10:40:27 +02:00
77f953364d Add Fontconfig solution 2012-10-01 10:38:44 +02:00
73008387e8 Add GDK-PixBuf solution and release scripts 2012-09-30 22:22:49 +02:00
db88a34c52 Cosmetics 2012-09-30 22:22:26 +02:00
6637e3c922 Add missing includes to distribution 2012-09-30 22:12:02 +02:00
e7e0eda15b Add suffix for GLib DLLs 2012-09-30 21:41:46 +02:00
d6c13e0f89 Add ATK solution and release scripts 2012-09-30 21:41:34 +02:00
f8c7152785 Add GLib solution and release scripts 2012-09-30 20:16:39 +02:00
d168882a32 Add libpng solution and release scripts 2012-09-30 19:33:46 +02:00
b192eecee2 Note to self 2012-09-30 18:08:52 +02:00
b451ebc94f Add libffi build scripts and patch for borked mozilla-build script 2012-09-30 18:04:45 +02:00
5873bf9e5d Add OpenSSL build scripts 2012-09-30 17:20:18 +02:00
ab9b121ff5 Fix path for deps 2012-09-30 16:59:11 +02:00
08634733d2 Move stuff to mozilla-build, OpenSSL and GTK+ don't like spaces 2012-09-30 16:55:32 +02:00
19fdfa14df Add Lua build scripts 2012-09-30 15:45:34 +02:00
70cd723e2c Merge pull request #108 from TingPing/python
Use proper version number for python module attribute
2012-09-29 06:16:48 -07:00
8fc45171c5 Use proper version number for module attribute 2012-09-29 02:55:33 -03:00
ce75a6034f Limit the number of URLs to keep and add GUI options for it 2012-09-29 01:54:11 +02:00
dd7a82e3b2 Enchant depends on GLib 2012-09-29 00:36:08 +02:00
064b020424 Pixman already depends on libpng 2012-09-28 23:04:03 +02:00
b3d00a8dc0 Add gettext-runtime build scripts and patches 2012-09-28 22:27:58 +02:00
179a1db89a Copy-paste is bad 2012-09-28 22:10:20 +02:00
9818573975 Add libxml2 solution and release scripts 2012-09-28 21:01:59 +02:00
cd832c048f Pixman depends on libpng 2012-09-28 20:29:27 +02:00
94289ca5f7 libxml2 depends on win-iconv 2012-09-28 20:06:48 +02:00
5f8ab3ce13 It's actually called libxml2 2012-09-28 19:52:01 +02:00
d3ceaa723d Add FreeType solution and release scripts 2012-09-28 19:41:56 +02:00
50bf1b5959 Add Expat solution and release scripts 2012-09-28 18:53:53 +02:00
f816bd4d71 Add win-iconv build scripts 2012-09-28 18:05:49 +02:00
b783207bca Remove package before creating a new one 2012-09-28 18:05:33 +02:00
7d0a175dc2 Some more zlib cosmetics and x64 build script 2012-09-28 17:19:49 +02:00
a6c7598a2f Fix zlib license file name 2012-09-28 17:17:09 +02:00
2ea5dc60d5 zlib build script cosmetics 2012-09-28 17:16:48 +02:00
a738892ad1 Add zlib build script 2012-09-28 13:41:21 +02:00
00fbf43584 KISS! 2012-09-28 01:48:42 +02:00
a07011007f Save URL lists in config dir by default 2012-09-28 01:04:53 +02:00
2f237427ee Add dependency graph 2012-09-25 17:01:39 +02:00
2c2419f230 Add strlcat() and strlcpy(), might convert to them in the future 2012-09-24 02:39:52 +02:00
3f9c918b86 Allow user to enable or disable libproxy support explicitly using --enable-libproxy or --disable-libproxy 2012-09-24 07:35:50 +08:00
ba0bcc9214 Update Python and Perl descriptions 2012-09-23 23:45:15 +02:00
198e913ea9 Get rid of some useless notes 2012-09-23 23:37:04 +02:00
f586659f00 HexChat does run on Windows 2012-09-23 23:32:25 +02:00
5112e1b669 Add 2 new networks and fix some sorting 2012-09-23 23:17:20 +02:00
60696af03d Fix syntax error, remove extra parenthesis 2012-09-22 22:09:38 +02:00
10e6774f0e Allow full path for logs, actually it can be determined quite reliably 2012-09-22 22:03:42 +02:00
bc7eac560f Force relative path for logs, for full path you can still use symlinks anyway 2012-09-22 20:32:52 +02:00
cc694ad473 Merge pull request #98 from blasphemy/Ignore
no highlights for some more annoying nicks
2012-09-22 09:44:42 -07:00
4d47120863 AC_MSG_RESULT cleanup up part 3 (Arnavion) 2012-09-22 17:36:38 +02:00
f1c978475c AC_MSG_RESULT cleanup part 2 2012-09-22 17:15:57 +02:00
5009ceb190 PKG_CHECK_MODULES displays the output automatically, omit AC_MSG_RESULT (Arnavion) 2012-09-22 16:49:10 +02:00
0515aabc66 Merge pull request #96 from Arnavion/fix-broken-defines
Broken #defines after autoconf + configure due to misbehaving AS_AC_EXPAND macro
2012-09-22 07:12:44 -07:00
55ae7ed0f2 no highlights for some more annoying nicks 2012-09-21 14:59:50 -04:00
241e3bf566 Some rebranding work left 2012-09-20 22:47:44 +02:00
e6a0532fc2 On my system (openSUSE 12.2 / GNU bash, version 4.2.24(1)-release (x86_64-suse-linux-gnu) ), the shell doesn't like that the '=' character in 'if test...' doesn't have spaces around it. This causes the test to always be true, and thus the AS_AC_EXPAND macro only expands once. This led to two #define's in config.h containing broken values: HEXCHATSHAREDIR and DBUS_SERVICES_DIR. 2012-09-20 22:04:14 +08:00
b6ba409bce Open links with just left click by default 2012-09-16 11:53:19 +02:00
12294a3729 Fix indentation and update platform toolset installer 2012-09-16 00:29:22 +02:00
e173eed437 Force 5.x subsystem globally 2012-09-16 00:11:21 +02:00
2fc7047873 Remove "Full" installation option, most people blindly install things they don't need nor know how to use 2012-09-15 23:08:20 +02:00
e3452ce330 Fix filename and generate new product code for the new platform toolset 2012-09-15 22:15:53 +02:00
6942d2b4b1 Update solution to Visual Studio 2012 Express and get rid of mpcInfo 2012-09-15 21:52:47 +02:00
94065e3fe0 Update platform toolset installer too 2012-09-15 20:40:37 +02:00
dc6a9bc5b3 Update platform toolsets for Visual Studio 2012 2012-09-15 20:31:07 +02:00
50d287a12d Disable running WHO after joining channel by default 2012-09-15 01:50:59 +02:00
28b7ba80e9 Move python docs 2012-09-14 17:02:49 +02:00
ce4bb62df7 Merge pull request #94 from TingPing/python
Added Python Documentation
2012-09-14 07:57:23 -07:00
a223437189 Updated Python Docs 2012-09-14 09:01:28 -04:00
8eac2f0147 Added Python Documentation 2012-09-14 08:06:22 -04:00
78419d5ab3 Merge pull request #92 from TingPing/python
Added pluginpref to the python plugin.
2012-09-13 07:28:08 -07:00
eace2397e6 Reorganized if statement. 2012-09-13 02:19:53 -04:00
db4b665cd3 bumped python plugin version. 2012-09-13 02:00:36 -04:00
f7a227c488 Added pluginpref to the python plugin. 2012-09-13 01:56:47 -04:00
4d63830f66 Add EsperNet - the server list really needs a rewrite btw, IFDEFs are ugly 2012-09-09 14:36:21 +02:00
8cf6d493c6 Fix unchecked malloc 2012-09-05 11:44:52 +02:00
6e5c314e61 Don't make a numeric equation between chars (openSUSE) 2012-09-02 18:08:25 +02:00
511e72d936 README cosmetics 2012-09-02 13:32:08 +02:00
279009bb20 Consistency for the other Advanced pane too 2012-09-02 04:46:48 +02:00
d754200b42 Merge pull request #68 from RichardHitt/master
Enhance LASTLOG to use gtk_xtext_search_textentry()
2012-09-01 13:29:11 -07:00
1a102d9bff Some more consistency for variable names 2012-09-01 21:43:19 +02:00
4627b05089 Be consistent in Preferences 2012-09-01 21:40:56 +02:00
4f887a1e53 Consolidate color stripping for messages, topic and scrollback 2012-09-01 21:38:00 +02:00
fb00928c9d Add Chat4all network 2012-09-01 17:01:01 +02:00
c563d70aed Make sure HexChat won't run in portable mode if the user doesn't select it 2012-09-01 16:50:48 +02:00
c1dde82389 Make gtkrc a component so that users can preserve their theme settings between upgrades 2012-09-01 16:32:50 +02:00
a6f9b6d5a4 Add Unifont to the default list of alternative fonts 2012-09-01 16:12:40 +02:00
ed034bf80a Enhance LASTLOG to use gtk_xtext_search_textentry() 2012-08-28 19:10:03 -07:00
b7f5f045c6 Fix linking against gmodule 2012-08-23 16:27:34 +02:00
2ca267d1c8 Merge pull request #43 from flotwig/patch-4
reordered snoo because i dunno my ABC's
2012-08-05 23:38:03 -07:00
868408ff3d reordered snoo because i dunno my ABC's 2012-08-06 00:22:25 -03:00
c707be1f70 Merge pull request #42 from flotwig/patch-3
added Snoonet, 600+ user net
2012-08-05 20:10:51 -07:00
9279a470db fixen snoonet ssl 2012-08-06 00:05:51 -03:00
7bff15a31a Merge pull request #41 from flotwig/patch-2
fixed ban message to reflect the correct channel
2012-08-05 19:54:48 -07:00
3518486a89 added Snoonet, 600+ user net 2012-08-05 23:51:24 -03:00
74c143a8b7 fixed ban message to reflect the correct channel 2012-08-05 23:48:24 -03:00
6b383ec134 Avoid inline declarations 2012-08-01 20:12:47 +02:00
c401817d51 Load custom icons from <config>/icons 2012-08-01 19:49:12 +02:00
ea96ffc154 Fix port number for EntropyNet 2012-07-31 11:44:14 +02:00
27227d54c7 Add Windfyre to the Network List 2012-07-31 11:41:07 +02:00
ec2b68bb98 Add EntropyNet to the Network List 2012-07-31 11:38:08 +02:00
6a5c089728 Remove dead networks from the Network List 2012-07-31 11:33:15 +02:00
08a3bb537b Merge pull request #31 from Joah/master
Update src/common/servlist.c with AlphaChat IRC Network
2012-07-31 01:48:36 -07:00
0242b706e0 Use 6697 for SSL connections by default
http://blog.freenode.net/2011/02/port-6697-irc-via-tlsssl/
2012-07-31 09:20:20 +02:00
8c3cdb8b06 Update src/common/servlist.c
Added the AlphaChat IRC network (http://www.alphachat.net), a ~300 user network that runs ShadowIRCd and Atheme services with leaves in North America, Europe, Australia, and South Africa.
2012-07-30 21:44:00 -03:00
dd1d5f8e6a Add missing include 2012-07-30 18:48:45 +02:00
303038e24f Use a more appropriate icon in a more appropriate size 2012-07-30 18:45:21 +02:00
835820b2f5 Fix compilation on Red Hat (Phr33d0m) 2012-07-30 16:05:34 +02:00
39fe57d15e Merge pull request #24 from tobbi/master
Typo fixes and more translations for German (de-DE)
2012-07-29 23:39:17 -07:00
43e89281ea Several German fixes and some further translations
Typo fixes and more translations
2012-07-29 22:54:35 +03:00
a891ffe420 Merge pull request #18 from luminoso/patch-1
Update src/common/servlist.c
2012-07-29 03:57:51 -07:00
2421fbc4f2 Update src/common/servlist.c
PTlink Portuguese IRC server is dead for a few years and there is a new server for PTnet.
There is also SSL support and one ipv6-only server, but I'm not sure about the best way to add it to this list.
2012-07-27 18:11:45 +02:00
387 changed files with 61102 additions and 929 deletions

10
.gitignore vendored
View File

@ -31,6 +31,7 @@ src/common/dbus/marshallers.h
src/common/dbus/org.hexchat.service.service
src/common/dbus/remote-object-glue.h
src/fe-gtk/hexchat
src/htm/thememan.exe
stamp-h1
*.a
*.o
@ -44,9 +45,10 @@ plugins/wmpa/wmpa_i.c
src/pixmaps/inline_pngs.h
src/htm/obj/*
win32/build/*
win32/build-xp/*
win32/ipch/*
win32/hexchat.opensdf
win32/hexchat.sdf
win32/hexchat.suo
resource.h
*.user
*.opensdf
*.sdf
*.suo
*.user

View File

@ -10,3 +10,5 @@ icondir = $(datadir)/pixmaps
util_DATA = hexchat.desktop
utildir = $(datadir)/applications
ACLOCAL_AMFLAGS = -I m4

30
README
View File

@ -1,5 +1,5 @@
HexChat README
~~~~~~~~~~~~~
~~~~~~~~~~~~~~
X-Chat ("xchat") Copyright (c) 1998-2010 By Peter Zelezny.
HexChat ("hexchat") Copyright (c) 2009-2012 By Berke Viktor.
@ -14,15 +14,15 @@ HexChat README
What is it?
~~~~~~~~~~~
HexChat is an IRC client for UNIX operating systems. I.R.C. is Internet
Relay Chat, see http://irchelp.org for more information about IRC in
general. HexChat runs on most BSD and POSIX compliant operating systems.
HexChat is an IRC client for Windows and UNIX operating systems. I.R.C. is
Internet Relay Chat, see http://irchelp.org for more information about IRC
in general. HexChat runs on most BSD and POSIX compliant operating systems.
Requirements:
~~~~~~~~~~~~~
* GTK+ 2.10 (this is available at http://www.gtk.org)
* GLib 2.12 (GTK+ 2.10 requires GLib 2.12)
* GTK+ 2.10
* GLib 2.12
HexChat is known to work on, at least:
@ -48,8 +48,11 @@ Notes for packagers:
Python Scripts:
~~~~~~~~~~~~~~~
Scripts for 1.8.x are not compatible, and a brand new interface has be
written. Documentation can be found here: http://xchat.org/docs/.
Scripts for XChat 1.8.x are not compatible, a brand new interface has been
written. The documentation can be found here:
https://github.com/hexchat/hexchat/wiki/Python-Interface
Consider using the Python interface for your scripts, it's a very nice
API, allows for loading/unloading individual scripts, and gives you
almost all the features of the C-Plugin API.
@ -57,8 +60,11 @@ Python Scripts:
Perl Scripts:
~~~~~~~~~~~~~
Perl 5.8 or newer is required.
Scripts for 1.8.x are compatible with the following exceptions:
Perl 5.8 or newer is required. The documentation can be found here:
https://github.com/hexchat/hexchat/wiki/Perl-Interface
Scripts for XChat 1.8.x are compatible with the following exceptions:
* IRC::command will not interpret %C, %B, %U etc.
@ -81,8 +87,8 @@ Perl Scripts:
* Text passed to scripts (via add_message_handler) will be encoded in UTF8.
Autoloading Scripts and Plugins
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Autoloading Scripts and Plugins:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The root of your HexChat config is:
* Windows: %APPDATA%\HexChat

View File

@ -26,7 +26,7 @@ AC_DEFUN([AS_AC_EXPAND],
dnl loop until it doesn't change anymore
while true; do
new_full_var="`eval echo $full_var`"
if test "x$new_full_var"="x$full_var"; then break; fi
if test "x$new_full_var" = "x$full_var"; then break; fi
full_var=$new_full_var
done

View File

@ -7,13 +7,13 @@
#define USE_IPV6
#define HAVE_ISO_CODES
#define PACKAGE_NAME "hexchat"
#define PACKAGE_VERSION "2.9.1"
#define PACKAGE_VERSION "2.9.3"
#define XCHAT_REVISION "1521"
#define HEXCHATLIBDIR "."
#define HEXCHATSHAREDIR "."
#define OLD_PERL
#define GETTEXT_PACKAGE "hexchat"
#define PACKAGE_TARNAME "hexchat-2.9.1"
#define PACKAGE_TARNAME "hexchat-2.9.3"
#ifndef USE_IPV6
#define socklen_t int
#endif

View File

@ -1,12 +1,13 @@
dnl Process this file with autoconf to produce a configure script.
AC_INIT([HexChat],[2.9.1],[http://www.hexchat.org/],[hexchat])
AC_INIT([HexChat],[2.9.3],[http://www.hexchat.org/],[hexchat])
AC_PREREQ([2.60])
AC_COPYRIGHT([Copyright (C) 1998-2010 Peter Zelezny])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_SRCDIR([configure.in])
AC_CONFIG_SRCDIR([configure.ac])
AC_CONFIG_MACRO_DIR([m4])
AM_INIT_AUTOMAKE([1.9 dist-bzip2 subdir-objects no-define])
@ -173,6 +174,11 @@ AC_ARG_ENABLE(ntlm,
[ --enable-ntlm enable Microsoft's NTLM auth (libntlm) library support (default: no)],
ntlm=$enableval, ntlm=no)
AC_ARG_ENABLE(libproxy,
[ --disable-libproxy disable libproxy support (default: auto)],
libproxy=$enableval, libproxy=auto)
dnl *********************************************************************
dnl ** GLIB *************************************************************
dnl *********************************************************************
@ -184,6 +190,7 @@ fi
COMMON_CFLAGS="$GLIB_CFLAGS"
COMMON_LIBS="$GLIB_LIBS"
COMMON_LIBS="$COMMON_LIBS -lgmodule-2.0"
dnl *********************************************************************
dnl ** GTK **************************************************************
@ -460,14 +467,20 @@ dnl *********************************************************************
dnl ** LIBPROXY *********************************************************
dnl *********************************************************************
PKG_CHECK_MODULES([LIBPROXY], [libproxy-1.0], [libproxy=yes], [
AC_MSG_RESULT(no)
if test "x$libproxy" = "xyes" -o "x$libproxy" = "xauto" ; then
PKG_CHECK_MODULES([LIBPROXY], [libproxy-1.0], [
COMMON_LIBS="$COMMON_LIBS $LIBPROXY_LIBS"
COMMON_CFLAGS="$COMMON_CFLAGS $LIBPROXY_CFLAGS"
AC_DEFINE(USE_LIBPROXY)
libproxy=yes
], [
if test "x$libproxy" = "xyes" ; then
AC_MSG_ERROR(Can't find libproxy!)
fi
libproxy=no
])
else
libproxy=no
])
if test "x$libproxy" = "xyes" ; then
COMMON_LIBS="$COMMON_LIBS $LIBPROXY_LIBS"
COMMON_CFLAGS="$COMMON_CFLAGS $LIBPROXY_CFLAGS"
AC_DEFINE(USE_LIBPROXY)
fi
dnl *********************************************************************
@ -579,7 +592,6 @@ dnl #######################################################################
if test "x$dbus" = "xyes" ; then
PKG_CHECK_MODULES(DBUS, [dbus-1 >= 0.60 dbus-glib-1 >= 0.60 gthread-2.0], dbus=yes, [
AC_MSG_RESULT(no)
dbus=no
])
AC_PATH_PROG(DBUS_BINDING_TOOL, dbus-binding-tool, no)
@ -590,9 +602,8 @@ if test "x$dbus" = "xyes" ; then
COMMON_LIBS="$COMMON_LIBS $DBUS_LIBS"
COMMON_CFLAGS="$COMMON_CFLAGS $DBUS_CFLAGS"
AC_DEFINE(USE_DBUS)
AS_AC_EXPAND(DATADIR, $datadir)
DBUS_SERVICES_DIR="$DATADIR/dbus-1/services"
AS_AC_EXPAND(DBUS_SERVICES_DIR, "$datadir/dbus-1/services")
AC_SUBST(DBUS_SERVICES_DIR)
AC_DEFINE_UNQUOTED(DBUS_SERVICES_DIR, "$DBUS_SERVICES_DIR", [Where services dir for DBUS is])
fi
@ -604,7 +615,6 @@ dnl *********************************************************************
if test "x$libnotify" = "xyes" ; then
PKG_CHECK_MODULES(LIBNOTIFY, libnotify >= 0.4, [], [
AC_MSG_RESULT(no)
libnotify=no
])
if test "$libnotify" != "no" ; then
@ -620,7 +630,6 @@ dnl *********************************************************************
if test "$spell" = "gtkspell" ; then
PKG_CHECK_MODULES(GTKSPELL, gtkspell-2.0 >= 2.0.2, [], [
AC_MSG_RESULT(no)
spell=no
])
if test "$spell" != "no" ; then
@ -631,15 +640,15 @@ if test "$spell" = "gtkspell" ; then
fi
if test "$spell" = "libsexy" ; then
PKG_CHECK_MODULES([LIBSEXY], [libsexy >= 0.1.8], libsexy=yes, AC_MSG_RESULT(no))
if test "$libsexy" = "yes" ; then
PKG_CHECK_MODULES([LIBSEXY], [libsexy >= 0.1.8], [
libsexy=yes
GUI_LIBS="$GUI_LIBS $LIBSEXY_LIBS"
GUI_CFLAGS="$GUI_CFLAGS $LIBSEXY_CFLAGS"
AC_DEFINE(USE_LIBSEXY)
else
], [
dnl use builtin static one
spell="static"
fi
])
fi
if test "$spell" = "static" ; then
@ -909,10 +918,10 @@ test "x$exec_prefix" = xNONE && exec_prefix="$prefix"
AC_DEFINE_UNQUOTED(PREFIX, "${prefix}")
HEXCHATLIBDIR=`eval echo ${libdir}/hexchat`
AS_AC_EXPAND(HEXCHATLIBDIR, "${libdir}/hexchat")
AC_DEFINE_UNQUOTED(HEXCHATLIBDIR, "$HEXCHATLIBDIR")
HEXCHATSHAREDIR=`eval echo ${datadir}`
AS_AC_EXPAND(HEXCHATSHAREDIR, "$datadir")
AC_DEFINE_UNQUOTED(HEXCHATSHAREDIR, "$HEXCHATSHAREDIR")
dnl for plugins/xxx/Makefile.am
@ -960,6 +969,7 @@ echo Plugin interface ...... : $plugin
echo NLS/gettext ........... : $USE_NLS
echo IPv6 support .......... : $ipv6
echo MS Proxy NTLM \(ISA\) ... : $have_ntlm
echo libproxy support ...... : $libproxy
echo
echo Perl .................. : $perl
echo Python ................ : $python

View File

@ -6,4 +6,4 @@ lib_LTLIBRARIES = checksum.la
checksum_la_SOURCES = checksum.c
checksum_la_LDFLAGS = -avoid-version -module
checksum_la_LIBADD =
INCLUDES = $(COMMON_CFLAGS) -I$(srcdir)/..
AM_CPPFLAGS = $(COMMON_CFLAGS) -I$(srcdir)/..

View File

@ -0,0 +1,111 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{5EF7F47D-D09C-43C4-BF64-B28B11A0FF91}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>checksum</RootNamespace>
<ProjectName>checksum</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\win32\hexchat-xp.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\win32\hexchat-xp.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<TargetName>hcchecksum</TargetName>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<TargetName>hcchecksum</TargetName>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level1</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;CHECKSUM_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(DepsRoot)\include;$(Glib);..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<ModuleDefinitionFile>checksum.def</ModuleDefinitionFile>
<AdditionalLibraryDirectories>$(DepsRoot)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>$(DepLibs);%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level1</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;_WIN64;_AMD64_;NDEBUG;_WINDOWS;_USRDLL;CHECKSUM_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(DepsRoot)\include;$(Glib);..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<ModuleDefinitionFile>checksum.def</ModuleDefinitionFile>
<AdditionalLibraryDirectories>$(DepsRoot)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>$(DepLibs);%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="checksum.c" />
</ItemGroup>
<ItemGroup>
<None Include="checksum.def" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="checksum.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<None Include="checksum.def">
<Filter>Resource Files</Filter>
</None>
</ItemGroup>
</Project>

View File

@ -21,14 +21,12 @@
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
@ -45,14 +43,14 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<TargetName>hcchecksum</TargetName>
<OutDir>$(SolutionDir)build\$(PlatformName)\bin\</OutDir>
<IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)\</IntDir>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<TargetName>hcchecksum</TargetName>
<OutDir>$(SolutionDir)build\$(PlatformName)\bin\</OutDir>
<IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)\</IntDir>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>

115
plugins/dns/dns-xp.vcxproj Normal file
View File

@ -0,0 +1,115 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{3786FA8C-3E76-45E3-984E-FCCFF44729C9}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>dns</RootNamespace>
<ProjectName>dns</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\win32\hexchat-xp.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\win32\hexchat-xp.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<TargetName>hcdns</TargetName>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<TargetName>hcdns</TargetName>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level1</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;DNS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalLibraryDirectories>$(DepsRoot)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>$(DepLibs);%(AdditionalDependencies)</AdditionalDependencies>
<ModuleDefinitionFile>dns.def</ModuleDefinitionFile>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level1</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;_WIN64;_AMD64_;NDEBUG;_WINDOWS;_USRDLL;DNS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalLibraryDirectories>$(DepsRoot)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>$(DepLibs);%(AdditionalDependencies)</AdditionalDependencies>
<ModuleDefinitionFile>dns.def</ModuleDefinitionFile>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<None Include="dns.def" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="dns.c" />
<ClCompile Include="thread.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="thread.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -0,0 +1,35 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<None Include="dns.def">
<Filter>Resource Files</Filter>
</None>
</ItemGroup>
<ItemGroup>
<ClCompile Include="dns.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="thread.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="thread.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>

View File

@ -21,14 +21,12 @@
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
@ -45,14 +43,14 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<TargetName>hcdns</TargetName>
<OutDir>$(SolutionDir)build\$(PlatformName)\bin\</OutDir>
<IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)\</IntDir>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<TargetName>hcdns</TargetName>
<OutDir>$(SolutionDir)build\$(PlatformName)\bin\</OutDir>
<IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)\</IntDir>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>

View File

@ -6,5 +6,5 @@ lib_LTLIBRARIES = doat.la
doat_la_SOURCES = doat.c
doat_la_LDFLAGS = -avoid-version -module
doat_la_LIBADD =
INCLUDES = $(COMMON_CFLAGS) -I$(srcdir)/..
AM_CPPFLAGS = $(COMMON_CFLAGS) -I$(srcdir)/..

View File

@ -0,0 +1,107 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{4980AF24-9D42-427D-A8E6-0DF3B97C455D}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>doat</RootNamespace>
<ProjectName>doat</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\win32\hexchat-xp.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\win32\hexchat-xp.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<TargetName>hcdoat</TargetName>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<TargetName>hcdoat</TargetName>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level1</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;DOAT_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<ModuleDefinitionFile>doat.def</ModuleDefinitionFile>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level1</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;_WIN64;_AMD64_;NDEBUG;_WINDOWS;_USRDLL;DOAT_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<ModuleDefinitionFile>doat.def</ModuleDefinitionFile>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="doat.c" />
</ItemGroup>
<ItemGroup>
<None Include="doat.def" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="doat.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<None Include="doat.def">
<Filter>Resource Files</Filter>
</None>
</ItemGroup>
</Project>

View File

@ -21,14 +21,12 @@
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
@ -45,14 +43,14 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<TargetName>hcdoat</TargetName>
<OutDir>$(SolutionDir)build\$(PlatformName)\bin\</OutDir>
<IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)\</IntDir>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<TargetName>hcdoat</TargetName>
<OutDir>$(SolutionDir)build\$(PlatformName)\bin\</OutDir>
<IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)\</IntDir>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>

View File

@ -0,0 +1,107 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{17E4BE39-76F7-4A06-AD21-EFD0C5091F76}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>exec</RootNamespace>
<ProjectName>exec</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\win32\hexchat-xp.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\win32\hexchat-xp.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<TargetName>hcexec</TargetName>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<TargetName>hcexec</TargetName>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level1</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;EXEC_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<ModuleDefinitionFile>exec.def</ModuleDefinitionFile>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level1</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;_WIN64;_AMD64_;NDEBUG;_WINDOWS;_USRDLL;EXEC_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<ModuleDefinitionFile>exec.def</ModuleDefinitionFile>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<None Include="exec.def" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="exec.c" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<None Include="exec.def">
<Filter>Resource Files</Filter>
</None>
</ItemGroup>
<ItemGroup>
<ClCompile Include="exec.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -21,14 +21,12 @@
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
@ -45,14 +43,14 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<TargetName>hcexec</TargetName>
<OutDir>$(SolutionDir)build\$(PlatformName)\bin\</OutDir>
<IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)\</IntDir>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<TargetName>hcexec</TargetName>
<OutDir>$(SolutionDir)build\$(PlatformName)\bin\</OutDir>
<IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)\</IntDir>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>

View File

@ -6,4 +6,4 @@ lib_LTLIBRARIES = fishlim.la
fishlim_la_SOURCES = fish.c irc.c keystore.c misc.c plugin_xchat.c
fishlim_la_LDFLAGS = -avoid-version -module
fishlim_la_LIBADD =
INCLUDES = $(COMMON_CFLAGS) -I$(srcdir)/..
AM_CPPFLAGS = $(COMMON_CFLAGS) -I$(srcdir)/..

View File

@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{3C4F42FC-292A-420B-B63D-C03DFBDD8E4E}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>fishlim</RootNamespace>
<ProjectName>fishlim</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\win32\hexchat-xp.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\win32\hexchat-xp.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<TargetName>hcfishlim</TargetName>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<TargetName>hcfishlim</TargetName>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level1</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;FISHLIM_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<AdditionalIncludeDirectories>$(DepsRoot)\include;$(Glib);..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<ModuleDefinitionFile>fishlim.def</ModuleDefinitionFile>
<AdditionalLibraryDirectories>$(DepsRoot)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>$(DepLibs);%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level1</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;_WIN64;_AMD64_;NDEBUG;_WINDOWS;_USRDLL;FISHLIM_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<AdditionalIncludeDirectories>$(DepsRoot)\include;$(Glib);..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<ModuleDefinitionFile>fishlim.def</ModuleDefinitionFile>
<AdditionalLibraryDirectories>$(DepsRoot)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>$(DepLibs);%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<None Include="fishlim.def" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="bool.h" />
<ClInclude Include="fish.h" />
<ClInclude Include="irc.h" />
<ClInclude Include="keystore.h" />
<ClInclude Include="misc.h" />
<ClInclude Include="plugin_xchat.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="fish.c" />
<ClCompile Include="irc.c" />
<ClCompile Include="keystore.c" />
<ClCompile Include="misc.c" />
<ClCompile Include="plugin_xchat.c" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -0,0 +1,59 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<None Include="fishlim.def">
<Filter>Resource Files</Filter>
</None>
</ItemGroup>
<ItemGroup>
<ClInclude Include="bool.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="fish.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="irc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="keystore.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="misc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="plugin_xchat.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="fish.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="irc.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="keystore.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="misc.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="plugin_xchat.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -21,14 +21,12 @@
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
@ -45,14 +43,14 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<TargetName>hcfishlim</TargetName>
<OutDir>$(SolutionDir)build\$(PlatformName)\bin\</OutDir>
<IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)\</IntDir>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<TargetName>hcfishlim</TargetName>
<OutDir>$(SolutionDir)build\$(PlatformName)\bin\</OutDir>
<IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)\</IntDir>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>

View File

@ -114,7 +114,7 @@ int event_cb(char *word[], void *userdata)
dwInfoFlags = NIIF_WARNING;
break;
case CHAN_BANNED:
_snprintf(szInfo, 512, "Cannot join #%s You are banned.", word[1]);
_snprintf(szInfo, 512, "Cannot join %s You are banned.", word[1]);
_snprintf(szName, 64, "Banned");
dwInfoFlags = NIIF_WARNING;
break;
@ -152,7 +152,7 @@ int event_cb(char *word[], void *userdata)
/**************************************************************************************/
/***** Use windows instead of balloons, and if its a window should we keep it open ****/
/***** indefinately? ****/
/***** indefinitely? ****/
/**************************************************************************************/
szTemp = xchat_strip_color(szInfo);

View File

@ -0,0 +1,133 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{3024CF36-85E5-4E00-9608-7002E2C7EF14}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>hextray</RootNamespace>
<ProjectName>hextray</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\win32\hexchat-xp.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\win32\hexchat-xp.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level1</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;XTRAY_EXPORTS;_STL70_;_STATIC_CPPLIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<ModuleDefinitionFile>xtray.def</ModuleDefinitionFile>
<AdditionalDependencies>ntstc_msvcrt.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level1</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;_WIN64;_AMD64_;NDEBUG;_WINDOWS;_USRDLL;XTRAY_EXPORTS;_STL70_;_STATIC_CPPLIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<ModuleDefinitionFile>xtray.def</ModuleDefinitionFile>
<AdditionalDependencies>ntstc_msvcrt.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<None Include="bitmaps\sd.bmp" />
<None Include="icons\ban.ico" />
<None Include="icons\disconnect.ico" />
<None Include="icons\highlight.ico" />
<None Include="icons\kick.ico" />
<None Include="icons\message.ico" />
<None Include="icons\sd.ico" />
<None Include="icons\notice.ico" />
<None Include="icons\hexchat.ico" />
<None Include="xtray.def" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="resource.rc" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="callbacks.cpp" />
<ClCompile Include="sdAlerts.cpp" />
<ClCompile Include="sdTray.cpp" />
<ClCompile Include="utility.cpp" />
<ClCompile Include="xchat.cpp" />
<ClCompile Include="xtray.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="callbacks.h" />
<ClInclude Include="resource.h" />
<ClInclude Include="sdAlerts.h" />
<ClInclude Include="sdTray.h" />
<ClInclude Include="utility.h" />
<ClInclude Include="xchat.h" />
<ClInclude Include="xtray.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -0,0 +1,103 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
<Filter Include="Resource Files\bitmaps">
<UniqueIdentifier>{448b49a5-e68b-451e-bfbc-0855da024b2e}</UniqueIdentifier>
</Filter>
<Filter Include="Resource Files\icons">
<UniqueIdentifier>{8345128a-0635-43d6-9115-a85ad9c77ee2}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<None Include="xtray.def">
<Filter>Resource Files</Filter>
</None>
<None Include="bitmaps\sd.bmp">
<Filter>Resource Files\bitmaps</Filter>
</None>
<None Include="icons\ban.ico">
<Filter>Resource Files\icons</Filter>
</None>
<None Include="icons\disconnect.ico">
<Filter>Resource Files\icons</Filter>
</None>
<None Include="icons\highlight.ico">
<Filter>Resource Files\icons</Filter>
</None>
<None Include="icons\kick.ico">
<Filter>Resource Files\icons</Filter>
</None>
<None Include="icons\message.ico">
<Filter>Resource Files\icons</Filter>
</None>
<None Include="icons\sd.ico">
<Filter>Resource Files\icons</Filter>
</None>
<None Include="icons\notice.ico">
<Filter>Resource Files\icons</Filter>
</None>
<None Include="icons\hexchat.ico">
<Filter>Resource Files\icons</Filter>
</None>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="resource.rc">
<Filter>Resource Files</Filter>
</ResourceCompile>
</ItemGroup>
<ItemGroup>
<ClCompile Include="callbacks.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="sdAlerts.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="sdTray.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="utility.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="xchat.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="xtray.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="callbacks.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="resource.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="sdAlerts.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="sdTray.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="utility.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="xchat.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="xtray.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>

View File

@ -21,14 +21,12 @@
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
@ -44,13 +42,13 @@
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<OutDir>$(SolutionDir)build\$(PlatformName)\bin\</OutDir>
<IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)\</IntDir>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<OutDir>$(SolutionDir)build\$(PlatformName)\bin\</OutDir>
<IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)\</IntDir>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
@ -60,7 +58,7 @@
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;XTRAY_EXPORTS;_STL70_;_STATIC_CPPLIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;XTRAY_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
@ -70,7 +68,6 @@
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<ModuleDefinitionFile>xtray.def</ModuleDefinitionFile>
<AdditionalDependencies>ntstc_msvcrt.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
@ -81,7 +78,7 @@
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;_WIN64;_AMD64_;NDEBUG;_WINDOWS;_USRDLL;XTRAY_EXPORTS;_STL70_;_STATIC_CPPLIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>WIN32;_WIN64;_AMD64_;NDEBUG;_WINDOWS;_USRDLL;XTRAY_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
@ -91,7 +88,6 @@
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<ModuleDefinitionFile>xtray.def</ModuleDefinitionFile>
<AdditionalDependencies>ntstc_msvcrt.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>

View File

@ -122,7 +122,7 @@ BEGIN
WS_BORDER | WS_TABSTOP,137,74,61,13
LTEXT "Close all alerts hotkey:",IDC_ALERT_HOTKEY_TEXT,39,75,
76,10
CONTROL "Leave alerts open indefinately",16,"Button",
CONTROL "Leave alerts open indefinitely",16,"Button",
BS_AUTOCHECKBOX | WS_TABSTOP,27,88,115,11
CONTROL "Blink Icon to alert me about events",18,"Button",
BS_AUTOCHECKBOX | WS_TABSTOP,16,18,127,10

View File

@ -59,7 +59,7 @@ extern struct _xchat_plugin *ph;
#define PREF_AMAE 13 // alert me about events
#define PREF_OSBWM 14 // Only Show Balloon When Minimized
#define PREF_UWIOB 15 // Use Window Instead of Balloon
#define PREF_KAOI 16 // Keep alerts open indefinately
#define PREF_KAOI 16 // Keep alerts open indefinitely
#define PREF_MIOC 17 // Minimize instead of close
#define PREF_BLINK 18 // blink icon
#define PREF_CICO 19 // change icon - not implemented

135
plugins/lua/lua-xp.vcxproj Normal file
View File

@ -0,0 +1,135 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{646B4316-C8B8-4DB6-B6AE-E586929E5729}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>lua</RootNamespace>
<ProjectName>lua</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\win32\hexchat-xp.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\win32\hexchat-xp.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<TargetName>$(LuaOutput)</TargetName>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<TargetName>$(LuaOutput)</TargetName>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level1</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;LUA_EXPORTS;$(OwnFlags);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(DepsRoot)\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalLibraryDirectories>$(DepsRoot)\lib;$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>"$(LuaLib).lib";;dirent-win32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level1</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;LUA_EXPORTS;$(OwnFlags);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(DepsRoot)\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalLibraryDirectories>$(DepsRoot)\lib;$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>"$(LuaLib).lib";;dirent-win32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Link>
<AdditionalDependencies>"$(LuaLib).lib";$(DepLibs);dirent-win32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Link>
<AdditionalDependencies>"$(LuaLib).lib";$(DepLibs);dirent-win32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;$(OwnFlags);snprintf=g_snprintf;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<ModuleDefinitionFile>lua.def</ModuleDefinitionFile>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<PreprocessorDefinitions>WIN32;_WIN64;_AMD64_;NDEBUG;_WINDOWS;_USRDLL;$(OwnFlags);snprintf=g_snprintf;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<ModuleDefinitionFile>lua.def</ModuleDefinitionFile>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<None Include="lua.def" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="lua.c" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<None Include="lua.def">
<Filter>Resource Files</Filter>
</None>
</ItemGroup>
<ItemGroup>
<ClCompile Include="lua.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -21,14 +21,12 @@
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
@ -45,14 +43,14 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<TargetName>$(LuaOutput)</TargetName>
<OutDir>$(SolutionDir)build\$(PlatformName)\bin\</OutDir>
<IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)\</IntDir>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<TargetName>$(LuaOutput)</TargetName>
<OutDir>$(SolutionDir)build\$(PlatformName)\bin\</OutDir>
<IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)\</IntDir>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>

View File

@ -0,0 +1,107 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{B0E36D93-CA2A-49FE-9EB9-9C96C6016EEC}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>mpcinfo</RootNamespace>
<ProjectName>mpcinfo</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\win32\hexchat-xp.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\win32\hexchat-xp.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<TargetName>hcmpcinfo</TargetName>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<TargetName>hcmpcinfo</TargetName>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level1</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;MPCINFO_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<ModuleDefinitionFile>mpcinfo.def</ModuleDefinitionFile>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level1</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;_WIN64;_AMD64_;NDEBUG;_WINDOWS;_USRDLL;MPCINFO_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<ModuleDefinitionFile>mpcinfo.def</ModuleDefinitionFile>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<None Include="mpcinfo.def" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="mpcInfo.c" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<None Include="mpcinfo.def">
<Filter>Resource Files</Filter>
</None>
</ItemGroup>
<ItemGroup>
<ClCompile Include="mpcInfo.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -21,14 +21,12 @@
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
@ -45,14 +43,14 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<TargetName>hcmpcinfo</TargetName>
<OutDir>$(SolutionDir)build\$(PlatformName)\bin\</OutDir>
<IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)\</IntDir>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<TargetName>hcmpcinfo</TargetName>
<OutDir>$(SolutionDir)build\$(PlatformName)\bin\</OutDir>
<IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)\</IntDir>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>

View File

@ -1,18 +0,0 @@
include "..\..\src\makeinc.mak"
all: nonbmp.obj nonbmp.def
link $(LDFLAGS) $(LIBS) /dll /out:xcnonbmp.dll /def:nonbmp.def nonbmp.obj
nonbmp.def:
echo EXPORTS > nonbmp.def
echo xchat_plugin_init >> nonbmp.def
echo xchat_plugin_deinit >> nonbmp.def
nonbmp.obj: nonbmp.c makefile.mak
cl $(CFLAGS) $(GLIB) /I.. nonbmp.c
clean:
del *.obj
del *.dll
del *.exp
del *.lib

View File

@ -1,87 +0,0 @@
#include <stdlib.h>
#include <glib.h>
#include <string.h>
#include "xchat-plugin.h"
static xchat_plugin *ph;
static const char name[] = "Non-BMP";
static const char desc[] = "Replace non-BMP characters with replacement characters";
static const char version[] = "1.0000";
static int recursing = 0;
static int filter(
char *word[],
char *word_eol[],
void *unused
) {
gunichar *line;
gchar *utf8_line;
glong length;
glong index;
if( recursing ) {
return XCHAT_EAT_NONE;
}
/* the input has already been checked so we can use the _fast version */
line = g_utf8_to_ucs4_fast(
(char *)word_eol[1],
-1, /* NUL terminated input */
&length
);
for( index = 0; index < length; index++ ) {
if( line[ index ] > 0xFFFF ) {
line[ index ] = 0xFFFD; /* replacement character */
}
}
utf8_line = g_ucs4_to_utf8(
line,
-1, /* NUL terminated input */
NULL, /* items read */
NULL, /* items written */
NULL /* ignore conversion error */
);
if( utf8_line == NULL ) {
/* conversion failed ... I guess we are screwed? */
g_free( line );
return XCHAT_EAT_NONE;
}
recursing = 1;
xchat_commandf( ph, "RECV %s", utf8_line );
recursing = 0;
g_free( line );
g_free( utf8_line );
return XCHAT_EAT_ALL;
}
int xchat_plugin_init(
xchat_plugin *plugin_handle,
char **plugin_name,
char **plugin_desc,
char **plugin_version,
char *arg
) {
/* int index = 0;*/
ph = plugin_handle;
*plugin_name = name;
*plugin_desc = desc;
*plugin_version = version;
xchat_hook_server( ph, "RAW LINE", XCHAT_PRI_HIGHEST, filter, (void *)NULL );
xchat_printf (ph, "%s plugin loaded\n", name);
return 1;
}
int
xchat_plugin_deinit (void)
{
xchat_printf (ph, "%s plugin unloaded\n", name);
return 1;
}

View File

@ -12,7 +12,7 @@ perl_la_LDFLAGS = -avoid-version -module
perl_la_LIBADD = $(PERL_LDFLAGS)
BUILT_SOURCES = xchat.pm.h irc.pm.h
#CFLAGS = @CFLAGS@ -Wno-unused
INCLUDES = $(PERL_CFLAGS) $(COMMON_CFLAGS) -I$(srcdir)/..
AM_CPPFLAGS = $(PERL_CFLAGS) $(COMMON_CFLAGS) -I$(srcdir)/..
CLEANFILES = xchat.pm.h irc.pm.h
xchat.pm.h irc.pm.h: lib/Xchat.pm lib/Xchat/Embed.pm \
lib/Xchat/List/Network.pm lib/Xchat/List/Network/Entry.pm \

View File

@ -0,0 +1,129 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{987E9374-98A1-44BA-946F-D3472D7A7055}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>perl512</RootNamespace>
<ProjectName>perl-512</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\win32\hexchat-xp.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\win32\hexchat-xp.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<TargetName>$(Perl512Output)</TargetName>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<TargetName>$(Perl512Output)</TargetName>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level1</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;PERL512_EXPORTS;$(OwnFlags);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<AdditionalIncludeDirectories>$(Perl512Path)\perl\lib\CORE;$(IntDir);..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalLibraryDirectories>$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>$(Perl512Lib).lib;%(AdditionalDependencies)</AdditionalDependencies>
<ModuleDefinitionFile>perl.def</ModuleDefinitionFile>
<DelayLoadDLLs>$(Perl512Lib).dll;%(DelayLoadDLLs)</DelayLoadDLLs>
</Link>
<PreBuildEvent>
<Command>"$(GendefPath)\gendef" "$(Perl512Path)\perl\bin\$(Perl512Lib).dll"
move $(Perl512Lib).def "$(IntDir)"
lib /nologo /machine:x86 "/def:$(IntDir)$(Perl512Lib).def" "/out:$(OutDir)\$(Perl512Lib).lib"
"$(Perl512Path)\perl\bin\perl.exe" generate_header
move irc.pm.h "$(IntDir)"
move xchat.pm.h "$(IntDir)"</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level1</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;_WIN64;_AMD64_;NDEBUG;_WINDOWS;_USRDLL;PERL512_EXPORTS;$(OwnFlags);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<AdditionalIncludeDirectories>$(Perl512Path)\perl\lib\CORE;$(IntDir);..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalLibraryDirectories>$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>$(Perl512Lib).lib;%(AdditionalDependencies)</AdditionalDependencies>
<ModuleDefinitionFile>perl.def</ModuleDefinitionFile>
<DelayLoadDLLs>$(Perl512Lib).dll;%(DelayLoadDLLs)</DelayLoadDLLs>
</Link>
<PreBuildEvent>
<Command>"$(GendefPath)\gendef" "$(Perl512Path)\perl\bin\$(Perl512Lib).dll"
move $(Perl512Lib).def "$(IntDir)"
lib /nologo /machine:x64 "/def:$(IntDir)$(Perl512Lib).def" "/out:$(OutDir)\$(Perl512Lib).lib"
"$(Perl512Path)\perl\bin\perl.exe" generate_header
move irc.pm.h "$(IntDir)"
move xchat.pm.h "$(IntDir)"</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="perl.c" />
</ItemGroup>
<ItemGroup>
<None Include="perl.def" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="perl.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<None Include="perl.def">
<Filter>Resource Files</Filter>
</None>
</ItemGroup>
</Project>

View File

@ -21,14 +21,12 @@
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
@ -45,14 +43,14 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<TargetName>$(Perl512Output)</TargetName>
<OutDir>$(SolutionDir)build\$(PlatformName)\bin\</OutDir>
<IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)\</IntDir>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<TargetName>$(Perl512Output)</TargetName>
<OutDir>$(SolutionDir)build\$(PlatformName)\bin\</OutDir>
<IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)\</IntDir>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>

View File

@ -0,0 +1,129 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{C4C9FA6F-F990-4C7B-85F6-CD8F4F5728F0}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>perl514</RootNamespace>
<ProjectName>perl-514</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\win32\hexchat-xp.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\win32\hexchat-xp.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<TargetName>$(Perl514Output)</TargetName>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<TargetName>$(Perl514Output)</TargetName>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level1</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;PERL514_EXPORTS;$(OwnFlags);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(Perl514Path)\perl\lib\CORE;$(IntDir);..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalLibraryDirectories>$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>$(Perl514Lib).lib;%(AdditionalDependencies)</AdditionalDependencies>
<ModuleDefinitionFile>perl.def</ModuleDefinitionFile>
<DelayLoadDLLs>$(Perl514Lib).dll;%(DelayLoadDLLs)</DelayLoadDLLs>
</Link>
<PreBuildEvent>
<Command>"$(GendefPath)\gendef" "$(Perl514Path)\perl\bin\$(Perl514Lib).dll"
move $(Perl514Lib).def "$(IntDir)"
lib /nologo /machine:x86 "/def:$(IntDir)$(Perl514Lib).def" "/out:$(OutDir)\$(Perl514Lib).lib"
"$(Perl514Path)\perl\bin\perl.exe" generate_header
move irc.pm.h "$(IntDir)"
move xchat.pm.h "$(IntDir)"</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level1</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;_WIN64;_AMD64_;NDEBUG;_WINDOWS;_USRDLL;PERL514_EXPORTS;$(OwnFlags);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(Perl514Path)\perl\lib\CORE;$(IntDir);..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalLibraryDirectories>$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>$(Perl514Lib).lib;%(AdditionalDependencies)</AdditionalDependencies>
<ModuleDefinitionFile>perl.def</ModuleDefinitionFile>
<DelayLoadDLLs>$(Perl514Lib).dll;%(DelayLoadDLLs)</DelayLoadDLLs>
</Link>
<PreBuildEvent>
<Command>"$(GendefPath)\gendef" "$(Perl514Path)\perl\bin\$(Perl514Lib).dll"
move $(Perl514Lib).def "$(IntDir)"
lib /nologo /machine:x64 "/def:$(IntDir)$(Perl514Lib).def" "/out:$(OutDir)\$(Perl514Lib).lib"
"$(Perl514Path)\perl\bin\perl.exe" generate_header
move irc.pm.h "$(IntDir)"
move xchat.pm.h "$(IntDir)"</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="perl.c" />
</ItemGroup>
<ItemGroup>
<None Include="perl.def" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="perl.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<None Include="perl.def">
<Filter>Resource Files</Filter>
</None>
</ItemGroup>
</Project>

View File

@ -21,14 +21,12 @@
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
@ -45,14 +43,14 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<TargetName>$(Perl514Output)</TargetName>
<OutDir>$(SolutionDir)build\$(PlatformName)\bin\</OutDir>
<IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)\</IntDir>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<TargetName>$(Perl514Output)</TargetName>
<OutDir>$(SolutionDir)build\$(PlatformName)\bin\</OutDir>
<IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)\</IntDir>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>

View File

@ -0,0 +1,129 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{58654438-F674-42F7-88FA-73EF90AD80B1}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>perl516</RootNamespace>
<ProjectName>perl-516</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\win32\hexchat-xp.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\win32\hexchat-xp.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<TargetName>$(Perl516Output)</TargetName>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<TargetName>$(Perl516Output)</TargetName>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level1</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;PERL516_EXPORTS;$(OwnFlags);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(Perl516Path)\perl\lib\CORE;$(IntDir);..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalLibraryDirectories>$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>$(Perl516Lib).lib;%(AdditionalDependencies)</AdditionalDependencies>
<ModuleDefinitionFile>perl.def</ModuleDefinitionFile>
<DelayLoadDLLs>$(Perl516Lib).dll;%(DelayLoadDLLs)</DelayLoadDLLs>
</Link>
<PreBuildEvent>
<Command>"$(GendefPath)\gendef" "$(Perl516Path)\perl\bin\$(Perl516Lib).dll"
move $(Perl516Lib).def "$(IntDir)"
lib /nologo /machine:x86 "/def:$(IntDir)$(Perl516Lib).def" "/out:$(OutDir)\$(Perl516Lib).lib"
"$(Perl516Path)\perl\bin\perl.exe" generate_header
move irc.pm.h "$(IntDir)"
move xchat.pm.h "$(IntDir)"</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level1</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;_WIN64;_AMD64_;NDEBUG;_WINDOWS;_USRDLL;PERL516_EXPORTS;$(OwnFlags);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(Perl516Path)\perl\lib\CORE;$(IntDir);..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalLibraryDirectories>$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>$(Perl516Lib).lib;%(AdditionalDependencies)</AdditionalDependencies>
<ModuleDefinitionFile>perl.def</ModuleDefinitionFile>
<DelayLoadDLLs>$(Perl516Lib).dll;%(DelayLoadDLLs)</DelayLoadDLLs>
</Link>
<PreBuildEvent>
<Command>"$(GendefPath)\gendef" "$(Perl516Path)\perl\bin\$(Perl516Lib).dll"
move $(Perl516Lib).def "$(IntDir)"
lib /nologo /machine:x64 "/def:$(IntDir)$(Perl516Lib).def" "/out:$(OutDir)\$(Perl516Lib).lib"
"$(Perl516Path)\perl\bin\perl.exe" generate_header
move irc.pm.h "$(IntDir)"
move xchat.pm.h "$(IntDir)"</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
<None Include="perl.def" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="perl.c" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<None Include="perl.def">
<Filter>Resource Files</Filter>
</None>
</ItemGroup>
<ItemGroup>
<ClCompile Include="perl.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -21,14 +21,12 @@
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
@ -45,14 +43,14 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<TargetName>$(Perl516Output)</TargetName>
<OutDir>$(SolutionDir)build\$(PlatformName)\bin\</OutDir>
<IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)\</IntDir>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<TargetName>$(Perl516Output)</TargetName>
<OutDir>$(SolutionDir)build\$(PlatformName)\bin\</OutDir>
<IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)\</IntDir>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>

View File

@ -1,7 +1,7 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>XChat 2.0 Plugin Interface</title>
<title>HexChat 2 Plugin Interface</title>
<style type="text/css">
<!--
body {
@ -35,11 +35,11 @@ margin-right: 32px;
</head>
<body bgcolor="#FFFBF0" text="#000" link="#607060" vlink="#607060" alink="#607060">
<h1>XChat 2.0 Plugin Interface</h1>
<h1>HexChat 2 Plugin Interface</h1>
<small>
<font size="-12">plugin20.html revision 2.86</font>
<br>Latest version of this document is available at: <a href="http://xchat.org/docs/plugin20.html">http://xchat.org/docs/plugin20.html</a></small>
<font size="-12">plugin20.html revision 2.9.1</font>
<br>Latest version of this document is available at: <a href="https://github.com/hexchat/hexchat/wiki/Plugins">https://github.com/hexchat/hexchat/wiki/Plugins</a></small>
<h2>1. Documentation:</h2>
<blockquote>

View File

@ -6,5 +6,5 @@ lib_LTLIBRARIES = python.la
python_la_SOURCES = python.c
python_la_LDFLAGS = -avoid-version -module
python_la_LIBADD = $(PY_LIBS)
INCLUDES = $(PY_CFLAGS) $(COMMON_CFLAGS) -I$(srcdir)/..
AM_CPPFLAGS = $(PY_CFLAGS) $(COMMON_CFLAGS) -I$(srcdir)/..

View File

@ -0,0 +1,545 @@
% HexChat Python Interface
Features
--------
Here are some of the features of the python plugin interface:
- Comprehensive, consistent and straightforward API
- Load, unload, reload, and autoload support
- Per plugin independent interpreter state
- Python interactive console
- Python interactive command execution
- Full thread support
- Stdout and stderr redirected to xchat console
- Dynamic list management
- Nice context treatment
- Plugin preferences
Commands
--------
The following commands will be intercepted by the Python Plugin interface module, when it is loaded.
---------------------------------------------------------------------------------------------------------------------------------------------
*Command* *Description*
---------------------------------- ---------------------------------------------------------------------------------------------------------
/py load <filename> Load module with given filename.
/py unload <filename|module name> Unload module with given filename, or module name.
/py reload <filename|module name> Reload module with given filename, or module name.
/py list List Python modules loaded.
/py exec <command> Execute given Python command interactively. For example:
`/py exec import xchat`
`/py exec print xchat.get_info('channel')`
/py console Open the Python interactive console in a query (>>python<<).
Every message sent will be intercepted by the Python plugin interface, and interpreted interactively.
Notice that the console and /py exec commands live in the same interpreter state.
/py about Show some information about the Python plugin interface.
----------------------------------------------------------------------------------------------------------------------------------------------
Autoloading modules
-------------------
If you want some module to be autoloaded together with the Python plugin
interface (which usually loads at startup time), just make sure it has a
`.py` extension and put it in your HexChat directory (~/.config/hexchat/addons, %APPDATA%\\HexChat\\addons).
Context theory
--------------
Before starting to explain what the API offers, I'll do a short
introduction about the xchat context concept. Not because it's something
hard to understand, but because you'll understand better the API
explanations if you know what I'm talking about.
You can think about a context as an xchat channel, server, or query tab.
Each of these tabs, has its own context, and is related to a given
server and channel (queries are a special kind of channel).
The *current* context is the one where xchat passes control to the
module. For example, when xchat receives a command in a specific
channel, and you have asked xchat to tell you about this event, the
current context will be set to this channel before your module is
called.
Hello world
-----------
Here is the traditional *hello world* example.
~~~~~~~~~~ {.python}
__module_name__ = "helloworld"
__module_version__ = "1.0"
__module_description__ = "Python module example"
print "Hello world!"
~~~~~~~~~~
This module will print "Hello world!" in the xchat console, and sleep
forever until it's unloaded. It's a simple module, but already
introduces some concepts. Notice how the module information is set. This
information is obligatory, and will be shown when listing the loaded
xchat modules.
xchat module
------------
The xchat module is your passport to every xchat functionality offered
by the Python plugin interface. Here's a simple example:
~~~~~~~~~~ {.python}
import xchat
xchat.prnt("Hi everyone!")
~~~~~~~~~~
The following functions are available in the xchat module.
### Generic functions
#### xchat.prnt(string)
This function will print string in the current context. It's mainly
useful as a parameter to pass to some other function, since the usual
print statement will have the same results. You have a usage example
above.
This function is badly
named because `"print"` is a reserved keyword of the Python language.
#### xchat.emit_print(event_name, *args)
This function will generate a *print event* with the given arguments. To
check which events are available, and the number and meaning of
arguments, have a look at the `Settings > Lists > Text Events` window.
Here is one example:
~~~~~~~~~~ {.python}
xchat.emit_print("Channel Message", "John", "Hi there", "@")
~~~~~~~~~~`
#### xchat.command(string)
Execute the given command in the current context. This has the same
results as executing a command in the xchat window, but notice that the
`/` prefix is not used. Here is an example:
~~~~~~~~~~ {.python}
xchat.command("server irc.openprojects.net")
~~~~~~~~~~
#### xchat.nickcmp(s1, s2)
This function will do an RFC1459 compliant string comparing between `s1`
and `s2`, and is useful to compare channels and nicknames. It returns an
integer less than, equal to, or greater than zero if `s1` is found,
respectively, to be less than, to match, or be greater than `s2`. For
example:
~~~~~~~~~~ {.python}
if xchat.nickcmp(nick, "mynick") == 0:
print "They are the same!"
~~~~~~~~~~
### Information retreiving functions
#### xchat.get_info(type)
Retrieve the information specified by the `type` string in the current
context. At the moment of this writing, the following information types
are available to be queried:
-----------------------------------------------------------------------------------------------
*Type* *Description*
-------- -----------------------------------------------------------------------------------
away Away reason or None if you are not away.
channels Channel of the current context.
hostname Real hostname of the server you connected to.
network Current network name or None.
nick Your current nick name.
server Current server name (what the server claims to be) or None if you are not connected.
topic Current channel topic.
version hexchat version number.
xchatdir hexchat config directory e.g.: "~/.config/hexchat".
------------------------------------------------------------------------------------------------
Example:
~~~~~~~~~~ {.python}
if xchat.get_info("server") is None:
xchat.prnt("Not connected!")
~~~~~~~~~~
#### xchat.get_prefs(name)
Retrieve the xchat setting information specified by the `name` string,
as available by the `/set` command. For example:
~~~~~~~~~~ {.python}
print "Current preferred nick:", xchat.get_prefs("irc_nick1")
~~~~~~~~~~
#### xchat.get_list(type)
With this function you may retrieve a list containing the selected
information from the current context, like a DCC list, a channel list, a
user list, etc. Each list item will have its attributes set dynamically
depending on the information provided by the list type.
The example below is a rewrite of the example provided with xchat's
plugin API documentation. It prints a list of every DCC transfer
happening at the moment. Notice how similar the interface is to the C
API provided by xchat.
~~~~~~~~~~ {.python}
list = xchat.get_list("dcc")
if list:
print "--- DCC LIST ------------------"
print "File To/From KB/s Position"
for i in list:
print "%6s %10s %.2f %d" % (i.file, i.nick, i.cps/1024, i.pos)
~~~~~~~~~~
Below you will find what each list type has to offer.
This information was
taken from xchat's plugin documentation. You may find any types not
listed here, if they exist at all, in an updated xchat documentation.
Any list types accepted by xchat should be dynamically accepted by the
Python plugin interface.
##### channels
The channels list type gives you access to the channels, queries and
their servers. The folloing attributes are available in each list item:
-------------------------------------------------------------------
*Type* *Description*
------- -------------------------------------------------------
channel Channel or query name.
context A context object, giving access to that channel/server.
network Network name to which this channel belongs.
server Server name to which this channel belongs.
type Type of context (1=Server, 2=Channel, 3=Dialog).
-------------------------------------------------------------------
##### dcc
The dcc list type gives you access to a list of DCC file transfers. The
following attributes are available in each list item:
---------------------------------------------------------------------------------------
*Type* *Description*
--------- ---------------------------------------------------------------------------
address32 Address of the remote user (ipv4 address, as an int).
cps Bytes per second (speed).
destfile Destination full pathname.
file Filename.
nick Nickname of person who the file is from/to.
port TCP port number.
pos Bytes sent/received.
resume Point at which this file was resumed (or zero if it was not resumed).
size File size in bytes.
status DCC status (queued=0, active=1, failed=2, done=3, connecting=4, aborted=5).
type DCC type (send=0, receive=1, chatrecv=2, chatsend=3).
---------------------------------------------------------------------------------------
##### users
The users list type gives you access to a list of users in the current
channel. The following attributes are available in each list item:
----------------------------------------------------------------
*Type* *Description*
------ --------------------------------------------------------
nick Nick name.
host Host name in the form user@host (or None, if not known).
prefix Prefix character, .e.g: @ or +. Points to a single char.
----------------------------------------------------------------
##### ignore
The ignore list type gives you access to the current ignored list. The
following attributes are available in each list item:
-----------------------------------------------------------------------------------------------------------
*Type* *Description*
----- ---------------------------------------------------------------------------------------------------
mask Ignore mask (for example, "*!*@*.aol.com").
flags Bit field of flags (0=private, 1=notice, 2=channel, 3=ctcp, 4=invite, 5=unignore, 6=nosave, 7=dcc).
-----------------------------------------------------------------------------------------------------------
### Hook functions
These functions allow one to hook into xchat events.
#### Priorities
When a priority keyword parameter is accepted, it means that this
callback may be hooked with five different priorities: PRI_HIGHEST,
PRI_HIGH, PRI_NORM, PRI_LOW, and PRI_LOWEST. The usage of these
constants, which are available in the xchat module, will define the
order in which your plugin will be called. Most of the time, you won't
want to change its default value (PRI_NORM).
#### Parameters word and word_eol
These parameters, when available in a callback, are lists of strings
which contain the parameters the user entered for the particular
command. For example, if you executed:
> /command NICK Hi there!
- **word[0]** is `command`
- **word[1]** is `NICK`
- **word[2]** is `Hi`
- **word[3]** is `there!`
- **word_eol[0]** is `command NICK Hi there!`
- **word_eol[1]** is `NICK Hi there!`
- **word_eol[2]** is `Hi there!`
- **word_eol[3]** is `there!`
#### Parameter userdata
The parameter userdata, if given, allows you to pass a custom object to
your callback.
#### Callback return constants (EAT_*)
When a callback is supposed to return one of the EAT_* macros, it is
able control how xchat will proceed after the callback returns. These
are the available constants, and their meanings:
---------------------------------------------------------
*Constant* *Description*
----------- ---------------------------------------------
EAT_PLUGIN Don't let any other plugin receive this event.
EAT_XCHAT Don't let xchat treat this event as usual.
EAT_ALL Eat the event completely.
EAT_NONE Let everything happen as usual.
---------------------------------------------------------
Returning `None` is the same as returning `EAT_NONE`.
#### xchat.hook_command(name, callback, userdata=None, priority=PRI_NORM, help=None)
This function allows you to hook into the name xchat command. It means
that everytime you type `/name ...`, `callback` will be called.
Parameters `userdata` and `priority` have their meanings explained
above, and the parameter help, if given, allows you to pass a help text
which will be shown when `/help name` is executed. This function returns
a hook handler which may be used in the `xchat.unhook()` function. For
example:
~~~~~~~~~~ {.python}
def onotice_cb(word, word_eol, userdata):
if len(word) < 2:
print "Second arg must be the message!"
else:
xchat.command("NOTICE @%s %s" % (xchat.get_info("channel"), word_eol[1]))
return xchat.EAT_ALL
xchat.hook_command("ONOTICE", onotice_cb, help="/ONOTICE <message> Sends a notice to all ops")
~~~~~~~~~~
You may return one of `EAT_*` constants in the callback, to control
xchat's behavior, as explained above.
#### xchat.hook_print(name, callback, userdata=None, priority=PRI_NORM)
This function allows you to register a callback to trap any print
events. The event names are available in the *Edit Event Texts* window.
Parameters `userdata` and `priority` have their meanings explained
above. This function returns a hook handler which may be used in the
`xchat.unhook()` function. For example:
~~~~~~~~~~ {.python}
def youpart_cb(word, word_eol, userdata):
print "You have left channel", word[2]
return xchat.EAT_XCHAT # Don't let xchat do its normal printing
xchat.hook_print("You Part", youpart_cb)
~~~~~~~~~~
You may return one of `EAT_*` constants in the callback, to control
xchat's behavior, as explained above.
#### xchat.hook_server(name, callback, userdata=None, priority=PRI_NORM)
This function allows you to register a callback to be called when a
certain server event occurs. You can use this to trap `PRIVMSG`,
`NOTICE`, `PART`, a server numeric, etc. Parameters `userdata` and
`priority` have their meanings explained above. This function returns a
hook handler which may be used in the `xchat.unhook()` function. For
example:
~~~~~~~~~~ {.python}
def kick_cb(word, word_eol, userdata):
print "%s was kicked from %s (%s)" % (word[3], word[2], word_eol[4])
# Don't eat this event, let other plugins and xchat see it too
return xchat.EAT_NONE
xchat.hook_server("KICK", kick_cb)
~~~~~~~~~~
You may return one of `EAT_*` constants in the callback, to control
xchat's behavior, as explained above.
#### xchat.hook_timer(timeout, callback, userdata=None)
This function allows you to register a callback to be called every
timeout milliseconds. Parameters userdata and priority have their
meanings explained above. This function returns a hook handler which may
be used in the `xchat.unhook()` function. For example:
~~~~~~~~~~ {.python}
myhook = None
def stop_cb(word, word_eol, userdata):
global myhook
if myhook is not None:
xchat.unhook(myhook)
myhook = None
print "Timeout removed!"
def timeout_cb(userdata):
print "Annoying message every 5 seconds! Type /STOP to stop it."
return 1 # Keep the timeout going
myhook = xchat.hook_timer(5000, timeout_cb)
xchat.hook_command("STOP", stop_cb)
~~~~~~~~~~
If you return a true value from the callback, the timer will be keeped,
otherwise it is removed.
#### xchat.hook_unload(timeout, callback, userdata=None)
This function allows you to register a callback to be called when the
plugin is going to be unloaded. Parameters `userdata` and `priority`
have their meanings explained above. This function returns a hook
handler which may be used in the `xchat.unhook()` function. For example:
~~~~~~~~~~ {.python}
def unload_cb(userdata):
print "We're being unloaded!"
xchat.hook_unload(unload_cb)
~~~~~~~~~~
#### xchat.unhook(handler)
Unhooks any hook registered with the hook functions above.
### Plugin preferences
You can use pluginpref to easily store and retrieve settings. This was added in the Python plugin version 0.9
#### xchat.set_pluginpref(name, value)
If neccessary creates a .conf file in the HexChat config dir named addon_python.conf and stores the value in it. Returns 1 on success 0 on failure.
> Note: Until the plugin uses different a conf file per script it's recommened to use 'PluginName-SettingName' to avoid conflicts.
#### xchat.get_pluginpref(name)
This will return the value of the variable of that name. If there is none by this name it will return `None`. Numbers are always returned as Integers.
#### xchat.del_pluginpref(name)
Deletes specified variable. Returns 1 on success (or never existing), 0 on failure.
#### xchat.list_pluginpref()
Returns a list of all currently set preferences.
### Context handling
Below you will find information about how to work with contexts.
#### Context objects
As explained in the Context theory session above, contexts give access
to a specific channel/query/server tab of xchat. Every function
available in the xchat module will be evaluated in the current context,
which will be specified by xchat itself before passing control to the
module. Sometimes you may want to work in a specific context, and that's
where context objects come into play.
You may create a context object using the `xchat.get_context()` or
`xchat.find_context()`, functions as explained below, or trough the
`xchat.get_list()` function, as explained in its respective session.
Each context object offers the following methods:
-------------------------------------------------------------------------------------------------------------------------
*Methods* *Description*
---------------------------------------- -----------------------------------------------------------------------------
context.set() Changes the current context to be the one represented by this context object.
context.prnt(string) Does the same as the xchat.prnt() function, but in the given context.
context.emit_print(event_name, *args) Does the same as the emit_print() function, but in the given context.
context.command(string) Does the same as the xchat.command() function, but in the given context.
context.get_info(type) Does the same as the xchat.get_info() function, but in the given context.
context.get_list(type) Does the same as the xchat.get_list() function, but in the given context.
-------------------------------------------------------------------------------------------------------------------------
#### xchat.get_context()
Returns a context object corresponding the the current context.
#### xchat.find_context(server=None, channel=None)
Finds a context based on a channel and servername. If `server` is
`None`, it finds any channel (or query) by the given name. If `channel`
is `None`, it finds the front-most tab/window of the given server. For
example:
~~~~~~~~~~ {.python}
cnc = xchat.find_context(channel='#conectiva')
cnc.command('whois niemeyer')
~~~~~~~~~~
* * * * *
Original Author: Gustavo Niemeyer [gustavo@niemeyer.net](mailto:gustavo@niemeyer.net)
For purty html: `pandoc --toc python.md -s --highlight-style haddock -o python.html`

View File

@ -0,0 +1,111 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{19C52A0A-A790-409E-A28A-9745FF990F5C}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>python</RootNamespace>
<ProjectName>python</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\win32\hexchat-xp.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\win32\hexchat-xp.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<TargetName>$(PythonOutput)</TargetName>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<TargetName>$(PythonOutput)</TargetName>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level1</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;PYTHON_EXPORTS;$(OwnFlags);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(Glib);$(PythonPath)\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<ModuleDefinitionFile>python.def</ModuleDefinitionFile>
<AdditionalDependencies>"$(PythonLib).lib";$(DepLibs);dirent-win32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(DepsRoot)\lib;$(OutDir);$(PythonPath)\libs;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level1</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;_WIN64;_AMD64_;NDEBUG;_WINDOWS;_USRDLL;PYTHON_EXPORTS;$(OwnFlags);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(Glib);$(PythonPath)\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<ModuleDefinitionFile>python.def</ModuleDefinitionFile>
<AdditionalDependencies>"$(PythonLib).lib";$(DepLibs);dirent-win32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(DepsRoot)\lib;$(OutDir);$(PythonPath)\libs;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<None Include="python.def" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="python.c" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<None Include="python.def">
<Filter>Resource Files</Filter>
</None>
</ItemGroup>
<ItemGroup>
<ClCompile Include="python.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -70,13 +70,13 @@
#include "pythread.h"
#define VERSION_MAJOR 0
#define VERSION_MINOR 1
#define VERSION_MINOR 9
#ifdef WIN32
#undef WITH_THREAD /* Thread support locks up xchat on Win32. */
#define VERSION "0.8/2.7" /* Linked to python27.dll */
#define VERSION "0.9/2.7" /* Linked to python27.dll */
#else
#define VERSION "0.8"
#define VERSION "0.9"
#endif
#define NONE 0
@ -279,6 +279,10 @@ static PyObject *Module_xchat_get_list(PyObject *self, PyObject *args);
static PyObject *Module_xchat_get_lists(PyObject *self, PyObject *args);
static PyObject *Module_xchat_nickcmp(PyObject *self, PyObject *args);
static PyObject *Module_xchat_strip(PyObject *self, PyObject *args);
static PyObject *Module_xchat_pluginpref_set(PyObject *self, PyObject *args);
static PyObject *Module_xchat_pluginpref_get(PyObject *self, PyObject *args);
static PyObject *Module_xchat_pluginpref_delete(PyObject *self, PyObject *args);
static PyObject *Module_xchat_pluginpref_list(PyObject *self, PyObject *args);
static void IInterp_Exec(char *command);
static int IInterp_Cmd(char *word[], char *word_eol[], void *userdata);
@ -1573,6 +1577,77 @@ Module_xchat_find_context(PyObject *self, PyObject *args, PyObject *kwargs)
return ctxobj;
}
static PyObject *
Module_xchat_pluginpref_set(PyObject *self, PyObject *args)
{
PyObject *result;
char *var;
PyObject *value;
if (!PyArg_ParseTuple(args, "sO:set_pluginpref", &var, &value))
return NULL;
if (PyInt_Check(value)) {
int intvalue = PyInt_AsLong(value);
result = PyInt_FromLong(xchat_pluginpref_set_int(ph, var, intvalue));
}
else if (PyString_Check(value)) {
char *charvalue = PyString_AsString(value);
result = PyInt_FromLong(xchat_pluginpref_set_str(ph, var, charvalue));
}
else
result = PyInt_FromLong(0);
return result;
}
static PyObject *
Module_xchat_pluginpref_get(PyObject *self, PyObject *args)
{
PyObject *ret;
char *var;
char retstr[512];
int retint;
if (!PyArg_ParseTuple(args, "s:get_pluginpref", &var))
return NULL;
// This will always return numbers as integers.
retint = xchat_pluginpref_get_int(ph, var);
if (xchat_pluginpref_get_str(ph, var, retstr)) {
if ((retint == 0) && (strcmp(retstr, "0") != 0))
ret = PyString_FromString(retstr);
else
ret = PyInt_FromLong(retint);
}
else
ret = Py_None;
return ret;
}
static PyObject *
Module_xchat_pluginpref_delete(PyObject *self, PyObject *args)
{
char *var;
int result;
if (!PyArg_ParseTuple(args, "s:del_pluginpref", &var))
return NULL;
result = xchat_pluginpref_delete(ph, var);
return PyInt_FromLong(result);
}
static PyObject *
Module_xchat_pluginpref_list(PyObject *self, PyObject *args)
{
char list[512];
char* token;
PyObject *pylist;
pylist = PyList_New(0);
if (xchat_pluginpref_list(ph, list)) {
token = strtok(list, ",");
while (token != NULL) {
PyList_Append(pylist, PyString_FromString(token));
token = strtok (NULL, ",");
}
}
return pylist;
}
static PyObject *
Module_xchat_hook_command(PyObject *self, PyObject *args, PyObject *kwargs)
{
@ -1907,6 +1982,14 @@ static PyMethodDef Module_xchat_methods[] = {
METH_NOARGS},
{"find_context", (PyCFunction)Module_xchat_find_context,
METH_VARARGS|METH_KEYWORDS},
{"set_pluginpref", Module_xchat_pluginpref_set,
METH_VARARGS},
{"get_pluginpref", Module_xchat_pluginpref_get,
METH_VARARGS},
{"del_pluginpref", Module_xchat_pluginpref_delete,
METH_VARARGS},
{"list_pluginpref", Module_xchat_pluginpref_list,
METH_VARARGS},
{"hook_command", (PyCFunction)Module_xchat_hook_command,
METH_VARARGS|METH_KEYWORDS},
{"hook_server", (PyCFunction)Module_xchat_hook_server,

View File

@ -21,14 +21,12 @@
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
@ -45,14 +43,14 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<TargetName>$(PythonOutput)</TargetName>
<OutDir>$(SolutionDir)build\$(PlatformName)\bin\</OutDir>
<IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)\</IntDir>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<TargetName>$(PythonOutput)</TargetName>
<OutDir>$(SolutionDir)build\$(PlatformName)\bin\</OutDir>
<IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)\</IntDir>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>

View File

@ -6,5 +6,5 @@ lib_LTLIBRARIES = sasl.la
sasl_la_SOURCES = sasl.c
sasl_la_LDFLAGS = -avoid-version -module
sasl_la_LIBADD =
INCLUDES = $(COMMON_CFLAGS) -I$(srcdir)/..
AM_CPPFLAGS = $(COMMON_CFLAGS) -I$(srcdir)/..

View File

@ -0,0 +1,111 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{18871EBA-AC85-4652-8919-EB8064B9A714}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>sasl</RootNamespace>
<ProjectName>sasl</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\win32\hexchat-xp.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\win32\hexchat-xp.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<TargetName>hcsasl</TargetName>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<TargetName>hcsasl</TargetName>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level1</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;SASL_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(Glib);..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<ModuleDefinitionFile>sasl.def</ModuleDefinitionFile>
<AdditionalLibraryDirectories>$(DepsRoot)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>$(DepLibs);%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level1</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;_WIN64;_AMD64_;NDEBUG;_WINDOWS;_USRDLL;SASL_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(Glib);..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<ModuleDefinitionFile>sasl.def</ModuleDefinitionFile>
<AdditionalLibraryDirectories>$(DepsRoot)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>$(DepLibs);%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<None Include="sasl.def" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="sasl.c" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<None Include="sasl.def">
<Filter>Resource Files</Filter>
</None>
</ItemGroup>
<ItemGroup>
<ClCompile Include="sasl.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -21,14 +21,12 @@
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
@ -45,14 +43,14 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<TargetName>hcsasl</TargetName>
<OutDir>$(SolutionDir)build\$(PlatformName)\bin\</OutDir>
<IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)\</IntDir>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<TargetName>hcsasl</TargetName>
<OutDir>$(SolutionDir)build\$(PlatformName)\bin\</OutDir>
<IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)\</IntDir>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>

View File

@ -7,4 +7,4 @@ lib_LTLIBRARIES = tcl.la
tcl_la_SOURCES = tclplugin.c
tcl_la_LDFLAGS = -avoid-version -module
tcl_la_LIBADD = $(TCL_LIBS)
INCLUDES = $(TCL_CFLAGS) $(COMMON_CFLAGS) -I$(srcdir)/..
AM_CPPFLAGS = $(TCL_CFLAGS) $(COMMON_CFLAGS) -I$(srcdir)/..

115
plugins/tcl/tcl-xp.vcxproj Normal file
View File

@ -0,0 +1,115 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClInclude Include="printevents.h" />
<ClInclude Include="tclplugin.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="tclplugin.c" />
</ItemGroup>
<ItemGroup>
<None Include="tcl.def" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{2773666A-8CFC-4533-A043-EAD59F16A1C7}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>tcl</RootNamespace>
<ProjectName>tcl</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\win32\hexchat-xp.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\win32\hexchat-xp.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<TargetName>$(TclOutput)</TargetName>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<TargetName>$(TclOutput)</TargetName>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level1</WarningLevel>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;TCL_EXPORTS;TCL_DLL="$(TclLib).dll";$(OwnFlags);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(TclPath)\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalLibraryDirectories>$(TclPath)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>"$(TclLib).lib";%(AdditionalDependencies)</AdditionalDependencies>
<ModuleDefinitionFile>tcl.def</ModuleDefinitionFile>
<DelayLoadDLLs>$(TclLib).dll;%(DelayLoadDLLs)</DelayLoadDLLs>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level1</WarningLevel>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;_WIN64;_AMD64_;NDEBUG;_WINDOWS;_USRDLL;TCL_EXPORTS;TCL_DLL="$(TclLib).dll";$(OwnFlags);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(TclPath)\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalLibraryDirectories>$(TclPath)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>"$(TclLib).lib";%(AdditionalDependencies)</AdditionalDependencies>
<ModuleDefinitionFile>tcl.def</ModuleDefinitionFile>
<DelayLoadDLLs>$(TclLib).dll;%(DelayLoadDLLs)</DelayLoadDLLs>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -0,0 +1,35 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="printevents.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="tclplugin.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="tclplugin.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<None Include="tcl.def">
<Filter>Resource Files</Filter>
</None>
</ItemGroup>
</Project>

View File

@ -31,14 +31,12 @@
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
@ -55,14 +53,14 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<TargetName>$(TclOutput)</TargetName>
<OutDir>$(SolutionDir)build\$(PlatformName)\bin\</OutDir>
<IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)\</IntDir>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<TargetName>$(TclOutput)</TargetName>
<OutDir>$(SolutionDir)build\$(PlatformName)\bin\</OutDir>
<IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)\</IntDir>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>

111
plugins/upd/upd-xp.vcxproj Normal file
View File

@ -0,0 +1,111 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{461DC24A-A410-4171-8C02-CCDBF3702C2A}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>upd</RootNamespace>
<ProjectName>upd</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\win32\hexchat-xp.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\win32\hexchat-xp.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<TargetName>hcupd</TargetName>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<TargetName>hcupd</TargetName>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level1</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;UPD_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<ModuleDefinitionFile>upd.def</ModuleDefinitionFile>
<AdditionalDependencies>$(DepLibs);%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(DepsRoot)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level1</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;_WIN64;_AMD64_;NDEBUG;_WINDOWS;_USRDLL;UPD_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<ModuleDefinitionFile>upd.def</ModuleDefinitionFile>
<AdditionalDependencies>$(DepLibs);%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(DepsRoot)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<None Include="upd.def" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="upd.c" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<None Include="upd.def">
<Filter>Resource Files</Filter>
</None>
</ItemGroup>
<ItemGroup>
<ClCompile Include="upd.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -21,14 +21,12 @@
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
@ -45,14 +43,14 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<TargetName>hcupd</TargetName>
<OutDir>$(SolutionDir)build\$(PlatformName)\bin\</OutDir>
<IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)\</IntDir>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<TargetName>hcupd</TargetName>
<OutDir>$(SolutionDir)build\$(PlatformName)\bin\</OutDir>
<IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)\</IntDir>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>

View File

@ -0,0 +1,107 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{E78C0D9A-798E-4BF6-B0CC-6FECB8CA2FCE}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>winamp</RootNamespace>
<ProjectName>winamp</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\win32\hexchat-xp.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\win32\hexchat-xp.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<TargetName>hcwinamp</TargetName>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<TargetName>hcwinamp</TargetName>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level1</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;WINAMP_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<ModuleDefinitionFile>winamp.def</ModuleDefinitionFile>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level1</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;_WIN64;_AMD64_;NDEBUG;_WINDOWS;_USRDLL;WINAMP_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<ModuleDefinitionFile>winamp.def</ModuleDefinitionFile>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<None Include="winamp.def" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="winamp.c" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<None Include="winamp.def">
<Filter>Resource Files</Filter>
</None>
</ItemGroup>
<ItemGroup>
<ClCompile Include="winamp.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -21,14 +21,12 @@
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
@ -45,14 +43,14 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<TargetName>hcwinamp</TargetName>
<OutDir>$(SolutionDir)build\$(PlatformName)\bin\</OutDir>
<IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)\</IntDir>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<TargetName>hcwinamp</TargetName>
<OutDir>$(SolutionDir)build\$(PlatformName)\bin\</OutDir>
<IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)\</IntDir>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>

View File

@ -0,0 +1,113 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{6C0CA980-97C5-427A-BE61-5BCECAFABBDA}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>winsys</RootNamespace>
<ProjectName>winsys</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\win32\hexchat-xp.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\win32\hexchat-xp.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<TargetName>hcwinsys</TargetName>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<TargetName>hcwinsys</TargetName>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level1</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;WINSYS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<ModuleDefinitionFile>winsys.def</ModuleDefinitionFile>
<AdditionalDependencies>wbemuuid.lib;vccomsup.lib;%(AdditionalDependencies)</AdditionalDependencies>
<IgnoreSpecificDefaultLibraries>comsupp.lib</IgnoreSpecificDefaultLibraries>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level1</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;_WIN64;_AMD64_;NDEBUG;_WINDOWS;_USRDLL;WINSYS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<ModuleDefinitionFile>winsys.def</ModuleDefinitionFile>
<AdditionalDependencies>wbemuuid.lib;vccomsup.lib;%(AdditionalDependencies)</AdditionalDependencies>
<IgnoreSpecificDefaultLibraries>comsupp.lib</IgnoreSpecificDefaultLibraries>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<None Include="winsys.def" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="winsys.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<None Include="winsys.def">
<Filter>Resource Files</Filter>
</None>
</ItemGroup>
<ItemGroup>
<ClCompile Include="winsys.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -21,14 +21,12 @@
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
@ -45,14 +43,14 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<TargetName>hcwinsys</TargetName>
<OutDir>$(SolutionDir)build\$(PlatformName)\bin\</OutDir>
<IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)\</IntDir>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<TargetName>hcwinsys</TargetName>
<OutDir>$(SolutionDir)build\$(PlatformName)\bin\</OutDir>
<IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)\</IntDir>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
@ -73,7 +71,7 @@
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<ModuleDefinitionFile>winsys.def</ModuleDefinitionFile>
<AdditionalDependencies>wbemuuid.lib;vccomsup.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>wbemuuid.lib;comsupp.lib;%(AdditionalDependencies)</AdditionalDependencies>
<IgnoreSpecificDefaultLibraries>comsupp.lib</IgnoreSpecificDefaultLibraries>
</Link>
</ItemDefinitionGroup>
@ -96,7 +94,7 @@
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<ModuleDefinitionFile>winsys.def</ModuleDefinitionFile>
<AdditionalDependencies>wbemuuid.lib;vccomsup.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>wbemuuid.lib;comsupp.lib;%(AdditionalDependencies)</AdditionalDependencies>
<IgnoreSpecificDefaultLibraries>comsupp.lib</IgnoreSpecificDefaultLibraries>
</Link>
</ItemDefinitionGroup>

View File

@ -0,0 +1,165 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{E7F4DB0A-510D-41EF-B284-6E1DE1CC450D}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>wmpa</RootNamespace>
<ProjectName>wmpa</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>false</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
<UseOfMfc>Dynamic</UseOfMfc>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>false</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
<UseOfMfc>Dynamic</UseOfMfc>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\win32\hexchat-xp.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\win32\hexchat-xp.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<TargetName>hcwmpa</TargetName>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<TargetName>hcwmpa</TargetName>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level1</WarningLevel>
<PrecompiledHeader>Create</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;WMPA_EXPORTS;_AFXDLL;_AFX_NO_DAO_SUPPORT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MultiProcessorCompilation>false</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<ModuleDefinitionFile>wmpa.def</ModuleDefinitionFile>
</Link>
<Midl>
<MkTypLibCompatible>true</MkTypLibCompatible>
</Midl>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level1</WarningLevel>
<PrecompiledHeader>Create</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;_WIN64;_AMD64_;NDEBUG;_WINDOWS;_USRDLL;WMPA_EXPORTS;_AFXDLL;_AFX_NO_DAO_SUPPORT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MultiProcessorCompilation>false</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<ModuleDefinitionFile>wmpa.def</ModuleDefinitionFile>
</Link>
<Midl>
<MkTypLibCompatible>true</MkTypLibCompatible>
</Midl>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="StdAfx.cpp" />
<ClCompile Include="wmpa.cpp" />
<ClCompile Include="wmpadialog.cpp" />
<ClCompile Include="wmpcdrom.cpp" />
<ClCompile Include="wmpcdromcollection.cpp" />
<ClCompile Include="wmpclosedcaption.cpp" />
<ClCompile Include="wmpcontrols.cpp" />
<ClCompile Include="wmpdvd.cpp" />
<ClCompile Include="wmperror.cpp" />
<ClCompile Include="wmperroritem.cpp" />
<ClCompile Include="wmpmedia.cpp" />
<ClCompile Include="wmpmediacollection.cpp" />
<ClCompile Include="wmpnetwork.cpp" />
<ClCompile Include="wmpplayer4.cpp" />
<ClCompile Include="wmpplayerapplication.cpp" />
<ClCompile Include="wmpplaylist.cpp" />
<ClCompile Include="wmpplaylistarray.cpp" />
<ClCompile Include="wmpplaylistcollection.cpp" />
<ClCompile Include="wmpsettings.cpp" />
<ClCompile Include="wmpstringcollection.cpp" />
<ClCompile Include="xchat-plugin.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="resource.h" />
<ClInclude Include="StdAfx.h" />
<ClInclude Include="wmpa.h" />
<ClInclude Include="wmpadialog.h" />
<ClInclude Include="wmpcdrom.h" />
<ClInclude Include="wmpcdromcollection.h" />
<ClInclude Include="wmpclosedcaption.h" />
<ClInclude Include="wmpcontrols.h" />
<ClInclude Include="wmpdvd.h" />
<ClInclude Include="wmperror.h" />
<ClInclude Include="wmperroritem.h" />
<ClInclude Include="wmpmedia.h" />
<ClInclude Include="wmpmediacollection.h" />
<ClInclude Include="wmpnetwork.h" />
<ClInclude Include="wmpplayer4.h" />
<ClInclude Include="wmpplayerapplication.h" />
<ClInclude Include="wmpplaylist.h" />
<ClInclude Include="wmpplaylistarray.h" />
<ClInclude Include="wmpplaylistcollection.h" />
<ClInclude Include="wmpsettings.h" />
<ClInclude Include="wmpstringcollection.h" />
<ClInclude Include="xchat-plugin.h" />
</ItemGroup>
<ItemGroup>
<None Include="ReadMe.txt" />
<None Include="res\wmpa.rc2" />
<None Include="wmpa.aps" />
<None Include="wmpa.def" />
<None Include="wmpa.ico" />
</ItemGroup>
<ItemGroup>
<Midl Include="wmpa.odl" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="wmpa.rc" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -0,0 +1,180 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
<Filter Include="Resource Files\res">
<UniqueIdentifier>{c54ddc93-06ab-4a74-854a-9ec976b7bfd0}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="StdAfx.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="wmpa.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="wmpadialog.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="wmpcdrom.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="wmpcdromcollection.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="wmpclosedcaption.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="wmpcontrols.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="wmpdvd.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="wmperror.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="wmperroritem.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="wmpmedia.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="wmpmediacollection.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="wmpnetwork.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="wmpplayer4.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="wmpplayerapplication.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="wmpplaylist.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="wmpplaylistarray.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="wmpplaylistcollection.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="wmpsettings.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="wmpstringcollection.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="xchat-plugin.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="resource.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="StdAfx.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="wmpa.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="wmpadialog.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="wmpcdrom.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="wmpcdromcollection.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="wmpclosedcaption.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="wmpcontrols.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="wmpdvd.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="wmperror.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="wmperroritem.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="wmpmedia.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="wmpmediacollection.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="wmpnetwork.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="wmpplayer4.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="wmpplayerapplication.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="wmpplaylist.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="wmpplaylistarray.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="wmpplaylistcollection.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="wmpsettings.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="wmpstringcollection.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="xchat-plugin.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="wmpa.aps">
<Filter>Resource Files</Filter>
</None>
<None Include="wmpa.def">
<Filter>Resource Files</Filter>
</None>
<None Include="wmpa.ico">
<Filter>Resource Files</Filter>
</None>
<None Include="ReadMe.txt">
<Filter>Resource Files</Filter>
</None>
<None Include="res\wmpa.rc2">
<Filter>Resource Files\res</Filter>
</None>
</ItemGroup>
<ItemGroup>
<Midl Include="wmpa.odl">
<Filter>Resource Files</Filter>
</Midl>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="wmpa.rc">
<Filter>Resource Files</Filter>
</ResourceCompile>
</ItemGroup>
</Project>

View File

@ -21,7 +21,6 @@
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>false</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
<UseOfMfc>Dynamic</UseOfMfc>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
@ -29,7 +28,6 @@
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>false</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
<UseOfMfc>Dynamic</UseOfMfc>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
@ -47,14 +45,14 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<TargetName>hcwmpa</TargetName>
<OutDir>$(SolutionDir)build\$(PlatformName)\bin\</OutDir>
<IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)\</IntDir>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<TargetName>hcwmpa</TargetName>
<OutDir>$(SolutionDir)build\$(PlatformName)\bin\</OutDir>
<IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)\</IntDir>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>

View File

@ -576,15 +576,15 @@ msgstr "SET [-e] [-off|-on] [-quiet] <Variable> [<Wert>]"
#: src/common/outbound.c:3673
msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox"
msgstr ""
msgstr "SETCURSOR [-|+]<Position>, ändert die Position des Cursors in der Eingabezeile"
#: src/common/outbound.c:3674
msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies"
msgstr ""
msgstr "SETTAB <neue Bezeichnung>, ändert die Bezeichnung eines Reiters, tab_trunc-Limit besteht weiterhin"
#: src/common/outbound.c:3675
msgid "SETTEXT <new text>, replace the text in the input box"
msgstr ""
msgstr "SETTEXT <neuer Text>, Text in der Eingabezeile ersetzen"
#: src/common/outbound.c:3678
msgid ""
@ -605,9 +605,9 @@ msgstr ""
"\n"
"TRAY -f <Zeitüberschreitung> <Datei1> [<Datei2>] Wechselt im "
"Benachrichtigungsbereich zwischen zwei Symbolen.\n"
"TRAY -f <Dateiname> Setzt Benachrichtigungssysmbol auf ein "
"TRAY -f <Dateiname> Setzt Benachrichtigungssymbol auf ein "
"festes Symbol.\n"
"TRAY -i <Nummer> Blnkt im Benachrichtigungsbereich mit "
"TRAY -i <Nummer> Blinkt im Benachrichtigungsbereich mit "
"einem internen Symbol.\n"
"TRAY -t <Text> Setzt den Tooltip für den "
"Benachrichtigungsbereich.\n"

View File

@ -2,7 +2,7 @@
noinst_LIBRARIES = libxchatcommon.a
INCLUDES = $(COMMON_CFLAGS)
AM_CPPFLAGS = $(COMMON_CFLAGS)
EXTRA_DIST = \
cfgfiles.h \
@ -28,6 +28,7 @@ EXTRA_DIST = \
servlist.h \
ssl.h \
ssl.c \
strlutil.c \
text.h \
textenums.h \
textevents.h \
@ -54,7 +55,7 @@ SUBDIRS = $(dbusdir) .
libxchatcommon_a_SOURCES = cfgfiles.c chanopt.c ctcp.c dcc.c history.c ignore.c \
inbound.c modes.c msproxy.c network.c notify.c outbound.c \
plugin.c plugin-timer.c proto-irc.c server.c servlist.c $(ssl_c) \
text.c tree.c url.c userlist.c util.c xchat.c
strlutil.c text.c tree.c url.c userlist.c util.c xchat.c
libxchatcommon_a_CFLAGS = $(LIBPROXY_CFLAGS)
textevents: make-te

View File

@ -39,7 +39,7 @@
#define DEF_FONT "Monospace 9"
#ifdef WIN32
#define DEF_FONT_ALTER "Arial Unicode MS,Lucida Sans Unicode,MS Gothic"
#define DEF_FONT_ALTER "Arial Unicode MS,Lucida Sans Unicode,MS Gothic,Unifont"
#endif
void
@ -316,20 +316,18 @@ get_xdir_fs (void)
{
if (!xdir_fs)
{
if (portable_mode ())
{
xdir_fs = ".\\config";
}
else
{
char out[256];
if (!get_reg_str ("Software\\Microsoft\\Windows\\CurrentVersion\\"
"Explorer\\Shell Folders", "AppData", out, sizeof (out)))
return "./config";
xdir_fs = g_strdup_printf ("%s\\" "HexChat", out);
}
if (portable_mode () || !get_reg_str ("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders", "AppData", out, sizeof (out)))
{
xdir_fs = ".\\config";
}
else
{
xdir_fs = g_strdup_printf ("%s\\" "HexChat", out);
}
}
return xdir_fs;
}
@ -393,10 +391,8 @@ default_file (void)
/* Keep these sorted!! */
const struct prefs vars[] = {
{"auto_save", P_OFFINT (autosave), TYPE_BOOL},
{"auto_save_url", P_OFFINT (autosave_url), TYPE_BOOL},
{"away_auto_unmark", P_OFFINT (auto_unmark_away), TYPE_BOOL},
{"away_omit_alerts", P_OFFINT (away_omit_alerts), TYPE_BOOL},
{"away_reason", P_OFFSET (awayreason), TYPE_STR},
{"away_show_message", P_OFFINT (show_away_message), TYPE_BOOL},
{"away_show_once", P_OFFINT (show_away_once), TYPE_BOOL},
@ -498,7 +494,7 @@ const struct prefs vars[] = {
{"input_balloon_time", P_OFFINT (input_balloon_time), TYPE_INT},
{"input_beep_chans", P_OFFINT (input_beep_chans), TYPE_BOOL},
{"input_beep_hilight", P_OFFINT (input_beep_hilight), TYPE_BOOL},
{"input_beep_msg", P_OFFINT (input_beep_priv), TYPE_BOOL},
{"input_beep_priv", P_OFFINT (input_beep_priv), TYPE_BOOL},
{"input_command_char", P_OFFSET (cmdchar), TYPE_STR},
{"input_filter_beep", P_OFFINT (filterbeep), TYPE_BOOL},
{"input_flash_chans", P_OFFINT (input_flash_chans), TYPE_BOOL},
@ -566,9 +562,7 @@ const struct prefs vars[] = {
{"tab_chans", P_OFFINT (tabchannels), TYPE_BOOL},
{"tab_dialogs", P_OFFINT (privmsgtab), TYPE_BOOL},
#ifdef WIN32
{"tab_icons", P_OFFINT (tab_icons), TYPE_BOOL},
#endif
{"tab_layout", P_OFFINT (tab_layout), TYPE_INT},
{"tab_new_to_front", P_OFFINT (newtabstofront), TYPE_INT},
{"tab_notices", P_OFFINT (notices_tabs), TYPE_BOOL},
@ -580,9 +574,9 @@ const struct prefs vars[] = {
{"tab_trunc", P_OFFINT (truncchans), TYPE_INT},
{"tab_utils", P_OFFINT (windows_as_tabs), TYPE_BOOL},
{"text_auto_copy_color", P_OFFINT (autocopy_color), TYPE_BOOL},
{"text_auto_copy_stamp", P_OFFINT (autocopy_stamp), TYPE_BOOL},
{"text_auto_copy_text", P_OFFINT (autocopy_text), TYPE_BOOL},
{"text_autocopy_color", P_OFFINT (autocopy_color), TYPE_BOOL},
{"text_autocopy_stamp", P_OFFINT (autocopy_stamp), TYPE_BOOL},
{"text_autocopy_text", P_OFFINT (autocopy_text), TYPE_BOOL},
{"text_background", P_OFFSET (background), TYPE_STR},
{"text_color_nicks", P_OFFINT (colorednicks), TYPE_BOOL},
#ifdef WIN32
@ -597,7 +591,6 @@ const struct prefs vars[] = {
{"text_max_indent", P_OFFINT (max_auto_indent), TYPE_INT},
{"text_max_lines", P_OFFINT (max_lines), TYPE_INT},
{"text_replay", P_OFFINT (text_replay), TYPE_BOOL},
{"text_replay_strip_color", P_OFFINT (text_replay_strip_color), TYPE_BOOL},
{"text_search_case_match", P_OFFINT (text_search_case_match), TYPE_BOOL},
{"text_search_backward", P_OFFINT (text_search_backward), TYPE_BOOL},
{"text_search_highlight_all", P_OFFINT (text_search_highlight_all), TYPE_BOOL},
@ -606,7 +599,9 @@ const struct prefs vars[] = {
{"text_show_marker", P_OFFINT (show_marker), TYPE_BOOL},
{"text_show_sep", P_OFFINT (show_separator), TYPE_BOOL},
{"text_spell_langs", P_OFFSET (spell_langs), TYPE_STR},
{"text_stripcolor", P_OFFINT (stripcolor), TYPE_BOOL},
{"text_stripcolor_msg", P_OFFINT (text_stripcolor_msg), TYPE_BOOL},
{"text_stripcolor_replay", P_OFFINT (text_stripcolor_replay), TYPE_BOOL},
{"text_stripcolor_topic", P_OFFINT (text_stripcolor_topic), TYPE_BOOL},
{"text_thin_sep", P_OFFINT (thin_separator), TYPE_BOOL},
{"text_tint_blue", P_OFFINT (tint_blue), TYPE_INT},
{"text_tint_green", P_OFFINT (tint_green), TYPE_INT},
@ -616,6 +611,7 @@ const struct prefs vars[] = {
{"url_grabber", P_OFFINT (url_grabber), TYPE_BOOL},
{"url_grabber_limit", P_OFFINT (url_grabber_limit), TYPE_INT},
{"url_logging", P_OFFINT (url_logging), TYPE_BOOL},
{0, 0, 0},
};
@ -682,22 +678,25 @@ load_config (void)
prefs.fastdccsend = 1;
#endif
prefs.wordwrap = 1;
prefs.autosave = 1;
prefs.autodialog = 1;
prefs.gui_input_spell = 1;
prefs.autoreconnect = 1;
prefs.recon_delay = 10;
prefs.autocopy_text = 1;
prefs.text_replay = 1;
prefs.text_replay_strip_color = 1;
prefs.text_stripcolor_replay = 1;
prefs.text_stripcolor_topic = 1;
prefs.tabchannels = 1;
prefs.tab_layout = 2; /* 0=Tabs 1=Reserved 2=Tree */
prefs.tab_icons = 1;
prefs.tab_sort = 1;
prefs.paned_userlist = 1;
prefs.newtabstofront = 2;
prefs.use_server_tab = 1;
prefs.privmsgtab = 1;
/*prefs.style_inputbox = 1;*/
/* prefs.colorednicks = 1; */
prefs.style_inputbox = 1;
prefs.style_namelistgad = 1;
prefs.dccpermissions = 0600;
prefs.max_lines = 500;
prefs.mainwindow_width = 640;
@ -727,12 +726,12 @@ load_config (void)
prefs.autoopendccrecvwindow = 1;
prefs.autoopendccsendwindow = 1;
prefs.autoopendccchatwindow = 1;
prefs.userhost = 1;
/* prevent kicks and bans caused by overwhelming who'ing after reconnects */
/* prefs.userhost = 1; */
prefs.gui_chanlist_maxusers = 9999;
prefs.gui_chanlist_minusers = 5;
prefs.gui_url_mod = 4; /* ctrl */
prefs.gui_tray = 1;
prefs.gui_pane_left_size = 100;
prefs.gui_pane_left_size = 128; /* with treeview icons we need a bit bigger space */
prefs.gui_pane_right_size = 100;
prefs.gui_pane_right_size_min = 80;
prefs.mainwindow_save = 1;
@ -742,13 +741,14 @@ load_config (void)
prefs.input_tray_priv = prefs.input_tray_hilight = 1;
prefs.autodccsend = 2; /* browse mode */
prefs.url_grabber = 1;
prefs.url_grabber_limit = 0; /* 0 means unlimited for backcompat */
prefs.url_grabber_limit = 100; /* 0 means unlimited */
prefs.text_search_follow = 1;
prefs.timestamp = 1;
#ifdef WIN32
prefs.identd = 1;
#endif
strcpy (prefs.spell_langs, g_getenv ("LC_ALL") ? g_getenv ("LC_ALL") : "en_US");
strcpy (prefs.stamp_format, "[%H:%M] ");
strcpy (prefs.stamp_format, "[%H:%M:%S] ");
strcpy (prefs.timestamp_log_format, "%b %d %H:%M:%S ");
strcpy (prefs.logmask, "%n-%c.log");
strcpy (prefs.nick_suffix, ",");
@ -765,11 +765,14 @@ load_config (void)
{
char out[256];
if (get_reg_str ("Software\\Microsoft\\Windows\\CurrentVersion\\"
"Explorer\\Shell Folders", "Personal", out, sizeof (out)))
snprintf (prefs.dccdir, sizeof (prefs.dccdir), "%s\\Downloads", out);
if (portable_mode () || !get_reg_str ("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders", "Personal", out, sizeof (out)))
{
snprintf (prefs.dccdir, sizeof (prefs.dccdir), "%s\\downloads", get_xdir_utf8 ());
}
else
snprintf (prefs.dccdir, sizeof (prefs.dccdir), "%s\\Downloads", get_xdir_utf8 ());
{
snprintf (prefs.dccdir, sizeof (prefs.dccdir), "%s\\Downloads", out);
}
}
#else
snprintf (prefs.sounddir, sizeof (prefs.sounddir), "%s/sounds", get_xdir_utf8 ());
@ -785,7 +788,7 @@ load_config (void)
strcpy (prefs.font_alternative, DEF_FONT_ALTER);
#endif
strcpy (prefs.dnsprogram, "host");
strcpy (prefs.irc_no_hilight, "NickServ,ChanServ");
strcpy (prefs.irc_no_hilight, "NickServ,ChanServ,InfoServ,N,Q");
g_free ((char *)username);
g_free ((char *)realname);
@ -1139,7 +1142,7 @@ cmd_set (struct session *sess, char *tbuf, char *word[], char *word_eol[])
{
PrintText (sess, "No such variable.\n");
}
else if (prefs.autosave && !save_config ())
else if (!save_config ())
{
PrintText (sess, "Error saving changes to disk.\n");
}

View File

@ -0,0 +1,160 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\config.h" />
<ClInclude Include="cfgfiles.h" />
<ClInclude Include="chanopt.h" />
<ClInclude Include="ctcp.h" />
<ClInclude Include="dcc.h" />
<ClInclude Include="fe.h" />
<ClInclude Include="history.h" />
<ClInclude Include="identd.h" />
<ClInclude Include="ignore.h" />
<ClInclude Include="inbound.h" />
<ClInclude Include="inet.h" />
<ClInclude Include="modes.h" />
<ClInclude Include="msproxy.h" />
<ClInclude Include="network.h" />
<ClInclude Include="notify.h" />
<ClInclude Include="outbound.h" />
<ClInclude Include="plugin-timer.h" />
<ClInclude Include="plugin.h" />
<ClInclude Include="proto-irc.h" />
<ClInclude Include="server.h" />
<ClInclude Include="servlist.h" />
<ClInclude Include="ssl.h" />
<ClInclude Include="strlutil.h" />
<ClInclude Include="text.h" />
<ClInclude Include="textenums.h" />
<ClInclude Include="textevents.h" />
<ClInclude Include="thread.h" />
<ClInclude Include="tree.h" />
<ClInclude Include="url.h" />
<ClInclude Include="userlist.h" />
<ClInclude Include="util.h" />
<ClInclude Include="xchat-plugin.h" />
<ClInclude Include="xchat.h" />
<ClInclude Include="xchatc.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="cfgfiles.c" />
<ClCompile Include="chanopt.c" />
<ClCompile Include="ctcp.c" />
<ClCompile Include="dcc.c" />
<ClCompile Include="history.c" />
<ClCompile Include="identd.c" />
<ClCompile Include="ignore.c" />
<ClCompile Include="inbound.c" />
<ClCompile Include="modes.c" />
<ClCompile Include="msproxy.c" />
<ClCompile Include="network.c" />
<ClCompile Include="notify.c" />
<ClCompile Include="outbound.c" />
<ClCompile Include="plugin-timer.c" />
<ClCompile Include="plugin.c" />
<ClCompile Include="proto-irc.c" />
<ClCompile Include="server.c" />
<ClCompile Include="servlist.c" />
<ClCompile Include="ssl.c" />
<ClCompile Include="strlutil.c" />
<ClCompile Include="text.c" />
<ClCompile Include="thread.c" />
<ClCompile Include="tree.c" />
<ClCompile Include="url.c" />
<ClCompile Include="userlist.c" />
<ClCompile Include="util.c" />
<ClCompile Include="xchat.c" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{87554B59-006C-4D94-9714-897B27067BA3}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>common</RootNamespace>
<ProjectName>common</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\win32\hexchat-xp.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\win32\hexchat-xp.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level1</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;$(OwnFlags);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(DepsRoot)\include;$(Glib);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level1</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;_WIN64;_AMD64_;NDEBUG;_LIB;$(OwnFlags);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(DepsRoot)\include;$(Glib);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -0,0 +1,200 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="cfgfiles.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="chanopt.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="ctcp.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="dcc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="fe.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="history.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="identd.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="ignore.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="inbound.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="inet.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="modes.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="msproxy.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="network.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="notify.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="outbound.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="plugin.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="plugin-timer.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="proto-irc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="server.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="servlist.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="ssl.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="text.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="textenums.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="textevents.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="thread.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="tree.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="url.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="userlist.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="util.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="xchat.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="xchatc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="xchat-plugin.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\config.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="strlutil.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="cfgfiles.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="chanopt.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="ctcp.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="dcc.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="history.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="identd.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="ignore.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="inbound.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="modes.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="msproxy.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="network.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="notify.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="outbound.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="plugin.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="plugin-timer.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="proto-irc.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="server.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="servlist.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="ssl.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="text.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="thread.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="tree.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="url.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="userlist.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="util.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="xchat.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="strlutil.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -33,6 +33,7 @@
<ClInclude Include="server.h" />
<ClInclude Include="servlist.h" />
<ClInclude Include="ssl.h" />
<ClInclude Include="strlutil.h" />
<ClInclude Include="text.h" />
<ClInclude Include="textenums.h" />
<ClInclude Include="textevents.h" />
@ -65,6 +66,7 @@
<ClCompile Include="server.c" />
<ClCompile Include="servlist.c" />
<ClCompile Include="ssl.c" />
<ClCompile Include="strlutil.c" />
<ClCompile Include="text.c" />
<ClCompile Include="thread.c" />
<ClCompile Include="tree.c" />
@ -84,14 +86,12 @@
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
@ -106,12 +106,12 @@
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>$(SolutionDir)build\$(PlatformName)\bin\</OutDir>
<IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)\</IntDir>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>$(SolutionDir)build\$(PlatformName)\bin\</OutDir>
<IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)\</IntDir>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>

View File

@ -110,6 +110,9 @@
<ClInclude Include="..\..\config.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="strlutil.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="cfgfiles.c">
@ -190,5 +193,8 @@
<ClCompile Include="xchat.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="strlutil.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -19,7 +19,7 @@ BUILT_SOURCES = \
CLEANFILES = $(BUILT_SOURCES)
INCLUDES = $(COMMON_CFLAGS) $(DBUS_CFLAGS)
AM_CPPFLAGS = $(COMMON_CFLAGS) $(DBUS_CFLAGS)
noinst_PROGRAMS = example
example_SOURCES = example.c

View File

@ -98,7 +98,7 @@ void fe_set_nonchannel (struct session *sess, int state);
void fe_set_nick (struct server *serv, char *newnick);
void fe_ignore_update (int level);
void fe_beep (void);
void fe_lastlog (session *sess, session *lastlog_sess, char *sstr, gboolean regexp);
void fe_lastlog (session *sess, session *lastlog_sess, char *sstr, gtk_xtext_search_flags flags);
void fe_set_lag (server *serv, int lag);
void fe_set_throttle (server *serv);
void fe_set_away (server *serv);

View File

@ -58,8 +58,8 @@ identd (char *username)
identd_is_running = FALSE;
snprintf (outbuf, sizeof (outbuf), "%%\tServicing ident request from %s\n",
inet_ntoa (addr.sin_addr));
snprintf (outbuf, sizeof (outbuf), "%%\tServicing ident request from %s with user name \"%s\"\n",
inet_ntoa (addr.sin_addr), username);
PrintText (current_sess, outbuf);
recv (read_sok, buf, sizeof (buf) - 1, 0);
@ -139,7 +139,7 @@ identd_ipv6 (char *username)
snprintf (ipv6buf, sizeof (ipv6buf) - 1, "[SOCKET ERROR: 0x%X]", WSAGetLastError ());
}
snprintf (outbuf, sizeof (outbuf), "%%\tServicing ident request from %s\n", ipv6buf);
snprintf (outbuf, sizeof (outbuf), "%%\tServicing ident request from %s with user name \"%s\"\n", ipv6buf, username);
PrintText (current_sess, outbuf);
recv (read_sok, buf, sizeof (buf) - 1, 0);

View File

@ -0,0 +1,104 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{A7D7CE59-2A31-48AE-BED2-A9828E241832}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>makete</RootNamespace>
<ProjectName>make-te</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>WDK7</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\win32\hexchat-xp.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\win32\hexchat-xp.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level1</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
<PostBuildEvent>
<Command>"$(HexChatBin)make-te.exe" &lt; "$(ProjectDir)textevents.in" &gt; "$(ProjectDir)textevents.h" 2&gt; "$(ProjectDir)textenums.h"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level1</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
<PostBuildEvent>
<Command>"$(HexChatBin)make-te.exe" &lt; "$(ProjectDir)textevents.in" &gt; "$(ProjectDir)textevents.h" 2&gt; "$(ProjectDir)textenums.h"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="make-te.c" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="make-te.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

101
src/common/make-te.vcxproj Normal file
View File

@ -0,0 +1,101 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{A7D7CE59-2A31-48AE-BED2-A9828E241832}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>makete</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\win32\hexchat.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\win32\hexchat.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<OutDir>$(HexChatBin)</OutDir>
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level1</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
<PostBuildEvent>
<Command>"$(HexChatBin)make-te.exe" &lt; "$(ProjectDir)textevents.in" &gt; "$(ProjectDir)textevents.h" 2&gt; "$(ProjectDir)textenums.h"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level1</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
<PostBuildEvent>
<Command>"$(HexChatBin)make-te.exe" &lt; "$(ProjectDir)textevents.in" &gt; "$(ProjectDir)textevents.h" 2&gt; "$(ProjectDir)textenums.h"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="make-te.c" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="make-te.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -258,6 +258,41 @@ cmd_addbutton (struct session *sess, char *tbuf, char *word[],
return FALSE;
}
/* ADDSERVER <networkname> <serveraddress>, add a new network and server to the network list */
static int
cmd_addserver (struct session *sess, char *tbuf, char *word[], char *word_eol[])
{
ircnet *network;
/* do we have enough arguments given? */
if (*word[2] && *word_eol[3])
{
network = servlist_net_find (word[2], NULL, strcmp);
/* if the given network doesn't exist yet, add it */
if (!network)
{
network = servlist_net_add (word[2], "", TRUE);
network->encoding = strdup (IRC_DEFAULT_CHARSET);
}
/* if we had the network already, check if the given server already exists */
else if (servlist_server_find (network, word_eol[3], NULL))
{
PrintTextf (sess, _("Server %s already exists on network %s.\n"), word_eol[3], word[2]);
return TRUE; /* unsuccessful, but the syntax was correct so we don't want to show the help */
}
/* server added to new or existing network, doesn't make any difference */
servlist_server_add (network, word_eol[3]);
PrintTextf (sess, _("Added server %s to network %s.\n"), word_eol[3], word[2]);
return TRUE; /* success */
}
else
{
return FALSE; /* print help */
}
}
static int
cmd_allchannels (session *sess, char *tbuf, char *word[], char *word_eol[])
{
@ -2362,7 +2397,7 @@ cmd_lagcheck (struct session *sess, char *tbuf, char *word[], char *word_eol[])
}
static void
lastlog (session *sess, char *search, gboolean regexp)
lastlog (session *sess, char *search, gtk_xtext_search_flags flags)
{
session *lastlog_sess;
@ -2374,29 +2409,50 @@ lastlog (session *sess, char *search, gboolean regexp)
lastlog_sess = new_ircwindow (sess->server, "(lastlog)", SESS_DIALOG, 0);
lastlog_sess->lastlog_sess = sess;
lastlog_sess->lastlog_regexp = regexp; /* remember the search type */
lastlog_sess->lastlog_flags = flags;
fe_text_clear (lastlog_sess, 0);
fe_lastlog (sess, lastlog_sess, search, regexp);
fe_lastlog (sess, lastlog_sess, search, flags);
}
static int
cmd_lastlog (struct session *sess, char *tbuf, char *word[], char *word_eol[])
{
if (*word_eol[2])
int j = 2;
gtk_xtext_search_flags flags = 0;
gboolean doublehyphen = FALSE;
while (word_eol[j] != NULL && word_eol [j][0] == '-' && !doublehyphen)
{
if (!strcmp (word[2], "-r"))
switch (word_eol [j][1])
{
lastlog (sess, word_eol[3], TRUE);
}
else
{
lastlog (sess, word_eol[2], FALSE);
case 'r':
flags |= regexp;
break;
case 'm':
flags |= case_match;
break;
case 'h':
flags |= highlight;
break;
case '-':
doublehyphen = TRUE;
break;
default:
break;
/* O dear whatever shall we do here? */
}
j++;
}
if (*word_eol[j])
{
lastlog (sess, word_eol[j], flags);
return TRUE;
}
return FALSE;
else
{
return FALSE;
}
}
static int
@ -3513,6 +3569,7 @@ cmd_voice (struct session *sess, char *tbuf, char *word[], char *word_eol[])
const struct commands xc_cmds[] = {
{"ADDBUTTON", cmd_addbutton, 0, 0, 1,
N_("ADDBUTTON <name> <action>, adds a button under the user-list")},
{"ADDSERVER", cmd_addserver, 0, 0, 1, N_("ADDSERVER <New Network> <newserver/6667>, adds a new network with a new server to the network list")},
{"ALLCHAN", cmd_allchannels, 0, 0, 1,
N_("ALLCHAN <cmd>, sends a command to all channels you're in")},
{"ALLCHANL", cmd_allchannelslocal, 0, 0, 1,
@ -3602,7 +3659,11 @@ const struct commands xc_cmds[] = {
{"LAGCHECK", cmd_lagcheck, 0, 0, 1,
N_("LAGCHECK, forces a new lag check")},
{"LASTLOG", cmd_lastlog, 0, 0, 1,
N_("LASTLOG [-r] <string>, searches for a string in the buffer")},
N_("LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n"
" Use -h to highlight the found string(s)\n"
" Use -m to match case\n"
" Use -r when string is a Regular Expression\n"
" Use -- (double hyphen) to end options when searching for, say, the string '-r'")},
{"LIST", cmd_list, 1, 0, 1, 0},
{"LOAD", cmd_load, 0, 0, 1, N_("LOAD [-e] <file>, loads a plugin or script")},
@ -3668,7 +3729,7 @@ const struct commands xc_cmds[] = {
#endif
#ifdef USE_OPENSSL
{"SERVER", cmd_server, 0, 0, 1,
N_("SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the default port is 6667 for normal connections, and 9999 for ssl connections")},
N_("SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the default port is 6667 for normal connections, and 6697 for ssl connections")},
#else
{"SERVER", cmd_server, 0, 0, 1,
N_("SERVER <host> [<port>] [<password>], connects to a server, the default port is 6667")},
@ -4099,7 +4160,7 @@ handle_say (session *sess, char *text, int check_spch)
if (strcmp (sess->channel, "(lastlog)") == 0)
{
lastlog (sess->lastlog_sess, text, sess->lastlog_regexp);
lastlog (sess->lastlog_sess, text, sess->lastlog_flags);
return;
}

View File

@ -312,8 +312,10 @@ server_inline (server *serv, char *line, int len)
char *utf_line_allocated = NULL;
#ifdef WIN32
#if 0
char *cleaned_line;
int cleaned_len;
#endif
#endif
/* Checks whether we're set to use UTF-8 charset */
@ -403,12 +405,15 @@ server_inline (server *serv, char *line, int len)
}
#ifdef WIN32
#if 0
cleaned_line = text_replace_non_bmp (line, len, &cleaned_len);
if (cleaned_line != NULL ) {
line = cleaned_line;
len = cleaned_len;
}
#endif
text_replace_non_bmp2 (line);
#endif
fe_add_rawlog (serv, line, len, FALSE);
@ -416,7 +421,9 @@ server_inline (server *serv, char *line, int len)
serv->p_inline (serv, line, len);
#ifdef WIN32
#if 0
g_free (cleaned_line);
#endif
#endif
if (utf_line_allocated != NULL) /* only if a special copy was allocated */
@ -962,12 +969,14 @@ server_read_child (GIOChannel *source, GIOCondition condition, server *serv)
#ifdef WIN32
if (prefs.identd)
{
if (serv->network)
identd_start ((((ircnet *)serv->network)->user) ?
(((ircnet *)serv->network)->user) :
prefs.username);
if (serv->network && ((ircnet *)serv->network)->user)
{
identd_start (((ircnet *)serv->network)->user);
}
else
{
identd_start (prefs.username);
}
}
#else
snprintf (outbuf, sizeof (outbuf), "%s/auth/xchat_auth",
@ -1689,7 +1698,7 @@ server_connect (server *serv, char *hostname, int port, int no_login)
port = 6667;
#ifdef USE_OPENSSL
if (serv->use_ssl)
port = 9999;
port = 6697;
#endif
}
port &= 0xffff; /* wrap around */

View File

@ -52,8 +52,8 @@ static const struct defaultserver def[] =
{"2600net", 0},
{0, "irc.2600.net"},
{"7-indonesia", 0},
{0, "irc.7-indonesia.org"},
/* {"7-indonesia", 0},
{0, "irc.7-indonesia.org"},*/
{"AccessIRC", 0},
{0, "irc.accessirc.net"},
@ -84,11 +84,18 @@ static const struct defaultserver def[] =
{0, "irc.5ci.net"},
{0, "irc.kis.lt"},
{"AmigaNet", 0},
{"AlphaChat", 0},
{0, "irc.alphachat.net"},
{0, "na.alphachat.net"},
{0, "eu.alphachat.net"},
{0, "au.alphachat.net"},
{0, "za.alphachat.net"},
/* {"AmigaNet", 0},
{0, "irc.amiganet.org"},
{0, "us.amiganet.org"},
{0, "uk.amiganet.org"},
/* {0, "no.amiganet.org"},
{0, "no.amiganet.org"},
{0, "au.amiganet.org"},*/
{"ARCNet", 0},
@ -107,8 +114,8 @@ static const struct defaultserver def[] =
/* {0, "uk3.arcnet.vapor.com"},*/
{0, "fr1.arcnet.vapor.com"},
{"AstroLink", 0},
{0, "irc.astrolink.org"},
/* {"AstroLink", 0},
{0, "irc.astrolink.org"},*/
{"AustNet", 0},
{0, "au.austnet.org"},
@ -128,6 +135,12 @@ static const struct defaultserver def[] =
{"Beirut", 0},
{0, "irc.beirut.com"},
{"Chat4all", 0},
#ifdef USE_OPENSSL
{0, "irc.chat4all.org/+7001"},
#endif
{0, "irc.chat4all.org"},
{"ChattingAway", 0},
{0, "irc.chattingaway.com"},
@ -139,16 +152,16 @@ static const struct defaultserver def[] =
{0, "US.ChatNet.Org"},
{0, "EU.ChatNet.Org"},
{"ChatSociety", 0},
/* {"ChatSociety", 0},
{0, "us.chatsociety.net"},
{0, "eu.chatsociety.net"},
{0, "eu.chatsociety.net"},*/
{"ChatSpike", 0},
{0, "irc.chatspike.net"},
{"CoolChat", 0},
/* {"CoolChat", 0},
{0, "irc.coolchat.net"},
/* {0, "unix.coolchat.net"},
{0, "unix.coolchat.net"},
{0, "toronto.coolchat.net"},*/
{"Criten", 0},
@ -189,6 +202,24 @@ static const struct defaultserver def[] =
{"EnterTheGame", 0},
{0, "IRC.EnterTheGame.Com"},
{"EntropyNet", 0},
#ifdef USE_OPENSSL
{0, "irc.entropynet.net/+6697"},
#endif
{0, "irc.entropynet.net"},
#ifdef USE_IPV6
#ifdef USE_OPENSSL
{0, "irc6.entropynet.net/+6697"},
#endif
{0, "irc6.entropynet.net"},
#endif
{"EsperNet", 0},
#ifdef USE_OPENSSL
{0, "irc.esper.net/+6697"},
#endif
{0, "irc.esper.net"},
{"EUIrc", 0},
{0, "irc.euirc.net"},
{0, "irc.ham.de.euirc.net"},
@ -203,8 +234,8 @@ static const struct defaultserver def[] =
{"EuropNet", 0},
{0, "irc.europnet.org"},
{"EU-IRC", 0},
{0, "irc.eu-irc.net"},
/* {"EU-IRC", 0},
{0, "irc.eu-irc.net"},*/
{"FDFNet", 0},
{0, "irc.fdfnet.net"},
@ -215,25 +246,31 @@ static const struct defaultserver def[] =
{0, "irc.ggn.net"},
{0, "irc.vendetta.com"},
{"FreeNode", 0, "#hexchat"},
{"freenode", 0, "#hexchat"},
#ifdef USE_OPENSSL
{0, "irc.freenode.net/+6697"},
#endif
{0, "irc.freenode.net"},
/* {"Freeworld", 0},
{0, "kabel.freeworld.nu"},
{0, "irc.freeworld.nu"},*/
{"Fusion Latina", 0},
{0, "irc.fusionlatina.org/2012"},
{"GalaxyNet", 0},
{0, "irc.galaxynet.org"},
/* {0, "sprynet.us.galaxynet.org"},
{0, "atlanta.ga.us.galaxynet.org"},*/
{"GamesNET", 0},
/* {"GamesNET", 0},
{0, "irc.gamesnet.net"},
/* {0, "irc.us.gamesnet.net"},
{0, "irc.us.gamesnet.net"},
{0, "east.us.gamesnet.net"},
{0, "west.us.gamesnet.net"},*/
{0, "west.us.gamesnet.net"},
{0, "irc.ca.gamesnet.net"},
{0, "irc.eu.gamesnet.net"},
{0, "irc.eu.gamesnet.net"},*/
{"GeekShed", 0},
{0, "irc.geekshed.net"},
@ -243,13 +280,14 @@ static const struct defaultserver def[] =
{0, "komatu.german-elite.net"},
/* {0, "liberty.german-elite.net"},*/
{"GimpNet", 0},
{"GIMPNet", 0},
{0, "irc.gimp.org"},
{0, "irc.gnome.org"},
/* {0, "irc.au.gimp.org"},*/
{0, "irc.us.gimp.org"},
{"HabberNet", 0},
{0, "irc.habber.net"},
/* {"HabberNet", 0},
{0, "irc.habber.net"},*/
{"Hashmark", 0},
{0, "irc.hashmark.net"},
@ -257,16 +295,23 @@ static const struct defaultserver def[] =
{"IdleMonkeys", 0},
{0, "irc.idlemonkeys.net"},
{"IndirectIRC", 0},
#ifdef USE_OPENSSL
{0, "irc.indirectirc.com/+6697"},
#endif
{0, "irc.indirectirc.com"},
/* {"Infinity-IRC", 0},
{0, "Atlanta.GA.US.Infinity-IRC.Org"},
{0, "Babylon.NY.US.Infinity-IRC.Org"},
{0, "Sunshine.Ca.US.Infinity-IRC.Org"},
{0, "IRC.Infinity-IRC.Org"},*/
{"iZ-smart.net", 0},
{0, "irc.iZ-smart.net/6666"},
{0, "irc.iZ-smart.net/6667"},
{0, "irc.iZ-smart.net/6668"},
{"IRCHighWay", 0},
#ifdef USE_OPENSSL
{0, "irc.irchighway.net/+9999"},
#endif
{0, "irc.irchighway.net"},
{"IrcLink", 0},
{0, "irc.irclink.net"},
@ -291,6 +336,17 @@ static const struct defaultserver def[] =
{"Irctoo.net", 0},
{0, "irc.irctoo.net"},
{"IronDust", 0},
#ifdef USE_OPENSSL
{0, "irc.irondust.net/+6697"},
#endif
{0, "irc.irondust.net"},
{"iZ-smart.net", 0},
{0, "irc.iZ-smart.net/6666"},
{0, "irc.iZ-smart.net/6667"},
{0, "irc.iZ-smart.net/6668"},
{"Krstarica", 0},
{0, "irc.krstarica.com"},
@ -298,25 +354,30 @@ static const struct defaultserver def[] =
{0, "irc.librenet.net"},
{0, "ielf.fr.librenet.net"},
#ifdef USE_OPENSSL
{"LinkNet", 0},
{0, "irc.link-net.org"},
{0, "irc.no.link-net.org"},
/* {0, "irc.gamesden.net.au"},*/
{0, "irc.link-net.org/+7000"},
{0, "as.link-net.org/+7000"},
{0, "eu.link-net.org/+7000"},
{0, "us.link-net.org/+7000"},
#ifdef USE_IPV6
{0, "irc6.link-net.org/+7000"},
#endif
/* {0, "irc.no.link-net.org"},
{0, "irc.gamesden.net.au"},
{0, "irc.bahnhof.se"},
/* {0, "irc.kinexuseurope.co.uk"},
{0, "irc.kinexuseurope.co.uk"},
{0, "irc.gamiix.com"},*/
#endif
{"MagicStar", 0},
{0, "irc.magicstar.net"},
{"Majistic", 0},
{0, "irc.majistic.net"},
/* {"Majistic", 0},
{0, "irc.majistic.net"},*/
{"MindForge", 0},
{0, "irc.mindforge.org"},
{"MintIRC", 0},
{0, "irc.mintirc.net"},
/* {"MintIRC", 0},
{0, "irc.mintirc.net"},*/
{"MIXXnet", 0},
{0, "irc.mixxnet.net"},
@ -341,8 +402,8 @@ static const struct defaultserver def[] =
{0, "us.ca.nixhelp.org"},
{0, "us.pa.nixhelp.org"},
{"NullusNet", 0},
{0, "irc.nullus.net"},
/* {"NullusNet", 0},
{0, "irc.nullus.net"},*/
{"Oceanius", 0},
{0, "irc.oceanius.com"},
@ -359,10 +420,6 @@ static const struct defaultserver def[] =
{"PIRC.PL", 0},
{0, "irc.pirc.pl"},
{"PTlink", 0},
{0, "irc.PTlink.net"},
{0, "aaia.PTlink.net"},
{"PTNet.org", 0},
{0, "irc.PTNet.org"},
{0, "world.PTnet.org"},
@ -371,6 +428,7 @@ static const struct defaultserver def[] =
{0, "vianetworks.PTnet.org"},
{0, "uc.PTnet.org"},
{0, "nfsi.ptnet.org"},
{0, "fctunl.ptnet.org"},
{"QuakeNet", 0},
{0, "irc.quakenet.org"},
@ -383,8 +441,8 @@ static const struct defaultserver def[] =
{0, "irc.de.quakenet.org"},
{0, "irc.it.quakenet.org"},
{"RebelChat", 0},
{0, "irc.rebelchat.org"},
/* {"RebelChat", 0},
{0, "irc.rebelchat.org"},*/
/* {"Recycled-IRC", 0},
{0, "irc.recycled-irc.org"},
@ -396,12 +454,12 @@ static const struct defaultserver def[] =
{0, "garbage.recycled-irc.org"},
{0, "dustbin.recycled-irc.org"},*/
{"RizeNET", 0},
/* {"RizeNET", 0},
{0, "irc.rizenet.org"},
{0, "omega.rizenet.org"},
{0, "evelance.rizenet.org"},
{0, "lisa.rizenet.org"},
{0, "scott.rizenet.org"},
{0, "scott.rizenet.org"},*/
{"Rizon", 0},
{0, "irc.rizon.net"},
@ -427,6 +485,12 @@ static const struct defaultserver def[] =
{0, "moo.slashnet.org"},
{0, "radon.slashnet.org"},
{"Snoonet", 0},
#ifdef USE_OPENSSL
{0, "irc.snoonet.com/+6697"},
#endif
{0, "irc.snoonet.com/6667"},
{"Sohbet.Net", 0},
{0, "irc.sohbet.net"},
@ -438,10 +502,10 @@ static const struct defaultserver def[] =
{0, "irc.us.sorcery.net/9000"},
{0, "irc.eu.sorcery.net/9000"},
{"Spidernet", 0},
/* {"Spidernet", 0},
{0, "us.spidernet.org"},
{0, "eu.spidernet.org"},
{0, "irc.spidernet.org"},
{0, "irc.spidernet.org"},*/
{"StarChat", 0},
{0, "irc.starchat.net"},
@ -452,8 +516,8 @@ static const struct defaultserver def[] =
{0, "tahoma.starchat.net"},
{0, "neo.starchat.net"},
{"TNI3", 0},
{0, "irc.tni3.com"},
/* {"TNI3", 0},
{0, "irc.tni3.com"},*/
{"TURLINet", 0},
{0, "irc.turli.net"},
@ -479,15 +543,21 @@ static const struct defaultserver def[] =
{0, "irc.worldnet.net"},
{0, "irc.fr.worldnet.net"},
{"Xentonix.net", 0},
{0, "irc.xentonix.net"},
{"Windfyre", 0},
#ifdef USE_OPENSSL
{0, "irc.windfyre.net/+6697"},
#endif
{0, "irc.windfyre.net"},
{"XWorld", 0},
/* {"Xentonix.net", 0},
{0, "irc.xentonix.net"},*/
/* {"XWorld", 0},
{0, "Buffalo.NY.US.XWorld.org"},
{0, "Minneapolis.MN.US.Xworld.Org"},
{0, "Rochester.NY.US.XWorld.org"},
{0, "Bayern.DE.EU.XWorld.Org"},
{0, "Chicago.IL.US.XWorld.Org"},
{0, "Chicago.IL.US.XWorld.Org"},*/
{0,0}
};
@ -900,7 +970,7 @@ servlist_load_defaults (void)
if (def[i].network)
{
net = servlist_net_add (def[i].network, def[i].host, FALSE);
net->encoding = strdup ("IRC (Latin/Unicode Hybrid)");
net->encoding = strdup (IRC_DEFAULT_CHARSET);
if (def[i].channel)
net->autojoin = strdup (def[i].channel);
if (def[i].charset)

View File

@ -35,6 +35,9 @@ extern GSList *network_list;
#define FLAG_FAVORITE 64
#define FLAG_COUNT 7
/* DEFAULT_CHARSET is already defined in wingdi.h */
#define IRC_DEFAULT_CHARSET "IRC (Latin/Unicode Hybrid)"
void servlist_init (void);
int servlist_save (void);
int servlist_cycle (server *serv);

84
src/common/strlutil.c Normal file
View File

@ -0,0 +1,84 @@
/*
* Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
#include <sys/types.h>
#include <string.h>
/*
* Appends src to string dst of size siz (unlike strncat, siz is the
* full size of dst, not space left). At most siz-1 characters
* will be copied. Always NUL terminates (unless siz <= strlen(dst)).
* Returns strlen(src) + MIN(siz, strlen(initial dst)).
* If retval >= siz, truncation occurred.
*/
size_t
strlcat(char *dst, const char *src, size_t siz)
{
char *d = dst;
const char *s = src;
size_t n = siz;
size_t dlen;
/* Find the end of dst and adjust bytes left but don't go past end */
while (n-- != 0 && *d != '\0')
d++;
dlen = d - dst;
n = siz - dlen;
if (n == 0)
return(dlen + strlen(s));
while (*s != '\0') {
if (n != 1) {
*d++ = *s;
n--;
}
s++;
}
*d = '\0';
return(dlen + (s - src)); /* count does not include NUL */
}
/*
* Copy src to string dst of size siz. At most siz-1 characters
* will be copied. Always NUL terminates (unless siz == 0).
* Returns strlen(src); if retval >= siz, truncation occurred.
*/
size_t
strlcpy(char *dst, const char *src, size_t siz)
{
char *d = dst;
const char *s = src;
size_t n = siz;
/* Copy as many bytes as will fit */
if (n != 0) {
while (--n != 0) {
if ((*d++ = *s++) == '\0')
break;
}
}
/* Not enough room in dst, add NUL and traverse rest of src */
if (n == 0) {
if (siz != 0)
*d = '\0'; /* NUL-terminate dst */
while (*s++)
;
}
return(s - src - 1); /* count does not include NUL */
}

2
src/common/strlutil.h Normal file
View File

@ -0,0 +1,2 @@
size_t strlcat(char *dst, const char *src, size_t siz);
size_t strlcpy(char *dst, const char *src, size_t siz);

View File

@ -278,8 +278,10 @@ scrollback_load (session *sess)
int lines;
#ifdef WIN32
#if 0
char *cleaned_text;
int cleaned_len;
#endif
#else
char *map, *end_map;
struct stat statbuf;
@ -340,12 +342,12 @@ scrollback_load (session *sess)
text = strchr (buf + 3, ' ');
if (text)
{
if (prefs.text_replay_strip_color)
if (prefs.text_stripcolor_replay)
{
text = strip_color (text + 1, -1, STRIP_COLOR);
}
fe_print_text (sess, text, stamp);
if (prefs.text_replay_strip_color)
if (prefs.text_stripcolor_replay)
{
g_free (text);
}
@ -381,21 +383,24 @@ scrollback_load (session *sess)
text = strchr (buf + 3, ' ');
if (text)
{
if (prefs.text_replay_strip_color)
if (prefs.text_stripcolor_replay)
{
text = strip_color (text + 1, -1, STRIP_COLOR);
}
#if 0
cleaned_text = text_replace_non_bmp (text, -1, &cleaned_len);
if (cleaned_text != NULL)
{
if (prefs.text_replay_strip_color)
if (prefs.text_stripcolor_replay)
{
g_free (text);
}
text = cleaned_text;
}
#endif
text_replace_non_bmp2 (text);
fe_print_text (sess, text, stamp);
if (prefs.text_replay_strip_color)
if (prefs.text_stripcolor_replay)
{
g_free (text);
}
@ -570,6 +575,34 @@ log_insert_vars (char *buf, int bufsize, char *fmt, char *c, char *n, char *s)
}
}
static int
logmask_is_fullpath ()
{
/* Check if final path/filename is absolute or relative.
* If one uses log mask variables, such as "%c/...", %c will be empty upon
* connecting since there's no channel name yet, so we have to make sure
* we won't try to write to the FS root. On Windows we can be sure it's
* full path if the 2nd character is a colon since Windows doesn't allow
* colons in filenames.
*/
#ifdef WIN32
/* Treat it as full path if it
* - starts with '\' which denotes the root directory of the current drive letter
* - starts with a drive letter and followed by ':'
*/
if (prefs.logmask[0] == '\\' || (((prefs.logmask[0] >= 'A' && prefs.logmask[0] <= 'Z') || (prefs.logmask[0] >= 'a' && prefs.logmask[0] <= 'z')) && prefs.logmask[1] == ':'))
#else
if (prefs.logmask[0] == '/')
#endif
{
return 1;
}
else
{
return 0;
}
}
static char *
log_create_pathname (char *servname, char *channame, char *netname)
{
@ -580,13 +613,20 @@ log_create_pathname (char *servname, char *channame, char *netname)
time_t now;
if (!netname)
{
netname = "NETWORK";
}
/* first, everything is in UTF-8 */
if (!rfc_casecmp (channame, servname))
{
channame = strdup ("server");
}
else
{
channame = log_create_filename (channame);
}
log_insert_vars (fname, sizeof (fname), prefs.logmask, channame, netname, servname);
free (channame);
@ -596,21 +636,23 @@ log_create_pathname (char *servname, char *channame, char *netname)
strftime (fnametime, sizeof (fnametime), fname, tm);
/* create final path/filename */
#ifdef WIN32
if (fnametime[0] == '/' || (fnametime[0] >= 'A' && fnametime[1] == ':'))
#else
if (fnametime[0] == '/') /* is it fullpath already? */
#endif
if (logmask_is_fullpath ())
{
snprintf (fname, sizeof (fname), "%s", fnametime);
else
}
else /* relative path */
{
snprintf (fname, sizeof (fname), "%s/logs/%s", get_xdir_utf8 (), fnametime);
}
/* now we need it in FileSystem encoding */
fs = xchat_filename_from_utf8 (fname, -1, 0, 0, 0);
/* create all the subdirectories */
if (fs)
{
mkdir_p (fs);
}
return fs;
}
@ -656,11 +698,11 @@ log_open (session *sess)
if (!log_error && sess->logfd == -1)
{
char message[512];
snprintf (message, sizeof (message),
_("* Can't open log file(s) for writing. Check the\n" \
" permissions on %s/logs"), get_xdir_utf8 ());
fe_message (message, FE_MSG_WAIT | FE_MSG_ERROR);
snprintf (message, sizeof (message), _("* Can't open log file(s) for writing. Check the\npermissions on %s"),
log_create_pathname (sess->server->servername, sess->channel, server_get_network (sess->server, FALSE)));
fe_message (message, FE_MSG_WAIT | FE_MSG_ERROR);
log_error = TRUE;
}
}
@ -707,7 +749,7 @@ get_stamp_str (char *fmt, time_t tim, char **ret)
if (!len)
{
/* use failsafe format until a correct one is specified */
len = strftime (dest, sizeof (dest), "[%H:%M]", localtime (&tim));
len = strftime (dest, sizeof (dest), "[%H:%M:%S]", localtime (&tim));
}
#endif
if (len)
@ -888,6 +930,7 @@ iso_8859_1_to_utf8 (unsigned char *text, int len, gsize *bytes_written)
#ifdef WIN32
/* replace characters outside of the Basic Multilingual Plane with
* replacement characters (0xFFFD) */
#if 0
char *
text_replace_non_bmp (char *utf8_input, int input_length, glong *output_length)
{
@ -925,6 +968,30 @@ text_replace_non_bmp (char *utf8_input, int input_length, glong *output_length)
}
#endif
void
text_replace_non_bmp2 (char *utf8_input)
{
char *tmp = utf8_input, *next;
gunichar suspect;
while (tmp != NULL && *tmp)
{
next = g_utf8_next_char(tmp);
suspect = g_utf8_get_char_validated(tmp, next - tmp);
if ((suspect >= 0x1D173 && suspect <= 0x1D17A) || (suspect >= 0xE0001 && suspect <= 0xE007F))
{
/* 0xFFFD - replacement character */
*tmp = 0xEF;
*(++tmp) = 0xBF;
*(++tmp) = 0xBD;
*(++tmp) = 0x1A; /* ASCII Sub to fill the 4th non-BMP byte */
}
tmp = next;
}
}
#endif
char *
text_validate (char **text, int *len)
{
@ -1799,7 +1866,7 @@ load_text_events ()
/*
CL: format_event now handles filtering of arguments:
1) if prefs.stripcolor is set, filter all style control codes from arguments
1) if prefs.text_stripcolor_msg is set, filter all style control codes from arguments
2) always strip \010 (ATTR_HIDDEN) from arguments: it is only for use in the format string itself
*/
#define ARG_FLAG(argn) (1 << (argn))
@ -2095,7 +2162,7 @@ text_emit (int index, session *sess, char *a, char *b, char *c, char *d)
{
char *word[PDIWORDS];
int i;
unsigned int stripcolor_args = (prefs.stripcolor ? 0xFFFFFFFF : 0);
unsigned int stripcolor_args = (prefs.text_stripcolor_msg ? 0xFFFFFFFF : 0);
char tbuf[NICKLEN + 4];
if (prefs.colorednicks && (index == XP_TE_CHANACTION || index == XP_TE_CHANMSG))
@ -2136,9 +2203,9 @@ text_emit (int index, session *sess, char *a, char *b, char *c, char *d)
case XP_TE_DPRIVMSG:
case XP_TE_PRIVACTION:
case XP_TE_DPRIVACTION:
if (chanopt_is_set_a (prefs.input_beep_priv, sess->alert_beep))
if (chanopt_is_set_a (prefs.input_beep_priv, sess->alert_beep) && !prefs.away_omit_alerts)
sound_beep (sess);
if (chanopt_is_set_a (prefs.input_flash_priv, sess->alert_taskbar))
if (chanopt_is_set_a (prefs.input_flash_priv, sess->alert_taskbar) && !prefs.away_omit_alerts)
fe_flash_window (sess);
/* why is this one different? because of plugin-tray.c's hooks! ugly */
if (sess->alert_tray == SET_ON)
@ -2148,9 +2215,9 @@ text_emit (int index, session *sess, char *a, char *b, char *c, char *d)
/* ===Highlighted message=== */
case XP_TE_HCHANACTION:
case XP_TE_HCHANMSG:
if (chanopt_is_set_a (prefs.input_beep_hilight, sess->alert_beep))
if (chanopt_is_set_a (prefs.input_beep_hilight, sess->alert_beep) && !prefs.away_omit_alerts)
sound_beep (sess);
if (chanopt_is_set_a (prefs.input_flash_hilight, sess->alert_taskbar))
if (chanopt_is_set_a (prefs.input_flash_hilight, sess->alert_taskbar) && !prefs.away_omit_alerts)
fe_flash_window (sess);
if (sess->alert_tray == SET_ON)
fe_tray_set_icon (FE_ICON_MESSAGE);
@ -2159,9 +2226,9 @@ text_emit (int index, session *sess, char *a, char *b, char *c, char *d)
/* ===Channel message=== */
case XP_TE_CHANACTION:
case XP_TE_CHANMSG:
if (chanopt_is_set_a (prefs.input_beep_chans, sess->alert_beep))
if (chanopt_is_set_a (prefs.input_beep_chans, sess->alert_beep) && !prefs.away_omit_alerts)
sound_beep (sess);
if (chanopt_is_set_a (prefs.input_flash_chans, sess->alert_taskbar))
if (chanopt_is_set_a (prefs.input_flash_chans, sess->alert_taskbar) && !prefs.away_omit_alerts)
fe_flash_window (sess);
if (sess->alert_tray == SET_ON)
fe_tray_set_icon (FE_ICON_MESSAGE);

View File

@ -29,8 +29,11 @@ void pevent_make_pntevts (void);
void text_emit (int index, session *sess, char *a, char *b, char *c, char *d);
int text_emit_by_name (char *name, session *sess, char *a, char *b, char *c, char *d);
#ifdef WIN32
#if 0
char *text_replace_non_bmp (char *utf8_input, int input_length, glong *output_length);
#endif
void text_replace_non_bmp2 (char *utf8_input);
#endif
char *text_validate (char **text, int *len);
int get_stamp_str (char *fmt, time_t tim, char **ret);
void format_event (session *sess, int index, char **args, char *o, int sizeofo, unsigned int stripcolor_args);

View File

@ -150,10 +150,11 @@ tree_find (tree *t, void *key, tree_cmp_func *cmp, void *data, int *pos)
return mybsearch (key, &t->array[0], t->elements, cmp, data, pos);
}
void
void *
tree_remove_at_pos (tree *t, int pos)
{
int post_bytes;
void *ret = t->array[pos];
t->elements--;
if (pos != t->elements)
@ -161,6 +162,7 @@ tree_remove_at_pos (tree *t, int pos)
post_bytes = (t->elements - pos) * sizeof (void *);
memmove (&t->array[pos], &t->array[pos + 1], post_bytes);
}
return ret;
}
int

View File

@ -10,7 +10,7 @@ tree *tree_new (tree_cmp_func *cmp, void *data);
void tree_destroy (tree *t);
void *tree_find (tree *t, void *key, tree_cmp_func *cmp, void *data, int *pos);
int tree_remove (tree *t, void *key, int *pos);
void tree_remove_at_pos (tree *t, int pos);
void *tree_remove_at_pos (tree *t, int pos);
void tree_foreach (tree *t, tree_traverse_func *func, void *data);
int tree_insert (tree *t, void *key);
void tree_append (tree* t, void *key);

View File

@ -31,6 +31,7 @@
#endif
void *url_tree = NULL;
GTree *url_btree = NULL;
static int
@ -46,6 +47,8 @@ url_clear (void)
tree_foreach (url_tree, (tree_traverse_func *)url_free, NULL);
tree_destroy (url_tree);
url_tree = NULL;
g_tree_destroy (url_btree);
url_btree = NULL;
}
static int
@ -56,7 +59,7 @@ url_save_cb (char *url, FILE *fd)
}
void
url_save (const char *fname, const char *mode, gboolean fullpath)
url_save_tree (const char *fname, const char *mode, gboolean fullpath)
{
FILE *fd;
@ -71,20 +74,26 @@ url_save (const char *fname, const char *mode, gboolean fullpath)
fclose (fd);
}
void
url_autosave (void)
static void
url_save_node (char* url)
{
url_save ("url.save", "a", FALSE);
FILE *fd;
/* open <config>/url.log in append mode */
fd = xchat_fopen_file ("url.log", "a", 0);
if (fd == NULL)
{
return;
}
fprintf (fd, "%s\n", url);
fclose (fd);
}
static int
url_find (char *urltext)
{
int pos;
if (tree_find (url_tree, urltext, (tree_cmp_func *)g_ascii_strcasecmp, NULL, &pos))
return 1;
return 0;
return (g_tree_lookup_extended (url_btree, urltext, NULL, NULL));
}
static void
@ -93,12 +102,17 @@ url_add (char *urltext, int len)
char *data;
int size;
if (!prefs.url_grabber)
/* we don't need any URLs if we have neither URL grabbing nor URL logging enabled */
if (!prefs.url_grabber && !prefs.url_logging)
{
return;
}
data = malloc (len + 1);
if (!data)
{
return;
}
memcpy (data, urltext, len);
data[len] = 0;
@ -107,17 +121,35 @@ url_add (char *urltext, int len)
len--;
data[len] = 0;
}
if (data[len - 1] == ')') /* chop trailing ) */
/* chop trailing ) but only if there's no counterpart */
if (data[len - 1] == ')' && strchr (data, '(') == NULL)
{
data[len - 1] = 0;
}
if (url_find (data))
if (prefs.url_logging)
{
url_save_node (data);
}
/* the URL is saved already, only continue if we need the URL grabber too */
if (!prefs.url_grabber)
{
free (data);
return;
}
if (!url_tree)
url_tree = tree_new ((tree_cmp_func *)g_ascii_strcasecmp, NULL);
{
url_tree = tree_new ((tree_cmp_func *)strcasecmp, NULL);
url_btree = g_tree_new ((GCompareFunc)strcasecmp);
}
if (url_find (data))
{
free (data);
return;
}
size = tree_size (url_tree);
/* 0 is unlimited */
@ -127,10 +159,17 @@ url_add (char *urltext, int len)
xchat is running */
size -= prefs.url_grabber_limit;
for(; size > 0; size--)
tree_remove_at_pos (url_tree, 0);
{
char *pos;
pos = tree_remove_at_pos (url_tree, 0);
g_tree_remove (url_btree, pos);
free (pos);
}
}
tree_append (url_tree, data);
g_tree_insert (url_btree, data, GINT_TO_POINTER (tree_size (url_tree) - 1));
fe_url_add (data);
}
@ -193,6 +232,18 @@ url_check_word (char *word, int len)
const char *at, *dot;
int i, dots;
/* this is pretty much the same as in logmask_is_fullpath() except with length checks and .\ for portable mode */
#ifdef WIN32
if ((len > 1 && word[0] == '\\') ||
(len > 2 && word[0] == '.' && word[1] == '\\') ||
(len > 2 && (((word[0] >= 'A' && word[0] <= 'Z') || (word[0] >= 'a' && word[0] <= 'z')) && word[1] == ':')))
#else
if (len > 1 && word[0] == '/')
#endif
{
return WORD_PATH;
}
if (len > 1 && word[1] == '#' && strchr("@+^%*#", word[0]))
return WORD_CHANNEL;

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