Gnome Globalmenu Hurts Too Much

I’ve run into multiple issues using gnome-globalmenu.  I like it, but it doesn’t play well with others.

Its latest offense is that it causes the gnome screenlets manager to die on start-up with:
Attempt to add property GtkMenuBar::local to class after it was derived

Just removing globalmenu from the panel isn’t enough to get past the issue.  You have to delete (or rename) /usr/lib/gtk-2.0/modules/libglobalmenu-gnome.so

Gnome Globalmenu Calls Nautilus "CD/DVD Burner"

There’s a nice panel applet for Gnome named gnome-globalmenu, that give you title bar behavior similar to OS X.  Unfortunately, it seems to calculate the application name for the menu by scanning your main menu, looking at run commands, so it displays the title "CD/DVD Burner" instead of "Nautilus" or "File Browser" when a Nautilus window is activated.

The work-around is to right-click on your main menu, and edit the menus, and change the command executed by the CD/DVD Burner accessory to be "gvfs-open burn:/// ".

Then you have to logout and login.

Pass a Function as a Parameter in VBA

I’ve been doing some programming in Excel’s VBA recently.  I have a series of blocks of code, where the only thing different in the blocks is that each block calls a different function.  Pseudo-code resembles

blah1
blah2
Call Function1
blah3
blah4
...
blah1
blah2
Call Function2
blah3
blah4
...
blah1
blah2
Call Function3
blah3
blah4
...

The obvious change here would be to create a subroutine with one of the blocks of code, and to call the subroutine passing the unique function as a parameter to the subroutine.  Excel 2003 VBA does not permit this directly, so my next thought was to use Eval, and pass the function name as a string.  Excel 2003 VBA does not include Eval.

But… Excel VBA does permit one to pass an object as an argument.  So the solution becomes:

  • Define 3 different objects, and give each object a single function, each function named the same.
  • Pass the object as an argument, instead of the function.
  • Have the subroutine call the function via the object.

Automation Error - The object has disconnected from its clients

Here’s a non-intuitive error from Excel.

run-time error '-21474417848 (80010108)'­ Automation Error - The object has disconnected from its clients' ­

­ I was getting this on a call to QueryTables.Add.Refresh. Sometimes I also received out-of-memory errors and sometimes Excel 2003 simply crashed.

I was sourcing from a CSV file with newline terminated lines.  Excel was reading in the entire file and trying to treat it as a single record.  Converting to CR/LF by running unix2dos on the server fixed the issue.  Ultraedit could have fixed it on the Windows box as a one-time conversion, but this is going to run every day.

Focus Problem With NVIDIA nView Desktop Manager

One feature provided by NVIDIA nView Desktop Manager is that it can add some icons to your title bar (just to the left of the minimize/restore/close buttons) to support window roll-up, move-to-next-display, and maximize-across-multiple-displays.

However, when you enable these, you can wind up with some obscure focus problems:

  • Sometimes the color-coding of your title bar (that indicates which window has the focus) can be backwards.  i.e. It shows the focused color when you don't have the focus, and vice versa.
  • If you open an application window, the title bar will show you that it has focus (see problem above), but pressing Alt-F4 doesn't close the window (because it doesn't really have the focus).

I suspect that focus is on the added icons, instead of the real window.  If you're a mouse user, you might never notice, but I'm a heavy keyboard user.

Work-around: Either:

  • Disable all nView Desktop Manager or
  • On the nView Desktop Manager window's User Interface tab, clear all 4 of the Title bar buttons check-boxes.

Unlocker Menu Item Conflicts With UltraEdit

I use Unlocker and UltraEdit.  Each of them attaches itself to the context menu for all items in Explorer.  UltraEdit uses HKEY_CLASSES_ROOT*\Shell\Ultraedit\Command to do so.  Unlocker dynamically adds its entry from its DLL file.

My fingers are used to right-click followed by U to start UltraEdit.  Unlocker adds itself with U as a hot-key in the menu.  Here’s how to change it.

  1. Using UltraEdit, open C:\Program Files\Unlocker\UnlockerCOM.dll
  2. Search for "&unlock".
  3. I replaced the & with _
  4. When I tried to save the file, it was write-locked.
  5. I killed Explorer.exe and Unlocker*.exe via Task Manager.
  6. Then I saved the file.
  7. Then I re-started Explorer.

Moving Your Outlook OST File

From http://www.c3b.co.uk/?p=16

  1. Close Outlook
  2. Move (or copy and delete the original at the end if you’re paranoid like me) the outlook.ost file from it’s current location (usually c:\documents and settings\{user}\Local Settings\Application Data\Microsoft\Outlook\outlook.ost) to a new location
  3. Open the mail settings applet either from the control panel or by right clicking on your Outlook link and selecting properties.
  4. Click E-mail Accounts…
  5. View or change and existing account and click next
  6. Highlight your exchange email account and click Change…
  7. Click More settings…
  8. Uncheck the Use Cached Exchange Mode and click apply
  9. Click Offline Folder File Settings…
  10. Click Disable Offline Use and agree with the pop up dialog message.
  11. This will close the Offline Folder File Settings dialog so click the button again
  12. You’ll find this time that the File: text box can now be edited. Click browse and locate the outlook.ost in its new location and click OK.
  13. Check the Use Cached Exchange Mode again and click OK.
  14. Click next and then finish.
  15. Close the mail settings applet and launch Outlook again.

Firefox is already running but is not responding (but it isn't running).

I started getting the "Firefox is already running but is not responding," message when starting Firefox.  Firefox was not already running when I attempted to start it.  Windows Task Manager confirmed it.  No, Firefox had not crashed the last time I used it.

But... My profile is on a drive that wasn't mounted.  From the Mozilla web site, "If Firefox cannot find the profile folder, it will report that the profile is in use or already running. This can happen if you manually delete, rename or move the profile folder; if you run Firefox from removable media..."

What made it doubly confusing in my case is that *I* wasn't starting Firefox when it gave the message.  I installed Tonido, and the Tonido launcher (it runs in the tray) had the option "Open browser on launch" selected.

Clearing the option, and mounting the drive (which I always do after I boot the machine) cured the problem.

Launchy Versus Slickrun

Why I use Slickrun instead of Launchy

Launchy is pretty, and aesthetics are important, but Slickrun carries command-line history with it.  For example, if I have a macro named "do" and I enter "do blah bleh floo", the next time I enter "do " it remembers "blah bleh floo", where Launchy remembers only "do".

Slickrun uses about half the memory, but since that is only about 10 MB, that’s not a major consideration.

Slickrun doesn’t have skins, and that’s a plus because it means I don’t fritter time looking at alternative skins.