April 30, 2005
Easy Fixes for Stupid Problems
So there's this really annoying bug that a lot of GNOME users have been experiencing, including myself. The first issue is that the default GNOME layout binds the "Windows" key to Super_L/Super_R, which prevents you from using it as a modifier key. This is a relatively easy fix; run gnome-keyboard-properties and change "Layout Options->Alt\Win Behavior" to "Meta is mapped to the Win-keys" (or just about anything other than "Default", apparently). Now, you can open up gnome-keybinding-properties and use away. But wait! It mysteriously only works for some of the actions. This is because essentially two keybinding backends are used, gnome-settings-daemon and metacity. Turns out, gnome-settings-daemon ignores Mod4 (which is what the Windows key gets mapped to as a Meta). Thankfully, it's an easy fix! Grab my patch or if you're running Ubuntu/Debian, you can install these deb's which already have the patch applied and restart GNOME (these have only been tested on Ubuntu Hoary). Now, rejoice that you can finally have Windows+L mapped to "lock screen"!
Posted by ryanfb at 04:29 AM | Comments (0) | TrackBack
April 21, 2005
Fun with chrome caching in Firefox
After struggling with this lovely error ("XML Parsing Error: not well-formed" while pointing to a nonexistant location in my code) for a while hacking around on Wereboy, I became a little frustrated. So I created a clean profile and added the extension, where it worked fine. Turns out that profiledir/XUL.mfasl will apparently keep around uninstalled plugin chrome then later confuse itself, resulting in this sort of breakage. You have to delete/move it then relaunch Firefox to force a rebuild.
Posted by ryanfb at 05:59 PM | Comments (0) | TrackBack
April 19, 2005
XML-RPC Blogging Plugin for Tomboy
This plugin lets you post Tomboy notes to a weblog through the magic of XML-RPC. Attached is the source (goes in tomboy-[ver]/Tomboy/Plugins/) and a diff/patch against the cvs tomboy-[ver]/Tomboy/Plugins/Makefile.am.
Notes:
- needs XmlRpcCS. Mono 1.1.x users, check my guide for installing it.
- there's no pref's dialog, you need gnome-blog, it currently reads your gnome-blog settings from GConf
- currently only supports the MetaWeblog API (MovableType, etc.)
- does not support post editing
- currently just uploads whatever the text value of the note is. If your blog supports setting a default formatting style (like Markdown), just use that in your note and it should show up properly.
Some ideas for enhancement:
- keep track of postID's in an extra XML field (like width and height are now). This would allow you to upload a post, then edit/update it within Tomboy.
- move pref's to Tomboy's preferences dialog and GConf settings?
- let you sync your notes with your weblog. This would update your blog with local Tomboy changes, as well as pull down other posts not made from Tomboy into Tomboy.
- maybe a different icon?
Enjoy, feel free to enhance/update/improve/etc.
And yes, this post was made with it. ;)
Posted by ryanfb at 09:33 PM | Comments (0) | TrackBack
XmlRpcCS with Mono >1.1.x
I was trying to work on some XML-RPC craziness under Mono, and came across XmlRpcCS and a nice tutorial. Problem is, since I'm running Mono 1.1.4, I could reference the built XmlRpcCS.dll assembly at compile-time with no problems, but the resulting program would die with:
WARNING **: Could not find assembly XmlRpcCS, references from
~/source/monoblog/monoblog.exe (assemblyref_index=3)
This is because with Mono 1.1.x, it seems you must register signed assemblies with gacutil. In order to do this with XmlRpcCS, you need to do the following:
- Download the XmlRpcCS source file and unzip it.
cdto theXmlRpcCSdirectory and run "sn -k XmlRpcCS.snk" to generate your keyfile.- Edit the
makefileand change theCSFLAGSline to "CSFLAGS=-define:__MONO__ -delaysign-" Edit
src/nwc/xmlrpc/AssemblyInfo.csand add the following lines:[assembly: AssemblyDelaySign(false)][assembly: AssemblyKeyFile("XmlRpcCS.snk")]Run
make- Run "
sudo gacutil -i XmlRpcCS.dll -package XmlRpcCS"
Now when you need to compile against XmlRpcCS, just add "-r /usr/lib/mono/XmlRpcCS/XmlRpcCS.dll", and it should work fine.
Posted by ryanfb at 05:49 PM | Comments (0) | TrackBack
April 15, 2005
Ubuntu-tastic
After having read somewhere that installing gnome-volume-manager on Debian was all kinds of cool, I gave it a shot. Somehow, it wound up breaking udev so it no longer saw my DVD/CD-RW drive, which is pretty much the opposite of the intended effect. This probably has something to do with the fact that I'd been kludging this Debian install along for quite a while, from all sorts of fun migrating between 2.4.x and 2.6.x, to random USB hackery, to writing my own scripts to start up wireless properly, and so on. Deciding I'd hit the breaking point, I went ahead and installed Ubuntu Hoary. So far, it's very nice. I had the foresight to put /home on a seperate partition back when I installed Debian, so everything I'd personalized for my login pretty much still works properly. I've already got Beagle and Tomboy (complete with C# DBus bindings out of the box) working, with no real hassle at all.
Update: Switched back to Beagle 0.0.8 so it would work with inotify, and it's working much better now. And with the Firefox plugin provided by the Beagle project, it looks like it pretty much already does what I was looking for. Also got other things like mplayer, acroread 7, etc. up and running. Also got suspend/resume working again, however, my consoles are still messed up after running video-post. Suspend-to-disk appears to lock up completely as well.
Posted by ryanfb at 04:17 AM | Comments (0) | TrackBack
April 05, 2005
Browser History Searching
Britt ran into me today while I was hacking around on a toy program of mine. Basically, I'd gotten fed up with having 5000 Firefox tabs open at once, with no proper way to search through my history or bookmarks, so I decided there needed to be a better way. I started playing with Gecko# and got a bit caught up in getting something half-usable out. Since the last thing the world needs is another web browser, I'll probably just polish it off some more and put up the source to help out (or possibly confuse!) anyone else who wants to do some Gecko# hacking beyond a 5 minute browser. I did finally discover the old Mac app I was doubtlessly inspired by, TrailBlazer.
Anyway, onto the main reason for abandoning it, my conversation with Britt made me realize that even beyond the silliness of trying to create another browser, I was also reinventing the wheel in numerous other ways. It would probably be much easier to hack the functionality I'm looking for onto Beagle. Guess I'll need to set up an inotify-enabled kernel.
Speaking of which, I need to do quite a bit of kernel hacking in less than a month anyway, with 3-4 large kernel modification projects ahead of me. Thankfully, due to my inability to read a syllabus, I finished all my projects for another course two weeks ahead of time, so I won't have that looming over my head.
Posted by ryanfb at 01:50 PM | Comments (0) | TrackBack