OBS User unknown 2006-12-27 11:49:58 +00:00 committed by Git OBS Bridge
commit 0222d4bcbc
23 changed files with 3475 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

211
gnome Normal file
View File

@ -0,0 +1,211 @@
#!/bin/bash
#
# This is not the original gnome2-session but a startscript
# to install some preconfiguration for GNOME2
# and some variables to check.
#
# For feedback on this script please see
# http://www.suse.de/feedback
#
# set a background until the gnome-session becomes visible
#xsetroot -cursor_name watch -solid "#6a83be"
#
# Help GNOME2 guessing where KDE resides on the filesystem
export KDEDIR=/opt/kde3
#
# We use a cascaded KDE configuration while in GNOME,
# to preconfigure some utilities better suited for GNOME
export KDEDIRS=/opt/gnome/share/dist/kde-preconf
#
#
# Manage GTK1 themes with gnome-theme-manager
export GTK_RC_FILES=/etc/opt/gnome/gtk/gtkrc:$HOME/.gtkrc-1.2-gnome2
#
# Set STYLE variable for other applications.
STYLE="$(gconftool-2 --get /desktop/gnome/interface/gtk_theme 2>/dev/null)"
export STYLE="${STYLE:-Default}"
#
#
# If gconfd 1 is still running, shut it down now
if [ -e /opt/gnome/bin/gconftool-1 ]
then
/opt/gnome/bin/gconftool-1 --shutdown
fi
#
#
# make sure .skel is available
mkdir -p $HOME/.skel
#
# use_gnome2_default_no_settings: Same as use_gnome2_default without
# the wallpaper and fonts
function use_gnome2_default_no_settings {
# do this only one time
[ -e $HOME/.skel/gnome2-run ] && return
# run possibly available addon-scripts
if [ -d /opt/gnome/share/dist/addon-scripts ] ; then
for scr in /opt/gnome/share/dist/addon-scripts/*; do
[ -r "$scr" ] && . "$scr"
done
fi
#
# add compatibility and default settings for GNOME1
# (set help browsers to epiphany & nautilus)
if [ ! -d ~/.gnome ] ; then
mkdir -p ~/.gnome
cp /opt/gnome/share/dist/gnome1/* ~/.gnome/
fi
if [ ! -e ~/.gtkrc ] ; then
cp /opt/gnome/share/dist/gnome1/gtkrc ~/.gtkrc
fi
# we are done, set the flag
touch ~/.skel/gnome2-run
}
#
#
# use_gnome2_default: if the default preconfiguration is used,
# some modifications need to be done to setup correct wallpapers
#
function use_gnome2_default {
# do this only one time
[ -e $HOME/.skel/gnome2-run ] && return
# and only if no wallpaper is already set (or other background
# option)
[ -e $HOME/.gconf/desktop/gnome/background/%gconf.xml ] && return
mkdir -p ~/.gconf/desktop/gnome/background
# determine X-Resolution
X=$(xdpyinfo |grep dimensions:|head -1|cut -d " " -f 7 |cut -d "x" -f 1)
Y=$(xdpyinfo |grep dimensions:|head -1|cut -d " " -f 7 |cut -d "x" -f 2)
# set default wallpaper to 1600x1200
GNOME_WALLPAPER="default-1600x1200.jpg"
[ $((($X * 10) / $Y)) -ge 15 ] && GNOME_WALLPAPER="default-1920x1200.jpg"
GNOME_WALLPAPER="/usr/share/wallpapers/"$GNOME_WALLPAPER
# check if a wallpaper is actually available
if [ -e $GNOME_WALLPAPER ] ; then
gconftool-2 -s /desktop/gnome/background/picture_filename --type string $GNOME_WALLPAPER
gconftool-2 -s /desktop/gnome/background/picture_options --type string stretched
fi
# run possibly available addon-scripts
if [ -d /opt/gnome/share/dist/addon-scripts ] ; then
for scr in /opt/gnome/share/dist/addon-scripts/*; do
[ -r "$scr" ] && . "$scr"
done
fi
#
# add compatibility and default settings for GNOME1
# (set help browsers to epiphany & nautilus)
if [ ! -d ~/.gnome ] ; then
mkdir -p ~/.gnome
cp /opt/gnome/share/dist/gnome1/* ~/.gnome/
fi
if [ ! -e ~/.gtkrc ] ; then
cp /opt/gnome/share/dist/gnome1/gtkrc ~/.gtkrc
fi
# we are done, set the flag
touch ~/.skel/gnome2-run
}
function fix_wallpapers_on_update {
# we do that only the first time
[ -e $HOME/.skel/gnome2-run-9.2 ] && return
# we change to the new distribution wallpapers
# if the 9.1 generation wallpapers are no longer
# available
WALLPAPER=$(gconftool-2 -g /desktop/gnome/background/picture_filename)
WALLPAPER=$(echo $WALLPAPER | cut -b -30)
if [ $WALLPAPER="/usr/share/wallpapers/suse9.1-" ] ; then
# determine X-Resolution
X=$(xdpyinfo |grep dimensions:|cut -d " " -f 7 |cut -d "x" -f 1)
# if no config fits, use 1024x768
GNOME_WALLPAPER="suse10-1027x768.jpg"
[ $X -gt 799 ] && GNOME_WALLPAPER="suse10-800x600.jpg"
[ $X -gt 1023 ] && GNOME_WALLPAPER="suse10-1024x768.jpg"
[ $X -gt 1279 ] && GNOME_WALLPAPER="suse10-1280x1024.jpg"
[ $X -gt 1399 ] && GNOME_WALLPAPER="suse10-1400x1050.jpg"
[ $X -gt 1599 ] && GNOME_WALLPAPER="suse10-1600x1200.jpg"
GNOME_WALLPAPER="/usr/share/wallpapers/"$GNOME_WALLPAPER
# check if a wallpaper is actually available
if [ -e $GNOME_WALLPAPER ] ; then
gconftool-2 -s /desktop/gnome/background/picture_filename --type string $GNOME_WALLPAPER
gconftool-2 -s /desktop/gnome/background/picture_options --type string stretched
fi
fi
# done, set the flag
touch ~/.skel/gnome2-run-9.2
}
function use_sled10_default {
# do this only for SLED 10
([ -e /etc/SuSE-release ] && grep "SUSE Linux Enterprise Desktop 10" /etc/SuSE-release) || return
# do this only one time
[ -e $HOME/.skel/sled10-run ] && return
# dump the existing config for backup
PANEL_BACKUP=panel-settings-backup-`date '+%m%d%y%H%M%S'`.xml
gconftool-2 --dump /apps/panel > $PANEL_BACKUP
# unset the current panel configuration
gconftool-2 --recursive-unset /apps/panel/default_setup
gconftool-2 --unset /apps/panel/general/toplevel_id_list
gconftool-2 --unset /apps/panel/general/applet_id_list
gconftool-2 --unset /apps/panel/general/object_id_list
gconftool-2 --recursive-unset /apps/panel/profiles/default
gconftool-2 --recursive-unset /apps/panel/toplevels
gconftool-2 --unset /apps/metacity/general/num_workspaces
# we are done, set the flag
touch ~/.skel/sled10-run
}
# set up an arbitrary icon path for nautilus, accessing YaST Icons and, if installed, common KDE icons
KDE_CRYSTAL_32=/opt/kde3/share/icons/crystalsvg/32x32
KDE_CRYSTAL_48=/opt/kde3/share/icons/crystalsvg/48x48
GNOME_DEFAULT_32=/opt/gnome/share/icons/gnome/32x32
GNOME_DEFAULT_48=/opt/gnome/share/icons/gnome/48x48
YAST_ICONS=/usr/share/YaST2/theme/current/icons/48x48
export GNOME_ICON_PATH=/usr/share/images:$YAST_ICONS/apps:$KDE_CRYSTAL_32/apps:$KDE_CRYSTAL_32/devices:$KDE_CRYSTAL_32/mimetypes:$KDE_CRYSTAL_32/filesystems:$KDE_CRYSTAL_32/actions:$KDE_CRYSTAL_48/apps:$KDE_CRYSTAL_48/devices:$KDE_CRYSTAL_48/mimetypes:$KDE_CRYSTAL_48/filesystems:$KDE_CRYSTAL_48/actions:$GNOME_DEFAULT_48/apps:$GNOME_DEFAULT_32/apps:/opt/gnome/share/pixmaps
# start up the gnome2 session
# reset the SLED 10 UI only if upgrading from NLD9/SLES9, anything newer we
# ignore (like SL 9.3), the logic here is redundant but its low risk
TRY_SLED10=1
if [ ! -e $HOME/.skel/gnome2-run ] || [ -e $HOME/.skel/gnome2-run-9.2 ] ; then
TRY_SLED10=0
fi
fix_wallpapers_on_update
use_gnome2_default
if [ $TRY_SLED10 -gt 0 ] ; then
use_sled10_default
else
touch ~/.skel/sled10-run
fi
exec /opt/gnome/bin/gnome-session

View File

@ -0,0 +1,21 @@
diff -Nru -x '*~' -x '*.o' -x '*.orig' -x '*.rej' gnome-session-2.0.8.orig/gnome-session/splash-widget.c gnome-session-2.0.8/gnome-session/splash-widget.c
--- gnome-session-2.0.8.orig/gnome-session/splash-widget.c 2003-01-14 18:28:02.000000000 -0500
+++ gnome-session-2.0.8/gnome-session/splash-widget.c 2003-01-14 18:27:50.000000000 -0500
@@ -164,7 +164,7 @@
exposed.y - si->position.y,
exposed.x, exposed.y,
exposed.width, exposed.height,
- GDK_RGB_DITHER_NORMAL,
+ GDK_RGB_DITHER_MAX,
exposed.x, exposed.y);
}
@@ -246,7 +246,7 @@
sw->background, GDK_DRAWABLE (pm),
widget->style->black_gc,
0, 0, 0, 0, width, height,
- GDK_RGB_DITHER_NORMAL,
+ GDK_RGB_DITHER_MAX,
0, 0);
gdk_window_set_back_pixmap (

View File

@ -0,0 +1,316 @@
--- gnome-session-2.15.91/gnome-session/gdm-logout-action.c
+++ gnome-session-2.15.91/gnome-session/gdm-logout-action.c
@@ -56,6 +56,8 @@
#define GDM_ACTION_STR_REBOOT "REBOOT"
#define GDM_ACTION_STR_SUSPEND "SUSPEND"
+#define KDM_PROTOCOL_MSG_QUERY_ACTION "caps"
+
typedef struct {
int fd;
char *auth_cookie;
@@ -64,6 +66,8 @@
GdmLogoutAction current_actions;
time_t last_update;
+
+ guint is_kdm : 1;
} GdmProtocolData;
static GdmProtocolData gdm_protocol_data = {
@@ -71,11 +75,12 @@
NULL,
GDM_LOGOUT_ACTION_NONE,
GDM_LOGOUT_ACTION_NONE,
- 0
+ 0,
+ FALSE
};
static char *
-gdm_send_protocol_msg (GdmProtocolData *data,
+dm_send_protocol_msg (GdmProtocolData *data,
const char *msg)
{
GString *retval;
@@ -87,7 +92,7 @@
if (write (data->fd, p, strlen (p)) < 0) {
g_free (p);
- g_warning ("Failed to send message to GDM: %s",
+ g_warning ("Failed to send message to display manager: %s",
g_strerror (errno));
return NULL;
}
@@ -153,7 +158,7 @@
msg = g_strdup_printf (GDM_PROTOCOL_MSG_AUTHENTICATE " %s",
data->auth_cookie);
- response = gdm_send_protocol_msg (data, msg);
+ response = dm_send_protocol_msg (data, msg);
g_free (msg);
if (response && !strcmp (response, "OK")) {
@@ -195,7 +200,7 @@
XauDisposeAuth (xau);
msg = g_strdup_printf (GDM_PROTOCOL_MSG_AUTHENTICATE " %s", buffer);
- response = gdm_send_protocol_msg (data, msg);
+ response = dm_send_protocol_msg (data, msg);
g_free (msg);
if (response && !strcmp (response, "OK")) {
@@ -218,7 +223,7 @@
}
static void
-gdm_shutdown_protocol_connection (GdmProtocolData *data)
+dm_shutdown_protocol_connection (GdmProtocolData *data)
{
if (data->fd)
close (data->fd);
@@ -237,7 +242,7 @@
if (data->fd < 0) {
g_warning ("Failed to create GDM socket: %s",
g_strerror (errno));
- gdm_shutdown_protocol_connection (data);
+ dm_shutdown_protocol_connection (data);
return FALSE;
}
@@ -247,29 +252,93 @@
if (connect (data->fd, (struct sockaddr *) &addr, sizeof (addr)) < 0) {
g_warning ("Failed to establish a connection with GDM: %s",
g_strerror (errno));
- gdm_shutdown_protocol_connection (data);
+ dm_shutdown_protocol_connection (data);
return FALSE;
}
- response = gdm_send_protocol_msg (data, GDM_PROTOCOL_MSG_VERSION);
+ response = dm_send_protocol_msg (data, GDM_PROTOCOL_MSG_VERSION);
if (!response || strncmp (response, "GDM ", strlen ("GDM ") != 0)) {
g_free (response);
g_warning ("Failed to get protocol version from GDM");
- gdm_shutdown_protocol_connection (data);
+ dm_shutdown_protocol_connection (data);
return FALSE;
}
if (!gdm_authenticate_connection (data)) {
g_warning ("Failed to authenticate with GDM");
- gdm_shutdown_protocol_connection (data);
+ dm_shutdown_protocol_connection (data);
return FALSE;
}
return TRUE;
}
+static gboolean
+kdm_init_protocol_connection (GdmProtocolData *data)
+{
+ struct sockaddr_un addr;
+ char *response;
+ char *dm_display;
+ char *dm_control;
+ char *p0 = NULL;
+
+ g_assert (data->fd <= 0);
+
+ data->fd = socket (AF_UNIX, SOCK_STREAM, 0);
+ if (data->fd < 0) {
+ g_warning ("Failed to create KDM socket: %s",
+ g_strerror (errno));
+ dm_shutdown_protocol_connection (data);
+ return FALSE;
+ }
+
+ dm_display = g_strdup (g_getenv ("DISPLAY"));
+ dm_control = g_strdup (g_getenv ("DM_CONTROL"));
+
+ if (dm_display && (p0 = strchr (dm_display, ':')))
+ p0 = strchr (p0, '.');
+
+ if (!dm_control || !strlen (dm_control) ||
+ !dm_display || !strlen (dm_display)) {
+ g_free (dm_control);
+ g_free (dm_display);
+
+ g_warning ("Could not locate KDM socket.");
+ dm_shutdown_protocol_connection (data);
+ return FALSE;
+ }
+
+ snprintf (addr.sun_path, sizeof (addr.sun_path), "%s/dmctl-%.*s/socket",
+ dm_control, p0 ? p0 - dm_display : 512, dm_display);
+ addr.sun_family = AF_UNIX;
+
+ g_free (dm_display);
+ g_free (dm_control);
+
+ if (connect (data->fd, (struct sockaddr *) &addr, sizeof (addr)) < 0) {
+ g_warning ("Failed to establish a connection with KDM: %s",
+ g_strerror (errno));
+ dm_shutdown_protocol_connection (data);
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+static gboolean
+dm_init_protocol_connection (GdmProtocolData *data)
+{
+ if (g_getenv ("DM_CONTROL") && !g_getenv ("GDMSESSION")) {
+ data->is_kdm = TRUE;
+ return kdm_init_protocol_connection (data);
+ }
+
+ data->is_kdm = FALSE;
+ return gdm_init_protocol_connection (data);
+}
+
static void
gdm_parse_query_response (GdmProtocolData *data,
const char *response)
@@ -317,7 +386,21 @@
}
static void
-gdm_update_logout_actions (GdmProtocolData *data)
+kdm_parse_query_response (GdmProtocolData *data,
+ const char *response)
+{
+ data->available_actions = GDM_LOGOUT_ACTION_NONE;
+ data->current_actions = GDM_LOGOUT_ACTION_NONE;
+
+ if (!response)
+ return;
+
+ if (strstr (response, "\tshutdown"))
+ data->available_actions |= GDM_LOGOUT_ACTION_SHUTDOWN | GDM_LOGOUT_ACTION_REBOOT;
+}
+
+static void
+dm_update_logout_actions (GdmProtocolData *data)
{
time_t current_time;
char *response;
@@ -328,21 +411,30 @@
data->last_update = current_time;
- if (!gdm_init_protocol_connection (data))
+ if (!dm_init_protocol_connection (data))
return;
-
- if ((response = gdm_send_protocol_msg (data, GDM_PROTOCOL_MSG_QUERY_ACTION))) {
- gdm_parse_query_response (data, response);
- g_free (response);
- }
- gdm_shutdown_protocol_connection (data);
+ if (data->is_kdm) {
+ /* KDM */
+ if ((response = dm_send_protocol_msg (data, KDM_PROTOCOL_MSG_QUERY_ACTION))) {
+ kdm_parse_query_response (data, response);
+ g_free (response);
+ }
+ } else {
+ /* GDM */
+ if ((response = dm_send_protocol_msg (data, GDM_PROTOCOL_MSG_QUERY_ACTION))) {
+ gdm_parse_query_response (data, response);
+ g_free (response);
+ }
+ }
+
+ dm_shutdown_protocol_connection (data);
}
gboolean
gdm_supports_logout_action (GdmLogoutAction action)
{
- gdm_update_logout_actions (&gdm_protocol_data);
+ dm_update_logout_actions (&gdm_protocol_data);
return (gdm_protocol_data.available_actions & action) != 0;
}
@@ -350,20 +442,15 @@
GdmLogoutAction
gdm_get_logout_action (void)
{
- gdm_update_logout_actions (&gdm_protocol_data);
+ dm_update_logout_actions (&gdm_protocol_data);
return gdm_protocol_data.current_actions;
}
-void
-gdm_set_logout_action (GdmLogoutAction action)
+static char *
+gdm_logout_action_msg (GdmLogoutAction action)
{
char *action_str = NULL;
- char *msg;
- char *response;
-
- if (!gdm_init_protocol_connection (&gdm_protocol_data))
- return;
switch (action) {
case GDM_LOGOUT_ACTION_NONE:
@@ -380,14 +467,48 @@
break;
}
- msg = g_strdup_printf (GDM_PROTOCOL_MSG_SET_ACTION " %s", action_str);
+ return g_strdup_printf (GDM_PROTOCOL_MSG_SET_ACTION " %s", action_str);
+}
+
+static char *
+kdm_logout_action_msg (GdmLogoutAction action)
+{
+ char *msg = NULL;
+
+ if (action == GDM_LOGOUT_ACTION_SHUTDOWN)
+ msg = g_strdup ("shutdown\thalt\task");
+ else if (action == GDM_LOGOUT_ACTION_REBOOT)
+ msg = g_strdup ("shutdown\treboot\task");
+
+ return msg;
+}
+
+void
+gdm_set_logout_action (GdmLogoutAction action)
+{
+ char *action_str = NULL;
+ char *msg;
+ char *response;
+
+ if (!dm_init_protocol_connection (&gdm_protocol_data))
+ return;
+
+ if (gdm_protocol_data.is_kdm)
+ msg = kdm_logout_action_msg (action);
+ else
+ msg = gdm_logout_action_msg (action);
+
+ if (!msg) {
+ dm_shutdown_protocol_connection (&gdm_protocol_data);
+ return;
+ }
- response = gdm_send_protocol_msg (&gdm_protocol_data, msg);
+ response = dm_send_protocol_msg (&gdm_protocol_data, msg);
g_free (msg);
g_free (response);
gdm_protocol_data.last_update = 0;
- gdm_shutdown_protocol_connection (&gdm_protocol_data);
+ dm_shutdown_protocol_connection (&gdm_protocol_data);
}

View File

@ -0,0 +1,23 @@
diff -Nurp gnome-session-2.12.0-pre/gnome-session/ice.c gnome-session-2.12.0-post/gnome-session/ice.c
--- gnome-session-2.12.0-pre/gnome-session/ice.c 2005-05-17 08:59:05.000000000 -0500
+++ gnome-session-2.12.0-post/gnome-session/ice.c 2006-01-26 22:02:49.000000000 -0600
@@ -379,6 +379,8 @@ initialize_ice (void)
p = g_strconcat (ENVNAME "=", ids, NULL);
putenv (p);
+
+ putenv (g_strconcat (ICE_AUTHORITY_ENV_NAME "=", authfile, NULL));
ice_depth = 0; /* We are live */
}
diff -Nurp gnome-session-2.12.0-pre/gnome-session/ice.h gnome-session-2.12.0-post/gnome-session/ice.h
--- gnome-session-2.12.0-pre/gnome-session/ice.h 2001-05-10 17:09:15.000000000 -0500
+++ gnome-session-2.12.0-post/gnome-session/ice.h 2006-01-26 21:51:35.000000000 -0600
@@ -24,6 +24,7 @@
#define MAGIC_COOKIE_LEN 16
#define ENVNAME "SESSION_MANAGER"
+#define ICE_AUTHORITY_ENV_NAME "ICEAUTHORITY"
/* List of all auth entries. */
extern GSList *auth_entries;

View File

@ -0,0 +1,163 @@
--- gnome-session-2.15.91/gnome-session/Makefile.am
+++ gnome-session-2.15.91/gnome-session/Makefile.am
@@ -7,6 +7,7 @@
$(STANDARD_PROPERTIES_CFLAGS) \
$(WARN_CFLAGS) \
$(DISABLE_DEPRECATED_CFLAGS) \
+ -I/opt/novell/CASA/include \
-DGNOMELOCALEDIR=\""$(prefix)/${DATADIRNAME}/locale\"" \
-DGCONF_SANITY_CHECK=\""$(GCONF_SANITY_CHECK)"\" \
-DGNOME_KEYRING_DAEMON=\""$(GNOME_KEYRING_DAEMON)"\" \
--- gnome-session-2.15.91/gnome-session/main.c
+++ gnome-session-2.15.91/gnome-session/main.c
@@ -30,6 +30,10 @@
#include <netdb.h>
#include <time.h>
+/* added for CASA -- start */
+#include <dlfcn.h>
+/* added for CASA -- end */
+
#include <gconf/gconf-client.h>
#include <libgnome/libgnome.h>
@@ -37,6 +41,9 @@
#include <libgnomeui/gnome-window-icon.h>
+#include <gnome-keyring.h>
+#include <micasa_mgmd.h>
+
#include "manager.h"
#include "ice.h"
#include "save.h"
@@ -50,6 +57,19 @@
#include "gsm-at-startup.h"
#include "gsm-remote-desktop.h"
+
+/* added for CASA -- start */
+SSCS_TYPEDEF_LIBCALL(int, CASA_GetCredential_T)
+ (
+ uint32_t ssFlags,
+ SSCS_SECRET_ID_T * appSecretID,
+ SSCS_SECRET_ID_T * sharedSecretID,
+ uint32_t * credentialType,
+ void * credential,
+ SSCS_EXT_T * ext
+ );
+/* added for CASA -- end */
+
/* Flag indicating autosave - user won't be prompted on logout to
* save the session */
gboolean autosave = FALSE;
@@ -78,6 +98,8 @@
gchar *session_name = NULL;
+gchar *default_keyring = NULL;
+
static const GOptionEntry options[] = {
{"choose-session", '\0', 0, G_OPTION_ARG_STRING, &session_name, N_("Specify a session name to load"), N_("NAME")},
{"failsafe", '\0', 0, G_OPTION_ARG_NONE, &failsafe, N_("Only read saved sessions from the default.session file"), NULL},
@@ -321,6 +343,63 @@
return (tm->tm_year >= 105); /* We start on Jan 1 2006 */
}
+/* modified for CASA -- start */
+static gchar *
+get_casa_password (gboolean try_gnome_keyring)
+{
+ int rcode = 0;
+ int32_t credtype = SSCS_CRED_TYPE_BASIC_F;
+
+ void *casaIDK = NULL;
+
+ CASA_GetCredential_T p_miCASAGetCredential = NULL;
+
+
+ SSCS_BASIC_CREDENTIAL credential = { 0 };
+ SSCS_SECRET_ID_T appSecretId = { 0 };
+ SSCS_SECRET_ID_T sharedSecretId = { 0 };
+ SSCS_EXT_T ext = {0};
+
+ g_strlcpy (appSecretId.id, "Gnome_Keyring_Default", sizeof (appSecretId.id));
+ appSecretId.len = strlen (appSecretId.id) + 1;
+
+ g_strlcpy (sharedSecretId.id, "Desktop", sizeof (sharedSecretId.id));
+ sharedSecretId.len = strlen (sharedSecretId.id) + 1;
+
+ credential.unFlags = USERNAME_TYPE_CN_F;
+
+ if((casaIDK = dlopen("libmicasa.so.1", RTLD_LAZY)))
+ {
+ p_miCASAGetCredential = (CASA_GetCredential_T)dlsym(casaIDK, "miCASAGetCredential");
+ rcode = p_miCASAGetCredential (0,
+ try_gnome_keyring ? &appSecretId : NULL,
+ &sharedSecretId,
+ &credtype,
+ &credential,
+ NULL);
+
+ dlclose(casaIDK);
+ if (rcode == NSSCS_SUCCESS) {
+ gchar *password = g_strdup (credential.password);
+
+ memset (credential.password, 0, strlen (credential.password));
+ return password;
+ }
+ }
+
+ return NULL;
+}
+/* modified for CASA -- end */
+
+
+static void
+create_default_keyring (const gchar *password)
+{
+ gnome_keyring_create_sync ("default", password);
+ gnome_keyring_set_default_keyring_sync ("default");
+ default_keyring = g_strdup ("default");
+}
+
int
main (int argc, char *argv[])
{
@@ -492,6 +571,36 @@
gsm_remote_desktop_start ();
+ password = get_casa_password (TRUE);
+
+ if (password) {
+ GnomeKeyringResult result;
+
+ result = gnome_keyring_get_default_keyring_sync (&default_keyring);
+
+ if (result != GNOME_KEYRING_RESULT_OK || !default_keyring || !strlen (default_keyring))
+ create_default_keyring (password);
+
+ result = gnome_keyring_unlock_sync (default_keyring, password);
+
+ if (result == GNOME_KEYRING_RESULT_NO_SUCH_KEYRING) {
+ create_default_keyring (password);
+ gnome_keyring_unlock_sync (default_keyring, password);
+ }
+
+ if (result != GNOME_KEYRING_RESULT_OK) {
+ password = get_casa_password (FALSE);
+ if (password) {
+ gnome_keyring_unlock_sync (default_keyring, password);
+ }
+ }
+
+ if (password) {
+ memset (password, 0, strlen (password));
+ g_free (password);
+ }
+ }
+
if (splashing)
splash_start ();

View File

@ -0,0 +1,66 @@
diff -ur ../gnome-session-2.12.0/gnome-session/logout.c ./gnome-session/logout.c
--- ../gnome-session-2.12.0/gnome-session/logout.c 2005-05-06 12:17:12.000000000 +0200
+++ ./gnome-session/logout.c 2006-01-07 06:28:42.000000000 +0100
@@ -26,6 +26,9 @@
#include <gtk/gtkinvisible.h>
#include <gdk/gdkx.h>
+#include <X11/Xlib.h>
+#include <X11/Xatom.h>
+
#include <gconf/gconf-client.h>
#include <libgnome/libgnome.h>
@@ -187,6 +190,10 @@
int attr_mask;
GdkGCValues values;
FadeoutData *fadeout;
+ GdkAtom property = gdk_atom_intern ("_NET_WM_STATE_DISPLAY_MODAL", FALSE);
+
+ if (gdk_x11_screen_supports_net_wm_hint (screen, property))
+ return;
fadeout = g_new (FadeoutData, 1);
@@ -491,12 +498,31 @@
*/
if (!a11y_enabled)
{
- XGrabServer (GDK_DISPLAY ());
+ /* Really necessary?
+ XGrabServer (GDK_DISPLAY ());
+ */
gsm_foreach_screen (fadeout_screen);
}
gtk_widget_show_all (box);
+ /* XXX: Appending experimental display modal state */
+ {
+ Display *xdisplay = GDK_WINDOW_XDISPLAY (box->window);
+ Window xwindow = GDK_WINDOW_XID (box->window);
+ Atom state_atom, display_modal_atom;
+
+ state_atom = XInternAtom (xdisplay, "_NET_WM_STATE", 0);
+ display_modal_atom = XInternAtom (xdisplay,
+ "_NET_WM_STATE_DISPLAY_MODAL", 0);
+
+ XChangeProperty (xdisplay,
+ xwindow,
+ state_atom,
+ XA_ATOM, 32, PropModeAppend,
+ (guchar *) &display_modal_atom, 1);
+ }
+
if (!a11y_enabled)
{
/* Move the grabs to our message box */
@@ -533,7 +559,7 @@
if (!a11y_enabled)
{
hide_fadeout_windows ();
- XUngrabServer (GDK_DISPLAY ());
+ /* XUngrabServer (GDK_DISPLAY ()); */
gdk_pointer_ungrab (GDK_CURRENT_TIME);
gdk_keyboard_ungrab (GDK_CURRENT_TIME);

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6d6d21c6b9a4a2fe7bc288e8fdf36159444370973b4aa71dfc4c48bc0ad7cdf3
size 677501

View File

@ -0,0 +1,14 @@
--- gnome-session-2.11.90/gnome-session/main.c
+++ gnome-session-2.11.90/gnome-session/main.c
@@ -391,6 +391,11 @@
g_free (display_str);
putenv (ep);
+ /* We are in a Gnome session, we want gnome-open to be the default
+ * launching application.
+ */
+ putenv ("DESKTOP_LAUNCH=gnome-open");
+
ignore (SIGPIPE);
/* Need DISPLAY set */

View File

@ -0,0 +1,20 @@
--- gnome-session/gnome-wm 2006/10/11 16:30:36 1.1
+++ gnome-session/gnome-wm 2006/10/11 16:35:55
@@ -43,6 +43,17 @@
IFS=":"
if [ -z "$WINDOW_MANAGER" ] ; then
if [ -z "$DEFWM" -o "x$DEFWM" = "xgnome-wm" ]; then
+
+ if /usr/bin/xdpyinfo | /usr/bin/grep -q '^vendor release number: *70000001'; then
+ if [ -x /usr/bin/compiz ]; then
+ if [ -z "$SMID" ]; then
+ exec /usr/bin/compiz --replace --sm-disable gconf
+ else
+ exec /usr/bin/compiz --replace --sm-client-id $SMID gconf
+ fi
+ fi
+ fi
+
for wm in metacity sawfish sawmill enlightenment icewm wmaker fvwm2 qvwm fvwm twm kwm ; do
for dir in $PATH ; do
if [ -x "$dir/$wm" ] ; then

View File

@ -0,0 +1,11 @@
--- gnome-session/gnome-session.schemas.in
+++ gnome-session/gnome-session.schemas.in
@@ -50,7 +50,7 @@
<applyto>/apps/gnome-session/options/splash_image</applyto>
<owner>gnome</owner>
<type>string</type>
- <default>splash/gnome-splash.png</default>
+ <default>/opt/gnome/share/dist/splash/dist-splash.png</default>
<locale name="C">
<short>Preferred Image to use for login splash screen</short>
<long>This is a relative path value based off the $datadir/pixmaps/ directory. Sub-directories and image names are valid values. Changing this value will effect the next session login.</long>

View File

@ -0,0 +1,14 @@
diff -upr gnome-session-2.12.0-orig/gnome-session/save.c gnome-session-2.12.0/gnome-session/save.c
--- gnome-session-2.12.0-orig/gnome-session/save.c 2006-06-12 16:15:02.000000000 +0200
+++ gnome-session-2.12.0/gnome-session/save.c 2006-06-12 16:16:04.000000000 +0200
@@ -657,6 +657,10 @@ read_session (const char *name)
if (list) {
char *path;
+ path = g_build_filename (g_get_user_config_dir (), "autostart", NULL);
+ g_mkdir_with_parents (path, S_IRWXU);
+ g_free (path);
+
/* migrate to newly desktop-based autostart system */
while (list) {
SmProp *prop;

257
gnome-session-motd.patch Normal file
View File

@ -0,0 +1,257 @@
--- /dev/null 2006-02-06 19:14:42.000000000 +0100
+++ gnome-session/gsm-motd.h 2006-02-03 12:30:48.000000000 +0100
@@ -0,0 +1,7 @@
+#ifndef GSM_MOTD_H
+#define GSM_MOTD_H
+
+void gsm_motd_start (void);
+void gsm_motd_stop (void);
+
+#endif
--- /dev/null 2006-02-06 19:14:42.000000000 +0100
+++ gnome-session/gsm-motd.c 2006-02-15 14:57:58.000000000 +0100
@@ -0,0 +1,179 @@
+/* gdm-motd.c - Message of the Day support in gnome-session.
+
+ Copyright (C) 1998, 1999 Tom Tromey
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA. */
+
+#include <config.h>
+#include <glib/gi18n.h>
+#include <gconf/gconf-client.h>
+#include <gtk/gtkmessagedialog.h>
+#include <libgnomevfs/gnome-vfs-ops.h>
+#ifdef HAVE_LIBNOTIFY
+#include <libnotify/notify.h>
+#endif
+#include "gsm-motd.h"
+
+static gchar *motd_contents = NULL;
+static GnomeVFSMonitorHandle *monitor_handle = NULL;
+
+static void
+display_message_of_the_day_dialog (void)
+{
+ GtkWidget *dialog;
+
+ if (motd_contents)
+ {
+ dialog = gtk_message_dialog_new_with_markup (NULL, 0, GTK_MESSAGE_INFO, GTK_BUTTONS_CLOSE,
+ "<big><b>%s</b></big>\n%s",
+ _("Message of the Day"), motd_contents);
+ g_signal_connect (G_OBJECT (dialog), "response", G_CALLBACK (gtk_widget_destroy), NULL);
+ gtk_widget_show (dialog);
+ }
+}
+
+#ifdef HAVE_LIBNOTIFY
+static void
+display_message_of_the_day_notification (void)
+{
+ NotifyNotification *n;
+ GdkPixbuf *icon;
+
+ if (!motd_contents)
+ return;
+
+ if (!notify_is_initted () && !notify_init (_("Session Manager")))
+ {
+ g_printerr ("Could not contact the notification daemon");
+ display_message_of_the_day_dialog ();
+ }
+ else
+ {
+ icon = gtk_icon_theme_load_icon (gtk_icon_theme_get_default (),
+ "gtk-info",
+ 48,
+ GTK_ICON_LOOKUP_USE_BUILTIN,
+ NULL);
+
+ n = notify_notification_new (_("Message of the Day"), motd_contents, NULL, NULL);
+ notify_notification_set_icon_from_pixbuf (n, icon);
+ gdk_pixbuf_unref (icon);
+
+ if (!notify_notification_show (n, NULL))
+ {
+ display_message_of_the_day_dialog ();
+ }
+
+ //g_object_unref (n);
+ }
+}
+#endif
+
+static void
+motd_changed_cb (GnomeVFSMonitorHandle *handle,
+ const gchar *monitor_uri,
+ const gchar *info_uri,
+ GnomeVFSMonitorEventType event_type,
+ gpointer user_data)
+{
+ gchar *contents;
+ gsize length;
+
+ switch (event_type)
+ {
+ case GNOME_VFS_MONITOR_EVENT_CHANGED :
+ case GNOME_VFS_MONITOR_EVENT_CREATED :
+ if (g_file_get_contents ("/etc/motd", &contents, &length, NULL))
+ {
+ if (length > 0)
+ {
+ g_free (motd_contents);
+ motd_contents = contents;
+
+#ifdef HAVE_LIBNOTIFY
+ display_message_of_the_day_notification ();
+#else
+ display_message_of_the_day_dialog ();
+#endif
+ }
+ }
+ break;
+ case GNOME_VFS_MONITOR_EVENT_DELETED :
+ g_free (motd_contents);
+ motd_contents = NULL;
+ break;
+ }
+}
+
+static gboolean
+on_login_cb (gpointer user_data)
+{
+#ifdef HAVE_LIBNOTIFY
+ display_message_of_the_day_notification ();
+#else
+ display_message_of_the_day_dialog ();
+#endif
+
+ return FALSE;
+}
+
+void
+gsm_motd_start (void)
+{
+ gchar *contents;
+ gsize length;
+ GConfClient *client;
+ gboolean enabled;
+
+ client = gconf_client_get_default ();
+ enabled = gconf_client_get_bool (client, "/apps/gnome-session/options/enable_motd", NULL);
+ g_object_unref (client);
+
+ if (!enabled)
+ return;
+
+ /* load the MOTD file */
+ if (gnome_vfs_monitor_add (&monitor_handle, "file:///etc/motd", GNOME_VFS_MONITOR_FILE,
+ (GnomeVFSMonitorCallback) motd_changed_cb, NULL) != GNOME_VFS_OK)
+ {
+ g_printerr ("Failed to setup monitor for /etc/motd file");
+ }
+
+ if (g_file_get_contents ("/etc/motd", &contents, &length, NULL))
+ {
+ if (length > 0)
+ motd_contents = contents;
+ }
+
+ /* install a timeout to show the message first time */
+ g_timeout_add (8000, (GSourceFunc) on_login_cb, NULL);
+}
+
+void
+gsm_motd_stop (void)
+{
+ if (monitor_handle)
+ {
+ gnome_vfs_monitor_cancel (monitor_handle);
+ monitor_handle = NULL;
+ }
+
+ if (motd_contents)
+ {
+ g_free (motd_contents);
+ motd_contents = NULL;
+ }
+}
? depcomp
? stamp-h1
? gnome-session/gsm-motd.c
? gnome-session/gsm-motd.h
? po/stamp-it
Index: gnome-session/Makefile.am
===================================================================
RCS file: /cvs/gnome/gnome-session/gnome-session/Makefile.am,v
retrieving revision 1.108
diff -u -p -r1.108 Makefile.am
--- gnome-session/Makefile.am 10 Jan 2005 16:36:40 -0000 1.108
+++ gnome-session/Makefile.am 15 Feb 2006 14:01:55 -0000
@@ -4,6 +4,7 @@ defaultdir = $(datadir)/gnome
INCLUDES = \
$(GNOME_SESSION_CFLAGS) \
+ $(LIBNOTIFY_CFLAGS) \
$(STANDARD_PROPERTIES_CFLAGS) \
$(WARN_CFLAGS) \
$(DISABLE_DEPRECATED_CFLAGS) \
@@ -26,7 +27,7 @@ STANDARD_PROPERTIES_CFLAGS =
-DDATADIR=\""$(datadir)"\" \
$(NULL)
-gnome_session_LDADD = $(X_LIBS) $(GNOME_SESSION_LIBS) $(LIBWRAP_LIBS)
+gnome_session_LDADD = $(X_LIBS) $(GNOME_SESSION_LIBS) $(LIBWRAP_LIBS) $(LIBNOTIFY_LIBS)
gnome_session_save_LDADD = $(GNOME_SESSION_LIBS)
gnome_session_remove_LDADD = $(GNOME_SESSION_LIBS)
gnome_session_properties_LDADD = $(GNOME_SESSION_LIBS)
@@ -95,6 +96,8 @@ gnome_session_SOURCES = \
gsm-keyring.h \
gsm-gsd.c \
gsm-gsd.h \
+ gsm-motd.c \
+ gsm-motd.h \
gsm-protocol.c \
gsm-protocol.h \
gsm-remote-desktop.c \
Index: gnome-session/main.c
===================================================================
RCS file: /cvs/gnome/gnome-session/gnome-session/main.c,v
retrieving revision 1.70
diff -u -p -r1.70 main.c
--- gnome-session/main.c 30 Oct 2005 11:26:31 -0000 1.70
+++ gnome-session/main.c 15 Feb 2006 14:01:56 -0000
@@ -48,6 +48,7 @@
#include "gsm-xrandr.h"
#include "gsm-at-startup.h"
#include "gsm-remote-desktop.h"
+#include "gsm-motd.h"
/* Flag indicating autosave - user won't be prompted on logout to
* save the session */
@@ -465,7 +466,11 @@ main (int argc, char *argv[])
if (a_t_support) /* the ATs are happier if the session has started */
gsm_assistive_technologies_start ();
+ gsm_motd_start ();
+
gtk_main ();
+
+ gsm_motd_stop ();
gsm_remote_desktop_cleanup ();

View File

@ -0,0 +1,139 @@
--- gnome-session/main.c
+++ gnome-session/main.c
@@ -162,126 +162,6 @@
*bool_value ? "On" : "Off");
}
-/* returns the hostname */
-static gchar *
-get_hostname (gboolean readable)
-{
- static gboolean init = FALSE;
- static gchar *result = NULL;
-
- if (!init)
- {
- char hostname[256];
-
- if (gethostname (hostname, sizeof (hostname)) == 0)
- result = g_strdup (hostname);
-
- init = TRUE;
- }
-
- if (result)
- return result;
- else
- return readable ? "(Unknown)" : NULL;
-}
-
-#ifdef ENABLE_IPV6
-/*Check whether the node is IPv6 enabled.*/
-static gboolean
-have_ipv6 (void)
-{
- int s;
-
- s = socket (AF_INET6, SOCK_STREAM, 0);
- if (s != -1) {
- close (s);
- return TRUE;
- }
- return FALSE;
-}
-#endif
-
-/* Check if a DNS lookup on `hostname` can be done */
-static gboolean
-check_for_dns (void)
-{
- char *hostname;
-
- hostname = get_hostname (FALSE);
-
- if (!hostname)
- return FALSE;
-
-#ifdef ENABLE_IPV6
- if (have_ipv6 ())
- {
- struct addrinfo hints, *result = NULL;
-
- memset (&hints, 0, sizeof(hints));
- hints.ai_socktype = SOCK_STREAM;
- hints.ai_flags = AI_CANONNAME;
-
- if (getaddrinfo (hostname, NULL, &hints, &result) != 0)
- return FALSE;
-
- if (!result->ai_canonname)
- return FALSE;
- }
- else
-#endif
- {
- /*
- * FIXME:
- * we should probably be a lot more robust here
- */
- if (!gethostbyname (hostname))
- return FALSE;
- }
-
- return TRUE;
-}
-
-enum {
- RESPONSE_LOG_IN,
- RESPONSE_TRY_AGAIN
-};
-
-static void
-gnome_login_check (void)
-{
- GtkWidget *tmp_msgbox = NULL;
-
- while (!check_for_dns ())
- {
- if (!tmp_msgbox)
- {
- tmp_msgbox = gtk_message_dialog_new (NULL, 0,
- GTK_MESSAGE_WARNING,
- GTK_BUTTONS_NONE,
- _("Could not look up internet address for %s.\n"
- "This will prevent GNOME from operating correctly.\n"
- "It may be possible to correct the problem by adding\n"
- "%s to the file /etc/hosts."),
- get_hostname(TRUE), get_hostname(TRUE));
-
- gtk_dialog_add_buttons (GTK_DIALOG (tmp_msgbox),
- _("Log in Anyway"), RESPONSE_LOG_IN,
- _("Try Again"), RESPONSE_TRY_AGAIN,
- NULL);
-
- gtk_window_set_position (GTK_WINDOW (tmp_msgbox), GTK_WIN_POS_CENTER);
- }
-
- gtk_dialog_set_default_response (GTK_DIALOG (tmp_msgbox), RESPONSE_TRY_AGAIN);
-
- if (RESPONSE_TRY_AGAIN != gtk_dialog_run (GTK_DIALOG (tmp_msgbox)))
- break;
- }
-
- if (tmp_msgbox)
- gtk_widget_destroy (tmp_msgbox);
-}
-
static void
gsm_shutdown_gconfd (void)
{
@@ -370,9 +250,6 @@
/* We need to do this as early as possible */
gsm_set_display_properties ();
- if (ORBit_proto_use ("IPv4") || ORBit_proto_use ("IPv6"))
- gnome_login_check ();
-
err = NULL;
g_spawn_command_line_sync (GCONF_SANITY_CHECK, NULL, NULL, &status, &err);
if (err != NULL)

198
gnome-session-speedup.patch Normal file
View File

@ -0,0 +1,198 @@
? gnome-session-speedup.patch
? stamp-h1
Index: gnome-session/logout.c
===================================================================
RCS file: /cvs/gnome/gnome-session/gnome-session/logout.c,v
retrieving revision 1.60
diff -u -p -r1.60 logout.c
--- gnome-session/logout.c 26 Apr 2005 10:56:50 -0000 1.60
+++ gnome-session/logout.c 17 Aug 2005 16:37:52 -0000
@@ -61,10 +61,12 @@ typedef struct {
int rowstride;
GdkWindow *root_window;
GdkWindow *draw_window;
- GdkPixbuf *start_pb, *end_pb, *frame;
- guchar *start_p, *end_p, *frame_p;
+ GdkPixmap *draw_pixmap;
+ GdkPixbuf *start_pb, *frame;
+ guchar *start_p, *frame_p;
GTimeVal start_time;
GdkGC *gc;
+ int callback_id;
} FadeoutData;
static GList *fadeout_windows = NULL;
@@ -76,8 +78,10 @@ static void
get_current_frame (FadeoutData *fadeout,
double sat)
{
- guchar *sp, *ep, *fp;
+ guchar *sp, *fp;
int i, j, width, offset;
+ const int FIXED = 8;
+ int fixed_mult = (0.5 + (sat / 2)) * (1 << 8);
width = fadeout->area.width * 3;
offset = 0;
@@ -85,44 +89,17 @@ get_current_frame (FadeoutData *fadeout,
for (i = 0; i < fadeout->area.height; i++)
{
sp = fadeout->start_p + offset;
- ep = fadeout->end_p + offset;
fp = fadeout->frame_p + offset;
- for (j = 0; j < width; j += 3)
+ for (j = 0; j < width; j ++)
{
- guchar r = abs (*(sp++) - ep[0]);
- guchar g = abs (*(sp++) - ep[1]);
- guchar b = abs (*(sp++) - ep[2]);
-
- *(fp++) = *(ep++) + r * sat;
- *(fp++) = *(ep++) + g * sat;
- *(fp++) = *(ep++) + b * sat;
+ *(fp++) = (*(sp++) * fixed_mult) >> FIXED;
}
offset += fadeout->rowstride;
}
}
-static void
-darken_pixbuf (GdkPixbuf *pb)
-{
- int width, height, rowstride;
- int i, j;
- guchar *p, *pixels;
-
- width = gdk_pixbuf_get_width (pb) * 3;
- height = gdk_pixbuf_get_height (pb);
- rowstride = gdk_pixbuf_get_rowstride (pb);
- pixels = gdk_pixbuf_get_pixels (pb);
-
- for (i = 0; i < height; i++)
- {
- p = pixels + (i * rowstride);
- for (j = 0; j < width; j++)
- p [j] >>= 1;
- }
-}
-
static gboolean
fadeout_callback (FadeoutData *fadeout)
{
@@ -141,30 +118,26 @@ fadeout_callback (FadeoutData *fadeout)
if (elapsed > FADE_DURATION)
{
- gdk_draw_pixbuf (fadeout->draw_window,
+ get_current_frame (fadeout, 0.0);
+ gdk_draw_pixbuf (fadeout->draw_pixmap,
fadeout->gc,
- fadeout->end_pb,
+ fadeout->frame,
0, 0,
0, 0,
fadeout->area.width,
fadeout->area.height,
GDK_RGB_DITHER_NONE,
0, 0);
+ gdk_window_clear (fadeout->draw_window);
- g_object_unref (fadeout->gc);
- g_object_unref (fadeout->start_pb);
- g_object_unref (fadeout->end_pb);
- g_object_unref (fadeout->frame);
-
- g_free (fadeout);
-
+ fadeout->callback_id = 0;
return FALSE;
}
percent = elapsed / FADE_DURATION;
get_current_frame (fadeout, 1.0 - percent);
- gdk_draw_pixbuf (fadeout->draw_window,
+ gdk_draw_pixbuf (fadeout->draw_pixmap,
fadeout->gc,
fadeout->frame,
0, 0,
@@ -173,6 +146,7 @@ fadeout_callback (FadeoutData *fadeout)
fadeout->area.height,
GDK_RGB_DITHER_NONE,
0, 0);
+ gdk_window_clear (fadeout->draw_window);
gdk_flush ();
@@ -211,7 +185,8 @@ fadeout_screen (GdkScreen *screen,
attr_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_COLORMAP | GDK_WA_NOREDIR;
fadeout->draw_window = gdk_window_new (fadeout->root_window, &attr, attr_mask);
- fadeout_windows = g_list_prepend (fadeout_windows, fadeout->draw_window);
+ fadeout->draw_pixmap = gdk_pixmap_new (fadeout->draw_window, fadeout->area.width, fadeout->area.height, gdk_drawable_get_depth (fadeout->draw_window));
+ fadeout_windows = g_list_prepend (fadeout_windows, fadeout);
fadeout->start_pb = gdk_pixbuf_get_from_drawable (NULL,
fadeout->root_window,
@@ -222,14 +197,10 @@ fadeout_screen (GdkScreen *screen,
fadeout->area.width,
fadeout->area.height);
- fadeout->end_pb = gdk_pixbuf_copy (fadeout->start_pb);
- darken_pixbuf (fadeout->end_pb);
-
fadeout->frame = gdk_pixbuf_copy (fadeout->start_pb);
fadeout->rowstride = gdk_pixbuf_get_rowstride (fadeout->start_pb);
fadeout->start_p = gdk_pixbuf_get_pixels (fadeout->start_pb);
- fadeout->end_p = gdk_pixbuf_get_pixels (fadeout->end_pb);
fadeout->frame_p = gdk_pixbuf_get_pixels (fadeout->frame);
values.subwindow_mode = GDK_INCLUDE_INFERIORS;
@@ -238,7 +209,7 @@ fadeout_screen (GdkScreen *screen,
gdk_window_set_back_pixmap (fadeout->draw_window, NULL, FALSE);
gdk_window_show (fadeout->draw_window);
- gdk_draw_pixbuf (fadeout->draw_window,
+ gdk_draw_pixbuf (fadeout->draw_pixmap,
fadeout->gc,
fadeout->frame,
0, 0,
@@ -247,9 +218,11 @@ fadeout_screen (GdkScreen *screen,
fadeout->area.height,
GDK_RGB_DITHER_NONE,
0, 0);
+ gdk_window_set_back_pixmap (fadeout->draw_window, fadeout->draw_pixmap, FALSE);
+ gdk_window_clear (fadeout->draw_window);
g_get_current_time (&fadeout->start_time);
- g_idle_add ((GSourceFunc) fadeout_callback, fadeout);
+ fadeout->callback_id = g_idle_add ((GSourceFunc) fadeout_callback, fadeout);
}
static void
@@ -259,8 +232,20 @@ hide_fadeout_windows (void)
for (l = fadeout_windows; l; l = l->next)
{
- gdk_window_hide (GDK_WINDOW (l->data));
- g_object_unref (l->data);
+ FadeoutData *fadeout = l->data;
+ gdk_window_hide (fadeout->draw_window);
+
+ if (fadeout->callback_id)
+ g_source_remove (fadeout->callback_id);
+
+ g_object_unref (fadeout->gc);
+ g_object_unref (fadeout->start_pb);
+ g_object_unref (fadeout->frame);
+
+ g_object_unref (fadeout->draw_window);
+ g_object_unref (fadeout->draw_pixmap);
+
+ g_free (fadeout);
}
g_list_free (fadeout_windows);

View File

@ -0,0 +1,37 @@
--- gnome-session-2.11.90/gnome-session/manager.c
+++ gnome-session-2.11.90/gnome-session/manager.c
@@ -1381,8 +1381,10 @@
if (pending_list)
runlevel = client->priority;
}
- if (pending_list)
+ if (pending_list) {
+ splash_hide();
goto out;
+ }
}
save_state = MANAGER_IDLE;
save_state_changed ();
--- gnome-session-2.11.90/gnome-session/splash-widget.c
+++ gnome-session-2.11.90/gnome-session/splash-widget.c
@@ -604,3 +604,11 @@
}
}
+void
+splash_hide (void)
+{
+ if (global_splash) {
+ gtk_widget_hide (GTK_WIDGET (global_splash));
+ }
+}
+
--- gnome-session-2.11.90/gnome-session/splash-widget.h
+++ gnome-session-2.11.90/gnome-session/splash-widget.h
@@ -79,5 +79,6 @@
void splash_start (void);
void splash_update (const gchar *text);
void splash_stop (void);
+void splash_hide (void);
#endif /* SPLASH_WIDGET_H */

111
gnome-session-suspend.patch Normal file
View File

@ -0,0 +1,111 @@
Index: gnome-session/logout.c
===================================================================
RCS file: /cvs/gnome/gnome-session/gnome-session/logout.c,v
retrieving revision 1.60
diff -u -p -r1.60 logout.c
--- gnome-session/logout.c 26 Apr 2005 10:56:50 -0000 1.60
+++ gnome-session/logout.c 9 Feb 2006 12:16:45 -0000
@@ -43,14 +43,16 @@ enum
{
OPTION_LOGOUT,
OPTION_HALT,
- OPTION_REBOOT
+ OPTION_REBOOT,
+ OPTION_SUSPEND
};
static GConfEnumStringPair logout_options_lookup_table[] =
{
- { OPTION_LOGOUT, "logout" },
- { OPTION_HALT, "shutdown" },
- { OPTION_REBOOT, "restart" },
+ { OPTION_LOGOUT, "logout" },
+ { OPTION_HALT, "shutdown" },
+ { OPTION_REBOOT, "restart" },
+ { OPTION_SUSPEND, "suspend" },
{ 0, NULL }
};
@@ -329,13 +331,16 @@ display_gui (void)
gint response;
GtkWidget *halt = NULL;
GtkWidget *reboot = NULL;
+ GtkWidget *suspend = NULL;
GtkWidget *invisible;
gboolean halt_supported = FALSE;
gboolean reboot_supported = FALSE;
+ gboolean suspend_supported = FALSE;
gboolean retval = FALSE;
gboolean save_active = FALSE;
gboolean halt_active = FALSE;
gboolean reboot_active = FALSE;
+ gboolean suspend_active = FALSE;
GdmLogoutAction logout_action = GDM_LOGOUT_ACTION_NONE;
gboolean a11y_enabled;
GError *error = NULL;
@@ -431,8 +436,9 @@ display_gui (void)
halt_supported = gdm_supports_logout_action (GDM_LOGOUT_ACTION_SHUTDOWN);
reboot_supported = gdm_supports_logout_action (GDM_LOGOUT_ACTION_REBOOT);
+ suspend_supported = gdm_supports_logout_action (GDM_LOGOUT_ACTION_SUSPEND);
- if (halt_supported || reboot_supported)
+ if (halt_supported || reboot_supported || suspend_supported)
{
GtkWidget *title, *spacer;
GtkWidget *action_vbox, *hbox;
@@ -482,6 +488,13 @@ display_gui (void)
gtk_box_pack_start (GTK_BOX (action_vbox), r, FALSE, FALSE, 0);
gtk_widget_show (r);
}
+ if (suspend_supported)
+ {
+ r = suspend = gtk_radio_button_new_with_mnemonic_from_widget (GTK_RADIO_BUTTON (r), _("_Suspend the computer"));
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (r), (selected_option == OPTION_SUSPEND));
+ gtk_box_pack_start (GTK_BOX (action_vbox), r, FALSE, FALSE, 0);
+ gtk_widget_show (r);
+ }
}
gsm_center_window_on_screen (GTK_WINDOW (box), screen, monitor);
@@ -517,6 +530,9 @@ display_gui (void)
if (reboot)
reboot_active = GTK_TOGGLE_BUTTON (reboot)->active;
+ if (suspend)
+ suspend_active = GTK_TOGGLE_BUTTON (suspend)->active;
+
if (toggle_button)
save_active = GTK_TOGGLE_BUTTON (toggle_button)->active;
@@ -524,6 +540,8 @@ display_gui (void)
selected_option = OPTION_REBOOT;
else if (halt_active)
selected_option = OPTION_HALT;
+ else if (suspend_active)
+ selected_option = OPTION_SUSPEND;
else
selected_option = OPTION_LOGOUT;
@@ -545,14 +563,20 @@ display_gui (void)
case GTK_RESPONSE_OK:
/* We want to know if we should trash changes (and lose forever)
* or save them */
+ retval = TRUE;
if(save_active)
save_selected = save_active;
if (halt_active)
logout_action = GDM_LOGOUT_ACTION_SHUTDOWN;
else if (reboot_active)
logout_action = GDM_LOGOUT_ACTION_REBOOT;
+ else if (suspend_active)
+ {
+ logout_action = GDM_LOGOUT_ACTION_SUSPEND;
+ g_spawn_command_line_async ("powersave --suspend-to-disk", NULL);
+ retval = FALSE;
+ }
set_default_option (selected_option);
- retval = TRUE;
break;
default:
case GTK_RESPONSE_CANCEL:

View File

@ -0,0 +1,113 @@
--- gnome-session/main.c
+++ gnome-session/main.c
@@ -37,12 +37,16 @@
#include <libgnomeui/gnome-window-icon.h>
+#include <gdk/gdkx.h>
+
#include "manager.h"
#include "ice.h"
#include "save.h"
#include "command.h"
#include "splash-widget.h"
#include "util.h"
+#include "prop.h"
+#include "session.h"
#include "gsm-sound.h"
#include "gsm-gsd.h"
#include "gsm-keyring.h"
@@ -322,6 +326,84 @@
return (tm->tm_year >= 105); /* We start on Jan 1 2006 */
}
+static void
+fix_wm (Session *session)
+{
+ GSList *cl, *p;
+ Client *client = NULL;
+ SmProp *prop = NULL;
+
+ for (cl = session->client_list; cl; cl = cl->next)
+ {
+ client = cl->data;
+ if (client->match_rule != MATCH_ID)
+ continue;
+
+ prop = find_property_by_name (client, SmRestartCommand);
+ if (!prop)
+ continue;
+
+ if (!strcmp (prop->vals[0].value, "gnome-wm"))
+ return;
+ else if (!strcmp (prop->vals[0].value, "metacity") ||
+ !strcmp (prop->vals[0].value, "compiz"))
+ break;
+ }
+
+ if (!cl)
+ return;
+
+ if (VendorRelease (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ())) != 70000001)
+ {
+ /* Xorg */
+ if (!strcmp (prop->vals[0].value, "metacity"))
+ return;
+ }
+ else
+ {
+ /* Xgl */
+ if (!strcmp (prop->vals[0].value, "compiz"))
+ return;
+ }
+
+ /* At this point, either client is compiz and we're using Xorg, or
+ * client is metacity and we're using Xgl. Either way, replace it
+ * with gnome-wm.
+ */
+
+ for (p = client->properties; p; p = p->next)
+ SmFreeProperty (p->data);
+ g_slist_free (client->properties);
+
+ client->properties = NULL;
+
+ prop = malloc (sizeof (SmProp));
+ prop->name = strdup (SmRestartCommand);
+ prop->type = strdup (SmLISTofARRAY8);
+ prop->num_vals = 5;
+ prop->vals = malloc (5 * sizeof (SmPropValue));
+ prop->vals[0].value = strdup ("gnome-wm");
+ prop->vals[0].length = strlen (prop->vals[0].value);
+ prop->vals[1].value = strdup ("--default-wm");
+ prop->vals[1].length = strlen (prop->vals[1].value);
+ prop->vals[2].value = strdup ("gnome-wm");
+ prop->vals[2].length = strlen (prop->vals[2].value);
+ prop->vals[3].value = strdup ("--sm-client-id");
+ prop->vals[3].length = strlen (prop->vals[3].value);
+ prop->vals[4].value = strdup (client->id);
+ prop->vals[4].length = strlen (prop->vals[4].value);
+ client->properties = g_slist_prepend (client->properties, prop);
+
+ prop = malloc (sizeof (SmProp));
+ prop->name = strdup (GsmPriority);
+ prop->type = strdup (SmCARD8);
+ prop->num_vals = 1;
+ prop->vals = malloc (sizeof (SmPropValue));
+ prop->vals[0].value = calloc (2, 1);
+ prop->vals[0].length = 1;
+ client->properties = g_slist_prepend (client->properties, prop);
+}
+
int
main (int argc, char *argv[])
{
@@ -489,6 +571,8 @@
putenv (session_name_env);
the_session = read_session (session_name);
+ fix_wm (the_session);
+
gsm_sound_login ();
gsm_remote_desktop_start ();

1037
gnome-session.changes Normal file

File diff suppressed because it is too large Load Diff

632
gnome-session.spec Normal file
View File

@ -0,0 +1,632 @@
#
# spec file for package gnome-session (Version 2.16.1)
#
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
Name: gnome-session
BuildRequires: CASA-devel control-center2-devel gnome-common gnome-desktop-devel gnome-keyring gnome-patch-translation intltool libglade2-devel libnotify-devel perl-XML-Parser tcpd-devel update-desktop-files
%define prefix /opt/gnome
%define sysconfdir /etc%{prefix}
License: GNU General Public License (GPL), GNU Library General Public License v. 2.0 and 2.1 (LGPL)
Group: System/GUI/GNOME
Autoreqprov: on
Version: 2.16.1
Release: 36
Summary: Session Tools for the GNOME 2.x Desktop
Source: gnome-session-%{version}.tar.bz2
Source1: gnome
Source2: gnome.desktop
Patch1: gnome-session-2.0.5-dithering.patch
Patch4: gnome-session-suspend.patch
Patch6: gnome-session-DESKTOP_LAUNCH.patch
Patch7: gnome-session-splash-screen.diff
Patch8: gnome-session-remove-dns-warning.patch
Patch12: gnome-session-speedup.patch
Patch16: gnome-session-2.12.0-xgl-display-modal-2.patch
Patch18: gnome-session-2.12.0-su-session-management.patch
Patch19: gnome-session-2.12.0-unlock-keyring.patch
Patch21: gnome-session-2.12.0-kdm-support.patch
Patch22: gnome-session-motd.patch
Patch24: gnome-session-dist-splash.patch
Patch26: gnome-session-compiz.patch
Patch27: gnome-session-migrate-session-manual.patch
Patch29: gnome-session-wm-switch.patch
URL: http://www.gnome.org
BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: filesystem gconf2
Requires: control-center2
Obsoletes: gnome-core
%description
This package provides the basic session tools, like session management
functionality, for the GNOME 2.x Desktop.
Authors:
--------
Tom Tromey <tromey@cygnus.com>
Felix Bellaby <felix@pooh.u-net.com>
Ralph Mor, X Consortium
%prep
%setup -n gnome-session-%{version}
gnome-patch-translation-prepare
%patch1 -p1
%patch4
%patch6 -p1
%patch7 -p1
%patch8
%patch12
%patch16
%patch18 -p1
#%patch19 -p1
%if %suse_version > 1000
%patch21 -p1
%patch22
%patch24
%patch26
%patch27 -p1
%patch29
%endif
gnome-patch-translation-update
%build
autoreconf -f -i
ac_cv_path_PATH_TO_XRDB=/usr/bin/xrdb \
ac_cv_path_RSH_COMMAND=/usr/bin/rsh \
CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing " \
./configure \
--prefix=%prefix \
--sysconfdir=%sysconfdir \
--mandir=%prefix/share/man \
--localstatedir=/var/lib \
--with-reboot-command=/sbin/reboot \
--with-halt-command=/sbin/poweroff
make
%install
export GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1
make install DESTDIR=$RPM_BUILD_ROOT
unset GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL
#
# install startup script and xsession file
install -d -m755 $RPM_BUILD_ROOT/usr/bin
install -m755 %SOURCE1 $RPM_BUILD_ROOT/usr/bin/gnome
install -d -m755 $RPM_BUILD_ROOT/usr/share/xsessions
install -m644 %SOURCE2 $RPM_BUILD_ROOT/usr/share/xsessions/gnome.desktop
gzip -9nf $RPM_BUILD_ROOT%{prefix}/share/man/man?/*.?
%suse_update_desktop_file session-properties X-SuSE-ControlCenter-System
%find_lang %{name}-2.0
%post
export GCONF_CONFIG_SOURCE=`opt/gnome/bin/gconftool-2 --get-default-source`
opt/gnome/bin/gconftool-2 --makefile-install-rule etc/opt/gnome/gconf/schemas/gnome-session.schemas >/dev/null
%clean
rm -rf $RPM_BUILD_ROOT
%files -f %files -f %{name}-2.0.lang
%defattr (-, root, root)
%doc AUTHORS COPYING ChangeLog NEWS README
/usr/bin/gnome
%{prefix}/bin/*
%{prefix}/share/pixmaps/*
%{prefix}/share/gnome/default.session
%{prefix}/share/gnome/default.wm
/etc/%{prefix}/gconf/schemas/gnome-session.schemas
%{prefix}/share/applications/session-properties.desktop
%doc %{prefix}/share/man/man?/*.*
/usr/share/xsessions/*.desktop
# FIXME: should be in filesystem
%dir /usr/share/xsessions
%changelog -n gnome-session
* Fri Dec 22 2006 - federico@novell.com
- Removed the part of /usr/bin/gnome that overwrites the
/desktop/gnome/font_rendering/dpi setting in GConf upon the user's
first login. With an updated control-center2 package,
gnome-settings-daemon will take care of figuring out the right DPI
value. Fixes the gnome-session part of
https://bugzilla.novell.com/show_bug.cgi?id=217790.
* Sat Oct 14 2006 - danw@suse.de
- Remove dead patches
- Update and re-enable gnome-session-remove-dns-warning.patch
* Fri Oct 13 2006 - dreveman@suse.de
- Update compiz patch so it works with compiz 0.2.
* Wed Oct 11 2006 - danw@suse.de
- Use a more explicit test for Xgl so that we don't try to run compiz
under Xorg when compositing isn't enabled. #197093
- Remove some patches that were disabled with the 2.16 update that
are definitely no longer relevant
* Tue Oct 03 2006 - jhargadon@suse.de
- update to version 2.16.1
- Updated man pages from Debian
- translation updates
* Thu Sep 14 2006 - jhargadon@suse.de
- update to version 2.16.0
- Updated splash screen
- translation updates
* Thu Aug 31 2006 - jhargadon@suse.de
- update to version 2.15.92
- Fix crash caused by debug output on Solaris
- translation updates
* Fri Aug 25 2006 - stbinner@suse.de
- unbreak package by using new X.org 7.1 paths (#200466)
* Wed Aug 23 2006 - jhargadon@suse.de
- update to version 2.15.91
- Fix leaks
- Use GOption
- Make it possible to really disable the login sound
- Set the right parent window for an error dialog
- Update keyring daemon DISPLAY environment variable if it's already
running
- Fix sensitivity of edit/delete buttons when editing sessions
- Add support for e16 window manager in gnome-wm
- Fix edition of startup programs containing a space in a command line
argument
- Add gnome-keyring dependency
* Tue Aug 01 2006 - danw@suse.de
- If the session explicitly specifies metacity or compiz, but
the "wrong" X server for that wm is running, switch back to
gnome-wm. #180506
* Fri Jun 16 2006 - danw@suse.de
- Pass --replace to compiz and gnome-window-decorator in case the
copies run by gdm don't exit properly. #185296
* Mon Jun 12 2006 - rodrigo@suse.de
- Added patch to create ~/.config/autostart before starting the
migration from previous versions (#169509)
* Fri Jun 02 2006 - gekker@suse.de
- Fix pager on upgrade (#181264)
* Wed May 31 2006 - jpr@suse.de
- Don't run the migration script for new users (#179332)
* Wed May 24 2006 - joeshaw@suse.de
- Fix the gnome script to not break when setting the background on
multihead setups. Patch from Erik Jacobsen. (bnc #178388)
* Sun May 21 2006 - jpr@suse.de
- Reset the user's UI if upgrading from NLD9/SLES9 to SLED10, leave ui
for SLES10 upgrades (#174123)
* Sat May 13 2006 - hpj@suse.de
- Update keyring unlockage patch to try both CASA's
Gnome_Keyring_Default and Desktop passwords. Part of fix for
Novell bug #174093.
* Tue May 09 2006 - joeshaw@suse.de
- Fix a bash arithmetic typo introduced in the March 27 commit.
(bnc #173808)
* Wed May 03 2006 - danw@suse.de
- Update gnome-wm to pick metacity or compiz based on whether it's
actually running under Xgl or not, regardless of what
/etc/sysconfig/displaymanager says. Fixes Xnest logins. #170839.
* Tue May 02 2006 - joeshaw@suse.de
- Don't write out a font using raw XML to the gconf database,
that's wrong and evil. Instead, try to set the desktop's DPI
value using gconftool-2. (bnc #171096)
* Fri Apr 28 2006 - rodrigo@suse.de
- Save modified autostart files to user's home when they come from
system-wide directories (170038).
* Wed Apr 26 2006 - rodrigo@suse.de
- Don't free session_name, since it's needed at the end for saving
the session correctly (169672).
* Thu Apr 13 2006 - sbrabec@suse.cz
- Call %%suse_update_desktop_file.
- Use new control-center Categories instead of old ones.
* Fri Apr 07 2006 - danw@suse.de
- Patch gnome-wm to prefer compiz when Xgl is running
* Wed Apr 05 2006 - hpj@suse.de
- Fix keyring unlock patch to use g_strlcpy() correctly again.
Fixes bug #159593 together with a CASA fix.
* Fri Mar 31 2006 - rodrigo@suse.de
- Added missing "/" for /etc/xdg/autostart searching (#161322)
* Mon Mar 27 2006 - jpr@suse.de
- Handle only shipping 2 sizes of backgrounds
* Tue Mar 21 2006 - rodrigo@suse.de
- Added support for /etc/xdg/autostart directory, so that
common services (zen-updater) can share it with GNOME/KDE.
* Wed Mar 15 2006 - rodrigo@suse.de
- Added gnome-session-code-review.patch, resulting from the code
review done by some members of the desktop team. It fixes a few
leaks, avoids spawning unnecessary processes and makes use of
a shared GConfClient for all the modules.
* Fri Mar 10 2006 - jpr@suse.de
- Re-enable splash screen, point at the generically named splash in
the gnome2-* packages so suse/sle[sd] branding is differentiated
* Thu Mar 09 2006 - rodrigo@suse.de
- Removed gnome-session-default-applications.patch, all needed
applications are now started, if installed, via the autostart
mechanism.
* Mon Mar 06 2006 - rodrigo@suse.de
- Fixed support for multiple system autostart directories.
- Disable GUI operations for system-wide files (#154755).
* Thu Mar 02 2006 - rodrigo@suse.de
- Support GNOME 2.14 autostart directory also.
- Use g_strlcpy instead of strcpy when copying passwords.
* Wed Feb 22 2006 - rodrigo@suse.de
- Added gnome-session-gsd-early-start.patch that fixes #150256.
* Thu Feb 16 2006 - rodrigo@suse.de
- Don't try to remove non-existing files (#145870)
* Thu Feb 16 2006 - rodrigo@suse.de
- Updated gnome-session-suspend-patch to make suspend work as
expected (#117491)
* Wed Feb 15 2006 - rodrigo@suse.de
- Added MOTD on login, as requested by customer.
* Mon Feb 13 2006 - hpj@suse.de
- Added patch to support KDM's logout options.
* Fri Feb 10 2006 - joeshaw@suse.de
- Remove the beagled invocation from the /usr/X11R6/bin/gnome
shell script; it gets invoked through the new autostart
mechanism now. (bnc #150041)
* Thu Feb 09 2006 - rodrigo@suse.de
- Updated gnome-session-suspend.patch to not exit the X session
when suspend is selected on the logout dialog (117491)
* Wed Feb 08 2006 - joeshaw@suse.de
- Add an "--indexing-delay 300" option when starting beagled.
This will reduce disk thrash at login time by waiting 5 minutes
before it starts to index.
* Wed Feb 08 2006 - aj@suse.de
- No need to link against micasa anymore.
- Reduce BuildRequires.
* Mon Feb 06 2006 - hpj@suse.de
- Fixed gnome-keyring-unlock patch to give correct soname for
casa.
* Mon Feb 06 2006 - hpj@suse.de
- Updated gnome-keyring-unlock patch with dlopen hack from CASA
team. I have no idea why this is required.
* Mon Feb 06 2006 - ro@suse.de
- make it build on x86_64 (adding libdir to CASA unlock patch)
* Fri Feb 03 2006 - rodrigo@suse.de
- Added gnome-session-rdesktop.diff, that fixes hang on login when
a11y enabled (147985)
* Wed Feb 01 2006 - sbrabec@suse.cz
- Use translation compendium gnome-patch-translation.
* Wed Feb 01 2006 - rodrigo@suse.de
- Remove duplicated processes by comparing the program name, not
the whole command line.
* Sat Jan 28 2006 - hpj@suse.de
- Added patch to unlock default GNOME keyring using the CASA
password, optionally creating it if it doesn't exist.
* Fri Jan 27 2006 - hpj@suse.de
- Set the ICEAUTHORITY env var so programs running as root can
get to the cookies. Eliminates hangs on logout.
* Wed Jan 25 2006 - mls@suse.de
- converted neededforbuild to BuildRequires
* Tue Jan 17 2006 - rodrigo@suse.de
- Updated autostart patch with a simple fix for a crash found when
starting the session.
- Fixed build by depending on dbus-1-*
* Mon Jan 16 2006 - rodrigo@suse.de
- Fixed ia64 build by depending on hal/hal-devel.
* Mon Jan 16 2006 - rodrigo@suse.de
- Updated autostart patch to include user's ability to disable
autostarted programs.
* Thu Jan 12 2006 - rodrigo@suse.de
- Added upstream patch for #105789.
* Wed Jan 11 2006 - jpr@suse.de
- Remove hardcoded susewatcher (130893)
* Tue Jan 10 2006 - rodrigo@suse.de
- Updated autostart patch that includes code to migrate from the
old ~/.gnome2/session-manual to the .desktop file-based thing
in the user's home directory.
* Sun Jan 08 2006 - dreveman@suse.de
- Improved logout effect patch
* Thu Jan 05 2006 - rodrigo@suse.de
- Small fix to previous patch to avoid crash.
* Thu Jan 05 2006 - rodrigo@suse.de
- Updated autostart patch to include usage of .config/autostart for
user-specified autostarted programs in sessions capplet.
* Wed Jan 04 2006 - dreveman@suse.de
- Add patch with support for compositing manager logout effects
* Tue Dec 13 2005 - rodrigo@suse.de
- Fixed user's autostart directory.
* Fri Dec 09 2005 - rodrigo@suse.de
- Don't autostart beagle, it's now started via the autostart thing.
* Wed Dec 07 2005 - rodrigo@suse.de
- Don't autostart resapplet, it now includes its .desktop file
in the autostart directory.
* Tue Nov 22 2005 - rodrigo@suse.de
- Don't start nm-applet and netapplet, now started via the autostart
thing.
* Wed Nov 16 2005 - jpr@suse.de
- Use "default" links for wallpaper
- Don't hard code background color during startup
- Turn off splash screen by default
* Mon Nov 14 2005 - rodrigo@suse.de
- Updated autostart patch to support per user's autostart directory
and to remove duplicated entries (based on command line).
* Thu Nov 10 2005 - rodrigo@suse.de
- Added support for X-GNOME-Autostart-enabled field in autostart
.desktop files.
* Wed Nov 09 2005 - rodrigo@suse.de
- Added autostart implementation patch.
- Removed execution of gnome-power/volume-manager, now started
via the autostart thing.
* Wed Nov 02 2005 - sreeves@suse.de
- add gnome-session-login-sounds.patch to fix the default system
sound playing when the user has selected no sound.
* Wed Oct 26 2005 - rml@suse.de
- Add "--sm-disable" to nm-applet spawning. No point in using
session management if we are going to start the thing manually.
Fix requested by Joey "Buckeye" Shaw.
* Mon Oct 17 2005 - rodrigo@suse.de
- Start gnome-power-manager also.
* Tue Oct 04 2005 - rodrigo@suse.de
- Don't launch gnome-session via dbus-launch.
* Mon Sep 12 2005 - aj@suse.de
- Use SUSE Linux 10.0 background [#102355].
* Tue Sep 06 2005 - sbrabec@suse.cz
- Updated to version 2.12.0.
* Mon Aug 29 2005 - jpr@suse.de
- Remove hacky workaround for 104161 (fixed upstream in gtk 2.8.2)
- Update branding (102355)
* Mon Aug 22 2005 - gekker@suse.de
- Update path to autostart NetworkManager applet in new location
* Fri Aug 19 2005 - jpr@suse.de
- Update to blue splash screen coloring
* Wed Aug 17 2005 - clahey@suse.de
- Improve performance of logout fading.
* Fri Aug 12 2005 - gekker@suse.de
- Add --autostarted to beagled and best (102606)
- Autostart nm-applet if it is installed
- Remove suseplugger, no longer needed
- Workaround crash in netapplet and best on startup
* Thu Aug 11 2005 - jpr@suse.de
- Update splash for 10.0
* Tue Aug 09 2005 - rodrigo@suse.de
- Update to 2.11.91, which includes fix for #102652
* Fri Aug 05 2005 - gekker@suse.de
- Start gnome-volume-manager with session
* Thu Aug 04 2005 - gekker@suse.de
- Start beagle by default, disable with ~/.dontrunbeagle
* Tue Aug 02 2005 - gekker@suse.de
- Update to 2.11.90
* Mon Aug 01 2005 - rodrigo@suse.de
- Use --exit-with-session when running dbus-launch, to avoid leaving
running processes after terminating the session.
* Fri Jul 22 2005 - rodrigo@suse.de
- Start gnome-session with dbus-launch, to get the notification
daemon working for new gnome-applets
- Depend on dbus-1-x11, for dbus-launch
* Thu Jun 23 2005 - gekker@suse.de
- Update to version 2.11.1
* Thu May 05 2005 - gekker@suse.de
- Launch iprint-gnome-init by default
* Mon Mar 21 2005 - gekker@suse.de
- Don't run beagle unless ~/.runbeagle exists (#74029)
* Sat Mar 19 2005 - jody@suse.de
- Enable suspend if it is available. (#73000)
* Thu Mar 17 2005 - clahey@suse.de
- Patch fixes freeze on login.
* Wed Mar 16 2005 - sbrabec@suse.cz
- Fixed gnome-session-desktop-file.patch (#73047).
* Mon Mar 14 2005 - clahey@suse.de
- Update gnome splash from artists.
* Thu Mar 10 2005 - gekker@suse.de
- Update to version 2.10.0 (GNOME 2.10).
* Mon Mar 07 2005 - gekker@suse.de
- mv suseplugger to default-apps patch
- launch netapplet, resapplet, and best on startup
* Fri Feb 25 2005 - gekker@suse.de
- Add launch wrapper to launch beagled if installed in file gnome
* Wed Feb 09 2005 - sbrabec@suse.cz
- Added session desktop file.
* Tue Dec 21 2004 - gekker@suse.de
- Update to version 2.9.2
- Remove remove-purge-timeout patch, already upstream
- Reworked a couple patches
- Changed no -> nb to be like most other gnome modules
* Thu Oct 21 2004 - ro@suse.de
- locale rename: no -> nb
* Wed Oct 06 2004 - hhetter@suse.de
- call gconftool-2 instead of gconftool, don't trigger
gconfd-1 on first startup with preconfiguration (#46917)
* Mon Sep 27 2004 - hhetter@suse.de
- also start susewatcher (#46161)
* Sat Sep 25 2004 - hhetter@suse.de
- use a cascaded KDE configuration in GNOME, allows to make
things like suseplugger better suited for GNOME (part of #45420)
* Tue Sep 21 2004 - hhetter@suse.de
- force new 9.2 wallpapers when updating from 9.1
* Mon Sep 20 2004 - hhetter@suse.de
- adapt gnome session script for the new wallpapers
* Fri Sep 17 2004 - hhetter@suse.de
- use gconftool to set background in the pre session script
- fix picture_scale string (partly #45418 )
* Fri Sep 10 2004 - ro@suse.de
- added shared-mime-info to neededforbuild
* Fri Sep 10 2004 - hhetter@suse.de
- run use_default_session again to make the 9.2 distribution
wallpapers accessible
* Thu Sep 09 2004 - federico@ximian.com
- Added gnome-session-remove-purge-timeout.diff, to fix
http://bugzilla.gnome.org/show_bug.cgi?id=151664
- Changed gnome-session-suseplugger.patch to run suseplugger with
better options.
* Mon Aug 30 2004 - hhetter@suse.de
- remove gnome-session-branding.patch, use the original
gnome 2.6 splash (for now)
* Wed Aug 25 2004 - shprasad@suse.de
- Fixes bug #63860
Fixes gnome-session crash at logout.
* Fri Aug 20 2004 - shprasad@suse.de
- Fixes bug #61567
kdm shows 'Reboot' and 'Shutdown' options at the time
of logout.
* Fri Aug 06 2004 - clahey@suse.de
- Added gnome-session-remove-dns-warning.patch from Federico.
* Fri Jul 16 2004 - shprasad@suse.de
- Fixes bug #59918
Hides the splash-screen once the difault setting gets loaded.
* Thu Jul 08 2004 - sbrabec@suse.cz
- Added DESKTOP_LAUNCH patch from Jan Holesovsky.
* Fri Jun 18 2004 - dave@suse.de
- Don't set the wallpaper or font in the gnome startup script.
* Fri Jun 11 2004 - clahey@suse.de
- Added gnome-session-use-gdmctl.patch.
* Fri Jun 04 2004 - clahey@suse.de
- Switch to Novell session splash screen.
* Thu Jun 03 2004 - mibarra@suse.de
- Make GNOME use suseplugger
* Tue May 11 2004 - clahey@suse.de
- Added gnome-session-2.0.5-dithering.patch to use MAX dithering.
- Added gnome-session-desktop-file.patch to make gnome-session show
up in control-center.
* Mon Apr 26 2004 - sbrabec@suse.cz
- Updated to version 2.6.1 (GNOME 2.6).
* Tue Apr 06 2004 - hhetter@suse.de
- fix incomplete usage of YAST_DIR (#38374), to get visible
YaST Icons
* Thu Apr 01 2004 - hhetter@suse.de
- change YAST_DIR for GNOME_ICON_PATH to reflect it's new
location in ./theme/current/icons/
* Wed Mar 24 2004 - hhetter@suse.de
- extend arbitrary icon path with some more crystalsvg locations
* Mon Mar 22 2004 - hhetter@suse.de
- added arbitrary icon path to gnome session
* Mon Mar 15 2004 - sbrabec@suse.cz
- FHS 2.3 fix (mandir, infodir, #35821).
* Thu Mar 11 2004 - sbrabec@suse.cz
- Export STYLE variable in GNOME session, as startkde does.
* Wed Mar 10 2004 - sbrabec@suse.cz
- Fixed %%doc attributes (#33163).
* Fri Mar 05 2004 - hhetter@suse.de
- use new wallpaper path (now using desktop-data-SuSE) and
filenames
* Mon Feb 23 2004 - sbrabec@suse.cz
- Removed incorrect initialization of LD_LIBRARY_PATH (bug #34777).
* Thu Feb 12 2004 - hhetter@suse.de
- gconf schema (de-)installation in %%post and %%postun
* Thu Feb 05 2004 - hhetter@suse.de
- updated to version 2.4.2 [GNOME2.4.2]
* Sat Jan 10 2004 - adrian@suse.de
- fix build as user
* Thu Nov 06 2003 - hhetter@suse.de
- no longer create .gnome-desktop
* Mon Oct 27 2003 - sbrabec@suse.cz
- Updated to version 2.4.1.
* Tue Oct 07 2003 - sbrabec@suse.cz
- Updated to version 2.4.0 (GNOME 2.4).
* Mon Sep 22 2003 - hhetter@suse.de
- obsolete gnome-core (Bug Id # 31480)
- remove intro script from default session (Bug Id#29807)
* Fri Sep 05 2003 - sbrabec@suse.cz
- gnome: Prevent GTK1 theme overlay (bug 25645, comment #36).
* Fri Sep 05 2003 - hhetter@suse.de
- add support for preconfigured gnome1 settings
* Tue Aug 05 2003 - sbrabec@suse.cz
- Session start script gnome: don't use GNOMEPATH, updated GTK_RC_FILES.
* Tue Jul 15 2003 - sbrabec@suse.cz
- GNOME prefix change to /opt/gnome.
* Wed Jun 25 2003 - sbrabec@suse.cz
- Updated to version 2.2.2.
- Updated neededforbuild.
- Use %%find_lang.
- Added support for tcpd.
- Require control-center2.
- Removed distribution desktop files.
* Wed May 28 2003 - sbrabec@suse.cz
- Compress manpages.
* Wed May 28 2003 - ro@suse.de
- added manpages to filelist
* Tue Mar 18 2003 - sbrabec@suse.cz
- Variables already set in profile files removed from session startup
file (consequence of bugfixes #25086, #25170, #25575).
- Manage GTK1 themes with gnome-theme-manager (set GTK_RC_FILES).
* Mon Mar 17 2003 - sbrabec@suse.cz
- Removed /opt/gnome2 from GNOME2_PATH (fixes #24601).
* Mon Mar 03 2003 - hhetter@suse.de
- remove documents directories (Bug Id#24589)
- add search path for KDE icons (Bug Id#24590)
* Mon Feb 24 2003 - hhetter@suse.de
- mention feedback website in session script
instead of feedback@suse.de
* Thu Feb 20 2003 - hhetter@suse.de
- set G_BROKEN_FILENAMES=1 to handle invalid UTF8
filenames as local-specific
* Tue Feb 18 2003 - hhetter@suse.de
- fill solid color at first time
* Fri Feb 14 2003 - hhetter@suse.de
- use GTK_DATA_PREFIX while in GNOME Session
* Thu Feb 13 2003 - hhetter@suse.de
- set GNOME2_PATH in session
* Tue Feb 11 2003 - hhetter@suse.de
- fix documents-file creation
* Mon Feb 10 2003 - hhetter@suse.de
- updated to version 2.2.0.2 [GNOME 2.2.0]
- removed Intro script (moving to preconfiguration package)
- allow for different splash image via preconfiguration package
* Tue Jan 28 2003 - hhetter@suse.de
- updated to version 2.2.0.1
- some SLOD feature backports
(file type desktop links, Intro script)
* Thu Jan 16 2003 - sbrabec@suse.cz
- Added libjpeg to neededforbuild.
* Thu Nov 28 2002 - hhetter@suse.de
- updated to version 2.0.9 [GNOME 2.0.3]
* Mon Nov 11 2002 - ro@suse.de
- changed neededforbuild <xf86 xdevel> to <x-devel-packages>
* Wed Nov 06 2002 - hhetter@suse.de
- use correct kde-datadir
- no longer create .gnome for gnome-vfs2
- look for addon scripts to run on first start
* Tue Oct 22 2002 - hhetter@suse.de
- updated to version 2.0.10
- removed wrong docdir
* Tue Sep 24 2002 - sbrabec@suse.cz
- Added alsa-devel to neededforbuild, because esound-devel can require it.
* Thu Sep 19 2002 - sbrabec@suse.cz
- Added alsa to neededforbuild, because esound can depend on it.
* Tue Sep 17 2002 - hhetter@suse.de
- added correct hu translations
* Mon Sep 02 2002 - hhetter@suse.de
- set background to gray until splash becomes visible
(reviewed by Ken)
* Thu Aug 29 2002 - hhetter@suse.de
- rename gnome2 to gnome, to keep the GNOME session for
users who are updating the distribution (Bug Id#18552)
* Thu Aug 22 2002 - hhetter@suse.de
- use jpg as wallpaper format for preconfiguration
* Tue Aug 20 2002 - hhetter@suse.de
- added PreReq: filesystem
* Tue Aug 13 2002 - hhetter@suse.de
- remove control-center deps from neededforbuild
* Thu Aug 08 2002 - hhetter@suse.de
- updated to version 2.0.5, bug id's relate to bugzilla.gnome.org
* Fix crashing when starting emacs, #89968
* Mon Aug 05 2002 - hhetter@suse.de
- updated to version 2.0.4
* amend global save to Both if user selects save session
* capplet saving state fix
* translation updates
* Thu Aug 01 2002 - hhetter@suse.de
- include the session startup script
* Tue Jul 30 2002 - hhetter@suse.de
- updated to version 2.0.3
session-manager:
* Re-write the splash screen to not use the canvas
* Fix crash with logout dialog
* Make file selector when editing startup programs modal
* Increased initial client timeout to 30 seconds
Translation updates
* Tue Jul 23 2002 - hhetter@suse.de
- updated to version 2.0.2
* Thu Jun 20 2002 - hhetter@suse.de
- updated to version 2.0.1
- don't install schemas while make install
* Mon Jun 17 2002 - ro@suse.de
- use libpng-devel-packages in neededforbuild
* Fri Jun 14 2002 - hhetter@suse.de
- provide schema file
- filelist rework
* Tue Jun 11 2002 - hhetter@suse.de
- updated to version 2.0.0
* Tue Jun 04 2002 - hhetter@suse.de
- updated to version 1.5.21, source frozen
* Mon Apr 15 2002 - hhetter@suse.de
- initial SuSE Release

65
gnome.desktop Normal file
View File

@ -0,0 +1,65 @@
[Desktop Entry]
Encoding=UTF-8
Type=XSession
Exec=gnome
TryExec=gnome
Name=GNOME
Name[ar]=جينوم
Name[bn]=
Name[cs]=GNOME
Name[eo]=Gnomikuo
Name[hi]=
Name[mn]=ГНОМЕ
Name[sv]=Gnome
Name[ta]=
Name[xx]=xxGNOMExx
Comment=The GNU Network Object Model Environment. A complete, free and easy-to-use desktop environment
Comment[ar]=بيئة نموذج الكائن الشبكي من GNU، بيئة سطح مكتبي حرّة وسهلة الاستخدام
Comment[bn]=ি ি ি ,
Comment[bs]=GNU Network Object Model Environment. Kompletna, slobodna i jednostavna za upotrebu desktop okolina
Comment[ca]=El GNU Network Object Model Environment. Un complet, lliure i fàcil d'usar entorn d'escriptori
Comment[cs]=GNU Network Object Model Environment. Úplné, svobodné a snadno použitelné pracovní prostředí
Comment[cy]=Yr Amgylchedd Model Gwrthrych Rhwydwaith GNU (GNU Network Object Model Environment). Amgylchedd penbwrdd cyflawn, rhydd, a hawdd ei ddefnyddio.
Comment[da]=GNU Network Object Model Environment. Et fuldstænding, frit og nemt at bruge desktopmiljø
Comment[de]=Das GNU Network Object Model Environment. Eine komplette, freie und leicht benutzbare Arbeitsumgebung
Comment[el]=Το GNU Network Object Model Environment. Ένα πλήρης, ελεύθερο και εύκολο στη χρήση περιβάλλον επιφάνειας εργασίας
Comment[eo]=Plena labortabla ĉirkaŭaĵo
Comment[es]=El GNU Network Object Model Environment, un entorno de escritorio completo, libre y fácil de usar
Comment[et]=GNU Network Object Model Environment on täielik, vaba ja väga hõlpsasti kasutatav töölaua keskkond
Comment[eu]=GNU Network Object Model Environment. mahaigain-ingurune oso, libre eta erabilterreza
Comment[fi]=GNU Network Object Model Environment. Valmis, vapaa ja helppokäyttöinen työpöytäympäristö
Comment[fr]=The GNU Network Object Model Environment. Un environnement de bureau complet, gratuit et facile à utiliser
Comment[fy]=De GNU Network Object Model Environment, In komplete, frije en ienfâldige te brûken buroblêd omwrâld
Comment[gl]=O GNU Network Object Model Environment. Un entorno de escritorio completo, ceibe e de uso doado
Comment[he]=The GNU Network Object Model Environment. סביבת עבודה מלאה, חופשית וקלה לשימוש
Comment[hi]= . ,
Comment[hu]=GNU Network Object Model Environment (GNOME), egy teljes, ingyenes, könnyen kezelhető grafikus környezet
Comment[is]=GNU Network Object Model Environment er fullkomið og fjrálst skjáborðsumhverfi sem er auðvelt að nota
Comment[it]=Il GNU Network Object Model Environment. Un ambiente desktop completo, libero e facile da usare
Comment[ja]=GNU,使
Comment[lt]=GNU tinklo objektų modeliavimo aplinka. Savarankiška, laisva ir lengvai naudojama darbastalio aplinka
Comment[mk]=GNU Network Object Model Environment. Работна околина која е комплетна, слободна и едноставна за користење
Comment[mn]=GNU Network Object Model Environment. Бүрэн, үнэгүй хэрэглэхэд хялбар дэлгэцийн системийн орчин
Comment[mt]=GNU Network Object Model Environment. Ambjent grafiku komplet, ħieles u faċli tużah.
Comment[nb]=GNU Network Object Model Environment. Et skrivebordsmiljø som er komplett, fritt og lett å bruke.
Comment[nds]=De GNU Network Object Model Environment. En kumplette Schriefdisch-Ümgeven, ümsunst un eenfach to bruken
Comment[nl]=De GNU Network Object Model Environment, een complete, vrije en eenvoudig te gebruiken desktop environment.
Comment[nn]=GNU Network Object Model Environment. Eit skrivebordsmiljø som er komplett, fritt og lett å bruka.
Comment[pa]=GNU Network Object Model Environment , ਿ ਿ ਿ
Comment[pl]=GNU Network Object Model Environment (GNOME). Pełne, wolne i łatwe w użyciu środowisko pulpitu
Comment[pt]=O GNU Network Object Model Environment. Um ambiente de trabalho completo, livre e fácil de usar
Comment[pt_BR]=Acrônimo para GNU Network Object Model Environment ou Ambiente de Modelo de Objetos de Rede GNU; um ambiente de trabalho completo, livre e fácil de usar
Comment[ro]=GNU Network Object Model Environment. Un mediu grafic complet, gratuit şi uşor de utilizat
Comment[ru]=GNU Network Object Model Environment - полная, свободная и легкая в использовании графическая среда
Comment[sk]=The GNU Network Object Model Environment. Úplné, voľne šíriteľné a ľahko používateľné pracovné prostredie
Comment[sl]=GNU Network Object Model Environment. Popolno, prosto in preposto namizno okolje
Comment[sr]=GNU Network Object Model Environment(Gnome, Гном). Потпуно, бесплатно и лако за коришћење радно окружење
Comment[sr@Latn]=GNU Network Object Model Environment(Gnome, Gnom). Potpuno, besplatno i lako za korišćenje radno okruženje
Comment[sv]=GNU Network Object Model Environment. En fullständig, fri och lättanvänd skrivbordsmiljö
Comment[ta]=GNU ிி . , ி
Comment[tr]=GNU Network Object Model Environment (GNOME)
Comment[uk]=The GNU Network Object Model Environment. Повнофункціональне, вільне та зручне графічне середовище
Comment[uz]=GNOME (GNU Network Object Model Environment) - мукаммал, бепул ва фойдаланиш учун жуда қулай иш столи муҳити
Comment[vi]=Môi trưng kiu đi tưng ca GNU: Mt môi trưng desktop đy đ, min phí và d s dng
Comment[xx]=xxThe GNU Network Object Model Environment. A complete, free and easy-to-use desktop environmentxx
Comment[zh_CN]=GNU

0
ready Normal file
View File