Tips_And_Tricks.mdwn
author Myhailo Danylenko <isbear@isbear.org.ua>
Sun, 14 May 2017 20:58:00 +0300
changeset 1 1e57279b82b1
permissions -rw-r--r--
Add wiki content
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
     1
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
     2
[[!toc]]
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
     3
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
     4
# Multi-line messages
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
     5
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
     6
You can send multi-line messages with the `/msay` command (see the [manpage][]
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
     7
for usage details).
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
     8
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
     9
You can bind `/msay toggle` and/or `/msay toggle_verbatim` so that you can
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    10
switch quickly to/from multi-line mode:
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    11
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    12
    # Alt-m to switch to/from multi-line mode
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    13
    bind M109 = msay toggle
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    14
    # Alt-M to switch to/from _verbatim_ multi-line mode
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    15
    bind M77 = msay toggle_verbatim
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    16
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    17
With mcabber 0.10 you can try the module extsay if you're using the screen
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    18
utility (see the [[Modules]] page).
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    19
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    20
# Jump to a contact
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    21
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    22
You can use `/roster search` to jump to a contact in your roster. You can even
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    23
bind a key, for example if you talk very often with john.doe@jabber.foo, you can
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    24
bind the F1 key:
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    25
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    26
    bind 265 = roster search john.doe
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    27
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    28
**Note:** this command only looks for the contact in the displayed buddy, so if you
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    29
hide offline buddies it won't find a disconnected contact.
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    30
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    31
You may want to create an alias for this command, if you use it a lot:
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    32
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    33
    alias rsearch = roster search
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    34
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    35
With the completion, you only need to type `/rs<tab>` now.
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    36
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    37
# One history for multiple buddies
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    38
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    39
(You'll need mcabber >=0.9.2 for that feature)  
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    40
You're using jabber with several transports and you have some buddies who are
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    41
using more than one chat protocol?  mcabber is able to share one history file
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    42
between all of them.
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    43
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    44
Let's say you have a contact abc@jabber.org and abc@icq.jabber.org. First of
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    45
all, you have to merge both histories with `merge_history.py`, so that old data
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    46
won't be lost.
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    47
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    48
    $ cd ~/.mcabber/histo/
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    49
    $ merge_history abc\@jabber.org abc\@icq.jabber.org > abc
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    50
    $ mv abc abc\@jabber.org
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    51
    $ rm abc\@icq.jabber.org
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    52
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    53
Now you have to create a symlink(abc@icq.jabber.org -> abc@jabber.org):
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    54
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    55
    $ ln -sf abc\@jabber.org abc\@icq.jabber.org
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    56
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    57
After a restart, mcabber will load the history only once for both contacts. Both
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    58
JIDs are sharing this history now. Commands relating to the chat buffer, such as
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    59
`/buffer scroll_lock/purge/clean` on one buddy will change the buffer of the
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    60
other buddy as well (because it's internally the same buffer).
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    61
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    62
Of course it is possible to link more than two buddies to one history... :)
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    63
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    64
# Indication of transported buddies availability
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    65
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    66
Using FIFO feature and eventcmd script you can mark transported buddies with
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    67
different color, when transport is not connected. In `mcabberrc`:
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    68
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    69
    color roster clear
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    70
    color roster *     *                green
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    71
    color roster dn_?  *                brightblack
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    72
    color roster *     *@icq.jabber.org red
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    73
    color roster dn_?  *@icq.jabber.org red
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    74
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    75
This will mark transported buddies as unavailable initially. Then in
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    76
`eventcmd.sh`, when processing `STATUS` event ( `"$1" = 'STATUS'` )
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    77
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    78
    if [ "$3" = 'icq.jabber.org' ]; then
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    79
            if [ "$2" = '_' ]; then
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    80
                    echo "color roster * *@icq.jabber.org red" > ~/.mcabber/fifo
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    81
                    echo "color roster dn_? *@icq.jabber.org red" > ~/.mcabber/fifo
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    82
            else
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    83
                    echo "color roster * *@icq.jabber.org white" > ~/.mcabber/fifo
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    84
                    echo "color roster dn_? *@icq.jabber.org brightblack" > ~/.mcabber/fifo
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    85
            fi
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    86
    fi
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    87
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    88
This will change their color, when transport becomes available/unavailable.
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    89
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    90
# Delayed actions (eg message for 'dnd' buddy)
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    91
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    92
You can delay some action until buddy becomes available or some other event
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    93
happens. Add to `eventcmd.sh`:
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    94
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    95
    if [ -f ~/.mcabber/jobs/"$1_$2_$3" ]; then
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    96
            cat ~/.mcabber/jobs/"$1_$2_$3" > ~/.mcabber/fifo
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    97
            rm ~/.mcabber/jobs/"$1_$2_$3"
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    98
    fi
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
    99
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   100
and create jobs dir:
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   101
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   102
    $ mkdir ~/.mcabber/jobs/
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   103
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   104
Then you can do something like this:
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   105
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   106
    $ cat > ~/.mcabber/jobs/STATUS_O_buddy@jabber.org <<EOF
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   107
    > say_to -q buddy@jabber.org Hi, this is a jobbed message
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   108
    > say_to -q buddy@jabber.org Please, when you will have free time, do this and that.
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   109
    > EOF
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   110
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   111
That will not bother buddy while he is 'dnd', and you won't have to keep your
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   112
message in mind.
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   113
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   114
# Folding groups on start
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   115
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   116
With a hooks feature you can fold infrequently used groups (eg transports and
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   117
other services) on startup. In `mcabberrc`:
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   118
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   119
    set hook-post-connect   = source ~/.mcabber/post-connect.rc
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   120
    set hook-pre-disconnect = source ~/.mcabber/pre-disconnect.rc
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   121
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   122
and in `~/.mcabber/post-connect.rc`:
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   123
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   124
    group fold Transports
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   125
    group fold Old
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   126
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   127
# Auto-Away and Screen
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   128
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   129
So, we all want an auto-away but love to keep mcabber ticking away in a screen
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   130
session. By putting the following into your `~/.logout` (or `~/.bash_logout` if
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   131
you use BASH), you should get what you are looking for:
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   132
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   133
    # mcabber auto-away - probably a Linux only solution as we use /proc
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   134
    if [ -p .mcabber/mcabber.fifo ]; then
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   135
      MCABBER_PID=$(pgrep -u $USER mcabber)
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   136
      if [ -n $MCABBER_PID ]; then
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   137
        MCABBER_STY=$(cat /proc/$MCABBER_PID/environ | tr '\0' '\n' | grep '^STY=' | cut -d'=' -f2)
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   138
    
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   139
        if [ -n $MCABBER_STY ]; then
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   140
          if [ -z "$(screen -list | grep $MCABBER_STY.*\(Attached\))" ]; then
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   141
            echo /status notavail > .mcabber/mcabber.fifo
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   142
          fi
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   143
        fi
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   144
      fi
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   145
    fi
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   146
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   147
[manpage]: http://www.lilotux.net/~mikael/mcabber/files/mcabber.1.html
1e57279b82b1 Add wiki content
Myhailo Danylenko <isbear@isbear.org.ua>
parents:
diff changeset
   148