LINUX.ORG.RU

Конвертация gtk3 темы в gtk2 тему и в тему для xfwm.

 , ,


0

1

Использую тему adw-gtk3, как её можно портировать на gtk2 и использовать как тему для xfwm? mutter её совершенно спкойно использует. Заранее извиняюсь если вопрос поместил не туда, это откносится и к desktop и к development, так что хз куда.

В общем случае, никак.

Для начала понять, что-же ты хочешь. Если судить по xfwm, то речь о рамке окна. В xfce рамка окна это именно тема xfwm, gtk2 там совершенно не при чем. Если речь о gtk2, то это содержимое окна и только для программ написанных на «gtk2». Загляни в каталог темы оформления. По названиям каталогов внутри него можно догадаться, какой «фрагмент темы» находится в этом каталоге.

andytux ★★★★★
()
Последнее исправление: andytux (всего исправлений: 1)
Ответ на: комментарий от enot_obrmot

Еще раз. Загляни в каталог, чтобы не плодить сплетни.

Пример кода темы gtk2:

style "default"
{	# default 22.07.02
  GtkButton::child-displacement-x =	1
  GtkButton::child-displacement-y =	1
  GtkButton::default-border =		{1, 1, 1, 1}
  GtkCheckButton::indicator-size =	16

  # The following line hints to gecko (and possibly other appliations) that the entry should be drawn transparently on the canvas.
  # Without this, gecko will fill in the background of the entry.
  GtkEntry::honors-transparent-bg-hint = 1
  GtkEntry::state-hint = 0

  GtkEntry::progress-border =		0
  GtkExpander::expander-size =		16
	GtkImage::x-ayatana-indicator-dynamic = 1
  GtkMenu::horizontal-padding =		0
  GtkMenu::vertical-padding =		0
  GtkMenuBar::internal-padding =	0
  GtkMenuBar:: shadow-type =		GTK_SHADOW_NONE
  GtkMenuBar::window-dragging = 1
  GtkPaned::handle-size =		8
  GtkProgressBar::min-horizontal-bar-height = 16
  GtkProgressBar::min-horizontal-bar-width = 32
  GtkProgressBar::min-vertical-bar-height = 32
  GtkProgressBar::min-vertical-bar-width = 16
  GtkRange::trough-border =		0
  GtkRange::slider-width =		16
  GtkRange::stepper-size =		32
  GtkRange::trough-under-steppers =	0
  GtkScale::slider-length =		32
  GtkScale::trough-side-details =	1
  GtkScrollbar::min-slider-length =	32
  GtkScrolledWindow::scrollbar-spacing = 0
  GtkScrolledWindow::scrollbar-within-bevel = 0
  GtkToolbar::internal-padding =	0
  GtkToolbar:: shadow-type =		GTK_SHADOW_NONE
  GtkTreeView::expander-size =		16
  GtkTreeView::indent-expanders =	0
  GtkTreeView::vertical-separator =	1
  GtkWidget::new-tooltip-style =	1
  GtkWidget::link-color =		@link_color
  GtkWidget::visited-link-color =	@visited_link_color
  GtkHTML::link-color =			@link_color
  GtkHTML::vlink-color =		@visited_link_color
  GtkIMHtml::hyperlink-color =		@link_color
  GtkIMHtml::hyperlink-visited-color =	@visited_link_color
  WnckTasklist::fade-overlay-rect =	0
  base[ACTIVE] =	shade(.6, @base_color)
  base[INSENSITIVE] =	@base_color
  base[NORMAL] =	@base_color
  base[PRELIGHT] =	shade(.8, @base_color)
  base[SELECTED] =	@selected_bg_color
  bg[ACTIVE] =		shade(.8, @tooltip_bg_color)
  bg[INSENSITIVE] =	@bg_color
  bg[NORMAL] =		@bg_color
  bg[PRELIGHT] =	shade(1.2, @tooltip_bg_color)
  bg[SELECTED] =	@selected_bg_color
  fg[ACTIVE] =		@tooltip_fg_color
  fg[INSENSITIVE] =	shade(.4, @base_color)
  fg[NORMAL] =		@fg_color
  fg[PRELIGHT] =	@fg_color
  fg[SELECTED] =	@selected_fg_color
  text[ACTIVE] =	@text_color
  text[INSENSITIVE] =	shade(.8, @base_color)
  text[NORMAL] =	@text_color
  text[PRELIGHT] =	@text_color
  text[SELECTED] =	@selected_fg_color
  xthickness =		1
  ythickness =		0
  engine "murrine"
  {
	animation =	TRUE	# FALSE = disabled, TRUE = enabled
	arrowstyle =	1	# 0 = normal arrows, 1 = filled arrows
	border_colors =	{ shade(.4, @fg_color), shade(.4, @fg_color) } # colors used on borders of many widgets
	border_shades =	{ 1.2, .6 }	# gradient to draw on border
	comboboxstyle =	1	# 0=normal combobox, 1=colorized combobox below arrow
	colorize_scrollbar = TRUE # FALSE=disabled, TRUE=enabled
	contrast =	1.0	# 0.8 for less contrast, more than 1.0 for more contrast on borders
	focus_color =	shade(2.0, @selected_bg_color)
	glazestyle =	4	# 0=flat, 1=curved, 2=concave, 3=top-curved, 4=beryl
	glow_shade =	1.6	# sets glow amount for buttons or widgets
	glowstyle =	0	# 0 = top, 1 = bottom, 2 = top and bottom, 3 = center(vertical), 4 = center(horizontal)
	gradient_shades = {1.4,1.0,1.0,0.6}
	highlight_shade = 1.6	# set highlight amount for buttons or widgets
	lightborder_shade = 2.0	# sets lightborder amount for buttons or widgets
	lightborderstyle = 1	# 0 = lightborder on top side, 1 = lightborder on all sides
	listviewheaderstyle = 1	# 0-flat, 1-glassy, 2-raised
	listviewstyle =	2	# 0 = nothing, 1 = dotted 2 = solid
	menubaritemstyle = 0	# 0=menuitem look, 1=button look
	menubarstyle =	0	# 0=flat, 1=glassy, 2=gradient, 3=striped
	menuitemstyle =	0	# 0=flat, 1=glassy, 2=striped
	menustyle =	0	# 0 = no vertical menu stripe, 1 = display vertical menu stripe
	prelight_shade = .8	# shade level for scrollbar's slider, comboboxstyle(1), and prelight state with gradient_colors
	progressbarstyle = 0	# stripes: 0 = no, 1 = diagonal, 2 = vertical
	reliefstyle =	4	# 0-flat, 1-inset, 2-shadow, 3-shadow with gradient, 4-stronger shadow with gradient
	rgba =		TRUE	# FALSE = disabled, TRUE = enabled
	roundness =	1	# 0 = squared, 1 = old default, more will increase roundness
	scrollbarstyle = 3	# 0 = nothing, 1 = circles, 2 = handles, 3 = diagonal stripes, 4 = diagonal stripes and handles, 5 = horizontal stripes, 6 = horizontal stripes and handles
	separatorstyle = 1
	shadow_shades =	{.2, 1.0} # draw gradient on shadow of some widgets
	sliderstyle =	1	# 0 = nothing added, 1 = handles
	spinbuttonstyle = 1	# 0 = no seperator, 1 = with separator
	stepperstyle =	1	# 0 = standard, 1 = integrated stepper handles, 2 = squared steppers with round slider
	textstyle =	1	# 0 = normal text, 1 = inset
	toolbarstyle =	2	# 0 = flat, 1 = glassy, 2 = gradient
	trough_shades =	{.2, 1.0} # draw gradient on trough of GtkScrollbar and GtkProgressbar
  }
}

style "button"
{	# button 22.07.02
  bg[ACTIVE] =		@selected_bg_color
  bg[NORMAL] =		shade(.6, @tooltip_bg_color)
  bg[PRELIGHT] =	@tooltip_bg_color
  engine "murrine" { roundness = 4 }
}
...

Примре кода темы gtk3:

@define-color	bg_color		#200030;
@define-color	fg_color		#00ff00;
@define-color	base_color		#80fff0;
@define-color	text_color		#040008;
@define-color	selected_bg_color	#000080;
@define-color	selected_fg_color	#00ffc0;
@define-color	tooltip_bg_color	#800000;
@define-color	tooltip_fg_color	#00ff80;
	/* alpha color */
@define-color	backdrop_bg_color	rgba(32, 0, 24, .94);
@define-color	shadow_color		alpha(black, .6);
*
{	/* default 22.07 */
/*220714
  -GtkHTML-link-color:			@selected_bg_color;
  -GtkIMHtml-hyperlink-color:		@selected_bg_color;
 */
  -GtkTextView-error-underline-color:	alpha(@tooltip_bg_color, .6);
    -WnckTasklist-fade-overlay-rect: 0;
    background-origin: border-box;
    background-clip: padding-box;
  -gtk-icon-style:			regular;
  background-color:			transparent;
  background-image:			none;
  border:				none;
}

.background
{	/* background */
  background-color:	@bg_color;
  color:		@fg_color;
}

/*220703
button, scale slider, switch slider,
.button,
.scrollbar.button, .scrollbar.button.horizontal, .scrollbar.button.vertical,
GtkSwitch.slider, .slider
 */
*button, scale slider, switch slider,
.scrol*.button*, GtkSwitch.slider, .slider
{	/* button 22.07.03 */
  background-image:	-gtk-gradient(linear, left top, left bottom,
			  from(shade(@tooltip_bg_color, .9)),
				color-stop(.3, @tooltip_bg_color),
			  to(shade(@tooltip_bg_color, .4)));
  border:		4px solid;
  border-bottom-color:	shade(@tooltip_bg_color, .3);
  border-left-color:	shade(@tooltip_bg_color, .9);
  border-right-color:	shade(@tooltip_bg_color, .4);
  border-top-color:	@tooltip_bg_color;
  border-radius:	4px;
  text-shadow:		1px 0 alpha(@text_color, .6), -1px 0 alpha(@text_color, .6), 0 1px alpha(@text_color, .6), 0 -1px alpha(@text_color, .6);
}
...
andytux ★★★★★
()