summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pcr/gnome-rdp/PKGBUILD27
-rw-r--r--pcr/gnome-rdp/appindicator.patch498
2 files changed, 267 insertions, 258 deletions
diff --git a/pcr/gnome-rdp/PKGBUILD b/pcr/gnome-rdp/PKGBUILD
index c8f92134a..eb514675a 100644
--- a/pcr/gnome-rdp/PKGBUILD
+++ b/pcr/gnome-rdp/PKGBUILD
@@ -1,17 +1,21 @@
-# Contributor (Arch): György Balló <ballogy@freestart.hu>
-# Contributor (Arch): Hyperair <hyperair@gmail.com>
-# Contributor (Arch): kumico <norrian@gmail.com>
-# Contributor (Arch): adamruss <mail@russ.co.il>
+# Maintainer (AUR): Wayne Hartmann (DH4) <wayne@bitstorm.pw>
+# Contributor (AUR): György Balló <ballogy@freestart.hu>
+# Contributor (AUR): Hyperair <hyperair@gmail.com>
+# Contributor (AUR): kumico <norrian@gmail.com>
+# Contributor (AUR): adamruss <mail@russ.co.il>
# Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.io>
+# parabola changes and rationale:
+# no changes.
+
pkgname=gnome-rdp
pkgver=0.3.1.0
-pkgrel=1
+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')
+depends=('gtk-sharp-2' 'gnome-keyring-sharp' 'mono')
optdepends=('openssh: SSH client'
'gnome-terminal: required for the SSH client'
'rdesktop: RDP client'
@@ -19,7 +23,7 @@ optdepends=('openssh: SSH client'
source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz
appindicator.patch)
md5sums=('3c1329702914f8b1c213c0bb00d078cf'
- '7bbe98eadfe199c5664fd69a4531fb3d')
+ '480c69cab53fa79a015d0f2b7e1df9c4')
build() {
cd "$srcdir/$pkgname-$pkgver"
@@ -29,6 +33,10 @@ build() {
sed -i 's|@expanded_libdir@|@prefix@/@libdir@|' gnome-rdp.in
autoreconf -fi
+ sed -i 's|GMCS|DMCS|g' configure
+ sed -i 's|gmcs|dmcs|g' configure
+ sed -i 's|GMCS|DMCS|g' Makefile.in
+ sed -i 's|gmcs|dmcs|g' Makefile.in
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
make
}
@@ -41,6 +49,7 @@ package() {
# 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"
}
-md5sums=('3c1329702914f8b1c213c0bb00d078cf'
- '7bbe98eadfe199c5664fd69a4531fb3d')
diff --git a/pcr/gnome-rdp/appindicator.patch b/pcr/gnome-rdp/appindicator.patch
index 4cb4d7a65..2f5f6cda5 100644
--- a/pcr/gnome-rdp/appindicator.patch
+++ b/pcr/gnome-rdp/appindicator.patch
@@ -1,249 +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)
- {
+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)
+ {