XWN for March May 5th, through March May 17th, 2005
Welcome to the XWN, where piles of mailing list messages, IRC conversations, and Slashdot trolls are condensed down to something that almost resembles fun. (and where the W probably doesn’t stand for weekly anymore. Oh well).
Xfce 4.2.2 released
Xfce 4.2.2 is available. Download locations can be found on this page, and a changelog is available here.
XWN – April 27th through May 4th, 2005
Slow week in Xfce land. But I don’t mind, makes my job easier.
On to the main event.
Dynamic xffm issues.
In order to keep the application quick, we must avoid loading any code until it is absolutely required (this is called “just-in-time” inventory, borrowing the concept from the automotive industry). This is one of the things that dynamic libraries are supposed to do, without any concern for the programmer. Notwithstanding, in elaborate applications it is very difficult to sort out the library dependencies amongst each other since all symbols are resolved at link time. To get around this hurdle, we use g_modules. Any library that can be dynamically linked to a program can also be loaded as a g_module. In this case, none of the library symbols are dynamically linked. With the use of some simple macros, we load the library and access the required symbol when it is required. In this fashion we can tell exactly when the library is needed and keep a very tight ship with regard to the exported symbols from the library. This is all very neat, but there is one big “but”. Whilst debugging a program, you cannot access any symbols in the library that has been loaded as a g_module. This makes debugging difficult, especially when the bug is located in the library. To get around this, when –debug=yes is specified during execution of the configure script, the g_modules are dynamically linked as .so libraries, allowing for full debug.
Currently the libraries generated from the code in the “modules” subdirectory behave in this fashion. A good deal of other code from the “libs” subdirectory will be relocated here as well as release 4.4 approaches. The dynamic libraries which pertain to the GUI interfase (treeview, gridview, deskview) will also be configured in this fashion. We don’t want any symbols from the wrong gui lying around in memory by mistake (BTW, gridview==navigational, deskview==root-window).
XWN for April 8th through April 26th, 2005
Here it is, a day and a half short of being two weeks late, the weekly news, as promised. Now perhaps Brian will leave me alone.
X(t)WN
Arrr.
Cause Brian guilted me (Rather easily) I’ll go ahead and tell you that XtWN will be out tomorrow, barring a goddamn hurricane.
PS – The ‘t’ stands for ‘tri-‘
pyxfce
Well well … today I got pyxfce (python bindings for xfce) working for the first time. The initmodule looks like the most evil hack of a long time, but hey :P
Seems that most of the panel stuff was not detected correctly by the automatic codegenerator h2def. Need to code that manually. Or wait for jasper to gobjectize everything, whatever comes first.
I had some trouble with h2def expecting gobject-enums everywhere, but since ours aren’t (ours are just regular C enums) it doesnt work. After some egrep it seems fine …
Need to find out how to get the generator to find classes in other modules in the same directory. Now I get messages like ‘Could not write constructor for NetkPager: No ArgType for ‘NetkScreen*’
‘ and such kind of gibberish. Ow well… it will be defeated, eventually.
pirate name
Now for my pirate name :)
Quite unexpected, to me, at least :)
Weekly News Late
Just a heads up. I’m preparing for the Carolina’s Psychology Conference as we speak, and it’s eating up all of my time and resources. If all goes well, expect the “weekly” news to be back on Monday.
Also, you can always email me at erikharrison AT gmail.com for requests or to drop me a line about any interesting Xfce related tidbits you may have.