[Geany-devel] Use GtkBuilder

Matthew Brush mbrush at xxxxx
Mon Sep 26 05:08:31 UTC 2011

On 09/25/2011 07:33 PM, Lex Trotman wrote:
> On 26 September 2011 01:26, Dimitar Zhekov<dimitar.zhekov at gmail.com>  wrote:
>> On Sun, 25 Sep 2011 01:53:38 -0700
>> Matthew Brush<mbrush at codebrainz.ca>  wrote:
>>> I've also taken the liberty of porting the Terminal/VTE preferences UI
>>> to the new Glade 3 format rather than being hard-coded.  IIUC if the
>>> VTE/terminal is not enabled for whatever reason, the "Terminal" tab in
>>> the preferences dialog just won't be shown.
>> When we upgrade (someday) to 2.16, why not make VTE a compile time
>> option only? I can understand why somebody would like to compile Geany
>> without vte support, but since all novadays gtk+ terminal emulators are
>> based on vte, making it a run-time option seems like overkill to me. It
>> was a good thing, several years ago...
> Hey Dimitar,
> The problem with this is that means that all binary packages now
> depend on vte.  If you might want to compile it out, then you might
> not want to install it.
> Or there would need to be several binary packages, with and without
> VTE compiled in which is more maintenance.
> With the runtime check VTE does not need to be installed.

One thing that would be cool with the runtime loading of VTE is if it 
could gracefully handle missing symbols in libvte.  I don't know if this 
is possible with GModule/dlopen, but if it is, it would be great to 
implement this.

For example, I'm testing Geany with GTK+ 2.16 and when it goes to load 
the VTE, it loads the system one that was compiled against GTK+ 2.24 and 
Geany crashes with the output:

/opt/geany-2.16/bin/geany: symbol lookup error: /usr/lib/libvte.so.9: 
undefined symbol: gtk_widget_set_can_focus

To make Geany run, you have to use the `-t` option to disable the 
terminal or install a libvte compiled against the same GTK+ version as 
Geany and specify its path with the `--vte-lib` option.  It would be 
nice to be able to handle such a case of missing symbols and just 
disable the VTE automatically, even though it might not be experienced 
too frequently on a typical system.

Matthew Brush

More information about the Devel mailing list