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)
|
if (ob_rr_theme == NULL)
|
||||||
ob_exit_with_error(_("Unable to load a theme."));
|
ob_exit_with_error(_("Unable to load a theme."));
|
||||||
|
|
||||||
|
PROP_SETS(RootWindow(ob_display, ob_screen),
|
||||||
|
ob_theme, theme->name);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (reconfigure) {
|
if (reconfigure) {
|
||||||
|
|
|
@ -171,6 +171,7 @@ void prop_startup()
|
||||||
*/
|
*/
|
||||||
|
|
||||||
CREATE(openbox_pid, "_OPENBOX_PID");
|
CREATE(openbox_pid, "_OPENBOX_PID");
|
||||||
|
CREATE(ob_theme, "_OB_THEME");
|
||||||
CREATE(ob_wm_action_undecorate, "_OB_WM_ACTION_UNDECORATE");
|
CREATE(ob_wm_action_undecorate, "_OB_WM_ACTION_UNDECORATE");
|
||||||
CREATE(ob_wm_state_undecorated, "_OB_WM_STATE_UNDECORATED");
|
CREATE(ob_wm_state_undecorated, "_OB_WM_STATE_UNDECORATED");
|
||||||
CREATE(ob_control, "_OB_CONTROL");
|
CREATE(ob_control, "_OB_CONTROL");
|
||||||
|
|
|
@ -193,6 +193,7 @@ typedef struct Atoms {
|
||||||
Atom ob_wm_action_undecorate;
|
Atom ob_wm_action_undecorate;
|
||||||
Atom ob_wm_state_undecorated;
|
Atom ob_wm_state_undecorated;
|
||||||
Atom openbox_pid; /* this is depreecated in favour of ob_control */
|
Atom openbox_pid; /* this is depreecated in favour of ob_control */
|
||||||
|
Atom ob_theme;
|
||||||
Atom ob_control;
|
Atom ob_control;
|
||||||
} Atoms;
|
} Atoms;
|
||||||
Atoms prop_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_action_undecorate;
|
||||||
supported[i++] = prop_atoms.ob_wm_state_undecorated;
|
supported[i++] = prop_atoms.ob_wm_state_undecorated;
|
||||||
supported[i++] = prop_atoms.openbox_pid;
|
supported[i++] = prop_atoms.openbox_pid;
|
||||||
|
supported[i++] = prop_atoms.ob_theme;
|
||||||
supported[i++] = prop_atoms.ob_control;
|
supported[i++] = prop_atoms.ob_control;
|
||||||
g_assert(i == num_support);
|
g_assert(i == num_support);
|
||||||
|
|
||||||
|
|
|
@ -95,6 +95,7 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name,
|
||||||
|
|
||||||
theme = g_new0(RrTheme, 1);
|
theme = g_new0(RrTheme, 1);
|
||||||
theme->inst = inst;
|
theme->inst = inst;
|
||||||
|
theme->name = g_strdup(name);
|
||||||
|
|
||||||
theme->a_disabled_focused_max = RrAppearanceNew(inst, 1);
|
theme->a_disabled_focused_max = RrAppearanceNew(inst, 1);
|
||||||
theme->a_disabled_unfocused_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)
|
void RrThemeFree(RrTheme *theme)
|
||||||
{
|
{
|
||||||
if (theme) {
|
if (theme) {
|
||||||
|
g_free(theme->name);
|
||||||
|
|
||||||
RrColorFree(theme->menu_border_color);
|
RrColorFree(theme->menu_border_color);
|
||||||
RrColorFree(theme->frame_focused_border_color);
|
RrColorFree(theme->frame_focused_border_color);
|
||||||
RrColorFree(theme->frame_unfocused_border_color);
|
RrColorFree(theme->frame_unfocused_border_color);
|
||||||
|
|
|
@ -230,6 +230,7 @@ struct _RrTheme {
|
||||||
RrAppearance *osd_hilite_label; /* can be parent relative */
|
RrAppearance *osd_hilite_label; /* can be parent relative */
|
||||||
RrAppearance *osd_unhilite_fg; /* can never 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
|
/*! The font values are all optional. If a NULL is used for any of them, then
|
||||||
|
|
Loading…
Reference in a new issue