parent
5aa70436a8
commit
b8e04dc0e7
|
@ -1,28 +0,0 @@
|
|||
From d4b48de2495068d9b635a7ab475ace06476d5a42 Mon Sep 17 00:00:00 2001
|
||||
From: Ionut Biru <ibiru@archlinux.org>
|
||||
Date: Mon, 6 Dec 2010 17:44:44 -0800
|
||||
Subject: [PATCH] Fix version in login window when file is empty
|
||||
|
||||
fgets return NULL and there is no point duplicating the line with random
|
||||
value from buf.
|
||||
|
||||
Signed-off-by: Ionut Biru <ibiru@archlinux.org>
|
||||
---
|
||||
gui/simple-greeter/gdm-greeter-login-window.c | 1 +
|
||||
1 files changed, 1 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/gui/simple-greeter/gdm-greeter-login-window.c b/gui/simple-greeter/gdm-greeter-login-window.c
|
||||
index ca170a5..0823a3c 100644
|
||||
--- a/gui/simple-greeter/gdm-greeter-login-window.c
|
||||
+++ b/gui/simple-greeter/gdm-greeter-login-window.c
|
||||
@@ -1096,6 +1096,7 @@ file_read_one_line (const char *filename)
|
||||
|
||||
if (fgets (buf, sizeof (buf), f) == NULL) {
|
||||
g_warning ("Unable to read from file %s", filename);
|
||||
+ goto out;
|
||||
}
|
||||
|
||||
line = g_strdup (buf);
|
||||
--
|
||||
1.7.3.2
|
||||
|
|
@ -1,506 +0,0 @@
|
|||
diff --git a/configure.ac b/configure.ac
|
||||
index ed07dce..bf98669 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -45,7 +45,7 @@ GTK_REQUIRED_VERSION=2.20.0
|
||||
PANGO_REQUIRED_VERSION=1.3.0
|
||||
SCROLLKEEPER_REQUIRED_VERSION=0.1.4
|
||||
GCONF_REQUIRED_VERSION=2.31.3
|
||||
-GNOME_PANEL_REQUIRED_VERSION=2.0.0
|
||||
+GNOME_PANEL_REQUIRED_VERSION=2.31.90
|
||||
LIBXKLAVIER_REQUIRED_VERSION=4.0
|
||||
LIBCANBERRA_GTK_REQUIRED_VERSION=0.4
|
||||
#FONTCONFIG_REQUIRED_VERSION=2.6.0
|
||||
@@ -152,7 +152,7 @@ AC_SUBST(SIMPLE_CHOOSER_LIBS)
|
||||
PKG_CHECK_MODULES(APPLET,
|
||||
dbus-glib-1 >= $DBUS_GLIB_REQUIRED_VERSION
|
||||
gtk+-2.0 >= $GTK_REQUIRED_VERSION
|
||||
- libpanelapplet-2.0 >= $GNOME_PANEL_REQUIRED_VERSION)
|
||||
+ libpanelapplet-3.0 >= $GNOME_PANEL_REQUIRED_VERSION)
|
||||
AC_SUBST(APPLET_CFLAGS)
|
||||
AC_SUBST(APPLET_LIBS)
|
||||
|
||||
diff --git a/gui/user-switch-applet/GNOME_FastUserSwitchApplet.server.in.in b/gui/user-switch-applet/GNOME_FastUserSwitchApplet.server.in.in
|
||||
deleted file mode 100644
|
||||
index a9b775f..0000000
|
||||
--- a/gui/user-switch-applet/GNOME_FastUserSwitchApplet.server.in.in
|
||||
+++ /dev/null
|
||||
@@ -1,38 +0,0 @@
|
||||
-<oaf_info>
|
||||
- <oaf_server iid="OAFIID:GNOME_FastUserSwitchApplet_Factory" type="exe"
|
||||
- location="@LIBEXECDIR@/gdm-user-switch-applet">
|
||||
-
|
||||
- <oaf_attribute name="repo_ids" type="stringv">
|
||||
- <item value="IDL:Bonobo/GenericFactory:1.0"/>
|
||||
- <item value="IDL:Bonobo/Unknown:1.0"/>
|
||||
- </oaf_attribute>
|
||||
- <oaf_attribute name="name" type="string" _value="User Switcher Applet Factory"/>
|
||||
- <oaf_attribute name="description" type="string" _value="User Switcher Applet Factory"/>
|
||||
- <oaf_attribute name="bonobo:environment" type="stringv">
|
||||
- <item value="DBUS_SESSION_BUS_ADDRESS"/>
|
||||
- <oaf_attribute name="bugzilla:bugzilla" type="string" value="GNOME"/>
|
||||
- <oaf_attribute name="bugzilla:product" type="string" value="gdm"/>
|
||||
- <oaf_attribute name="bugzilla:component" type="string" value="general"/>
|
||||
- <oaf_attribute name="bugzilla:version" type="string" value="@VERSION@"/>
|
||||
- <oaf_attribute name="bugzilla:other_binaries" type="string" value="gdm-user-switch-applet"/>
|
||||
- </oaf_attribute>
|
||||
- </oaf_server>
|
||||
-
|
||||
- <oaf_server iid="OAFIID:GNOME_FastUserSwitchApplet" type="factory"
|
||||
- location="OAFIID:GNOME_FastUserSwitchApplet_Factory">
|
||||
-
|
||||
- <oaf_attribute name="repo_ids" type="stringv">
|
||||
- <item value="IDL:GNOME/Vertigo/PanelAppletShell:1.0"/>
|
||||
- <item value="IDL:Bonobo/Control:1.0"/>
|
||||
- <item value="IDL:Bonobo/Unknown:1.0"/>
|
||||
- </oaf_attribute>
|
||||
- <oaf_attribute name="name" type="string" _value="User Switcher"/>
|
||||
- <oaf_attribute name="description" type="string" _value="A menu to quickly switch between users"/>
|
||||
- <oaf_attribute name="panel:icon" type="string" value="stock_people"/>
|
||||
- <oaf_attribute name="bugzilla:bugzilla" type="string" value="GNOME"/>
|
||||
- <oaf_attribute name="bugzilla:product" type="string" value="gdm"/>
|
||||
- <oaf_attribute name="bugzilla:component" type="string" value="general"/>
|
||||
- <oaf_attribute name="bugzilla:version" type="string" value="@VERSION@"/>
|
||||
- <oaf_attribute name="bugzilla:other_binaries" type="string" value="gdm-user-switch-applet"/>
|
||||
- </oaf_server>
|
||||
-</oaf_info>
|
||||
diff --git a/gui/user-switch-applet/GNOME_FastUserSwitchApplet.xml b/gui/user-switch-applet/GNOME_FastUserSwitchApplet.xml
|
||||
deleted file mode 100644
|
||||
index e1845c8..0000000
|
||||
--- a/gui/user-switch-applet/GNOME_FastUserSwitchApplet.xml
|
||||
+++ /dev/null
|
||||
@@ -1,20 +0,0 @@
|
||||
-<Root>
|
||||
- <popups>
|
||||
- <popup name="button3">
|
||||
- <menuitem
|
||||
- name="About Me Item"
|
||||
- verb="GdmAboutMe"
|
||||
- _label="Edit Personal _Information"/>
|
||||
- <menuitem
|
||||
- name="Users and Groups Admin Item"
|
||||
- verb="GdmUsersGroupsAdmin"
|
||||
- _label="_Edit Users and Groups"/>
|
||||
- <menuitem
|
||||
- name="About Item"
|
||||
- verb="GdmAbout"
|
||||
- _label="_About"
|
||||
- pixtype="stock"
|
||||
- pixname="gtk-about"/>
|
||||
- </popup>
|
||||
- </popups>
|
||||
-</Root>
|
||||
diff --git a/gui/user-switch-applet/Makefile.am b/gui/user-switch-applet/Makefile.am
|
||||
index 2d2cdc0..cebe890 100644
|
||||
--- a/gui/user-switch-applet/Makefile.am
|
||||
+++ b/gui/user-switch-applet/Makefile.am
|
||||
@@ -13,6 +13,7 @@ AM_CPPFLAGS = \
|
||||
-DLIBEXECDIR=\""$(libexecdir)"\" \
|
||||
-DSBINDIR=\""$(sbindir)"\" \
|
||||
-DGDMCONFDIR=\"$(gdmconfdir)\" \
|
||||
+ -DGDM_USER_SWITCH_MENU_UI_DIR="\"$(uidir)\"" \
|
||||
$(GTK_CFLAGS) \
|
||||
$(APPLET_CFLAGS) \
|
||||
$(NULL)
|
||||
@@ -34,34 +35,31 @@ gdm_user_switch_applet_LDADD = \
|
||||
$(APPLET_LIBS) \
|
||||
$(NULL)
|
||||
|
||||
-# Bonobo UI
|
||||
-uidir = $(datadir)/gnome-2.0/ui
|
||||
-ui_DATA = \
|
||||
- GNOME_FastUserSwitchApplet.xml \
|
||||
- $(NULL)
|
||||
+uidir = $(datadir)/gnome-2.0/ui
|
||||
+ui_DATA = gdm-user-switch-applet-menu.xml
|
||||
|
||||
-# Bonobo .server
|
||||
-serverdir = $(libdir)/bonobo/servers
|
||||
-server_in_files = \
|
||||
- GNOME_FastUserSwitchApplet.server.in \
|
||||
- $(NULL)
|
||||
-server_DATA = $(server_in_files:.server.in=.server)
|
||||
+appletdir = $(datadir)/gnome-panel/applets
|
||||
+applet_in_files = org.gnome.gdm.UserSwitch.panel-applet.in
|
||||
+applet_DATA = $(applet_in_files:.panel-applet.in=.panel-applet)
|
||||
|
||||
-$(server_in_files): $(server_in_files:.server.in=.server.in.in)
|
||||
- sed -e "s|\@LIBEXECDIR\@|$(libexecdir)|" -e "s|\@VERSION\@|$(VERSION)|" $< > $@
|
||||
+$(applet_in_files): $(applet_in_files).in Makefile
|
||||
+ $(AM_V_GEN)$(SED) -e "s|\@LIBEXECDIR\@|$(libexecdir)|" -e "s|\@VERSION\@|$(VERSION)|" $< > $@
|
||||
|
||||
-@INTLTOOL_SERVER_RULE@
|
||||
+%.panel-applet: %.panel-applet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -d -u -c $(top_builddir)/po/.intltool-merge-cache
|
||||
|
||||
-EXTRA_DIST = \
|
||||
- $(ui_DATA) \
|
||||
- GNOME_FastUserSwitchApplet.server.in.in \
|
||||
- $(NULL)
|
||||
+servicedir = $(datadir)/dbus-1/services
|
||||
+service_in_files = org.gnome.panel.applet.GdmUserSwitchAppletFactory.service.in
|
||||
+service_DATA = $(service_in_files:.service.in=.service)
|
||||
+
|
||||
+org.gnome.panel.applet.GdmUserSwitchAppletFactory.service: $(service_in_files)
|
||||
+ $(AM_V_GEN)$(SED) -e "s|\@LIBEXECDIR\@|$(libexecdir)|" $< > $@
|
||||
+
|
||||
+EXTRA_DIST = org.gnome.gdm.UserSwitch.panel-applet.in.in \
|
||||
+ $(service_in_files) \
|
||||
+ $(ui_DATA) \
|
||||
+ $(NULL)
|
||||
+
|
||||
+CLEANFILES = $(applet_DATA) $(applet_DATA).in $(service_DATA)
|
||||
|
||||
-DISTCLEANFILES = \
|
||||
- $(server_in_files) \
|
||||
- $(server_DATA) \
|
||||
- $(NULL)
|
||||
+MAINTAINERCLEANFILES = *~ Makefile.in
|
||||
|
||||
-MAINTAINERCLEANFILES = \
|
||||
- *~ \
|
||||
- Makefile.in
|
||||
diff --git a/gui/user-switch-applet/applet.c b/gui/user-switch-applet/applet.c
|
||||
index b4f944c..74f7882 100644
|
||||
--- a/gui/user-switch-applet/applet.c
|
||||
+++ b/gui/user-switch-applet/applet.c
|
||||
@@ -34,9 +34,6 @@
|
||||
|
||||
#include <dbus/dbus-glib.h>
|
||||
|
||||
-#include <bonobo/bonobo-main.h>
|
||||
-#include <bonobo/bonobo-ui-util.h>
|
||||
-
|
||||
#include <panel-applet.h>
|
||||
#include <panel-applet-gconf.h>
|
||||
|
||||
@@ -102,16 +99,15 @@ static gboolean applet_factory (PanelApplet *applet,
|
||||
const char *iid,
|
||||
gpointer data);
|
||||
|
||||
-PANEL_APPLET_BONOBO_FACTORY ("OAFIID:GNOME_FastUserSwitchApplet_Factory",
|
||||
- PANEL_TYPE_APPLET,
|
||||
- "gdm-user-switch-applet", "0",
|
||||
- (PanelAppletFactoryCallback)applet_factory,
|
||||
- NULL)
|
||||
+PANEL_APPLET_OUT_PROCESS_FACTORY ("GdmUserSwitchAppletFactory",
|
||||
+ PANEL_TYPE_APPLET,
|
||||
+ "gdm-user-switch-applet",
|
||||
+ applet_factory,
|
||||
+ NULL)
|
||||
|
||||
static void
|
||||
-about_me_cb (BonoboUIComponent *ui_container,
|
||||
- gpointer data,
|
||||
- const char *cname)
|
||||
+about_me_cb (GtkAction *action,
|
||||
+ gpointer data)
|
||||
{
|
||||
GError *err;
|
||||
|
||||
@@ -120,10 +116,7 @@ about_me_cb (BonoboUIComponent *ui_container,
|
||||
g_critical ("Could not run `gnome-about-me': %s",
|
||||
err->message);
|
||||
g_error_free (err);
|
||||
- bonobo_ui_component_set_prop (ui_container,
|
||||
- "/commands/GdmAboutMe",
|
||||
- "hidden", "1",
|
||||
- NULL);
|
||||
+ gtk_action_set_visible (action, FALSE);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -149,9 +142,8 @@ menubar_button_press_event_cb (GtkWidget *menubar,
|
||||
}
|
||||
|
||||
static void
|
||||
-about_cb (BonoboUIComponent *ui_container,
|
||||
- gpointer data,
|
||||
- const char *cname)
|
||||
+about_cb (GtkAction *action,
|
||||
+ gpointer data)
|
||||
{
|
||||
static const char *authors[] = {
|
||||
"James M. Cape <jcape@ignore-your.tv>",
|
||||
@@ -195,9 +187,8 @@ about_cb (BonoboUIComponent *ui_container,
|
||||
|
||||
|
||||
static void
|
||||
-admin_cb (BonoboUIComponent *ui_container,
|
||||
- gpointer data,
|
||||
- const char *cname)
|
||||
+admin_cb (GtkAction *action,
|
||||
+ gpointer data)
|
||||
{
|
||||
#ifdef USERS_ADMIN
|
||||
char **args;
|
||||
@@ -231,82 +222,6 @@ admin_cb (BonoboUIComponent *ui_container,
|
||||
}
|
||||
|
||||
static void
|
||||
-set_menuitem_icon (BonoboUIComponent *component,
|
||||
- const char *item_path,
|
||||
- GtkIconTheme *theme,
|
||||
- const char *icon_name,
|
||||
- gint icon_size)
|
||||
-{
|
||||
- GdkPixbuf *pixbuf;
|
||||
- int width;
|
||||
- int height;
|
||||
-
|
||||
- pixbuf = gtk_icon_theme_load_icon (theme, icon_name, icon_size, 0, NULL);
|
||||
- if (pixbuf == NULL) {
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
- width = gdk_pixbuf_get_width (pixbuf);
|
||||
- height = gdk_pixbuf_get_height (pixbuf);
|
||||
- if (width > icon_size + 4 || height > icon_size + 4) {
|
||||
- GdkPixbuf *tmp;
|
||||
- if (height > width) {
|
||||
- width *= (gdouble) icon_size / (gdouble) height;
|
||||
- height = icon_size;
|
||||
- } else {
|
||||
- height *= (gdouble) icon_size / (gdouble) width;
|
||||
- width = icon_size;
|
||||
- }
|
||||
- tmp = gdk_pixbuf_scale_simple (pixbuf, width, height, GDK_INTERP_BILINEAR);
|
||||
- g_object_unref (pixbuf);
|
||||
- pixbuf = tmp;
|
||||
- }
|
||||
-
|
||||
- bonobo_ui_util_set_pixbuf (component, item_path, pixbuf, NULL);
|
||||
- g_object_unref (pixbuf);
|
||||
-}
|
||||
-
|
||||
-static void
|
||||
-applet_style_set_cb (GtkWidget *widget,
|
||||
- GtkStyle *old_style,
|
||||
- gpointer data)
|
||||
-{
|
||||
- BonoboUIComponent *component;
|
||||
- GdkScreen *screen;
|
||||
- GtkIconTheme *theme;
|
||||
- int width;
|
||||
- int height;
|
||||
- int icon_size;
|
||||
-
|
||||
- if (gtk_widget_has_screen (widget)) {
|
||||
- screen = gtk_widget_get_screen (widget);
|
||||
- } else {
|
||||
- screen = gdk_screen_get_default ();
|
||||
- }
|
||||
-
|
||||
- if (gtk_icon_size_lookup_for_settings (gtk_settings_get_for_screen (screen),
|
||||
- GTK_ICON_SIZE_MENU, &width, &height)) {
|
||||
- icon_size = MAX (width, height);
|
||||
- } else {
|
||||
- icon_size = 16;
|
||||
- }
|
||||
-
|
||||
- theme = gtk_icon_theme_get_for_screen (screen);
|
||||
- component = panel_applet_get_popup_component (PANEL_APPLET (widget));
|
||||
-
|
||||
- set_menuitem_icon (component,
|
||||
- "/commands/GdmAboutMe",
|
||||
- theme,
|
||||
- "user-info",
|
||||
- icon_size);
|
||||
- set_menuitem_icon (component,
|
||||
- "/commands/GdmUsersGroupsAdmin",
|
||||
- theme,
|
||||
- "stock_people",
|
||||
- icon_size);
|
||||
-}
|
||||
-
|
||||
-static void
|
||||
applet_change_background_cb (PanelApplet *applet,
|
||||
PanelAppletBackgroundType type,
|
||||
GdkColor *color,
|
||||
@@ -1389,18 +1304,23 @@ on_presence_status_text_changed (DBusGProxy *presence_proxy,
|
||||
static gboolean
|
||||
fill_applet (PanelApplet *applet)
|
||||
{
|
||||
- static const BonoboUIVerb menu_verbs[] = {
|
||||
- BONOBO_UI_VERB ("GdmAboutMe", about_me_cb),
|
||||
- BONOBO_UI_VERB ("GdmUsersGroupsAdmin", admin_cb),
|
||||
- BONOBO_UI_VERB ("GdmAbout", about_cb),
|
||||
- BONOBO_UI_VERB_END
|
||||
+ static const GtkActionEntry gdm_user_switch_applet_actions[] = {
|
||||
+ { "GdmAboutMe", "user-info", N_("Edit Personal _Information"),
|
||||
+ NULL, NULL,
|
||||
+ G_CALLBACK (about_me_cb) },
|
||||
+ { "GdmUsersGroupsAdmin", "stock-people", N_("_Edit Users and Groups"),
|
||||
+ NULL, NULL,
|
||||
+ G_CALLBACK (admin_cb) },
|
||||
+ { "GdmAbout", GTK_STOCK_ABOUT, N_("_About"),
|
||||
+ NULL, NULL,
|
||||
+ G_CALLBACK (about_cb) },
|
||||
};
|
||||
static gboolean first_time = FALSE;
|
||||
char *tmp;
|
||||
- BonoboUIComponent *popup_component;
|
||||
GdmAppletData *adata;
|
||||
GError *error;
|
||||
DBusGConnection *bus;
|
||||
+ GtkActionGroup *action_group;
|
||||
|
||||
if (!first_time) {
|
||||
first_time = TRUE;
|
||||
@@ -1438,52 +1358,51 @@ fill_applet (PanelApplet *applet)
|
||||
gtk_container_set_border_width (GTK_CONTAINER (applet), 0);
|
||||
gtk_widget_set_name (GTK_WIDGET (applet), "gdm-user-switch-applet");
|
||||
panel_applet_set_flags (applet, PANEL_APPLET_EXPAND_MINOR);
|
||||
- panel_applet_setup_menu_from_file (applet, NULL,
|
||||
- DATADIR "/gnome-2.0/ui/GNOME_FastUserSwitchApplet.xml",
|
||||
- NULL, menu_verbs, adata);
|
||||
|
||||
- popup_component = panel_applet_get_popup_component (applet);
|
||||
+ action_group = gtk_action_group_new ("GDM User Switch Applet Actions");
|
||||
+ gtk_action_group_set_translation_domain (action_group, GETTEXT_PACKAGE);
|
||||
+ gtk_action_group_add_actions (action_group,
|
||||
+ gdm_user_switch_applet_actions,
|
||||
+ G_N_ELEMENTS (gdm_user_switch_applet_actions),
|
||||
+ adata);
|
||||
+
|
||||
+ panel_applet_setup_menu_from_file (applet,
|
||||
+ GDM_USER_SWITCH_MENU_UI_DIR G_DIR_SEPARATOR_S "gdm-user-switch-applet-menu.xml",
|
||||
+ action_group);
|
||||
|
||||
/* Hide the admin context menu items if locked down or no cmd-line */
|
||||
if (gconf_client_get_bool (adata->client,
|
||||
LOCKDOWN_COMMAND_LINE_KEY,
|
||||
NULL) ||
|
||||
panel_applet_get_locked_down (applet)) {
|
||||
- bonobo_ui_component_set_prop (popup_component,
|
||||
- "/popups/button3/GdmSeparator",
|
||||
- "hidden", "1", NULL);
|
||||
- bonobo_ui_component_set_prop (popup_component,
|
||||
- "/commands/GdmUsersGroupsAdmin",
|
||||
- "hidden", "1", NULL);
|
||||
+ GtkAction *action;
|
||||
+
|
||||
+ action = gtk_action_group_get_action (action_group, "GdmUsersGroupsAdmin");
|
||||
+ gtk_action_set_visible (action, FALSE);
|
||||
} else {
|
||||
+ GtkAction *action;
|
||||
+
|
||||
#ifndef USERS_ADMIN
|
||||
# ifdef GDM_SETUP
|
||||
- bonobo_ui_component_set_prop (popup_component,
|
||||
- "/popups/button3/GdmSeparator",
|
||||
- "hidden", "1",
|
||||
- NULL);
|
||||
# endif /* !GDM_SETUP */
|
||||
- bonobo_ui_component_set_prop (popup_component,
|
||||
- "/commands/GdmUsersGroupsAdmin",
|
||||
- "hidden", "1",
|
||||
- NULL);
|
||||
+ action = gtk_action_group_get_action (action_group, "GdmUsersGroupsAdmin");
|
||||
+ gtk_action_set_visible (action, FALSE);
|
||||
#endif /* !USERS_ADMIN */
|
||||
}
|
||||
|
||||
/* Hide the gdmphotosetup item if it can't be found in the path. */
|
||||
tmp = g_find_program_in_path ("gnome-about-me");
|
||||
if (!tmp) {
|
||||
- bonobo_ui_component_set_prop (popup_component,
|
||||
- "/commands/GdmAboutMe",
|
||||
- "hidden", "1",
|
||||
- NULL);
|
||||
+ GtkAction *action;
|
||||
+
|
||||
+ action = gtk_action_group_get_action (action_group, "GdmAboutMe");
|
||||
+ gtk_action_set_visible (action, FALSE);
|
||||
} else {
|
||||
g_free (tmp);
|
||||
}
|
||||
|
||||
- g_signal_connect (adata->applet,
|
||||
- "style-set",
|
||||
- G_CALLBACK (applet_style_set_cb), adata);
|
||||
+ g_object_unref (action_group);
|
||||
+
|
||||
g_signal_connect (applet,
|
||||
"change-background",
|
||||
G_CALLBACK (applet_change_background_cb), adata);
|
||||
@@ -1655,7 +1574,7 @@ applet_factory (PanelApplet *applet,
|
||||
{
|
||||
gboolean ret;
|
||||
ret = FALSE;
|
||||
- if (strcmp (iid, "OAFIID:GNOME_FastUserSwitchApplet") == 0) {
|
||||
+ if (strcmp (iid, "GdmUserSwitchApplet") == 0) {
|
||||
ret = fill_applet (applet);
|
||||
}
|
||||
return ret;
|
||||
diff --git a/gui/user-switch-applet/gdm-user-switch-applet-menu.xml b/gui/user-switch-applet/gdm-user-switch-applet-menu.xml
|
||||
new file mode 100644
|
||||
index 0000000..78301b3
|
||||
--- /dev/null
|
||||
+++ b/gui/user-switch-applet/gdm-user-switch-applet-menu.xml
|
||||
@@ -0,0 +1,4 @@
|
||||
+<menuitem name="About Me Item" action="GdmAboutMe"/>
|
||||
+<menuitem name="Users and Groups Admin Item" action="GdmUsersGroupsAdmin"/>
|
||||
+<menuitem name="About Item" action="GdmAbout"/>
|
||||
+
|
||||
diff --git a/gui/user-switch-applet/org.gnome.gdm.UserSwitch.panel-applet.in.in b/gui/user-switch-applet/org.gnome.gdm.UserSwitch.panel-applet.in.in
|
||||
new file mode 100644
|
||||
index 0000000..3c77dfb
|
||||
--- /dev/null
|
||||
+++ b/gui/user-switch-applet/org.gnome.gdm.UserSwitch.panel-applet.in.in
|
||||
@@ -0,0 +1,16 @@
|
||||
+[Applet Factory]
|
||||
+Id=GdmUserSwitchAppletFactory
|
||||
+Location=@LIBEXECDIR@/gdm-user-switch-applet
|
||||
+_Name=User Switcher Applet Factory
|
||||
+_Description=User Switcher Applet Factory
|
||||
+
|
||||
+[GdmUserSwitchApplet]
|
||||
+_Name=User Switcher
|
||||
+_Description=A menu to quickly switch between users
|
||||
+BonoboId=OAFIID:GNOME_FastUserSwitchApplet
|
||||
+X-GNOME-Bugzilla-Bugzilla=GNOME
|
||||
+X-GNOME-Bugzilla-Product=gdm
|
||||
+X-GNOME-Bugzilla-Component=general
|
||||
+X-GNOME-Bugzilla-Version=@VERSION@
|
||||
+X-GNOME-Bugzilla-OtherBinaries=gdm-user-switch-applet
|
||||
+
|
||||
diff --git a/gui/user-switch-applet/org.gnome.panel.applet.GdmUserSwitchAppletFactory.service.in b/gui/user-switch-applet/org.gnome.panel.applet.GdmUserSwitchAppletFactory.service.in
|
||||
new file mode 100644
|
||||
index 0000000..7bf900f
|
||||
--- /dev/null
|
||||
+++ b/gui/user-switch-applet/org.gnome.panel.applet.GdmUserSwitchAppletFactory.service.in
|
||||
@@ -0,0 +1,4 @@
|
||||
+[D-BUS Service]
|
||||
+Name=org.gnome.panel.applet.GdmUserSwitchAppletFactory
|
||||
+Exec=@LIBEXECDIR@/gdm-user-switch-applet
|
||||
+
|
||||
diff --git a/po/POTFILES.in b/po/POTFILES.in
|
||||
index 1fccb90..5340391 100644
|
||||
--- a/po/POTFILES.in
|
||||
+++ b/po/POTFILES.in
|
||||
@@ -86,8 +86,7 @@ gui/simple-greeter/gdm-user-chooser-widget.c
|
||||
gui/simple-greeter/greeter-main.c
|
||||
gui/user-switch-applet/applet.c
|
||||
gui/user-switch-applet/gdm-entry-menu-item.c
|
||||
-gui/user-switch-applet/GNOME_FastUserSwitchApplet.server.in.in
|
||||
-gui/user-switch-applet/GNOME_FastUserSwitchApplet.xml
|
||||
+gui/user-switch-applet/org.gnome.gdm.UserSwitch.panel-applet.in.in
|
||||
utils/gdmflexiserver.c
|
||||
utils/gdm-screenshot.c
|
||||
|
||||
diff --git a/po/POTFILES.skip b/po/POTFILES.skip
|
||||
index 0269a0f..9032c03 100644
|
||||
--- a/po/POTFILES.skip
|
||||
+++ b/po/POTFILES.skip
|
||||
@@ -7,7 +7,7 @@
|
||||
# remove these unless you fix "make distcheck" a different way.
|
||||
#
|
||||
data/gdm.schemas.in
|
||||
-gui/user-switch-applet/GNOME_FastUserSwitchApplet.server.in
|
||||
+gui/user-switch-applet/org.gnome.gdm.UserSwitch.panel-applet.in
|
||||
data/greeter-autostart/at-spi-registryd-wrapper.desktop.in
|
||||
data/greeter-autostart/gdm-simple-greeter.desktop.in
|
||||
data/greeter-autostart/gnome-power-manager.desktop.in
|
||||
--
|
||||
1.7.2.3
|
||||
|
|
@ -1,46 +0,0 @@
|
|||
From b971eb1038cb92ed8211b68a7d2a99a98d86ed7f Mon Sep 17 00:00:00 2001
|
||||
From: Vincent Untz <vuntz@gnome.org>
|
||||
Date: Wed, 12 Jan 2011 18:38:46 +0100
|
||||
Subject: [PATCH] Correctly give focus to the user chooser on startup
|
||||
|
||||
We manually handle how focus works in the GdmChooserWidget container,
|
||||
and we try to automatically move the focus to the treeview inside the
|
||||
chooser. However, it fails the first time because the treeview is not
|
||||
realized yet and the logic in the code assumes that if focus moved to
|
||||
the chooser, it moved to the treeview, so later attempt to get the focus
|
||||
grabbed by the treeview are just ignored.
|
||||
|
||||
It works fine when using gtk_widget_child_focus() to give the focus to
|
||||
the treeview. And this makes more sense since the chooser is a container
|
||||
anyway.
|
||||
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=629310
|
||||
---
|
||||
gui/simple-greeter/gdm-chooser-widget.c | 6 +-----
|
||||
1 files changed, 1 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/gui/simple-greeter/gdm-chooser-widget.c b/gui/simple-greeter/gdm-chooser-widget.c
|
||||
index db2d9b2..ebbfdb9 100644
|
||||
--- a/gui/simple-greeter/gdm-chooser-widget.c
|
||||
+++ b/gui/simple-greeter/gdm-chooser-widget.c
|
||||
@@ -910,17 +910,13 @@ _grab_focus (GtkWidget *widget)
|
||||
|
||||
foc_widget = GDM_CHOOSER_WIDGET (widget)->priv->items_view;
|
||||
g_debug ("GdmChooserWidget: grabbing focus");
|
||||
- if (! gtk_widget_get_realized (foc_widget)) {
|
||||
- g_debug ("GdmChooserWidget: not grabbing focus - not realized");
|
||||
- return;
|
||||
- }
|
||||
|
||||
if (gtk_widget_has_focus (foc_widget)) {
|
||||
g_debug ("GdmChooserWidget: not grabbing focus - already has it");
|
||||
return;
|
||||
}
|
||||
|
||||
- gtk_widget_grab_focus (foc_widget);
|
||||
+ gtk_widget_child_focus (foc_widget, GTK_DIR_TAB_FORWARD);
|
||||
}
|
||||
|
||||
static void
|
||||
--
|
||||
1.7.3.4
|
|
@ -1,118 +0,0 @@
|
|||
diff --git a/daemon/gdm-server.c b/daemon/gdm-server.c
|
||||
index 39def47..03488fd 100644
|
||||
--- a/daemon/gdm-server.c.old
|
||||
+++ b/daemon/gdm-server.c
|
||||
@@ -33,6 +33,8 @@
|
||||
#include <grp.h>
|
||||
#include <signal.h>
|
||||
#include <sys/resource.h>
|
||||
+#include <sys/ioctl.h>
|
||||
+#include <sys/vt.h>
|
||||
|
||||
#include <glib.h>
|
||||
#include <glib/gi18n.h>
|
||||
@@ -150,6 +152,92 @@ _gdm_server_query_ck_for_display_device (GdmServer *server)
|
||||
return out;
|
||||
}
|
||||
|
||||
+#ifndef O_NOCTTY
|
||||
+# define O_NOCTTY 0
|
||||
+#endif
|
||||
+
|
||||
+static int
|
||||
+open_vt (int vtno)
|
||||
+{
|
||||
+ char *vtname;
|
||||
+ int fd;
|
||||
+
|
||||
+ vtname = g_strdup_printf ("/dev/tty%d", vtno);
|
||||
+
|
||||
+ do {
|
||||
+ errno = 0;
|
||||
+ fd = open (vtname, O_RDWR | O_NOCTTY, 0);
|
||||
+ } while (errno == EINTR);
|
||||
+
|
||||
+ g_free (vtname);
|
||||
+ return fd;
|
||||
+}
|
||||
+
|
||||
+static gint
|
||||
+find_first_probably_free_vt (void)
|
||||
+{
|
||||
+ int fd, fdv;
|
||||
+ int vtno;
|
||||
+ unsigned short vtmask;
|
||||
+ struct vt_stat vtstat;
|
||||
+ guint v_state;
|
||||
+
|
||||
+ fdv = -1;
|
||||
+
|
||||
+ do {
|
||||
+ errno = 0;
|
||||
+ fd = open ("/dev/console", O_WRONLY | O_NOCTTY, 0);
|
||||
+ } while (errno == EINTR);
|
||||
+
|
||||
+ if (fd >= 0) {
|
||||
+ if (ioctl (fd, VT_GETSTATE, &vtstat) >= 0) {
|
||||
+ v_state = vtstat.v_state;
|
||||
+ } else {
|
||||
+ close (fd);
|
||||
+ v_state = 0;
|
||||
+ fd = -1;
|
||||
+ }
|
||||
+ } else {
|
||||
+ v_state = 0;
|
||||
+ }
|
||||
+
|
||||
+ if (fd < 0) {
|
||||
+ do {
|
||||
+ errno = 0;
|
||||
+ fd = open ("/dev/console", O_RDONLY | O_NOCTTY, 0);
|
||||
+ } while (errno == EINTR);
|
||||
+
|
||||
+ if (fd >= 0) {
|
||||
+ if (ioctl (fd, VT_GETSTATE, &vtstat) >= 0)
|
||||
+ v_state = vtstat.v_state;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ for (vtno = 7, vtmask = 1 << vtno; vtmask; vtno++, vtmask <<= 1) {
|
||||
+ /* Is this console in use? */
|
||||
+ if (v_state & vtmask)
|
||||
+ continue;
|
||||
+
|
||||
+ /* No, try to open it */
|
||||
+ fdv = open_vt (vtno);
|
||||
+ if (fdv >= 0)
|
||||
+ break;
|
||||
+
|
||||
+ /* If we're here, kernel indicated that the console was free,
|
||||
+ * but we failed to open it. Just go on to higher VTs. */
|
||||
+ }
|
||||
+
|
||||
+ if (fdv >= 0)
|
||||
+ close (fdv);
|
||||
+ else
|
||||
+ vtno = -1;
|
||||
+
|
||||
+ if (fd >= 0)
|
||||
+ close (fd);
|
||||
+
|
||||
+ return vtno;
|
||||
+}
|
||||
+
|
||||
char *
|
||||
gdm_server_get_display_device (GdmServer *server)
|
||||
{
|
||||
@@ -310,6 +398,11 @@ gdm_server_resolve_command_line (GdmServer *server,
|
||||
|
||||
if (vtarg != NULL && ! gotvtarg) {
|
||||
argv[len++] = g_strdup (vtarg);
|
||||
+ } else if (!query_in_arglist && !gotvtarg) {
|
||||
+ gint vtnum = find_first_probably_free_vt ();
|
||||
+
|
||||
+ if (vtnum > 0)
|
||||
+ argv [len++] = g_strdup_printf ("vt%d", vtnum);
|
||||
}
|
||||
|
||||
argv[len++] = NULL;
|
|
@ -1,9 +1,8 @@
|
|||
# Template file for 'gdm'
|
||||
pkgname=gdm
|
||||
version=2.32.0
|
||||
revision=5
|
||||
version=2.91.91
|
||||
patch_args="-Np1"
|
||||
distfiles="${GNOME_SITE}/$pkgname/2.32/$pkgname-$version.tar.bz2"
|
||||
distfiles="${GNOME_SITE}/$pkgname/2.91/$pkgname-$version.tar.bz2"
|
||||
build_style=gnu_configure
|
||||
configure_args="--disable-schemas-install --disable-scrollkeeper
|
||||
--with-gconf-schema-file-dir=/usr/share/gconf/schemas
|
||||
|
@ -12,7 +11,7 @@ configure_args="--disable-schemas-install --disable-scrollkeeper
|
|||
--with-user=gdm --with-group=gdm --with-xevie --exec-prefix=/usr"
|
||||
short_desc="GNOME Display Manager"
|
||||
maintainer="Juan RP <xtraeme@gmail.com>"
|
||||
checksum=f47acd19ed10d6fbb37c3e2b54f5b392c7020db67f71db3f75567ead30ab2fa4
|
||||
checksum=63925bf2bf2e6a6b619702db797fd40ba5fa395036a527d3566f3d41b9d9b90e
|
||||
long_desc="
|
||||
GDM is the GNOME Display Manager, it is the little proggie that runs
|
||||
in the background, runs your X sessions, presents you with a login box
|
||||
|
@ -39,79 +38,50 @@ gdm_descr="GNOME Display Manager user"
|
|||
openrc_services="gdm default true"
|
||||
|
||||
Add_dependency run glibc
|
||||
Add_dependency run glib
|
||||
Add_dependency run libX11
|
||||
Add_dependency run libXau
|
||||
Add_dependency run dbus-glib
|
||||
Add_dependency run dbus-libs
|
||||
Add_dependency run glib
|
||||
Add_dependency run gnome-panel
|
||||
Add_dependency run GConf
|
||||
Add_dependency run libbonoboui
|
||||
Add_dependency run libgnomecanvas
|
||||
Add_dependency run libgnome
|
||||
Add_dependency run popt
|
||||
Add_dependency run libart
|
||||
Add_dependency run libpng
|
||||
Add_dependency run gdk-pixbuf
|
||||
Add_dependency run gtk+
|
||||
Add_dependency run atk
|
||||
Add_dependency run pango
|
||||
Add_dependency run cairo
|
||||
Add_dependency run freetype
|
||||
Add_dependency run fontconfig
|
||||
Add_dependency run libbonobo
|
||||
Add_dependency run ORBit2
|
||||
Add_dependency run libXau
|
||||
Add_dependency run pam
|
||||
Add_dependency run libXdmcp
|
||||
Add_dependency run libxklavier
|
||||
Add_dependency run libxml2
|
||||
Add_dependency run accountsservice
|
||||
Add_dependency run gtk+3
|
||||
Add_dependency run gdk-pixbuf
|
||||
Add_dependency run cairo
|
||||
Add_dependency run pango
|
||||
Add_dependency run GConf
|
||||
Add_dependency run fontconfig
|
||||
Add_dependency run upower
|
||||
Add_dependency run libcanberra
|
||||
Add_dependency run libXdmcp
|
||||
Add_dependency run tcp_wrappers-libs
|
||||
Add_dependency run libcanberra
|
||||
|
||||
Add_dependency build pkg-config
|
||||
Add_dependency build intltool
|
||||
Add_dependency build gnome-doc-utils
|
||||
Add_dependency build glib-devel
|
||||
Add_dependency build libX11-devel
|
||||
Add_dependency build libXau-devel
|
||||
Add_dependency build dbus-glib-devel
|
||||
Add_dependency build dbus-devel
|
||||
Add_dependency build glib-devel
|
||||
Add_dependency build gnome-panel-devel
|
||||
Add_dependency build GConf-devel
|
||||
Add_dependency build libbonoboui-devel
|
||||
Add_dependency build libgnomecanvas-devel
|
||||
Add_dependency build libgnome-devel
|
||||
Add_dependency build popt-devel
|
||||
Add_dependency build libart-devel
|
||||
Add_dependency build gtk+-devel
|
||||
Add_dependency build atk-devel
|
||||
Add_dependency build pango-devel
|
||||
Add_dependency build cairo-devel
|
||||
Add_dependency build freetype-devel
|
||||
Add_dependency build fontconfig-devel
|
||||
Add_dependency build libbonobo-devel
|
||||
Add_dependency build ORBit2-devel
|
||||
Add_dependency build libXau-devel
|
||||
Add_dependency build pam-devel
|
||||
Add_dependency build libXdmcp-devel
|
||||
Add_dependency build libxklavier-devel
|
||||
Add_dependency build libxml2-devel
|
||||
Add_dependency build accountsservice-devel
|
||||
Add_dependency build gtk+3-devel
|
||||
Add_dependency build gdk-pixbuf-devel
|
||||
Add_dependency build cairo-devel
|
||||
Add_dependency build pango-devel
|
||||
Add_dependency build GConf-devel
|
||||
Add_dependency build fontconfig-devel
|
||||
Add_dependency build upower-devel
|
||||
Add_dependency build libcanberra-devel
|
||||
Add_dependency build libXdmcp-devel
|
||||
Add_dependency build tcp_wrappers-devel
|
||||
Add_dependency build at-spi
|
||||
Add_dependency build automake
|
||||
Add_dependency build libcanberra-devel
|
||||
|
||||
Add_dependency full ConsoleKit-x11
|
||||
Add_dependency full xorg-server
|
||||
Add_dependency full hicolor-icon-theme
|
||||
Add_dependency full polkit-gnome
|
||||
|
||||
pre_configure()
|
||||
{
|
||||
cd ${wrksrc} && autoreconf -fi
|
||||
}
|
||||
|
||||
post_install()
|
||||
{
|
||||
# Use our own pam files.
|
||||
|
|
Loading…
Reference in New Issue