Viewing posts for the category gnome

Gnome thumbnails size

I wonder - am I the only one who feels that Gnome default thumbnail size is way too small? See the bug report for the background, motivation and a comparison screenshot :)

Gnome typing break has no way to lock the screen

Want a definition of a paper cut bug? Here it is. And here and here are two more side effects of the same bug. The original bug report will be 6 years old in a month. Can we do something to prevent this bug surviving that long?

Annoyed with USA

My girlfriend is annoyed with USA timekeeping. More particularly with the way Sunday is the first day of the week in the Gnome calendar applet that shows up when you click on the time applet. After some searching I am unable to find how to change that short of changing the source code.

SBackup 0.10 is out!

Get it while it's hot! It has been uploaded to Debian and will get to the mirrors in a day or two, but if you really want it now, then grab 0.10 release from Sourceforge.

SBackup 0.10 delayed to tomorrow


* more testing for the new restore backend and of the purge function are needed to ensure that they work as expected in all expected situations;

* I need more time to review a last minute patch to add autotools support to SBackup and decide if I want that or not;

* My primary notebook is coming back from Dell Service tomorrow and I need it to test the upgrading of the package in Debian (and not just Ubuntu that I have on my old/secondary notebook).

Why? Oh Gods! Why?

$ mv .ssh/ .ssh.old/
$ python
>>>import gnomevfs
>>> gnomevfs.get_file_info( "ssh://" )
Traceback (most recent call last):
File "<stdin>", line 1, in ?
gnomevfs.AccessDeniedError: Access denied
$ ssh
The authenticity of host ' (' can't be established.
RSA key fingerprint is 6d:29:c0:f3:d0:84:c9:a9:d9:4c:7e:e3:1a:18:a2:e2.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ',' (RSA) to the list of known hosts.'s password: *******
[...]$ exit
$ python
>>>import gnomevfs
>>> gnomevfs.get_file_info( "ssh://" )
<gnomevfs .FileInfo 'aigarius'>

Middle-clicking files

A though came to my mind just now - the method of copying text around by just selecting it to copy and using middle-click to paste it. So I wonder, why could one not apply the same for file operations in Nautilus? I would love to just select and middle click to copy files and maybe a Ctrl or Alt key could be used at the paste stage to switch to moving files instead of copying.

Another bug has pissed me enough to star...

Another bug has pissed me enough to start debugging. This time it is Totem-xine crashing on startup in Ubuntu dapper.

The first thing is that you cann't rebuild totem from sources multiple time after ubuntu patches - ubuntu uses dpatch to patch something in automake files and after the build has been run, the unpatch fails thus preventing a rebuild, doh! Worked around that by removing that patch. (Bug not reported yet)

After installing totem-gstreamer, my main suspect is the change to the statusbar, that look very recent. Could it be that Totem developers forgot a critical fix to the xine backend? Could it be that the treat xine backend as a ... second class citizen? To what? To that GStreamer? I tried to use GStreamer, I really did, but there are a few tiny issues: 1) it doesn't open even half the files that xine does, 2) within 5 minutes of a movie audio-video can easily get out of sync by 5 seconds. I have never seen A-V sync in xine. Ever. I love telling our Windows using frends that my movies "just work" with totem-xine, please do not take that away!

Anyway - back to the bug we go.

As we have a clean crash, I recompiled totem with debugging symbols ("DEB_BUILD_OPTS=nostrip,noopt debuild -us -uc") and run with gdb. When totem crashed, I got the code line, where it happened:

(totem:4608): GLib-GObject-WARNING **: invalid cast from ` ' to `TotemTimeLabel'

Program received signal SIGSEGV, Segmentation fault.
0x08068659 in totem_time_label_set_time (label=0x8199a60, time=0, length=0) at totem-time-label.c:69
69 if (time / 1000 == label->priv->time / 1000

Now, that is interesting, lets see, what we have here - time is an int, so no segfaults from there, but label is a TotemTimeLabel. Hmm, that error now makes sense. And when we take a look at label->priv, it appears to be a pointer to TotemTimeLabelPrivate with an address of 0xffffffff. That's the problem, now we only need to backtrace trough the program and find the bug that is causing that.

Well all looks pretty nice - there is a "tick" event in the player that calls the time update. Not really clear, why there is such a discrepance between GtkLabel and TotemTimeLabel or why this structure is not inicialized in time. More strange is that gstreamer backend never calls this function. Wierd. Let's see what happens if I just return from it without doing anything. Does not help - now statusbar is crashing.

Let's try it from another angle - it worked before. Nothing much in totem changed since release of breezy. Installing the version from breezy, it works fine. Recompiling the version from breezy on dapper - crashes. Ouch! It looks like xine backend of totem has not been ported to that new crazy Gnome 2.12 thingie, like gstreamer backend was. Strange - that is a backend, it should not be dependent on the frontend, no? Anyway, it is not something I can do - I will have to install the breezy version, hack some dependencies to make it no conflict with one optional library and then file a critical bug on totem for breaking the xine backend.

But even that will have to wait 'till tomorrow, sleep is of the essence, anywere.

Another tiny note - why is it so that al...

Another tiny note - why is it so that all the Python wrappers for Gnome and Freedesktop related things (GnomeVFS and DBus in my experience) have absolutely no API documentation !!! PyGTK has a nice set of documentation for GTK work, but it doesn't extend beyond that, sadly. When I was writing SBackup, I had to resort to using Python build-in function dir() to show me what names the gnomevfs module exported and guestimate my way from there. That was ugly as hell, but worked. Now I am trying to find any information about that "new" DBus thing that everyone was so excited about approximately a year ago - I can only find a few blog posts about rewrites of said API and a few simple programs that do not even work with the rewritten API. I mean - I can understand not having documentation for internal functions of a desktop program, but not having a public API document for a critical library of desktop infrastructure - that is just plain dumb.

Edit: It seams that there is some kind of dbus tutorial with Python API section. I do not know, why it didn't appear on first 10 pages of Google search for "dbus python" or "dbus python API", but I hope this linking will help that a bit. Also, we will see, how useful it actually is - the rest of the document itself is quite cryptic to me.

Edit2: I am impressed, the Python chapter is definitely written by someone different from those that wrote the rest of the dbus tutorial - this part actually makes sense, is very detailed and hand-holding when it is needed. i got almost all my questions answered. Thanks to whoever wrote that!

Remote restore fixed. Full planned funct...

Remote restore fixed. Full planned functionality reached.
All that I planned to do for Simple Backup is done as of version 0.7.
Now I only need to wait for the evaluation from my mentors at Ubuntu and to fix all bugs they and all other users find :D

I also did a bit of refactoring in this release oriented towards less memory usage. Results:

  • Memory usage while restoring dropped by 30-50%

  • Memory usage while making a new backup reduced ... tenfold?!?!

I like it :D

What I do not like is the performance of GnomeVFS over ssh (Bug #155872) and also a need to download all the backup image *twice* to restore anything (in the worst case). Sadly I can not do much in either case :(
( Of course I could fix the GnomeVFS ssh module and write a new tar implementation with an external file positioning cache, but I fear that it is somewhat beyond my capabilities :) )

Recent Posts






RSS / Atom