This file is indexed.

/usr/share/pyshared/pycocumalib/HelpWindow.py is in pycocuma 0.4.5-6-7.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
"""
Help Window
"""
#  Copyright (C) 2004  Henning Jacobs <henning@srcco.de>
#
#  This program is free software; you can redistribute it and/or modify
#  it under the terms of the GNU General Public License as published by
#  the Free Software Foundation; either version 2 of the License, or
#  (at your option) any later version.
#
#  $Id: HelpWindow.py 92 2004-11-28 15:34:44Z henning $

from Tkinter import *
import Pmw

class HelpWindow(Pmw.Dialog):
    def __init__(self, master):
        Pmw.Dialog.__init__(self, master=master, title='PyCoCuMa Help',
            buttons=('Close',), defaultbutton='Close')
        self.master = master
        self.iconbitmap(master.iconbitmap()) 
        self.iconmask(master.iconmask()) 
        self.text = text = Pmw.ScrolledText(self.interior(), 
            text_width=80, text_height=24,
            text_wrap=WORD,
            text_highlightthickness=0,
            text_padx=5, text_pady=5,
            text_font=('Helvetica', -14),
            text_background='#ffffee',
            text_spacing3=5)
        self.text.pack(fill=BOTH, expand=1)
        
        text.tag_config('h1', font=('Helvetica', -20, 'bold'),
            justify=CENTER,
            spacing3=2)
        text.tag_config('h2', font=('Helvetica', -16, 'bold'),
            justify=LEFT,
            spacing1=10,
            spacing3=5)
        text.tag_config('i', font=('Helvetica', -14, 'italic'))
        text.tag_config('b', font=('Helvetica', -14, 'bold'))
        text.tag_config('a', foreground='#0000aa', underline=1)

        def append(text, tags=None, widget=text):
            parts = text.split('*')
            i = 0
            for s in parts:
                if i % 2 == 1:
                    widget.insert(END, s, 'b')
                else:
                    widget.insert(END, s, tags)
                i += 1

        from __version__ import __version__
        append('PyCoCuMa %s Help\n' % (__version__,), 'h1')
        append('Keyboard Shortcuts:', 'h2')
        append("""
F1 \t switch to the 'List View' notebook page
F2 \t switch to 'Card View'
F3 \t open the contact for edit
F4 \t open the Journal window
F5 \t open the Calendar window
F6 \t open the 'Compose Letter' window
(commands above will also raise the respective window)
CTRL-O \t connect to server / open database from file
CTRL-S \t save modified contact / save modified journal entry
CTRL-F \t open 'Find Contact' dialog 
CTRL-N \t find next contact
CTRL-E \t open external editor (only in text fields)
""")
        append('Tips:', 'h2')
        append("""
PyCoCuMa has many tool-tips (help balloons); e.g. leave the mouse cursor \
over an address-type button in 'Edit Contact' to get the meaning of the \
small symbolic images.
Double-click on a row in List View to switch to Card View.
Double-click on the card in Card View to open the contact for edit.
Double-click on a free day of the Calendar to create a new journal entry for this date.
Enter the first characters of a family name into the \
'Search/Select' textbox on the top to get a list of contacts starting with \
this family name.
To *add a category*, simply add the category to the comma-separated list \
in the 'Categories' textbox of a contact. After saving the card, the \
category will appear in the 'Filter' combobox.
To *change the sorting order* of a contact, edit the 'Sort-String' field \
provided by the 'Additional Fields..' dialog. E.g. a contact named \
'Niklas van Haarten' will be found under the letter 'v' at first; \
but by setting 'Sort-String' to 'Haarten' you can then move the card to the \
letter 'H', were you would probably expect it to be.
Install MikTeX for Windows (""")
        append('http://www.miktex.org', 'a')
        append(""") and add 'pdflatex' to your PATH \
environment variable in order to use 'File'->'Page View' on Windows.
Edit the variables 'url_viewer' and 'mailto_program' in '~/.pycocuma' to set \
them to your preferred web browser and mail-composer application. \
If you leave 'url_viewer' blank, PyCoCuMa will try to use your platform \
specific default web browser.

*Bug-reports, comments and suggestions are very welcome!*
Please send any bug reports to """)
        append("""pycocuma-bugs@srcco.de
""", 'a')
        append("""See the README file for more information.

""")
        append('Last-Modification: Henning Jacobs, 2004-11-28', 'i')

        text.configure(text_state=DISABLED)
        self.withdraw()
        
    _firstshow = 1
    def show(self):
        if self._firstshow:
            self.centerWindow()
        else:
            self.deiconify()
        self._firstshow = 0
            
    def centerWindow(self, relx=0.5, rely=0.5):
        "Center the Window on Screen"
        widget = self
        master = self.master
        widget.update_idletasks() # Actualize geometry information
        if master.winfo_ismapped():
            m_width = master.winfo_width()
            m_height = master.winfo_height()
            m_x = master.winfo_rootx()
            m_y = master.winfo_rooty()
        else:
            m_width = master.winfo_screenwidth()
            m_height = master.winfo_screenheight()
            m_x = m_y = 0
        w_width = widget.winfo_reqwidth()
        w_height = widget.winfo_reqheight()
        x = m_x + (m_width - w_width) * relx
        y = m_y + (m_height - w_height) * rely
        if x+w_width > master.winfo_screenwidth():
            x = master.winfo_screenwidth() - w_width
        elif x < 0:
            x = 0
        if y+w_height > master.winfo_screenheight():
            y = master.winfo_screenheight() - w_height
        elif y < 0:
            y = 0
        widget.geometry("+%d+%d" % (x, y))
        widget.deiconify() # Become visible at the desired location

if __name__ == '__main__':
    tk = Tk()
    win = HelpWindow(tk)
    tk.mainloop()