move SM init a bit later in the process, and init prefs

2001-12-09  Havoc Pennington  <hp@pobox.com>

	* src/main.c (main): move SM init a bit later in the process, and
	init prefs

	* src/session.c: fix no SM case (though I hardly know why I'm
	bothering)

	* src/main.c (main): call bindtextdomain

	* src/util.h (_): actually call gettext

	* configure.in: put in AM_GLIB_GNU_GETTEXT and gconf stuff

	* src/prefs.c: Preferences - this marks the beginning of our doom.
	None of them are actually implemented yet, but we monitor
	some stuff from gconf.
This commit is contained in:
Havoc Pennington 2001-12-09 22:41:12 +00:00 committed by Havoc Pennington
parent b3778e4470
commit 6981a8198b
17 changed files with 596 additions and 20 deletions

View File

@ -1,3 +1,21 @@
2001-12-09 Havoc Pennington <hp@pobox.com>
* src/main.c (main): move SM init a bit later in the process, and
init prefs
* src/session.c: fix no SM case (though I hardly know why I'm
bothering)
* src/main.c (main): call bindtextdomain
* src/util.h (_): actually call gettext
* configure.in: put in AM_GLIB_GNU_GETTEXT and gconf stuff
* src/prefs.c: Preferences - this marks the beginning of our doom.
None of them are actually implemented yet, but we monitor
some stuff from gconf.
2001-12-07 Havoc Pennington <hp@pobox.com> 2001-12-07 Havoc Pennington <hp@pobox.com>
* src/window.c (meta_window_unminimize): when unminimizing an app, * src/window.c (meta_window_unminimize): when unminimizing an app,

View File

@ -38,11 +38,11 @@ fi
changequote([,])dnl changequote([,])dnl
ALL_LINGUAS="es gl ru sv uk" ALL_LINGUAS="es gl ru sv uk"
dnl AM_GNU_GETTEXT AM_GLIB_GNU_GETTEXT
## here we get the flags we'll actually use ## here we get the flags we'll actually use
PKG_CHECK_MODULES(METACITY, gtk+-2.0 >= 1.3.10) PKG_CHECK_MODULES(METACITY, gtk+-2.0 >= 1.3.11 gconf-2.0 >= 1.1.5)
PKG_CHECK_MODULES(METACITY_RESTART, gtk+-2.0 >= 1.3.10) PKG_CHECK_MODULES(METACITY_RESTART, gtk+-2.0 >= 1.3.11)
CFLAGS="$METACITY_CFLAGS $CFLAGS" CFLAGS="$METACITY_CFLAGS $CFLAGS"
@ -82,6 +82,14 @@ LDFLAGS="$METACITY_LIBS $LDFLAGS"
AC_CHECK_FUNCS(gdk_pixbuf_new_from_stream) AC_CHECK_FUNCS(gdk_pixbuf_new_from_stream)
LDFLAGS=$save_LDFLAGS LDFLAGS=$save_LDFLAGS
AC_PATH_PROG(GCONFTOOL, gconftool-2, no)
if test x"$GCONFTOOL" = xno; then
AC_MSG_ERROR([gconftool-2 executable not found in your path - should be installed with GConf])
fi
AM_GCONF_SOURCE_2
AC_OUTPUT([ AC_OUTPUT([
Makefile Makefile
src/Makefile src/Makefile

View File

@ -1,7 +1,7 @@
SUBDIRS=wm-tester tools SUBDIRS=wm-tester tools
INCLUDES=@METACITY_CFLAGS@ -DMETACITY_LIBEXECDIR=\"$(libexecdir)\" -DHOST_ALIAS=\"@HOST_ALIAS@\" INCLUDES=@METACITY_CFLAGS@ -DMETACITY_LIBEXECDIR=\"$(libexecdir)\" -DHOST_ALIAS=\"@HOST_ALIAS@\" -DMETACITY_LOCALEDIR=\"$(datadir)/locale\"
metacity_SOURCES= \ metacity_SOURCES= \
common.h \ common.h \
@ -30,6 +30,8 @@ metacity_SOURCES= \
menu.h \ menu.h \
place.c \ place.c \
place.h \ place.h \
prefs.c \
prefs.h \
screen.c \ screen.c \
screen.h \ screen.h \
session.c \ session.c \
@ -54,6 +56,12 @@ metacity_LDADD= @METACITY_LIBS@
desktopfilesdir=$(datadir)/gnome/wm-properties desktopfilesdir=$(datadir)/gnome/wm-properties
desktopfiles_DATA=metacity.desktop desktopfiles_DATA=metacity.desktop
schemadir = @GCONF_SCHEMA_FILE_DIR@
schema_DATA = metacity.schemas
install-data-local:
GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) $(GCONFTOOL) --makefile-install-rule $(srcdir)/$(schema_DATA)
IMAGES=default_icon.png IMAGES=default_icon.png
VARIABLES=default_icon_data $(srcdir)/default_icon.png VARIABLES=default_icon_data $(srcdir)/default_icon.png
@ -63,4 +71,4 @@ CLEANFILES += inlinepixbufs.h
inlinepixbufs.h: $(IMAGES) inlinepixbufs.h: $(IMAGES)
$(GDK_PIXBUF_CSOURCE) --raw --build-list $(VARIABLES) >$(srcdir)/inlinepixbufs.h $(GDK_PIXBUF_CSOURCE) --raw --build-list $(VARIABLES) >$(srcdir)/inlinepixbufs.h
EXTRA_DIST=$(desktopfiles_DATA) $(IMAGES) EXTRA_DIST=$(desktopfiles_DATA) $(IMAGES) $(schema_DATA)

View File

@ -123,6 +123,13 @@ typedef enum
} MetaCursor; } MetaCursor;
typedef enum
{
META_FOCUS_MODE_CLICK,
META_FOCUS_MODE_SLOPPY,
META_FOCUS_MODE_MOUSE
} MetaFocusMode;
/* should investigate changing these to whatever most apps use */ /* should investigate changing these to whatever most apps use */
#define META_ICON_WIDTH 32 #define META_ICON_WIDTH 32
#define META_ICON_HEIGHT 32 #define META_ICON_HEIGHT 32

View File

@ -19,6 +19,7 @@
* 02111-1307, USA. * 02111-1307, USA.
*/ */
#include <config.h>
#include "display.h" #include "display.h"
#include "util.h" #include "util.h"
#include "main.h" #include "main.h"

View File

@ -20,6 +20,7 @@
* 02111-1307, USA. * 02111-1307, USA.
*/ */
#include <config.h>
#include "errors.h" #include "errors.h"
#include <errno.h> #include <errno.h>
#include <stdlib.h> #include <stdlib.h>

View File

@ -19,6 +19,7 @@
* 02111-1307, USA. * 02111-1307, USA.
*/ */
#include <config.h>
#include "frames.h" #include "frames.h"
#include "util.h" #include "util.h"
#include "core.h" #include "core.h"

View File

@ -19,6 +19,7 @@
* 02111-1307, USA. * 02111-1307, USA.
*/ */
#include <config.h>
#include "keybindings.h" #include "keybindings.h"
#include "workspace.h" #include "workspace.h"
#include "errors.h" #include "errors.h"

View File

@ -19,12 +19,14 @@
* 02111-1307, USA. * 02111-1307, USA.
*/ */
#include <config.h>
#include "main.h" #include "main.h"
#include "util.h" #include "util.h"
#include "display.h" #include "display.h"
#include "errors.h" #include "errors.h"
#include "ui.h" #include "ui.h"
#include "session.h" #include "session.h"
#include "prefs.h"
#include <glib-object.h> #include <glib-object.h>
@ -74,7 +76,9 @@ main (int argc, char **argv)
act.sa_flags = 0; act.sa_flags = 0;
sigaction (SIGPIPE, &act, 0); sigaction (SIGPIPE, &act, 0);
g_set_prgname (PACKAGE); g_set_prgname (argv[0]);
bindtextdomain (GETTEXT_PACKAGE, METACITY_LOCALEDIR);
meta_set_verbose (TRUE); meta_set_verbose (TRUE);
meta_set_debugging (TRUE); meta_set_debugging (TRUE);
@ -169,8 +173,8 @@ main (int argc, char **argv)
g_type_init (); g_type_init ();
if (!disable_sm) /* Load prefs */
meta_session_init (client_id); /* client_id == NULL is fine */ meta_prefs_init ();
meta_ui_init (&argc, &argv); meta_ui_init (&argc, &argv);
@ -182,6 +186,13 @@ main (int argc, char **argv)
log_handler, NULL); log_handler, NULL);
g_log_set_always_fatal (G_LOG_LEVEL_MASK); g_log_set_always_fatal (G_LOG_LEVEL_MASK);
/* Connect to SM as late as possible - but before managing display,
* or we might try to manage a window before we have the session
* info
*/
if (!disable_sm)
meta_session_init (client_id); /* client_id == NULL is fine */
if (!meta_display_open (NULL)) if (!meta_display_open (NULL))
meta_exit (META_EXIT_ERROR); meta_exit (META_EXIT_ERROR);

View File

@ -19,6 +19,7 @@
* 02111-1307, USA. * 02111-1307, USA.
*/ */
#include <config.h>
#include "menu.h" #include "menu.h"
#include "main.h" #include "main.h"
#include "util.h" #include "util.h"

View File

@ -4,7 +4,8 @@
<!-- General preferences --> <!-- General preferences -->
<schema> <schema>
<key>/apps/metacity/general/focus_mode</key> <key>/schemas/apps/metacity/general/focus_mode</key>
<applyto>/apps/metacity/general/focus_mode</applyto>
<owner>metacity</owner> <owner>metacity</owner>
<type>string</type> <type>string</type>
<default>click</default> <default>click</default>
@ -22,7 +23,8 @@
</schema> </schema>
<schema> <schema>
<key>/apps/metacity/general/titlebar_uses_desktop_font</key> <key>/schemas/apps/metacity/general/titlebar_uses_desktop_font</key>
<applyto>/apps/metacity/general/titlebar_uses_desktop_font</applyto>
<owner>metacity</owner> <owner>metacity</owner>
<type>bool</type> <type>bool</type>
<default>true</default> <default>true</default>
@ -37,7 +39,8 @@
</schema> </schema>
<schema> <schema>
<key>/apps/metacity/general/titlebar_font</key> <key>/schemas/apps/metacity/general/titlebar_font</key>
<applyto>/apps/metacity/general/titlebar_font</applyto>
<owner>metacity</owner> <owner>metacity</owner>
<type>string</type> <type>string</type>
<!-- no default is deliberate - we want to be unset by default --> <!-- no default is deliberate - we want to be unset by default -->
@ -57,7 +60,8 @@
</schema> </schema>
<schema> <schema>
<key>/apps/metacity/general/titlebar_font_size</key> <key>/schemas/apps/metacity/general/titlebar_font_size</key>
<applyto>/apps/metacity/general/titlebar_font_size</applyto>
<owner>metacity</owner> <owner>metacity</owner>
<type>int</type> <type>int</type>
<default>0</default> <default>0</default>
@ -75,18 +79,19 @@
<!-- Keybindings --> <!-- Keybindings -->
<schema> <schema>
<key>/apps/metacity/keybindings/activate_window_menu</key> <key>/schemas/apps/metacity/keybindings/activate_window_menu</key>
<applyto>/apps/metacity/keybindings/activate_window_menu</applyto>
<owner>metacity</owner> <owner>metacity</owner>
<type>string</type> <type>string</type>
<default> <default>&lt;Alt&gt;space</default>
<locale name="C"> <locale name="C">
<short>Activate window menu</short> <short>Activate window menu</short>
<long> <long>
The keybinding used to activate the window menu. The keybinding used to activate the window menu.
The format looks like "<Control>a" or "<Shift><Alt>F1" or The format looks like "&lt;Control&gt;a" or "&lt;Shift&gt;&lt;Alt&gt;F1" or
"<Release>z" (the last one is for key release). The parser is "&lt;Release&gt;z" (the last one is for key release). The parser is
fairly liberal and allows lower or upper case, and also fairly liberal and allows lower or upper case, and also
abbreviations such as "<Ctl>" and "<Ctrl>". This option can be abbreviations such as "&lt;Ctl&gt;" and "&lt;Ctrl&gt;". This option can be
set to a single string, or a list of strings; if a list, set to a single string, or a list of strings; if a list,
all of the given keybindings will be present. If you set all of the given keybindings will be present. If you set
the option to the special string "disabled", then there the option to the special string "disabled", then there

441
src/prefs.c Normal file
View File

@ -0,0 +1,441 @@
/* Metacity preferences */
/*
* Copyright (C) 2001 Havoc Pennington
*
* 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 of the
* License, 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 "prefs.h"
#include "util.h"
#include <gconf/gconf-client.h>
#include <string.h>
/* If you add a key, it needs updating in init() and in the gconf
* notify listener and of course in the .schemas file
*/
#define KEY_FOCUS_MODE "/apps/metacity/general/focus_mode"
#define KEY_USE_DESKTOP_FONT "/apps/metacity/general/titlebar_uses_desktop_font"
#define KEY_TITLEBAR_FONT "/apps/metacity/general/titlebar_font"
#define KEY_TITLEBAR_FONT_SIZE "/apps/metacity/general/titlebar_font_size"
static GConfClient *client = NULL;
static GList *listeners = NULL;
static GList *changes = NULL;
static guint changed_idle;
static gboolean use_desktop_font = TRUE;
static PangoFontDescription *titlebar_font = NULL;
static int titlebar_font_size = 0;
static MetaFocusMode focus_mode = META_FOCUS_MODE_CLICK;
static gboolean update_use_desktop_font (gboolean value);
static gboolean update_titlebar_font (const char *value);
static gboolean update_titlebar_font_size (int value);
static gboolean update_focus_mode (const char *value);
static void queue_changed (MetaPreference pref);
static void change_notify (GConfClient *client,
guint cnxn_id,
GConfEntry *entry,
gpointer user_data);
typedef struct
{
MetaPrefsChangedFunc func;
gpointer data;
} MetaPrefsListener;
void
meta_prefs_add_listener (MetaPrefsChangedFunc func,
gpointer data)
{
MetaPrefsListener *l;
l = g_new (MetaPrefsListener, 1);
l->func = func;
l->data = data;
listeners = g_list_prepend (listeners, l);
}
void
meta_prefs_remove_listener (MetaPrefsChangedFunc func,
gpointer data)
{
GList *tmp;
tmp = listeners;
while (tmp != NULL)
{
MetaPrefsListener *l = tmp->data;
if (l->func == func &&
l->data == data)
{
g_free (l);
listeners = g_list_delete_link (listeners, tmp);
return;
}
tmp = tmp->next;
}
meta_bug ("Did not find listener to remove\n");
}
static void
emit_changed (MetaPreference pref)
{
GList *tmp;
GList *copy;
meta_verbose ("Notifying listeners that pref %s changed\n",
meta_preference_to_string (pref));
copy = g_list_copy (listeners);
tmp = copy;
while (tmp != NULL)
{
MetaPrefsListener *l = tmp->data;
(* l->func) (pref, l->data);
tmp = tmp->next;
}
g_list_free (copy);
}
static gboolean
changed_idle_handler (gpointer data)
{
GList *tmp;
GList *copy;
changed_idle = 0;
copy = g_list_copy (changes); /* reentrancy paranoia */
g_list_free (changes);
changes = NULL;
tmp = copy;
while (tmp != NULL)
{
MetaPreference pref = GPOINTER_TO_INT (tmp->data);
emit_changed (pref);
tmp = tmp->next;
}
g_list_free (copy);
return FALSE;
}
static void
queue_changed (MetaPreference pref)
{
meta_verbose ("Queueing change of pref %s\n",
meta_preference_to_string (pref));
if (g_list_find (changes, GINT_TO_POINTER (pref)) == NULL)
changes = g_list_prepend (changes, GINT_TO_POINTER (pref));
else
meta_verbose ("Change of pref %s was already pending\n",
meta_preference_to_string (pref));
if (changed_idle == 0)
changed_idle = g_idle_add (changed_idle_handler, NULL);
}
static void
cleanup_error (GError **error)
{
if (*error)
{
meta_warning ("%s", (*error)->message);
g_error_free (*error);
*error = NULL;
}
}
void
meta_prefs_init (void)
{
GError *err = NULL;
char *str_val;
int int_val;
gboolean bool_val;
if (client != NULL)
return;
/* returns a reference which we hold forever */
client = gconf_client_get_default ();
gconf_client_add_dir (client, "/apps/metacity",
GCONF_CLIENT_PRELOAD_RECURSIVE,
&err);
cleanup_error (&err);
str_val = gconf_client_get_string (client, KEY_FOCUS_MODE,
&err);
cleanup_error (&err);
update_focus_mode (str_val);
g_free (str_val);
bool_val = gconf_client_get_bool (client, KEY_USE_DESKTOP_FONT,
&err);
cleanup_error (&err);
update_use_desktop_font (bool_val);
int_val = gconf_client_get_int (client, KEY_TITLEBAR_FONT_SIZE,
&err);
cleanup_error (&err);
update_titlebar_font_size (int_val);
str_val = gconf_client_get_string (client, KEY_TITLEBAR_FONT,
&err);
cleanup_error (&err);
update_titlebar_font (str_val);
g_free (str_val);
gconf_client_notify_add (client, "/apps/metacity",
change_notify,
NULL,
NULL,
&err);
cleanup_error (&err);
}
static void
change_notify (GConfClient *client,
guint cnxn_id,
GConfEntry *entry,
gpointer user_data)
{
const char *key;
GConfValue *value;
key = gconf_entry_get_key (entry);
value = gconf_entry_get_value (entry);
if (strcmp (key, KEY_FOCUS_MODE) == 0)
{
const char *str;
if (value && value->type != GCONF_VALUE_STRING)
{
meta_warning (_("GConf key \"%s\" is set to an invalid type\n"),
KEY_FOCUS_MODE);
goto out;
}
str = value ? gconf_value_get_string (value) : NULL;
if (update_focus_mode (str))
queue_changed (META_PREF_FOCUS_MODE);
}
else if (strcmp (key, KEY_TITLEBAR_FONT) == 0)
{
const char *str;
if (value && value->type != GCONF_VALUE_STRING)
{
meta_warning (_("GConf key \"%s\" is set to an invalid type\n"),
KEY_TITLEBAR_FONT);
goto out;
}
str = value ? gconf_value_get_string (value) : NULL;
if (update_titlebar_font (str))
queue_changed (META_PREF_TITLEBAR_FONT);
}
else if (strcmp (key, KEY_TITLEBAR_FONT_SIZE) == 0)
{
int d;
if (value && value->type != GCONF_VALUE_INT)
{
meta_warning (_("GConf key \"%s\" is set to an invalid type\n"),
KEY_TITLEBAR_FONT_SIZE);
goto out;
}
d = value ? gconf_value_get_int (value) : 0;
if (update_titlebar_font_size (d))
queue_changed (META_PREF_TITLEBAR_FONT_SIZE);
}
else if (strcmp (key, KEY_USE_DESKTOP_FONT) == 0)
{
gboolean b;
if (value && value->type != GCONF_VALUE_BOOL)
{
meta_warning (_("GConf key \"%s\" is set to an invalid type\n"),
KEY_USE_DESKTOP_FONT);
goto out;
}
b = value ? gconf_value_get_bool (value) : TRUE;
/* There's no external pref for this, it just affects whether
* get_titlebar_font returns NULL, so that's what we queue
* the change on
*/
if (update_use_desktop_font (b))
queue_changed (META_PREF_TITLEBAR_FONT);
}
else
meta_verbose ("Key %s doesn't mean anything to Metacity\n",
key);
out:
/* nothing */
}
static gboolean
update_focus_mode (const char *value)
{
MetaFocusMode old_mode = focus_mode;
if (value != NULL)
{
if (g_ascii_strcasecmp (value, "click") == 0)
focus_mode = META_FOCUS_MODE_CLICK;
else if (g_ascii_strcasecmp (value, "sloppy") == 0)
focus_mode = META_FOCUS_MODE_SLOPPY;
else if (g_ascii_strcasecmp (value, "mouse") == 0)
focus_mode = META_FOCUS_MODE_MOUSE;
else
meta_warning (_("GConf key '%s' is set to an invalid value"),
KEY_FOCUS_MODE);
}
return (old_mode != focus_mode);
}
MetaFocusMode
meta_prefs_get_focus_mode (void)
{
return focus_mode;
}
static gboolean
update_use_desktop_font (gboolean value)
{
gboolean old = use_desktop_font;
use_desktop_font = value;
return old != value;
}
static gboolean
update_titlebar_font (const char *value)
{
PangoFontDescription *new_desc;
new_desc = NULL;
if (value)
{
new_desc = pango_font_description_from_string (value);
if (new_desc == NULL)
meta_warning (_("Could not parse font description \"%s\" from GConf key %s\n"),
value, KEY_TITLEBAR_FONT);
}
if (new_desc && titlebar_font &&
pango_font_description_equal (new_desc, titlebar_font))
{
pango_font_description_free (new_desc);
return FALSE;
}
else
{
if (titlebar_font)
pango_font_description_free (titlebar_font);
titlebar_font = new_desc;
return TRUE;
}
}
const PangoFontDescription*
meta_prefs_get_titlebar_font (void)
{
if (use_desktop_font)
return NULL;
else
return titlebar_font;
}
static gboolean
update_titlebar_font_size (int value)
{
int old = titlebar_font_size;
if (value < 0)
{
meta_warning (_("%d stored in GConf key %s is not a valid font size\n"),
value, KEY_TITLEBAR_FONT_SIZE);
value = 0;
}
titlebar_font_size = value;
return old != titlebar_font_size;
}
int
meta_prefs_get_titlebar_font_size (void)
{
return titlebar_font_size;
}
const char*
meta_preference_to_string (MetaPreference pref)
{
switch (pref)
{
case META_PREF_FOCUS_MODE:
return "FOCUS_MODE";
break;
case META_PREF_TITLEBAR_FONT:
return "TITLEBAR_FONT";
break;
case META_PREF_TITLEBAR_FONT_SIZE:
return "TITLEBAR_FONT_SIZE";
break;
}
return "(unknown)";
}

58
src/prefs.h Normal file
View File

@ -0,0 +1,58 @@
/* Metacity preferences */
/*
* Copyright (C) 2001 Havoc Pennington
*
* 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 of the
* License, 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.
*/
#ifndef META_PREFS_H
#define META_PREFS_H
/* This header is a "common" one between the UI and core side */
#include "common.h"
#include <pango/pango-font.h>
typedef enum
{
META_PREF_FOCUS_MODE,
META_PREF_TITLEBAR_FONT,
META_PREF_TITLEBAR_FONT_SIZE
} MetaPreference;
typedef void (* MetaPrefsChangedFunc) (MetaPreference pref,
gpointer data);
void meta_prefs_add_listener (MetaPrefsChangedFunc func,
gpointer data);
void meta_prefs_remove_listener (MetaPrefsChangedFunc func,
gpointer data);
void meta_prefs_init (void);
const char* meta_preference_to_string (MetaPreference pref);
MetaFocusMode meta_prefs_get_focus_mode (void);
/* returns NULL if GTK default should be used */
const PangoFontDescription* meta_prefs_get_titlebar_font (void);
/* returns 0 if default should be used */
int meta_prefs_get_titlebar_font_size (void);
#endif

View File

@ -19,6 +19,7 @@
* 02111-1307, USA. * 02111-1307, USA.
*/ */
#include <config.h>
#include "screen.h" #include "screen.h"
#include "util.h" #include "util.h"
#include "errors.h" #include "errors.h"

View File

@ -19,6 +19,8 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA. */ * 02111-1307, USA. */
#include <config.h>
#include "session.h" #include "session.h"
#ifndef HAVE_SM #ifndef HAVE_SM
@ -27,6 +29,18 @@ meta_session_init (const char *previous_id)
{ {
meta_verbose ("Compiled without session management support\n"); meta_verbose ("Compiled without session management support\n");
} }
const MetaWindowSessionInfo*
meta_window_lookup_saved_state (MetaWindow *window)
{
return NULL;
}
void
meta_window_release_saved_state (const MetaWindowSessionInfo *info)
{
;
}
#else /* HAVE_SM */ #else /* HAVE_SM */
#include <X11/ICE/ICElib.h> #include <X11/ICE/ICElib.h>

View File

@ -46,9 +46,8 @@ void meta_fatal (const char *format,
void meta_push_no_msg_prefix (void); void meta_push_no_msg_prefix (void);
void meta_pop_no_msg_prefix (void); void meta_pop_no_msg_prefix (void);
/* FIXME */ #include <libintl.h>
#include <config.h> #define _(x) dgettext (GETTEXT_PACKAGE, x)
#define _(x) x
#define N_(x) x #define N_(x) x
#endif #endif

View File

@ -19,6 +19,7 @@
* 02111-1307, USA. * 02111-1307, USA.
*/ */
#include <config.h>
#include "window.h" #include "window.h"
#include "util.h" #include "util.h"
#include "frame.h" #include "frame.h"