Friday, February 29, 2008

The Difference between a blog and a Wiki

Today I wanted to develop some way to find all my Mac OS tips and tricks. I normally store all my Unix and Mac tips in notes inside of Mail. It seems convenient enough, but not easily searchable and I don't really care for the way the Notes part of Mail actually works.


I began looking for other methods, first with Mind Mapping software, then I started thinking on Wiki terms. I mean, what better way, it's hierarchical like files and folders in a directory tree, it's easy to navigate and search through keywords, it's logically organized as opposed to random stuff hanging all over. So, today, I created my own Wiki. On this Wiki I will post tips and tricks to making Mac OS X your own. Everything from tips to get rid of the 3D dock in Leopard, to underlying Unix tips will be added in a structured environment and it will be available to the internet community at large. I doubt I have any readers of my blog, but my Wiki should prove to be more interesting. If you'd like to contribute or learn some new things about how to make OS X behave the way you want it to, go to tomsmac.wetpaint.com.

Apple Feedback

Tuesday, February 26, 2008

Global Hotkeys

I knew that there had to be a simple way to get global hotkeys without having to pay for software. Granted, Quicksilver can do global hotkeys, but I don't use it anymore because it seems to have issues with crashing, memory leaks, and the new spotlight does a decent enough job for me. Anyway, this link http://www.monkeybreadsoftware.de/Freeware/GlobalHotkey.shtml has a simple program with some examples as to how it runs.

The program runs hidden, you wouldn't notice it unless you open up your activity monitor. Which also means that it doesn't install itself, so if you want it to run all the time, you'd be best to add it to your login items group. It took me a little while to figure out what it did and didn't like though. It was finicky about my file format, you can't save an applescript and have it run it. It is capable of running applescripts, shell scripts, and applications, but to do so you have to follow some rules.

Now, you might ask why you would want an application that still requires you to manually assemble the code? Well, if you want it all done for you, then you'd better buy a program because I only wanted this for simple features. I wanted a global hotkey to advance through my iTunes playlist without having to bring iTunes up front. I might also want a global hotkey to launch a specific application, or to refresh my Dock, SystemUiServer, or Finder. A standard program that allows you to assign hotkeys usually doesn't allow for shell scripting. All you need to know is what command you want to run, whether it's applescript, shell scripts, or an application, and you create a simple text file with the command. Of course, test your applescripts with script editor first, make sure they work, then copy it into a new text document. But, there is a trick here and I will try to make it simple.

First, open TextEdit.app. As an example, add this text to a new blank document

tell application "iTunes" to play

Now, save the document under the name of a keystroke (one that isn't used by system services or any other application menus, I've chosen F5). Notice in my screenshot that I have chosen not to include the extension and that I've selected a Unicode type text file format. If the file name includes any extension or is otherwise not a series of keystrokes such as; command option j, option 4, etc., then the command will not work. Also, it should be saved in the folders that came with the application. I saved the contents of the opened .dmg file in a folder called Global Hotkey. Ensure that this file is being saved in the Global Hotkey/Applescripts folder. Double click the app, Global Hotkey.app, use F5 to play iTunes. I actually put in playpause and F4. I created two more scripts just like this and assigned back track to F3, playpause to F4, and next track to F5. Now, as long as the app is running I will always maintain control of my iTunes no matter what application I'm actually working in.

Similarly, all you have to do to launch an application is create an alias, drag it to Global Hotkey/Applications and rename it to another valid keystroke. Personally, I don't have much need for this as I'm satisfied with using Spotlight, but maybe you want to launch something that is in a folder or on a drive that spotlight is not monitoring, then there you go.





Apple Feedback

I want more control

If there's one thing I want in OS X more than anything, it's more control over how things are viewed. I don't like Finder and wish it were more like Windows Explorer. I'm sorry if that is blasphemous, but I have always liked using arrows to expand things on the left and clicking on a folder to show its contents on the right.

Mail should allow you to customize the view, and get rid of the pill shaped buttons in favor for something smaller and more Mac-like. I have no idea why they chose such a horrible look. Also, I think Mail should have options for different views, as you find in Outlook. This lack of adding new views only says to me that programming Mac applications must be harder and more strict than Windows.

Also, why does it take a haxie to change the overall system theme? In fact, why do I have to know unix or use a haxie to use the 2D dock? I mean, Unix is proclaimed to be one of the most configurable and customizable operating systems around, and it seems like Apple has gone to great lengths to make sure that OS X was not.

The worst part is, I can spend my hard earned cash on 3rd party programs that may or may not be approved by Apple. I can run them until the next update, at which point they no longer work and I have to wait for the developer to create a fix.

I really do expect a more modular type of programming. Why isn't Addressbook actually able to be opened, updated, and so on within Mail? Sure, you can open it as a separate application, but it seems more cumbersome. And why isn't iCal capable of being integrated in a similar fashion? All this, and the windows can be rearranged by dragging them, changing their size, and view options just as in the parent programs.

And what's with limiting how I want my machine to perform? I really would like a preference pane that can turn off all extra stuff that slows my system down. After all, I am using a Macbook and need the extra resources wherever I can find them. Most things you can limit to some extent, but with spaces, there is still an animated effect to moving windows. I'd rather they just appear and disappear. With the Dock, I'd rather the window do the same instead of using Genie, Scale, or Suck effects. Windows look nice with the shading around them, but I'm sure I could make things run even smoother if I turned that off. In MS Windows, you can switch to a total classic view, turn off all effects, and really gain a substantial amount of RAM and CPU power by turning these extras off.

I'd also like to gain some real estate by not having a Dock. I don't need it, I've just gotten used to it. I'd rather have an applications menu in the menubar. I know, that is also very Windows OS of me. I know, that also means it takes 2 clicks instead of one to open an application. However, if the menu were organized just like the dock, I'd be happy with that, I just want the dock to go away. I know it can be hidden, but I think we all know how that works. First, you now have an additional animation to contend with as hiding the dock always slides in. Second, it's so easy to accidentally get the cursor on the side of the screen that it just becomes an annoyance. Lately, I've been keeping my Dock on the left side, it seems to be less in the way then.

That said, I think I'd prefer that the menubar also had more customizability, like moving icons and such, changing fonts, placing some icons that aren't used often in a menu instead of across the top. By doing something like that, at least I can fit all I really want to see at the top. The simplest and possibly best thing would be to change the resolution of the menubar. I just don't understand why these things are so protected and not available to change by default.

I suppose for all the lack of customizability, it's not unlike Apple considering that it's a real pain to put OS X on any other hardware. I also suppose that in the effort of keeping software stable, less custom content is probably better. It's just that Apple is in a better position than anyone to design it right, and yet we have to resort to hacks to do what we want. This is a real strong argument for linux. I'm playing with Ubuntu now on Parallels. If it weren't for the fact that Linux is developed by so many people and that makes code inconsistent, I'd switch. But, I know that for the best support, you have to run Windows or Mac. Although, I must say that I am really tired of paying for every little tool to do a job for me. It adds up quickly and most tools that I want to use to break down some of Apple's walls are simple executions of unix commands that I just can't find published out there.

There, that's my rant for today.



Apple Feedback

Sunday, February 10, 2008

Macbook and External Monitors

I have finally learned something that I've wanted to do for a long time regarding my macbook and using an external monitor.

With this simple little trick, when I plug in my external monitor, the menu bar will move over to it. It does have the effect of making it the default display, to a point. Let me explain.

My external monitor is a 22" CRT. I know, I'm a little outdated, but what else am I going to use to hold my collection of Octopus plushes? Anyway, I would much rather use that as a default display than my teeny little 13" macbook display with washed out colors because of the rather poor backlighting scheme. I've been using my macbook with the external monitor for almost 2 years and never knew about this one simple little trick to make the external monitor act like a primary display. Simply go to display preferences, then the arrangement tab. This is so simple it's stupid. Just grab the menubar on the simulated macbook screen, a bold red outline will show up indicating which monitor it's active on. Then drag it over to the external monitor. Once the red outline is around the simulated external monitor, drop the menubar and voila, it is now your default display while it is connected.


This is not 100% perfect. When you go to mirroring mode, then the laptop screen becomes primary again. However, leave mirroring and all is back to normal. This is one of the best features of Mac, the ability to remember a monitor or projector and the last configuration used with it. Now, every time I connect my external monitor, I won't have to fiddle with anything, it will just be considered the primary.

I have one other little tip. Sometimes you don't want the laptop monitor on at all, whether it's spanned or mirrored, especially if you want to watch a movie on the larger screen. Well, you could dim the backlight completely, but your desktop is still spanned and that could be inconvenient at times. However, there is a way to trick the computer into thinking you only one display, the external one. To do this, make sure you are using both displays, set the display preferences to mirroring. The laptop will then act as primary display. Now, close the lid and let the computer go to sleep. Once asleep, use an external keyboard, plug in a mouse, or use the remote to bring up front row. The Apple logo on your laptop will flash then turn off, indicating the computer is no longer sleeping and did not find the built in display. At this point you can open the lid again and type and everything without the internal display on. It's kind of a hack to do it this way, but Apple never did build in a method to turn off the laptop display from within the OS, so you have to trick the hardware.

With this method, you can leave the lid closed and use the included remote to watch movies or play music without the need for a mouse or keyboard. But, if you happen to have a bluetooth or USB set, then they will function just fine.

Also, this is important for full screen applications that don't like to use anything other than the primary, ahem (Aperture). Now you can do your full screen editing on the big monitor. Is this cool or what?

[EDIT]
Aperture 2.0 fixes most of my previous complaints and functions with dual monitors wonderfully now!

Also, one minor problem occurs when I connect or disconnect the external monitor. Typically, the dock gets messed up. Part of that is because I have an unconventional dock, it is on the left and weighted to the top instead of center. When I disconnect the monitor, everything moves to the laptop display and sometimes the dock icons are moved around. Try to click on one and you might actually click on another. The fix is simple, run terminal and killall Dock. I have a script in the scripts menu to do it, and a keyboard shortcut using Global Hotkey which I'll talk about at another time.
Apple Feedback

Friday, February 8, 2008

I only want one update to the menubar...

I've said it before, I don't mind, nay, I even like the semi-transparent menubar. Not once have I ever had difficulty reading the menus regardless of what background I'm using. That said, where I really think they need to improve is on what's visible in the menubar. I have a lot of little things running up there, as I add more, they become hidden by the menu of the frontmost application. I think that is horribly annoying. What I'd like to see is the objects in the menubar, particularly text, gets reduced so that everything can fit. Hell, I'd even be good with multiple lines provided it didn't increase the height of the menubar too much. Besides, there appears to be work arounds for most of the problems people find in Leopard, why not this?

[EDIT]
A Macbook Pro has a decent video card installed, such that using an external monitor at a high resolution would cause the menubar to scale down and allow everything to fit. Unfortunately, I don't have a Macbook pro, only the regular Macbook with the lame Intel GPU.

If you agree, please click on the apple feedback link and let apple know.

Apple Feedback