Mac Support

From $1
Table of contents

Building MonoDevelop

Detailed instructions for building MonoDevelop on OS X can be found in the following articles:

Building MonoDevelop on OS X

Trunk Builds of the Full Mono/GTK/MD Stack 

However, most users should use the binaries from the Mac Preview download page.

Known Issues

This is a list of known Mac-specific issues in MonoDevelop trunk. Older releases likely have many more known issues, in particular things like non-Mac-like main menus.

Many of these known issues correspond to existing MonoDevelop or GTK+ bugs, but some have not yet been filed. Note that the Mac native GTK+ (Quartz) is relatively immature, and hence many Monodevelop bugs are actually GTK+ issues.

Open GTK+ Quartz bugs can be seen here on GNOME BugZilla.

Open MonoDevelop bugs can be seen on Novell BugZilla.

Packaging and Installation

  • Several unusual bugs may result if the GTK+/GTK# version is not the same version that MD targets, because the immaturity of the Mac GTK+ means that fundamental things like key modifier values can change even in "stable" point releases. NOTE: MD now checks GTK+ version.
  • MD cannot open the MonoDoc help viewer, because Mono on Mac does not ship the MonoDoc GUI. Fixing this will require a GTK-embedded web browser on Mac, or a Cocoa# version of MonoDoc.

Redraw Issues

Key Bindings

  • There is no Visual Studio keybinding scheme for the Mac
  • The keybinding manager cannot capture certain combinations, in particular those that trigger the dialog button mnemonics (Cmd-C, Cmd-O)  [GTK+ bug]
  • Standard GTK+ widgets do not have Mac keybindings [GTK+ bug, patch]
  • Some selection modifiers (Command, Control, Alt) do not match Mac behaviour, e.g.treeview selections.
  • Mac main menu cannot display keybindings with multipress ("Mode"/"Chord") accelerators. Despite not being displayed, these are still functional.

Mac Integration

  • GTK+ theme doesn't look like other Mac apps
  • File selector dialogs (Open/Save/SaveAs/Add) do not use Mac file navigation.
  • Window does not have document icon
  • MonoDevelop Window is SDI, not MDI.
  • Many file associations are missing.
  • MD has a separate recent file/documents list (FreeDesktop ~/.recently-used)
  • Dock icon's menu can't be used to select open documents
  • No detection of file handlers for "Open With" menu.

Misc

  • Control-click doesn't emulate right-click
    [GTK+ bug, patch]
    [Bug 359734 - Control-click doesn't map to right-click]
  • Modal dialogs don't always stay on top [Gtk+ bug and patch]
  • Showing property grid for the first time each session takes several seconds (due to System.Windows.Forms/System.Drawing initialization?).
  • Context menu submenus can display on wrong monitor [MD Bug 501553] [GTK+ bug]
  • Mouse clicks on modal dialog have no effect after using a combobox or anything else that takes a mouse grab.
  • MD maximizes when changing layout or opening files [MD Bug 528068][GTK+ bug]
  • MD cannot restore maximize or fullscreen state correctly between sessions [MD bug 561726] [GTK+ bug]
  • Statusbar renders over the Mac window resize handle. [GTK+ bug]
  • Errors when opening context menus and configuration dropdown on PPC [MD Bug 547894]

 

Source Editor

  • With most fonts, text position shifts when selection changes or bracket-matching is active. Possible due to MD's partial kerning handling, but may also be a [GTK+ bug]
  • With most fonts, mouse-selection in text editor is offset relative to text. Likely the same issue as above.
    [Bug 450329 - Incorrect cursor position during text selection]
  • Doesn't handle multi-press input methods, e.g. Opt-u, u for ü. This is because GTK+  hasn't implemented IM modules for Mac.
  • MD text editor shows dark borders around selected text.
  • MD crashes when using Menlo font [Pango]
  • Text editor crashes when cutting/copying and Launchbar/Quicksilver is handling clipboard.
  • Input methods are not supported, so many languages' characters cannot be input.
  • Tab positions are slightly wrong.
  • Doesn't render when QuartzGL is enabled: [MD Bug 540583][GTK+ bug]

Drag-n-drop

  • Generally buggy, with a lot of unimplemented features needed by the GTK# designer [GTK+ bug #1] [GTK+ bug #2]
  • Shift-drag [GTK+ bug]
  • Drag-n-drop in the solution pad duplicates the item in the pad instead of moving it [GTK+ bug]
  • Drag-n-drop in the solution pad does not show the file icon [GTK-quartz limitation]
  • Drag-n-drop in the text editor does not show a preview of the dragged text [GTK-quartz limitation]
  • Drag-n-drop in the text editor duplicates the text instead of moving it
  • Dragging in text editor shows drop location offset horizontally from mouse position.

Disabled Addins

  • Gettext addin - need more gettext utils installed
  • SVN addin - needs testing, svn binding reportedly very unstable on Mac
  • GtkCore designer - missing drag-n-drop in GTK+, no dllmaps, probably more
  • Database addin - should work now it no longer uses GtkSourceView, but untested
  • Boo binding - boo console uses GtkSourceView. Port or disable this feature.
  • Moonlight/Silverlight - developer libraries not present (also a problem on Linux)
  • Python, Vala, Java - totally untested

Misc Issues

MonoDevelop source editor is extremely slow

Sometimes the MonoDevelop source editor becomes extremely slow, appearing to hang for several seconds between typing characters.This issue is very rare and extremely hard to reproduce - it usually cannot be reproduced on the same machine after restarting MonoDevelop. For this reason we would appreciate it if you could perform several debugging steps before restarting MonoDevelop, and send the results to us.

  1. Try closing the editor tab, and re-opening it. Does it take a little bit of editing or moving the caret around until the slowdown happens again?
  2. Disable "Beam Sync" using the "Quartz Debug" developer tool (which you can find using Spotlight), and check whether the source editor performance is restored to normal.
  3. Try repeating step (1) with Beam Sync still disabled.
  4. If the editor hangs for more than a few seconds, try to run "killall -QUIT monodevelop" in a terminal while it is hung. It may be difficult to time the kill command to happen while the editor is hung, but it's essential to do so, because the command forces Mono to write stack traces of all threads to the MD log, which we can use to discover what state the threads are in while the MD is hung.

Please attach the MD log, ~/.config/MonoDevelop/log (in future versions of MD it is ~/Library/Logs/MonoDevelop/MonoDevelop.log).

NOTE - this is believed to be fixed in SVN. It only affects users on the first MD run, and if they are using the default editor colour scheme.

MonoDevelop complains about Mono 2.4 required

If you updated MonoDevelop due to a recent update, and when you try to start it again it complains about Mono 2.4 not being present, all you have to do is upgrade your Mono 2.4 installation.  

Mono 2.4.2.3_6 fixes some important problems that prevented MonoDevelop from running reliably, sometimes hung MonoDevelop at startup or prevented the code completion database from being generated.

Once you install the new Mono, MonoDevelop will start as expected.

Note that this issue can also manifest wil old MonoDevelop packages and the Mono 2.6 previews. Please update to a MD 2.2 Final and Mono 2.6 Final.

Code Completion is not working in MonoDevelop

Ensure that you are using the latest MonoTouch version of MonoDevelop fromhttp://monodevelop.com/Download/Mac_MonoTouch

If the issue is still present, please file a bug, attaching the "~/.config/MonoDevelop/log" log file.

If all else fails, you can try removing the code completion cache so that it is regenerated:

rm -r ~/.config/MonoDevelop/CodeCompletionData

Be careful that you type this command correctly or you could accidentally remove important files.

MonoDevelop crashes when you copy text

The popular Mac utilities QuickSilver, Google Toolbar and LaunchBar have clipboard features that corrupt MonoDevelop's memory. In their options, you can list MonoDevelop as a process they should not interfere with.

Tag page

Files (0)

 
You must login to post a comment.
Page last modified 18:42, 15 Dec 2009 by M.j.hutchinson