Fix error creation and warning
[claws.git] / src / plugins / notification / notification_prefs.h
bloba80e39b1b888d564a5fc3421513bb45c477d3c5e
1 /* Notification plugin for Claws Mail
2 * Copyright (C) 2005-2007 Holger Berndt
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 3 of the License, or
7 * (at your option) any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 #ifndef NOTIFICATION_PREFS_H
19 #define NOTIFICATION_PREFS_H NOTIFICATION_PREFS_H
21 #ifdef HAVE_CONFIG_H
22 # include "claws-features.h"
23 #endif
25 #include <glib.h>
27 #include "prefs_gtk.h"
29 #include "notification_banner.h"
31 #ifdef NOTIFICATION_BANNER
32 typedef enum {
33 NOTIFY_BANNER_SHOW_NEVER = 0,
34 NOTIFY_BANNER_SHOW_ALWAYS,
35 NOTIFY_BANNER_SHOW_NONEMPTY
36 } NotifyBannerShow;
37 #endif
39 typedef struct {
40 gboolean include_mail;
41 gboolean include_news;
42 gboolean include_rss;
43 gboolean include_calendar;
44 gboolean urgency_hint_new;
45 gboolean urgency_hint_unread;
46 #ifdef HAVE_LIBCANBERRA_GTK
47 gboolean canberra_play_sounds;
48 #endif
49 #ifdef NOTIFICATION_BANNER
50 NotifyBannerShow banner_show;
51 gint banner_speed;
52 gboolean banner_include_unread;
53 gint banner_max_msgs;
54 gboolean banner_sticky;
55 gint banner_root_x;
56 gint banner_root_y;
57 gboolean banner_folder_specific;
58 gboolean banner_enable_colors;
59 GdkRGBA banner_color_bg;
60 GdkRGBA banner_color_fg;
61 gint banner_width;
62 #endif
63 #ifdef NOTIFICATION_POPUP
64 gboolean popup_show;
65 gint popup_timeout;
66 gboolean popup_folder_specific;
67 #ifndef HAVE_LIBNOTIFY
68 gboolean popup_sticky;
69 gint popup_root_x;
70 gint popup_root_y;
71 gint popup_width;
72 gboolean popup_enable_colors;
73 GdkRGBA popup_color_bg;
74 GdkRGBA popup_color_fg;
75 #else /* HAVE_LIBNOTIFY */
76 gboolean popup_display_folder_name;
77 #endif /* HAVE_LIBNOTIFY */
78 #endif /* Popup */
79 #ifdef NOTIFICATION_COMMAND
80 gboolean command_enabled;
81 gint command_timeout;
82 gboolean command_folder_specific;
83 gchar* command_line;
84 #endif
85 #ifdef NOTIFICATION_LCDPROC
86 gboolean lcdproc_enabled;
87 gchar* lcdproc_hostname;
88 guint lcdproc_port;
90 #endif
91 #ifdef NOTIFICATION_TRAYICON
92 gboolean trayicon_enabled;
93 gboolean trayicon_hide_at_startup;
94 gboolean trayicon_close_to_tray;
95 gboolean trayicon_hide_when_iconified;
96 gboolean trayicon_folder_specific;
97 #ifdef HAVE_LIBNOTIFY
98 gboolean trayicon_display_folder_name;
99 gboolean trayicon_popup_enabled;
100 gint trayicon_popup_timeout;
101 #endif /* HAVE_LIBNOTIFY */
102 #endif /* Trayicon */
103 #ifdef NOTIFICATION_INDICATOR
104 gboolean indicator_enabled;
105 gboolean indicator_hide_minimized;
106 #endif /* NOTIFICATION_INDICATOR */
107 #ifdef NOTIFICATION_HOTKEYS
108 gboolean hotkeys_enabled;
109 gchar* hotkeys_toggle_mainwindow;
110 #endif /* Hotkeys */
111 } NotifyPrefs;
113 extern NotifyPrefs notify_config;
114 extern PrefParam notify_param[];
116 void notify_gtk_init(void);
117 void notify_gtk_done(void);
118 void notify_save_config(void);
120 #endif /* NOTIFICATION_PREFS_H */