Files
federated-calendar/src/theme/style.css
T

489 lines
10 KiB
CSS

@import 'events.css';
:root {
--borders: color-mix(in srgb, currentColor 15%, transparent);
--insensitive-fg-color: color-mix(in srgb, var(--window-fg-color) 50%, transparent);
--month-separator-color: color-mix(in srgb, var(--borders), var(--dark-5) 9%);
--month-today-color: rgb(from var(--accent-bg-color) r g b / 15%);
--month-today-hover-color: rgb(from var(--accent-bg-color) r g b / 25%);
--month-selected-today-color: rgb(from var(--accent-bg-color) r g b / 33%);
--month-selected-today-hover-color: rgb(from var(--accent-bg-color) r g b / 40%);
--month-selected-border-color: rgb(from var(--accent-bg-color) r g b / 20%);
--month-selected-bg-color: rgb(from var(--accent-bg-color) r g b / 10%);
--month-selected-bg-hover-color: rgb(from var(--accent-bg-color) r g b / 17%);
}
/* Header labels */
label.primary-label {
font-size: 16pt;
font-weight: bold;
color: var(--accent-color);
padding: 12px;
}
label.secondary-label {
font-size: 16pt;
font-weight: bold;
padding: 12px;
color: rgb(from var(--window-fg-color) r g b / 55%);
}
calendar-view {
font-size: 10pt;
}
calendar-view.header,
label.header {
font-size: 10pt;
font-weight: bold;
color: rgb(from var(--window-fg-color) r g b / 55%);
}
calendar-view.current,
weekgrid.current {
background-color: rgb(from var(--accent-bg-color) r g b / 30%);
}
calendar-view:selected {
color: var(--accent-color);
font-weight: bold;
}
/* Event Popover */
popover.event-popover,
popover.event-popover > contents {
padding: 0;
}
.search-viewport {
background-color: var(--view-bg-color);
}
/* calendar popover */
.calendar-list {
background-color: transparent;
}
.calendar-list > list {
border-radius: 4px;
}
/* Edit dialog's header button */
.sources-button {
margin-top: -6px;
margin-bottom: -6px;
}
.sources-button > button {
border-radius: 0;
}
/* defeats the ugly hover effect of the calendar color dot on buttons */
.calendar-color-image {
-gtk-icon-filter: none;
}
/* adds a subtle shadow to the calendar color dot when it makes sense */
image.calendar-color-image,
button:active:not(:backdrop) .calendar-color-image,
button:checked:not(:backdrop) .calendar-color-image,
.calendars-list .calendar-color-image:not(:backdrop):not(:disabled),
.calendar-list .calendar-color-image:not(:backdrop):not(:disabled),
.sources-button:not(:backdrop):not(:disabled) .calendar-color-image {
-gtk-icon-shadow: 0 1px rgb(from black r g b / 10%);
}
/* Date chooser */
/* month/year controls */
datechooser navigator { /* add some space between the two controls */
margin-right: 6px;
margin-left: 6px;
margin-bottom: 6px;
}
datechooser navigator label {
font-weight: bold;
}
datechooser navigator button {
padding: 0;
}
/* week numbers, with a style resembling GNOME Shell's */
datechooser .weeknum{
font-size: smaller;
font-weight: bold;
margin: 6px;
padding: 4px;
border-radius: 5px;
background-color: rgb(from var(--insensitive-fg-color) r g b / 10%);
color: var(--insensitive-fg-color);
}
/* day names */
datechooser .weekday {
color: var(--insensitive-fg-color);
font-size: smaller;
font-weight: bold;
}
/* days */
datechooser button.day {
font-size: 10pt;
font-weight: normal;
min-height: 26px;
min-width: 26px;
margin: 2px;
padding: 3px;
transition: none;
}
datechooser button.day dot {
background-color: var(--window-fg-color);
border-radius: 50%;
min-height: 3px;
min-width: 3px;
}
datechooser button.day:selected {
background-color: var(--accent-bg-color);
color: var(--accent-fg-color);
font-weight: bold;
}
datechooser button.day:selected dot {
background-color: var(--accent-fg-color);
}
datechooser button.day.non-workday {
color: var(--insensitive-fg-color);
}
datechooser button.day.non-workday:selected {
color: var(--accent-fg-color);
}
datechooser button.day.today {
color: var(--accent-color);
}
datechooser button.day.today dot {
background-color: var(--accent-color);
}
datechooser button.day.today:selected {
background-color: var(--accent-bg-color);
color: var(--accent-fg-color);
}
datechooser button.day.today:selected dot {
background-color: var(--accent-fg-color);
}
datechooser button.day.other-month:not(:hover),
datechooser button.day.other-month:backdrop {
color: rgb(from currentColor r g b / 50%);
}
datechooser button.day.other-month:not(:hover) dot,
datechooser button.day.other-month:backdrop dot {
background-color: rgb(from currentColor r g b / 50%);
}
datechooser button.day.other-month:hover:not(:backdrop) {
color: var(--insensitive-fg-color);
}
datechooser button.day.other-month:hover:not(:backdrop) dot {
background-color: var(--insensitive-fg-color);
}
label.month-name {
font-size: 16pt;
font-weight: bold;
color: var(--accent-color);
padding: 12px;
}
/* Week View CSS */
.week-header .week-number {
font-size: 16pt;
font-weight: bold;
padding: 12px 12px 18px 12px;
color: rgb(from var(--window-fg-color) r g b / 25%);
}
.week-header.week-temperature {
font-size: 10pt;
font-weight: bold;
color: rgb(from var(--window-fg-color) r g b / 55%);
}
.week-header.lines {
color: rgb(from var(--window-fg-color) r g b / 15%);
}
weekhourbar > label {
font-size: 10pt;
padding: 4px 6px;
}
.week-view .lines {
color: rgb(from var(--window-fg-color) r g b / 15%);
}
weekgrid > widget.now-strip {
background-color: rgb(from var(--accent-bg-color) r g b / 80%);
margin: 0 0 0 1px;
min-height: 2px;
}
weekgrid.dnd, .week-header.dnd {
background-color: rgb(from var(--accent-bg-color) r g b / 25%);
}
weekheader > selection,
weekgrid > selection,
weekheader > droptarget,
weekgrid > droptarget {
background-color: rgb(from var(--accent-bg-color) r g b / 25%);
border-radius: 6px;
margin: 2px 0 1px 2px;
}
button.week-header-expander:checked image {
transform: rotateZ(180deg);
transition: 200ms;
}
/*
* Month cell
*/
monthcell {
border: solid 1px rgb(from var(--borders) r g b / 7.5%);
border-width: 1px 0 0 1px;
background-color: transparent;
transition: background-color 200ms;
}
monthcell:hover {
background-color: var(--window-bg-color);
transition: background-color 200ms;
}
/* Today */
monthcell.today { background-color: var(--month-today-color); }
monthcell.today:hover { background-color: var(--month-today-hover-color); }
monthcell:selected.today { background-color: var(--month-selected-today-color); }
monthcell:selected.today:hover { background-color: var(--month-selected-today-hover-color); }
monthcell.today label.day-label {
background-color: rgb(from var(--accent-bg-color) r g b / 80%);
color: var(--accent-fg-color);
border-radius: 99px;
padding: 0 6px;
}
/* Out of Month */
monthcell.out-of-month {
background-color: rgb(from var(--window-fg-color) r g b / 3%);
}
monthcell.out-of-month:not(.today) {
background-color: rgb(from var(--window-fg-color) r g b / 1%);
}
monthcell.out-of-month:hover,
monthcell.out-of-month:not(.today):hover {
background-color: rgb(from var(--window-fg-color) r g b / 5%);
transition: background-color 200ms;
}
monthcell.out-of-month label { color: rgb(from var(--window-fg-color) r g b / 40%); }
monthcell:not(.workday) {
background-color: rgb(from var(--window-fg-color) r g b / 1%);
}
monthcell:not(.workday):hover {
background-color: rgb(from var(--window-fg-color) r g b / 3%);
}
monthcell.today:not(.workday) {
background-color: rgb(from var(--accent-bg-color) r g b / 15%);
}
/* Selected */
monthcell:selected,
monthcell.out-of-month:selected,
monthcell:not(.workday):selected {
border-color: var(--month-selected-border-color);
background-color: var(--month-selected-bg-color);
}
monthcell:selected:hover,
monthcell.out-of-month:selected:hover,
monthcell:not(.workday):selected:hover {
background-color: var(--month-selected-bg-hover-color);
transition: background-color 200ms;
}
monthcell:selected label.day-label,
monthcell.out-of-month:selected label.day-label,
monthcell:not(.workday):selected label.day-label {
font-weight: bold;
}
/* Button */
monthcell button {
font-weight: normal;
padding: 0 4px;
border-radius: 0;
border-bottom: none;
border-right: none;
}
/* Separators */
monthcell.separator-top,
monthcell.separator-top:selected {
border-top: 1px solid var(--month-separator-color);
}
monthcell.separator-side:dir(ltr),
monthcell.separator-side:selected:dir(ltr) {
border-left: 1px solid var(--month-separator-color);
}
monthcell:nth-child(7n + 1):dir(ltr),
monthcell:nth-child(7n + 1):selected:dir(ltr) {
border-left-width: 0;
}
monthcell.separator-side:dir(rtl),
monthcell.separator-side:selected:dir(rtl) {
border-right: 1px solid var(--month-separator-color);
}
monthcell:nth-child(7n + 1):dir(rtl),
monthcell:nth-child(7n + 1):selected:dir(rtl) {
border-right-width: 0;
}
/*
* Month row
*/
calendar-view.scrolling > box {
background-color: transparent;
box-shadow: var(--headerbar-shade-color) 0 2px 4px;
transition: box-shadow 200ms;
}
calendar-view:not(.scrolling) > box {
transition: box-shadow 200ms;
}
/*
* Month popover
*/
monthpopover > box {
margin: 4px;
padding: 12px;
background-color: var(--popover-bg-color);
}
.notes-section box > textview {
border-radius: 8px;
padding: 8px;
}
.notes-section box > textview > text {
background: none;
}
/* Agenda View CSS */
agenda-view list > row {
padding: 2px 12px;
}
agenda-view list > label {
padding: 6px 12px;
}
.sidebar-pane agenda-view .background {
background: none;
color: inherit;
}
label.no-events {
font-style: italic;
}
/*
* Search
*/
searchbutton > popover > arrow {
background: none;
border: none;
}
searchbutton > popover listview > row:selected {
background-color: rgb(from var(--accent-bg-color) r g b / 11%);
}
/*
* Month selector
*/
datechooser {
padding: 6px;
}
datechooser .current-week {
background: rgb(from currentColor r g b / 10%);
color: var(--headerbar-fg-color);
border-radius: 9px;
}
menubutton stack > box {
border-spacing: 4px;
}
/*
* Sync Indicator
*/
syncindicator {
padding: 6px;
}
/*
* Styles for the drop overlay.
* From Amberol https://gitlab.gnome.org/World/amberol/-/blob/0dd6250ffd294b14532c428dcb76ae42086a5923/src/gtk/style.css
*/
/* Removes the default style */
.drop-target:drop(active) {
box-shadow: none;
}
/* Custom style for the drop overlay area */
.drop-overlay-area {
padding: 32px;
color: var(--accent-fg-color);
background-color: rgb(from var(--accent-bg-color) r g b / 50%);
}
.blurred {
filter: blur(6px);
}