Copyright ©2001-2007 by OCSoftware. All Rights Reserved.
OCSmart Hacks 2.03
Known problems in the current release
Beware that
- in the Power User Help page, the default name for setting the modifiers for the Pop Up Main Menu feature was omitted (I do apologize, I have prepared the final version of the Power User page in a hurry). The default is OCSHPopUpMainMenuModifierMask. If changing, keep in mind that there must be some relatively uncommon modifier combination there, otherwise you won't be able to use the mouse! You can set a zero into the default to disable the feature completely;
- when resizing a window, some constraints (aspect ratio and incrementSize) are ignored. Therefore, sometimes you can see weird effects. E.g., if resizing vertically the Terminal window, a tile might occur at its edge, which ensures the content view is dividable by the line height. No workaround needed: it does not affect the functionality, is just ugly;
- if resizing using the top edge (or any edge with windows which can be moved by any point, like those brush-metal ones), the window sometimes may skip somewhat wildly. The reason is that first the Window Server moves the window (since it is de-facto dragged by its title), and only after that I can bring the window back to the proper place and size. This problem would probably prove uncurable;
- the number of blinks when selecting from a torn-off menu cannot be changed, which is a bit unfortunate for it is somewhat high by default. Currently, no workaround is known;
- some applications seem to be a bit lazy updating some torn-off dynamic menus. Although the problem is known, please report such concrete cases, since so far I haven't been able to find the rules. Currently, no workaround is known;
- normally, after leaving an item which opens a submenu from a torn-off menu, closing of the submenu is slightly delayed to allow you to select items in the submenu easily (which is all right). The problem is that sometimes the delay is not used, forcing you to move the mouse somewhat awkwardly on a reversed-L like path. Workaround: use the mentioned reversed-L like path to stay over the item with the submenu;
- in some pretty rare cases it may happen the menu item "application name ▸ OCSmart Hacks..." does not do anything, and in the console there occurs a report
*** -[NSPlaceholderString initWithFormat:locale:arguments:]: nil string (or other) argument
If so, just please quit and launch the application again. The problem occurs extremely rarely (which is why I haven't been able to fix it in beta releases). Workaround, as said, is to re-launch the application: next time all should work without a glitch. Do please let me know if you happen to find a way to cause this problem to happen;
- if you change the screen resolution (or switch to b&w or back) while some torn-off menus are displayed, they tend to grow horizontally. The workaround is to close the menu and tear it off again.
Other problems in the current release
- in Safari, a torn-off History menu displays only those submenus which were already accessed from the standard horisontal menu bar; others are empty (looks like some a bit too clever way of dynamically populating the menu in Safari);
- some applications may be written in a way which prevents any other party adding items into their menus: the application code may, for example, just enumerate a menu and choke if it finds anything it did not put there itself. An example of such an application is iTeXMac. The only possible fix is to disable tear-off menus for such applications (see the "First Aid" paragraph in the "Power Users" application help page);
- with some OmniWeb 4.x releases, OCSmart Hacks just do not seem to work: they crash as soon as loaded in. It seems OmniWeb tries to do something clever with any class of any loaded bundle (?). It is all right with OmniWeb 5;
- writing a formatted e-mail in Mail application, you can use Set Link... to set a URL link (presumed the HTML services are enabled in Mail). Though, the link will be lost when sending: Mail just ignores the appropriate attribute when it converts the formatted text into MIME to be sent;
- torn-off menus don't at the moment cooperate well with Unsanity's MenuMaster: the MenuMaster hotkeys work, but are not displayed. Well, since keyboard alternatives added via the System Preferences ▸ Keyboard & Mouse ▸ Keyboard Shortcuts are displayed right in OCSmart Hacks (even with dynamically added items like "Save As HTML"), I am afraid the problem would be in Unsanity;
- the keyboard alternatives in torn-off menus are not properly anti-aliased;
- the title of the Scripts menu inside a torn-off main menu differs in different applications, from nice "Scripts" or "User Scripts" to ugly "SCRIPTS_MENU". The title is set up in the application which thinks nobody will ever display it... alas, OCSmart Hacks do ☺
- in the standard Calculator application there is no "Tear Off Main Menu" menu item;
- with torn-off menus, the following warnings are sometimes shown in Console:
*** WARNING: Function _NSSetMenuWindow is obsolete and will be removed in release UserSeed ***
*** WARNING: Function _NSClearMenuWindow is obsolete and will be removed in release UserSeed ***
The problem is in the Apple code: I don't call any of these methods, they get called from other NSMenu stuff internally. Luckily, it works well regardless the warning!
Specific bugs for β.2
- if you save into HTML a document with attachments whose names contain '%', the links in the HTML will not work (since % is a URL metacharacter). Fixed in β.3; current workaround: fix the links and names manually;
- although you can set the torn-off application menu "for all", it will not work, since each application has a different name. The same applies for its submenus (like Services). Fixed in β.3; current workaround: none;
- sometimes, you cannot set a menu which is not torn off "for all" (and in Console there's a complaint of storing a nil into a dictionary). Fixed in β.3; current workaround: not needed, it is harmless;
- you should never try to open the URL Link sheet (via the Set Link... menu command) in more than one window at one time! If you do, the application would go crazy, and will have to be killed (or, as the politically correct term of nowadays says, force quit). Fixed in β.3; current workaround: just don't ever try, close the sheet in one window before opening in another;
- ⌘-right click sometimes selects a wrong window (not the topmost one). Fixed in β.3; current workaround: none;
- you can move drawers and sheets independently on the main window. Fixed in β.3; no workaround needed.
Specific bugs for β.1
- if you try to add or duplicate a HTML preset first time, a bug is reported. Fixed in β.2. Current workaround: create the folder "~/Library/Application Support/cz.ocs.OCSAttributedStringHTMLExtension/Presets" manually;
- when saving to HTML, links are sometimes ignored. Fixed in β.2. Current workaround: none;
- in menus automatically torn off at the launch time, the "Tear Off" item is not disabled. Fixed in β.2. Current workaround: no need, it's not a problem, just ugly;
- even if there is not space enough at the right side of a torn-off menu, a submenu opens there anyway, being off screen (or under Dock). Fixed in β.2. Current workaround: none;
- a very ugly bug in a special situation: if you click (not drag) to open a submenu of a torn-off menu, do not move the menu until the submenu is closed again! If you do, weird things happen (the menu goes out of sync with the mouse position). Fixed in β.2. Current workaround: none;
- ⌘-click to a document title does not open the popup menu with the document path. Fixed in β.2. Current workaround: you must ⌘-click to the document icon;
- for some applications the check whether there is a special code to decide whether an untitled document should be created gives false results. Examples: System Preferences, Terminal. Fixed in β.2. Current workaround: to change the behaviour, check the "About" tab for the application signature, and in Terminal enter
defaults write signature OCSHDontOpenUntitledFile value
where signature is the signature from the "About" tab, and value is 0 for "Yes" (create a document automatically), 1 for "No" (do not create it automatically).
- the "Create Document Automatically" alert is shown even for applications for which you would always want to do that (System Preferences, Help Viewer). This is not a Hacks bug de facto, for these applications just look like standard document-based ones. Nevertheless, β.2 uses a few workarounds, see Release Notes;
- even if disabled, the code, albeit not launched, is nevertheless loaded: with some applications it may cause OCSmart Hacks to work partially even if disabled. Fixed in β.2. Current workaround: none;
- some application may crash when there are torn-off menus to be opened at launch, since they don't stomach a menu displayed before the initialization is finished (example: iChat). Fixed in β.2. Current workaround: either disable tear-off menu support in such applications, or don't leave any menus open in them. If an application cannot be launched due to this problem, the tear-off support can be disabled using the Terminal command
defaults write signature OCSHDisableTearoffMenus YES
where signature is the signature of the offending application. To clear the lists of stored torn-off menus, use the following two commands–the former clears the list for the application with a signature, the latter clears the global list:
defaults delete signature OCSHTornOffMenuList
defaults delete -globalDomain OCSHTornOffMenuList
- OCSmart Hacks may cause some rare applications to hang at launch time (with the dock icon bouncing infinitely, example: the old Apple Clock.app, which is no more part of Mac OS X). Fixed in β.2, current workaround: none;
- in a torn-off application or main menu of a localized application the application name is shown always in English. Fixed in β.2, current workaround: none.
Other problems in β.1
- the "Special Characters..." item of the Edit menu disappears when OCSmart Hacks are installed. This is not a Hacks bug, for it is the standard system code which decides that if there is any Input Manager, the menu item will not be automatically added. Nevertheless, β.2 allows you to force the menu item back. Current workaround: use the "Show Character Palette" item from the keyboard menu;
- the text system adds "http://" to a URL link which does not contain a colon; therefore, you cannot use relative links in TextEdit (and other Cocoa applications). OCSmart Hacks do not fix this, but in β.2 use a workaround allowing you to use relative links in exported HTMLs (see Release Notes);
back to index