Hi Allin,

        gtksourceview by default uses the XDG base directory specification to
lookup .lang files and style schemes, so it should "just work" without
having to manually force the search path with
gtk_source_language_manager_set_search_path.

For instance gedit is ported to both windows and osx and the path of
lang files does not have any special treatment as far as I recall. The
important thing (at least for windows) is that your package follows the
right conventions in the name of directories _relatively_ to your
binary, for instance gedit's installer has:

<install dir>
  bin
    gedit.exe
  share
    gtksourceview-2.0
      language-specs
        c.lang
        ...


Ciao
        Paolo

Il giorno lun, 22/08/2011 alle 20.00 -0400, Allin Cottrell ha scritto:
> First off, sorry if this is the wrong place to ask. I see from 
> http://projects.gnome.org/gtksourceview//development.html that the 
> recommendation is to ask about gtksourceview on gnome-devtools, but 
> that list appears to be pretty much moribund so I'm trying here.
> 
> I work on a cross-platform GTK app, and I'm trying to get 
> gtksourceview-2.0 working in the context of packages for Windows and 
> OS X, where I don't know the final installation path and so I need 
> to specify the search paths for language-specs and style files at 
> runtime.
> 
> Right now I'm emulating this situation on Linux, and while I seem to 
> be close to success, no cigar yet. Any help would be appreciated. 
> (BTW, my testing is with version 2.10.5, which I take to be "latest 
> stable" in the 2.0 series, but should I be using 2.11.N?)
> 
> Step 1: Specify a non-standard location for the lang files. Before 
> displaying any text I grab the default languages manager with
> 
>    gtk_source_language_manager_get_default()
> 
> and set a custom location using
> 
>    gtk_source_language_manager_set_search_path
> 
> Result: Success. I get syntax highlighting OK, even if I hide the 
> standard language-specs directory.
> 
> Step 2: Specify a non-standard location for the style files. Again, 
> before displaying anything I grab the default style scheme manager 
> with
> 
>    gtk_source_style_scheme_manager_get_default()
> 
> and set a custom directory using
> 
>    gtk_source_style_scheme_manager_set_search_path()
>    gtk_source_style_scheme_manager_force_rescan()
> 
> (I'm not sure the latter call is necessary, but I threw it in for 
> good measure.)
> 
> Result: Failure: no syntax highlighting.
> 
> Though I don't need styles other than "classic", I've tried this 
> with the custom directory containing the entire contents of the 
> standard styles directory.
> 
> I guess I must be missing something. By inserting print statements I 
> can see that after Step 2,
> 
>    gtk_source_style_scheme_manager_get_scheme_ids()
> 
> is giving an apparently valid list of ids, corresponding to the 
> style xml files in the non-standard location (which in some 
> experiments was a subset of the full list, but including "classic").
> 
> One more observation: In each case my setting of the "non-standard 
> location" was an array of just two *gchars, the custom path followed 
> by NULL. In the style-scheme-manager case (only), the result (syntax 
> highlighting or none) was conditional on whether or not the standard 
> styles directory was "visible" or hidden (renamed) at runtime.
> 


_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

Reply via email to