Peerfeeds on Mono
Peerfeeds currently only runs on Windows. I want to make it compatible with the Mono framework in order to get it compiling and running on Linux as well as Windows. In order to do so, some code might need to be rewritten, and this page is here to collect these changes in order to more easily implement them.
Specific issues
There are currently no known general issues.
Mono Migration Analyzer (MoMa) analysis
Made on Peerfeeds 1.04
Methods missing from Mono
| Calling Method | Method not yet in Mono |
| Class Peerfeeds.Peerfeeds: | |
| void InitializeComponent() | void NotifyIcon.add_MouseDoubleClick(MouseEventHandler) |
| void notifyIcon_MouseDoubleClick(Object, MouseEventArgs) | string NotifyIcon.get_BalloonTipText() |
| void notifyIcon_MouseDoubleClick(Object, MouseEventArgs) | void NotifyIcon.ShowBalloonTip(int) |
| void MenuShowStatus(Object, EventArgs) | string NotifyIcon.get_BalloonTipText() |
| void MenuShowStatus(Object, EventArgs) | void NotifyIcon.ShowBalloonTip(int) |
| void MenuShowErrors(Object, EventArgs) | string NotifyIcon.get_BalloonTipTitle() |
| void MenuShowErrors(Object, EventArgs) | string NotifyIcon.get_BalloonTipText() |
| void MenuShowErrors(Object, EventArgs) | ToolTipIcon NotifyIcon.get_BalloonTipIcon() |
| void SetBalloonTip(string, string, ToolTipIcon) | void NotifyIcon.set_BalloonTipTitle(string) |
| void SetBalloonTip(string, string, ToolTipIcon) | void NotifyIcon.set_BalloonTipText(string) |
| void SetBalloonTip(string, string, ToolTipIcon) | void NotifyIcon.set_BalloonTipIcon(ToolTipIcon) |
| void ShowBalloonTip() | void NotifyIcon.ShowBalloonTip(int) |
P/Invokes into native code
| Calling Method | P/Invoke Method | External DLL |
| Class Peerfeeds.Peerfeeds/Win32: | | |
| uint GetIdleTime() | bool GetLastInputInfo(Peerfeeds/LASTINPUTINFO&) | User32.dll |
Comment: All of these missing methods are basically related to the showing of statusmessages in the "balloon-form" down in the systray. These can be easily eliminated on Mono since there isn't a clear equivalent on Linux.