[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.

Cheers,
Matthew Brush



More information about the Devel mailing list