set the current theme in a root property
This commit is contained in:
parent
9d8e1da42a
commit
c726a1f709
6 changed files with 10 additions and 0 deletions
|
@ -273,6 +273,9 @@ gint main(gint argc, gchar **argv)
|
|||
}
|
||||
if (ob_rr_theme == NULL)
|
||||
ob_exit_with_error(_("Unable to load a theme."));
|
||||
|
||||
PROP_SETS(RootWindow(ob_display, ob_screen),
|
||||
ob_theme, theme->name);
|
||||
}
|
||||
|
||||
if (reconfigure) {
|
||||
|
|
|
@ -171,6 +171,7 @@ void prop_startup()
|
|||
*/
|
||||
|
||||
CREATE(openbox_pid, "_OPENBOX_PID");
|
||||
CREATE(ob_theme, "_OB_THEME");
|
||||
CREATE(ob_wm_action_undecorate, "_OB_WM_ACTION_UNDECORATE");
|
||||
CREATE(ob_wm_state_undecorated, "_OB_WM_STATE_UNDECORATED");
|
||||
CREATE(ob_control, "_OB_CONTROL");
|
||||
|
|
|
@ -193,6 +193,7 @@ typedef struct Atoms {
|
|||
Atom ob_wm_action_undecorate;
|
||||
Atom ob_wm_state_undecorated;
|
||||
Atom openbox_pid; /* this is depreecated in favour of ob_control */
|
||||
Atom ob_theme;
|
||||
Atom ob_control;
|
||||
} Atoms;
|
||||
Atoms prop_atoms;
|
||||
|
|
|
@ -294,6 +294,7 @@ gboolean screen_annex()
|
|||
supported[i++] = prop_atoms.ob_wm_action_undecorate;
|
||||
supported[i++] = prop_atoms.ob_wm_state_undecorated;
|
||||
supported[i++] = prop_atoms.openbox_pid;
|
||||
supported[i++] = prop_atoms.ob_theme;
|
||||
supported[i++] = prop_atoms.ob_control;
|
||||
g_assert(i == num_support);
|
||||
|
||||
|
|
|
@ -95,6 +95,7 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name,
|
|||
|
||||
theme = g_new0(RrTheme, 1);
|
||||
theme->inst = inst;
|
||||
theme->name = g_strdup(name);
|
||||
|
||||
theme->a_disabled_focused_max = RrAppearanceNew(inst, 1);
|
||||
theme->a_disabled_unfocused_max = RrAppearanceNew(inst, 1);
|
||||
|
@ -1192,6 +1193,8 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name,
|
|||
void RrThemeFree(RrTheme *theme)
|
||||
{
|
||||
if (theme) {
|
||||
g_free(theme->name);
|
||||
|
||||
RrColorFree(theme->menu_border_color);
|
||||
RrColorFree(theme->frame_focused_border_color);
|
||||
RrColorFree(theme->frame_unfocused_border_color);
|
||||
|
|
|
@ -230,6 +230,7 @@ struct _RrTheme {
|
|||
RrAppearance *osd_hilite_label; /* can be parent relative */
|
||||
RrAppearance *osd_unhilite_fg; /* can never be parent relative */
|
||||
|
||||
gchar *name;
|
||||
};
|
||||
|
||||
/*! The font values are all optional. If a NULL is used for any of them, then
|
||||
|
|
Loading…
Reference in a new issue