gnome-shell/data/theme/gnome-shell.css

1136 lines
20 KiB
CSS
Raw Normal View History

/* Copyright 2009, Red Hat, Inc.
*
* Portions adapted from Mx's data/style/default.css
* Copyright 2009 Intel Corporation
*
* This program is free software; you can redistribute it and/or modify it
* under the terms and conditions of the GNU Lesser General Public License,
* version 2.1, as published by the Free Software Foundation.
*
* This program is distributed in the hope it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
* more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
*/
.shell-link {
color: #0000ff;
text-decoration: underline;
}
.shell-link:hover {
color: #0000e0;
}
.label-shadow {
color: rgba(0,0,0,0.5);
}
.label-real-shadow {
background-gradient-direction: horizontal;
background-gradient-start: rgba(0, 0, 0, 0);
background-gradient-end: rgba(0, 0, 0, 255);
width: 10px;
}
StScrollBar
{
padding: 0px;
}
StScrollView StScrollBar
{
min-width: 16px;
min-height: 16px;
}
StScrollView > .top-shadow
{
background-gradient-direction: vertical;
background-gradient-start: #111111;
background-gradient-end: rgba(17, 17, 17, 0);
height: 30px;
}
StScrollView > .bottom-shadow
{
background-gradient-direction: vertical;
background-gradient-start: rgba(17, 17, 17, 0);
background-gradient-end: #111111;
height: 30px;
}
StScrollBar StBin#trough {
background-color: #080808;
border: 1px solid #2d2d2d;
border-radius: 8px;
}
StScrollBar StButton#vhandle
{
background-image: url("scroll-vhandle.svg");
background-color: #252525;
border: 1px solid #080808;
border-radius: 8px;
}
StScrollBar StButton#hhandle
{
background-image: url("scroll-hhandle.svg");
background-color: #252525;
border: 1px solid #080808;
border-radius: 8px;
}
StScrollBar StButton#hhandle:hover,
StScrollBar StButton#vhandle:hover
{
background-color: #292929;
}
StTooltip StLabel {
border: 1px solid rgba(79,111,173,1);
border-radius: 5px;
padding: 4px;
background-color: rgba(79,111,173,0.9);
color: #ffffff;
font-size: 0.8em;
font-weight: normal;
text-align: center;
}
/* PopupMenu */
.popup-menu-boxpointer {
-arrow-border-radius: 9px;
-arrow-background-color: rgba(0,0,0,0.9);
-arrow-border-width: 2px;
-arrow-border-color: #5f5f5f;
-arrow-base: 30px;
-arrow-rise: 15px;
}
.popup-menu {
color: #ffffff;
font-size: 16px;
min-width: 200px;
}
/* The remaining popup-menu sizing is all done in ems, so that if you
* override .popup-menu.font-size, everything else will scale with it.
*/
.popup-menu-content {
padding: 1em 0em;
}
.popup-menu-item {
padding: .4em 1.75em;
spacing: 1em;
}
.popup-menu-item:active {
background-color: #4c4c4c;
}
.popup-image-menu-item {
}
.popup-separator-menu-item {
-gradient-height: 2px;
-gradient-start: rgba(8,8,8,0);
-gradient-end: #333333;
-margin-horizontal: 1.5em;
height: 1em;
}
.popup-slider-menu-item {
height: 1em;
-slider-height: 0.3em;
-slider-background-color: #333333;
-slider-border-color: #5f5f5f;
-slider-border-width: 1px;
-slider-handle-radius: 0.5em;
}
.popup-device-menu-item {
spacing: .5em;
}
.popup-menu-icon {
icon-size: 1em;
}
/* Switches (to be used in menus) */
.toggle-switch {
width: 4.5em;
height: 1.5em;
}
.toggle-switch-us {
background-image: url("toggle-off-us.svg");
}
.toggle-switch-us:checked {
background-image: url("toggle-on-us.svg");
}
.toggle-switch-intl {
background-image: url("toggle-off-intl.svg");
}
.toggle-switch-intl:checked {
background-image: url("toggle-on-intl.svg");
}
/* Panel */
#panel {
color: #ffffff;
font-size: 16px;
background-color: black;
}
#panelLeft, #panelCenter, #panelRight {
spacing: 4px;
font-weight: bold;
}
#panelLeft {
padding-right: 4px;
}
#panelRight {
padding-left: 4px;
}
#appMenu {
spacing: 4px;
}
.app-menu-icon {
width: 24px;
height: 24px;
}
.panel-button {
padding: 0px 12px;
border-radius: 5px;
border-radius-bottomleft: 0px;
border-radius-bottomright: 0px;
font: 16px sans-serif;
font-weight: bold;
transition-duration: 100;
}
.panel-button:active, .panel-button:checked, .panel-button:pressed {
background-gradient-direction: vertical;
background-gradient-start: #3c3c3c;
background-gradient-end: #131313;
}
#panelActivities {
border-radius-topleft: 0px;
}
#panelStatus {
border-radius-topright: 0px;
}
#panelStatusMenu {
spacing: 4px;
}
#legacyTray {
spacing: 14px;
padding-left: 14px;
}
#legacyTray:compact {
spacing: 8px;
}
.system-status-icon {
icon-size: 1em;
}
/* Overview */
.workspaces {
color: white;
}
.workspaces.single {
spacing: 25px;
}
.workspaces.mosaic {
spacing: 15px;
}
.workspaces-bar {
spacing: 5px;
}
.workspace-indicator {
width: 24px;
height: 16px;
background: rgba(155,155,155,0.8);
border-spacing: 16px;
}
.workspace-indicator.active {
background: rgba(255,255,255,0.8);
}
.window-caption {
background: rgba(0,0,0,0.8);
border: 1px solid rgba(128,128,128,0.40);
border-radius: 10px;
font-size: 12px;
padding: 2px 8px;
-shell-caption-spacing: 4px;
}
.window-close {
background-image: url("close-window.svg");
height: 24px;
width: 24px;
-st-shadow: -2px 2px 6px rgba(0,0,0,0.5);
-shell-close-overlap: 16px;
}
.single-view-controls {
padding: 0px 15px;
}
.workspace-controls {
width: 24px;
height: 16px;
}
.workspace-controls.add {
background-image: url("add-workspace.svg");
}
.workspace-controls.remove {
background-image: url("remove-workspace.svg");
}
.workspace-controls.switch-single {
background-image: url("single-view.svg");
}
.workspace-controls.switch-mosaic {
background-image: url("mosaic-view.svg");
}
.workspace-controls.switch-single:checked {
background-image: url("single-view-active.svg");
}
.workspace-controls.switch-mosaic:checked {
background-image: url("mosaic-view-active.svg");
}
/* Dash */
#dash {
color: #5f5f5f;
font-size: 12px;
padding: 0px 14px;
}
#dashSections {
spacing: 12px;
}
#searchEntry {
padding: 4px;
border-radius: 4px;
color: #a8a8a8;
border: 1px solid #565656;
background-color: #404040;
caret-color: #fff;
caret-size: 1px;
height: 16px;
transition-duration: 300;
}
#searchEntry:focus {
color: #545454;
border: 1px solid #3a3a3a;
background-color: #e8e8e8;
caret-color: #545454;
-st-shadow: 0px 0px 6px 2px rgba(255,255,255,0.9);
transition-duration: 0;
}
#searchEntry:hover {
color: #a8a8a8;
border: 1px solid #4d4d4d;
background-color: #e8e8e8;
caret-color: #545454;
transition-duration: 500;
}
.dash-section {
spacing: 8px;
}
.section-header {
}
.section-header-inner {
spacing: 4px;
}
.section-text-content {
padding: 4px 0px;
}
.dash-section-content {
color: #ffffff;
spacing: 8px;
}
.more-link {
}
.more-link-expander {
background-image: url("section-more.svg");
width: 9px;
height: 9px;
}
.more-link-expander.open {
background-image: url("section-more-open.svg");
width: 9px;
height: 9px;
}
.dash-pane {
border-radius: 10px;
background-color: #111111;
border: 2px solid #868686;
color: #ffffff;
padding: 30px 10px 10px 20px;
}
#dashAppSearchResults {
padding: 8px 0px;
}
.dash-search-statustext,
.dash-search-section-header {
padding: 4px 0px;
spacing: 4px;
}
.dash-search-section-results {
color: #ffffff;
}
.dash-search-section-list-results {
spacing: 4px;
}
.dash-search-result-content {
padding: 3px;
}
.dash-search-result-content:selected {
padding: 2px;
border: 1px solid #5c5c5c;
border-radius: 2px;
background-color: #1e1e1e;
}
.dash-results-container {
spacing: 4px;
}
/* GenericDisplay */
.generic-display-container {
spacing: 4px;
}
.generic-display-item {
height: 50px;
border-radius: 4px;
color: #ffffff;
font-size: 14px;
spacing: 4px;
}
.generic-display-item:selected {
background-color: rgba(79,111,173,0.66);
}
.generic-display-item-text {
spacing: 4px;
}
.generic-display-item-description {
font-size: 12px;
color: #bababa;
}
.generic-display-details {
font-size: 14px;
color: #ffffff;
}
.generic-display-details-name {
font-weight: bold;
}
/* Apps */
.overview-pane {
width: 440px;
}
.icon-grid {
spacing: 6px;
-shell-grid-item-size: 70px;
}
.all-app {
border-radius: 10px;
background-color: #111111;
border: 2px solid #868686;
color: #ffffff;
}
.app-section-divider-container {
padding-top: 10px;
padding-bottom: 10px;
}
.app-section-divider {
height: 2px;
background-image: url("separator-white.png");
}
.all-app-controls-panel {
height: 30px;
}
.all-app-scroll-view {
padding-right: 10px;
padding-left: 10px;
padding-bottom: 10px;
}
.app-well-app {
border: 1px solid #181818;
border-radius: 4px;
padding: 4px;
width: 70px;
height: 70px;
font-size: 10px;
transition-duration: 100;
text-align: center;
}
.app-well-app.running {
background-gradient-direction: vertical;
background-gradient-start: #3d3d3d;
background-gradient-end: #181818;
}
.app-well-app.selected {
border: 1px solid #666666;
}
.app-well-app:hover {
border: 1px solid #666666;
background-gradient-direction: vertical;
background-gradient-start: rgba(61,61,61,0.8);
background-gradient-end: rgba(24,24,24,0.2);
transition-duration: 100;
}
.app-well-app:active {
background-color: #1e1e1e;
border: 1px solid #5f5f5f;
}
.app-well-menu {
font-size: 12px
}
/* Places */
.places-section {
spacing-columns: 4px;
spacing-rows: 4px;
}
.places-item-box {
spacing: 2px;
}
.places-item {
border-radius: 4px;
padding: 2px;
border: 1px solid #181818;
padding-left: 4px;
padding-right: 4px;
transition-duration: 100;
}
.places-item:hover {
border: 1px solid #666666;
background-gradient-direction: vertical;
background-gradient-start: rgba(61,61,61,0.8);
background-gradient-end: rgba(24,24,24,0.2);
transition-duration: 100;
}
/* Recent items */
.recent-docs-item-box {
spacing: 2px;
}
.recent-docs-item {
border-radius: 4px;
padding: 2px;
border: 1px solid #181818;
padding-left: 4px;
padding-right: 4px;
transition-duration: 100;
}
.recent-docs-item:hover {
border: 1px solid #666666;
background-gradient-direction: vertical;
background-gradient-start: rgba(61,61,61,0.8);
background-gradient-end: rgba(24,24,24,0.2);
transition-duration: 100;
}
/* LookingGlass */
#LookingGlassDialog
{
background-color: rgba(0,0,0,0.85);
spacing: 4px;
padding: 4px;
border: 2px solid grey;
border-radius: 4px;
color: #88ff66;
}
#LookingGlassDialog > #Toolbar
{
border: 1px solid grey;
border-radius: 4px;
}
#LookingGlassDialog .labels {
spacing: 4px;
}
#LookingGlassDialog .notebook-tab {
padding: 2px;
}
#LookingGlassDialog .notebook-tab:hover {
color: #00ff00;
}
#LookingGlassDialog .notebook-tab:selected {
border: 1px solid #88ff66;
border-radius: 4px;
padding: 5px;
}
#LookingGlassDialog .lg-inspector-title {
font-weight: bold;
padding-bottom: 8px;
}
.lg-dialog StLabel
{
color: #88ff66;
}
.lg-dialog StEntry
{
color: #88ff66;
}
.lg-obj-inspector-title
{
spacing: 4px;
}
.lg-obj-inspector-button
{
border: 1px solid #88ff66;
padding: 4px;
border-radius: 4px;
}
.lg-obj-inspector-button:hover
{
border: 1px solid #00ff00;
}
.lg-dialog .shell-link
{
color: #88ff66;
}
.lg-dialog .shell-link:hover
{
color: #00ff00;
}
#LookingGlassDialog StBoxLayout#EvalBox
{
padding: 4px;
spacing: 4px;
}
#LookingGlassDialog StBoxLayout#ResultsArea
{
spacing: 4px;
}
#lookingGlassExtensions {
padding: 4px;
}
.lg-extension-list {
padding: 4px;
spacing: 6px;
}
.lg-extension {
border: 1px solid #6f6f6f;
border-radius: 4px;
padding: 4px;
}
.lg-extension-name {
font-weight: bold;
}
.lg-extension-actions {
spacing: 6px;
}
#LookingGlassPropertyInspector {
background: rgba(0, 0, 0, 0.9);
border: 2px solid grey;
border-radius: 4px;
padding: 6px;
color: #88ff66;
}
/* Calendar popup */
#calendarPopup {
border-radius: 5px;
background: rgba(0,0,0,0.9);
border: 1px solid rgba(128,128,128,0.45);
color: white;
}
#calendarPopup .calendar {
padding: 10px;
}
.calendar {
spacing-rows: 5px;
spacing-columns: 3px;
}
.calendar-change-month {
padding: 2px;
}
.calendar-change-month:hover {
background: #314a6c;
border-radius: 5px;
}
.calendar-change-month:active {
background: #213050;
border-radius: 5px;
}
.calendar-day {
padding: 1px 2px;
}
.calendar-today {
font-weight: bold;
background: #ffffff;
color: black;
border-radius: 5px;
}
.calendar-other-month-day {
color: #cccccc;
}
.url-highlighter {
link-color: #ccccff;
}
/* Message Tray */
#message-tray {
background-gradient-direction: vertical;
background-gradient-start: rgba(0,0,0,0.01);
background-gradient-end: rgba(0,0,0,0.95);
height: 36px;
}
#notification {
font-size: 16px;
border-radius: 5px 5px 0px 0px;
background: rgba(0,0,0,0.9);
color: white;
Fix various details of how notifications are shown This patch ensures the following notifications behavior: - Urgent notifications that have long title or banner text are auto-expanded correctly. - Single-line notifications that have _expandNotification() called (e.g. because the user mouses over to them), are treated as expanded, which means they get fully expanded if they are updated with more content and the user can escape them. - The position of expanded notifications is updated when they are updated. - Notification banner is shown again on the first line if it can fully fit there after a notification is updated, even if it was previously hidden because the notification was expanded and the old banner did not fully fit. - New notifications are immediately hidden if the user mouses away from them. - If a new notification is updated while it is shown, we extend the time it will be shown. - If a new notification is updated while it is hiding, we stop hiding it and show it again. - If a summary notification is updated while it is hiding, we let it finish hiding and show a new notification with the updated information. Implementation details: - Single-line notifications now have 4px bottom padding instead of 8px, which means that their height matches the tray height, they are fully shown in the banner mode, and don't pop out by 4px when the notification is expanded. - Notification keeps a flag that indicates whether it is expanded, updates its expanded look when it is updated, and emits an 'expanded' signal indicating that its layout has possibly changed. The message tray connects to this 'expanded' signal when it is showing a notification in the expanded state and updates the position of the notification accordingly when this signal is received so that the notification is fully shown. This is better than connecting to 'notify::height' signal on the notification bin, since it results in fewer callbacks. https://bugzilla.gnome.org/show_bug.cgi?id=617209
2010-09-10 15:47:12 -04:00
padding: 8px 8px 4px 8px;
spacing-rows: 10px;
spacing-columns: 10px;
width: 34em;
}
Fix various details of how notifications are shown This patch ensures the following notifications behavior: - Urgent notifications that have long title or banner text are auto-expanded correctly. - Single-line notifications that have _expandNotification() called (e.g. because the user mouses over to them), are treated as expanded, which means they get fully expanded if they are updated with more content and the user can escape them. - The position of expanded notifications is updated when they are updated. - Notification banner is shown again on the first line if it can fully fit there after a notification is updated, even if it was previously hidden because the notification was expanded and the old banner did not fully fit. - New notifications are immediately hidden if the user mouses away from them. - If a new notification is updated while it is shown, we extend the time it will be shown. - If a new notification is updated while it is hiding, we stop hiding it and show it again. - If a summary notification is updated while it is hiding, we let it finish hiding and show a new notification with the updated information. Implementation details: - Single-line notifications now have 4px bottom padding instead of 8px, which means that their height matches the tray height, they are fully shown in the banner mode, and don't pop out by 4px when the notification is expanded. - Notification keeps a flag that indicates whether it is expanded, updates its expanded look when it is updated, and emits an 'expanded' signal indicating that its layout has possibly changed. The message tray connects to this 'expanded' signal when it is showing a notification in the expanded state and updates the position of the notification accordingly when this signal is received so that the notification is fully shown. This is better than connecting to 'notify::height' signal on the notification bin, since it results in fewer callbacks. https://bugzilla.gnome.org/show_bug.cgi?id=617209
2010-09-10 15:47:12 -04:00
.multi-line-notification {
padding-bottom: 8px;
}
.summary-notification-boxpointer {
-arrow-border-radius: 9px;
-arrow-background-color: rgba(0,0,0,0.9);
-arrow-border-width: 2px;
-arrow-border-color: #5f5f5f;
-arrow-base: 30px;
-arrow-rise: 15px;
}
.summary-notification-boxpointer #notification {
border-radius: 9px;
background: rgba(0,0,0,0) !important;
padding-bottom: 12px;
}
#notification-scrollview {
max-height: 10em;
}
#notification-scrollview > .top-shadow, #notification-scrollview > .bottom-shadow {
height: 1em;
}
#notification-body {
spacing: 5px;
}
#notification-actions {
spacing: 5px;
}
.notification-button {
background-color: #3c3c3c;
padding: 2px 14px;
border-radius: 12px;
border: 1px solid #181818;
}
.notification-button:hover {
border: 1px solid #a1a1a1;
}
.notification-button:active {
border: 1px solid #a1a1a1;
background-color: #2b2b2b;
}
.notification-icon-button {
border: 2px rgba(0,0,0,0.0);
border-radius: 5px;
padding: 5px;
}
.notification-icon-button:hover {
background: rgba(192,192,192,0.7);
}
.notification-icon-button:active {
background: rgba(128,128,128,0.7);
}
.notification-icon-button > StIcon {
icon-size: 36px;
}
.chat-received {
background-gradient-direction: horizontal;
background-gradient-start: rgba(255, 255, 255, 0.2);
background-gradient-end: rgba(255, 255, 255, 0);
padding-left: 4px;
border-radius: 4px;
}
.chat-sent {
background-gradient-direction: horizontal;
background-gradient-start: rgba(255, 255, 255, 0);
background-gradient-end: rgba(255, 255, 255, 0.2);
padding-left: 4px;
border-radius: 4px;
}
.chat-meta-message {
padding-left: 4px;
border-radius: 4px;
font-size: 14px;
color: #bbbbbb;
}
.chat-response {
padding: 4px;
border-radius: 4px;
border: 1px solid #565656;
color: #a8a8a8;
background-color: #404040;
caret-color: #ffffff;
caret-size: 1px;
height: 18px;
}
.chat-response:focus {
border: 1px solid #3a3a3a;
color: #545454;
background-color: #e8e8e8;
caret-color: #545454;
-st-shadow: 0px 0px 6px 2px rgba(255,255,255,0.9);
}
/* The spacing and padding on the summary is tricky; we want to keep
* the icons from touching each other or the edges of the screen, but
* we also want them to be "Fitts"-y with respect to the edges, so the
* summary area's bottom and right padding must actually be part of
* the icons. However, we can't put *all* of the padding into the
* icons, because then the summary would be 0x0 when there were no
* icons in it, and so you wouldn't be able to hover over it to
* activate it.
*
* Also, the spacing between a summary-source's icon and title is
* actually specified as padding-left in source-title, because we
* want the spacing to collapse along with the title.
*/
#summary-mode {
padding: 2px 0px 0px 4px;
height: 36px;
}
.summary-source {
}
.summary-source-button {
padding-left: 3px;
padding-right: 3px;
}
.summary-source-button:last-child {
padding-right: 12px;
}
.source-title {
font: 12px sans-serif;
font-weight: bold;
color: white;
padding-left: 4px;
}
.calendar-calendarweek {
color: #666666;
}
/* App Switcher */
#altTabPopup {
padding: 8px;
spacing: 16px;
}
.switcher-list {
background: rgba(0,0,0,0.8);
border: 1px solid rgba(128,128,128,0.40);
border-radius: 24px;
padding: 20px;
font: 12px sans-serif;
color: white;
}
.switcher-list-item-container {
spacing: 8px;
}
.thumbnail-scroll-gradient-left {
background-gradient-direction: horizontal;
background-gradient-start: rgba(51, 51, 51, 1.0);
background-gradient-end: rgba(51, 51, 51, 0);
border-radius: 24px;
border-radius-topright: 0px;
border-radius-bottomright: 0px;
width: 60px;
}
.thumbnail-scroll-gradient-right {
background-gradient-direction: horizontal;
background-gradient-start: rgba(51, 51, 51, 0);
background-gradient-end: rgba(51, 51, 51, 1.0);
border-radius: 24px;
border-radius-topleft: 0px;
border-radius-bottomleft: 0px;
width: 60px;
}
.switcher-list .item-box {
padding: 8px;
border-radius: 8px;
}
.switcher-list .thumbnail-box {
padding: 2px;
spacing: 4px;
}
.switcher-list .thumbnail {
width: 256px;
}
.switcher-list .outlined-item-box {
padding: 6px;
border: 2px solid rgba(85,85,85,1.0);
border-radius: 8px;
}
.switcher-list .selected-item-box {
padding: 8px;
border-radius: 8px;
background: rgba(255,255,255,0.33);
}
.switcher-list .separator {
width: 1px;
background: rgba(255,255,255,0.33);
}
.ripple-box {
width: 52px;
height: 52px;
background-image: url("corner-ripple.png");
}
.switcher-arrow {
border-color: rgba(0,0,0,0);
color: #808080;
}
.switcher-arrow:highlighted {
border-color: rgba(0,0,0,0);
color: white;
}
/* Workspace Switcher */
.workspace-switcher-group {
padding: 12px;
}
.workspace-switcher-container {
background: rgba(0,0,0,0.8);
border: 1px solid rgba(128,128,128,0.40);
border-radius: 24px;
padding: 20px;
}
.workspace-switcher {
background: transparent;
border: 0px;
border-radius: 0px;
padding: 0px;
spacing: 8px;
}
.ws-switcher-active-left {
height: 100px;
border: 0px;
background: rgba(255,255,255,0.5);
background-image: url("ws-switch-arrow-left.svg");
border-radius: 8px;
}
.ws-switcher-active-right {
height: 100px;
border: 0px;
background: rgba(255,255,255,0.5);
background-image: url("ws-switch-arrow-right.svg");
border-radius: 8px;
}
.ws-switcher-box {
height: 96px;
border: 2px solid rgba(85,85,85,0.5);
background: transparent;
border-radius: 8px;
}
/* Run Dialog */
.run-dialog-label {
font: 12px sans-serif;
color: white;
}
.run-dialog-error-icon {
background-image: url("dialog-error.svg");
width: 36px;
height: 36px;
}
.run-dialog-error-label {
font: 16px sans-serif;
color: white;
}
.run-dialog-entry {
font: 14px sans-serif;
font-weight: bold;
width: 320px;
color: white;
}
.run-dialog {
padding: 8px;
border: 1px solid rgba(128,128,128,0.40);
border-radius: 4px;
background: rgba(0,0,0,0.8);
}
.lightbox {
background-color: rgba(0, 0, 0, 0.4);
}
/* Magnifier */
.magnifier-zoom-region {
border: 2px solid rgba(128, 0, 0, 255);
}
.magnifier-zoom-region.full-screen {
border-width: 0px;
}