DaliClock 2.22

Dali Clock 2.22, source and binary.

Changes:

  • It should always remember window sizes now. Specifically, coming out of full-screen mode no longer leaves the window in a huge size if the title bar had been turned off.
  • Full screen mode hides the mouse pointer.
  • ESC exits full screen mode.
  • It's a universal binary now (PPC and Intel). If you actually run it on Intel, let me know if it looks right: I fear there might be an endianness check needed.
  • Added "Pin to desktop" preference. (Is this common terminology?)
  • Minimize (Cmd-M) and Close (Cmd-W) work when the window is titlebar-less or full screen.

Still busted:

  • "Zoom" doesn't work if the titlebar is turned off.
  • "Close" (Cmd-W) always closes the clock window even if the Preferences window was selected. Both of these are because MacOS seems to really, really not want you to use titlebar-less windows for "real" application windows. Patches welcome.
  • The layout of the Preferences dialog is pretty ugly. Make it nice, if you are so moved.

Are there other keybindings that Mac users would normally expect to work that don't? Are there any packaging-and-distribution niceties that I should know about that I haven't already done?

Where do the cool kids announce their Mac software (besides Freshmeat)?

Tags: , , , ,

23 Responses:

  1. transgress says:

    Just for my sake of understanding:

    It's a universal binary now (PPC and Intel). If you actually run it on Intel, let me know if it looks right: I fear there might be an endianness check needed.

    How exactly did you accomplish this? I mean the opcodes for the platforms are totally different, so I am curious.

    • wootest says:

      Mac OS X supports fat binaries, meaning that the same binary contains a different loader for different platforms. It's not actually one polyglot binary, but one binary with the PPC version, the Intel version and their respective loaders in it.

      • transgress says:

        neat, learn something new every day. Now I assume the actual loader isn't included in the binary, but rather apropriate references on how to relocate/setup the various sections/resolve symbols/etc, or is there actually some loader code embedded into each binary?

        • wootest says:

          I have no idea, but the fact that it'd be very repetitive and a dog to 'upgrade' if it were in the binaries tells me that it's probably somewhere in the kernel.

          • transgress says:

            Agreed, its probably split between the os x equiv of ld and the kernel, I will have to look it up some as the idea is interesting to me, and having a powerbook from work means I can play with it some. Thanks for the insight/information.

            • jwz says:

              % file DaliClock.app/Contents/MacOS/DaliClock
              DaliClock.app/Contents/MacOS/DaliClock: Mach-O fat file with 2 architectures
              DaliClock.app/Contents/MacOS/DaliClock (for architecture ppc):
              Mach-O executable ppc
              DaliClock.app/Contents/MacOS/DaliClock (for architecture i386):
              Mach-O executable i386

  2. ctakahara says:

    You could always try putting it on MacUpdate and VersionTracker. I'm not sure of the routine for doing so, though.

    Apple also has a way to submit files to their download site. Try here. It will take a day or two to show up, because apparently their downloads section is maintained by hand. This one's fairly widely seen.

    Lastly, since Dali Clock is freeware, you might see if there's any submission form on FreeMacWare.com. They're still sort of new but fairly popular...ish?

    • taffer says:

      I've been putting stuff (stand-alone "native" xscreensaver ports, actually) on VersionTracker; is there any reason for me to take on the additional annoyance of updating MacUpdate or FreeMacWare.com? 'cause I'm lazy, and busy.

  3. mapzter says:

    I just tested it on my Developer Transition Kit Intel box, and it looks pretty good to me.

  4. Here's a screen shot of me running it. :)

    How about an option to hide the Dock icon?

    Thanks for pin to desktop mode. I'm not sure if thats the standard term, but you can see that is what some people call it on google.

  5. fanf says:

    Does this mean "keep to back"? "Keep to front" is a fairly common option.

  6. holywar says:

    So now that you've spent some time with it, what do you think about
    the mac development environment?

  7. violentbloom says:

    wait, you're programming? and your girl *just* got back to town? what's wrong with you?

  8. netik says:

    Which file is your Xcode project, and what version of Xcode were you using?

    jwz.pbxuser and project.pbproject don't want to open.

    I'm using Xcode 2.0 (but it looks like you may have been using project builder?)

  9. usufructer says:

    Thanks for the escape and mouse pointer things. One last one would be to have an option of it doing something when the timer runs out, rather than just counting in the other direction. Sysbeep, or just invert the colors being displayed.

    I recommend the Apple software link someone posted. I had software on it in the pre OS-X days, and it was one of the better referrers.

  10. eddanger says:

    Hi JWZ

    The way I figured out how to close NSBorderlessWindowMask windows is to override validateMenuItem and performClose in the window class. This way you don't have to change the FirstResponder.


    - (BOOL)validateMenuItem:(NSMenuItem *)anItem
    {
    if ([[NSString stringWithCString:sel_getName([anItem action]) encoding:NSASCIIStringEncoding] isEqualToString:@"performClose:"])
    {
    return YES;
    }
    else
    {
    [super validateMenuItem:anItem];
    }
    }
  11. spendocrat says:

    Pin to desktop was a BeoS idiom at least, and I seem to recall it from various Linux WMs.

  12. riffraff says:

    The layout of the Preferences dialog is pretty ugly. Make it nice, if you are so moved.

    done. sent in email. tell me if you like it or hate it.