move the titlebar layout from the theme to the rc file
This commit is contained in:
parent
9e9e6278d5
commit
54ad34a039
6 changed files with 15 additions and 12 deletions
1
data/rc3
1
data/rc3
|
@ -25,6 +25,7 @@
|
||||||
|
|
||||||
<theme>
|
<theme>
|
||||||
<theme>operation</theme>
|
<theme>operation</theme>
|
||||||
|
<titlelayout>NLIMC</titlelayout>
|
||||||
</theme>
|
</theme>
|
||||||
|
|
||||||
<desktops>
|
<desktops>
|
||||||
|
|
|
@ -9,6 +9,8 @@ gboolean config_focus_popup;
|
||||||
|
|
||||||
char *config_theme;
|
char *config_theme;
|
||||||
|
|
||||||
|
gchar *config_title_layout;
|
||||||
|
|
||||||
int config_desktops_num;
|
int config_desktops_num;
|
||||||
GSList *config_desktops_names;
|
GSList *config_desktops_names;
|
||||||
|
|
||||||
|
@ -52,6 +54,10 @@ static void parse_theme(xmlDocPtr doc, xmlNodePtr node, void *d)
|
||||||
g_free(config_theme);
|
g_free(config_theme);
|
||||||
config_theme = parse_string(doc, n);
|
config_theme = parse_string(doc, n);
|
||||||
}
|
}
|
||||||
|
if ((n = parse_find_node("titlelayout", node))) {
|
||||||
|
g_free(config_title_layout);
|
||||||
|
config_title_layout = parse_string(doc, n);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void parse_desktops(xmlDocPtr doc, xmlNodePtr node, void *d)
|
static void parse_desktops(xmlDocPtr doc, xmlNodePtr node, void *d)
|
||||||
|
@ -164,6 +170,8 @@ void config_startup()
|
||||||
|
|
||||||
config_theme = NULL;
|
config_theme = NULL;
|
||||||
|
|
||||||
|
config_title_layout = g_strdup("NLIMC");
|
||||||
|
|
||||||
parse_register("theme", parse_theme, NULL);
|
parse_register("theme", parse_theme, NULL);
|
||||||
|
|
||||||
config_desktops_num = 4;
|
config_desktops_num = 4;
|
||||||
|
|
|
@ -47,6 +47,9 @@ extern guint config_dock_hide_timeout;
|
||||||
/* The name of the theme */
|
/* The name of the theme */
|
||||||
char *config_theme;
|
char *config_theme;
|
||||||
|
|
||||||
|
/* Titlebar button layout */
|
||||||
|
gchar *config_title_layout;
|
||||||
|
|
||||||
/*! The number of desktops */
|
/*! The number of desktops */
|
||||||
extern int config_desktops_num;
|
extern int config_desktops_num;
|
||||||
/*! Names for the desktops */
|
/*! Names for the desktops */
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
#include "client.h"
|
#include "client.h"
|
||||||
#include "openbox.h"
|
#include "openbox.h"
|
||||||
#include "extensions.h"
|
#include "extensions.h"
|
||||||
|
#include "config.h"
|
||||||
#include "framerender.h"
|
#include "framerender.h"
|
||||||
#include "render/theme.h"
|
#include "render/theme.h"
|
||||||
|
|
||||||
|
@ -429,7 +430,7 @@ static void layout_title(ObFrame *self)
|
||||||
|
|
||||||
/* figure out whats being shown, and the width of the label */
|
/* figure out whats being shown, and the width of the label */
|
||||||
self->label_width = self->width - (ob_rr_theme->bevel + 1) * 2;
|
self->label_width = self->width - (ob_rr_theme->bevel + 1) * 2;
|
||||||
for (lc = ob_rr_theme->title_layout; *lc != '\0'; ++lc) {
|
for (lc = config_title_layout; *lc != '\0'; ++lc) {
|
||||||
switch (*lc) {
|
switch (*lc) {
|
||||||
case 'N':
|
case 'N':
|
||||||
if (n) { *lc = ' '; break; } /* rm duplicates */
|
if (n) { *lc = ' '; break; } /* rm duplicates */
|
||||||
|
@ -487,7 +488,7 @@ static void layout_title(ObFrame *self)
|
||||||
if (!c) XUnmapWindow(ob_display, self->close);
|
if (!c) XUnmapWindow(ob_display, self->close);
|
||||||
|
|
||||||
x = ob_rr_theme->bevel + 1;
|
x = ob_rr_theme->bevel + 1;
|
||||||
for (lc = ob_rr_theme->title_layout; *lc != '\0'; ++lc) {
|
for (lc = config_title_layout; *lc != '\0'; ++lc) {
|
||||||
switch (*lc) {
|
switch (*lc) {
|
||||||
case 'N':
|
case 'N':
|
||||||
if (!n) break;
|
if (!n) break;
|
||||||
|
|
|
@ -133,11 +133,6 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name)
|
||||||
mjust = RR_JUSTIFY_CENTER;
|
mjust = RR_JUSTIFY_CENTER;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* load the title layout */
|
|
||||||
if (!read_string(db, "window.title.layout", &font_str))
|
|
||||||
font_str = "NLIMC";
|
|
||||||
theme->title_layout = g_strdup(font_str);
|
|
||||||
|
|
||||||
/* load direct dimensions */
|
/* load direct dimensions */
|
||||||
if (!read_int(db, "menuOverlap", &theme->menu_overlap) ||
|
if (!read_int(db, "menuOverlap", &theme->menu_overlap) ||
|
||||||
theme->menu_overlap < 0 || theme->menu_overlap > 20)
|
theme->menu_overlap < 0 || theme->menu_overlap > 20)
|
||||||
|
@ -732,8 +727,6 @@ void RrThemeFree(RrTheme *theme)
|
||||||
RrFontClose(theme->mtitlefont);
|
RrFontClose(theme->mtitlefont);
|
||||||
RrFontClose(theme->mfont);
|
RrFontClose(theme->mfont);
|
||||||
|
|
||||||
g_free(theme->title_layout);
|
|
||||||
|
|
||||||
RrAppearanceFree(theme->a_disabled_focused_max);
|
RrAppearanceFree(theme->a_disabled_focused_max);
|
||||||
RrAppearanceFree(theme->a_disabled_unfocused_max);
|
RrAppearanceFree(theme->a_disabled_unfocused_max);
|
||||||
RrAppearanceFree(theme->a_hover_focused_max);
|
RrAppearanceFree(theme->a_hover_focused_max);
|
||||||
|
|
|
@ -49,9 +49,6 @@ struct _RrTheme {
|
||||||
gint mfont_height;
|
gint mfont_height;
|
||||||
RrFont *mfont;
|
RrFont *mfont;
|
||||||
|
|
||||||
/* style settings - title layout */
|
|
||||||
gchar *title_layout;
|
|
||||||
|
|
||||||
/* style settings - masks */
|
/* style settings - masks */
|
||||||
RrPixmapMask *max_set_mask;
|
RrPixmapMask *max_set_mask;
|
||||||
RrPixmapMask *max_unset_mask;
|
RrPixmapMask *max_unset_mask;
|
||||||
|
|
Loading…
Reference in a new issue