Mercurial > hg
annotate mcabber/contrib/mcwizz.pl @ 1050:ea71d31a2607
PGP: Do not sign presence messages to chatrooms
We do not sign auto-away messages either.
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Sun, 26 Nov 2006 20:24:34 +0100 |
parents | 548def60b810 |
children |
rev | line source |
---|---|
937
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
1 #!/usr/bin/perl |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
2 # |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
3 # Copyright (C) 2006 Adam Wolk "Mulander" <netprobe@gmail.com> |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
4 # Copyright (C) 2006 Mateusz Karkula "Karql" |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
5 # A few tweaks by Mikael Berthe |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
6 # |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
7 # This script is provided under the terms of the GNU General Public License, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
8 # see the file COPYING in the root mcabber source directory. |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
9 # |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
10 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
11 use warnings; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
12 use strict; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
13 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
14 use Getopt::Long; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
15 use Term::ReadKey; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
16 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
17 my %options; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
18 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
19 Getopt::Long::Configure qw(bundling); |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
20 my $result = GetOptions( |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
21 "help|h" => \$options{help}, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
22 "version|V" => \$options{version}, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
23 "ignore|i" => \$options{ignore}, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
24 "ignore-auto|I" => \$options{ignore_auto}, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
25 "output|o" => \$options{output}, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
26 "passwd|p" => \$options{passwd}, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
27 "color|c" => \$options{color}, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
28 "ssl|s" => \$options{ssl}, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
29 "status|S" => \$options{status}, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
30 "proxy|P" => \$options{proxy}, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
31 "keep|k" => \$options{keep}, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
32 "log|l" => \$options{log}, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
33 "tracelog|t" => \$options{tracelog}, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
34 ); |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
35 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
36 ## |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
37 # Allowed colors |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
38 my @bg_color = qw( black red green yellow blue magenta cyan white ); |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
39 my @fg_color = (@bg_color, map("bright$_", @bg_color), map("bold$_", @bg_color)); |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
40 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
41 ## |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
42 # info for specific settings |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
43 my %info = ( |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
44 # not grouped |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
45 beep_on_message => { msg => 'Should mcabber beep when you receive a message?', allow => undef, type => 'yesno', anwsers => undef, default => 0}, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
46 password => { msg => 'Enter your password (at your own risk, this will be saved in plain text)', allow=>'.+', type=>'pass',anwsers => undef, default => undef }, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
47 pinginterval => { msg => 'Enter pinginterval in seconds for keepalive settings, set this to 0 to disable, ', allow =>'\d+', type=>'edit', anwsers => undef, default => 40 }, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
48 hide_offline_buddies => {msg => 'Display only connected buddies in the roster?', allow => undef, type => 'yesno', anwsers => undef, default => 0 }, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
49 iq_version_hide_os => { msg => 'Hide Your OS information?', allow => undef, type => 'yesno', anwsers => undef, default => 0 }, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
50 # server settings |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
51 username => { msg => 'Your username', allow => '[^\s\@:<>&\'"]+', type => 'edit', anwsers => undef, default => undef }, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
52 server => { msg => 'Your jabber server', allow => '\S+', type => 'edit', anwsers => undef, default => undef }, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
53 resource => { msg => 'Resource (If your don\'t know what a resource is, use the default setting)', allow => '.{1,1024}', type => 'edit', anwsers => undef, default => 'mcabber' }, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
54 nickname => { msg => 'Conference nickname (if you skip this setting your username will be used as a nickname in MUC chatrooms)', allow => '.+', type => 'edit', anwsers => undef, default => undef }, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
55 # ssl settings |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
56 ssl => { msg => 'Enable ssl?', allow => undef, type => 'yesno', anwsers => undef, default => 0 }, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
57 port => { msg => 'Enter ssl port', allow => '\d+', type => 'edit', anwsers => undef, default => 5222 }, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
58 # proxy settings |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
59 proxy_host => { msg => 'Proxy host', allow => '\S+?\.\S+?', type => 'edit', anwsers => undef, default => undef }, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
60 proxy_port => { msg => 'Proxy port', allow => '\d+', type => 'edit', anwsers => undef, default => 3128 }, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
61 proxy_user => { msg => 'Proxy user (optional, you can skip this if not required)', allow => '.+', type => 'edit', anwsers => undef, default => undef }, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
62 proxy_pass => { msg => 'Proxy pass (optional, you can skip this if not required)', allow => '.+', type => 'pass', anwsers => undef, default => undef }, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
63 # trace logs |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
64 tracelog_level => { msg => 'Specify level of advanced traces', allow => undef, type => 'multi', anwsers => ['lvl0: I don\'t want advanced tracing','lvl1: most events of the log window are written to the file','lvl2: debug logging (XML etc.)'], default => 0 }, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
65 tracelog_file => { msg => 'Specify a file to which the logs will be written', allow => undef, type => 'edit', anwsers => undef, default => undef }, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
66 # logging settings |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
67 log_win_height => { msg => 'Set log window height (minimum 1)', allow => '[1-9]\d*', type => 'edit', anwsers => undef, default => 5 }, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
68 log_display_sender => { msg => 'Display the message sender\'s jid in the log window?', allow => undef, type => 'yesno', anwsers => undef, default => 0 }, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
69 logging => { msg => 'Enable logging?', allow => undef, type => 'yesno', anwsers => undef, default => 1 }, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
70 load_logs => { msg => 'Enable loading logs?', allow => undef, type => 'yesno', anwsers => undef, default => 1 }, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
71 logging_dir => { msg => 'Enter logging directory', allow => '.+' , type => 'edit', anwsers => undef, default => undef }, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
72 log_muc_conf => { msg => 'Log MUC chats?', allow => undef, type => 'yesno', anwsers => undef, default => 1 }, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
73 load_muc_logs => { msg => 'Load MUC chat logs?', allow => undef, type => 'yesno', default => 0 }, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
74 # status settings |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
75 roster_width => { msg => 'Set buddylist window width (minimum 2)', allow => '[2-9]\d*', type => 'edit', anwsers => undef, default => 24 }, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
76 buddy_format => { msg => 'What buddy name format (in status window) do you prefer?', allow => undef, type => 'multi', anwsers => ['<jid/resource>','name <jid/resource> (name is omitted if same as the jid)','name/resource (if the name is same as the jid, use <jid/res>','name (if the name is the same as the jid, use <jid/res>'], default => 0 }, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
77 show_status_in_buffer => { msg => 'What status changes should be displayed in the buffer?', allow => undef, type => 'multi', anwsers => ['none','connect/disconnect','all'], default => 2 }, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
78 autoaway => { msg => 'After how many seconds of inactivity should You become auto away? (0 for never)', allow => '\d+', type => 'edit', anwsers => undef, default => 0 }, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
79 message => { msg => 'Skip this setting unless you want to override all other status messages', allow => undef, type => 'edit', default => 'Unique message status'}, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
80 message_avail => { msg => 'Set avaible status', allow => undef, type =>'edit',anwsers => undef, default =>'I\'m avaible'}, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
81 message_free => { msg => 'Set free for chat status', allow => undef, type =>'edit', anwsers => undef, default => 'I\'m free for chat'}, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
82 message_dnd => { msg => 'Set do not disturb status', allow => undef, type => 'edit', anwsers => undef, default => 'Please do not disturb'}, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
83 message_notavail=> { msg => 'Set not avaible status', allow => undef, type => 'edit', anwsers => undef, default => 'I\'m not avaible'}, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
84 message_away => { msg => 'Set away status', allow => undef, type => 'edit', anwsers => undef, default => 'I\'m away' }, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
85 message_autoaway=> { msg => 'Set auto-away status', allow => undef, type => 'edit', anwsers => undef, default => 'Auto-away'}, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
86 # color settings |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
87 color_background=> { msg => 'Select background color of the chat window and the log window', allow => undef, type => 'multi', anwsers => \@bg_color, default => 'black' }, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
88 color_general => { msg => 'Select text color in the chat window and the log window', allow => undef, type =>'multi', anwsers => \@fg_color , default => 'white' }, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
89 color_msgout => { msg => 'Select text color in the chat window for outgoing messages', allow => undef, type => 'multi', anwsers => \@fg_color, default => 'cyan'}, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
90 color_bgstatus => { msg => 'Select background color of the status lines', allow => undef, type => 'multi', anwsers => \@bg_color, default =>'blue'}, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
91 color_status => { msg => 'Select text color of the status lines', allow => undef, type => 'multi', anwsers => \@fg_color, default => 'white' }, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
92 color_roster => { msg => 'Select text color of the roster (buddylist) normal items', allow => undef, type => 'multi', anwsers => \@fg_color, default => 'green' }, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
93 color_bgrostersel=>{ msg => 'Select background color of the selected roster item', allow => undef, type => 'multi', anwsers => \@bg_color, default => 'cyan' }, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
94 color_rostersel => { msg => 'Select text color of the selected roster item', allow => undef, type => 'multi', anwsers => \@fg_color, default => 'blue' }, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
95 color_rosterselmsg=>{ msg => 'Select text color of the selected roster item, if there is a new message', allow => undef, type => 'multi', anwsers => \@fg_color, default => 'red' }, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
96 color_rosternewmsg=>{ msg => 'Select text color of items with unread messages', allow => undef, type => 'multi', anwsers => \@fg_color , default => 'red' }, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
97 ); |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
98 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
99 ## |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
100 # question groups |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
101 my %groups = ( required => [qw(username server resource nickname ssl port)], |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
102 proxy_settings => [qw(proxy_host proxy_port proxy_user proxy_pass)], |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
103 logging_settings=> [qw(logging log_win_height log_display_sender load_logs logging_dir log_muc_conf load_muc_logs)], |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
104 status_settings => [qw(buddy_format roster_width show_status_in_buffer autoaway message message_avail message_free message_dnd message_notavail message_away message_autoaway )], |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
105 color_settings => [qw(color_background color_general color_msgout color_bgstatus color_status color_roster color_bgrostersel color_rostersel color_rosterselmsg color_rosternewmsg)], |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
106 tracelog_settings => [qw(tracelog_level tracelog_file)], |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
107 ); |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
108 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
109 my (%conf,@old); |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
110 ## |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
111 # regexp for valid keys |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
112 my $key_reg = join '|', keys %info; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
113 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
114 help() if $options{help}; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
115 version() if $options{version}; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
116 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
117 prepare(); |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
118 ask('password') if $options{passwd}; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
119 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
120 ask($_) for @{ $groups{required} }; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
121 if($options{proxy}) { ask($_) for @{ $groups{proxy_settings} } }; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
122 ask('pinginterval') if $options{keep}; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
123 ask('beep_on_message'); |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
124 ask('hide_offline_buddies'); |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
125 ask('iq_version_hide_os'); |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
126 ask('autoaway'); |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
127 if($options{log} ) { ask($_) for @{ $groups{logging_settings} } }; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
128 if($options{status} ) { ask($_) for @{ $groups{status_settings} } }; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
129 if($options{color} ) { ask($_) for @{ $groups{color_settings} } }; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
130 if($options{tracelog} ) { ask($_) for @{ $groups{tracelog_settings}} }; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
131 build_config(); |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
132 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
133 ## |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
134 # Prepare for work |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
135 sub prepare |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
136 { |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
137 mkdir "$ENV{HOME}/.mcabber", 0700 unless ( -d "$ENV{HOME}/.mcabber" ); |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
138 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
139 parse_config() if ( -e "$ENV{HOME}/.mcabber/mcabberrc" && !$options{ignore} ); |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
140 } |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
141 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
142 ## |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
143 # Parse current user configuration and save it |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
144 sub parse_config |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
145 { |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
146 my $conf_file = "$ENV{HOME}/.mcabber/mcabberrc"; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
147 my $flag = 1; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
148 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
149 open CONF, "<$conf_file" or return; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
150 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
151 my ($key,$value); |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
152 while(<CONF>) |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
153 { |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
154 push @old, $_; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
155 $flag = 0 if $options{ignore_auto} && m/^#BEGIN AUTO GENERATED SECTION/; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
156 $flag = 1 if $options{ignore_auto} && m/^#END AUTO GENERATED SECTION/; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
157 if ( $flag && m/^set\s+($key_reg)\s*=\s*(.+)$/ ) |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
158 { |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
159 ($key,$value) = ($1,$2); |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
160 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
161 $conf{$key} = $value if ( exists $info{$key} ); |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
162 } |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
163 } |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
164 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
165 close CONF; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
166 return 1; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
167 } |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
168 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
169 ## |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
170 # Ask the user for a setting |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
171 sub ask |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
172 { |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
173 my ($key) = @_; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
174 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
175 my %dispatch = ( |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
176 edit => \&_ask_edit, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
177 yesno => \&_ask_yesno, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
178 multi => \&_ask_multi, |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
179 pass => \&_ask_pass |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
180 ); |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
181 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
182 my $lp = 1; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
183 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
184 print "\n'$key'\n", |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
185 $info{$key}->{msg},"\n", |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
186 ( defined $info{$key}->{default} ) ? |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
187 ( $lp++, '. ', ( exists $conf{$key} ) ? 'Reset' : 'Set', " to Default [",show($key,'default'),"]\n" ) : '', |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
188 ( exists $conf{$key} ) ? ( $lp++, ". Leave Current setting [",show($key,'current'),"]\n", $lp++ ) : $lp++ , ". ", |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
189 ( $info{$key}->{type} eq 'pass') ? 'Enter Passowrd' : ( ( $info{$key}->{type} eq 'edit' ) ? 'Edit' : 'Set' ), |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
190 "\n$lp. Skip\n[choice]: "; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
191 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
192 chomp(my $action = <STDIN>); |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
193 unless ( $action =~ /^\d$/ && $action >= 1 && $action <= $lp ) { |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
194 ask($key); |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
195 return; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
196 } |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
197 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
198 ## |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
199 # Edit |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
200 if ( $lp -1 == $action ) |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
201 { |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
202 &{ $dispatch{ $info{$key}->{type} } }($key); |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
203 } |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
204 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
205 ## |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
206 # Default |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
207 elsif ( $action == 1 ) |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
208 { |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
209 $conf{$key} = $info{$key}->{default} if defined $info{$key}->{default}; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
210 } |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
211 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
212 ## |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
213 # Skip |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
214 elsif ( $lp == $action ) |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
215 { |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
216 delete $conf{$key}; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
217 } |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
218 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
219 ## |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
220 # Nothing for Leave Current setting |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
221 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
222 return 1; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
223 } |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
224 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
225 sub _ask_yesno |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
226 { |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
227 my ($key) = @_; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
228 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
229 print "1. yes\n2. no\n[choice]: "; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
230 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
231 chomp(my $set = <STDIN>); |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
232 unless ( $set =~ /^[12]$/ ) { |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
233 ask($key); |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
234 return; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
235 } |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
236 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
237 $conf{$key} = $set; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
238 $conf{$key} = 0 if $set eq 2; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
239 } |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
240 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
241 sub _ask_multi |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
242 { |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
243 my ($key) = @_; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
244 my $count = scalar @{$info{$key}->{anwsers}}; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
245 my $row = sprintf("%0.f",($count/3+0.5)); |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
246 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
247 for (my $i = 0; $i < $row; ++$i) |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
248 { |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
249 printf("%-25s", ($i+1) . ". " . $info{$key}->{anwsers}->[$i]); |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
250 printf("%-25s", ($i+$row+1) . ". " . $info{$key}->{anwsers}->[$i+$row]) if ($i+$row < $count); |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
251 printf("%-25s", ($i+2*$row+1) . ". " . $info{$key}->{anwsers}->[$i+2*$row]) if ($i+2*$row < $count); |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
252 print "\n"; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
253 } |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
254 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
255 print '[choice]: '; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
256 chomp(my $set = <STDIN>); |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
257 unless ( $set =~ /^\d+$/ && $set >= 1 && $set <= $count ) { |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
258 ask($key); |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
259 return; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
260 } |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
261 $conf{$key} = $info{$key}->{anwsers}->[$set-1]; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
262 } |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
263 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
264 sub _ask_edit |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
265 { |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
266 my ($key) = @_; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
267 print '[edit]: '; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
268 chomp(my $set = <STDIN>); |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
269 unless ( $set =~ /^$info{$key}->{allow}$/ ) { |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
270 ask($key); |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
271 return; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
272 } |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
273 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
274 $conf{$key} = $set; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
275 } |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
276 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
277 sub _ask_pass |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
278 { |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
279 my ($key) = @_; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
280 print "Characters you type in will not be shown\n[password]: "; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
281 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
282 ReadMode(2); |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
283 my $anws = ReadLine(0); |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
284 ReadMode(0); |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
285 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
286 ask($key) unless $anws =~ /^$info{$key}->{allow}$/; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
287 chomp($anws); |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
288 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
289 $anws =~ s/^((?:\s.+)|(?:.+\s))$/"$1"/; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
290 $conf{$key} = $anws; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
291 } |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
292 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
293 ## |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
294 # Build configuration file |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
295 sub build_config |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
296 { |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
297 my $config_file = "$ENV{HOME}/.mcabber/mcabberrc"; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
298 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
299 local *STDOUT unless $options{output} ; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
300 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
301 unless($options{output}) |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
302 { |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
303 open STDOUT,">$config_file" or die "Can't create config file"; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
304 chmod 0600, $config_file |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
305 } |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
306 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
307 my ($flag,$dumped) = (1,0); |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
308 for (@old) |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
309 { |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
310 $flag = 0 if m/^#BEGIN AUTO GENERATED SECTION/; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
311 $flag = 1 if m/^#END AUTO GENERATED SECTION/; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
312 if ( $flag ) |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
313 { |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
314 print |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
315 } |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
316 elsif( !$flag && !$dumped ) |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
317 { |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
318 print "#BEGIN AUTO GENERATED SECTION\n\n"; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
319 print "set $_ = $conf{$_}\n" for sort keys %conf; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
320 print "\n"; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
321 $dumped = 1; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
322 } |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
323 } |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
324 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
325 unless($dumped) |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
326 { |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
327 print "\n#BEGIN AUTO GENERATED SECTION\n\n"; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
328 print "set $_ = $conf{$_}\n" for sort keys %conf; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
329 print "\n#END AUTO GENERATED SECTION\n"; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
330 } |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
331 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
332 close STDOUT unless $options{output}; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
333 } |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
334 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
335 sub show |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
336 { |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
337 my ($key,$name) = @_; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
338 my $value; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
339 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
340 $value = $info{$key}->{default} if $name eq 'default'; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
341 $value = $conf{$key} if $name eq 'current'; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
342 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
343 if ( $info{$key}->{type} eq 'yesno' ) |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
344 { |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
345 return ( $value ) ? 'yes' : 'no'; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
346 } |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
347 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
348 elsif ( $info{$key}->{type} eq 'multi' ) |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
349 { |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
350 return $info{$key}->{anwsers}->[$value]; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
351 } |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
352 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
353 else |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
354 { |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
355 return $value; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
356 } |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
357 } |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
358 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
359 sub help |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
360 { |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
361 print<<EOF; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
362 Usage: $0 options |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
363 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
364 This script generates configuration files for mcabber jabber client |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
365 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
366 -h, --help display this help screen |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
367 -v, --version display version information |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
368 -i, --ignore ignore previous user configuration |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
369 -I, --ignore-auto ignore auto generated section |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
370 -o, --output output to stdout instead of file |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
371 -p, --passwd save password in the config file (not recommended) |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
372 -s, --ssl ask for ssl settings |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
373 -c, --color ask for color settings |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
374 -S, --status ask for status settings |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
375 -P, --proxy ask for proxy settings |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
376 -k, --keep ping/keepalive connection settings |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
377 -l, --log ask for logging settings |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
378 -t, --tracelog ask for trace log settings |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
379 EOF |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
380 exit; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
381 } |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
382 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
383 sub version |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
384 { |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
385 print<<EOF; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
386 mcwizz v0.02 coded by Karql & mulander <netprobe\@gmail.com> |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
387 EOF |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
388 exit; |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
389 } |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
390 |
548def60b810
Add configuration script (mcwizz.pl) to contrib (Mulander, Karql)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
391 # vim: set noexpandtab sts=8: |