~flimm/ooo-thumbnailer/releases

« back to all changes in this revision

Viewing changes to ooo-thumbnailer-config

  • Committer: David D Lowe
  • Date: 2011-11-12 01:11:57 UTC
  • mfrom: (1.1.33 trunk)
  • Revision ID: daviddlowe.flimm@gmail.com-20111112011157-hjtdnjg7riygpuot
0.5 release.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#!/bin/bash
2
 
#
3
 
#  Copyright 2010 David D Lowe <daviddlowe.flimm@gmail.com>
4
 
#
5
 
#  This program is free software; you can redistribute it and/or modify
6
 
#  it under the terms of the GNU General Public License as published by
7
 
#  the Free Software Foundation; either version 2 of the License, or
8
 
#  (at your option) any later version.
9
 
#
10
 
#  This program is distributed in the hope that it will be useful,
11
 
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 
#  GNU Library General Public License for more details.
14
 
#
15
 
#  You should have received a copy of the GNU General Public License
16
 
#  along with this program; if not, write to the Free Software
17
 
#  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18
 
#
19
 
# ooo-thumbnailer-config
20
 
# Configure the thumbnailers for OpenOffice.org and Microsoft Office
21
 
# files.
22
 
#
23
 
# usage:
24
 
# ooo-thumbnailer-config TYPE TIMEOUT UNOCONV_MAX_SIZE
25
 
#
26
 
# arguments:
27
 
# TYPE               one of: all, ooo or microsoft
28
 
# TIMEOUT            how many seconds allowed before timing out (-1 to 
29
 
#                    disable)
30
 
# UNOCONV_MAX_SIZE   Microsoft Office files bigger than this size in 
31
 
#                    bytes will not be converted with unoconv (-1 to
32
 
#                    disable)
33
 
#
34
 
# example:
35
 
36
 
# Configure the thumbnailer for Microsoft Office files to use 
37
 
# ooo-thumbnailer with a timeout of 3 seconds and a maximum size of 4MB
38
 
# for unoconv:
39
 
#
40
 
# ooo-thumbnailer-config microsoft 3 4000000
41
 
#
42
 
 
43
 
set -e
44
 
 
45
 
# command line parameters
46
 
TYPE=$1
47
 
TIMEOUT=$2
48
 
MAXSIZE=$3
49
 
 
50
 
if [ "${TYPE,,}" != ooo -a "$MAXSIZE" == "" ] || [ "$TIMEOUT" == "" ]; then
51
 
  echo "Some arguments are missing" 1>&2
52
 
  echo "Usage: ooo-thumbnailer-config TYPE TIMEOUT UNOCONV_MAX_SIZE" 1>&2
53
 
  exit 1
54
 
fi
55
 
 
56
 
if [ "${TYPE,,}" -ne "all" ] && [ "${TYPE,,}" -ne "ooo" ] && [ "${TYPE,,}" -ne "microsoft" ]
57
 
then
58
 
    echo "TYPE is not one of: all, ooo or microsoft" 1>&2
59
 
    exit 1
60
 
fi
61
 
 
62
 
microsoft=( vnd.ms-powerpoint
63
 
vnd.openxmlformats-officedocument.presentationml.presentation
64
 
vnd.ms-excel
65
 
vnd.openxmlformats-officedocument.spreadsheetml.sheet
66
 
msword
67
 
vnd.openxmlformats-officedocument.wordprocessingml.document
68
 
)
69
 
ooo=( vnd.oasis.opendocument.presentation-template
70
 
vnd.oasis.opendocument.presentation
71
 
vnd.oasis.opendocument.spreadsheet-template
72
 
vnd.oasis.opendocument.spreadsheet
73
 
vnd.oasis.opendocument.text-template
74
 
vnd.oasis.opendocument.text-master
75
 
vnd.oasis.opendocument.text
76
 
vnd.oasis.opendocument.graphics-template
77
 
vnd.oasis.opendocument.graphics
78
 
vnd.oasis.opendocument.chart
79
 
vnd.oasis.opendocument.image
80
 
vnd.oasis.opendocument.formula
81
 
vnd.sun.xml.impress.template
82
 
vnd.sun.xml.impress
83
 
vnd.sun.xml.calc.template
84
 
vnd.sun.xml.calc
85
 
vnd.sun.xml.writer.global
86
 
vnd.sun.xml.writer.template
87
 
vnd.sun.xml.writer
88
 
vnd.sun.xml.draw.template
89
 
vnd.sun.xml.draw
90
 
vnd.sun.xml.math
91
 
)
92
 
 
93
 
if [ "${TYPE,,}" == "ooo" ] || [ "${TYPE,,}" == "all" ]; then
94
 
    for i in "${ooo[@]}"
95
 
    do
96
 
        gconftool-2 -s /desktop/gnome/thumbnailers/application@$i/enable --type bool true
97
 
        command=""
98
 
        if [ "$TIMEOUT" -gt 0 ]; then
99
 
            command="timeout $TIMEOUT "
100
 
        fi
101
 
        command="${command}ooo-thumbnailer %i %o %s"
102
 
        gconftool-2 -s /desktop/gnome/thumbnailers/application@$i/command --type string "$command"
103
 
    done
104
 
fi
105
 
 
106
 
if [ "${TYPE,,}" == "microsoft" ] || [ "${TYPE,,}" == "all" ]; then
107
 
    for i in "${microsoft[@]}"
108
 
    do
109
 
        gconftool-2 -s /desktop/gnome/thumbnailers/application@$i/enable --type bool true
110
 
        command=""
111
 
        if [ "$TIMEOUT" -gt 0 ]; then
112
 
            command="timeout $TIMEOUT "
113
 
        fi
114
 
        command="${command}ooo-thumbnailer"
115
 
        if [ "$MAXSIZE" -gt 0 ]; then
116
 
            command="$command -m $MAXSIZE"
117
 
        fi
118
 
        command="$command %i %o %s"
119
 
        gconftool-2 -s /desktop/gnome/thumbnailers/application@$i/command --type string "$command"
120
 
    done
121
 
fi