metabrush/assets/theme.css
2024-10-09 16:57:08 +02:00

602 lines
9.9 KiB
CSS

/*
.metabrush * {
all: unset;
}
*/
.toggle, .dialogButton, .titlebar, .titleBar, .windowIcon, .fileBarCloseButton,
.newFileButton, .header, .paned, .panel, .tabs, .frame {
all: unset;
}
windowcontrols {
all: unset;
}
.reorderable-page {
all: unset;
}
.menu * {
all: unset;
}
.frame > * {
all: unset;
}
.notebook {
all: unset;
}
@import url("colours.css");
/* Colours parsed by application */
.bg {
background-color: @bg;
color: @bg;
}
.active {
background-color: @active;
color: @active;
}
.close {
color: @closeButtonHover;
}
.highlight {
color: @highlight;
}
.cursor {
color: @cursor;
}
.cursorStroke {
color: @cursorStroke;
}
.cursorIndicator {
color: @cursorIndicator;
}
.plain {
color: @plain;
}
.base {
color: @base;
}
.splash {
color: @splash;
}
.pathPoint {
color: @pathPoint;
}
.pathPointStroke {
color: @pathPointStroke;
}
.controlPoint {
color: @controlPoint;
}
.controlPointLine {
color: @controlPointLine;
}
.controlPointStroke {
color: @controlPointStroke;
}
.path {
color: @path;
}
.brush {
color: @brush;
}
.brushStroke {
color: @brushStroke;
}
.brushCenter {
color: @brushCenter;
}
.pointHover {
color: @pointHover;
}
.pointSelected {
color: @pointSelected;
}
.viewport {
background-color: @base;
color: @base;
min-width: 120px;
min-height: 90px;
}
.viewportScrollbar {
background-color: @scrollbar;
color: @scrollbar;
margin: 4px;
min-width: 8px;
min-height: 8px;
}
.tabScrollbar {
background-color: @scrollbar;
color: @scrollbar;
}
.ruler {
background-color: @ruler;
color: @ruler;
min-width: 16px;
min-height: 16px;
background-size: 16px 16px;
}
.rulerTick {
color: @rulerTick;
}
.guide {
color: @guide;
}
.magnifier {
color: @magnifier;
}
.glass {
color: @glass;
}
.selected {
color: @selected;
}
.selectedOutline {
color: @selectedOutline;
}
.brushWidget {
color: @brushWidget;
}
.brushWidgetHover {
color: @brushWidgetHover;
}
/* Proper CSS styling */
/* GTK tooltips */
tooltip {
color: @plain;
background-color: @bg;
border: 1px solid @border;
}
.window, .dialog {
border-radius: 0px;
border-color: @border;
box-shadow:
0px 3px 9px 1px rgba(0,0,0,0),
0px 2px 6px 2px rgba(0,0,0,0.2),
0px 0px 0px 1px rgba(0,0,0,0.18);
}
/* Basic text colour */
/* Basic text font */
.text {
font-family: "Lato", "Roboto", "Helvetica", sans-serif;
}
/* Monospace font */
.monospace {
font-family: "Fira Code", "Inconsolata", "Courier", "Courier New", monospace;
}
/* High-constrast text colour */
.contrast {
color: @contrast;
}
/* Active (highlighting) colour */
.highlight {
color: @highlight;
}
/* Logo area */
.logo {
margin-left: 4px;
min-width: 28px;
}
/* Logo base colour */
.logo_base {
color: @highlight;
}
/* Logo highlight colour */
.logo_highlight {
color: @splash;
}
/* Rulers */
.leftRuler {
border-right: 1px solid @rulerBorder;
min-width: 16px;
}
.topRuler {
border-bottom: 1px solid @rulerBorder;
min-height: 16px;
}
.rulerCorner {
min-width: 8px;
min-height: 8px;
border-bottom: 1px solid @rulerBorder;
border-right: 1px solid @rulerBorder;
}
/* Cursor colour */
.cursor {
color: @cursor;
}
/* Bézier path point colour */
.point {
color: @pathPoint;
}
/* Bézier control point colour */
.control {
color: @controlPoint;
}
/* Title bar */
.titleBar {
min-height: 24px;
font-size: 12px;
background-color: @bg;
}
/*
.titleBar > * :hover {
background-color: rgb(72,70,61);
}
*/
.title {
border-top: 2px solid @bg;
}
.dialog {
border: 1px solid @border;
border-radius: 6px;
}
/* dialog button */
.dialogButton {
background-color: @active;
border: 1px solid @border;
border-radius: 4px;
margin: 6px;
padding: 2px 10px 2px 10px;
}
.dialogButton:hover {
border-color: @plain;
}
.dialogButton:active, .dialogButton:checked {
color: @active;
border-color: @border;
background-color: @highlight;
}
/* Menu bar */
.menu label {
color:@plain;
}
.menu :disabled {
color: @disabled;
}
.menu :focus-within {
border-color: @plain;
}
.menu :focus{
border-color: @active;
background-color: @bg;
}
.menu item {
padding-left: 8px;
padding-right: 8px;
color: @plain;
border-top: 2px solid @bg;
}
.menu item > * :hover {
border-color: @plain;
background-color: @active;
}
/* Top-level menu items */
/* GTK documentation:
"The visible part of the popover can have a shadow.
To specify it in CSS, set the box-shadow of the contents node."
*/
.menu item > popover > contents {
box-shadow: 2px 3px 3px rgba(0,0,0,0.5)
, -2px 3px 3px rgba(0,0,0,0.5)
, 0px 4px 3px rgba(0,0,0,0.5);
}
/* Look at the CSS with the GTK inspector to figure this out... */
.menu item > popover > contents > scrolledwindow > viewport > stack > box > box > modelbutton,
.menu item > popover > contents > scrolledwindow > viewport > stack > box > box > box > box > modelbutton
{
background-color: @bg;
color: @active;
border-top: 0px;
border-left: 2px solid @bg;
padding: 6px 10px 6px 10px;
}
.menu item > popover > contents > scrolledwindow > viewport > stack > box > box > box > separator,
.menu item > popover > contents > scrolledwindow > viewport > stack > box > box > box > separator :hover {
background-color: @active;
padding: 1px 0px 0px 1px;
}
.menu item > popover > contents > scrolledwindow > viewport > stack > box > box > modelbutton > accelerator,
.menu item > popover > contents > scrolledwindow > viewport > stack > box > box > box > box > modelbutton > accelerator {
font-size: 10px;
color: @shortcutKey;
padding-left: 10px;
}
.windowIcon {
min-width: 24px;
}
.windowIcon:hover {
background-color: @windowButtonHover;
}
.windowIcon:active, .windowIcon:checked {
background-color: @windowButtonActive;
}
.closeWindowIcon:hover {
background-color: @closeButtonHover;
}
.closeWindowIcon:active, .closeWindowIcon:checked {
background-color: @closeButtonActive;
}
/* Tool bar */
.toolBar {
min-width: 32px;
margin-top: 28px;
}
.toolBarSeparator {
min-height: 2px;
margin-left: 10px;
margin-right: 10px;
margin-top: 4px;
margin-bottom: 4px;
background-color: @active;
}
.toolItem {
border-left: 2px solid @bg;
min-height: 40px;
min-width: 40px;
padding-top: 8px;
padding-bottom: 8px;
padding-left: 3px;
padding-right: 3px;
}
.toolItem:hover {
border-color: @active;
}
.toolItem:active, .toolItem:checked {
border-color: @base;
background-color: @active;
}
/* File bar */
.fileBar {
min-height: 24px;
font-size: 12px;
margin-top: 2px;
}
.fileBarTab {
border-top: 2px solid @bg;
}
.fileBarTab:hover {
border-color: @active;
}
.fileBarTab:active, .fileBarTab:checked {
border-color: @base;
background-color: @active;
}
.fileBarTabButton {
padding-left: 8px;
padding-right: 2px;
margin: 0px;
}
.fileBarCloseButton {
min-width: 10px;
min-height: 22px;
padding-left: 1px;
padding-right: 5px;
margin: 0px;
color: @plain;
}
.fileBarCloseButton:hover {
color: @closeButtonHover;
}
.fileBarCloseButton:active, .fileBarCloseButton:checked {
color: @closeButtonActive;
}
.newFileButton {
color: @newFileButton;
font-size: 16px;
font-weight: bold;
font-family: "Sans";
padding: 0px 5px 0px 4px;
margin: 3px 0px 3px 0px;
border-left: 1px solid @bg;
}
.newFileButton:hover, .newFileButton:active, newFileButton:checked {
color: @newFileButtonActive;
}
.newFileButton:active, .newFileButton:checked {
border-color: @newFileButtonActive;
}
/* Panels */
.panels {
min-width: 120px;
font-size: 12px;
}
.panels tab {
padding-left: 6px;
padding-right: 6px;
border-top: 2px solid @bg;
}
.panels tab:hover {
border-color: @active;
}
.panels tab:active, .panels tab:checked {
background-color: @active;
border-color: rgb(234,223,204);
}
.panel {
background-color: @active;
min-height: 20px;
}
/* Info bar */
.infoBar {
min-height: 40px;
font-size: 10px;
}
.infoBarInfo {
margin-left: -4px;
padding-right: 16px;
}
/* Stroke hierarchy layers */
row {
border-top: 0px;
border-bottom: 0px;
margin-top: -2px;
margin-bottom: -2px;
}
/* Slightly hacky way to align layers and groups */
indent {
margin-left: 4px;
margin-right: 4px;
}
:selected {
background-color: rgba(255,255,255,0);
font-weight: bold;
color: black;
}
.layer-item, .brush-item {
color: @plain;
background-color: @active;
border: 0px solid @bg;
transition: all 0.35s ease-in-out;
padding-top: 4px;
padding-bottom: 4px;
border-top: 1px solid @active;
border-bottom: 1px solid @active;
margin-top: -1px;
margin-bottom: -1px;
padding-left: 3px;
}
:selected .layer-item, :selected .brush-item {
color: black;
background-color: @contrast;
border: 0px solid @contrast;
}
/* Add "drop here" areas when a drag has been initiated */
.dragging-item .layer-item {
}
/* Style when dragging over an item */
.drag-over.layer-item {
}
/* Style when dragging layer item over the top part of an item */
.dragging-item .drag-top.layer-item {
border-top: 2px solid @highlight;
margin-top: -2px;
box-shadow:
inset 0 8px 6px -6px @highlight;
}
/* Style when dragging layer item over the bottom part of an item */
.dragging-item .drag-bot.layer-item {
border-bottom: 2px solid @highlight;
margin-bottom: -2px;
box-shadow:
inset 0 -8px 6px -6px @highlight;
}
/* Style when dragging brush over an item */
.dragging-brush .drag-top.layer-item, .dragging-brush .drag-bot.layer-item {
border-top: 2px solid @brushStroke;
border-bottom: 2px solid @brushStroke;
border-left: 0px;
border-right: 0px;
margin-top: -2px;
margin-bottom: -2px;
background-color: @brushStroke;
}
/* Style for item being dragged */
.dragged.layer-item {
background-color: @bg;
transition:
background-color 0.4s ease-in-out;
}
/* Wide separator styling */
.metabrush .wide {
background-color: @bg;
background-size: 0px;
background-image: none;
min-width: 2px;
min-height: 2px;
}
/* List view */
.metabrush .view {
margin-top: 3px;
border: 0px;
background-color: @bg;
}