rpms/pcmanx-gtk2/devel pcmanx-gtk2-0.3.8-Fedora-idldir.patch, NONE, 1.1 pcmanx-gtk2-0.3.8-Fedora-xpidl.patch, NONE, 1.1 pcmanx-gtk2-444svn.patch, NONE, 1.1 .cvsignore, 1.2, 1.3 pcmanx-gtk2.spec, 1.4, 1.5 sources, 1.3, 1.4

Tom Callaway spot at fedoraproject.org
Wed Aug 27 23:10:50 UTC 2008


Author: spot

Update of /cvs/pkgs/rpms/pcmanx-gtk2/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv13386

Modified Files:
	.cvsignore pcmanx-gtk2.spec sources 
Added Files:
	pcmanx-gtk2-0.3.8-Fedora-idldir.patch 
	pcmanx-gtk2-0.3.8-Fedora-xpidl.patch pcmanx-gtk2-444svn.patch 
Log Message:
fix license tag, update to 0.3.8, package plugin

pcmanx-gtk2-0.3.8-Fedora-idldir.patch:

--- NEW FILE pcmanx-gtk2-0.3.8-Fedora-idldir.patch ---
diff -up pcmanx-gtk2-0.3.8/configure.ac.idldir pcmanx-gtk2-0.3.8/configure.ac
--- pcmanx-gtk2-0.3.8/configure.ac.idldir	2008-08-27 18:19:47.000000000 -0400
+++ pcmanx-gtk2-0.3.8/configure.ac	2008-08-27 18:19:56.000000000 -0400
@@ -451,7 +451,7 @@ if test "$plugin" = "yes"; then
       MOZILLA_INCLUDE_ROOT=`$PKG_CONFIG --cflags-only-I $gecko_provider-plugin`
       MOZILLA_LIB_ROOT=`$PKG_CONFIG --variable=libdir libxul`
       MOZILLA_LIB_DIR_SEARCH="$MOZILLA_LIB_ROOT"
-      MOZILLA_IDLDIR=`$PKG_CONFIG --variable=idldir libxul`/`$PKG_CONFIG --variable=includetype libxul`
+      MOZILLA_IDLDIR=`$PKG_CONFIG --variable=idldir libxul`
     else
       dnl Note: with the infos from mozilla-plugin.pc
       dnl we got all includes and libraries for the C interface

pcmanx-gtk2-0.3.8-Fedora-xpidl.patch:

--- NEW FILE pcmanx-gtk2-0.3.8-Fedora-xpidl.patch ---
diff -up pcmanx-gtk2-0.3.8/configure.ac.xpidl pcmanx-gtk2-0.3.8/configure.ac
--- pcmanx-gtk2-0.3.8/configure.ac.xpidl	2008-08-10 05:47:40.000000000 -0400
+++ pcmanx-gtk2-0.3.8/configure.ac	2008-08-27 18:18:30.000000000 -0400
@@ -449,7 +449,7 @@ if test "$plugin" = "yes"; then
   if test "$user_specified_mozilla" = "no"; then
     if "$PKG_CONFIG" --exists "$gecko_provider-plugin >= 1.9"; then
       MOZILLA_INCLUDE_ROOT=`$PKG_CONFIG --cflags-only-I $gecko_provider-plugin`
-      MOZILLA_LIB_ROOT=`$PKG_CONFIG --variable=sdkdir $gecko_provider-plugin`/bin
+      MOZILLA_LIB_ROOT=`$PKG_CONFIG --variable=libdir libxul`
       MOZILLA_LIB_DIR_SEARCH="$MOZILLA_LIB_ROOT"
       MOZILLA_IDLDIR=`$PKG_CONFIG --variable=idldir libxul`/`$PKG_CONFIG --variable=includetype libxul`
     else

pcmanx-gtk2-444svn.patch:

--- NEW FILE pcmanx-gtk2-444svn.patch ---
Only in pcmanx-gtk2-0.3.8: aclocal.m4
diff -urP --exclude=.svn pcmanx-gtk2-0.3.8/ChangeLog pcmanx-gtk2-444svn/ChangeLog
--- pcmanx-gtk2-0.3.8/ChangeLog	2008-08-10 06:22:14.000000000 -0400
+++ pcmanx-gtk2-444svn/ChangeLog	2008-08-27 17:28:48.000000000 -0400
@@ -1,9 +1,47 @@
-2008-08-10  Shih-Yuan Lee (FourDollars) <fourdollars at gmail.com>
+2008-08-12  Jim Huang  <jserv.tw at gmail.com>
+
+	* developers/make-new-release.sh: New file.  A simple and neat script
+	for developers to prepare new release more carefully.
+
+2008-08-12  Jim Huang  <jserv.tw at gmail.com>
+
+	* src/downarticledlg.cpp: Fix missing <string.h> inclusion with
+	older system headers.
+
+2008-08-11  Jim Huang  <jserv.tw at gmail.com>
+
+	* po/POTFILES.in,
+	po/POTFILES.skip:  Translating the messages in source file
+	src/docklet/eggtrayicon.c is useless.  Ignored.
+
+	* po/zh_TW.po, po/zh_CN.po: Re-generated.
+
+2008-08-11  Jim Huang  <jserv.tw at gmail.com>
+
+	* src/mainframe.cpp (CMainFrame::OnPreference): It should be able to
+	work while hiding or showing tray icon immediately.
+
+	* src/generalprefpage.cpp (CGeneralPrefPage::CGeneralPrefPage):
+	Correct the brief description about tray icon switching.
+
+	* po/zh_TW.po, po/zh_CN.po: Likewise.
+
+2008-08-11  Jim Huang  <jserv.tw at gmail.com>
+
+	* src/pcmanx_gtk2.cpp (main): Correctly hide tray icon according to
+	the settings.
+
+2008-08-10  Shih-Yuan Lee (FourDollars)  <fourdollars at gmail.com>
 
 	* Makefile.am: Fix the release problem of `./configure --enable-plugin`
 	after `make dist-bzip2`.
+	* Makefile.am,
+	plugin/Makefile.am,
+	plugin/data/Makefile.am,
+	plugin/src/Makefile.am: Fix the release problem of `./configure
+	--enable-plugin` after `make dist-bzip2`.
 
-2008-08-09  Shih-Yuan Lee (FourDollars) <fourdollars at gmail.com>
+2008-08-09  Shih-Yuan Lee (FourDollars)  <fourdollars at gmail.com>
 
 	* configure.ac: Bump to 0.3.8
 	* NEWS: Adjust 0.3.8 to August.
Only in pcmanx-gtk2-0.3.8: config.guess
Only in pcmanx-gtk2-0.3.8: config.h.in
Only in pcmanx-gtk2-0.3.8: config.sub
Only in pcmanx-gtk2-0.3.8: configure
Only in pcmanx-gtk2-0.3.8/data: Makefile.in
diff -urP --exclude=.svn pcmanx-gtk2-0.3.8/data/script/eliza.py pcmanx-gtk2-444svn/data/script/eliza.py
--- pcmanx-gtk2-0.3.8/data/script/eliza.py	1969-12-31 19:00:00.000000000 -0500
+++ pcmanx-gtk2-444svn/data/script/eliza.py	2008-08-27 17:28:48.000000000 -0400
@@ -0,0 +1,311 @@
+#----------------------------------------------------------------------
+#  eliza.py
+#
+#  a cheezy little Eliza knock-off by Joe Strout <joe at strout.net>
+#  with some updates by Jeff Epler <jepler at inetnebr.com>
+#  hacked into a module and updated by Jez Higgins <jez at jezuk.co.uk>
+#  last revised: 28 February 2005
+#----------------------------------------------------------------------
+
+import string
+import re
+import whrandom
+
+class eliza:
+  def __init__(self):
+    self.keys = map(lambda x:re.compile(x[0], re.IGNORECASE),gPats)
+    self.values = map(lambda x:x[1],gPats)
+
+  #----------------------------------------------------------------------
+  # translate: take a string, replace any words found in dict.keys()
+  #  with the corresponding dict.values()
+  #----------------------------------------------------------------------
+  def translate(self,str,dict):
+    words = string.split(string.lower(str))
+    keys = dict.keys();
+    for i in range(0,len(words)):
+      if words[i] in keys:
+        words[i] = dict[words[i]]
+    return string.join(words)
+
+  #----------------------------------------------------------------------
+  #  respond: take a string, a set of regexps, and a corresponding
+  #    set of response lists; find a match, and return a randomly
+  #    chosen response from the corresponding list.
+  #----------------------------------------------------------------------
+  def respond(self,str):
+    # find a match among keys
+    for i in range(0,len(self.keys)):
+      match = self.keys[i].match(str)
+      if match:
+        # found a match ... stuff with corresponding value
+        # chosen randomly from among the available options
+        resp = whrandom.choice(self.values[i])
+        # we've got a response... stuff in reflected text where indicated
+        pos = string.find(resp,'%')
+        while pos > -1:
+          num = string.atoi(resp[pos+1:pos+2])
+          resp = resp[:pos] + \
+            self.translate(match.group(num),gReflections) + \
+            resp[pos+2:]
+          pos = string.find(resp,'%')
+        # fix munged punctuation at the end
+        if resp[-2:] == '?.': resp = resp[:-2] + '.'
+        if resp[-2:] == '??': resp = resp[:-2] + '?'
+        return resp
+
+#----------------------------------------------------------------------
+# gReflections, a translation table used to convert things you say
+#    into things the computer says back, e.g. "I am" --> "you are"
+#----------------------------------------------------------------------
+gReflections = {
+  "am"   : "are",
+  "was"  : "were",
+  "i"    : "you",
+  "i'd"  : "you would",
+  "i've"  : "you have",
+  "i'll"  : "you will",
+  "my"  : "your",
+  "are"  : "am",
+  "you've": "I have",
+  "you'll": "I will",
+  "your"  : "my",
+  "yours"  : "mine",
+  "you"  : "me",
+  "me"  : "you"
+}
+
+#----------------------------------------------------------------------
+# gPats, the main response table.  Each element of the list is a
+#  two-element list; the first is a regexp, and the second is a
+#  list of possible responses, with group-macros labelled as
+#  %1, %2, etc.  
+#----------------------------------------------------------------------
+gPats = [
+  [r'I need (.*)',
+  [  "Why do you need %1?",
+    "Would it really help you to get %1?",
+    "Are you sure you need %1?"]],
+  
+  [r'Why don\'?t you ([^\?]*)\??',
+  [  "Do you really think I don't %1?",
+    "Perhaps eventually I will %1.",
+    "Do you really want me to %1?"]],
+  
+  [r'Why can\'?t I ([^\?]*)\??',
+  [  "Do you think you should be able to %1?",
+    "If you could %1, what would you do?",
+    "I don't know -- why can't you %1?",
+    "Have you really tried?"]],
+  
+  [r'I can\'?t (.*)',
+  [  "How do you know you can't %1?",
+    "Perhaps you could %1 if you tried.",
+    "What would it take for you to %1?"]],
+  
+  [r'I am (.*)',
+  [  "Did you come to me because you are %1?",
+    "How long have you been %1?",
+    "How do you feel about being %1?"]],
+  
+  [r'I\'?m (.*)',
+  [  "How does being %1 make you feel?",
+    "Do you enjoy being %1?",
+    "Why do you tell me you're %1?",
+    "Why do you think you're %1?"]],
+  
+  [r'Are you ([^\?]*)\??',
+  [  "Why does it matter whether I am %1?",
+    "Would you prefer it if I were not %1?",
+    "Perhaps you believe I am %1.",
+    "I may be %1 -- what do you think?"]],
+  
+  [r'What (.*)',
+  [  "Why do you ask?",
+    "How would an answer to that help you?",
+    "What do you think?"]],
+  
+  [r'How (.*)',
+  [  "How do you suppose?",
+    "Perhaps you can answer your own question.",
+    "What is it you're really asking?"]],
+  
+  [r'Because (.*)',
+  [  "Is that the real reason?",
+    "What other reasons come to mind?",
+    "Does that reason apply to anything else?",
+    "If %1, what else must be true?"]],
+  
+  [r'(.*) sorry (.*)',
+  [  "There are many times when no apology is needed.",
+    "What feelings do you have when you apologize?"]],
+  
+  [r'Hello(.*)',
+  [  "Hello... I'm glad you could drop by today.",
+    "Hi there... how are you today?",
+    "Hello, how are you feeling today?"]],
+  
+  [r'I think (.*)',
+  [  "Do you doubt %1?",
+    "Do you really think so?",
+    "But you're not sure %1?"]],
+  
+  [r'(.*) friend (.*)',
+  [  "Tell me more about your friends.",
+    "When you think of a friend, what comes to mind?",
+    "Why don't you tell me about a childhood friend?"]],
+  
+  [r'Yes',
+  [  "You seem quite sure.",
+    "OK, but can you elaborate a bit?"]],
+  
+  [r'(.*) computer(.*)',
+  [  "Are you really talking about me?",
+    "Does it seem strange to talk to a computer?",
+    "How do computers make you feel?",
+    "Do you feel threatened by computers?"]],
+  
+  [r'Is it (.*)',
+  [  "Do you think it is %1?",
+    "Perhaps it's %1 -- what do you think?",
+    "If it were %1, what would you do?",
+    "It could well be that %1."]],
+  
+  [r'It is (.*)',
+  [  "You seem very certain.",
+    "If I told you that it probably isn't %1, what would you feel?"]],
+  
+  [r'Can you ([^\?]*)\??',
+  [  "What makes you think I can't %1?",
+    "If I could %1, then what?",
+    "Why do you ask if I can %1?"]],
+  
+  [r'Can I ([^\?]*)\??',
+  [  "Perhaps you don't want to %1.",
+    "Do you want to be able to %1?",
+    "If you could %1, would you?"]],
+  
+  [r'You are (.*)',
+  [  "Why do you think I am %1?",
+    "Does it please you to think that I'm %1?",
+    "Perhaps you would like me to be %1.",
+    "Perhaps you're really talking about yourself?"]],
+  
+  [r'You\'?re (.*)',
+  [  "Why do you say I am %1?",
+    "Why do you think I am %1?",
+    "Are we talking about you, or me?"]],
+  
+  [r'I don\'?t (.*)',
+  [  "Don't you really %1?",
+    "Why don't you %1?",
+    "Do you want to %1?"]],
+  
+  [r'I feel (.*)',
+  [  "Good, tell me more about these feelings.",
+    "Do you often feel %1?",
+    "When do you usually feel %1?",
+    "When you feel %1, what do you do?"]],
+  
+  [r'I have (.*)',
+  [  "Why do you tell me that you've %1?",
+    "Have you really %1?",
+    "Now that you have %1, what will you do next?"]],
+  
+  [r'I would (.*)',
+  [  "Could you explain why you would %1?",
+    "Why would you %1?",
+    "Who else knows that you would %1?"]],
+  
+  [r'Is there (.*)',
+  [  "Do you think there is %1?",
+    "It's likely that there is %1.",
+    "Would you like there to be %1?"]],
+  
+  [r'My (.*)',
+  [  "I see, your %1.",
+    "Why do you say that your %1?",
+    "When your %1, how do you feel?"]],
+  
+  [r'You (.*)',
+  [  "We should be discussing you, not me.",
+    "Why do you say that about me?",
+    "Why do you care whether I %1?"]],
+    
+  [r'Why (.*)',
+  [  "Why don't you tell me the reason why %1?",
+    "Why do you think %1?" ]],
+    
+  [r'I want (.*)',
+  [  "What would it mean to you if you got %1?",
+    "Why do you want %1?",
+    "What would you do if you got %1?",
+    "If you got %1, then what would you do?"]],
+  
+  [r'(.*) mother(.*)',
+  [  "Tell me more about your mother.",
+    "What was your relationship with your mother like?",
+    "How do you feel about your mother?",
+    "How does this relate to your feelings today?",
+    "Good family relations are important."]],
+  
+  [r'(.*) father(.*)',
+  [  "Tell me more about your father.",
+    "How did your father make you feel?",
+    "How do you feel about your father?",
+    "Does your relationship with your father relate to your feelings today?",
+    "Do you have trouble showing affection with your family?"]],
+
+  [r'(.*) child(.*)',
+  [  "Did you have close friends as a child?",
+    "What is your favorite childhood memory?",
+    "Do you remember any dreams or nightmares from childhood?",
+    "Did the other children sometimes tease you?",
+    "How do you think your childhood experiences relate to your feelings today?"]],
+    
+  [r'(.*)\?',
+  [  "Why do you ask that?",
+    "Please consider whether you can answer your own question.",
+    "Perhaps the answer lies within yourself?",
+    "Why don't you tell me?"]],
+  
+  [r'quit',
+  [  "Thank you for talking with me.",
+    "Good-bye.",
+    "Thank you, that will be $150.  Have a good day!"]],
+  
+  [r'(.*)',
+  [  "Please tell me more.",
+    "Let's change focus a bit... Tell me about your family.",
+    "Can you elaborate on that?",
+    "Why do you say that %1?",
+    "I see.",
+    "Very interesting.",
+    "%1.",
+    "I see.  And what does that tell you?",
+    "How does that make you feel?",
+    "How do you feel when you say that?"]]
+  ]
+
+#----------------------------------------------------------------------
+#  command_interface
+#----------------------------------------------------------------------
+def command_interface():
+  print "Therapist\n---------"
+  print "Talk to the program by typing in plain English, using normal upper-"
+  print 'and lower-case letters and punctuation.  Enter "quit" when done.'
+  print '='*72
+  print "Hello.  How are you feeling today?"
+  s = ""
+  therapist = eliza();
+  while s != "quit":
+    try: s = raw_input(">")
+    except EOFError:
+      s = "quit"
+      print s
+    while s[-1] in "!.": s = s[:-1]
+    print therapist.respond(s)
+
+
+if __name__ == "__main__":
+  command_interface()
diff -urP --exclude=.svn pcmanx-gtk2-0.3.8/data/script/orz.py pcmanx-gtk2-444svn/data/script/orz.py
--- pcmanx-gtk2-0.3.8/data/script/orz.py	1969-12-31 19:00:00.000000000 -0500
+++ pcmanx-gtk2-444svn/data/script/orz.py	2008-08-27 17:28:48.000000000 -0400
@@ -0,0 +1,14 @@
+from string import *
+from PCManX import *
+from PCManXlib import *
+import eliza
+
+bot = eliza.eliza();
+
+def OnNewIncomingMessage(handle, msg):
+	rmsg = split(msg, " ", 2)[2]
+	reply = bot.respond(rmsg)
+	SendUnEscapedString(handle, "^R" + reply)
+	SendReturn(handle)
+	SendString(handle, "Y")
+	SendReturn(handle)
diff -urP --exclude=.svn pcmanx-gtk2-0.3.8/data/script/PCManXlib.py pcmanx-gtk2-444svn/data/script/PCManXlib.py
--- pcmanx-gtk2-0.3.8/data/script/PCManXlib.py	1969-12-31 19:00:00.000000000 -0500
+++ pcmanx-gtk2-444svn/data/script/PCManXlib.py	2008-08-27 17:28:48.000000000 -0400
@@ -0,0 +1,30 @@
+from PCManX import SendString
+
+def SendLeft(handle):
+	SendString(handle, "\x1bOD")
+def SendRight(handle):
+	SendString(handle, "\x1bOC")
+def SendUp(handle):
+	SendString(handle, "\x1bOA")
+def SendDown(handle):
+	SendString(handle, "\x1bOB")
+def SendBackSpace(handle):
+	SendString(handle, "\b")
+def SendReturn(handle):
+	SendString(handle, "\r")
+def SendDelete(handle):
+	SendString(handle, "\x1b[3~")
+def SendInsert(handle):
+	SendString(handle, "\x1b[2~")
+def SendHome(handle):
+	SendString(handle, "\x1b[2~")
+def SendEnd(handle):
+	SendString(handle, "\x1b[4~")
+def SendPageUp(handle):
+	SendString(handle, "\x1b[5~")
+def SendPageDown(handle):
+	SendString(handle, "\x1b[6~")
+def SendTab(handle):
+	SendString(handle, "\t")
+def SendEsc(handle):
+	SendString(handle, "\x1b")
Only in pcmanx-gtk2-0.3.8: depcomp
diff -urP --exclude=.svn pcmanx-gtk2-0.3.8/developers/make-new-release.sh pcmanx-gtk2-444svn/developers/make-new-release.sh
--- pcmanx-gtk2-0.3.8/developers/make-new-release.sh	1969-12-31 19:00:00.000000000 -0500
+++ pcmanx-gtk2-444svn/developers/make-new-release.sh	2008-08-27 17:28:47.000000000 -0400
@@ -0,0 +1,44 @@
+#!/bin/bash
+
+abort() {
+  echo $*
+  exit 1
+}
+
+VERSION=
+
+clear
+echo "Preparing new release, please stand by..."
+if make dist-bzip2 >/dev/null; then
+    VERSION=`grep AC_INIT configure.ac | sed -e 's#AC_INIT(\[pcmanx-gtk2\],\[##g' -e 's#\],\[http://groups.google.com/group/PCManX\])##g'`
+else
+    abort Tarball generation fails.    
+fi
+echo
+
+echo "Attempting to build plugin support..."
+tar jxf pcmanx-gtk2-${VERSION}.tar.bz2
+pushd pcmanx-gtk2-${VERSION}
+if ./configure --enable-plugin >/dev/null && make >/dev/null 2>/dev/null; then
+  echo -e "\033[44;37mPassed!\033[m"
+else
+  abort Plugin build fails.
+fi
+popd
+rm -rf pcmanx-gtk2-${VERSION}
+echo
+
+echo "Attempting to build wget support..."
+tar jxf pcmanx-gtk2-${VERSION}.tar.bz2
+pushd pcmanx-gtk2-${VERSION}
+if ./configure --enable-wget >/dev/null && make >/dev/null 2>/dev/null; then
+  echo -e "\033[44;37mPassed!\033[m"
+else
+  abort External wget support build fails.
+fi
+popd
+rm -rf pcmanx-gtk2-${VERSION}
+echo
+
+echo "Tarball pcmanx-gtk2-${VERSION} is ready now!"
+echo
Only in pcmanx-gtk2-0.3.8: install-sh
Only in pcmanx-gtk2-0.3.8: intltool-extract.in
Only in pcmanx-gtk2-0.3.8: intltool-merge.in
Only in pcmanx-gtk2-0.3.8: intltool-update.in
Only in pcmanx-gtk2-0.3.8: ltmain.sh
Only in pcmanx-gtk2-0.3.8: Makefile.in
Only in pcmanx-gtk2-0.3.8: missing
Only in pcmanx-gtk2-0.3.8: mkinstalldirs
Only in pcmanx-gtk2-0.3.8/plugin/data: Makefile.in
Only in pcmanx-gtk2-0.3.8/plugin/data: TelnetProtocol.js
Only in pcmanx-gtk2-0.3.8/plugin: Makefile.in
Only in pcmanx-gtk2-0.3.8/plugin/src: Makefile.in
Only in pcmanx-gtk2-0.3.8/po: Makefile.in.in
diff -urP --exclude=.svn pcmanx-gtk2-0.3.8/po/POTFILES.in pcmanx-gtk2-444svn/po/POTFILES.in
--- pcmanx-gtk2-0.3.8/po/POTFILES.in	2008-08-10 03:06:29.000000000 -0400
+++ pcmanx-gtk2-444svn/po/POTFILES.in	2008-08-27 17:28:48.000000000 -0400
@@ -9,4 +9,3 @@
 src/emoticondlg.cpp
 src/autologinpage.cpp
 src/downarticledlg.cpp
-src/docklet/eggtrayicon.c
diff -urP --exclude=.svn pcmanx-gtk2-0.3.8/po/POTFILES.skip pcmanx-gtk2-444svn/po/POTFILES.skip
--- pcmanx-gtk2-0.3.8/po/POTFILES.skip	2008-08-10 03:06:29.000000000 -0400
+++ pcmanx-gtk2-444svn/po/POTFILES.skip	2008-08-27 17:28:48.000000000 -0400
@@ -1 +1,2 @@
 pcmanx.desktop.in
+src/docklet/eggtrayicon.c
diff -urP --exclude=.svn pcmanx-gtk2-0.3.8/po/zh_CN.po pcmanx-gtk2-444svn/po/zh_CN.po
--- pcmanx-gtk2-0.3.8/po/zh_CN.po	2008-08-10 03:06:29.000000000 -0400
+++ pcmanx-gtk2-444svn/po/zh_CN.po	2008-08-27 17:28:48.000000000 -0400
@@ -4,7 +4,7 @@
 msgstr ""
 "Project-Id-Version: zh_CN\n"
 "Report-Msgid-Bugs-To: http://groups.google.com/group/PCManX\n"
-"POT-Creation-Date: 2008-07-31 12:13+0800\n"
+"POT-Creation-Date: 2008-08-11 22:40+0800\n"
 "PO-Revision-Date: 2006-03-12 22:16+0800\n"
 "Last-Translator: Jason Xia <jasonxh at gmail.com>\n"
 "Language-Team: \n"
@@ -12,7 +12,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ../src/sitelistdlg.cpp:33 ../src/mainframe.cpp:281
+#: ../src/sitelistdlg.cpp:33 ../src/mainframe.cpp:283
 msgid "Site List"
 msgstr "BBS 站点列表"
 
@@ -25,230 +25,230 @@
 msgid "Keyword \"%s\" not found!"
 msgstr "找不到关键字 \"%s\"!"
 
-#: ../src/mainframe.cpp:280
+#: ../src/mainframe.cpp:282
 msgid "_Connect"
 msgstr "连接(_C)"
 
-#: ../src/mainframe.cpp:281
+#: ../src/mainframe.cpp:283
 msgid "_Site List"
 msgstr "BBS 站点列表(_S)"
 
-#: ../src/mainframe.cpp:283
+#: ../src/mainframe.cpp:285
 msgid "_Update BBS List"
 msgstr "更新 BBS 列表(_U)"
 
-#: ../src/mainframe.cpp:283
+#: ../src/mainframe.cpp:285
 msgid "Update BBS List"
 msgstr "更新 BBS 列表"
 
-#: ../src/mainframe.cpp:285
+#: ../src/mainframe.cpp:287
 msgid "_New Connection"
 msgstr "开启新连接(_N)"
 
-#: ../src/mainframe.cpp:285
+#: ../src/mainframe.cpp:287
 msgid "New Connection"
 msgstr "新连接"
 
-#: ../src/mainframe.cpp:286 ../src/mainframe.cpp:287
+#: ../src/mainframe.cpp:288 ../src/mainframe.cpp:289
 msgid "_Reconnect"
 msgstr "重新连接(_R)"
 
-#: ../src/mainframe.cpp:286 ../src/mainframe.cpp:287 ../src/mainframe.cpp:1085
+#: ../src/mainframe.cpp:288 ../src/mainframe.cpp:289 ../src/mainframe.cpp:1095
 msgid "Reconnect"
 msgstr "重新连接"
 
-#: ../src/mainframe.cpp:288 ../src/mainframe.cpp:289
+#: ../src/mainframe.cpp:290 ../src/mainframe.cpp:291
 msgid "_Close Connection"
 msgstr "关闭连接分页(_C)"
 
-#: ../src/mainframe.cpp:288 ../src/mainframe.cpp:289
+#: ../src/mainframe.cpp:290 ../src/mainframe.cpp:291
 msgid "Close Connection"
 msgstr "关闭连接分页"
 
-#: ../src/mainframe.cpp:290 ../src/mainframe.cpp:291
+#: ../src/mainframe.cpp:292 ../src/mainframe.cpp:293
 msgid "Ne_xt Page"
 msgstr "切换到下一个分页(_X)"
 
-#: ../src/mainframe.cpp:290 ../src/mainframe.cpp:291
+#: ../src/mainframe.cpp:292 ../src/mainframe.cpp:293
 msgid "Next Page"
 msgstr "切换到下一个分页"
 
-#: ../src/mainframe.cpp:292 ../src/mainframe.cpp:293
+#: ../src/mainframe.cpp:294 ../src/mainframe.cpp:295
 msgid "_Previous Page"
 msgstr "切换到上一个分页(_P)"
 
-#: ../src/mainframe.cpp:292 ../src/mainframe.cpp:293
+#: ../src/mainframe.cpp:294 ../src/mainframe.cpp:295
 msgid "Previous Page"
 msgstr "切换到上一个分页"
 
-#: ../src/mainframe.cpp:294
+#: ../src/mainframe.cpp:296
 msgid "_First Page"
 msgstr "切换到第一个分页(_F)"
 
-#: ../src/mainframe.cpp:294
+#: ../src/mainframe.cpp:296
 msgid "First Page"
 msgstr "切换到第一个分页"
 
-#: ../src/mainframe.cpp:295
+#: ../src/mainframe.cpp:297
 msgid "_Last Page"
 msgstr "切换到最后一个分页(_L)"
 
-#: ../src/mainframe.cpp:295
+#: ../src/mainframe.cpp:297
 msgid "Last Page"
 msgstr "切换到最后一个分页"
 
-#: ../src/mainframe.cpp:296
+#: ../src/mainframe.cpp:298
 msgid "_Jump to"
 msgstr "切换到(_J)"
 
-#: ../src/mainframe.cpp:297
+#: ../src/mainframe.cpp:299
 msgid "_Quit"
 msgstr "离开(_Q)"
 
-#: ../src/mainframe.cpp:297
+#: ../src/mainframe.cpp:299
 msgid "Quit"
 msgstr "离开"
 
-#: ../src/mainframe.cpp:298
+#: ../src/mainframe.cpp:300
 msgid "_Edit"
 msgstr "编辑(_E)"
 
-#: ../src/mainframe.cpp:299
+#: ../src/mainframe.cpp:301
 msgid "_Copy"
 msgstr "复制(_C)"
 
-#: ../src/mainframe.cpp:299
+#: ../src/mainframe.cpp:301
 msgid "Copy"
 msgstr "复制"
 
-#: ../src/mainframe.cpp:300
+#: ../src/mainframe.cpp:302
 msgid "Copy with A_NSI Color"
 msgstr "复制(包含ANSI彩色)(_N)"
 
-#: ../src/mainframe.cpp:300
+#: ../src/mainframe.cpp:302
 msgid "Copy with ANSI Color"
 msgstr "复制(包含ANSI彩色)"
 
-#: ../src/mainframe.cpp:301
+#: ../src/mainframe.cpp:303
 msgid "_Paste"
 msgstr "粘贴(_P)"
 
-#: ../src/mainframe.cpp:301
+#: ../src/mainframe.cpp:303
 msgid "Paste"
 msgstr "粘贴"
 
-#: ../src/mainframe.cpp:302
+#: ../src/mainframe.cpp:304
 msgid "Paste from Clipboard"
 msgstr "从剪切板粘贴"
 
-#: ../src/mainframe.cpp:303
+#: ../src/mainframe.cpp:305
 msgid "_Download Article"
 msgstr "全文下载(_D)"
 
-#: ../src/mainframe.cpp:303 ../src/downarticledlg.cpp:30
+#: ../src/mainframe.cpp:305 ../src/downarticledlg.cpp:30
 msgid "Download Article"
 msgstr "全文下载"
 
-#: ../src/mainframe.cpp:304
+#: ../src/mainframe.cpp:306
 msgid "Select A_ll"
 msgstr "全部选取(_L)"
 
-#: ../src/mainframe.cpp:305
+#: ../src/mainframe.cpp:307
 msgid "_Emoticons"
 msgstr "表情符号(_E)"
 
-#: ../src/mainframe.cpp:306
+#: ../src/mainframe.cpp:308
 msgid "_Preference"
 msgstr "个人偏好设置(_P)"
 
-#: ../src/mainframe.cpp:306 ../src/prefdlg.cpp:30
+#: ../src/mainframe.cpp:308 ../src/prefdlg.cpp:30
 msgid "Preference"
 msgstr "个人偏好设置"
 
-#: ../src/mainframe.cpp:307
+#: ../src/mainframe.cpp:309
 msgid "F_avorites"
 msgstr "收藏夹(_A)"
 
-#: ../src/mainframe.cpp:308 ../src/mainframe.cpp:1295
+#: ../src/mainframe.cpp:310 ../src/mainframe.cpp:1308
 msgid "_Add to Favorites"
 msgstr "加入到收藏夹(_A)"
 
-#: ../src/mainframe.cpp:308 ../src/mainframe.cpp:1086
+#: ../src/mainframe.cpp:310 ../src/mainframe.cpp:1096
 msgid "Add to Favorites"
 msgstr "加入到收藏夹"
 
-#: ../src/mainframe.cpp:309 ../src/mainframe.cpp:1303
+#: ../src/mainframe.cpp:311 ../src/mainframe.cpp:1316
 msgid "_Edit Favorites"
 msgstr "编辑收藏夹(_E)"
 
-#: ../src/mainframe.cpp:310
+#: ../src/mainframe.cpp:312
 msgid "_View"
 msgstr "查看(_V)"
 
-#: ../src/mainframe.cpp:311
+#: ../src/mainframe.cpp:313
 msgid "_Font"
 msgstr "å­—åž‹ (_F)"
 
-#: ../src/mainframe.cpp:312
+#: ../src/mainframe.cpp:314
 msgid "_ASCII Font"
 msgstr "ASCII å­—åž‹ (_A)"
 
-#: ../src/mainframe.cpp:314
+#: ../src/mainframe.cpp:316
 msgid "Bot (Current Connection)"
 msgstr "机器人(当前的连接)"
 
-#: ../src/mainframe.cpp:315
+#: ../src/mainframe.cpp:317
 msgid "Bot (All Opened Connections)"
 msgstr "机器人(所有打开的连接)"
 
-#: ../src/mainframe.cpp:317
+#: ../src/mainframe.cpp:319
 msgid "_Help"
 msgstr "帮助(_H)"
 
-#: ../src/mainframe.cpp:318
+#: ../src/mainframe.cpp:320
 msgid "About"
 msgstr "关于"
 
 #. Fullscreen Mode
-#: ../src/mainframe.cpp:320
+#: ../src/mainframe.cpp:322
 msgid "F_ullscreen Mode"
 msgstr "全屏模式(_U)"
 
 #. Simple Mode
-#: ../src/mainframe.cpp:322
+#: ../src/mainframe.cpp:324
 msgid "_Simple Mode"
 msgstr "简单模式 (_S)"
 
 #. Show/Hide Main Window
-#: ../src/mainframe.cpp:329
+#: ../src/mainframe.cpp:331
 msgid "Show _Main Window"
 msgstr "显示主窗口(_M)"
 
-#: ../src/mainframe.cpp:336 ../src/mainframe.cpp:342
+#: ../src/mainframe.cpp:338 ../src/mainframe.cpp:344
 msgid "Disable Bot"
 msgstr "禁用机器人"
 
-#: ../src/mainframe.cpp:337 ../src/mainframe.cpp:343
+#: ../src/mainframe.cpp:339 ../src/mainframe.cpp:345
 msgid "Nancy Bot"
 msgstr "机器人 Nancy"
 
-#: ../src/mainframe.cpp:520
+#: ../src/mainframe.cpp:522
 msgid "Page"
 msgstr "分页"
 
-#: ../src/mainframe.cpp:543
+#: ../src/mainframe.cpp:545
 msgid "A_ddress:"
 msgstr "地址(_D):"
 
-#: ../src/mainframe.cpp:547
+#: ../src/mainframe.cpp:549
 msgid "Type URL here, then hit \"Enter\""
 msgstr "在此输入地址,然后按下\"Enter\""
 
-#: ../src/mainframe.cpp:606
+#: ../src/mainframe.cpp:608
 msgid "Connect"
 msgstr "连接"
 
-#: ../src/mainframe.cpp:606
+#: ../src/mainframe.cpp:608
 msgid ""
 "Host IP Address:\n"
 "Append port number to IP with a separating colon if it's not 23."
@@ -256,15 +256,15 @@
 "主机 IP 地址:\n"
 "如果连接端口不是 23,请将连接端口号码接在 IP 后面, 并用冒号隔开。"
 
-#: ../src/mainframe.cpp:638 ../src/mainframe.cpp:690
+#: ../src/mainframe.cpp:640 ../src/mainframe.cpp:692
 msgid "Font"
 msgstr "å­—åž‹"
 
-#: ../src/mainframe.cpp:643 ../src/mainframe.cpp:695
+#: ../src/mainframe.cpp:645 ../src/mainframe.cpp:697
 msgid "Apply to all opened pages"
 msgstr "应用于所有打开的分页"
 
-#: ../src/mainframe.cpp:781
+#: ../src/mainframe.cpp:783
 msgid ""
 "Hong Jen Yee (Main developer) <pcman.tw at gmail.com>\n"
 "Jim Huang (Developer) <jserv.tw at gmail.com>\n"
@@ -284,11 +284,11 @@
 "周  玮 Emfox Zhou (开发者) <emfoxzhou at gmail.com>\n"
 "夏  昊 Jason Xia (开发者) <jasonxh at gmail.com>"
 
-#: ../src/mainframe.cpp:790
+#: ../src/mainframe.cpp:792
 msgid "Chinese Simplified (zh_CN): Haifeng Chen <optical.dlz at gmail.com>"
 msgstr "简体中文 (zh_CN):陈海峰 Haifeng Chen <optical.dlz at gmail.com>"
 
-#: ../src/mainframe.cpp:795
+#: ../src/mainframe.cpp:797
 #, c-format
 msgid ""
 "<b>PCMan X %s</b>\n"
@@ -321,28 +321,28 @@
 "%s\n"
 "\n"
 
-#: ../src/mainframe.cpp:862
+#: ../src/mainframe.cpp:864
 msgid "Update BBS List Success!"
 msgstr "更新 BBS 列表成功!"
 
-#: ../src/mainframe.cpp:863
+#: ../src/mainframe.cpp:865
 msgid "Update BBS List Fault."
 msgstr "更新 BBS 列表失败。"
 
-#: ../src/mainframe.cpp:896
+#: ../src/mainframe.cpp:898
 msgid "Close Connection?"
 msgstr "确定关闭连接分页?"
 
 #. set menu items
-#: ../src/mainframe.cpp:1084
+#: ../src/mainframe.cpp:1094
 msgid "Close"
 msgstr "关闭"
 
-#: ../src/mainframe.cpp:1205
+#: ../src/mainframe.cpp:1217
 msgid "Quit PCMan X ?"
 msgstr "离开 PCMan X ?"
 
-#: ../src/mainframe.cpp:1217
+#: ../src/mainframe.cpp:1229
 #, c-format
 msgid ""
 "Function not implemented yet!\n"
@@ -351,20 +351,20 @@
 "功能尚未完成!\n"
 "侦错讯息: %s"
 
-#: ../src/mainframe.cpp:1229
+#: ../src/mainframe.cpp:1242
 msgid "Add To Favorites"
 msgstr "加入到收藏夹"
 
-#: ../src/mainframe.cpp:1342
+#: ../src/mainframe.cpp:1355
 #, c-format
 msgid "Time Elapsed : %02d : %02d : %02d"
 msgstr "经过的时间:%02d : %02d : %02d"
 
-#: ../src/mainframe.cpp:1550
+#: ../src/mainframe.cpp:1571
 msgid "Nancy Bot is enabled"
 msgstr "机器人 Nancy 已经启动"
 
-#: ../src/mainframe.cpp:1557
+#: ../src/mainframe.cpp:1578
 msgid "Nancy Bot is disabled"
 msgstr "机器人 Nancy 已经禁用"
 
@@ -485,8 +485,8 @@
 msgstr "打开鼠标支持"
 
 #: ../src/generalprefpage.cpp:62
-msgid "Show System Tray Icon (Docklet) (Take effect after restart)"
-msgstr "显示系统托盘图标 (Docklet) (重新启动程序后才有效)"
+msgid "Show System Tray Icon (Docklet)"
+msgstr "显示系统托盘图标 (Docklet)"
 
 #: ../src/generalprefpage.cpp:67
 msgid "Show Status Bar on bottom"
@@ -594,11 +594,11 @@
 msgid "Downloading ..."
 msgstr "下载中 ..."
 
-#: ../src/downarticledlg.cpp:174
+#: ../src/downarticledlg.cpp:177
 msgid "Save As"
 msgstr "另存为"
 
-#: ../src/downarticledlg.cpp:208
+#: ../src/downarticledlg.cpp:211
 #, c-format
 msgid "Error saving file '%s': %s"
 msgstr "保存文件'%s‘出错:%s"
diff -urP --exclude=.svn pcmanx-gtk2-0.3.8/po/zh_TW.po pcmanx-gtk2-444svn/po/zh_TW.po
--- pcmanx-gtk2-0.3.8/po/zh_TW.po	2008-08-10 03:06:29.000000000 -0400
+++ pcmanx-gtk2-444svn/po/zh_TW.po	2008-08-27 17:28:48.000000000 -0400
@@ -4,7 +4,7 @@
 msgstr ""
 "Project-Id-Version: zh_TW\n"
 "Report-Msgid-Bugs-To: http://groups.google.com/group/PCManX\n"
-"POT-Creation-Date: 2008-08-06 11:02+0800\n"
+"POT-Creation-Date: 2008-08-11 22:40+0800\n"
 "PO-Revision-Date: 2008-08-06 11:21+0800\n"
 "Last-Translator: Jim Huang <jserv.tw at gmail.com>\n"
 "Language-Team:  <zh at li.org>\n"
@@ -12,7 +12,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ../src/sitelistdlg.cpp:33 ../src/mainframe.cpp:281
+#: ../src/sitelistdlg.cpp:33 ../src/mainframe.cpp:283
 msgid "Site List"
 msgstr "BBS 站台列表"
 
@@ -25,230 +25,230 @@
 msgid "Keyword \"%s\" not found!"
 msgstr "找不到關鍵字 \"%s\"!"
 
-#: ../src/mainframe.cpp:280
+#: ../src/mainframe.cpp:282
 msgid "_Connect"
 msgstr "連線 (_C)"
 
-#: ../src/mainframe.cpp:281
+#: ../src/mainframe.cpp:283
 msgid "_Site List"
 msgstr "BBS 站台列表 (_S)"
 
-#: ../src/mainframe.cpp:283
+#: ../src/mainframe.cpp:285
 msgid "_Update BBS List"
 msgstr "更新站台列表 (_U)"
 
-#: ../src/mainframe.cpp:283
+#: ../src/mainframe.cpp:285
 msgid "Update BBS List"
 msgstr "更新站台列表"
 
-#: ../src/mainframe.cpp:285
+#: ../src/mainframe.cpp:287
 msgid "_New Connection"
 msgstr "開啟新連線 (_N)"
 
-#: ../src/mainframe.cpp:285
+#: ../src/mainframe.cpp:287
 msgid "New Connection"
 msgstr "新連線"
 
-#: ../src/mainframe.cpp:286 ../src/mainframe.cpp:287
+#: ../src/mainframe.cpp:288 ../src/mainframe.cpp:289
 msgid "_Reconnect"
 msgstr "重新連線 (_R)"
 
-#: ../src/mainframe.cpp:286 ../src/mainframe.cpp:287 ../src/mainframe.cpp:1085
+#: ../src/mainframe.cpp:288 ../src/mainframe.cpp:289 ../src/mainframe.cpp:1095
 msgid "Reconnect"
 msgstr "重新連線"
 
-#: ../src/mainframe.cpp:288 ../src/mainframe.cpp:289
+#: ../src/mainframe.cpp:290 ../src/mainframe.cpp:291
 msgid "_Close Connection"
 msgstr "關閉連線分頁 (_C)"
 
-#: ../src/mainframe.cpp:288 ../src/mainframe.cpp:289
+#: ../src/mainframe.cpp:290 ../src/mainframe.cpp:291
 msgid "Close Connection"
 msgstr "關閉連線分頁"
 
-#: ../src/mainframe.cpp:290 ../src/mainframe.cpp:291
+#: ../src/mainframe.cpp:292 ../src/mainframe.cpp:293
 msgid "Ne_xt Page"
 msgstr "切換到下一個分頁 (_X)"
 
-#: ../src/mainframe.cpp:290 ../src/mainframe.cpp:291
+#: ../src/mainframe.cpp:292 ../src/mainframe.cpp:293
 msgid "Next Page"
 msgstr "切換到下一個分頁"
 
-#: ../src/mainframe.cpp:292 ../src/mainframe.cpp:293
+#: ../src/mainframe.cpp:294 ../src/mainframe.cpp:295
 msgid "_Previous Page"
 msgstr "切換到上一個分頁 (_P)"
 
-#: ../src/mainframe.cpp:292 ../src/mainframe.cpp:293
+#: ../src/mainframe.cpp:294 ../src/mainframe.cpp:295
 msgid "Previous Page"
 msgstr "切換到上一個分頁"
 
-#: ../src/mainframe.cpp:294
+#: ../src/mainframe.cpp:296
 msgid "_First Page"
 msgstr "切換到第一個分頁 (_F)"
 
-#: ../src/mainframe.cpp:294
+#: ../src/mainframe.cpp:296
 msgid "First Page"
 msgstr "切換到第一個分頁"
 
-#: ../src/mainframe.cpp:295
+#: ../src/mainframe.cpp:297
 msgid "_Last Page"
 msgstr "切換到最後一個分頁 (_L)"
 
-#: ../src/mainframe.cpp:295
+#: ../src/mainframe.cpp:297
 msgid "Last Page"
 msgstr "切換到最後一個分頁"
 
-#: ../src/mainframe.cpp:296
+#: ../src/mainframe.cpp:298
 msgid "_Jump to"
 msgstr "切換到 (_J)"
 
-#: ../src/mainframe.cpp:297
+#: ../src/mainframe.cpp:299
 msgid "_Quit"
 msgstr "離開 (_Q)"
 
-#: ../src/mainframe.cpp:297
+#: ../src/mainframe.cpp:299
 msgid "Quit"
 msgstr "離開"
 
-#: ../src/mainframe.cpp:298
+#: ../src/mainframe.cpp:300
 msgid "_Edit"
 msgstr "編輯 (_E)"
 
-#: ../src/mainframe.cpp:299
+#: ../src/mainframe.cpp:301
 msgid "_Copy"
 msgstr "複製 (_C)"
 
-#: ../src/mainframe.cpp:299
+#: ../src/mainframe.cpp:301
 msgid "Copy"
 msgstr "複製"
 
-#: ../src/mainframe.cpp:300
+#: ../src/mainframe.cpp:302
 msgid "Copy with A_NSI Color"
 msgstr "複製(包含ANSI彩色) (_N)"
 
-#: ../src/mainframe.cpp:300
+#: ../src/mainframe.cpp:302
 msgid "Copy with ANSI Color"
 msgstr "複製(包含ANSI彩色)"
 
-#: ../src/mainframe.cpp:301
+#: ../src/mainframe.cpp:303
 msgid "_Paste"
 msgstr "貼上 (_P)"
 
-#: ../src/mainframe.cpp:301
+#: ../src/mainframe.cpp:303
 msgid "Paste"
 msgstr "貼上"
 
-#: ../src/mainframe.cpp:302
+#: ../src/mainframe.cpp:304
 msgid "Paste from Clipboard"
 msgstr "貼上剪貼簿內容"
 
-#: ../src/mainframe.cpp:303
+#: ../src/mainframe.cpp:305
 msgid "_Download Article"
 msgstr "下載文章 (_D)"
 
-#: ../src/mainframe.cpp:303 ../src/downarticledlg.cpp:30
+#: ../src/mainframe.cpp:305 ../src/downarticledlg.cpp:30
 msgid "Download Article"
 msgstr "下載文章"
 
-#: ../src/mainframe.cpp:304
+#: ../src/mainframe.cpp:306
 msgid "Select A_ll"
 msgstr "全部選取 (_L)"
 
-#: ../src/mainframe.cpp:305
+#: ../src/mainframe.cpp:307
 msgid "_Emoticons"
 msgstr "表情符號 (_E)"
 
-#: ../src/mainframe.cpp:306
+#: ../src/mainframe.cpp:308
 msgid "_Preference"
 msgstr "個人偏好設定 (_P)"
 
-#: ../src/mainframe.cpp:306 ../src/prefdlg.cpp:30
+#: ../src/mainframe.cpp:308 ../src/prefdlg.cpp:30
 msgid "Preference"
 msgstr "個人偏好設定"
 
-#: ../src/mainframe.cpp:307
+#: ../src/mainframe.cpp:309
 msgid "F_avorites"
 msgstr "我的最愛 (_A)"
 
-#: ../src/mainframe.cpp:308 ../src/mainframe.cpp:1295
+#: ../src/mainframe.cpp:310 ../src/mainframe.cpp:1308
 msgid "_Add to Favorites"
 msgstr "加入到我的最愛 (_A)"
 
-#: ../src/mainframe.cpp:308 ../src/mainframe.cpp:1086
+#: ../src/mainframe.cpp:310 ../src/mainframe.cpp:1096
 msgid "Add to Favorites"
 msgstr "加入到我的最愛"
 
-#: ../src/mainframe.cpp:309 ../src/mainframe.cpp:1303
+#: ../src/mainframe.cpp:311 ../src/mainframe.cpp:1316
 msgid "_Edit Favorites"
 msgstr "編輯我的最愛 (_E)"
 
-#: ../src/mainframe.cpp:310
+#: ../src/mainframe.cpp:312
 msgid "_View"
 msgstr "檢視 (_V)"
 
-#: ../src/mainframe.cpp:311
+#: ../src/mainframe.cpp:313
 msgid "_Font"
 msgstr "å­—åž‹(_F)"
 
-#: ../src/mainframe.cpp:312
+#: ../src/mainframe.cpp:314
 msgid "_ASCII Font"
 msgstr "ASCII å­—åž‹ (_A)"
 
-#: ../src/mainframe.cpp:314
+#: ../src/mainframe.cpp:316
 msgid "Bot (Current Connection)"
 msgstr "自動回訊機器人 (只套用到目前連線)"
 
-#: ../src/mainframe.cpp:315
+#: ../src/mainframe.cpp:317
 msgid "Bot (All Opened Connections)"
 msgstr "自動回訊機器人 (套用到全部連線)"
 
-#: ../src/mainframe.cpp:317
+#: ../src/mainframe.cpp:319
 msgid "_Help"
 msgstr "說明 (_H)"
 
-#: ../src/mainframe.cpp:318
+#: ../src/mainframe.cpp:320
 msgid "About"
 msgstr "關於"
 
 #. Fullscreen Mode
-#: ../src/mainframe.cpp:320
+#: ../src/mainframe.cpp:322
 msgid "F_ullscreen Mode"
 msgstr "全螢幕模式 (_U)"
 
 #. Simple Mode
-#: ../src/mainframe.cpp:322
+#: ../src/mainframe.cpp:324
 msgid "_Simple Mode"
 msgstr "精簡模式 (_S)"
 
 #. Show/Hide Main Window
-#: ../src/mainframe.cpp:329
+#: ../src/mainframe.cpp:331
 msgid "Show _Main Window"
 msgstr "顯示主畫面 (_M)"
 
-#: ../src/mainframe.cpp:336 ../src/mainframe.cpp:342
+#: ../src/mainframe.cpp:338 ../src/mainframe.cpp:344
 msgid "Disable Bot"
 msgstr "不使用自動回訊機器人"
 
-#: ../src/mainframe.cpp:337 ../src/mainframe.cpp:343
+#: ../src/mainframe.cpp:339 ../src/mainframe.cpp:345
 msgid "Nancy Bot"
 msgstr "啟動 Nancy 機器人"
 
-#: ../src/mainframe.cpp:520
+#: ../src/mainframe.cpp:522
 msgid "Page"
 msgstr "分頁"
 
-#: ../src/mainframe.cpp:543
+#: ../src/mainframe.cpp:545
 msgid "A_ddress:"
 msgstr "位址 (_D):"
 
-#: ../src/mainframe.cpp:547
+#: ../src/mainframe.cpp:549
 msgid "Type URL here, then hit \"Enter\""
 msgstr "在此輸入位址,然後按下\"Enter\""
 
-#: ../src/mainframe.cpp:606
+#: ../src/mainframe.cpp:608
 msgid "Connect"
 msgstr "連線"
 
-#: ../src/mainframe.cpp:606
+#: ../src/mainframe.cpp:608
 msgid ""
 "Host IP Address:\n"
 "Append port number to IP with a separating colon if it's not 23."
@@ -256,15 +256,15 @@
 "主機 IP 位址:\n"
 "如果連接埠不是23, 請將連接埠號碼接在IP 後面, 並用冒號隔開."
 
-#: ../src/mainframe.cpp:638 ../src/mainframe.cpp:690
+#: ../src/mainframe.cpp:640 ../src/mainframe.cpp:692
 msgid "Font"
 msgstr "å­—åž‹"
 
-#: ../src/mainframe.cpp:643 ../src/mainframe.cpp:695
+#: ../src/mainframe.cpp:645 ../src/mainframe.cpp:697
 msgid "Apply to all opened pages"
 msgstr "套用到所有開啟中的連線"
 
-#: ../src/mainframe.cpp:781
+#: ../src/mainframe.cpp:783
 msgid ""
 "Hong Jen Yee (Main developer) <pcman.tw at gmail.com>\n"
 "Jim Huang (Developer) <jserv.tw at gmail.com>\n"
@@ -284,11 +284,11 @@
 "周  玮 Emfox Zhou (開發者) <emfoxzhou at gmail.com>\n"
 "夏  昊 Jason Xia (開發者) <jasonxh at gmail.com>"
 
-#: ../src/mainframe.cpp:790
+#: ../src/mainframe.cpp:792
 msgid "Chinese Simplified (zh_CN): Haifeng Chen <optical.dlz at gmail.com>"
 msgstr "簡體中文 (zh_CN):陳海峰 Haifeng Chen <optical.dlz at gmail.com>"
 
-#: ../src/mainframe.cpp:795
+#: ../src/mainframe.cpp:797
 #, c-format
 msgid ""
 "<b>PCMan X %s</b>\n"
@@ -321,28 +321,28 @@
 "%s\n"
 "\n"
 
-#: ../src/mainframe.cpp:862
+#: ../src/mainframe.cpp:864
 msgid "Update BBS List Success!"
 msgstr "BBS站台列表更新成功! *^^*"
 
-#: ../src/mainframe.cpp:863
+#: ../src/mainframe.cpp:865
 msgid "Update BBS List Fault."
 msgstr "BBS站台列表更新失敗... Orz"
 
-#: ../src/mainframe.cpp:896
+#: ../src/mainframe.cpp:898
 msgid "Close Connection?"
 msgstr "確定關閉連線分頁?"
 
 #. set menu items
-#: ../src/mainframe.cpp:1084
+#: ../src/mainframe.cpp:1094
 msgid "Close"
 msgstr "關閉"
 
-#: ../src/mainframe.cpp:1205
+#: ../src/mainframe.cpp:1217
 msgid "Quit PCMan X ?"
 msgstr "離開 PCMan X ?"
 
-#: ../src/mainframe.cpp:1217
+#: ../src/mainframe.cpp:1229
 #, c-format
 msgid ""
 "Function not implemented yet!\n"
@@ -351,20 +351,20 @@
 "功能尚未實做!\n"
 "偵錯訊息: %s"
 
-#: ../src/mainframe.cpp:1229
+#: ../src/mainframe.cpp:1242
 msgid "Add To Favorites"
 msgstr "加入到我的最愛"
 
-#: ../src/mainframe.cpp:1342
+#: ../src/mainframe.cpp:1355
 #, c-format
 msgid "Time Elapsed : %02d : %02d : %02d"
 msgstr "經過時間:%02d : %02d : %02d"
 
-#: ../src/mainframe.cpp:1550
+#: ../src/mainframe.cpp:1571
 msgid "Nancy Bot is enabled"
 msgstr "Nancy 機器人作用中"
 
-#: ../src/mainframe.cpp:1557
+#: ../src/mainframe.cpp:1578
 msgid "Nancy Bot is disabled"
 msgstr "不使用 Nancy 機器人"
 
@@ -485,8 +485,8 @@
 msgstr "使用滑鼠支援"
 
 #: ../src/generalprefpage.cpp:62
-msgid "Show System Tray Icon (Docklet) (Take effect after restart)"
-msgstr "顯示系統列圖示 (Docklet) (重新啟動程式後才有效)"
+msgid "Show System Tray Icon (Docklet)"
+msgstr "顯示系統列圖示 (Docklet)"
 
 #: ../src/generalprefpage.cpp:67
 msgid "Show Status Bar on bottom"
Only in pcmanx-gtk2-0.3.8/src/core: Makefile.in
diff -urP --exclude=.svn pcmanx-gtk2-0.3.8/src/downarticledlg.cpp pcmanx-gtk2-444svn/src/downarticledlg.cpp
--- pcmanx-gtk2-0.3.8/src/downarticledlg.cpp	2008-08-10 03:06:30.000000000 -0400
+++ pcmanx-gtk2-444svn/src/downarticledlg.cpp	2008-08-27 17:28:46.000000000 -0400
@@ -19,6 +19,10 @@
 #include "downarticledlg.h"
 #include <fstream>
 #include <cerrno>
+#ifndef _GNU_SOURCE
+#define _GNU_SOURCE
+#endif
+#include <string.h>
 
 #define CUSTOM_RESPONSE_COPY 1
 #define CUSTOM_RESPONSE_SAVE 2
diff -urP --exclude=.svn pcmanx-gtk2-0.3.8/src/generalprefpage.cpp pcmanx-gtk2-444svn/src/generalprefpage.cpp
--- pcmanx-gtk2-0.3.8/src/generalprefpage.cpp	2008-08-10 03:06:30.000000000 -0400
+++ pcmanx-gtk2-444svn/src/generalprefpage.cpp	2008-08-27 17:28:46.000000000 -0400
@@ -59,7 +59,7 @@
 #endif
 
 #ifdef USE_DOCKLET
-	m_ShowTrayIcon = gtk_check_button_new_with_mnemonic (_("Show System Tray Icon (Docklet) (Take effect after restart)"));
+	m_ShowTrayIcon = gtk_check_button_new_with_mnemonic (_("Show System Tray Icon (Docklet)"));
 	gtk_widget_show (m_ShowTrayIcon);
 	gtk_box_pack_start (GTK_BOX (m_Widget), m_ShowTrayIcon, FALSE, FALSE, 0);
 #endif
diff -urP --exclude=.svn pcmanx-gtk2-0.3.8/src/mainframe.cpp pcmanx-gtk2-444svn/src/mainframe.cpp
--- pcmanx-gtk2-0.3.8/src/mainframe.cpp	2008-08-10 03:06:30.000000000 -0400
+++ pcmanx-gtk2-444svn/src/mainframe.cpp	2008-08-27 17:28:46.000000000 -0400
@@ -973,7 +973,9 @@
 
 void CMainFrame::OnPreference(GtkMenuItem* mitem UNUSED, CMainFrame* _this)
 {
-//	bool show_tray_icon = AppConfig.ShowTrayIcon;
+#ifdef USE_DOCKLET
+	bool show_tray_icon = AppConfig.ShowTrayIcon;
+#endif
 	CPrefDlg* dlg = new CPrefDlg(_this);
 	dlg->ShowModal();
 	dlg->Destroy();
@@ -987,13 +989,14 @@
 #if defined(USE_NOTIFIER) && !defined(USE_LIBNOTIFY)
 	popup_notifier_set_timeout( AppConfig.PopupTimeout );
 #endif
-//	FIXME: Currently we cannot freely hide or show tray icon.
-/*	if( AppConfig.ShowTrayIcon != show_tray_icon )
+
+#ifdef USE_DOCKLET
+	if( AppConfig.ShowTrayIcon != show_tray_icon )
 		if(AppConfig.ShowTrayIcon)
 			_this->ShowTrayIcon();
 		else
 			_this->HideTrayIcon();
-*/
+#endif
 }
 
 
Only in pcmanx-gtk2-0.3.8/src: Makefile.in
diff -urP --exclude=.svn pcmanx-gtk2-0.3.8/src/nancy_bot/standalone.cpp pcmanx-gtk2-444svn/src/nancy_bot/standalone.cpp
--- pcmanx-gtk2-0.3.8/src/nancy_bot/standalone.cpp	1969-12-31 19:00:00.000000000 -0500
+++ pcmanx-gtk2-444svn/src/nancy_bot/standalone.cpp	2008-08-27 17:28:46.000000000 -0400
@@ -0,0 +1,31 @@
+#include "nancy_bot/api.h"
+#ifdef CONSOLE_BOT
+int
+main (int argc, char **argv)
+{
+    NancyBot *b;
+    if(argv[1] != NULL)
+    {
+    	b = new NancyBot(argv[1]);
+    }
+    else
+	b = new NancyBot();
+#ifdef ADV_BOT_DEBUG
+    b->debug();
+#endif
+    char *input = new char[80];
+    string msg_in;
+    do
+    {
+	    cin.getline(input,80);
+	    cin.clear();
+	    msg_in = input;
+    }
+    while (strncmp (input, "exit", 4) != 0 &&
+	   (cout << "Nancy: " << b->askNancy (msg_in) << endl));
+    // ask_nancy return "PCManX-NancyBot" when initial error ( no config file found )
+    delete b;
+    return 0;
+}
+
+#endif // define CONSOLE_BOT
diff -urP --exclude=.svn pcmanx-gtk2-0.3.8/src/pcmanx_gtk2.cpp pcmanx-gtk2-444svn/src/pcmanx_gtk2.cpp
--- pcmanx-gtk2-0.3.8/src/pcmanx_gtk2.cpp	2008-08-10 03:06:30.000000000 -0400
+++ pcmanx-gtk2-444svn/src/pcmanx_gtk2.cpp	2008-08-27 17:28:46.000000000 -0400
@@ -143,6 +143,8 @@
 #ifdef USE_DOCKLET
 	if( AppConfig.ShowTrayIcon )
 		main_frm->ShowTrayIcon();
+	else
+		main_frm->HideTrayIcon();
 #endif
 
 #ifdef USE_NOTIFIER


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/pcmanx-gtk2/devel/.cvsignore,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- .cvsignore	16 Apr 2007 18:22:24 -0000	1.2
+++ .cvsignore	27 Aug 2008 23:10:19 -0000	1.3
@@ -1 +1 @@
-pcmanx-gtk2.tar.gz
+pcmanx-gtk2-0.3.8.tar.bz2


Index: pcmanx-gtk2.spec
===================================================================
RCS file: /cvs/pkgs/rpms/pcmanx-gtk2/devel/pcmanx-gtk2.spec,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- pcmanx-gtk2.spec	19 Feb 2008 11:11:54 -0000	1.4
+++ pcmanx-gtk2.spec	27 Aug 2008 23:10:20 -0000	1.5
@@ -1,19 +1,30 @@
-# Source package is generated using:
-#        1. svn co https://svn.csie.net/pcmanx/trunk pcmanx-gtk2
-#        2. tar czvf pcmanx-gtk2.tar.gz pcmanx-gtk2
-%define    alphatag 355svn
+# Update as needed for newer xulrunner
+# We hardcode this here because everytime xulrunner increments
+# it tends to break things that depend on it.
+%define xulmajorver 1.9
+%define xulver %{xulmajorver}.0.1
+
 Summary:   Telnet client designed for BBS browsing
 Name:      pcmanx-gtk2
-Version:   0.3.6
-Release:   3.%{alphatag}%{?dist}
-License:   GPL
+Version:   0.3.8
+Release:   1%{?dist}
+License:   GPLv2+
 Group:     Applications/Internet
-Source0:   http://pcmanx.csie.net/release/pcmanx-gtk2.tar.gz
+Source0:   http://pcmanx.csie.net/release/%{name}-%{version}.tar.bz2
 Source1:   pcmanx.desktop
+# Fixes between 0.3.8 and 444svn checkout (08-27-08)
+Patch0:    pcmanx-gtk2-444svn.patch
+# Detect xpidl on Fedora (and set MOZILLA_LIB_ROOT properly)
+Patch1:    pcmanx-gtk2-0.3.8-Fedora-xpidl.patch
+# The idldir in our libxul already has "stable" in it.
+Patch2:    pcmanx-gtk2-0.3.8-Fedora-idldir.patch
 URL:       http://pcmanx.csie.net
 BuildRequires:     gtk2-devel desktop-file-utils gettext libnotify-devel
+BuildRequires:     libXft-devel
 # required for generating configure script
 BuildRequires:     gettext-devel libtool intltool
+# plugin
+BuildRequires:     xulrunner-devel = %{xulver}
 Requires(post):    /sbin/ldconfig
 Requires(postun):  /sbin/ldconfig
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -26,26 +37,40 @@
 be an easy-to-use yet full-featured telnet client facilitating BBS
 browsing with the ability to process double-byte characters.
 
+%package xulrunner-plugin
+Summary:        Mozilla/Firefox/XULRunner telnet plugin using PCManX
+Requires:       %{name} = %{version}-%{release}
+Requires:       xulrunner = %{xulver}
+Group:          Applications/Internet
+License:        MPLv1.1 or GPLv2+ or LGPLv2+
+
+%description xulrunner-plugin
+Mozilla/Firefox/XULRunner plugin for PCManX. This plugin adds support for telnet:// protocol to your 
+Mozilla based browser. The protocol engine is done by PCManX and the output window is embedded in a 
+webpage in the browser window. 
+
 %prep
-%setup -q -n %{name}
+%setup -q
+%patch0 -p1 -b .svn444
+%patch1 -p1 -b .xpidl
+%patch2 -p1 -b .idldir
 
 ########################################################################
 # automake 1.10 fails without config.rpath.
 # Check the following code and see if it can be removed.
-for f in `ls -d %{_datadir}/automake-1.* | sort  -g -k 2 -t .` ; do
-   automakever=`echo $f | sed -e 's|%{_datadir}/automake-||'`
-done
+ for f in `ls -d %{_datadir}/automake-1.* | sort  -g -k 2 -t .` ; do
+    automakever=`echo $f | sed -e 's|%{_datadir}/automake-||'`
+ done
 
-eval %{__sed} -i.orig -e \'s\|-1\\\.9\|-$automakever\|\' autogen.sh
-%{__sed} -i -e 's|set -x|set -e -x|' autogen.sh
+ eval %{__sed} -i.orig -e \'s\|-1\\\.9\|-$automakever\|\' autogen.sh
+ %{__sed} -i -e 's|set -x|set -e -x|' autogen.sh
 
-touch config.rpath
+ touch config.rpath
 ########################################################################
-./autogen.sh
-#autoreconf -fi
 
 %build
-%configure --enable-libnotify
+./autogen.sh
+%configure --enable-libnotify --enable-plugin
 make %{?_smp_mflags}
 
 %install
@@ -66,6 +91,14 @@
 rm $RPM_BUILD_ROOT/%{_libdir}/*.la
 rm $RPM_BUILD_ROOT/%{_libdir}/*.so
 
+# Set the plugin +x so we can get debuginfo from it.
+chmod +x $RPM_BUILD_ROOT%{_libdir}/xulrunner-*/plugins/*.so
+
+# Make a symlink so firefox sees the plugin.
+mkdir -p $RPM_BUILD_ROOT%{_libdir}/mozilla/plugins/
+cd $RPM_BUILD_ROOT%{_libdir}/mozilla/plugins/
+ln -s ../../xulrunner-%{xulmajorver}/plugins/pcmanx-plugin.so pcmanx-plugin.so
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
@@ -83,7 +116,18 @@
 %{_datadir}/pcmanx/*
 %{_datadir}/pixmaps/*.png
 
+%files xulrunner-plugin
+%defattr(-,root,root,-)
+%{_libdir}/xulrunner-*/components/*
+%{_libdir}/xulrunner-*/plugins/pcmanx-plugin.so
+# We need to own this dir, because we don't want to Requires: firefox
+%{_libdir}/mozilla/plugins/
+
 %changelog
+* Wed Aug 27 2008 Tom "spot" Callaway <tcallawa at redhat.com> - 0.3.8-1
+- update to 0.3.8
+- build and package mozilla/firefox/xulrunner plugin
+
 * Tue Feb 19 2008 Fedora Release Engineering <rel-eng at fedoraproject.org> - 0.3.6-3.355svn
 - Autorebuild for GCC 4.3
 


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/pcmanx-gtk2/devel/sources,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- sources	9 Sep 2007 15:26:03 -0000	1.3
+++ sources	27 Aug 2008 23:10:20 -0000	1.4
@@ -1 +1 @@
-3e9f23fb8f051a4c099599f27616a687  pcmanx-gtk2.tar.gz
+95f1d74e7cd130f4f146444ffa91d1fc  pcmanx-gtk2-0.3.8.tar.bz2




More information about the fedora-extras-commits mailing list