#194 JabRef integration with OS X systems

Next full release
pending
Oliver Kopp
None
5
2012-12-24
2012-12-23
Nicolas Pavillon
No

JabRef employs a deprecated API to interface with OS X systems, in order to activate the Preference Pane, show the About window, etc.

The proposed patch upgrades the code to the latest API, which supposedly uses less resources by having separate listeners for each task instead of a large application listener.

Additionally, a file handler has also been added, so that double-clicked bib files on Mac open on JabRef directly (which is not the case presently). The code was mainly borrowed from the OpenDatabaseAction class.

Use:
- Replace OSXAdapter.java file with the proposed one.
- Apply patch on JabRefFrame.java (diff made from git repo, hash 84623425fbb83de79cb3d608e1e5861df0e1fd46)

1 Attachments

Discussion

  • New OSXAdapter file.

     
    Attachments
  • Oliver Kopp
    Oliver Kopp
    2012-12-23

    • status: open --> pending
    • assigned_to: Oliver Kopp
     
  • The message from Apple concerning Java is rather contradictory, as the Apple-distributed JRE has been deprecated several years ago, while it is still distributed on their latest systems.
    Similarly, the OSXAdapter is announced as deprecated, but the latest Java guidelines for Mac OSX integration (referenced in the above reply) say:
    "The next step to customizing your application menu is to have your own handling code called when certain items in the application menu are chosen. Apple provides functionality for this in the com.apple.eawt.* Java classes. The Application and ApplicationAdaptor classes provide a way to handle the Preferences, About, and Quit items."

    The OSXAdapter file uses exactly this package with the non-deprecated API.