First publishable version

This commit is contained in:
Eudaimon 2022-07-25 12:06:09 +02:00
parent c8b05825a0
commit d32217c528
295 changed files with 28883 additions and 6764 deletions

View file

@ -1,37 +1,42 @@
$window_fg: #241f31;
$window_bg: #a7a7a7;
$text_widget_fg: #241f31;
$text_widget_bg: #908f8d;
$window_fg: #EDF0F5;
$window_bg: #3f3e3e;
$text_widget_fg: #EDF0F5;
$text_widget_bg: #323232;
$selected_fg: #000000;
$selected_bg: #b0dd7e;
$selected_fg: #d1ff96;
$selected_bg: #669900;
$button_fg: #241f31;
$button_bg: #bcbeb9;
$button_checked_bg: #b0dd7e;
$button_checked_fg: #000000;
$button_fg: #EDF0F5;
$button_bg: #4e584d;
$button_checked_bg: #669900;
$button_checked_fg: #d1ff96;
$disabled_fg: #552222;
$disabled_bg: #938989;
$disabled_fg: #7c675a;
$disabled_bg: #493e37;
/*Usually an automatic fg color on these backgrounds should check this value!*/
$warningc: #938989;
$errorc: #990000;
$successc: #73d216;
$warningc: #f57900;
$errorc: #CC0000;
$successc: #33d17a;
$titlebar_active_fg: #000000;
$titlebar_active_bg: #b0dd7e;
$titlebar_active_fg: #d1ff96;
$titlebar_active_bg: #669900;
$titlebar_backdrop_fg: #241f31;
$titlebar_backdrop_bg: #a7a7a7;
$titlebar_backdrop_fg: #EDF0F5;
$titlebar_backdrop_bg: #3f3e3e;
$hint_fg: #002269;
$hint_bg: #6789b4;
$hint_fg: #66cbec;
$hint_bg: #203d79;
$osd_fg: #002269;
$osd_bg: #6789b4;
$osd_fg: #66cbec;
$osd_bg: #203d79;
$link_fg: #004B91;
$link_visited_fg: #680091;
$link_fg: #99c1f1;
$link_visited_fg: #dc8add;
// ---- These are not colors, but other types of variables:
$button_radius: 0px;
$window_radius: 0px;

View file

@ -2,58 +2,6 @@
$_default_button_c: $button_bg;
@function _border_color($c, $darker: false) {
@if $darker == true { @return darken($c, 20%); }
@else { @return darken($c, 10%); }
}
@function _text_shadow_color ($tc: $fg_color, $bg: $bg_color) {
//
// calculate the color of text shadows
//
// $tc is the text color
// $bg is the background color
//
$_lbg: lightness($bg)/100%;
@if lightness($tc)<50% { @return transparentize(white, 1-$_lbg/($_lbg*1.3)); }
@else { @return transparentize(black, $_lbg*0.8); }
}
@function _button_hilight_color($c) {
//
// calculate the right top hilight color for buttons
//
// $c: base color;
//
@if lightness($c)>95% { @return white; }
@else if lightness($c)>90% { @return transparentize(white, 0.15); }
@else if lightness($c)>80% { @return transparentize(white, 0.35); }
@else if lightness($c)>50% { @return transparentize(white, 0.5); }
@else if lightness($c)>40% { @return transparentize(white, 0.65); }
@else { @return transparentize(white, 0.7); }
//@return $top_hilight;
}
@mixin _button_text_shadow ($tc:$fg_color, $bg:$bg_color) {
//
// helper function for the text emboss effect
//
// $tc is the optional text color, not the shadow color
//
// TODO: this functions needs a way to deal with special cases
//
$_shadow: _text_shadow_color($tc, $bg);
@if lightness($tc)<50% {
text-shadow: 0 1px _button_hilight_color($tc);//$_shadow;
-gtk-icon-shadow: 0 1px _button_hilight_color($tc);//$_shadow;
}
@else {
text-shadow: 0 -1px $_shadow;
-gtk-icon-shadow: 0 -1px $_shadow;
}
}
@ -85,21 +33,7 @@ $_default_button_c: $button_bg;
// this mixin needs to cover both gtk3 and gtk4 cases in order to work.
// gtk4 mixin calls only include $t, $c and $tc, therefore it should be safe to use in both.
$_hilight_color: _button_hilight_color($c);
$_button_edge: if($edge == none, none, _widget_edge($edge));
$_blank_edge: if($edge == none, none, _widget_edge(transparentize($edge,1)));
$_button_shadow: 0 1px 2px transparentize($shadow_hard_color, 0.6);
$button_clickable_image: linear-gradient(
to bottom,
transparentize($_hilight_color, if($variant == 'light', 0.2 ,0.3 )),
transparentize($_hilight_color, 1) 50%,
transparentize($shadow_hard_color, 1) 50%,
transparentize($shadow_hard_color, if($variant == 'light',0.85,0.7)) );
//remove borders on all buttons...
//border-width: 0;
border-width: $border_width;
@if $t==normal or $t==normal-alt {
//
@ -107,30 +41,24 @@ $_default_button_c: $button_bg;
//
color: $tc;
background-color: $c;
border-color: $tc;
outline-color: $focus_border_color;
background-image: $button_clickable_image;
@include _button_text_shadow($tc, $c);
@include _shadows(inset 0 1px $_hilight_color, $_button_edge, $_button_shadow);
@include relief($c);
}
@else if $t==hover or $t==hover-alt or $t==undecorated-hover {
//
// hovered button
//
background-color: shade($c, 1.1)
@include relief(lighten($c, 5%));
}
@else if ($t==active) {
//
// pushed button
//
//color: $button_checked_fg;
//background-color: $button_checked_bg;
@include _shadows(0 1px $_hilight_color, $_button_edge, inset $_button_shadow);
@include relief($c, sunken);
}
@else if ($t==checked-active ) {
@ -138,9 +66,7 @@ $_default_button_c: $button_bg;
// pushed and toggled button
//
color: $button_checked_fg;
background-color: $button_checked_bg;
@include _button_text_shadow($button_checked_fg, $button_checked_bg);
@include _shadows(0 1px $_hilight_color, $_button_edge, inset $_button_shadow);
@include relief($button_checked_bg, sunken);
}
@ -149,35 +75,31 @@ $_default_button_c: $button_bg;
// toggled button and hover
//
color: $button_checked_fg;
background-color: shade($button_checked_bg, 1.1);
@include _button_text_shadow($button_checked_fg, $button_checked_bg);
@include _shadows(0 1px $_hilight_color, $_button_edge, inset $_button_shadow);
@include relief(lighten($button_checked_bg, 5%), sunken);
}
@else if $t==insensitive {
@else if $t==insensitive or $t==osd-insensitive {
//
// insensitive button
//
color: $insensitive_fg_color;
border-color: $insensitive_fg_color;
background-color: $insensitive_bg_color;
background-image: if($backimage==null, none, $backimage);
@include relief($insensitive_bg_color);
}
@else if $t==insensitive-active {
//
// insensitive pushed button
//
color: $insensitive_fg_color;
background-color: mix($insensitive_bg_color, $button_checked_bg, 85%);
@include relief(mix($insensitive_bg_color, $button_checked_bg, 85%), sunken);
}
@else if $t==backdrop {
//
// backdrop button
//
background-image: if($backimage==null, none, $backimage);
//background-image: if($backimage==null, none, $backimage);
}
@else if $t==backdrop-active {
//
@ -196,7 +118,20 @@ $_default_button_c: $button_bg;
//
}
//TODO: what happens with OSDs? Is it necessary to redefine them?
//OSD buttons
@else if $t==osd {
color: $osd_fg_color;
@include relief($osd_bg_color);
}
@else if $t==osd-hover {
color: $osd_fg_color;
@include relief(lighten($osd_bg_color,5%));
}
@else if $t==osd-active {
color: $osd_fg_color;
@include relief(lighten($osd_bg_color,5%),sunken);
}
@else if $t==undecorated {
//
@ -206,8 +141,6 @@ $_default_button_c: $button_bg;
background-color: transparent;
background-image: none;
@include _shadows(inset 0 1px transparentize(white, 1), $_blank_edge);
text-shadow: none;
-gtk-icon-shadow: none;
}

View file

@ -19,11 +19,11 @@ $link_visited_color: $link_visited_fg; //mix($selected_bg_color, $fg_color, 20%)
$top_hilight: $borders_edge;
$dark_fill: mix($borders_color, $bg_color, 50%);
$menu_color: if($variant == 'light', $base_color, mix($bg_color, $base_color, 20%));
$menu_color: if($variant == 'light', $base_color, mix($bg_color, $base_color, 20%)); //unused; base and text apply.
$scrollbar_bg_color: if($variant == 'light', mix($bg_color, $fg_color, 80%), mix($base_color, $bg_color, 50%));
$scrollbar_slider_color: mix($fg_color, $bg_color, 60%);
$scrollbar_slider_hover_color: mix($fg_color, $bg_color, 80%);
$scrollbar_slider_color: $button_bg; //mix($fg_color, $bg_color, 60%);
$scrollbar_slider_hover_color: mix($button_bg, $button_fg, 90%);
$scrollbar_slider_active_color: if($variant=='light', darken($selected_bg_color, 10%), lighten($selected_bg_color, 10%));
$warning_color: $warningc;
@ -34,15 +34,8 @@ $destructive_color: $errorc;
//$warning_fg: if($variant == 'light', shade($warningc,0.5), shade($warningc,1.3));
//$warning_bg: if($variant == 'light', shade($warningc,1.3), shade($warningc,0.5));
$osd_fg_color: $osd_fg;
$osd_text_color: $osd_fg;
$osd_bg_color: transparentize($osd_bg, 0.3); //if($variant == 'light', transparentize(darken(desaturate($osd_bg, 100%), 4%),0.3), transparentize(darken(desaturate($osd_bg, 100%), 10%),0.3));
$osd_insensitive_bg_color: transparentize(mix($osd_fg_color, opacify($osd_bg_color, 1), 10%), 0.5);
$osd_insensitive_fg_color: mix($osd_fg_color, opacify($osd_bg_color, 1), 50%);
$osd_borders_color: $hint_fg;
$sidebar_bg_color: mix($bg_color, $base_color, 50%);
$tooltip_borders_color: $hint_fg;
@ -56,19 +49,31 @@ $insensitive_fg_color: $disabled_fg;
$insensitive_bg_color: $disabled_bg;
$insensitive_borders_color: mix($borders_color, $disabled_fg, 50%);
//osd colors
$osd_fg_color: $osd_fg;
$osd_text_color: $osd_fg;
$osd_bg_color: $osd_bg; //transparentize($osd_bg, 0.3); //if($variant == 'light', transparentize(darken(desaturate($osd_bg, 100%), 4%),0.3), transparentize(darken(desaturate($osd_bg, 100%), 10%),0.3));
$osd_insensitive_bg_color: $insensitive_bg_color; //transparentize(mix($osd_fg_color, opacify($osd_bg_color, 1), 10%), 0.5);
$osd_insensitive_fg_color: $insensitive_fg_color;// mix($osd_fg_color, opacify($osd_bg_color, 1), 50%);
$osd_borders_color: $hint_fg;
//colors for the backdrop state, derived from the main colors.
$backdrop_base_color: if($variant == 'light', darken($base_color, 1%), lighten($base_color, 1%));
$backdrop_text_color: mix($text_color, $backdrop_base_color, 80%);
// This is a simple theme. Therefore, no backdrop states should be used. However, just in case I forgot one, I'll define them here too:
$backdrop_base_color: $base_color; //if($variant == 'light', darken($base_color, 1%), lighten($base_color, 1%));
$backdrop_text_color: $text_color; //mix($text_color, $backdrop_base_color, 80%);
$backdrop_bg_color: $bg_color;
$backdrop_fg_color: mix($fg_color, $backdrop_bg_color, 50%);
$backdrop_insensitive_color: if($variant == 'light', darken($backdrop_bg_color, 15%), lighten($backdrop_bg_color, 15%));
$backdrop_selected_fg_color: mix($backdrop_text_color, $selected_fg_color, 50%);
$backdrop_selected_bg_color: transparentize(desaturate($selected_bg_color,50%),0.3);
$backdrop_borders_color: mix($borders_color, $bg_color, 80%);
$backdrop_dark_fill: mix($backdrop_borders_color, $backdrop_bg_color, 35%);
$backdrop_fg_color: $fg_color; //mix($fg_color, $backdrop_bg_color, 50%);
$backdrop_insensitive_color: $insensitive_bg_color; //if($variant == 'light', darken($backdrop_bg_color, 15%), lighten($backdrop_bg_color, 15%));
$backdrop_selected_fg_color: $selected_fg_color; //mix($backdrop_text_color, $selected_fg_color, 50%);
$backdrop_selected_bg_color: $selected_bg_color; //transparentize(desaturate($selected_bg_color,50%),0.3);
$backdrop_borders_color: $borders_color; //mix($borders_color, $bg_color, 80%);
$backdrop_dark_fill: $dark_fill; //mix($backdrop_borders_color, $backdrop_bg_color, 35%);
//special cased widget colors
$suggested_bg_color: $selected_bg_color;
$suggested_bg_color: darken($success_color,10%); //$selected_bg_color;
$suggested_border_color: $selected_borders_color;
$progress_bg_color: $selected_bg_color;
$progress_border_color: $selected_borders_color;

View file

@ -6,29 +6,34 @@
$_sizevariant: 'compact'; //either 'default', or compact otherwise
$_headerbar_height: if($_sizevariant=='default', 46px, 40px);
$_entry_height: if($_sizevariant=='default', 32px, 28px);
$_btn_pad: if($_sizevariant=='default', 4px 9px, 2px 6px);
$_btn_pad: if($_sizevariant=='default', 4px 9px, 2px 4px);
$_hb_btn_pad: if($_sizevariant=='default', 6px, 5px);
$_img_btn_pad: if($_sizevariant=='default', 5px, 2px);
$_sel_menu_pad: if($_sizevariant=='default', 6px 10px, 4px 10px);
$_circ_btn_pad: if($_sizevariant=='default', 4px, 2px);
$_switch_margin: if($_sizevariant=='default', 10px, 7px);
$entry_radius: 0px;
$entry_radius: $button_radius;
$ease-out-quad: cubic-bezier(0.25, 0.46, 0.45, 0.94);
$asset_suffix: if($variant=='dark', '-dark', '');
$backdrop_transition: 200ms ease-out;
$backdrop_transition: none;
$button_transition: all 200ms $ease-out-quad;
$button_radius: 5px;
$button_transition: none; //all 200ms $ease-out-quad;
//$button_radius: 0px;
//added by me:
$border_width: 2px;
$button_min_height: 24px;
$button_min_width: 16px;
$button_padding: $_btn_pad;
$button_border: 1px solid;
$button_border: $border_width solid;
$menu_radius: 5px;
$_slider_width: 10px;
$_slider_min_length: 40px;
$menu_radius: $button_radius;
$popover_radius: $window_radius;
%selected_items {
@ -41,11 +46,11 @@ $menu_radius: 5px;
&:disabled { color: mix($selected_fg_color, $selected_bg_color, 50%); }
@at-root %selected_items_backdrop,
&:backdrop {
color: $backdrop_selected_fg_color;
background-color: $backdrop_selected_bg_color;
&:backdrop { //Simplewaita does not like backdrop changes except for headerbar and window decoration
//color: $backdrop_selected_fg_color;
//background-color: $backdrop_selected_bg_color;
&:disabled { color: mix($backdrop_selected_fg_color, $selected_bg_color, 30%); }
//&:disabled { color: mix($backdrop_selected_fg_color, $selected_bg_color, 30%); }
}
}
}

94
source/common/entry.scss Normal file
View file

@ -0,0 +1,94 @@
@mixin entry($t, $fc:$selected_bg_color, $edge: none) {
//
// Entries drawing function
//
// $t: entry type
// $fc: focus color
// $edge: set to none to not draw the bottom edge or specify a color to not
// use the default one
//
// possible $t values:
// normal, focus, insensitive, backdrop, backdrop-insensitive, osd, osd-focus, osd-backdrop, block_cursor;
//
//$_entry_shadow: 0 1px 2px transparentize($shadow_hard_color, 0.6);
//$_blank_edge: if($edge == none, none, 0 1px transparentize($edge, 1));
//$_entry_edge: if($edge == none, none, _widget_edge($edge));
//$_hilight_color: _button_hilight_color($bg_color);
@if $t==normal {
color: $text_color;
//border-color: $text_color;//$borders_color;
//background-color: $base_color;
@include relief($base_color, sunken);
//@include _shadows(entry_focus_shadow(transparentize($fc, 1)),inset $_entry_shadow, 0 1px $_hilight_color, $_entry_edge);
// for the transition to work the number of shadows in different states needs to match, hence the transparent shadow here.
}
@if $t==focus {
//@include _shadows(entry_focus_shadow($fc), inset $_entry_shadow, 0 1px $_hilight_color, $_entry_edge);
//border-color: entry_focus_border($fc);
@include relief($base_color, sunken, $fc);
}
@if $t==insensitive or $t==osd-insensitive {
color: $insensitive_fg_color;
@include relief($insensitive_bg_color, sunken);
//border-color: $insensitive_fg_color;
//background-color: $insensitive_bg_color;
//box-shadow: $_entry_edge;
}
@if $t==backdrop {
//color: $backdrop_text_color;
//border-color: $backdrop_borders_color;
//background-color: $backdrop_base_color;
//box-shadow: $_blank_edge;
}
@if $t==backdrop-insensitive {
//color: $backdrop_insensitive_color;
//border-color: $backdrop_borders_color;
//background-color: $insensitive_bg_color;
//box-shadow: $_blank_edge;
}
@if $t==osd {
color: $osd_text_color;
@include relief($osd_bg_color, sunken);
//border-color: $osd_borders_color;
//background-color: transparentize(opacify($osd_borders_color, 1), 0.5);
//background-clip: padding-box;
//@include _shadows($_entry_shadow);;
//text-shadow: 0 1px black;
//-gtk-icon-shadow: 0 1px black;
}
@if $t==osd-focus {
color: $osd_text_color;
@include relief($osd_bg_color, sunken, $fc);
//border-color: $selected_bg_color;
//background-color: transparentize(opacify($osd_borders_color, 1), 0.5);
//background-clip: padding-box;
//@include _shadows(entry_focus_shadow($fc), $_entry_shadow);
//text-shadow: 0 1px black;
//-gtk-icon-shadow: 0 1px black;
}
//@if $t==osd-insensitive {
// color: $osd_insensitive_fg_color;
// border-color: $osd_borders_color;
// background-color: $osd_insensitive_bg_color;
// background-clip: padding-box;
// box-shadow: none;
// text-shadow: none;
// -gtk-icon-shadow: none;
//}
@if $t==osd-backdrop {
//color: $osd_text_color;
//border-color: $osd_borders_color;
//background-color: transparentize(opacify($osd_borders_color, 1), 0.5);
//background-clip: padding-box;
//box-shadow: none;
//text-shadow: none;
//-gtk-icon-shadow: none;
}
@if $t==block_cursor {
color: $base_color;
background-color: $text_color;
}
}

View file

@ -0,0 +1,36 @@
/**************
* GtkInfoBar *
**************/
infobar {
$_bg_info_bar: desaturate(invert($selected_bg_color), 30%);
&.info {$_bg_info_bar: $hint_bg;}
&.question {$_bg_info_bar: $hint_bg;}
&.warning {$_bg_info_bar: $warning_color;}
&.error {$_bg_info_bar: $error_color}
@include relief($_bg_info_bar);
button {
// FIXME: extend selection mode buttons
@include button(normal, $_bg_info_bar);//, $fg_color, none);
&:hover { @include button(hover, $_bg_info_bar);}//$bg_color, $fg_color, none); }
&:active,
&:checked { @include button(active, $_bg_info_bar);}//$bg_color, $fg_color, none); }
&:disabled { @include button(insensitive,$_bg_info_bar);}//$bg_color,$fg_color,none); }
//&:backdrop,
& {
label, & { color: $fg_color; }
}
}
selection { background-color: darken($bg_color, 10%); }
*:link { color: $link_color; }
}

View file

@ -3,7 +3,7 @@
*************/
$_levelbar_size: 9px;
$_levelbar_border_radius: 5px;
$_levelbar_border_radius: 0px;
levelbar {
&.horizontal {
@ -27,14 +27,11 @@ levelbar {
// segmented level bar
&.discrete {
trough > block {
min-height: 2px;
margin: 1px;
min-height: 4px;
margin: $border_width;
min-width: 24px;
border-radius:0;
&:first-child {border-radius: 2px 0 0 2px;}
&:last-child {
border-radius: 0 2px 2px 0;
}
}
}
}
@ -47,41 +44,38 @@ levelbar {
&.discrete > trough > block {
min-width: $_levelbar_size - 7px;
margin: 1px 0;
margin: $border_width;
min-height: 32px;
}
}
> trough {
padding: 1px;
@include entry(normal);
&:backdrop { @include entry(backdrop); }
border-radius: $_levelbar_border_radius;
@extend %scale_trough;
}
// level bar colours
> trough > block {
border: 1px solid;
//border: 1px solid;
&.low {
border-color: $warning_color;
//border-color: $warning_color;
background-color: $warning_color;
}
&.high,
&:not(.empty) {
border-color: $selected_bg_color;
//border-color: $selected_bg_color;
background-color: $selected_bg_color;
}
&.full {
border-color: $success_color;
//border-color: $success_color;
background-color: $success_color;
}
&.empty {
background-color: darken($bg_color, 5%);
border-color: darken($bg_color, 5%);
background-color: darken($bg_color, 10%);
//border-color: darken($bg_color, 5%);
}
}
}

285
source/common/notebook.scss Normal file
View file

@ -0,0 +1,285 @@
notebook, notebook.frame {
$stack_bg_color: mix($bg_color, $base_color, 50%);
border-width: $border_width;
border-style: solid;
@include relief($stack_bg_color);
> header {
//padding: 4px;
//border: none;
border: 0 solid;
background-color: $bg_color;
@include relief ($bg_color, sunken);
margin: -$border_width;
tabs {
border-width: 0px;
border-style: none;
@include relief ($stack_bg_color, sunken);
background-color: $bg_color;
//margin: -$border_width;
}
&.top {
//margin-bottom: 0;
border-bottom-width: $border_width;
> tabs { margin-top: $border_width;}
> tabs > tab {
border-bottom: none;
margin-top: $border_width;
&:checked {
//margin-top: 0px;
margin-bottom: -$border_width;
//box-shadow: inset 0 1px 1px 0 gtkalpha($light_shadow, 0.3);
}
}
}
&.bottom {
//margin-top: 0;
border-top-width: $border_width;
> tabs { margin-bottom: $border_width;}
> tabs > tab {
border-top: none;
margin-bottom: $border_width;
&:checked {
margin-top: -$border_width;
//margin-bottom: 0px;
}
}
}
&.left {
//margin-right: 0;
border-right-width: $border_width;
@if $gtk == 4 { > tabs { margin-right: 0;} }
> tabs > tab {
border-right: none;
margin-left: $border_width;
&:checked {
margin-right: -($border_width);// + if( $gtk==4, 1px, 0));
//@if $gtk==3 {
padding-right: 10px + $border_width;
//}
//margin-left: 0px;
}
}
}
&.right {
//margin-left: 0;
border-left-width: $border_width;
@if $gtk == 4 { > tabs { margin-left: 0;}}
> tabs > tab {
border-left: none;
margin-right: $border_width;
&:checked {
margin-left: -($border_width);// + if( $gtk==4, 1px, 0));
//@if $gtk==3 {
padding-left: 10px + $border_width;
//}
//margin-right: 0px;
}
}
}
&.top > tabs > arrow {
@extend %notebook_vert_arrows;
//border-top-style: none;
}
&.bottom > tabs > arrow {
@extend %notebook_vert_arrows;
//border-bottom-style: none;
}
@at-root %notebook_vert_arrows {
//margin-left: -5px;
//margin-right: -5px;
padding: 2px;
&.down { -gtk-icon-source: -gtk-icontheme('pan-start-symbolic'); }
&.up { -gtk-icon-source: -gtk-icontheme('pan-end-symbolic'); }
}
&.left > tabs > arrow {
@extend %notebook_horz_arrows;
border-left-style: none;
}
&.right > tabs > arrow {
@extend %notebook_horz_arrows;
border-right-style: none;
}
@at-root %notebook_horz_arrows {
margin-top: -5px;
margin-bottom: -5px;
padding-top: 4px;
padding-bottom: 4px;
&.down { -gtk-icon-source: -gtk-icontheme('pan-up-symbolic'); }
&.up { -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); }
}
> tabs > arrow {
@extend %button_basic;
@extend %button_basic_flat;
//margin: $border_width;
min-height: 1em;
min-width: 1em;
border-radius: 0;
&:hover:not(:active):not(:backdrop) {
background-clip: padding-box;
background-image: none;
//background-color: transparentize(white, 0.7);
//border-color: transparent;
box-shadow: none;
}
&:disabled { @include button(disabled); }
}
tab {
outline-offset: -5px;
font-weight: normal;
padding: 3px 10px;
border-width: $border_width;
border-style: solid;
border-radius: 0;
color: mix($text_color, $base_color, 50%);
@include relief($base_color);
margin: 0px;
&:hover {
color: $fg_color;
background-color: darken($bg_color,4%);
&.reorderable-page {
//border-color: transparentize($borders_color, 0.7);
//background-color: transparentize($bg_color, 0.8);
}
}
&:checked {
@include relief(mix($bg_color, $base_color, 50%));
color: $fg_color;
&.reorderable-page {
//border-color: transparentize($borders_color, 0.5);
//background-color: transparentize($bg_color, 0.5);
//&:hover { background-color: transparentize($bg_color, 0.3); }
}
}
// colors the button like the label, overridden otherwise
button.flat {
&:hover { color: currentColor; }
&, &:backdrop { color: gtkalpha(currentColor, 0.3); }
padding: 0;
//margin-top: 4px;
//margin-bottom: 4px;
// FIXME: generalize .small-button?
min-width: 1em;
min-height: 1em;
&:last-child {
margin-left: 4px;
margin-right: -4px;
}
&:first-child {
margin-left: -4px;
margin-right: 4px;
}
}
}
&.top,
&.bottom {
tabs {
padding-left: 2px;
padding-right: 2px;
&:not(:only-child) {
margin-left: 3px;
margin-right: 3px;
&:first-child { margin-left: -1px; }
&:last-child { margin-right: -1px; }
}
tab {
margin-left: 2px;
margin-right: 2px;
//&.reorderable-page { border-style: none solid; }
}
}
}
&.left,
&.right {
tabs {
padding-top: 2px;
padding-bottom: 2px;
&:not(:only-child) {
margin-top: 3px;
margin-bottom: 3px;
&:first-child { margin-top: -1px; }
&:last-child { margin-bottom: -1px; }
}
tab {
margin-top: 2px;
margin-bottom: 2px;
//&.reorderable-page { border-style: solid none; }
}
}
}
&.top tab { padding-bottom: 4px; }
&.bottom tab { padding-top: 4px; }
}
> stack:not(:only-child) { // the :not(:only-child) is for "hidden" notebooks
border: none;
background-color: $stack_bg_color;
margin: $border_width;
//@include relief(mix($base_color, $bg_color, 50%));
//&:backdrop { background-color: $backdrop_base_color; }
}
}

View file

@ -1,4 +1,4 @@
@mixin overshoot($p, $t:normal, $c:$selected_bg_color) {
@mixin overshoot($p, $t:normal, $c:$error_color) {
//
// overshoot
//
@ -13,49 +13,12 @@
// normal, backdrop
//
$_small_gradient_length: 3%;
$_big_gradient_length: 50%;
// overshoot is very simplified in this theme
$_small_gradient_size: 100% $_small_gradient_length;
$_big_gradient_size: 100% $_big_gradient_length;
background-color: gtkalpha($c, 0.1);
background-size: 100%;
background-repeat: no-repeat;
border: none;
box-shadow: none;
@if $p==right or $p==left {
$_small_gradient_size: $_small_gradient_length 100%;
$_big_gradient_size: $_big_gradient_length 100%;
}
$_small_gradient_color: $c;
$_big_gradient_color: transparentize($c, 0.93);
@if $c==$fg_color {
$_small_gradient_color: darken($borders_color, 10%);
$_big_gradient_color: transparentize($fg_color, 0.93);
@if $t==backdrop { $_small_gradient_color: $backdrop_borders_color; }
}
$_small_gradient: radial-gradient(farthest-side at $p,
$_small_gradient_color 85%,
transparentize($_small_gradient_color, 1));
$_big_gradient: radial-gradient(farthest-side at $p,
$_big_gradient_color,
transparentize($_big_gradient_color, 1));
@if $t==normal {
background-image: $_small_gradient, $_big_gradient;
background-size: $_small_gradient_size, $_big_gradient_size;
}
@else if $t==backdrop {
background-image: $_small_gradient;
background-size: $_small_gradient_size;
}
background-repeat: no-repeat;
background-position: $p;
background-color: transparent; // reset some properties to be sure to not inherit them somehow
border: none; //
box-shadow: none; //
}

60
source/common/paned.scss Normal file
View file

@ -0,0 +1,60 @@
paned {
> separator {
min-width: 2*$border_width;
min-height: 2*$border_width;
-gtk-icon-source: none; // defeats the ugly default handle decoration.
border-width: $border_width; //for some reason, it's drawn twice as wide (only in GTK3!)
border-style: solid;
background-image: radial-gradient(circle closest-side, $fg_color 0%, $fg_color 75%, transparentize($fg_color, 1) 100%);
background-clip: padding-box;
//background-size: 2*$border_width + 2px 2*$border_width + 2px;
background-repeat: no-repeat;
background-position: center;
@include relief($bg_color);
&:selected { @include relief($selected_bg_color); } // FIXME is this needed?
&.wide {
min-width: 5px;
min-height: 5px;
}
}
&.horizontal > separator {
//background-repeat: repeat-y;
&:dir(ltr) {
//margin: 0 -8px 0 0;
//padding: 0 8px 0 0;
//background-position: left;
}
&:dir(rtl) {
//margin: 0 0 0 -8px;
//padding: 0 0 0 8px;
//background-position: right;
}
&.wide {
margin: 0;
padding: 0;
//background-repeat: repeat-y, repeat-y;
//background-position: left, right;
}
}
&.vertical > separator {
//margin: 0 0 -8px 0;
//padding: 0 0 8px 0;
//background-repeat: repeat-x;
//background-position: top;
&.wide {
margin: 0;
padding: 0;
//background-repeat: repeat-x, repeat-x;
//background-position: bottom, top;
}
}
}

38
source/common/relief.scss Normal file
View file

@ -0,0 +1,38 @@
//auxiliary functions for buttons first
@function highlight_border ($c) {
@return lighten($c, 15%);
}
@function shadow_border ($c) {
@return darken($c, 10%);
}
@mixin relief($bg, $type:raised, $bc:$bg) {
// draws a raised (default) or sunken surface
// $bg: background color for the surface
// $type: either raised (default) or sunken (or any other value, which makes it sunken)
// $bc: border color: you may want a different border color (such as an active entry); otherwise it equals $bg
// it only sets background and border colors; color or any other property are not set.
background-color: $bg;
//border-width: $border_width;
//border-style: solid;
@if $type==raised {
border-left-color: highlight_border($bc);
border-top-color: highlight_border($bc);
border-right-color: shadow_border($bc);
border-bottom-color: shadow_border($bc);
}
@else { //usually "sunken", but really anything other than "raised"
border-left-color: shadow_border($bc);
border-top-color: shadow_border($bc);
border-right-color: highlight_border($bc);
border-bottom-color: highlight_border($bc);
}
}

View file

@ -1,24 +1,27 @@
undershoot {
$undershoot_color: mix($hint_bg, $hint_fg, 50%);
background-repeat: no-repeat;
background-clip: border-box;
background-image: image(gtkalpha($undershoot_color, 0.3));
&.top {
background-image: linear-gradient(to bottom, gtkalpha(currentColor, 0.5), gtkalpha(currentColor, 0.2), gtkalpha(currentColor, 0));
background-size: 100% 1em;
//background-image: linear-gradient(to bottom, gtkalpha(currentColor, 0.5), gtkalpha(currentColor, 0.2), gtkalpha(currentColor, 0));
background-size: 100% 0.5em;
background-position: top;
}
&.bottom {
background-image: linear-gradient(to top, gtkalpha(currentColor, 0.5), gtkalpha(currentColor, 0.2), gtkalpha(currentColor, 0));
background-size: 100% 1em;
//background-image: linear-gradient(to top, gtkalpha(currentColor, 0.5), gtkalpha(currentColor, 0.2), gtkalpha(currentColor, 0));
background-size: 100% 0.5em;
background-position: bottom;
}
&.left {
background-image: linear-gradient(to right, gtkalpha(currentColor, 0.5), gtkalpha(currentColor, 0.2), gtkalpha(currentColor, 0));
background-size: 1em 100%;
//background-image: linear-gradient(to right, gtkalpha(currentColor, 0.5), gtkalpha(currentColor, 0.2), gtkalpha(currentColor, 0));
background-size: 0.5em 100%;
background-position: left;
}
&.right {
background-image: linear-gradient(to left, gtkalpha(currentColor, 0.5), gtkalpha(currentColor, 0.2), gtkalpha(currentColor, 0));
background-size: 1em 100%;
//background-image: linear-gradient(to left, gtkalpha(currentColor, 0.5), gtkalpha(currentColor, 0.2), gtkalpha(currentColor, 0));
background-size: 0.5em 100%;
background-position: right;
}

17
source/common/xfce.scss Normal file
View file

@ -0,0 +1,17 @@
#XfceNotifyWindow {
color: $hint_fg;
border-radius: $window_radius;
border-width: $border_width;
border-style: solid;
@include relief($hint_bg);
label {color: $hint_fg}
label #summary { font-weight: bold; }
button {
@include button(osd);
&:hover {@include button(osd-hover); }
&:active {@include button(osd-active);}
}
}

File diff suppressed because it is too large Load diff

View file

@ -6,6 +6,8 @@
$gtk: 3;
@import "../common/relief.scss";
@function _widget_edge($c:$borders_edge) {
// outer highlight "used" on most widgets
@if $c == none { @return none; }
@ -34,94 +36,13 @@ $gtk: 3;
@function entry_focus_shadow($fc:$selected_bg_color) { @return inset 0 0 0 1px $fc; }
@mixin entry($t, $fc:$selected_bg_color, $edge: none) {
//
// Entries drawing function
//
// $t: entry type
// $fc: focus color
// $edge: set to none to not draw the bottom edge or specify a color to not
// use the default one
//
// possible $t values:
// normal, focus, insensitive, backdrop, backdrop-insensitive, osd, osd-focus, osd-backdrop;
//
$_entry_shadow: 0 1px 2px transparentize($shadow_hard_color, 0.6);
$_blank_edge: if($edge == none, none, 0 1px transparentize($edge, 1));
$_entry_edge: if($edge == none, none, _widget_edge($edge));
$_hilight_color: _button_hilight_color($bg_color);
@import "../common/entry.scss";
@if $t==normal {
color: $text_color;
border-color: $text_color;//$borders_color;
background-color: $base_color;
@include _shadows(entry_focus_shadow(transparentize($fc, 1)),inset $_entry_shadow, 0 1px $_hilight_color, $_entry_edge);
// for the transition to work the number of shadows in different states needs to match, hence the transparent shadow here.
}
@if $t==focus {
@include _shadows(entry_focus_shadow($fc), inset $_entry_shadow, 0 1px $_hilight_color, $_entry_edge);
border-color: entry_focus_border($fc);
}
@if $t==insensitive {
color: $insensitive_fg_color;
border-color: $insensitive_fg_color;
background-color: $insensitive_bg_color;
box-shadow: $_entry_edge;
}
@if $t==backdrop {
color: $backdrop_text_color;
border-color: $backdrop_borders_color;
background-color: $backdrop_base_color;
box-shadow: $_blank_edge;
}
@if $t==backdrop-insensitive {
color: $backdrop_insensitive_color;
border-color: $backdrop_borders_color;
background-color: $insensitive_bg_color;
box-shadow: $_blank_edge;
}
@if $t==osd {
color: $osd_text_color;
border-color: $osd_borders_color;
background-color: transparentize(opacify($osd_borders_color, 1), 0.5);
background-clip: padding-box;
@include _shadows($_entry_shadow);;
text-shadow: 0 1px black;
-gtk-icon-shadow: 0 1px black;
}
@if $t==osd-focus {
color: $osd_text_color;
border-color: $selected_bg_color;
background-color: transparentize(opacify($osd_borders_color, 1), 0.5);
background-clip: padding-box;
@include _shadows(entry_focus_shadow($fc), $_entry_shadow);
text-shadow: 0 1px black;
-gtk-icon-shadow: 0 1px black;
}
@if $t==osd-insensitive {
color: $osd_insensitive_fg_color;
border-color: $osd_borders_color;
background-color: $osd_insensitive_bg_color;
background-clip: padding-box;
box-shadow: none;
text-shadow: none;
-gtk-icon-shadow: none;
}
@if $t==osd-backdrop {
color: $osd_text_color;
border-color: $osd_borders_color;
background-color: transparentize(opacify($osd_borders_color, 1), 0.5);
background-clip: padding-box;
box-shadow: none;
text-shadow: none;
-gtk-icon-shadow: none;
}
}
// buttons
@import "../common/buttons.scss";

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -14,6 +14,8 @@
$gtk: 4;
@import "../common/relief.scss";
@mixin focus-ring($target: null, $width: 2px, $offset: -$width, $outer: false, $focus-state: 'focus:focus-visible', $fc: $focus_border_color) {
transition-property: outline, outline-width, outline-offset, outline-color;
transition-duration: 300ms;
@ -45,79 +47,10 @@ $gtk: 4;
// entries
@mixin entry($t, $fc:$focus_border_color) {
//
// Entries drawing function
//
// $t: entry type
// $fc: focus color
//
// possible $t values:
// normal, focus, insensitive, backdrop, backdrop-insensitive, osd, osd-focus, osd-backdrop, block_cursor;
//
$_entry_shadow: 0 1px 2px transparentize($shadow_hard_color, 0.6);
$_hilight_color: _button_hilight_color($bg_color);
@if $t==normal {
color: $text_color;
border-color: $text_color;// $borders_color;
background-color: $base_color;
@include _shadows(inset $_entry_shadow, 0 1px $_hilight_color);
// for the transition to work the number of shadows in different states needs to match, hence the transparent shadow here.
}
@if $t==insensitive {
color: $insensitive_fg_color;
border-color: $insensitive_fg_color;
background-color: $insensitive_bg_color;
}
@if $t==backdrop {
color: $backdrop_text_color;
border-color: $backdrop_borders_color;
background-color: $backdrop_base_color;
}
@if $t==backdrop-insensitive {
color: $backdrop_insensitive_color;
border-color: $backdrop_borders_color;
background-color: $insensitive_bg_color;
}
@if $t==osd {
color: $osd_text_color;
border-color: $osd_borders_color;
background-color: transparentize(opacify($osd_borders_color, 1), 0.5);
background-clip: padding-box;
@include _shadows(inset $_entry_shadow, 0 1px $_hilight_color);
-gtk-icon-shadow: 0 1px black;
}
@if $t==osd-focus {
color: $osd_text_color;
border-color: $selected_bg_color;
background-color: transparentize(opacify($osd_borders_color, 1), 0.5);
background-clip: padding-box;
@include _shadows(inset $_entry_shadow, 0 1px $_hilight_color);
}
@if $t==osd-insensitive {
color: $osd_insensitive_fg_color;
border-color: $osd_borders_color;
background-color: $osd_insensitive_bg_color;
background-clip: padding-box;
}
@if $t==osd-backdrop {
color: $osd_text_color;
border-color: $osd_borders_color;
background-color: transparentize(opacify($osd_borders_color, 1), 0.5);
background-clip: padding-box;
}
@if $t==block_cursor {
color: $base_color;
background-color: $text_color;
}
}
@import "../common/entry.scss";
// buttons
@import "../common/buttons.scss";

File diff suppressed because it is too large Load diff

View file

@ -16,7 +16,7 @@ $disabled_fg: ${vdisabled_fg};
$disabled_bg: ${vdisabled_bg};
/*Usually an automatic fg color on these backgrounds should check this value!*/
$warningc: ${vdisabled_bg};
$warningc: ${vwarningc};
$errorc: ${verrorc};
$successc: ${vsuccessc};
@ -35,3 +35,8 @@ $osd_bg: ${vosd_bg};
$link_fg: ${vlink_fg};
$link_visited_fg: ${vlink_visited_fg};
// ---- These are not colors, but other types of variables:
$button_radius: ${vbutton_radius};
$window_radius: ${vwindow_radius};

View file

@ -1,37 +1,42 @@
$window_fg: #241f31;
$window_bg: #a7a7a7;
$text_widget_fg: #241f31;
$text_widget_bg: #908f8d;
$window_fg: #EDF0F5;
$window_bg: #3f3e3e;
$text_widget_fg: #EDF0F5;
$text_widget_bg: #323232;
$selected_fg: #000000;
$selected_bg: #b0dd7e;
$selected_fg: #d1ff96;
$selected_bg: #669900;
$button_fg: #241f31;
$button_bg: #bcbeb9;
$button_checked_bg: #b0dd7e;
$button_checked_fg: #000000;
$button_fg: #EDF0F5;
$button_bg: #4e584d;
$button_checked_bg: #669900;
$button_checked_fg: #d1ff96;
$disabled_fg: #552222;
$disabled_bg: #938989;
$disabled_fg: #7c675a;
$disabled_bg: #493e37;
/*Usually an automatic fg color on these backgrounds should check this value!*/
$warningc: #938989;
$errorc: #990000;
$successc: #73d216;
$warningc: #f57900;
$errorc: #CC0000;
$successc: #33d17a;
$titlebar_active_fg: #000000;
$titlebar_active_bg: #b0dd7e;
$titlebar_active_fg: #d1ff96;
$titlebar_active_bg: #669900;
$titlebar_backdrop_fg: #241f31;
$titlebar_backdrop_bg: #a7a7a7;
$titlebar_backdrop_fg: #EDF0F5;
$titlebar_backdrop_bg: #3f3e3e;
$hint_fg: #002269;
$hint_bg: #6789b4;
$hint_fg: #66cbec;
$hint_bg: #203d79;
$osd_fg: #002269;
$osd_bg: #6789b4;
$osd_fg: #66cbec;
$osd_bg: #203d79;
$link_fg: #004B91;
$link_visited_fg: #680091;
$link_fg: #99c1f1;
$link_visited_fg: #dc8add;
// ---- These are not colors, but other types of variables:
$button_radius: 0px;
$window_radius: 0px;

View file

@ -9,22 +9,22 @@
# Soil colors: dark gray, with green accents, readable and easy on the eyes
vwindow_fg="#c0c0c0"
vwindow_fg="#EDF0F5"
vwindow_bg="#3f3e3e"
vtext_widget_fg="#b0b0b0"
vtext_widget_bg="#2d2c2c"
vtext_widget_fg="#EDF0F5"
vtext_widget_bg="#323232"
vselected_fg="#b5f08f"
vselected_fg="#d1ff96"
vselected_bg="#669900"
vbutton_fg=$vtext_widget_fg
vbutton_bg="#343F37"
vbutton_bg="#4e584d"
vbutton_checked_bg=$vselected_bg
vbutton_checked_fg=$vselected_fg
vdisabled_fg="#a14242"
vdisabled_bg="#482B2B"
vdisabled_fg="#7c675a"
vdisabled_bg="#493e37"
# Usually an automatic fg color on these backgrounds should check this value!
@ -39,8 +39,8 @@ vtitlebar_active_bg=$vselected_bg
vtitlebar_backdrop_fg=$vwindow_fg
vtitlebar_backdrop_bg=$vwindow_bg
vhint_fg="#5696c1"
vhint_bg="#25456e"
vhint_fg="#66cbec"
vhint_bg="#203d79"
vosd_fg=$vhint_fg
vosd_bg=$vhint_bg
@ -48,6 +48,9 @@ vosd_bg=$vhint_bg
vlink_fg="#99c1f1"
vlink_visited_fg="#dc8add"
vbutton_radius="0px"
vwindow_radius="0px"
# export vwindow_fg vwindow_bg vtext_widget_fg vtext_widget_bg vselected_fg vselected_bg vbutton_fg vbutton_bg vbutton_checked_bg vbutton_checked_fg vdisabled_fg vdisabled_bg vwarningc verrorc vsuccessc vtitlebar_active_fg vtitlebar_active_bg vtitlebar_backdrop_fg vtitlebar_backdrop_bg vhint_fg vhint_bg vosd_fg vosd_bg vlink_fg vlink_visited_fg

View file

@ -48,6 +48,9 @@ vosd_bg=$vhint_bg
vlink_fg="#004B91"
vlink_visited_fg="#680091"
vbutton_radius="0px"
vwindow_radius="0px"
# export vwindow_fg vwindow_bg vtext_widget_fg vtext_widget_bg vselected_fg vselected_bg vbutton_fg vbutton_bg vbutton_checked_bg vbutton_checked_fg vdisabled_fg vdisabled_bg vwarningc verrorc vsuccessc vtitlebar_active_fg vtitlebar_active_bg vtitlebar_backdrop_fg vtitlebar_backdrop_bg vhint_fg vhint_bg vosd_fg vosd_bg vlink_fg vlink_visited_fg

View file

@ -92,7 +92,7 @@ style "default" {
menubarstyle = 2
toolbarstyle = 1
animation = FALSE
radius = 3.0
radius = 0.0
style = GUMMY
# Set a hint to disable backward compatibility fallbacks.

View file

@ -0,0 +1,442 @@
# Please keep this gtkrc in sync with the other ones from Clearlooks based themes.
gtk-color-scheme = "bg_color:${vwindow_bg}"
gtk-color-scheme = "fg_color:${vwindow_fg}"
gtk-color-scheme = "base_color:${vtext_widget_bg}"
gtk-color-scheme = "text_color:${vtext_widget_fg}"
gtk-color-scheme = "selected_bg_color:${vselected_bg}"
gtk-color-scheme = "selected_fg_color:${vselected_fg}"
gtk-color-scheme = "tooltip_bg_color:${vhint_bg}"
gtk-color-scheme = "tooltip_fg_color:${vhint_fg}"
gtk-color-scheme = "disabled_bg_color:${vdisabled_bg}"
gtk-color-scheme = "disabled_fg_color:${vdisabled_fg}"
gtk-color-scheme = "button_bg_color:${vbutton_bg}"
gtk-color-scheme = "button_fg_color:${vbutton_fg}"
gtk-color-scheme = "button_checked_bg_color:${vbutton_checked_bg}"
gtk-color-scheme = "button_checked_fg_color:${vbutton_checked_fg}"
style "default" {
xthickness = 1
ythickness = 1
#######################
# Style Properties
#######################
GtkButton::child-displacement-x = 1
GtkButton::child-displacement-y = 1
GtkButton::default-border = { 0, 0, 0, 0 }
GtkButton::image-spacing = 4
GtkToolButton::icon-spacing = 4
GtkCheckButton::indicator-size = 14
GtkPaned::handle-size = 6
GtkRange::trough-border = 0
GtkRange::slider-width = 15
GtkRange::stepper-size = 15
GtkScale::slider-length = 23
GtkScale::trough-side-details = 1
GtkScrollbar::min-slider-length = 30
GtkMenuBar::internal-padding = 0
GtkExpander::expander-size = 16
GtkToolbar::internal-padding = 1
GtkTreeView::expander-size = 14
GtkTreeView::vertical-separator = 0
GtkMenu::horizontal-padding = 0
GtkMenu::vertical-padding = 0
WnckTasklist::fade-overlay-rect = 0
# 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::progress-border = { 2, 2, 2, 2 }
####################
# Color Definitions
####################
bg[NORMAL] = @bg_color
bg[PRELIGHT] = shade (1.02, @bg_color)
bg[SELECTED] = @selected_bg_color
bg[INSENSITIVE] = @disabled_bg_color
bg[ACTIVE] = shade (0.9, @bg_color)
fg[NORMAL] = @fg_color
fg[PRELIGHT] = @fg_color
fg[SELECTED] = @selected_fg_color
fg[INSENSITIVE] = @disabled_fg_color
fg[ACTIVE] = @fg_color
text[NORMAL] = @text_color
text[PRELIGHT] = @text_color
text[SELECTED] = @selected_fg_color
text[INSENSITIVE] = @disabled_fg_color
text[ACTIVE] = @selected_fg_color
base[NORMAL] = @base_color
base[PRELIGHT] = shade (0.95, @bg_color)
base[SELECTED] = @selected_bg_color
base[INSENSITIVE] = @disabled_bg_color
base[ACTIVE] = shade (0.9, @selected_bg_color)
engine "clearlooks" {
colorize_scrollbar = FALSE
reliefstyle = 1
menubarstyle = 2
toolbarstyle = 1
animation = FALSE
radius = 0.0
style = GUMMY
# Set a hint to disable backward compatibility fallbacks.
hint = "use-hints"
}
}
style "wide" {
xthickness = 2
ythickness = 2
}
style "wider" {
xthickness = 3
ythickness = 3
}
style "entry" {
xthickness = 3
ythickness = 3
bg[SELECTED] = mix (0.4, @selected_bg_color, @base_color)
fg[SELECTED] = @text_color
engine "clearlooks" {
focus_color = shade (0.65, @selected_bg_color)
}
}
style "spinbutton" {
engine "clearlooks" {
hint = "spinbutton"
}
}
style "scale" {
xthickness = 2
ythickness = 2
engine "clearlooks" {
hint = "scale"
}
}
style "vscale" {
engine "clearlooks" {
hint = "vscale"
}
}
style "hscale" {
engine "clearlooks" {
hint = "hscale"
}
}
style "scrollbar" {
xthickness = 2
ythickness = 2
engine "clearlooks" {
hint = "scrollbar"
}
}
style "hscrollbar" {
engine "clearlooks" {
hint = "hscrollbar"
}
}
style "vscrollbar" {
engine "clearlooks" {
hint = "vscrollbar"
}
}
style "notebook_bg" {
bg[NORMAL] = shade (1.02, @bg_color)
}
style "button" {
xthickness = 3
ythickness = 3
bg[NORMAL] = @button_bg_color
fg[NORMAL] = @button_fg_color
bg[PRELIGHT] = shade (1.06, @button_bg_color)
bg[ACTIVE] = @button_checked_bg_color
fg[ACTIVE] = @button_checked_fg_color
}
# The color is changed by the notebook_bg style, this style
# changes the x/ythickness
style "notebook" {
xthickness = 3
ythickness = 3
}
style "statusbar" {
engine "clearlooks" {
hint = "statusbar"
}
}
style "comboboxentry" {
engine "clearlooks" {
# Note:
# If you set the appears-as-list option on comboboxes in the theme,
# then you should set this hint on the combobox instead.
hint = "comboboxentry"
}
}
style "menubar" {
engine "clearlooks" {
hint = "menubar"
}
}
style "menu" {
xthickness = 0
ythickness = 0
bg[NORMAL] = shade (1.08, @bg_color)
engine "clearlooks" {
radius = 0.0
}
}
style "menu_item" {
xthickness = 2
ythickness = 3
fg[PRELIGHT] = @selected_fg_color
}
# This style is there to modify the separator menu items. The goals are:
# 1. Get a specific height.
# 2. The line should go to the edges (ie. no border at the left/right)
style "separator_menu_item" {
xthickness = 1
ythickness = 0
GtkSeparatorMenuItem::horizontal-padding = 0
GtkWidget::wide-separators = 1
GtkWidget::separator-width = 1
GtkWidget::separator-height = 7
}
style "frame_title" {
fg[NORMAL] = lighter (@fg_color)
}
style "treeview" {
engine "clearlooks" {
hint = "treeview"
}
}
# The almost useless progress bar style
style "progressbar" {
xthickness = 1
ythickness = 1
fg[PRELIGHT] = @selected_fg_color
engine "clearlooks" {
# Explicitly set the radius for the progress bars inside menu items.
radius = 3.0
hint = "progressbar"
}
}
# This style is based on the default style, so that the colors from the button
# style are overriden again.
style "treeview_header" = "default" {
xthickness = 2
ythickness = 1
engine "clearlooks" {
hint = "treeview-header"
}
}
style "tooltips" {
xthickness = 4
ythickness = 4
bg[NORMAL] = @tooltip_bg_color
fg[NORMAL] = @tooltip_fg_color
}
style "nautilus_location" {
bg[NORMAL] = mix (0.60, shade (1.05, @bg_color), @selected_bg_color)
}
# Wrokaroudn style for places where the text color is used instead of the fg color.
style "text_is_fg_color_workaround" {
text[NORMAL] = @fg_color
text[PRELIGHT] = @fg_color
text[SELECTED] = @selected_fg_color
text[ACTIVE] = @fg_color
text[INSENSITIVE] = @disabled_fg_color
}
# Workaround style for menus where the text color is used instead of the fg color.
style "menuitem_text_is_fg_color_workaround" {
text[NORMAL] = @fg_color
text[PRELIGHT] = @selected_fg_color
text[SELECTED] = @selected_fg_color
text[ACTIVE] = @fg_color
text[INSENSITIVE] = @disabled_fg_color
}
# Workaround style for places where the fg color is used instead of the text color.
style "fg_is_text_color_workaround" {
fg[NORMAL] = @text_color
fg[PRELIGHT] = @text_color
fg[SELECTED] = @selected_fg_color
fg[ACTIVE] = @selected_fg_color
fg[INSENSITIVE] = @disabled_fg_color
}
# Style to set the toolbar to use a flat style. This is because the "New" button in
# Evolution is not drawn transparent. So if there is a gradient in the background it will
# look really wrong.
# See http://bugzilla.gnome.org/show_bug.cgi?id=446953.
style "evo_new_button_workaround" {
engine "clearlooks" {
toolbarstyle = 0
}
}
###############################################################################
# The following part of the gtkrc applies the different styles to the widgets.
###############################################################################
# The default style is applied to every widget
class "GtkWidget" style "default"
class "GtkSeparator" style "wide"
class "GtkFrame" style "wide"
class "GtkCalendar" style "wide"
class "GtkEntry" style "entry"
class "GtkSpinButton" style "spinbutton"
class "GtkScale" style "scale"
class "GtkVScale" style "vscale"
class "GtkHScale" style "hscale"
class "GtkScrollbar" style "scrollbar"
class "GtkHScrollbar" style "hscrollbar"
class "GtkVScrollbar" style "vscrollbar"
# General matching follows. The order is choosen so that the right styles override
# each other. EG. progressbar needs to be more important than the menu match.
widget_class "*<GtkNotebook>" style "notebook_bg"
# This is not perfect, it could be done better.
# (That is modify *every* widget in the notebook, and change those back that
# we really don't want changed)
widget_class "*<GtkNotebook>*<GtkEventBox>" style "notebook_bg"
widget_class "*<GtkNotebook>*<GtkDrawingArea>" style "notebook_bg"
widget_class "*<GtkNotebook>*<GtkLayout>" style "notebook_bg"
widget_class "*<GtkNotebook>*<GtkViewport>" style "notebook_bg"
widget_class "*<GtkNotebook>*<GtkScrolledWindow>" style "notebook_bg"
widget_class "*<GtkButton>" style "button"
widget_class "*<GtkNotebook>" style "notebook"
widget_class "*<GtkStatusbar>*" style "statusbar"
widget_class "*<GtkComboBoxEntry>*" style "comboboxentry"
widget_class "*<GtkCombo>*" style "comboboxentry"
widget_class "*<GtkMenuBar>*" style "menubar"
widget_class "*<GtkMenu>*" style "menu"
widget_class "*<GtkMenuItem>*" style "menu_item"
widget_class "*<GtkSeparatorMenuItem>*" style "separator_menu_item"
widget_class "*.<GtkFrame>.<GtkLabel>" style "frame_title"
widget_class "*.<GtkTreeView>*" style "treeview"
widget_class "*<GtkProgress>" style "progressbar"
# Treeview headers (and similar stock GTK+ widgets)
widget_class "*.<GtkTreeView>.<GtkButton>" style "treeview_header"
widget_class "*.<GtkCTree>.<GtkButton>" style "treeview_header"
widget_class "*.<GtkList>.<GtkButton>" style "treeview_header"
widget_class "*.<GtkCList>.<GtkButton>" style "treeview_header"
# The window of the tooltip is called "gtk-tooltip"
##################################################################
# FIXME:
# This will not work if one embeds eg. a button into the tooltip.
# As far as I can tell right now we will need to rework the theme
# quite a bit to get this working correctly.
# (It will involve setting different priorities, etc.)
##################################################################
widget "gtk-tooltip*" style "tooltips"
##########################################################################
# Following are special cases and workarounds for issues in applications.
##########################################################################
# Workaround for the evolution ETable (bug #527532)
widget_class "*.<ETable>.<ECanvas>" style "treeview_header"
# Workaround for the evolution ETree
widget_class "*.<ETree>.<ECanvas>" style "treeview_header"
# Special case the nautilus-extra-view-widget
# ToDo: A more generic approach for all applications that have a widget like this.
widget "*.nautilus-extra-view-widget" style : highest "nautilus_location"
# Work around for http://bugzilla.gnome.org/show_bug.cgi?id=382646
# Note that this work around assumes that the combobox is _not_ in appears-as-list mode.
widget_class "*.<GtkComboBox>.<GtkCellView>" style "text_is_fg_color_workaround"
# This is the part of the workaround that fixes the menus
widget "*.gtk-combobox-popup-menu.*" style "menuitem_text_is_fg_color_workaround"
# Work around the usage of GtkLabel inside GtkListItems to display text.
# This breaks because the label is shown on a background that is based on the base color.
widget_class "*<GtkListItem>*" style "fg_is_text_color_workaround"
# GtkCList also uses the fg color to draw text on top of the base colors.
widget_class "*<GtkCList>" style "fg_is_text_color_workaround"
# Nautilus when renaming files, and maybe other places.
widget_class "*<EelEditableLabel>" style "fg_is_text_color_workaround"
# See the documentation of the style.
widget_class "EShellWindow.GtkVBox.BonoboDock.BonoboDockBand.BonoboDockItem*" style "evo_new_button_workaround"

View file

@ -0,0 +1,142 @@
# Copyright (C) 2007-2011 Daniel Foré <Daniel@elementaryos.org>
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# See the file COPYING for the full license text.
gtk_color_scheme = "bg_color:#3f3e3e\nselected_bg_color:#669900\nbase_color:#302e2e" # Background, base
gtk_color_scheme = "fg_color:#EDF0F5\nselected_fg_color:#d1ff96\ntext_color:#F7FAFF" # Foreground, text
gtk_color_scheme = "sidebar_color:#302e2e" # Custom colors
gtk_color_scheme = "tooltip_bg_color:#003209\ntooltip_fg_color:#B5FF62" # Tooltips
gtk_color_scheme = "link_color:#7BBD89" # Hyperlinks
gtk_color_scheme = "frame_color:#986a44\ninactive_frame_color:#63452c" # Fix for Chrome
gtk_color_scheme = "bg_color_dark:#282828\ntext_color_dark:#F7FAFF\ntext_color_dark_selected:#FFF" # Dark colors - NO MORE DARKS
gtk_color_scheme = "widget_color:#4F6665"
gtk_color_scheme = "button_bg_color:#4F6665"
gtk_color_scheme = "disabled_bg_color:#543f3f\ndisabled_fg_color:#775f5f"
gtk-icon-sizes = "gtk-button=16,16" # Set icon size for buttons
gtk-button-images = 1 # Disables icons for buttons with text
gtk-toolbar-style = 0 # Disables text in toolbar
gtk-auto-mnemonics = 1 # Disables lines under menu items
####################
## Default Styles ##
####################
style "standard-default"
{
GtkWidget::interior_focus = 2
GtkButton::default_border = { 1, 1, 1, 1 }
GtkButton::default_outside_border = { 0, 0, 0, 0 }
GtkOptionMenu::indicator_size = { 9, 5 }
GtkOptionMenu::indicator_spacing = { 7, 5, 2, 2 }
GtkComboBox::appears-as-list = 1
GtkNotebook::tab-overlap = 4
GtkButton::child_displacement_x = 1
GtkButton::child_displacement_y = 1
GtkMenu::horizontal-padding = 1
GtkMenu::vertical-padding = 1
GtkMenu::horizontal-offset = -6
GtkScrolledWindow::scrollbar-spacing = 0
GtkScrolledWindow::scrollbars-within-bevel = 1
fg[ACTIVE] = @fg_color
fg[INSENSITIVE] = @disabled_fg_color
fg[NORMAL] = @fg_color
fg[PRELIGHT] = @fg_color
fg[SELECTED] = @selected_fg_color
bg[ACTIVE] = @bg_color
bg[INSENSITIVE] = @disabled_bg_color
bg[NORMAL] = @bg_color
bg[PRELIGHT] = @bg_color
bg[SELECTED] = @selected_bg_color
base[ACTIVE] = @selected_bg_color
base[INSENSITIVE] = @disabled_bg_color
base[NORMAL] = @base_color
base[PRELIGHT] = @selected_bg_color
base[SELECTED] = @selected_bg_color
text[ACTIVE] = @selected_fg_color
text[INSENSITIVE] = @disabled_fg_color
text[NORMAL] = @fg_color
text[PRELIGHT] = @selected_fg_color
text[SELECTED] = @selected_fg_color
engine "redmond95" {}
}
class "GtkWidget" style "standard-default"
style "standard-menu"
{
bg[PRELIGHT] = @selected_bg_color
fg[PRELIGHT] = @selected_fg_color
}
widget_class "*MenuItem*" style "standard-menu"
style "standard-menubar-item"
{
bg[PRELIGHT] = @bg_color
fg[PRELIGHT] = @fg_color
}
class "*MenuBar.*MenuItem*" style "standard-menubar-item"
widget_class "*MenuBar.*MenuItem*" style "standard-menubar-item"
style "standard-list"
{
bg[NORMAL] = { 0.9, 0.9, 0.9 }
bg[PRELIGHT] = @fg_color
}
class "GtkList" style "standard-list"
style "standard-scrollbar"
{
GtkRange::trough_border = 0
GtkRange::slider_width = 16
GtkRange::stepper_size = 16
GtkRange::stepper_spacing = 0
}
class "GtkScrollbar" style "standard-scrollbar"
style "standard-scales"
{
GtkRange::slider-width = 21
GtkScale::slider-length = 11
}
class "*Scale*" style "standard-scales"
style "standard-option-menu"
{
GtkOptionMenu::indicator_width = 7
GtkOptionMenu::indicator_left_spacing = 6
GtkOptionMenu::indicator_right_spacing = 4
}
class "GtkOptionMenu" style "standard-option-menu"
style "standard-progressbar" {
fg[PRELIGHT] = @selected_fg_color
}
class "GtkProgressBar" style "standard-progressbar"
style "standard-entry"
{
bg[SELECTED] = "#1C40A8"
fg[SELECTED] = @selected_fg_color
}
class "GtkEntry" style "standard-entry"

View file

@ -1,20 +1,20 @@
# Please keep this gtkrc in sync with the other ones from Clearlooks based themes.
gtk-color-scheme = "bg_color:#a7a7a7"
gtk-color-scheme = "fg_color:#241f31"
gtk-color-scheme = "base_color:#908f8d"
gtk-color-scheme = "text_color:#241f31"
gtk-color-scheme = "selected_bg_color:#b0dd7e"
gtk-color-scheme = "selected_fg_color:#000000"
gtk-color-scheme = "tooltip_bg_color:#6789b4"
gtk-color-scheme = "tooltip_fg_color:#002269"
gtk-color-scheme = "disabled_bg_color:#938989"
gtk-color-scheme = "disabled_fg_color:#552222"
gtk-color-scheme = "button_bg_color:#bcbeb9"
gtk-color-scheme = "button_fg_color:#241f31"
gtk-color-scheme = "button_checked_bg_color:#b0dd7e"
gtk-color-scheme = "button_checked_fg_color:#000000"
gtk-color-scheme = "bg_color:#3f3e3e"
gtk-color-scheme = "fg_color:#EDF0F5"
gtk-color-scheme = "base_color:#323232"
gtk-color-scheme = "text_color:#EDF0F5"
gtk-color-scheme = "selected_bg_color:#669900"
gtk-color-scheme = "selected_fg_color:#d1ff96"
gtk-color-scheme = "tooltip_bg_color:#203d79"
gtk-color-scheme = "tooltip_fg_color:#66cbec"
gtk-color-scheme = "disabled_bg_color:#493e37"
gtk-color-scheme = "disabled_fg_color:#7c675a"
gtk-color-scheme = "button_bg_color:#4e584d"
gtk-color-scheme = "button_fg_color:#EDF0F5"
gtk-color-scheme = "button_checked_bg_color:#669900"
gtk-color-scheme = "button_checked_fg_color:#d1ff96"
style "default" {
@ -92,7 +92,7 @@ reliefstyle = 1
menubarstyle = 2
toolbarstyle = 1
animation = FALSE
radius = 3.0
radius = 0.0
style = GUMMY
# Set a hint to disable backward compatibility fallbacks.