Mercurial > geeqie.yaz
annotate src/options.h @ 737:8a8873e7a552
Make shell command and its option rc file options instead of hardcoded strings.
This allows users to modify the shell command that execute "editors".
Two new options appear in rc file:
- shell.path (default to "/bin/sh")
- shell.options (default to "-c")
These options can only be changed from the rc file, not at runtime.
Tests are made to check that shell.path is not empty and lead to
an executable file.
author | zas_ |
---|---|
date | Thu, 22 May 2008 20:22:13 +0000 |
parents | a7289f9e8d29 |
children | 9b0ac8d58c89 |
rev | line source |
---|---|
508 | 1 /* |
2 * Geeqie | |
3 * Copyright (C) 2008 The Geeqie Team | |
4 * | |
5 * Authors: Vladimir Nadvornik, Laurent Monin | |
6 * | |
7 * This software is released under the GNU General Public License (GNU GPL). | |
8 * Please read the included file COPYING for more information. | |
9 * This software comes with no warranty of any kind, use at your own risk! | |
10 */ | |
11 | |
12 #ifndef OPTIONS_H | |
13 #define OPTIONS_H | |
14 | |
15 typedef struct _ConfOptions ConfOptions; | |
16 | |
17 struct _ConfOptions | |
18 { | |
19 | |
20 /* ui */ | |
21 gint progressive_key_scrolling; | |
22 gint place_dialogs_under_mouse; | |
736 | 23 gboolean mousewheel_scrolls; |
508 | 24 gint show_icon_names; |
25 gint show_copy_path; | |
26 | |
27 /* various */ | |
28 gint enable_metadata_dirs; | |
29 | |
30 gint tree_descend_subdirs; | |
31 | |
32 gint lazy_image_sync; | |
33 gint update_on_time_change; | |
34 | |
35 gint duplicates_similarity_threshold; | |
36 | |
37 gint open_recent_list_maxsize; | |
38 gint dnd_icon_size; | |
39 | |
594
4cfce4ed35e0
Use a dedicated option to enable keywords and comment saving as XMP tags
zas_
parents:
556
diff
changeset
|
40 gint save_metadata_in_image_file; |
4cfce4ed35e0
Use a dedicated option to enable keywords and comment saving as XMP tags
zas_
parents:
556
diff
changeset
|
41 |
629 | 42 struct { |
43 gboolean restore_path; | |
630
83d3ded39e49
An option to save and restore the last path used was added.
zas_
parents:
629
diff
changeset
|
44 gboolean use_last_path; |
629 | 45 gchar *path; |
46 } startup; | |
47 | |
508 | 48 /* file ops */ |
49 struct { | |
50 gint enable_in_place_rename; | |
51 | |
52 gint confirm_delete; | |
53 gint enable_delete_key; | |
54 gint safe_delete_enable; | |
55 gchar *safe_delete_path; | |
56 gint safe_delete_folder_maxsize; | |
57 } file_ops; | |
58 | |
59 /* image */ | |
60 struct { | |
61 gint exif_rotate_enable; | |
62 gint scroll_reset_method; | |
63 gint fit_window_to_image; | |
64 gint limit_window_size; | |
65 gint max_window_size; | |
66 gint limit_autofit_size; | |
67 gint max_autofit_size; | |
68 | |
69 gint tile_cache_max; /* in megabytes */ | |
70 gint dither_quality; | |
71 gint enable_read_ahead; | |
72 | |
73 gint zoom_mode; | |
74 gint zoom_2pass; | |
75 gint zoom_to_fit_allow_expand; | |
76 gint zoom_quality; | |
77 gint zoom_increment; /* 10 is 1.0, 5 is 0.05, 20 is 2.0, etc. */ | |
78 | |
79 gint use_custom_border_color; | |
80 GdkColor border_color; | |
81 | |
82 gint read_buffer_size; /* bytes to read from file per read() */ | |
83 gint idle_read_loop_count; /* the number of bytes to read per idle call (define x image.read_buffer_size) */ | |
84 } image; | |
85 | |
86 /* thumbnails */ | |
87 struct { | |
88 gint max_width; | |
89 gint max_height; | |
90 gint enable_caching; | |
91 gint cache_into_dirs; | |
92 gint fast; | |
93 gint use_xvpics; | |
94 gint spec_standard; | |
95 gint quality; | |
96 } thumbnails; | |
97 | |
98 /* file filtering */ | |
99 struct { | |
100 gint show_hidden_files; | |
101 gint show_dot_directory; | |
102 gint disable; | |
103 } file_filter; | |
104 | |
105 /* collections */ | |
106 struct { | |
107 gint rectangular_selection; | |
108 } collections; | |
109 | |
110 /* editors */ | |
730 | 111 Editor editor[GQ_EDITOR_SLOTS]; |
508 | 112 |
737
8a8873e7a552
Make shell command and its option rc file options instead of hardcoded strings.
zas_
parents:
736
diff
changeset
|
113 /* shell */ |
8a8873e7a552
Make shell command and its option rc file options instead of hardcoded strings.
zas_
parents:
736
diff
changeset
|
114 struct { |
8a8873e7a552
Make shell command and its option rc file options instead of hardcoded strings.
zas_
parents:
736
diff
changeset
|
115 gchar *path; |
8a8873e7a552
Make shell command and its option rc file options instead of hardcoded strings.
zas_
parents:
736
diff
changeset
|
116 gchar *options; |
8a8873e7a552
Make shell command and its option rc file options instead of hardcoded strings.
zas_
parents:
736
diff
changeset
|
117 } shell; |
8a8873e7a552
Make shell command and its option rc file options instead of hardcoded strings.
zas_
parents:
736
diff
changeset
|
118 |
508 | 119 /* file sorting */ |
120 struct { | |
121 SortType method; | |
122 gint ascending; | |
123 gint case_sensitive; /* file sorting method (case) */ | |
124 } file_sort; | |
125 | |
126 /* slideshow */ | |
127 struct { | |
128 gint delay; /* in tenths of a second */ | |
129 gint random; | |
130 gint repeat; | |
131 } slideshow; | |
132 | |
133 /* fullscreen */ | |
134 struct { | |
135 gint screen; | |
136 gint clean_flip; | |
137 gint disable_saver; | |
138 gint above; | |
139 } fullscreen; | |
140 | |
612 | 141 /* histogram */ |
142 struct { | |
143 guint last_channel_mode; | |
144 guint last_log_mode; | |
145 } histogram; | |
146 | |
508 | 147 /* image overlay */ |
148 struct { | |
149 struct { | |
638
8cc9f349c670
Rename option image_overlay.common.enabled to image_overlay.common.state
zas_
parents:
630
diff
changeset
|
150 guint state; |
508 | 151 gint show_at_startup; |
152 gchar *template_string; | |
153 } common; | |
154 } image_overlay; | |
155 | |
156 /* layout */ | |
157 struct { | |
158 gchar *order; | |
159 gint style; | |
160 | |
161 DirViewType dir_view_type; | |
556
fe675761d091
Replace Layout icon_view field by more generic file_view_type.
zas_
parents:
508
diff
changeset
|
162 FileViewType file_view_type; |
508 | 163 |
164 gint show_thumbnails; | |
165 gint show_marks; | |
166 | |
167 struct { | |
168 gint w; | |
169 gint h; | |
170 gint x; | |
171 gint y; | |
172 gint maximized; | |
173 gint hdivider_pos; | |
174 gint vdivider_pos; | |
175 } main_window; | |
176 | |
177 struct { | |
178 gint w; | |
179 gint h; | |
180 gint x; | |
181 gint y; | |
182 gint vdivider_pos; | |
183 } float_window; | |
184 | |
185 gint save_window_positions; | |
186 | |
187 gint tools_float; | |
188 gint tools_hidden; | |
189 gint tools_restore_state; | |
190 | |
191 gint toolbar_hidden; | |
192 | |
193 } layout; | |
194 | |
195 /* panels */ | |
196 struct { | |
197 struct { | |
198 gint enabled; | |
199 gint width; | |
200 } info; | |
201 | |
202 struct { | |
203 gint enabled; | |
204 gint width; | |
205 } exif; | |
206 | |
207 struct { | |
208 gint enabled; | |
209 gint mode_state; | |
210 gint action_state; | |
211 gint selection_state; | |
212 } sort; | |
213 } panels; | |
214 | |
684 | 215 /* properties dialog */ |
216 struct { | |
217 gchar *tabs_order; | |
218 } properties; | |
508 | 219 |
220 /* color profiles */ | |
221 struct { | |
222 gint enabled; | |
223 gint input_type; | |
224 gchar *input_file[COLOR_PROFILE_INPUTS]; | |
225 gchar *input_name[COLOR_PROFILE_INPUTS]; | |
226 gint screen_type; | |
227 gchar *screen_file; | |
228 gint use_image; | |
229 | |
230 } color_profile; | |
231 | |
232 }; | |
233 | |
234 ConfOptions *options; | |
235 | |
236 ConfOptions *init_options(ConfOptions *options); | |
237 | |
238 #endif /* OPTIONS_H */ |