mirror of
https://github.com/Llewellynvdm/conky.git
synced 2024-12-25 20:11:11 +00:00
out_to_x can now be turned off
This commit is contained in:
parent
227e5a3d38
commit
1085d2b27e
@ -1,8 +1,11 @@
|
||||
2009-02-15
|
||||
* Added out_to_x
|
||||
|
||||
2009-02-12
|
||||
* Added overwrite_file and append_file
|
||||
|
||||
2009-02-10
|
||||
* Added output_to_stderr
|
||||
* Added out_to_stderr
|
||||
|
||||
2009-02-08
|
||||
* Refactor top code, add top_time to sort by process cpu time (thanks
|
||||
|
@ -323,6 +323,16 @@
|
||||
<para></para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><command><option>out_to_x</option></command>
|
||||
</term>
|
||||
<listitem>
|
||||
When set to no, there will be no output in X (useful when you also use things like out_to_console).
|
||||
If you set it to no, make sure that it's placed before all other X-related setting (take the first
|
||||
line of your configfile to be sure). Default value is yes
|
||||
<para></para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><command><option>overwrite_file</option></command>
|
||||
</term>
|
||||
|
@ -326,6 +326,12 @@ Print text to stdout.
|
||||
\fB\*(T<\fBout_to_stderr\fR\*(T>\fR
|
||||
Print text to stderr.
|
||||
|
||||
.TP
|
||||
\fB\*(T<\fBout_to_x\fR\*(T>\fR
|
||||
When set to no, there will be no output in X (useful when you also use things like out_to_console).
|
||||
If you set it to no, make sure that it's placed before all other X-related setting (take the first
|
||||
line of your configfile to be sure). Default value is yes
|
||||
|
||||
.TP
|
||||
\fB\*(T<\fBappend_file\fR\*(T>\fR
|
||||
Append the file given as argument.
|
||||
|
@ -4,6 +4,9 @@
|
||||
# of keeping the documentation more maintainable.
|
||||
# Check http://conky.sf.net for an up-to-date-list.
|
||||
|
||||
#set to no if you don't want to see anything in X
|
||||
out_to_x yes
|
||||
|
||||
# set to yes if you want Conky to be forked in the background
|
||||
background no
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
syntax "conky" "(\.*conkyrc.*$|conky.conf)"
|
||||
|
||||
## Configuration items
|
||||
color green "\<(alignment|background|show_graph_range|show_graph_scale|border_margin|border_width|color0|color1|color2|color3|color4|color5|color6|color7|color8|color9|default_color|default_shade_color|default_shadecolor|default_outline_color|default_outlinecolor|imap|pop3|mpd_host|mpd_port|mpd_password|music_player_interval|sensor_device|cpu_avg_samples|net_avg_samples|double_buffer|override_utf8_locale|draw_borders|draw_graph_borders|draw_shades|draw_outline|out_to_console|out_to_stderr|overwrite_file|append_file|use_spacer|use_xft|font|xftalpha|xftfont|use_xft|gap_x|gap_y|mail_spool|minimum_size|maximum_width|no_buffers|template0|template1|template2|template3|template4|template5|template6|template7|template8|template9|top_cpu_separate|short_units|pad_percents|own_window|own_window_class|own_window_title|own_window_transparent|own_window_colour|own_window_hints|own_window_type|stippled_borders|temp1|temp2|update_interval|total_run_times|uppercase|max_specials|max_user_text|text_buffer_size|max_port_monitor_connections)\>"
|
||||
color green "\<(alignment|background|show_graph_range|show_graph_scale|border_margin|border_width|color0|color1|color2|color3|color4|color5|color6|color7|color8|color9|default_color|default_shade_color|default_shadecolor|default_outline_color|default_outlinecolor|imap|pop3|mpd_host|mpd_port|mpd_password|music_player_interval|sensor_device|cpu_avg_samples|net_avg_samples|double_buffer|override_utf8_locale|draw_borders|draw_graph_borders|draw_shades|draw_outline|out_to_console|out_to_stderr|out_to_x|overwrite_file|append_file|use_spacer|use_xft|font|xftalpha|xftfont|use_xft|gap_x|gap_y|mail_spool|minimum_size|maximum_width|no_buffers|template0|template1|template2|template3|template4|template5|template6|template7|template8|template9|top_cpu_separate|short_units|pad_percents|own_window|own_window_class|own_window_title|own_window_transparent|own_window_colour|own_window_hints|own_window_type|stippled_borders|temp1|temp2|update_interval|total_run_times|uppercase|max_specials|max_user_text|text_buffer_size|max_port_monitor_connections)\>"
|
||||
|
||||
## Configuration item constants
|
||||
color yellow "\<(above|below|bottom_left|bottom_right|bottom_middle|desktop|dock|no|none|normal|override|skip_pager|skip_taskbar|sticky|top_left|top_right|top_middle|middle_left|middle_right|undecorated|yes)\>"
|
||||
|
@ -51,6 +51,7 @@ syn keyword ConkyrcSetting
|
||||
\ draw_outline
|
||||
\ out_to_console
|
||||
\ out_to_stderr
|
||||
\ out_to_x
|
||||
\ overwrite_file
|
||||
\ append_file
|
||||
\ use_spacer
|
||||
|
219
src/conky.c
219
src/conky.c
@ -132,6 +132,11 @@ int top_cpu, top_mem, top_time;
|
||||
#define OVERWRITE_FILE 8
|
||||
#define APPEND_FILE 16
|
||||
static int output_methods;
|
||||
enum {
|
||||
NO = 0,
|
||||
YES = 1,
|
||||
NEVER = 2
|
||||
} x_initialised = NO;
|
||||
static volatile int g_signal_pending;
|
||||
/* Update interval */
|
||||
static double update_interval;
|
||||
@ -277,6 +282,7 @@ static void set_font(void);
|
||||
|
||||
int addfont(const char *data_in)
|
||||
{
|
||||
if ( (output_methods & TO_X) == 0 ) return 0;
|
||||
if (font_count > MAX_FONTS) {
|
||||
CRIT_ERR("you don't need that many fonts, sorry.");
|
||||
}
|
||||
@ -310,6 +316,7 @@ int addfont(const char *data_in)
|
||||
|
||||
void set_first_font(const char *data_in)
|
||||
{
|
||||
if ( (output_methods & TO_X) == 0 ) return;
|
||||
if (font_count < 0) {
|
||||
if ((fonts = (struct font_list *) malloc(sizeof(struct font_list)))
|
||||
== NULL) {
|
||||
@ -330,6 +337,7 @@ void free_fonts(void)
|
||||
{
|
||||
int i;
|
||||
|
||||
if ( (output_methods & TO_X) == 0 ) return;
|
||||
for (i = 0; i <= font_count; i++) {
|
||||
#ifdef XFT
|
||||
if (use_xft) {
|
||||
@ -352,6 +360,7 @@ static void load_fonts(void)
|
||||
{
|
||||
int i;
|
||||
|
||||
if ( (output_methods & TO_X) == 0 ) return;
|
||||
for (i = 0; i <= font_count; i++) {
|
||||
#ifdef XFT
|
||||
/* load Xft font */
|
||||
@ -555,6 +564,7 @@ int check_contains(char *f, char *s)
|
||||
#ifdef X11
|
||||
static inline int calc_text_width(const char *s, int l)
|
||||
{
|
||||
if ( (output_methods & TO_X) == 0 ) return 0;
|
||||
#ifdef XFT
|
||||
if (use_xft) {
|
||||
XGlyphInfo gi;
|
||||
@ -769,6 +779,7 @@ static char *scan_font(const char *args)
|
||||
#ifdef X11
|
||||
static void new_font(char *buf, char *args)
|
||||
{
|
||||
if ( (output_methods & TO_X) == 0 ) return;
|
||||
if (args) {
|
||||
struct special_t *s = new_special(buf, FONT);
|
||||
|
||||
@ -1934,7 +1945,9 @@ static struct text_object *construct_text_object(const char *s,
|
||||
#endif
|
||||
END OBJ(color, 0)
|
||||
#ifdef X11
|
||||
if ( output_methods & TO_X ) {
|
||||
obj->data.l = arg ? get_x11_color(arg) : default_fg_color;
|
||||
}
|
||||
#endif /* X11 */
|
||||
END OBJ(color0, 0)
|
||||
obj->data.l = color0;
|
||||
@ -5581,6 +5594,7 @@ static void generate_text(void)
|
||||
#ifdef X11
|
||||
static void set_font(void)
|
||||
{
|
||||
if ( (output_methods & TO_X) == 0 ) return;
|
||||
#ifdef XFT
|
||||
if (use_xft) {
|
||||
if (window.xftdraw != NULL) {
|
||||
@ -5600,15 +5614,21 @@ static void set_font(void)
|
||||
static inline int get_string_width(const char *s)
|
||||
{
|
||||
#ifdef X11
|
||||
if ( output_methods & TO_X ) {
|
||||
return *s ? calc_text_width(s, strlen(s)) : 0;
|
||||
#else
|
||||
return strlen(s);
|
||||
}
|
||||
#endif /* X11 */
|
||||
return strlen(s);
|
||||
}
|
||||
|
||||
static inline int get_string_width_special(char *s)
|
||||
{
|
||||
#ifdef X11
|
||||
if ( (output_methods & TO_X) == 0 ) {
|
||||
#endif
|
||||
return (s) ? strlen(s) : 0;
|
||||
#ifdef X11
|
||||
}
|
||||
char *p, *final;
|
||||
int idx = 1;
|
||||
int width = 0;
|
||||
@ -5642,8 +5662,6 @@ static inline int get_string_width_special(char *s)
|
||||
}
|
||||
free(final);
|
||||
return width;
|
||||
#else
|
||||
return (s) ? strlen(s) : 0;
|
||||
#endif /* X11 */
|
||||
}
|
||||
|
||||
@ -5653,6 +5671,7 @@ static void text_size_updater(char *s);
|
||||
int last_font_height;
|
||||
static void update_text_area(void)
|
||||
{
|
||||
if ( (output_methods & TO_X) == 0 ) return;
|
||||
int x, y;
|
||||
|
||||
/* update text size if it isn't fixed */
|
||||
@ -5761,9 +5780,9 @@ static int draw_mode; /* FG, BG or OUTLINE */
|
||||
#ifdef X11
|
||||
static long current_color;
|
||||
|
||||
#ifdef X11
|
||||
static void text_size_updater(char *s)
|
||||
{
|
||||
if ( (output_methods & TO_X) == 0 ) return;
|
||||
int w = 0;
|
||||
char *p;
|
||||
|
||||
@ -5823,10 +5842,10 @@ static void text_size_updater(char *s)
|
||||
text_height += last_font_height;
|
||||
last_font_height = font_height();
|
||||
}
|
||||
#endif /* X11 */
|
||||
|
||||
static inline void set_foreground_color(long c)
|
||||
{
|
||||
if ( (output_methods & TO_X) == 0 ) return;
|
||||
current_color = c;
|
||||
XSetForeground(display, window.gc, c);
|
||||
}
|
||||
@ -5864,7 +5883,9 @@ static void draw_string(const char *s)
|
||||
added = 0;
|
||||
|
||||
#ifdef X11
|
||||
if ( output_methods & TO_X ) {
|
||||
max = ((text_width - width_of_s) / get_string_width(" "));
|
||||
}
|
||||
#endif /* X11 */
|
||||
/* This code looks for tabs in the text and coverts them to spaces.
|
||||
* The trick is getting the correct number of spaces, and not going
|
||||
@ -5885,6 +5906,7 @@ static void draw_string(const char *s)
|
||||
}
|
||||
}
|
||||
#ifdef X11
|
||||
if ( output_methods & TO_X ) {
|
||||
if (text_width == maximum_width) {
|
||||
/* this means the text is probably pushing the limit,
|
||||
* so we'll chop it */
|
||||
@ -5893,9 +5915,11 @@ static void draw_string(const char *s)
|
||||
tmpstring2[strlen(tmpstring2) - 1] = '\0';
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif /* X11 */
|
||||
s = tmpstring2;
|
||||
#ifdef X11
|
||||
if ( output_methods & TO_X ) {
|
||||
#ifdef XFT
|
||||
if (use_xft) {
|
||||
XColor c;
|
||||
@ -5923,6 +5947,7 @@ static void draw_string(const char *s)
|
||||
strlen(s));
|
||||
}
|
||||
cur_x += width_of_s;
|
||||
}
|
||||
#endif /* X11 */
|
||||
memcpy(tmpstring1, s, text_buffer_size);
|
||||
}
|
||||
@ -5933,9 +5958,13 @@ void set_up_gradient(void)
|
||||
{
|
||||
int i;
|
||||
#ifdef X11
|
||||
if ( output_methods & TO_X ) {
|
||||
colour_depth = DisplayPlanes(display, screen);
|
||||
#else
|
||||
}else{
|
||||
#endif /* X11 */
|
||||
colour_depth = 16;
|
||||
#ifdef X11
|
||||
}
|
||||
#endif /* X11 */
|
||||
if (colour_depth != 24 && colour_depth != 16) {
|
||||
ERR("using non-standard colour depth, gradients may look like a "
|
||||
@ -6055,6 +6084,10 @@ unsigned long gradient_max(unsigned long first_colour,
|
||||
|
||||
static void draw_line(char *s)
|
||||
{
|
||||
if ( (output_methods & TO_X) == 0 ) {
|
||||
draw_string(s);
|
||||
return;
|
||||
}
|
||||
#ifdef X11
|
||||
char *p;
|
||||
int cur_y_add = 0;
|
||||
@ -6389,10 +6422,6 @@ static void draw_line(char *s)
|
||||
|
||||
p++;
|
||||
}
|
||||
#else
|
||||
draw_string(s);
|
||||
#endif
|
||||
#ifdef X11
|
||||
if (cur_y_add > 0) {
|
||||
cur_y += cur_y_add;
|
||||
cur_y -= font_descent();
|
||||
@ -6407,6 +6436,7 @@ static void draw_line(char *s)
|
||||
static void draw_text(void)
|
||||
{
|
||||
#ifdef X11
|
||||
if ( output_methods & TO_X ) {
|
||||
cur_y = text_start_y;
|
||||
|
||||
/* draw borders */
|
||||
@ -6431,6 +6461,7 @@ static void draw_text(void)
|
||||
|
||||
/* draw text */
|
||||
special_index = 0;
|
||||
}
|
||||
#endif /* X11 */
|
||||
for_each_line(text_buffer, draw_line);
|
||||
}
|
||||
@ -6446,6 +6477,7 @@ static void draw_stuff(void)
|
||||
if(append_fpointer == NULL) ERR("Can't append '%s' anymore", append_file);
|
||||
}
|
||||
#ifdef X11
|
||||
if ( output_methods & TO_X ) {
|
||||
selected_font = 0;
|
||||
if (draw_shades && !draw_outline) {
|
||||
text_start_x++;
|
||||
@ -6478,10 +6510,12 @@ static void draw_stuff(void)
|
||||
}
|
||||
|
||||
set_foreground_color(default_fg_color);
|
||||
}
|
||||
#endif /* X11 */
|
||||
draw_mode = FG;
|
||||
draw_text();
|
||||
#ifdef X11
|
||||
if ( output_methods & TO_X ) {
|
||||
#ifdef HAVE_XDBE
|
||||
if (use_xdbe) {
|
||||
XdbeSwapInfo swap;
|
||||
@ -6491,6 +6525,7 @@ static void draw_stuff(void)
|
||||
XdbeSwapBuffers(display, &swap, 1);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
#endif /* X11 */
|
||||
if(overwrite_fpointer != NULL) fclose(overwrite_fpointer);
|
||||
if(append_fpointer != NULL) fclose(append_fpointer);
|
||||
@ -6522,7 +6557,7 @@ static void update_text(void)
|
||||
{
|
||||
generate_text();
|
||||
#ifdef X11
|
||||
clear_text(1);
|
||||
if ( output_methods & TO_X ) clear_text(1);
|
||||
#endif /* X11 */
|
||||
need_to_update = 1;
|
||||
}
|
||||
@ -6534,13 +6569,15 @@ static void main_loop(void)
|
||||
#endif
|
||||
double t;
|
||||
#ifdef X11
|
||||
Region region = XCreateRegion();
|
||||
|
||||
Region region;
|
||||
#ifdef HAVE_XDAMAGE
|
||||
Damage damage;
|
||||
XserverRegion region2, part;
|
||||
int event_base, error_base;
|
||||
|
||||
#endif
|
||||
if ( output_methods & TO_X ) {
|
||||
region = XCreateRegion();
|
||||
#ifdef HAVE_XDAMAGE
|
||||
if (!XDamageQueryExtension(display, &event_base, &error_base)) {
|
||||
ERR("Xdamage extension unavailable");
|
||||
}
|
||||
@ -6548,6 +6585,7 @@ static void main_loop(void)
|
||||
region2 = XFixesCreateRegionFromWindow(display, window.window, 0);
|
||||
part = XFixesCreateRegionFromWindow(display, window.window, 0);
|
||||
#endif /* HAVE_XDAMAGE */
|
||||
}
|
||||
#endif /* X11 */
|
||||
|
||||
#ifdef SIGNAL_BLOCKING
|
||||
@ -6570,6 +6608,7 @@ static void main_loop(void)
|
||||
#endif
|
||||
|
||||
#ifdef X11
|
||||
if ( output_methods & TO_X ) {
|
||||
XFlush(display);
|
||||
|
||||
/* wait for X event or timeout */
|
||||
@ -6599,12 +6638,7 @@ static void main_loop(void)
|
||||
} else {
|
||||
/* timeout */
|
||||
if (s == 0) {
|
||||
#else
|
||||
t = (next_update_time - get_time()) * 1000000;
|
||||
usleep((useconds_t)t);
|
||||
#endif /* X11 */
|
||||
update_text();
|
||||
#ifdef X11
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -6808,12 +6842,18 @@ static void main_loop(void)
|
||||
XftDrawSetClip(window.xftdraw, region);
|
||||
}
|
||||
#endif
|
||||
#endif /* X11 */
|
||||
draw_stuff();
|
||||
#ifdef X11
|
||||
XDestroyRegion(region);
|
||||
region = XCreateRegion();
|
||||
}
|
||||
}else{
|
||||
#endif /* X11 */
|
||||
t = (next_update_time - get_time()) * 1000000;
|
||||
if(t > 0) usleep((useconds_t)t);
|
||||
update_text();
|
||||
draw_stuff();
|
||||
#ifdef X11
|
||||
}
|
||||
#endif /* X11 */
|
||||
|
||||
#ifdef SIGNAL_BLOCKING
|
||||
@ -6834,6 +6874,7 @@ static void main_loop(void)
|
||||
ERR("received SIGINT or SIGTERM to terminate. bye!");
|
||||
clean_up();
|
||||
#ifdef X11
|
||||
if ( output_methods & TO_X ) {
|
||||
XDestroyRegion(region);
|
||||
region = NULL;
|
||||
#ifdef HAVE_XDAMAGE
|
||||
@ -6841,6 +6882,7 @@ static void main_loop(void)
|
||||
XFixesDestroyRegion(display, region2);
|
||||
XFixesDestroyRegion(display, part);
|
||||
#endif /* HAVE_XDAMAGE */
|
||||
}
|
||||
#endif /* X11 */
|
||||
if(overwrite_file != NULL) free(overwrite_file);
|
||||
if(append_file != NULL) free(append_file);
|
||||
@ -6861,11 +6903,13 @@ static void main_loop(void)
|
||||
}
|
||||
|
||||
#if defined(X11) && defined(HAVE_XDAMAGE)
|
||||
if ( output_methods & TO_X ) {
|
||||
XDamageDestroy(display, damage);
|
||||
XFixesDestroyRegion(display, region2);
|
||||
XFixesDestroyRegion(display, part);
|
||||
XDestroyRegion(region);
|
||||
region = NULL;
|
||||
}
|
||||
#endif /* X11 && HAVE_XDAMAGE */
|
||||
}
|
||||
|
||||
@ -6941,6 +6985,7 @@ static void clean_up(void)
|
||||
info.cpu_usage = NULL;
|
||||
}
|
||||
#ifdef X11
|
||||
if ( output_methods & TO_X ) {
|
||||
#ifdef HAVE_XDBE
|
||||
if (use_xdbe) {
|
||||
XdbeDeallocateBackBufferName(display, window.back_buffer);
|
||||
@ -6961,6 +7006,7 @@ static void clean_up(void)
|
||||
|
||||
XFreeGC(display, window.gc);
|
||||
free_fonts();
|
||||
}
|
||||
#endif /* X11 */
|
||||
|
||||
free_text_objects(&global_root_object);
|
||||
@ -7063,6 +7109,25 @@ static enum alignment string_to_alignment(const char *s)
|
||||
}
|
||||
#endif /* X11 */
|
||||
|
||||
#ifdef X11
|
||||
static void set_default_configurations_for_x(void)
|
||||
{
|
||||
default_fg_color = WhitePixel(display, screen);
|
||||
default_bg_color = BlackPixel(display, screen);
|
||||
default_out_color = BlackPixel(display, screen);
|
||||
color0 = default_fg_color;
|
||||
color1 = default_fg_color;
|
||||
color2 = default_fg_color;
|
||||
color3 = default_fg_color;
|
||||
color4 = default_fg_color;
|
||||
color5 = default_fg_color;
|
||||
color6 = default_fg_color;
|
||||
color7 = default_fg_color;
|
||||
color8 = default_fg_color;
|
||||
color9 = default_fg_color;
|
||||
}
|
||||
#endif /* X11 */
|
||||
|
||||
static void set_default_configurations(void)
|
||||
{
|
||||
fork_to_background = 0;
|
||||
@ -7098,19 +7163,6 @@ static void set_default_configurations(void)
|
||||
#ifdef X11
|
||||
show_graph_scale = 0;
|
||||
show_graph_range = 0;
|
||||
default_fg_color = WhitePixel(display, screen);
|
||||
default_bg_color = BlackPixel(display, screen);
|
||||
default_out_color = BlackPixel(display, screen);
|
||||
color0 = default_fg_color;
|
||||
color1 = default_fg_color;
|
||||
color2 = default_fg_color;
|
||||
color3 = default_fg_color;
|
||||
color4 = default_fg_color;
|
||||
color5 = default_fg_color;
|
||||
color6 = default_fg_color;
|
||||
color7 = default_fg_color;
|
||||
color8 = default_fg_color;
|
||||
color9 = default_fg_color;
|
||||
template[0] = strdup("");
|
||||
template[1] = strdup("");
|
||||
template[2] = strdup("");
|
||||
@ -7187,6 +7239,13 @@ static _Bool append_works(const char *path)
|
||||
return 1;
|
||||
}
|
||||
|
||||
static void X11_initialisation() {
|
||||
output_methods |= TO_X;
|
||||
init_X11();
|
||||
set_default_configurations_for_x();
|
||||
x_initialised = YES;
|
||||
}
|
||||
|
||||
static void load_config_file(const char *f)
|
||||
{
|
||||
#define CONF_ERR ERR("%s: %d: config file error", f, line)
|
||||
@ -7267,7 +7326,17 @@ static void load_config_file(const char *f)
|
||||
|| strcasecmp(name, b) == 0)
|
||||
|
||||
#ifdef X11
|
||||
CONF2("alignment") {
|
||||
CONF2("out_to_x") {
|
||||
if(x_initialised == NO) { //don't listen if X is already initialised or if we already know we don't want it
|
||||
if ( string_to_bool(value) ) {
|
||||
X11_initialisation();
|
||||
}else {
|
||||
if(output_methods & TO_X) output_methods -= TO_X;
|
||||
x_initialised = NEVER;
|
||||
}
|
||||
}
|
||||
}
|
||||
CONF("alignment") {
|
||||
if (window.type == TYPE_DOCK)
|
||||
;
|
||||
else if (value) {
|
||||
@ -7312,75 +7381,105 @@ static void load_config_file(const char *f)
|
||||
}
|
||||
}
|
||||
CONF("color0") {
|
||||
if(x_initialised == NO) X11_initialisation();
|
||||
if(x_initialised == YES) {
|
||||
if (value) {
|
||||
color0 = get_x11_color(value);
|
||||
} else {
|
||||
CONF_ERR;
|
||||
}
|
||||
}
|
||||
}
|
||||
CONF("color1") {
|
||||
if(x_initialised == NO) X11_initialisation();
|
||||
if(x_initialised == YES) {
|
||||
if (value) {
|
||||
color1 = get_x11_color(value);
|
||||
} else {
|
||||
CONF_ERR;
|
||||
}
|
||||
}
|
||||
}
|
||||
CONF("color2") {
|
||||
if(x_initialised == NO) X11_initialisation();
|
||||
if(x_initialised == YES) {
|
||||
if (value) {
|
||||
color2 = get_x11_color(value);
|
||||
} else {
|
||||
CONF_ERR;
|
||||
}
|
||||
}
|
||||
}
|
||||
CONF("color3") {
|
||||
if(x_initialised == NO) X11_initialisation();
|
||||
if(x_initialised == YES) {
|
||||
if (value) {
|
||||
color3 = get_x11_color(value);
|
||||
} else {
|
||||
CONF_ERR;
|
||||
}
|
||||
}
|
||||
}
|
||||
CONF("color4") {
|
||||
if(x_initialised == NO) X11_initialisation();
|
||||
if(x_initialised == YES) {
|
||||
if (value) {
|
||||
color4 = get_x11_color(value);
|
||||
} else {
|
||||
CONF_ERR;
|
||||
}
|
||||
}
|
||||
}
|
||||
CONF("color5") {
|
||||
if(x_initialised == NO) X11_initialisation();
|
||||
if(x_initialised == YES) {
|
||||
if (value) {
|
||||
color5 = get_x11_color(value);
|
||||
} else {
|
||||
CONF_ERR;
|
||||
}
|
||||
}
|
||||
}
|
||||
CONF("color6") {
|
||||
if(x_initialised == NO) X11_initialisation();
|
||||
if(x_initialised == YES) {
|
||||
if (value) {
|
||||
color6 = get_x11_color(value);
|
||||
} else {
|
||||
CONF_ERR;
|
||||
}
|
||||
}
|
||||
}
|
||||
CONF("color7") {
|
||||
if(x_initialised == NO) X11_initialisation();
|
||||
if(x_initialised == YES) {
|
||||
if (value) {
|
||||
color7 = get_x11_color(value);
|
||||
} else {
|
||||
CONF_ERR;
|
||||
}
|
||||
}
|
||||
}
|
||||
CONF("color8") {
|
||||
if(x_initialised == NO) X11_initialisation();
|
||||
if(x_initialised == YES) {
|
||||
if (value) {
|
||||
color8 = get_x11_color(value);
|
||||
} else {
|
||||
CONF_ERR;
|
||||
}
|
||||
}
|
||||
}
|
||||
CONF("color9") {
|
||||
if(x_initialised == NO) X11_initialisation();
|
||||
if(x_initialised == YES) {
|
||||
if (value) {
|
||||
color9 = get_x11_color(value);
|
||||
} else {
|
||||
CONF_ERR;
|
||||
}
|
||||
}
|
||||
}
|
||||
#define TEMPLATE_CONF(n) \
|
||||
CONF("template"#n) { \
|
||||
if (value) { \
|
||||
@ -7401,26 +7500,35 @@ static void load_config_file(const char *f)
|
||||
TEMPLATE_CONF(8)
|
||||
TEMPLATE_CONF(9)
|
||||
CONF("default_color") {
|
||||
if(x_initialised == NO) X11_initialisation();
|
||||
if(x_initialised == YES) {
|
||||
if (value) {
|
||||
default_fg_color = get_x11_color(value);
|
||||
} else {
|
||||
CONF_ERR;
|
||||
}
|
||||
}
|
||||
}
|
||||
CONF3("default_shade_color", "default_shadecolor") {
|
||||
if(x_initialised == NO) X11_initialisation();
|
||||
if(x_initialised == YES) {
|
||||
if (value) {
|
||||
default_bg_color = get_x11_color(value);
|
||||
} else {
|
||||
CONF_ERR;
|
||||
}
|
||||
}
|
||||
}
|
||||
CONF3("default_outline_color", "default_outlinecolor") {
|
||||
if(x_initialised == NO) X11_initialisation();
|
||||
if(x_initialised == YES) {
|
||||
if (value) {
|
||||
default_out_color = get_x11_color(value);
|
||||
} else {
|
||||
CONF_ERR;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif /* X11 */
|
||||
CONF("imap") {
|
||||
if (value) {
|
||||
@ -7572,20 +7680,27 @@ static void load_config_file(const char *f)
|
||||
use_xft = string_to_bool(value);
|
||||
}
|
||||
CONF("font") {
|
||||
if(x_initialised == NO) X11_initialisation();
|
||||
if(x_initialised == YES) {
|
||||
if (value) {
|
||||
set_first_font(value);
|
||||
} else {
|
||||
CONF_ERR;
|
||||
}
|
||||
}
|
||||
}
|
||||
CONF("xftalpha") {
|
||||
if(x_initialised == NO) X11_initialisation();
|
||||
if(x_initialised == YES) {
|
||||
if (value && font_count >= 0) {
|
||||
fonts[0].font_alpha = atof(value) * 65535.0;
|
||||
} else {
|
||||
CONF_ERR;
|
||||
}
|
||||
}
|
||||
}
|
||||
CONF("xftfont") {
|
||||
if(x_initialised == NO) X11_initialisation();
|
||||
if (use_xft) {
|
||||
#else
|
||||
CONF("use_xft") {
|
||||
@ -7601,11 +7716,13 @@ static void load_config_file(const char *f)
|
||||
}
|
||||
CONF("font") {
|
||||
#endif
|
||||
if(x_initialised == YES) {
|
||||
if (value) {
|
||||
set_first_font(value);
|
||||
} else {
|
||||
CONF_ERR;
|
||||
}
|
||||
}
|
||||
#ifdef XFT
|
||||
}
|
||||
#endif
|
||||
@ -7679,13 +7796,18 @@ static void load_config_file(const char *f)
|
||||
#ifdef X11
|
||||
#ifdef OWN_WINDOW
|
||||
CONF("own_window") {
|
||||
if(x_initialised == NO) X11_initialisation();
|
||||
if(x_initialised == YES) {
|
||||
if (value) {
|
||||
own_window = string_to_bool(value);
|
||||
} else {
|
||||
CONF_ERR;
|
||||
}
|
||||
}
|
||||
}
|
||||
CONF("own_window_class") {
|
||||
if(x_initialised == NO) X11_initialisation();
|
||||
if(x_initialised == YES) {
|
||||
if (value) {
|
||||
memset(window.class_name, 0, sizeof(window.class_name));
|
||||
strncpy(window.class_name, value,
|
||||
@ -7694,7 +7816,10 @@ static void load_config_file(const char *f)
|
||||
CONF_ERR;
|
||||
}
|
||||
}
|
||||
}
|
||||
CONF("own_window_title") {
|
||||
if(x_initialised == NO) X11_initialisation();
|
||||
if(x_initialised == YES) {
|
||||
if (value) {
|
||||
memset(window.title, 0, sizeof(window.title));
|
||||
strncpy(window.title, value, sizeof(window.title) - 1);
|
||||
@ -7702,14 +7827,20 @@ static void load_config_file(const char *f)
|
||||
CONF_ERR;
|
||||
}
|
||||
}
|
||||
}
|
||||
CONF("own_window_transparent") {
|
||||
if(x_initialised == NO) X11_initialisation();
|
||||
if(x_initialised == YES) {
|
||||
if (value) {
|
||||
set_transparent = string_to_bool(value);
|
||||
} else {
|
||||
CONF_ERR;
|
||||
}
|
||||
}
|
||||
}
|
||||
CONF("own_window_colour") {
|
||||
if(x_initialised == NO) X11_initialisation();
|
||||
if(x_initialised == YES) {
|
||||
if (value) {
|
||||
background_colour = get_x11_color(value);
|
||||
} else {
|
||||
@ -7717,7 +7848,10 @@ static void load_config_file(const char *f)
|
||||
"'#' for hex colours");
|
||||
}
|
||||
}
|
||||
}
|
||||
CONF("own_window_hints") {
|
||||
if(x_initialised == NO) X11_initialisation();
|
||||
if(x_initialised == YES) {
|
||||
if (value) {
|
||||
char *p_hint, *p_save;
|
||||
char delim[] = ", ";
|
||||
@ -7749,7 +7883,10 @@ static void load_config_file(const char *f)
|
||||
CONF_ERR;
|
||||
}
|
||||
}
|
||||
}
|
||||
CONF("own_window_type") {
|
||||
if(x_initialised == NO) X11_initialisation();
|
||||
if(x_initialised == YES) {
|
||||
if (value) {
|
||||
if (strncmp(value, "normal", 6) == EQUAL) {
|
||||
window.type = TYPE_NORMAL;
|
||||
@ -7767,6 +7904,7 @@ static void load_config_file(const char *f)
|
||||
CONF_ERR;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
CONF("stippled_borders") {
|
||||
if (value) {
|
||||
@ -8084,11 +8222,6 @@ int main(int argc, char **argv)
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
}
|
||||
#ifdef X11
|
||||
/* initalize X BEFORE we load config.
|
||||
* (we need to so that 'screen' is set) */
|
||||
init_X11();
|
||||
#endif /* X11 */
|
||||
|
||||
/* check if specified config file is valid */
|
||||
if (current_config) {
|
||||
@ -8238,7 +8371,7 @@ int main(int argc, char **argv)
|
||||
|
||||
#ifdef X11
|
||||
/* load font */
|
||||
load_fonts();
|
||||
if ( output_methods & TO_X ) load_fonts();
|
||||
#endif /* X11 */
|
||||
|
||||
/* generate text and get initial size */
|
||||
@ -8282,6 +8415,7 @@ int main(int argc, char **argv)
|
||||
memset(tmpstring2, 0, text_buffer_size);
|
||||
|
||||
#ifdef X11
|
||||
if ( output_methods & TO_X ) {
|
||||
selected_font = 0;
|
||||
update_text_area(); /* to get initial size of the window */
|
||||
|
||||
@ -8311,6 +8445,7 @@ int main(int argc, char **argv)
|
||||
|
||||
set_font();
|
||||
draw_stuff();
|
||||
}
|
||||
#endif /* X11 */
|
||||
|
||||
/* Set signal handlers */
|
||||
|
Loading…
Reference in New Issue
Block a user