/* alignments */
enum alignment {
- TOP_LEFT = 1,
+ ALIGNMENT_ERROR,
+ TOP_LEFT,
TOP_RIGHT,
TOP_MIDDLE,
BOTTOM_LEFT,
} else if (strcasecmp(s, "none") == EQUAL) {
return NONE;
}
- return TOP_LEFT;
+ return ALIGNMENT_ERROR;
}
#endif /* X11 */
return 0;
}
+void setalignment(int* text_alignment, unsigned int windowtype, const char* value, const char *f, int line, char setbyconffile) {
+#ifdef OWN_WINDOW
+ if (windowtype == TYPE_DOCK) {
+ NORM_ERR("alignment is disabled when own_window_type is dock");
+ } else
+#endif /*OWN_WINDOW */
+ if (value) {
+ int a = string_to_alignment(value);
+
+ if (a <= 0) {
+ if(setbyconffile == true) {
+ CONF_ERR;
+ } else NORM_ERR("'%s' is not a alignment setting", value);
+ } else {
+ *text_alignment = a;
+ }
+ } else if(setbyconffile == true) {
+ CONF_ERR;
+ }
+}
+
char load_config_file(const char *f)
{
int line = 0;
}
}
CONF("alignment") {
-#ifdef OWN_WINDOW
- if (window.type == TYPE_DOCK)
- ;
- else
-#endif /*OWN_WINDOW */
- if (value) {
- int a = string_to_alignment(value);
-
- if (a <= 0) {
- CONF_ERR;
- } else {
- text_alignment = a;
- }
- } else {
- CONF_ERR;
- }
+ setalignment(&text_alignment, window.type, value, f, line, true);
}
CONF("background") {
fork_to_background = string_to_bool(value);
set_first_font(optarg);
break;
case 'a':
- text_alignment = string_to_alignment(optarg);
+ setalignment(&text_alignment, window.type, optarg, NULL, 0, false);
break;
#ifdef OWN_WINDOW