#194 JabRef integration with OS X systems

Next full release
Oliver Kopp
Nicolas Pavillon

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.

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

1 Attachments


  • New OSXAdapter file.

  • Oliver Kopp
    Oliver Kopp

    • 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.

  • Oliver Kopp
    Oliver Kopp

    • status: pending --> closed
  • Oliver Kopp
    Oliver Kopp

    Applied in commit 3af10281, thank you for the patch.