Commit 763adc73 authored by Jonh Wendell's avatar Jonh Wendell
Browse files

Use XDG_CACHE_HOME to store window size, panel state, etc.

Closes #583210.
parent f142412c
......@@ -26,6 +26,7 @@ vinagre/vinagre-bookmarks.c
vinagre/vinagre-bookmarks-migration.c
vinagre/vinagre-bookmarks-tree.c
vinagre/vinagre-bookmarks-ui.c
vinagre/vinagre-cache-prefs.c
vinagre/vinagre-commands.c
vinagre/vinagre-connect.c
vinagre/vinagre-connection.c
......
......@@ -55,6 +55,7 @@ INST_H_FILES = \
vinagre-window.h \
vinagre-dnd.h \
vinagre-ssh.h \
vinagre-cache-prefs.h \
$(NULL)
headerdir = $(prefix)/include/vinagre-@VINAGRE_API_VERSION@/vinagre
......@@ -96,6 +97,7 @@ handwritten_sources = \
vinagre-spinner.c \
pty_open.c \
vinagre-ssh.c \
vinagre-cache-prefs.c \
$(NULL)
libvinagre_la_SOURCES = \
......@@ -195,6 +197,7 @@ vinagre_applet_SOURCES = \
vinagre-marshal.h vinagre-marshal.c \
pty_open.h pty_open.c \
vinagre-ssh.h vinagre-ssh.c \
vinagre-cache-prefs.h vinagre-cache-prefs.c \
$(NULL)
if AVAHI
......
/*
* vinagre-cache-prefs.c
* This file is part of vinagre
*
* Copyright (C) Jonh Wendell 2010 <wendell@bani.com.br>
*
* vinagre-prefs.c 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.
*
* vinagre-prefs.c 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, see <http://www.gnu.org/licenses/>.
*/
#include <glib/gi18n.h>
#include "vinagre-cache-prefs.h"
static GKeyFile *keyfile = NULL;
static char* filename = NULL;
void
vinagre_cache_prefs_init (void)
{
keyfile = g_key_file_new ();
filename = g_build_filename (g_get_user_cache_dir (),
"vinagre",
"vinagre-prefs-cache.ini",
NULL);
g_key_file_load_from_file (keyfile, filename, 0, NULL);
}
static void
save_file (void)
{
GError *error = NULL;
gchar *data = g_key_file_to_data (keyfile, NULL, NULL);
gchar *dir = g_build_filename (g_get_user_cache_dir (), "vinagre", NULL);
g_mkdir_with_parents (dir, 0775);
if (!g_file_set_contents (filename,
data,
-1,
&error))
{
g_warning (_("Error while saving preferences: %s"), error ? error->message: _("Unknown error"));
g_clear_error (&error);
}
g_free (data);
g_free (dir);
}
void
vinagre_cache_prefs_finalize (void)
{
g_return_if_fail (keyfile != NULL);
save_file ();
g_key_file_free (keyfile);
keyfile = NULL;
g_free (filename);
filename = NULL;
}
gboolean
vinagre_cache_prefs_get_boolean (const gchar *group, const gchar *key, gboolean default_value)
{
gboolean result;
GError *error = NULL;
g_return_val_if_fail (keyfile != NULL, FALSE);
result = g_key_file_get_boolean (keyfile, group, key, &error);
if (error)
{
result = default_value;
g_error_free (error);
}
return result;
}
void
vinagre_cache_prefs_set_boolean (const gchar *group, const gchar *key, gboolean value)
{
g_return_if_fail (keyfile != NULL);
g_key_file_set_boolean (keyfile, group, key, value);
}
gchar *
vinagre_cache_prefs_get_string (const gchar *group, const gchar *key, const gchar *default_value)
{
gchar *result;
GError *error = NULL;
g_return_val_if_fail (keyfile != NULL, NULL);
result = g_key_file_get_string (keyfile, group, key, &error);
if (error)
{
result = g_strdup (default_value);
g_error_free (error);
}
return result;
}
void
vinagre_cache_prefs_set_string (const gchar *group, const gchar *key, const gchar *value)
{
g_return_if_fail (keyfile != NULL);
g_key_file_set_string (keyfile, group, key, value);
}
gint
vinagre_cache_prefs_get_integer (const gchar *group, const gchar *key, gint default_value)
{
gint result;
GError *error = NULL;
g_return_val_if_fail (keyfile != NULL, 0);
result = g_key_file_get_integer (keyfile, group, key, &error);
if (error)
{
result = default_value;
g_error_free (error);
}
return result;
}
void
vinagre_cache_prefs_set_integer (const gchar *group, const gchar *key, gint value)
{
g_return_if_fail (keyfile != NULL);
g_key_file_set_integer (keyfile, group, key, value);
}
/*
* vinagre-cache-prefs.h
* This file is part of vinagre
*
* Copyright (C) Jonh Wendell 2010 <wendell@bani.com.br>
*
* vinagre-prefs.c 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.
*
* vinagre-prefs.c 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, see <http://www.gnu.org/licenses/>.
*/
#ifndef _VINAGRE_CACHE_PREFS_H_
#define _VINAGRE_CACHE_PREFS_H_
G_BEGIN_DECLS
#include <glib.h>
void vinagre_cache_prefs_init (void);
void vinagre_cache_prefs_finalize (void);
gboolean vinagre_cache_prefs_get_boolean (const gchar *group, const gchar *key, gboolean default_value);
void vinagre_cache_prefs_set_boolean (const gchar *group, const gchar *key, gboolean value);
gchar * vinagre_cache_prefs_get_string (const gchar *group, const gchar *key, const gchar *default_value);
void vinagre_cache_prefs_set_string (const gchar *group, const gchar *key, const gchar *value);
gint vinagre_cache_prefs_get_integer (const gchar *group, const gchar *key, gint default_value);
void vinagre_cache_prefs_set_integer (const gchar *group, const gchar *key, gint value);
G_END_DECLS
#endif /* _VINAGRE_CACHE_PREFS_H_ */
......@@ -38,6 +38,7 @@
#include "vinagre-fav.h"
#include "vinagre-window-private.h"
#include "vinagre-prefs.h"
#include "vinagre-cache-prefs.h"
#include "vinagre-plugin.h"
#include "vinagre-plugin-info.h"
#include "vinagre-plugin-info-priv.h"
......@@ -247,9 +248,9 @@ vinagre_cmd_view_show_toolbar (GtkAction *action,
vinagre_utils_toggle_widget_visible (window->priv->toolbar);
g_object_set (vinagre_prefs_get_default (),
"toolbar-visible", GTK_WIDGET_VISIBLE (window->priv->toolbar),
NULL);
vinagre_cache_prefs_set_boolean ("window",
"toolbar-visible",
GTK_WIDGET_VISIBLE (window->priv->toolbar));
}
void
......@@ -260,9 +261,9 @@ vinagre_cmd_view_show_statusbar (GtkAction *action,
vinagre_utils_toggle_widget_visible (window->priv->statusbar);
g_object_set (vinagre_prefs_get_default (),
"statusbar-visible", GTK_WIDGET_VISIBLE (window->priv->statusbar),
NULL);
vinagre_cache_prefs_set_boolean ("window",
"statusbar-visible",
GTK_WIDGET_VISIBLE (window->priv->statusbar));
}
void
......@@ -273,9 +274,9 @@ vinagre_cmd_view_show_fav_panel (GtkAction *action,
vinagre_utils_toggle_widget_visible (window->priv->fav_panel);
g_object_set (vinagre_prefs_get_default (),
"side-panel-visible", GTK_WIDGET_VISIBLE (window->priv->fav_panel),
NULL);
vinagre_cache_prefs_set_boolean ("window",
"side-panel-visible",
GTK_WIDGET_VISIBLE (window->priv->fav_panel));
}
void
......
......@@ -35,6 +35,7 @@
#include "vinagre-utils.h"
#include "vinagre-bookmarks.h"
#include "vinagre-prefs.h"
#include "vinagre-cache-prefs.h"
#include "vinagre-plugins-engine.h"
#include "vinagre-plugin.h"
......@@ -133,7 +134,7 @@ setup_protocol (VinagreConnectDialog *dialog)
dialog->protocol_store = gtk_list_store_new (N_PROTOCOLS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_OBJECT, G_TYPE_OBJECT);
plugins = vinagre_plugin_engine_get_plugins_by_protocol (vinagre_plugins_engine_get_default ());
g_object_get (vinagre_prefs_get_default (), "last-protocol", &last_protocol, NULL);
last_protocol = vinagre_cache_prefs_get_string ("connection", "last-protocol", NULL);
g_hash_table_iter_init (&hash_iter, plugins);
selected = 0;
......@@ -438,7 +439,7 @@ VinagreConnection *vinagre_connect (VinagreWindow *window)
PROTOCOL_PLUGIN, &plugin,
-1);
g_object_set (vinagre_prefs_get_default (), "last-protocol", protocol, NULL);
vinagre_cache_prefs_set_string ("connection", "last-protocol", protocol);
g_free (protocol);
conn = vinagre_plugin_new_connection (plugin);
......
......@@ -34,6 +34,7 @@
#include "vinagre-app.h"
#include "vinagre-utils.h"
#include "vinagre-prefs.h"
#include "vinagre-cache-prefs.h"
#include "vinagre-bacon.h"
#include "vinagre-plugins-engine.h"
#include "vinagre-plugin-info.h"
......@@ -201,6 +202,7 @@ int main (int argc, char **argv) {
vinagre_bacon_start (servers, new_window);
vinagre_cache_prefs_init ();
app = vinagre_app_get_default ();
window = vinagre_app_create_window (app, NULL);
gtk_widget_show (GTK_WIDGET(window));
......@@ -228,6 +230,7 @@ int main (int argc, char **argv) {
#endif
g_object_unref (vinagre_bookmarks_get_default ());
g_object_unref (vinagre_prefs_get_default ());
vinagre_cache_prefs_finalize ();
#ifdef VINAGRE_ENABLE_AVAHI
g_object_unref (vinagre_mdns_get_default ());
#endif
......
......@@ -25,20 +25,10 @@
#define VINAGRE_BASE_KEY "/apps/vinagre"
#define VM_ALWAYS_SHOW_TABS VINAGRE_BASE_KEY "/always_show_tabs"
#define VM_SHARED_FLAG VINAGRE_BASE_KEY "/shared_flag"
#define VM_TOOLBAR_VISIBLE VINAGRE_BASE_KEY "/toolbar_visible"
#define VM_STATUSBAR_VISIBLE VINAGRE_BASE_KEY "/statusbar_visible"
#define VM_SIDE_PANEL_VISIBLE VINAGRE_BASE_KEY "/side_pane_visible"
#define VM_SHOW_ACCELS VINAGRE_BASE_KEY "/show_accels"
#define VM_HISTORY_SIZE VINAGRE_BASE_KEY "/history_size"
#define VM_ALWAYS_ENABLE_LISTENING VINAGRE_BASE_KEY "/always_enable_listening"
#define VM_WINDOW_STATE VINAGRE_BASE_KEY "/window_state"
#define VM_WINDOW_WIDTH VINAGRE_BASE_KEY "/window_width"
#define VM_WINDOW_HEIGHT VINAGRE_BASE_KEY "/window_height"
#define VM_SIDE_PANEL_SIZE VINAGRE_BASE_KEY "/side_panel_size"
#define VM_LAST_PROTOCOL VINAGRE_BASE_KEY "/last_protocol"
#define VM_SHARED_FLAG VINAGRE_BASE_KEY "/shared_flag"
#define VINAGRE_PLUGINS_DIR VINAGRE_BASE_KEY "/plugins"
#define VM_ACTIVE_PLUGINS VINAGRE_PLUGINS_DIR "/active-plugins"
......@@ -53,13 +43,6 @@ enum
PROP_0,
PROP_SHARED_FLAG,
PROP_ALWAYS_SHOW_TABS,
PROP_TOOLBAR_VISIBLE,
PROP_STATUSBAR_VISIBLE,
PROP_SIDE_PANEL_VISIBLE,
PROP_WINDOW_STATE,
PROP_WINDOW_WIDTH,
PROP_WINDOW_HEIGHT,
PROP_SIDE_PANEL_SIZE,
PROP_SHOW_ACCELS,
PROP_HISTORY_SIZE,
PROP_ACTIVE_PLUGINS,
......@@ -241,7 +224,6 @@ vinagre_prefs_init (VinagrePrefs *prefs)
VM_SHOW_ACCELS,
(GConfClientNotifyFunc) vinagre_prefs_show_accels_notify,
prefs, NULL, NULL);
}
static void
......@@ -257,27 +239,6 @@ vinagre_prefs_set_property (GObject *object, guint prop_id, const GValue *value,
case PROP_ALWAYS_SHOW_TABS:
vinagre_prefs_set_bool (prefs, VM_ALWAYS_SHOW_TABS, g_value_get_boolean (value));
break;
case PROP_TOOLBAR_VISIBLE:
vinagre_prefs_set_bool (prefs, VM_TOOLBAR_VISIBLE, g_value_get_boolean (value));
break;
case PROP_STATUSBAR_VISIBLE:
vinagre_prefs_set_bool (prefs, VM_STATUSBAR_VISIBLE, g_value_get_boolean (value));
break;
case PROP_SIDE_PANEL_VISIBLE:
vinagre_prefs_set_bool (prefs, VM_SIDE_PANEL_VISIBLE, g_value_get_boolean (value));
break;
case PROP_WINDOW_STATE:
vinagre_prefs_set_int (prefs, VM_WINDOW_STATE, g_value_get_int (value));
break;
case PROP_WINDOW_WIDTH:
vinagre_prefs_set_int (prefs, VM_WINDOW_WIDTH, g_value_get_int (value));
break;
case PROP_WINDOW_HEIGHT:
vinagre_prefs_set_int (prefs, VM_WINDOW_HEIGHT, g_value_get_int (value));
break;
case PROP_SIDE_PANEL_SIZE:
vinagre_prefs_set_int (prefs, VM_SIDE_PANEL_SIZE, g_value_get_int (value));
break;
case PROP_SHOW_ACCELS:
vinagre_prefs_set_bool (prefs, VM_SHOW_ACCELS, g_value_get_boolean (value));
break;
......@@ -287,9 +248,6 @@ vinagre_prefs_set_property (GObject *object, guint prop_id, const GValue *value,
case PROP_ACTIVE_PLUGINS:
vinagre_prefs_set_list (prefs, VM_ACTIVE_PLUGINS, g_value_get_pointer (value));
break;
case PROP_LAST_PROTOCOL:
vinagre_prefs_set_string (prefs, VM_LAST_PROTOCOL, g_value_get_string (value));
break;
case PROP_ALWAYS_ENABLE_LISTENING:
vinagre_prefs_set_bool (prefs, VM_ALWAYS_ENABLE_LISTENING, g_value_get_boolean (value));
break;
......@@ -313,27 +271,6 @@ vinagre_prefs_get_property (GObject *object, guint prop_id, GValue *value, GPara
case PROP_ALWAYS_SHOW_TABS:
g_value_set_boolean (value, vinagre_prefs_get_bool (prefs, VM_ALWAYS_SHOW_TABS, FALSE));
break;
case PROP_TOOLBAR_VISIBLE:
g_value_set_boolean (value, vinagre_prefs_get_bool (prefs, VM_TOOLBAR_VISIBLE, TRUE));
break;
case PROP_STATUSBAR_VISIBLE:
g_value_set_boolean (value, vinagre_prefs_get_bool (prefs, VM_STATUSBAR_VISIBLE, TRUE));
break;
case PROP_SIDE_PANEL_VISIBLE:
g_value_set_boolean (value, vinagre_prefs_get_bool (prefs, VM_SIDE_PANEL_VISIBLE, TRUE));
break;
case PROP_WINDOW_STATE:
g_value_set_int (value, vinagre_prefs_get_int (prefs, VM_WINDOW_STATE, 0));
break;
case PROP_WINDOW_WIDTH:
g_value_set_int (value, vinagre_prefs_get_int (prefs, VM_WINDOW_WIDTH, 650));
break;
case PROP_WINDOW_HEIGHT:
g_value_set_int (value, vinagre_prefs_get_int (prefs, VM_WINDOW_HEIGHT, 500));
break;
case PROP_SIDE_PANEL_SIZE:
g_value_set_int (value, vinagre_prefs_get_int (prefs, VM_SIDE_PANEL_SIZE, 200));
break;
case PROP_SHOW_ACCELS:
g_value_set_boolean (value, vinagre_prefs_get_bool (prefs, VM_SHOW_ACCELS, TRUE));
break;
......@@ -343,11 +280,6 @@ vinagre_prefs_get_property (GObject *object, guint prop_id, GValue *value, GPara
case PROP_ACTIVE_PLUGINS:
g_value_set_pointer (value, vinagre_prefs_get_list (prefs, VM_ACTIVE_PLUGINS));
break;
case PROP_LAST_PROTOCOL:
str = vinagre_prefs_get_string (prefs, VM_LAST_PROTOCOL, NULL);
g_value_set_string (value, str);
g_free (str);
break;
case PROP_ALWAYS_ENABLE_LISTENING:
g_value_set_boolean (value, vinagre_prefs_get_bool (prefs, VM_ALWAYS_ENABLE_LISTENING, FALSE));
break;
......@@ -401,55 +333,6 @@ vinagre_prefs_class_init (VinagrePrefsClass *klass)
"Whether we should show the tabs even when there is ony one active connection",
FALSE,
G_PARAM_READWRITE));
g_object_class_install_property (object_class,
PROP_TOOLBAR_VISIBLE,
g_param_spec_boolean ("toolbar-visible",
"Toolbar Visibility",
"Whether the toolbar is visible",
TRUE,
G_PARAM_READWRITE));
g_object_class_install_property (object_class,
PROP_STATUSBAR_VISIBLE,
g_param_spec_boolean ("statusbar-visible",
"Statusbar Visibility",
"Whether the statusbar is visible",
TRUE,
G_PARAM_READWRITE));
g_object_class_install_property (object_class,
PROP_SIDE_PANEL_VISIBLE,
g_param_spec_boolean ("side-panel-visible",
"Side Panel Visibility",
"Whether the side panel is visible",
TRUE,
G_PARAM_READWRITE));
g_object_class_install_property (object_class,
PROP_WINDOW_STATE,
g_param_spec_int ("window-state",
"Window State",
"Whether the window is maximised",
G_MININT, G_MAXINT, 0,
G_PARAM_READWRITE));
g_object_class_install_property (object_class,
PROP_WINDOW_WIDTH,
g_param_spec_int ("window-width",
"Window Width",
"The width of window",
100, G_MAXINT, 650,
G_PARAM_READWRITE));
g_object_class_install_property (object_class,
PROP_WINDOW_HEIGHT,
g_param_spec_int ("window-height",
"Window Height",
"The height of window",
100, G_MAXINT, 500,
G_PARAM_READWRITE));
g_object_class_install_property (object_class,
PROP_SIDE_PANEL_SIZE,
g_param_spec_int ("side-panel-size",
"Side Panel Width",
"The width of side panel",
100, G_MAXINT, 200,
G_PARAM_READWRITE));
g_object_class_install_property (object_class,
PROP_SHOW_ACCELS,
g_param_spec_boolean ("show-accels",
......@@ -472,14 +355,6 @@ vinagre_prefs_class_init (VinagrePrefsClass *klass)
"The list of active plugins",
G_PARAM_READWRITE));
g_object_class_install_property (object_class,
PROP_LAST_PROTOCOL,
g_param_spec_string ("last-protocol",
"Last Protocol",
"The last protocol used in connect dialog",
NULL,
G_PARAM_READWRITE));
g_object_class_install_property (object_class,
PROP_ALWAYS_ENABLE_LISTENING,
g_param_spec_boolean ("always-enable-listening",
......@@ -487,7 +362,6 @@ vinagre_prefs_class_init (VinagrePrefsClass *klass)
"Whether we always should listen for reverse connections",
FALSE,
G_PARAM_READWRITE));
}
/* Preferences dialog */
......
......@@ -34,6 +34,7 @@
#include "vinagre-notebook.h"
#include "vinagre-fav.h"
#include "vinagre-prefs.h"
#include "vinagre-cache-prefs.h"
#include "vinagre-utils.h"
#include "vinagre-bookmarks.h"
#include "vinagre-ui.h"
......@@ -140,9 +141,7 @@ vinagre_window_state_event_cb (GtkWidget *widget,
VinagreWindow *window = VINAGRE_WINDOW (widget);
window->priv->window_state = event->new_window_state;
g_object_set (vinagre_prefs_get_default (),
"window-state", window->priv->window_state,
NULL);
vinagre_cache_prefs_set_integer ("window", "window-state", window->priv->window_state);
if ((event->changed_mask & GDK_WINDOW_STATE_FULLSCREEN) == 0)
return FALSE;
......@@ -169,10 +168,8 @@ vinagre_window_configure_event (GtkWidget *widget,
window->priv->width = event->width;
window->priv->height = event->height;
g_object_set (vinagre_prefs_get_default (),
"window-width", window->priv->width,
"window-height", window->priv->height,
NULL);
vinagre_cache_prefs_set_integer ("window", "window-width", window->priv->width);
vinagre_cache_prefs_set_integer ("window", "window-height", window->priv->height);
return GTK_WIDGET_CLASS (vinagre_window_parent_class)->configure_event (widget, event);
}
......@@ -476,9 +473,7 @@ fav_panel_size_allocate (GtkWidget *widget,
{
window->priv->side_panel_size = allocation->width;
if (window->priv->side_panel_size > 0)
g_object_set (vinagre_prefs_get_default (),
"side-panel-size", window->priv->side_panel_size,
NULL);
vinagre_cache_prefs_set_integer ("window", "side-panel-size", window->priv->side_panel_size);
}
static void
......@@ -626,9 +621,7 @@ create_side_panel (VinagreWindow *window)
FALSE,
FALSE);
g_object_get (vinagre_prefs_get_default (),
"side-panel-size", &(window->priv->side_panel_size),
NULL);
window->priv->side_panel_size = vinagre_cache_prefs_get_integer ("window", "side-panel-size", 200);
gtk_paned_set_position (GTK_PANED (window->priv->hpaned), window->priv->side_panel_size);
g_signal_connect (window->priv->fav_panel,
......@@ -640,42 +633,35 @@ create_side_panel (VinagreWindow *window)
static void
init_widgets_visibility (VinagreWindow *window)
{
GdkWindowState state;
gint w, h;
GtkAction *action;
gboolean visible;
VinagrePrefs *prefs = vinagre_prefs_get_default ();
/* side panel visibility */
action = gtk_action_group_get_action (window->priv->always_sensitive_action_group,
"ViewSidePanel");
g_object_get (prefs, "side-panel-visible", &visible, NULL);
visible = vinagre_cache_prefs_get_boolean ("window", "side-panel-visible", TRUE);
if (gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action)) != visible)
gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), visible);
/* toolbar visibility */
action = gtk_action_group_get_action (window->priv->always_sensitive_action_group,
"ViewToolbar");
g_object_get (prefs, "toolbar-visible", &visible, NULL);
visible = vinagre_cache_prefs_get_boolean ("window", "toolbar-visible", TRUE);
if (gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action)) != visible)
gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), visible);
/* statusbar visibility */
action = gtk_action_group_get_action (window->priv->always_sensitive_action_group,
"ViewStatusbar");
g_object_get (prefs, "statusbar-visible", &visible, NULL);
visible = vinagre_cache_prefs_get_boolean ("window", "statusbar-visible", TRUE);
if (gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action)) != visible)
gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), visible);
g_object_get (prefs,
"window-state", &state,
"window-width", &w,
"window-height", &h,
NULL);
gtk_window_set_default_size (GTK_WINDOW (window), w, h);
gtk_window_set_default_size (GTK_WINDOW (window),
vinagre_cache_prefs_get_integer ("window", "window-width", 650),
vinagre_cache_prefs_get_integer ("window", "window-height", 500));
if ((state & GDK_WINDOW_STATE_MAXIMIZED) != 0)
if ((vinagre_cache_prefs_get_integer ("window", "window-state", 0) & GDK_WINDOW_STATE_MAXIMIZED) != 0)
gtk_window_maximize (GTK_WINDOW (window));
else
gtk_window_unmaximize (GTK_WINDOW (window));
......
Markdown is supported
0% or .
You are about to add