gnome/gnome-session 2.28.0
authoryselkowitz <yselkowitz@e127d73d-b18e-4ae1-a744-a22e6a3ccd30>
Sun, 1 Nov 2009 09:18:32 +0000 (09:18 +0000)
committeryselkowitz <yselkowitz@e127d73d-b18e-4ae1-a744-a22e6a3ccd30>
Sun, 1 Nov 2009 09:18:32 +0000 (09:18 +0000)
git-svn-id: https://cygwin-ports.svn.sourceforge.net/svnroot/cygwin-ports/ports/trunk@8018 e127d73d-b18e-4ae1-a744-a22e6a3ccd30

2.28-devicekit-power.patch [new file with mode: 0644]
README
gnome-session-2.26.2-1.cygport [deleted file]
gnome-session-2.28.0-1.cygport [new file with mode: 0644]
setup.hint

diff --git a/2.28-devicekit-power.patch b/2.28-devicekit-power.patch
new file mode 100644 (file)
index 0000000..ee05489
--- /dev/null
@@ -0,0 +1,188 @@
+--- origsrc/gnome-session-2.28.0/configure.in  2009-09-08 19:21:06.000000000 -0500
++++ src/gnome-session-2.28.0/configure.in      2009-11-01 02:20:09.259630100 -0600
+@@ -53,9 +53,17 @@ PKG_CHECK_MODULES(GNOME_SESSION,
+         gio-2.0 >= $GLIB_REQUIRED
+         gtk+-2.0 >= $GTK_REQUIRED
+         dbus-glib-1 >= $DBUS_GLIB_REQUIRED
+-        devkit-power-gobject >= $DEVKIT_POWER_REQUIRED
+ )
++PKG_CHECK_MODULES(DEVKIT_POWER,
++        devkit-power-gobject >= $DEVKIT_POWER_REQUIRED,
++        have_devkit_power=true,
++        have_devkit_power=false
++)
++if test "$have_devkit_power" = true; then
++  AC_DEFINE(WITH_DEVKIT_POWER, 1, [Set to 1 if devkit-power-gobject is available.])
++fi
++
+ PKG_CHECK_MODULES(SESSION_PROPERTIES,
+         glib-2.0 >= $GLIB_REQUIRED
+         gtk+-2.0 >= $GTK_REQUIRED
+--- origsrc/gnome-session-2.28.0/gnome-session/gsm-logout-dialog.c     2009-08-25 03:03:42.000000000 -0500
++++ src/gnome-session-2.28.0/gnome-session/gsm-logout-dialog.c 2009-11-01 02:15:14.949516900 -0600
+@@ -27,7 +27,9 @@
+ #include <glib/gi18n.h>
+ #include <gtk/gtk.h>
++#ifdef WITH_DEVKIT_POWER
+ #include <devkit-power-gobject/devicekit-power.h>
++#endif
+ #include "gsm-logout-dialog.h"
+ #include "gsm-consolekit.h"
+@@ -50,7 +52,9 @@ struct _GsmLogoutDialogPrivate
+ {
+         GsmDialogLogoutType  type;
++#ifdef WITH_DEVKIT_POWER
+         DkpClient           *dkp_client;
++#endif
+         GsmConsolekit       *consolekit;
+         int                  timeout;
+@@ -142,7 +146,9 @@ gsm_logout_dialog_init (GsmLogoutDialog 
+         gtk_window_set_keep_above (GTK_WINDOW (logout_dialog), TRUE);
+         gtk_window_stick (GTK_WINDOW (logout_dialog));
++#ifdef WITH_DEVKIT_POWER
+         logout_dialog->priv->dkp_client = dkp_client_new ();
++#endif
+         logout_dialog->priv->consolekit = gsm_get_consolekit ();
+@@ -166,10 +172,12 @@ gsm_logout_dialog_destroy (GsmLogoutDial
+                 logout_dialog->priv->timeout_id = 0;
+         }
++#ifdef WITH_DEVKIT_POWER
+         if (logout_dialog->priv->dkp_client) {
+                 g_object_unref (logout_dialog->priv->dkp_client);
+                 logout_dialog->priv->dkp_client = NULL;
+         }
++#endif
+         if (logout_dialog->priv->consolekit) {
+                 g_object_unref (logout_dialog->priv->consolekit);
+@@ -182,21 +190,29 @@ gsm_logout_dialog_destroy (GsmLogoutDial
+ static gboolean
+ gsm_logout_supports_system_suspend (GsmLogoutDialog *logout_dialog)
+ {
++#ifdef WITH_DEVKIT_POWER
+         gboolean ret;
+         g_object_get (logout_dialog->priv->dkp_client,
+                       "can-suspend", &ret,
+                       NULL);
+         return ret;
++#else
++        return FALSE;
++#endif
+ }
+ static gboolean
+ gsm_logout_supports_system_hibernate (GsmLogoutDialog *logout_dialog)
+ {
++#ifdef WITH_DEVKIT_POWER
+         gboolean ret;
+         g_object_get (logout_dialog->priv->dkp_client,
+                       "can-hibernate", &ret,
+                       NULL);
+         return ret;
++#else
++        return FALSE;
++#endif
+ }
+ static gboolean
+--- origsrc/gnome-session-2.28.0/gnome-session/gsm-manager.c   2009-09-18 11:36:04.000000000 -0500
++++ src/gnome-session-2.28.0/gnome-session/gsm-manager.c       2009-11-01 02:28:48.210134900 -0600
+@@ -38,7 +38,9 @@
+ #include <dbus/dbus-glib.h>
+ #include <dbus/dbus-glib-lowlevel.h>
++#ifdef WITH_DEVKIT_POWER
+ #include <devkit-power-gobject/devicekit-power.h>
++#endif
+ #include <gtk/gtk.h> /* for logout dialog */
+ #include <gconf/gconf-client.h>
+@@ -134,8 +136,10 @@ struct GsmManagerPrivate
+         DBusGProxy             *bus_proxy;
+         DBusGConnection        *connection;
++#ifdef WITH_DEVKIT_POWER
+         /* Interface with other parts of the system */
+         DkpClient              *dkp_client;
++#endif
+ };
+ enum {
+@@ -971,6 +975,7 @@ manager_perhaps_lock (GsmManager *manage
+ static void
+ manager_attempt_hibernate (GsmManager *manager)
+ {
++#ifdef WITH_DEVKIT_POWER
+         gboolean  can_hibernate;
+         GError   *error;
+         gboolean  ret;
+@@ -992,11 +997,13 @@ manager_attempt_hibernate (GsmManager *m
+                         g_error_free (error);
+                 }
+         }
++#endif
+ }
+ static void
+ manager_attempt_suspend (GsmManager *manager)
+ {
++#ifdef WITH_DEVKIT_POWER
+         gboolean  can_suspend;
+         GError   *error;
+         gboolean  ret;
+@@ -1018,6 +1025,7 @@ manager_attempt_suspend (GsmManager *man
+                         g_error_free (error);
+                 }
+         }
++#endif
+ }
+ static void
+@@ -2190,10 +2198,12 @@ gsm_manager_dispose (GObject *object)
+                 manager->priv->gconf_client = NULL;
+         }
++#ifdef WITH_DEVKIT_POWER
+         if (manager->priv->dkp_client != NULL) {
+                 g_object_unref (manager->priv->dkp_client);
+                 manager->priv->dkp_client = NULL;
+         }
++#endif
+         G_OBJECT_CLASS (gsm_manager_parent_class)->dispose (object);
+ }
+@@ -2423,7 +2433,9 @@ gsm_manager_init (GsmManager *manager)
+                           G_CALLBACK (on_presence_status_changed),
+                           manager);
++#ifdef WITH_DEVKIT_POWER
+         manager->priv->dkp_client = dkp_client_new ();
++#endif
+         /* GConf setup */
+         gconf_client_add_dir (manager->priv->gconf_client,
+@@ -2947,10 +2959,15 @@ gsm_manager_can_shutdown (GsmManager *ma
+         gboolean can_suspend;
+         gboolean can_hibernate;
++#ifdef WITH_DEVKIT_POWER
+         g_object_get (manager->priv->dkp_client,
+                       "can-suspend", &can_suspend,
+                       "can-hibernate", &can_hibernate,
+                       NULL);
++#else
++        can_suspend = FALSE;
++        can_hibernate = FALSE;
++#endif
+         g_debug ("GsmManager: CanShutdown called");
diff --git a/README b/README
index 7b44c7e06e78f89f613c71e7778cd329c1736213..851c474041fcc69974b064fd1e6ed74e3a21bb00 100644 (file)
--- a/README
+++ b/README
@@ -22,39 +22,37 @@ Any arguments to startgnome will be passed to xinit, for example:
        startgnome -clipboard -nodecoration -unixkill
 
 Runtime requirements:
-  cygwin-1.7.0-50
-  at-spi-1.26.0-1
+  cygwin-1.7.0-62
   libdbus-glib_1_2-0.80-10
-  libdbus1_3-1.2.14-1
-  libgcc1-4.3.2-2
-  libgconf2_4-2.26.2-1
-  libgdk_pixbuf2.0_0-2.16.3-1
-  libglade2.0_0-2.6.4-1
-  libglib2.0_0-2.20.4-1
-  libgtk2.0_0-2.16.3-1
-  libICE6-1.0.5-10
+  libdbus1_3-1.2.16-1
+  libgcc1-4.3.4-1
+  libgconf2_4-2.28.0-1
+  libgdk_pixbuf2.0_0-2.18.3-1
+  libglib2.0_0-2.22.2-1
+  libgtk2.0_0-2.18.3-1
+  libICE6-1.0.6-1
   libintl8-0.17-11
-  libpango1.0_0-1.24.3-1
-  libSM6-1.1.0-10
+  libpango1.0_0-1.26.0-1
+  libSM6-1.1.1-1
   libstartup-notification1_0-0.10-1
-  libX11_6-1.2.1-1
-  libXau6-1.0.4-10
-  libXext6-1.0.5-10
-  libXrender1-0.9.4-10
-  libXtst6-1.0.3-10
+  libX11_6-1.3.2-1
+  libXau6-1.0.5-1
+  libXext6-1.1.1-1
+  libXrender1-0.9.5-1
+  libXtst6-1.1.0-1
 
 Build requirements:
 (besides corresponding -devel packages)
   autoconf2.5-2.63-10
-  automake1.10-1.10.2-10
-  binutils-20080624-2
-  cygport-0.9.7-1
-  gawk-3.1.6-2
-  gcc4-core-4.3.2-2
+  automake1.11-1.11-10
+  binutils-2.19.51-1
+  cygport-0.9.10-1
+  gawk-3.1.7-1
+  gcc4-core-4.3.4-1
   gettext-devel-0.17-11
-  gnome-common-2.26.0-2
+  gnome-common-2.28.0-1
   intltool-0.40.6-1
-  libtool-2.2.7a-13
+  libtool-2.2.7a-14
   make-3.81-2
   pkg-config-0.23b-10
   sed-4.1.5-2
@@ -68,155 +66,23 @@ Canonical download:
 -------------------------------------------
 
 Build instructions:
-  unpack gnome-session-2.26.2-1-src.tar.bz2
+  unpack gnome-session-2.28.0-1-src.tar.bz2
     if you use setup to install this src package, it will be
         unpacked under /usr/src automatically
   cd /usr/src
-  cygport ./gnome-session-2.26.2-1.cygport all
+  cygport ./gnome-session-2.28.0-1.cygport all
 
 This will create:
-  /usr/src/gnome-session-2.26.2-1-src.tar.bz2
-  /usr/src/gnome-session-2.26.2-1.tar.bz2
+  /usr/src/gnome-session-2.28.0-1-src.tar.bz2
+  /usr/src/gnome-session-2.28.0-1.tar.bz2
 
 -------------------------------------------
 
-Files included in the binary package:
-
-  /etc/gconf/schemas/gnome-session.schemas
-  /etc/postinstall/gnome-session.sh
-  /etc/preremove/gnome-session.sh
-  /etc/xdg/autostart/at-spi-registryd-wrapper.desktop
-  /etc/xdg/autostart/gnome-settings-daemon-helper.desktop
-  /usr/bin/gnome-session-properties.exe
-  /usr/bin/gnome-session-save.exe
-  /usr/bin/gnome-session.exe
-  /usr/bin/gnome-wm
-  /usr/lib/gnome-session/helpers/at-spi-registryd-wrapper.exe
-  /usr/lib/gnome-session/helpers/gnome-session-splash.exe
-  /usr/lib/gnome-session/helpers/gnome-settings-daemon-helper.exe
-  /usr/share/applications/session-properties.desktop
-  /usr/share/doc/gnome-session/AUTHORS
-  /usr/share/doc/gnome-session/COPYING
-  /usr/share/doc/gnome-session/COPYING.LIB
-  /usr/share/doc/gnome-session/ChangeLog
-  /usr/share/doc/gnome-session/NEWS
-  /usr/share/doc/gnome-session/README
-  /usr/share/doc/gnome-session/dbus/gnome-session.html
-  /usr/share/gnome-session/gsm-inhibit-dialog.glade
-  /usr/share/gnome-session/session-properties.glade
-  /usr/share/gnome/autostart/gnome-session-splash.desktop
-  /usr/share/icons/hicolor/16x16/apps/session-properties.png
-  /usr/share/icons/hicolor/22x22/apps/session-properties.png
-  /usr/share/icons/hicolor/24x24/apps/session-properties.png
-  /usr/share/icons/hicolor/32x32/apps/session-properties.png
-  /usr/share/icons/hicolor/48x48/apps/session-properties.png
-  /usr/share/icons/hicolor/scalable/apps/session-properties.svg
-  /usr/share/locale/af/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/am/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/ar/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/as/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/ast/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/az/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/be/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/be@latin/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/bg/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/bn/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/bn_IN/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/bs/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/ca/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/crh/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/cs/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/cy/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/da/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/de/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/dz/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/el/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/en_CA/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/en_GB/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/eo/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/es/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/et/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/eu/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/fa/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/fi/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/fr/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/fur/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/ga/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/gl/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/gu/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/ha/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/he/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/hi/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/hr/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/hu/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/hy/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/id/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/ig/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/is/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/it/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/ja/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/ka/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/kn/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/ko/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/ku/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/lt/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/lv/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/mg/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/mi/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/mk/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/ml/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/mn/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/mr/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/ms/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/nb/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/ne/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/nl/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/nn/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/nso/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/oc/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/or/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/pa/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/pl/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/ps/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/pt/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/pt_BR/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/ro/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/ru/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/rw/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/si/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/sk/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/sl/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/sq/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/sr/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/sr@latin/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/sv/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/ta/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/te/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/th/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/tk/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/tr/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/uk/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/uz/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/uz@cyrillic/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/vi/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/wa/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/xh/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/yo/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/zh_CN/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/zh_HK/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/zh_TW/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/locale/zu/LC_MESSAGES/gnome-session-2.0.mo
-  /usr/share/man/man1/gnome-session-properties.1.gz
-  /usr/share/man/man1/gnome-session-save.1.gz
-  /usr/share/man/man1/gnome-session.1.gz
-  /usr/share/man/man1/gnome-wm.1.gz
-  /usr/share/pixmaps/splash/gnome-splash.png
-  /usr/share/xsessions/gnome.desktop
-
-------------------
-
 Port Notes:
 
+----- version 2.28.0-1 -----
+Version bump for GNOME 2.28.
+
 ----- version 2.26.2-1 -----
 Version bump.
 
diff --git a/gnome-session-2.26.2-1.cygport b/gnome-session-2.26.2-1.cygport
deleted file mode 100644 (file)
index d22322c..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-inherit gnome2
-
-DESCRIPTION="GNOME session manager"
-
-DIFF_EXCLUDES="man"
-
-CYGCONF_ARGS="
-       --with-at-spi-registryd-directory=/usr/lib/at-spi
-       --with-window-manager=metacity
-"
diff --git a/gnome-session-2.28.0-1.cygport b/gnome-session-2.28.0-1.cygport
new file mode 100644 (file)
index 0000000..250fe36
--- /dev/null
@@ -0,0 +1,9 @@
+inherit gnome2
+
+DESCRIPTION="GNOME session manager"
+
+PATCH_URI="2.28-devicekit-power.patch"
+
+DIFF_EXCLUDES="man"
+
+CYGCONF_ARGS="--with-default-wm=metacity --enable-splash"
index e6a3e2f25cd5c778bbd97cebbe005f4e56aca2cd..6b952fb59a38b8040fe244248a3f9933b52a548b 100644 (file)
@@ -1,5 +1,5 @@
 category: Gnome X11
-requires: GConf2 at-spi libdbus-glib_1_2 libdbus1_3 libgconf2_4 libgdk_pixbuf2.0_0 libglade2.0_0 libglib2.0_0 libgtk2.0_0 libICE6 libintl8 libpango1.0_0 libSM6 libstartup-notification1_0 libX11_6 libXau6 libXext6 libXrender1 libXtst6 esound gnome-control-center gnome-desktop gnome-icon-theme gnome-panel gnome-settings-daemon metacity nautilus xscreensaver
+requires: GConf2 at-spi libdbus-glib_1_2 libdbus1_3 libgconf2_4 libgdk_pixbuf2.0_0 libglib2.0_0 libgtk2.0_0 libICE6 libintl8 libpango1.0_0 libSM6 libstartup-notification1_0 libX11_6 libXau6 libXext6 libXrender1 libXtst6 esound gnome-control-center gnome-desktop gnome-icon-theme gnome-panel gnome-settings-daemon metacity nautilus xscreensaver
 sdesc: "GNOME session manager"
 ldesc: "Contained here are--
    * the GNOME session manager
This page took 0.0295800000000001 seconds and 5 git commands to generate.