@import "button";


/*********
 ! Toolbar
**********/

@mixin toolbar($bg, $fg) {
    @include linear-gradient($bg);
    @include border($bg);

    padding: $spacing * 2;
    color: $fg;

    &:insensitive {
        @include linear-gradient(shade($bg, .9));

        color: mix($fg, $bg, .5);
    }

    .title {
        font: bold;
        padding: 0 ($spacing * 2);
    }

    .subtitle {
        font: smaller;
        padding: 0 ($spacing * 2);
    }

    .button { @include button($header_button_bg_color, $header_button_fg_color); }

    .button.linked, .linked .button { @include linked_button($header_button_bg_color); }

    GtkComboBox, .button {
        padding: $spacing - 1px;

        &.text-button { padding: $spacing; }

        &.image-button { padding: ($spacing + 1px) ($spacing - 1px) ($spacing + 1px) $spacing; }
    }

    GtkSeparatorToolItem, .separator, .separator:insensitive {
        color: shade($bg, ($contrast + .1));
        border-color: currentColor;

        -GtkWidget-window-dragging: true;
    }

    .menubar { -GtkToolbar-button-relief: normal; }
}

@include exports("toolbar") {
    .toolbar {
        @include toolbar($bg_color, $fg_color);

        padding: 2px;
        border-style: none;

        &.inline-toolbar {
            background-image: none;
            background-color: transparent;
        }
        GtkToolButton:insensitive GtkButton:insensitive,
        GtkToolButton:insensitive GtkButton:insensitive.button,
        GtkToolButton:insensitive GtkButton:insensitive.flat.button {
            background-color: $bg_color;
        }
    }

    .header-bar {
        @include toolbar($titlebar_bg_color, $titlebar_fg_color);

        border-width: 0 0 1px;
        border-style: solid;
        .button {
            color: $button_fg_color;
        }
    }

    .titlebar {
        @include linear-gradient($titlebar_bg_color);

        border-radius: $roundness $roundness 0 0;
        color: mix($titlebar_fg_color, $titlebar_bg_color, .1);

        &:backdrop {
            @include linear-gradient($titlebar_bg_color);

            color: mix($titlebar_fg_color, $titlebar_bg_color, .6);
            text-shadow: none;
        }

        &.default-decoration {
            border: 0;
            box-shadow: none;
        }

        .tiled &, .maximized & { border-radius: 0; }

        .title { font: bold; }

        .titlebutton {
            padding: $spacing;
            border: 0;
            background-image: none;
            background-color: transparent;
            color: mix($titlebar_fg_color, $titlebar_bg_color, .1);
            box-shadow: none;

            &:hover, &:hover:focus {
                background-image: none;
                background-color: transparent;
                color: $selected_bg_color;
                box-shadow: none;
            }

            &:active, &:active:hover {
                background-image: none;
                background-color: transparent;
                color: shade($selected_bg_color, .9);
                box-shadow: none;
            }

            &:backdrop {
                background: none;
                color: mix($titlebar_fg_color, $titlebar_bg_color, .6);
                icon-shadow: none;
            }
        }
    }
}
