Mercurial > pidgin
annotate setup-gettext @ 4469:d76095396a0e
[gaim-migrate @ 4744]
Phase 2 of the conversation rewrite! Did you think I was done?
Okay everybody, the prefs page was slightly redesigned. Not much, though.
It needs an overhaul, and still, not everything works.. What we have now
is:
Conversations
|
|- IMs
|- Chats
`- Tabs
But that's not the good part of this patch. Oh no, not close. You see, in
Conversations, we now have a "Placement" drop-down box. Though this prefs
page is ugly and will eventually be redesigned, this gives you the
opportunity to set one of a number of different types of conversation
placement options.
The defaults are:
- Last created window: Adds the new conversation to the last created
window, like how things have been lately.
- New window: Adds the new conversation to a brand new window, every
time. Tabs are still there, so you can drag them between windows if you
want to manually group them.
- By group: This is my new favorite. This will put the new conversation
in whatever window it finds first that has another member from that
same group on your buddy list. If it doesn't find one, it creates a new
window. If the person you IM'd or the person who IM'd you is not on your
list, it gets put in a window with other people not on your list.
These are the only ones implemented, but don't think you're limited to
that. You see, we have new API functions for registering these
Conversation Placement functions. All a plugin would need to do is to write
a function, take into account OPT_CONVO_COMBINE (oh yeah, "Show IMs and
chats in same tabbed window" works again), make sure the conversation is
added _somewhere_, and then just register that function. If the plugin is
loaded, the user can select it from the existing drop-down box.
Cool, huh? Make sure to unregister the function when the plugin is
unloaded.
Have fun.
committer: Tailor Script <tailor@pidgin.im>
| author | Christian Hammond <chipx86@chipx86.com> |
|---|---|
| date | Thu, 30 Jan 2003 09:22:15 +0000 |
| parents | cd42bf49e2bb |
| children | d6491dc2b7b2 |
| rev | line source |
|---|---|
| 3414 | 1 #!/bin/sh |
|
3420
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
2 # |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
3 # setup-gettext - Provides compatibility with versions of gettext |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
4 # from the 0.10.x series and 0.11.x. |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
5 # |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
6 # Copyright (C) 2002 Christian Hammond. |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
7 # |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
8 # This program is free software; you can redistribute it and/or |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
9 # modify it under the terms of the GNU General Public License as |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
10 # published by the Free Software Foundation; either version 2 of |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
11 # the License, or (at your option) any later version. |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
12 # |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
13 # This program is distributed in the hope that it will be useful, |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
16 # GNU General Public License for more details. |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
17 # |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
18 # You should have received a copy of the GNU General Public |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
19 # License along with this program; if not, write to the Free |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
20 # Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
21 # MA 02111-1307 USA |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
22 # |
| 3414 | 23 |
|
3420
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
24 VERSION=0.1.3 |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
25 |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
26 VERBOSE=0 |
| 3414 | 27 |
| 28 parse_gettext_version() { | |
| 29 GETTEXT_VERSION=`$GETTEXT_TOOL --version | sed -n 's/^.*\([0-9]\+\)\.\([0-9]\+\)\.\([0-9]\+\).*$/\1.\2.\3/p'` | |
| 30 GETTEXT_MAJOR_VERSION=`echo $GETTEXT_VERSION | sed -n 's/^\([0-9]\+\).*/\1/p'` | |
| 31 GETTEXT_MINOR_VERSION=`echo $GETTEXT_VERSION | sed -n 's/^[0-9]\+\.\([0-9]\+\).*/\1/p'` | |
| 32 GETTEXT_MICRO_VERSION=`echo $GETTEXT_VERSION | sed -n 's/^[0-9]\+\.[0-9]\+\.\([0-9]\+\).*/\1/p'` | |
| 33 } | |
| 34 | |
| 35 find_gettext() { | |
| 36 GETTEXT_TOOL=autopoint | |
| 37 | |
| 38 (autopoint --version) < /dev/null > /dev/null 2>&1 || { | |
| 39 GETTEXT_TOOL=gettextize | |
| 40 | |
| 41 (gettextize --version) < /dev/null > /dev/null 2>&1 || { | |
| 42 GETTEXT_TOOL= | |
| 43 } | |
| 44 } | |
| 45 } | |
| 46 | |
|
3420
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
47 install() { |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
48 [ -f configure.in ] && { |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
49 cp configure.in .tmp-configure.in |
|
3421
3efe967c8524
[gaim-migrate @ 3443]
Christian Hammond <chipx86@chipx86.com>
parents:
3420
diff
changeset
|
50 sed -e 's/^AM_GNU_GETTEXT\(.*\)$/AM_GNU_GETTEXT\1\ |
|
3420
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
51 AM_GNU_GETTEXT_VERSION(0.10.40)/' < .tmp-configure.in > configure.in |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
52 rm .tmp-configure.in |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
53 } |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
54 |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
55 [ -f configure.ac ] && { |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
56 cp configure.ac .tmp-configure.ac |
|
3421
3efe967c8524
[gaim-migrate @ 3443]
Christian Hammond <chipx86@chipx86.com>
parents:
3420
diff
changeset
|
57 sed -e 's/^AM_GNU_GETTEXT\(.*\)$/AM_GNU_GETTEXT\1\ |
|
3420
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
58 AM_GNU_GETTEXT_VERSION(0.10.40)/' < .tmp-configure.ac > configure.ac |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
59 rm .tmp-configure.ac |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
60 } |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
61 |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
62 [ -f autogen.sh ] && { |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
63 cp autogen.sh .tmp-autogen.sh |
|
3422
cd42bf49e2bb
[gaim-migrate @ 3444]
Christian Hammond <chipx86@chipx86.com>
parents:
3421
diff
changeset
|
64 sed -e 's/\(gettextize\|autopoint\) --version/.\/setup-gettext --gettext-tool/1' -e 's/^\(echo.*|[\t ]*\)\?\(gettextize\|autopoint\) -.*$/.\/setup-gettext/1' < .tmp-autogen.sh > autogen.sh |
|
3420
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
65 rm .tmp-autogen.sh |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
66 } |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
67 |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
68 echo 'AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])' >> acinclude.m4 |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
69 } |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
70 |
| 3414 | 71 backup_m4() { |
| 72 [ -d m4 ] && mv m4 m4~ | |
| 73 } | |
| 74 | |
| 75 restore_m4() { | |
| 76 [ -d m4~ ] && { | |
| 77 rm -rf m4 | |
| 78 mv m4~ m4 | |
| 79 } | |
| 80 } | |
| 81 | |
| 82 restore_files() { | |
|
3420
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
83 [ -f configure.in~ ] && mv -f configure.in~ configure.in |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
84 [ -f configure.ac~ ] && mv -f configure.ac~ configure.ac |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
85 [ -f Makefile.am~ ] && mv -f Makefile.am~ Makefile.am |
| 3414 | 86 } |
| 87 | |
| 88 abort() { | |
| 89 restore_files | |
| 90 restore_m4 | |
| 91 | |
| 92 exit 1 | |
| 93 } | |
| 94 | |
| 95 # Main code | |
| 96 | |
| 97 find_gettext | |
| 98 | |
| 99 # See if a version of gettext and its tools are installed. | |
|
3420
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
100 if [ x$GETTEXT_TOOL = x ]; then |
| 3414 | 101 echo |
| 102 echo "You do not have a version of gettext installed." | |
|
3415
d7c90e6ecc23
[gaim-migrate @ 3434]
Christian Hammond <chipx86@chipx86.com>
parents:
3414
diff
changeset
|
103 echo "Please download one from your local package repository or" |
| 3414 | 104 echo "from ftp://ftp.gnu.org/pub/gnu/gettext/" |
| 105 echo | |
| 106 exit 1 | |
| 107 fi | |
| 108 | |
| 109 parse_gettext_version | |
| 110 | |
| 111 NUMVAR=$# | |
| 112 | |
| 113 if [ $NUMVAR -gt 0 ]; then | |
| 114 if [ $NUMVAR -gt 1 ]; then | |
| 115 echo "Only one option at a time!" | |
| 116 exit 1 | |
| 117 | |
|
3420
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
118 elif [ $1 = "--gettext-tool" ]; then |
| 3414 | 119 echo $GETTEXT_TOOL |
| 120 exit 0 | |
| 121 | |
|
3420
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
122 elif [ $1 = "--help" ]; then |
| 3414 | 123 echo "setup-gettext v$VERSION" |
| 124 echo "Usage:" | |
| 125 echo " --gettext-tool Returns gettextize or autopoint, depending" | |
| 126 echo " on the version of gettext installed." | |
| 127 echo " --gettext-version Returns the version of gettext installed." | |
| 128 echo " --gettext-major-version Returns the major version of gettext installed." | |
| 129 echo " --gettext-minor-version Returns the minor version of gettext installed." | |
| 130 echo " --gettext-micro-version Returns the micro version of gettext installed." | |
| 131 echo " --help Displays this help screen." | |
| 132 echo | |
| 133 exit 0 | |
| 134 | |
|
3420
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
135 elif [ $1 = "--version" ]; then |
| 3414 | 136 echo $VERSION |
| 137 exit 0 | |
| 138 | |
|
3420
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
139 elif [ $1 = "--gettext-version" ]; then |
| 3414 | 140 echo $GETTEXT_VERSION |
| 141 exit 0 | |
| 142 | |
|
3420
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
143 elif [ $1 = "--gettext-major-version" ]; then |
| 3414 | 144 echo $GETTEXT_MAJOR_VERSION |
| 145 exit 0 | |
| 146 | |
|
3420
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
147 elif [ $1 = "--gettext-minor-version" ]; then |
| 3414 | 148 echo $GETTEXT_MINOR_VERSION |
| 149 exit 0 | |
| 150 | |
|
3420
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
151 elif [ $1 = "--gettext-micro-version" ]; then |
| 3414 | 152 echo $GETTEXT_MICRO_VERSION |
| 153 exit 0 | |
|
3420
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
154 |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
155 elif [ $1 = "--install" ]; then |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
156 install |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
157 echo "setup-gettext installed." |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
158 exit 0 |
| 3414 | 159 |
|
3420
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
160 elif [ $1 = "--happy-url" ]; then |
| 3414 | 161 echo http://gaim.sf.net/forkgettext.jpg |
| 162 exit 0 | |
|
3420
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
163 |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
164 elif [ $1 = "--verbose" ]; then |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
165 VERBOSE=1 |
| 3414 | 166 |
| 167 else | |
| 168 echo "Invalid option '$1'" | |
| 169 exit 1 | |
| 170 fi | |
| 171 fi | |
| 172 | |
| 173 # Okay, run the main stuff | |
|
3420
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
174 if [ "$GETTEXT_TOOL" = "autopoint" ]; then |
| 3414 | 175 backup_m4 |
|
3420
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
176 [ $VERBOSE -eq 1 ] && echo " autopoint --force" |
| 3414 | 177 echo n | autopoint --force || abort |
| 178 restore_m4 | |
| 179 else | |
| 180 if [ $GETTEXT_MINOR_VERSION -eq 11 ]; then | |
| 181 backup_m4 | |
| 182 | |
| 183 # Gettext is pure evil. It DEMANDS that we press Return no matter | |
| 184 # what. This gets rid of their happy "feature" of doom. | |
|
3420
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
185 [ $VERBOSE -eq 1 ] && \ |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
186 echo " gettextize --copy --force --intl --no-changelog" |
|
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
187 |
| 3414 | 188 sed 's:read .*< /dev/tty::' `which gettextize` > .temp-gettextize |
| 189 chmod +x .temp-gettextize | |
| 190 echo n | ./.temp-gettextize --copy --force --intl --no-changelog || abort | |
| 191 rm .temp-gettextize | |
| 192 | |
| 193 restore_files | |
| 194 restore_m4 | |
| 195 | |
|
3420
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
196 [ -f po/Makevars.template ] && mv po/Makevars.template po/Makevars |
| 3414 | 197 else |
|
3420
bd05f8566531
[gaim-migrate @ 3442]
Christian Hammond <chipx86@chipx86.com>
parents:
3415
diff
changeset
|
198 [ $VERBOSE -eq 1 ] && echo " gettextize --copy --force" |
| 3414 | 199 echo n | gettextize --copy --force || exit; |
| 200 fi | |
| 201 fi | |
| 202 |
