diff options
author | Wayne Hartmann | 2015-09-15 18:14:34 -0500 |
---|---|---|
committer | Wayne Hartmann | 2015-09-15 18:14:34 -0500 |
commit | daff1fed500bd4cf69d55356e70362393036798b (patch) | |
tree | 80d082077651aa6b15888fffb55338381db89451 | |
download | aur-daff1fed500bd4cf69d55356e70362393036798b.tar.gz |
Initial import
-rw-r--r-- | .SRCINFO | 21 | ||||
-rw-r--r-- | PKGBUILD | 47 | ||||
-rw-r--r-- | appindicator.patch | 249 |
3 files changed, 317 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..971f6b461959 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,21 @@ +pkgbase = gnome-rdp + pkgdesc = Remote desktop client for the GNOME Desktop with RDP/VNC/SSH capabilities, written in C Sharp + pkgver = 0.3.1.0 + pkgrel = 3 + url = http://sourceforge.net/projects/gnome-rdp/ + arch = any + license = GPL + license = LGPL + depends = gtk-sharp-2 + depends = gnome-keyring-sharp + optdepends = openssh: SSH client + optdepends = gnome-terminal: required for the SSH client + optdepends = rdesktop: RDP client + optdepends = tightvnc: VNC client + source = http://downloads.sourceforge.net/gnome-rdp/gnome-rdp-0.3.1.0.tar.gz + source = appindicator.patch + md5sums = 3c1329702914f8b1c213c0bb00d078cf + md5sums = 7bbe98eadfe199c5664fd69a4531fb3d + +pkgname = gnome-rdp + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..f4977d43c106 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,47 @@ +# Maintainer: Wayne Hartmann <teodh4@gmail.com> +# Contributor: György Balló <ballogy@freestart.hu> +# Contributor: Hyperair <hyperair@gmail.com> +# Contributor: kumico <norrian@gmail.com> +# Contributor: adamruss <mail@russ.co.il> + +pkgname=gnome-rdp +pkgver=0.3.1.0 +pkgrel=3 +pkgdesc="Remote desktop client for the GNOME Desktop with RDP/VNC/SSH capabilities, written in C Sharp" +arch=('any') +url="http://sourceforge.net/projects/gnome-rdp/" +license=('GPL' 'LGPL') +depends=('gtk-sharp-2' 'gnome-keyring-sharp') +optdepends=('openssh: SSH client' + 'gnome-terminal: required for the SSH client' + 'rdesktop: RDP client' + 'tightvnc: VNC client') +source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz + appindicator.patch) +md5sums=('3c1329702914f8b1c213c0bb00d078cf' + '7bbe98eadfe199c5664fd69a4531fb3d') + +build() { + cd "$srcdir/$pkgname-$pkgver" + sed -i 's/tight-vncviewer/vncviewer/' Sessions/SessionCollection.cs + patch -R -Np3 -i "$srcdir/appindicator.patch" + sed -i 's/pkglib_SCRIPTS/programfiles_SCRIPTS/' Makefile.include + sed -i 's|@expanded_libdir@|@prefix@/@libdir@|' gnome-rdp.in + + autoreconf -fi + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + + make DESTDIR="$pkgdir/" install + + # Install desktop and icon files + install -Dm644 Menu/$pkgname.desktop "$pkgdir/usr/share/applications/$pkgname.desktop" + install -Dm644 Menu/$pkgname.png "$pkgdir/usr/share/pixmaps/$pkgname.png" + + # Runtime work-around + sed -i "s|exec mono.*|exec mono \-\-runtime\=v4\.0 \"\/usr\/\$\{exec\_prefix\}\/lib\/gnome\-rdp\/gnome\-rdp\.exe\" \"\$\@\"|g" "$pkgdir/usr/bin/gnome-rdp" +} diff --git a/appindicator.patch b/appindicator.patch new file mode 100644 index 000000000000..2f5f6cda5e4e --- /dev/null +++ b/appindicator.patch @@ -0,0 +1,249 @@ +Index: /trunk/gnome-rdp/configure.ac +=================================================================== +--- /trunk/gnome-rdp/configure.ac (revision 263) ++++ /trunk/gnome-rdp/configure.ac (revision 264) +@@ -50,6 +50,7 @@ + PKG_CHECK_MODULES([GLIB_SHARP_20], [glib-sharp-2.0]) + PKG_CHECK_MODULES([GLADE_SHARP_20], [glade-sharp-2.0]) + PKG_CHECK_MODULES([GNOME_KEYRING_SHARP_10], [gnome-keyring-sharp-1.0]) ++PKG_CHECK_MODULES([APPINDICATOR_SHARP_01], [appindicator-sharp-0.1]) + + dnl package checks, per config + +Index: /trunk/gnome-rdp/MainWindow.cs +=================================================================== +--- /trunk/gnome-rdp/MainWindow.cs (revision 257) ++++ /trunk/gnome-rdp/MainWindow.cs (revision 264) +@@ -31,14 +31,18 @@ + using GnomeRDP.Vnc; + ++using AppIndicator; ++ + namespace GnomeRDP + { + public partial class MainWindow: Gtk.Window + { +- private StatusIcon statusIcon; ++ private ApplicationIndicator applicationIndicator; + private Gtk.Action actionQuit; ++ private Gtk.Action actionToggleVisible; ++ private bool hideOnDelete = false; + + private const string sessionKey = "Session"; + +- public MainWindow(): base (Gtk.WindowType.Toplevel) ++ public MainWindow (): base (Gtk.WindowType.Toplevel) + { + Build (); +@@ -46,72 +50,80 @@ + this.DeleteEvent += (s, e) => + { +- Visible = false; +- e.RetVal = true; ++ if (hideOnDelete) ++ { ++ Visible = false; ++ e.RetVal = true; ++ } + }; + +- this.actionQuit = new Gtk.Action("QuitAction", "Quit"); +- this.actionQuit.Activated+= (s, e) => Application.Quit(); ++ this.actionQuit = new Gtk.Action ("QuitAction", "Quit"); ++ this.actionQuit.Activated += (s, e) => Application.Quit (); ++ ++ this.actionToggleVisible = new Gtk.Action("ToggleVisibleAction", "Show/Hide"); ++ this.actionToggleVisible.Activated += (s, e) => { this.Visible = !this.Visible; }; ++ ++ this.applicationIndicator = new ApplicationIndicator ("gnome-rdp", "gnome-rdp", Category.ApplicationStatus); ++ this.applicationIndicator.ConnectionChanged += (s, e) => { hideOnDelete = this.applicationIndicator.Connected; }; + +- this.statusIcon = new StatusIcon(ResourceLoader.Find(ResourceLoader.Icons.gnomeRdp)); +- this.statusIcon.Visible = true; +- this.statusIcon.Tooltip = "GnomeRDP"; +- this.statusIcon.Activate += OnStatusIcon_Activate; +- this.statusIcon.PopupMenu += OnStatusIcon_PopupMenu; +- ++ this.applicationIndicator.Menu = CreateMenu(); ++ this.applicationIndicator.Status = Status.Active; ++ + this.Icon = ResourceLoader.Find(ResourceLoader.Icons.gnomeRdp); + } +- +- private void OnStatusIcon_Activate(object sender, EventArgs e) ++ ++ public void UpdateMenu() + { +- Visible = !Visible; ++ Menu oldMenu = this.applicationIndicator.Menu; ++ ++ this.applicationIndicator.Menu = CreateMenu(); ++ ++ oldMenu.Dispose(); + } +- +- private void OnStatusIcon_PopupMenu(object sender, PopupMenuArgs e) ++ ++ private Menu CreateMenu() + { +- try +- { +- Menu topMenu = new Menu(); +- topMenu.Popup(); ++ Menu topMenu = new Menu(); ++ ++ topMenu.Append(actionToggleVisible.CreateMenuItem()); ++ topMenu.Append(new SeparatorMenuItem()); + +- foreach (var group in Program.SessionCollection.Groups) +- { +- MenuItem groupMenu = new MenuItem(group); +- topMenu.Append(groupMenu); +- +- Menu subMenu = new Menu(); +- foreach(var session in Program.SessionCollection.Items.Where(s => s.Group == group).OrderBy(s => s.Server)) +- { +- MenuItem menuItem = new MenuItem(session.MenuFormat); +- menuItem.TooltipText = session.Tooltip; +- menuItem.Activated += PopupMenuItem_Activated; +- menuItem.Data[sessionKey] = session; +- +- subMenu.Append(menuItem); +- } +- groupMenu.Submenu = subMenu; +- } +- +- topMenu.Append(new SeparatorMenuItem()); +- +- foreach (var session in Program.SessionCollection.Items.Where(s => string.IsNullOrEmpty(s.Group)).OrderBy(s => s.Server)) ++ foreach (var group in Program.SessionCollection.Groups) ++ { ++ MenuItem groupMenu = new MenuItem(group); ++ ++ Menu subMenu = new Menu(); ++ foreach(var session in Program.SessionCollection.Items.Where(s => s.Group == group).OrderBy(s => s.Server)) + { + MenuItem menuItem = new MenuItem(session.MenuFormat); + menuItem.TooltipText = session.Tooltip; + menuItem.Activated += PopupMenuItem_Activated; +- menuItem.Data[sessionKey] = session; +- +- topMenu.Append(menuItem); ++ menuItem.Data[sessionKey] = session; ++ ++ subMenu.Append(menuItem); + } ++ groupMenu.Submenu = subMenu; ++ ++ topMenu.Append(groupMenu); ++ } ++ ++ topMenu.Append(new SeparatorMenuItem()); ++ ++ foreach (var session in Program.SessionCollection.Items.Where(s => string.IsNullOrEmpty(s.Group)).OrderBy(s => s.Server)) ++ { ++ MenuItem menuItem = new MenuItem(session.MenuFormat); ++ menuItem.TooltipText = session.Tooltip; ++ menuItem.Activated += PopupMenuItem_Activated; ++ menuItem.Data[sessionKey] = session; + +- topMenu.Append(new SeparatorMenuItem()); +- topMenu.Append(actionQuit.CreateMenuItem()); +- topMenu.ShowAll(); +-// topMenu.Popup(); ++ topMenu.Append(menuItem); + } +- catch +- { +- } +- } +- ++ ++ topMenu.Append(new SeparatorMenuItem()); ++ topMenu.Append(actionQuit.CreateMenuItem()); ++ ++ topMenu.ShowAll(); ++ return topMenu; ++ } ++ + private void PopupMenuItem_Activated(object sender, EventArgs e) + { +@@ -126,20 +138,4 @@ + } + } +- +- protected virtual void OnNewRdpActionActivated (object sender, System.EventArgs e) +- { +- } +- +- protected virtual void OnNewVncActionActivated (object sender, System.EventArgs e) +- { +- } +- +- protected virtual void OnNewSshActionActivated (object sender, System.EventArgs e) +- { +- } +- +- +- +- + } + } +Index: /trunk/gnome-rdp/ChangeLog +=================================================================== +--- /trunk/gnome-rdp/ChangeLog (revision 262) ++++ /trunk/gnome-rdp/ChangeLog (revision 264) +@@ -1,2 +1,11 @@ ++2011-11-02 James P Michels III <jmichels@bluefintrading.com> ++ ++ * Program.cs: ++ * gnome-rdp.sln: ++ * MainWindow.cs: ++ * gnome-rdp.csproj: ++ * gui.stetic: ++ * SessionsWidget.cs: Changes to support AppIndicator ++ + 2011-05-22 James P Michels III <james.p.michels@gmail.com> + +Index: /trunk/gnome-rdp/Sessions/SessionsWidget.cs +=================================================================== +--- /trunk/gnome-rdp/Sessions/SessionsWidget.cs (revision 257) ++++ /trunk/gnome-rdp/Sessions/SessionsWidget.cs (revision 264) +@@ -205,4 +205,5 @@ + } + ++ Program.UpdateMainWindowMenu(); + } + catch (Exception ex) +Index: /trunk/gnome-rdp/gtk-gui/gui.stetic +=================================================================== +--- /trunk/gnome-rdp/gtk-gui/gui.stetic (revision 261) ++++ /trunk/gnome-rdp/gtk-gui/gui.stetic (revision 264) +@@ -7,5 +7,6 @@ + <import> + <widget-library name="glade-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" /> +- <widget-library name="../bin/Debug/gnome-rdp.exe" internal="true" /> ++ <widget-library name="appindicator-sharp, Version=0.2.0.0, Culture=neutral, PublicKeyToken=bcae265d1c7ab4c2" /> ++ <widget-library name="../bin/Release/gnome-rdp.exe" internal="true" /> + </import> + <widget class="Gtk.Window" id="GnomeRDP.MainWindow" design-size="798 565"> +Index: /trunk/gnome-rdp/Program.cs +=================================================================== +--- /trunk/gnome-rdp/Program.cs (revision 261) ++++ /trunk/gnome-rdp/Program.cs (revision 264) +@@ -196,5 +196,14 @@ + }); + } +- ++ ++ public static void UpdateMainWindowMenu() ++ { ++ GLib.Timeout.Add(0, () => ++ { ++ mainWindow.UpdateMenu(); ++ return false; ++ }); ++ } ++ + public static void SetMainWindowVisible(bool visible) + { |