2008-01-12 Benny Malengier <benny.malengier@gramps-project.org>
* src/GrampsDisplay.py: open url in standard way * src/gramps.py: add comment on use of import gnome * README: * INSTALL: Remove need for gconf, add need for xdg utilities svn: r9788
This commit is contained in:
parent
3dbb428759
commit
a6fe002719
@ -1,3 +1,10 @@
|
||||
2008-01-12 Benny Malengier <benny.malengier@gramps-project.org>
|
||||
* src/GrampsDisplay.py: open url in standard way
|
||||
* src/gramps.py: add comment on use of import gnome
|
||||
* README:
|
||||
* INSTALL:
|
||||
Remove need for gconf, add need for xdg utilities
|
||||
|
||||
2008-01-12 Raphael Ackermann <raphael.ackermann@gmail.com>
|
||||
* src/Config/__init__.py: revert wrong indentation changes
|
||||
|
||||
|
35
INSTALL
35
INSTALL
@ -24,16 +24,17 @@ missing.
|
||||
|
||||
Regular vs local installation
|
||||
-----------------------------
|
||||
This version of gramps requires, among others, the two things to be done:
|
||||
gconf schemas and mime types for gramps MUST be properly installed.
|
||||
This version of gramps requires, among others, the following to be done:
|
||||
|
||||
mime types for gramps MUST be properly installed.
|
||||
|
||||
The usual ./configure, make, and make install as a root should do the trick.
|
||||
|
||||
But be careful if you're using the non-default options or would like
|
||||
to install without being root.
|
||||
|
||||
The latter is possible, but you should supply additional arguments to
|
||||
autogen or configure:
|
||||
--with-gconf-source=xml::$HOME/.gconf
|
||||
--with-gconf-schema-file-dir=$HOME
|
||||
--with-mime-dir=$HOME/.local/share/mime
|
||||
--disable-scrollkeeper
|
||||
Most likely, such local install will also need some prefix with write
|
||||
@ -41,30 +42,21 @@ permissions for you:
|
||||
--prefix=$HOME/my_gramps_path
|
||||
|
||||
Whether you're doing local install or regular install,
|
||||
YOU MUST INSTALL GCONF SCHEMAS AND MIME TYPES.
|
||||
YOU MUST INSTALL MIME TYPES.
|
||||
YOU HAVE BEEN WARNED!
|
||||
|
||||
|
||||
Installing under non-default prefix
|
||||
-----------------------------------
|
||||
As hinted above, the gconf schemas and mime types for gramps
|
||||
MUST be properly installed. The "proper install" means installing
|
||||
them where gconfd and shared mime system, respectively, will
|
||||
find them.
|
||||
|
||||
By default, gconfd will look in these places:
|
||||
1. Whatever is returned by running:
|
||||
$ gconftool-2 --get-default-source
|
||||
2. The xml::$HOME/.gconf : this is a per-user setup, not system-wide
|
||||
or xml:merged:$HOME/.gconf : this is a per-user setup, not system-wide
|
||||
There is a number of ways to let gconfd know where else
|
||||
to look, but this is outside the scope of installing gramps.
|
||||
As hinted above, mime types for gramps MUST be properly installed.
|
||||
The "proper install" means installing
|
||||
them where the shared mime system will find them.
|
||||
|
||||
By default, the shared mime systems will look in these places:
|
||||
1. /usr/share/mime
|
||||
2. /usr/local/share/mime : this may be broken on some systems
|
||||
3. $HOME/.local/share/mime : this is a per-user setup, not system-wide
|
||||
Likewise, there's a number of ways to instruct the shared mime system
|
||||
There's a number of ways to instruct the shared mime system
|
||||
to look in other places, but this is the whole other story.
|
||||
|
||||
So if you install some place other than /usr/share, you will most
|
||||
@ -79,16 +71,15 @@ something like --prefix=/usr/local/my_gramps, /var/gramps123/blah, etc.
|
||||
|
||||
Packager's issues
|
||||
------------------
|
||||
The above mentioned gconf schemas and mime types must be installed.
|
||||
However, the update-mime-database and the gconftool-2 calls to process
|
||||
the newly installed types and schemas must be done in POST-INSTALLATION.
|
||||
The above mime types must be installed.
|
||||
However, the update-mime-database to process the newly installed types and schemas must be done in POST-INSTALLATION.
|
||||
In packager's world, the install happens on packager's machine
|
||||
into something like /tmp/gramps-tmp. However, the postinstall
|
||||
should happen on the user's machine.
|
||||
|
||||
To assist with that, there's an argument available in configure
|
||||
(or autogen, which will pass it to configure) which disables
|
||||
the gconf schema and mime type processing:
|
||||
mime type processing:
|
||||
--enable-packager-mode
|
||||
This argument should disable postinstall calls made during
|
||||
make install, and print a nasty warning during configure.
|
||||
|
6
README
6
README
@ -16,11 +16,15 @@ The following packages are *STRONGLY RECOMMENDED* to be installed:
|
||||
|
||||
GraphViz Enable creation of graphs using GraphViz engine
|
||||
http://www.graphviz.org
|
||||
xdg Freedesktop utilities, eg xdg-open
|
||||
|
||||
The following packages are optional
|
||||
gtkspell Enable spell checking in the notes
|
||||
ttf-freefont More font support in the reports
|
||||
yelp Gnome help browser. You can view our help online too
|
||||
|
||||
No longer needed in 3.0:
|
||||
yelp Gnome help browser. At the moment no help is shipped
|
||||
with version 3.0.
|
||||
|
||||
|
||||
Documentation
|
||||
|
@ -42,36 +42,55 @@ def help(target, webpage='', section=''):
|
||||
link + '#' + section
|
||||
url(link)
|
||||
|
||||
def url(target):
|
||||
def url(link):
|
||||
"""
|
||||
Open the specified URL in a browser. Attempt using the GNOME system if
|
||||
available, if not, try to find a browser.
|
||||
Open the specified URL in a browser.
|
||||
"""
|
||||
try:
|
||||
import gnome
|
||||
gnome.url_show(target)
|
||||
except:
|
||||
run_browser(target)
|
||||
|
||||
if not run_file(link):
|
||||
run_browser(link)
|
||||
|
||||
def run_file(file):
|
||||
"""
|
||||
Open a file or url with the default application. This should work
|
||||
on GNOME, KDE, XFCE, ... as we use a freedesktop application
|
||||
"""
|
||||
import os
|
||||
|
||||
search = os.environ['PATH'].split(':')
|
||||
|
||||
xdgopen = 'xdg-open'
|
||||
for path in search:
|
||||
prog = os.path.join(path, xdgopen)
|
||||
if os.path.isfile(prog):
|
||||
os.spawnvpe(os.P_NOWAIT, prog, [prog, file], os.environ)
|
||||
return True
|
||||
|
||||
return False
|
||||
|
||||
def run_browser(url):
|
||||
"""
|
||||
Attempt of find a browswer, and launch with the browser with the
|
||||
specified URL
|
||||
Use run_file first!
|
||||
"""
|
||||
import os
|
||||
|
||||
search = os.environ['PATH'].split(':')
|
||||
|
||||
for browser in ['firefox','konqueror','epiphany','galeon','mozilla']:
|
||||
for path in search:
|
||||
prog = os.path.join(path,browser)
|
||||
if os.path.isfile(prog):
|
||||
os.spawnvpe(os.P_NOWAIT, prog, [prog, url], os.environ)
|
||||
return
|
||||
|
||||
# If we did not find a browser in the path, try this
|
||||
try:
|
||||
os.startfile(url)
|
||||
except:
|
||||
pass
|
||||
import webbrowser
|
||||
webbrowser.open_new_tab(url)
|
||||
except ImportError:
|
||||
import os
|
||||
|
||||
search = os.environ['PATH'].split(':')
|
||||
|
||||
for browser in ['firefox', 'konqueror', 'epiphany',
|
||||
'galeon', 'mozilla']:
|
||||
for path in search:
|
||||
prog = os.path.join(path,browser)
|
||||
if os.path.isfile(prog):
|
||||
os.spawnvpe(os.P_NOWAIT, prog, [prog, url], os.environ)
|
||||
return
|
||||
|
||||
# If we did not find a browser in the path, try this
|
||||
try:
|
||||
os.startfile(url)
|
||||
except:
|
||||
pass
|
||||
|
@ -168,6 +168,12 @@ def run():
|
||||
setup_logging()
|
||||
|
||||
try:
|
||||
#This is GNOME initialization code that is necessary for use
|
||||
# with the other GNOME libraries.
|
||||
#It only gets called if the user has gnome installed on his/her system.
|
||||
#There is *no* requirement for it.
|
||||
#If you don't call this, you are not guaranteed that the other GNOME
|
||||
#libraries will function properly. I learned this the hard way.
|
||||
import gnome
|
||||
program = gnome.program_init('gramps',const.VERSION,
|
||||
gnome.libgnome_module_info_get(),
|
||||
|
Loading…
Reference in New Issue
Block a user