annotate src/globals.c @ 276:4f526d436873

Implement secure rc file saving. First data is written to a temporary file, then if nothing was wrong, this file is renamed to the final name. This way the risk of corrupted rc file is greatly reduced. The code is borrowed from ELinks (http://elinks.cz).
author zas_
date Tue, 08 Apr 2008 21:55:58 +0000
parents 41fc4bfc8b25
children 9995c5fb202a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
1 /*
196
f6e307c7bad6 rename GQview -> Geeqie over the code
nadvornik
parents: 113
diff changeset
2 * Geeqie
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
3 * (C) 2004 John Ellis
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
4 *
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
5 * Author: John Ellis
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
6 *
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
7 * This software is released under the GNU General Public License (GNU GPL).
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
8 * Please read the included file COPYING for more information.
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
9 * This software comes with no warranty of any kind, use at your own risk!
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
10 */
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
11
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
12
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
13 #include "gqview.h"
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
14
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
15
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
16 GList *filename_filter = NULL;
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
17
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
18 /* -- options -- */
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
19 gint main_window_w = 500;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
20 gint main_window_h = 400;
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
21 gint main_window_x = 0;
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
22 gint main_window_y = 0;
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
23 gint main_window_maximized = FALSE;
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
24
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
25 gint float_window_w = 260;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
26 gint float_window_h = 450;
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
27 gint float_window_x = 0;
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
28 gint float_window_y = 0;
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
29 gint float_window_divider = -1;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
30
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
31 gint window_hdivider_pos = -1;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
32 gint window_vdivider_pos = 200;
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
33
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
34 gint save_window_positions = FALSE;
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
35 gint tools_float = FALSE;
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
36 gint tools_hidden = FALSE;
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
37 gint toolbar_hidden = FALSE;
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
38 gint progressive_key_scrolling = FALSE;
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
39
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
40 gint startup_path_enable = FALSE;
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
41 gchar *startup_path = NULL;
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
42 gint confirm_delete = TRUE;
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
43 gint enable_delete_key = TRUE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
44 gint safe_delete_enable = FALSE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
45 gchar *safe_delete_path = NULL;
223
73efc1ba150f Setting no limit size to trash directory is now possible using zero as value.
zas_
parents: 218
diff changeset
46 gint safe_delete_size = 128;
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
47 gint restore_tool = FALSE;
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
48 gint zoom_mode = ZOOM_RESET_ORIGINAL;
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
49 gint two_pass_zoom = TRUE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
50 gint scroll_reset_method = SCROLL_RESET_TOPLEFT;
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
51 gint fit_window = FALSE;
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
52 gint limit_window_size = FALSE;
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
53 gint zoom_to_fit_expands = TRUE;
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
54 gint max_window_size = 100;
209
ad78ad18523a configurable frame around image - geeqie_autofit_maxsize.patch by Laurent MONIN
nadvornik
parents: 208
diff changeset
55 gint limit_autofit_size = FALSE;
ad78ad18523a configurable frame around image - geeqie_autofit_maxsize.patch by Laurent MONIN
nadvornik
parents: 208
diff changeset
56 gint max_autofit_size = 100;
226
3c89da4aef95 Fix and simplify thumbnails size combo box related code.
zas_
parents: 223
diff changeset
57 gint thumb_max_width = DEFAULT_THUMB_WIDTH;
3c89da4aef95 Fix and simplify thumbnails size combo box related code.
zas_
parents: 223
diff changeset
58 gint thumb_max_height = DEFAULT_THUMB_HEIGHT;
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
59 gint enable_thumb_caching = TRUE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
60 gint enable_thumb_dirs = FALSE;
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
61 gint use_xvpics_thumbnails = TRUE;
14
25335c62cd9b ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 9
diff changeset
62 gint thumbnail_fast = TRUE;
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
63 gint thumbnail_spec_standard = TRUE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
64 gint enable_metadata_dirs = FALSE;
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
65 gint show_dot_files = FALSE;
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
66 gint file_filter_disable = FALSE;
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
67 gchar *editor_name[GQVIEW_EDITOR_SLOTS];
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
68 gchar *editor_command[GQVIEW_EDITOR_SLOTS];
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
69
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
70 gint thumbnails_enabled = FALSE;
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
71 SortType file_sort_method = SORT_NAME;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
72 gint file_sort_ascending = TRUE;
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
73
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
74 gint slideshow_delay = 150;
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
75 gint slideshow_random = FALSE;
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
76 gint slideshow_repeat = FALSE;
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
77
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
78 gint mousewheel_scrolls = FALSE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
79 gint enable_in_place_rename = TRUE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
80
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
81 gint recent_list_max = 10;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
82
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
83 gint collection_rectangular_selection = FALSE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
84
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
85 gint tile_cache_max = 10;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
86 gint thumbnail_quality = (gint)GDK_INTERP_TILES;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
87 gint zoom_quality = (gint)GDK_INTERP_BILINEAR;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
88 gint dither_quality = (gint)GDK_RGB_DITHER_NORMAL;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
89
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
90 gint zoom_increment = 5;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
91
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
92 gint enable_read_ahead = TRUE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
93
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
94 gint place_dialogs_under_mouse = FALSE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
95
208
fa0e05f985c3 set user-defined color as image background - patch by Laurent MONIN
nadvornik
parents: 196
diff changeset
96 gint user_specified_window_background = FALSE;
fa0e05f985c3 set user-defined color as image background - patch by Laurent MONIN
nadvornik
parents: 196
diff changeset
97 GdkColor window_background_color = {0, 0, 0, 0};
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
98
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
99 gint fullscreen_screen = -1;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
100 gint fullscreen_clean_flip = FALSE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
101 gint fullscreen_disable_saver = TRUE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
102 gint fullscreen_above = FALSE;
218
f4a0555794a9 Customizable info overlay in fullscreen, based on the patch posted to gqview-devel list by Timo on 2007-09-10.
zas_
parents: 209
diff changeset
103 gint show_fullscreen_info = TRUE;
f4a0555794a9 Customizable info overlay in fullscreen, based on the patch posted to gqview-devel list by Timo on 2007-09-10.
zas_
parents: 209
diff changeset
104 gchar *fullscreen_info = NULL;
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
105
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
106 gint dupe_custom_threshold = 99;
4
e149abcda4eb Syncing to 0.8.1
gqview
parents: 3
diff changeset
107
227
41fc4bfc8b25 Add a debug level spinner at the end of Preferences > Advanced.
zas_
parents: 226
diff changeset
108 #ifdef DEBUG
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
109 gint debug = FALSE;
227
41fc4bfc8b25 Add a debug level spinner at the end of Preferences > Advanced.
zas_
parents: 226
diff changeset
110 #endif
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
111
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
112 /* layout */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
113 gchar *layout_order = NULL;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
114 gint layout_style = 0;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
115
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
116 gint layout_view_icons = FALSE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
117 gint layout_view_tree = FALSE;
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
118
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
119 gint show_icon_names = TRUE;
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
120
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
121 gint tree_descend_subdirs = FALSE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
122
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
123 gint lazy_image_sync = FALSE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
124 gint update_on_time_change = TRUE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
125 gint exif_rotate_enable = FALSE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
126
113
55166d93498d Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents: 14
diff changeset
127 /* color profiles */
55166d93498d Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents: 14
diff changeset
128 gint color_profile_enabled = FALSE;
55166d93498d Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents: 14
diff changeset
129 gint color_profile_input_type = 0;
55166d93498d Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents: 14
diff changeset
130 gchar *color_profile_input_file[COLOR_PROFILE_INPUTS];
55166d93498d Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents: 14
diff changeset
131 gchar *color_profile_input_name[COLOR_PROFILE_INPUTS];
55166d93498d Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents: 14
diff changeset
132 gint color_profile_screen_type = 0;
55166d93498d Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents: 14
diff changeset
133 gchar *color_profile_screen_file = NULL;
55166d93498d Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents: 14
diff changeset
134 gint color_profile_use_image = TRUE;
55166d93498d Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents: 14
diff changeset
135
55166d93498d Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents: 14
diff changeset
136