References - *NIX manual

Description: Bring some style to your coding habits.

*NIX manual provides a clean and simple interface for performing look-ups on commonly (and, more importantly, not so commonly) used commands. It stores preferences for font and a customizable set of colors and includes 9 attractive pre-made color sets. Pages are neatly-formatted and highlighted based upon your color preferences.

*NIX manual performs man page lookups either locally or remotely through freeSBD.org, with several search options to make finding what you need even easier. If you're familiar with Terminal, you'll feel right at home, with support for most common shortcuts and command line flags; if not, you'll find your way around the intuitive interface with no trouble at all.

Who thought coding could look this good?
Author: esqwuared
Version: 2.0
New in v2.0: - Command history (pseudo-tabs); Manage many man pages at once
- Section and keyword options on frontside
- Improved parsing and text formatting
- Improved color formatting and optional transparency
- Ability to extend the local MANPATH environment variable
- Fixed truncation bug on local lookups
Uploaded on: November 12th 2007 at 9:59 PM
Rating: (4.52 stars)   [Show Detailed Ratings]
Downloads: 3877 (all versions), 510 (this version)
    Download Now »

Comments

Sort

I like the idea, but why not use the local manpages?

Posted by: sean on May 13, 05 (8:48 PM) for version 1.0 (previous version)  

I do have a version that uses local manpages as well. Once I had that working, however, I traded it for the online pages which came complete with html formatting tags and hypertext links. When using the local pages I could get none of this - without, of course, writing a bunch of code that dynamically generates it each time a lookup is performed, which is far from optimal.

Nowadays nearly everyone is connected everywhere, so I traded the local operation for a more usable interface. If people think they would prefer the other version, I coould polish that one up as well. Let me know if it's really necessary. The features of this one are far superior in terms of usability/readability.

Posted by: esqwuared (developer) on May 13, 05 (8:59 PM) for version 1.0 (previous version)  

Great widget, I find it quite useful. Nice work!

Posted by: Solsonic on May 14, 05 (1:32 AM) for version 1.0 (previous version)   View Detailed Rating

Thanks for the feedback! I'm glad it helps you out.

As a note to all downloading, I did some "user testing" myself today while using it to work on some other projects. I found that for the hardcore among us this won't quite suffice since it necessitates use of the mouse at times.

I have fixed most of these problems locally already via some intelligent focusing, but will wait about a week or so to post the update. (Pending other fixes/improvements) If you try to pagedown or enter a search or something and find yourself having to click to do so, be patient...the fix is on its way!

Posted by: esqwuared (developer) on May 14, 05 (3:33 AM) for version 1.0 (previous version)  

Great widget! I can see this becoming a must have for many of us über-geeks in training.

Having the option of using local man pages though would be nice. There are some Mac OS X only commands like Apple System Restore (ASR) that aren't available in the options provided. Maybe give local man pages as an option, or only local man pages that aren't in the other options?

Posted by: DaMacGuy on May 14, 05 (6:18 AM) for version 1.0 (previous version)   View Detailed Rating

Pretty good, however, you mention that navigation and searching are available via the keyboard. Didn't see how to go about that. I also run into a problem where about half of the 'local' searches get a timeout error. Seems odd to get timeouts on the local box smiley

Posted by: kineel on May 20, 05 (2:37 AM) for version 1.1 (previous version)   View Detailed Rating

Two notes on the above:

1) I've noticed the timeout too. I really can't seem to figure out what's going wrong there...I've tried a bunch of widget.system() calls, and only the ones to man seem to have this problem. It's been noted, and I'll try to find a fix. It certainly isn't acceptable, but it's better than no local search functionality at all.

2. Full keyboard access works as follows:

a) When the widget opens/refreshes, the search field is highlighted.

b) When a search is performed, control is transferred to the scroller (up, down, page up, page down, home, end)

c) There are 2 ways to initiate a new search. First, hit the 'q' key, just like in the regular manpages, to close the open search and return focus to the search field. Also, you can simply hit spacebar (which minimizes the widget) to return control to the search field instead. Both allow you to type a new search and press enter to do the lookup. In special cases (such as no results found, etc) the search field is automatically highlighted. The combination of these should allow one to, say, do something like the following:

F12 - 'socket' - ENTER - DOWN* - PAGEDOWN* - HOME - SPACE - 'bind' - ENTER - DOWN* - UP* - END - 'q' - 'connect' - ENTER - 'q' - F12

Into the dashboard, 3 lookups, and back without needing the mouse.

Hope that helps you out. Let me know if you find other problems...I'll be sure to iron them out ASAP. Thanks for the feedback.

- Eben

Posted by: esqwuared (developer) on May 20, 05 (5:30 AM) for version 1.1 (previous version)  

Ok, hopefully you can figure out what is going on with those local timeouts.

Something else that would be nice: The ability to look for text within a man page. Similiar to using the slash "/" key in the Terminal during a man operation.

Posted by: kineel on May 20, 05 (6:06 AM) for version 1.1 (previous version)  

It is handy, but once the local timeouts are sorted, I think you should allow it to search both online and local copies (in that order) because some terminal commands (IOReg, pmset, mdls etc) are MacOS only and don't appear in the online pages.

Posted by: Ludge on May 20, 05 (7:18 AM) for version 1.1 (previous version)   View Detailed Rating

Ah, good comments guys. It looks like I'll have plenty to get started on for the next version already. A couple more notes:

1) Right now, if an internet connection is not detected the local pages are searched by default. I will add a checkbox option to tell it to search locally if a remote lookup returns no results also.

2) In all my experience with man, I never new the /lookup existed. But it's brilliant. Additionally, implementing it should be almost trivial, if regular expressions decide to play nice. Good idea.

Keep them coming.

- Eben

Posted by: esqwuared (developer) on May 20, 05 (8:32 AM) for version 1.1 (previous version)  

esqwuared, this might help: I discovered an error appearing in my /var/log/windowserver.log:

May 19 23:03:06 [1302] kCGErrorIllegalArgument: CGXRemoveTrackingArea: Operation on a window 0x70a not owned by caller NIX manual DashboardClient
May 19 23:03:10 [1302] kCGErrorIllegalArgument: CGXRemoveTrackingArea: Operation on a window 0x70a not owned by caller NIX manual DashboardClient
May 19 23:03:20 [1302] kCGErrorIllegalArgument: CGXRemoveTrackingArea: Operation on a window 0x70a not owned by caller NIX manual DashboardClient

Repeats quite frequently.

Posted by: kineel on May 20, 05 (7:55 PM) for version 1.1 (previous version)  

Yet another developer's comment:

I've fully implemented the '/searchword' lookups for highlighting the text within the pages. It's pretty slick.

The only other major outstanding issue is the local timeout problem. I've looked around online, and it seems that many are having widget.system calls fail intermittently or even freezing the widget, particularly when the response contains a lot of data (ie. man page lookups).

I'm going to try to go about writing a Cocoa plugin that will handle the task in place of widget.system to fix the glitch. Perhaps Apple will address this in an upcoming update, but I can't wait to find out. In the meantime, however, I haven't posted the version with the keyword highlighting yet. It hardly merits a full release number, since I just released 1.1 yesterday.

BUT...perhaps if I get enough emails with praise/comments/suggestions/bugging me about it I will begin posting "in-between" releases on my website at http://www.interdimensionmedia.com.

I look forward to hearing all of your thoughts.

Posted by: esqwuared (developer) on May 21, 05 (2:41 AM) for version 1.1 (previous version)  

Be on the lookout for the next version pretty soon...I'd say no later than this weekend. I haven't "fixed" the local timeout issue, but I have found a workaround that should reduce its occurrence around 95%. That's very good news. Apart from that, the /search has been implemented, as noted above, and is pretty nice to use. (Minimizing will now require a modifier key [alt, ctrl, or shift] + spacebar) A few minor cosmetic enhancements have been added as well. If you've got any brilliant last minute ideas or trivial bug fixes, send them my way ASAP since work is picking up and I might not get around to another release for a while. Happy coding!

Posted by: esqwuared (developer) on May 26, 05 (3:15 AM) for version 1.1 (previous version)  

thanks a lot, works nearly perfectly - it would be nice if the local search-results were hyperlinked, too.

Posted by: sounde on May 29, 05 (4:16 PM) for version 1.1 (previous version)   View Detailed Rating

The only widget so far I've never considered removing from Dashboard. Extremely useful and well done!

Posted by: seb2 on Jun 02, 05 (8:37 AM) for version 1.2 (previous version)   View Detailed Rating

Excellent widget.

BTW: It can use the local manpages. Check the preferences, sean.

Posted by: sfish on Jun 14, 05 (3:42 PM) for version 1.2 (previous version)   View Detailed Rating

You Must Log In to Post Comments

 
Username:
Password:
Remember Me
Create an account | Password Reminder