* .cvsignore: * Makefile.am: * gnome-window-properties.c: (wm_selection_changed), (wm_widget_clear), (wm_widget_new), (wm_widget_add_wm), (response_cb), (state_changed), (restart_label_update), (restart_dialog_raise), (restart_dialog_destroyed), (show_restart_dialog), (hide_restart_dialog), (update_session), (init_session), (update_gui), (init_callback), (restart_finalize), (restart_failure), (show_restart_info), (restart_finish), (restart_callback), (restart), (revert_callback), (cancel_callback), (apply_wm), (create_dialog), (main): * gnome-window-properties.glade: * window-capplet.png: * window-properties.desktop.in: * wm-exec.c: (wm_is_running), (find_gnome_wm_window), (find_wm_window_from_client), (window_has_wm_state), (descendent_has_wm_state), (find_wm_window_from_hunt), (find_wm_window), (start_timeout), (start_do), (kill_timeout), (wm_restart), (wm_guess_current): * wm-list.c: (is_blank), (wm_compare), (wm_free), (wm_check_present), (wm_copy), (wm_list_find), (wm_list_find_exec), (wm_list_find_files), (wm_list_read_dir), (wm_list_init), (wm_list_save), (wm_list_revert), (wm_list_add), (wm_list_delete), (wm_list_set_current), (wm_list_get_current), (wm_list_get_revert), (wm_read_from_xml), (wm_list_read_from_xml), (wm_write_to_xml), (wm_list_write_to_xml), (xml_read_bool), (xml_write_bool): * wm-properties.h:
63 lines
1.9 KiB
C
63 lines
1.9 KiB
C
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */
|
|
/* Copyright (C) 1998 Redhat Software Inc.
|
|
* Code available under the Gnu GPL.
|
|
* Authors: Owen Taylor <otaylor@redhat.com>,
|
|
* Bradford Hovinen <hovinen@helixcode.com>
|
|
*/
|
|
|
|
#include <gdk/gdk.h>
|
|
#include <libgnome/libgnome.h>
|
|
#include <libgnome/gnome-desktop-item.h>
|
|
|
|
#include <libxml/tree.h>
|
|
|
|
typedef struct _WindowManager WindowManager;
|
|
|
|
struct _WindowManager {
|
|
GnomeDesktopItem *dentry;
|
|
gchar *config_exec;
|
|
gchar *config_tryexec;
|
|
gboolean session_managed : 1;
|
|
gboolean is_user : 1;
|
|
gboolean is_present : 1;
|
|
gboolean is_config_present : 1;
|
|
};
|
|
|
|
/* Utility functions */
|
|
gboolean is_blank (gchar *str);
|
|
|
|
/* Fill in the is_present and is_config_present fields */
|
|
void wm_check_present (WindowManager *wm);
|
|
|
|
/* Management of window manager list */
|
|
|
|
void wm_list_init (void);
|
|
void wm_list_save (void);
|
|
void wm_list_revert (void);
|
|
void wm_list_add (WindowManager *window_manager);
|
|
void wm_list_delete (WindowManager *window_manager);
|
|
void wm_list_set_current (WindowManager *window_manager);
|
|
WindowManager *wm_list_get_current (void);
|
|
WindowManager *wm_list_get_revert (void);
|
|
|
|
void wm_list_read_from_xml (xmlDocPtr doc);
|
|
xmlDocPtr wm_list_write_to_xml (void);
|
|
|
|
extern GList *window_managers;
|
|
|
|
/* Management of current window manager */
|
|
|
|
typedef enum {
|
|
WM_SUCCESS,
|
|
WM_ALREADY_RUNNING,
|
|
WM_CANT_START
|
|
} WMResult;
|
|
|
|
typedef void (*WMResultFunc) (WMResult result, gpointer data);
|
|
|
|
void wm_restart (WindowManager *new,
|
|
GdkWindow *client,
|
|
WMResultFunc callback,
|
|
gpointer data);
|
|
gboolean wm_is_running (void);
|
|
WindowManager *wm_guess_current (void);
|