225
226
g_debug ("Preferences: Autostart ENABLE!");
226
if (file == autostart_user_file) {
227
// Unset Hidden and X-GNOME-Autostart-enabled
228
kf = g_key_file_new ();
230
filename = g_file_get_path (file);
232
if (g_key_file_load_from_file(kf, filename, G_KEY_FILE_NONE, &err)) {
233
g_key_file_remove_key (kf, "Desktop Entry", "Hidden", NULL);
234
g_key_file_remove_key (kf, "Desktop Entry", "X-GNOME-Autostart-enabled", NULL);
237
fstream = g_file_replace (file, NULL, FALSE, G_FILE_CREATE_NONE, NULL, &err);
239
str = g_key_file_to_data (kf, &length, NULL);
241
g_print ("Writing str: %s", str);
242
g_output_stream_write_all (G_OUTPUT_STREAM (fstream), str, length, NULL, NULL, &err);
243
g_output_stream_close (G_OUTPUT_STREAM (fstream), NULL, &err);
249
g_key_file_free (kf);
252
g_warning ("Preferences: Error when enabling autostart-file '%s': %s", filename, err->message);
228
if (file != autostart_user_file) {
259
229
// Copy .desktop to autostart_user_file
260
230
filename = g_build_filename (ALARM_CLOCK_DATADIR, "applications", PACKAGE ".desktop", NULL);
261
231
f = g_file_new_for_path (filename);
268
238
g_free (filename);
241
// Unset Hidden and X-GNOME-Autostart-enabled
242
kf = g_key_file_new ();
244
filename = g_file_get_path (autostart_user_file);
246
if (g_key_file_load_from_file(kf, filename, G_KEY_FILE_NONE, &err)) {
247
g_key_file_remove_key (kf, "Desktop Entry", "Hidden", NULL);
248
g_key_file_remove_key (kf, "Desktop Entry", "X-GNOME-Autostart-enabled", NULL);
250
// Start hidden on autostart
251
g_key_file_set_string (kf, "Desktop Entry", "Exec", PACKAGE " --hidden");
254
fstream = g_file_replace (autostart_user_file, NULL, FALSE, G_FILE_CREATE_NONE, NULL, &err);
256
str = g_key_file_to_data (kf, &length, NULL);
258
g_print ("Writing str: %s", str);
259
g_output_stream_write_all (G_OUTPUT_STREAM (fstream), str, length, NULL, NULL, &err);
260
g_output_stream_close (G_OUTPUT_STREAM (fstream), NULL, &err);
266
g_key_file_free (kf);
269
g_warning ("Preferences: Error when enabling autostart-file '%s': %s", filename, err->message);
273
277
g_debug ("Preferences: Autostart DISABLE!");
286
290
g_free(filename);
288
file = autostart_user_file;
291
293
// Set Hidden=true
292
294
kf = g_key_file_new ();
294
filename = g_file_get_path (file);
296
filename = g_file_get_path (autostart_user_file);
296
298
if (g_key_file_load_from_file(kf, filename, G_KEY_FILE_NONE, &err)) {
297
299
g_key_file_set_boolean(kf, "Desktop Entry", "Hidden", TRUE);
299
301
// Write out results
300
fstream = g_file_replace (file, NULL, FALSE, G_FILE_CREATE_NONE, NULL, &err);
302
fstream = g_file_replace (autostart_user_file, NULL, FALSE, G_FILE_CREATE_NONE, NULL, &err);
302
304
str = g_key_file_to_data (kf, &length, NULL);