Jun 27, 2008

Cultural Exchange 2

Gnome would crash before the panel would show up. Also, the text console did not work (graphic artifacts instead). Failsafe Gnome did work, which does not have Compiz, so I took a hint to change the graphics driver. System / Management / Hardware drivers offered me to install the non-free xorg-driver-fglrx and now it works.

command-not-found is enabled out of the box and it rules. openSUSE should have it by default too.

dpkg phrasebook:
rpm -ql foo
dpkg -L foo
rpm -qa "foo*bar"
dpkg -l "foo*bar" (and it also shows packages that are not installed)

Jun 25, 2008

Cultural Exchange: First Blood

I decided to expand my horizons and install Ubuntu on my main work computer. So today I offer you the first notes from my observations.

mutt somehow stopped tracking new mails. Fortunately :set check_mbox_size on works around that.

My subversion working copy from openSUSE was created with svn 1.5 but Hardy has only 1.4. So I manually got debs from the coming Intrepid release, and luckily 3 of them were enough: dpkg -i {subversion,libsvn1,libneon27-gnutls}*.deb from here and here.

Jun 17, 2008

LinDevDoc Got Tagging

Bluebear has improved LinDevDoc (original announcement) so that it can do tags now.

Addressing Lines in Plain Text Files

Jirka suggested a possibility to enhance YCP documentation with real-life code examples. For that, we'd need to point to numbered lines within the source code. I thought that ViewVC can do it but apparently not (maybe annotate has it, but it is broken at our site). But there is a new generic way: RFC 5147: URI Fragment Identifiers for the text/plain Media Type. Only none of the browsers seems to support it today...

This points to line 13, with the prototype of main:
http://svn.opensuse.org/svn/yast/trunk/libyui/examples/HelloWorld.cc#line=,13

Jun 11, 2008

Medoosa in OBS

Medoosa is a documentation tool for C++ that can produce UML class diagrams including generalizations and associations. Corrections can be made interactively in a diagram editor (Dia) and are fed back into the source as Javadoc-style comments. At this time, the layout must still be done by hand. Some code is already present to produce the layout with Graphviz.

I wrote it for my master's thesis at the Charles University back in 2001 and it has been since then quietly sitting at SourceForge. Today I have rebuilt it in the openSUSE Build Service: Medoosa, CcDoc-0.7a (required).

Jun 10, 2008

cnetworkmanager 0.4

I pulled together 0.4 yesterday:
  • New: changed license to GPLv2 or later, to match other parts of NM
  • New: distinguish WEP, WPA, WPA2 for -n.
  • New: -o, -w control online and WiFi status.
  • New: basic device info for NM 0.6
  • Fix: recognize Notification Messages in knetwormanagerrc.
  • Fix: -u: better error message when applet not running.
  • Fix: standardized option parsing, both -Cfoo and -C foo work.
The software is now hosted in a Git repository.

Jun 8, 2008

KNotify Client

Korshak asked how to do emerge -uND --world && knotify "Done!". I thougt it would be a piece of cake, but apparently not.
The short answer, zypper in libnotify; notify-send Done, has a disadvantage of requiring a fair amount of GNOME software. But it does use a proposed freedesktop.org standard.
Then I find the method org.kde.KNotify.event, but its nice signature (ssavsayasx) means dbus-send (dbus-1-1.2.1-12) cannot invoke it (it cannot pass empty arrays, and it cannot wrap variants in arrays). No problem, let's use Python. But then we are blocked by knotify4 (kdebase4-runtime-4.0.4-19) reporting a wrong signature via the introspection interface.
# killall knotify4; cp /usr/bin/knotify4{,.bak}
# sed 's/type="a(ss)"/ type = "av"/g' /usr/bin/knotify4.bak > /usr/bin/knotify4
Now which event should we use so that the user actually sees the message? There are many of them, with user configurable actions. warning/kde seems to work out of the box.
#! /usr/bin/python
import sys
import dbus
m = sys.argv[1]
kn = dbus.SessionBus().get_object("org.kde.knotify", "/Notify")
i = kn.event("warning", "kde", [], m, [0,0,0,0], [], 0,
    dbus_interface="org.kde.KNotify")
That did it. But I still hope that there is a simple solution for KDE4 that I have missed.

Jun 3, 2008

D-Bus Spy

Like dbus-monitor, it monitors the system or session bus. Additionally, it can write the traffic to a file and read it later (-w, -r). It can dump all the gory details (-d) or pretty print all the gory details (-p). Like DBusMessageBox which inspired it, it can make message sequence charts (-c). It has some simple filtering abilities (-f, -F).

Try 0.1 if that sounds interesting.