2019-12-18 21:25:03 +00:00
|
|
|
/* Top Bar */
|
|
|
|
// a.k.a. the panel
|
|
|
|
|
2023-07-29 13:58:39 +00:00
|
|
|
$privacy_indicator_color: $orange_3;
|
|
|
|
|
2022-10-13 16:51:17 +00:00
|
|
|
$panel_bg_color: if($variant == 'light', $light_3, $dark_5);
|
|
|
|
$panel_fg_color: if($variant == 'light', $fg_color, darken($fg_color, 5%));
|
|
|
|
$panel_border_color: if($variant == 'light', darken($panel_bg_color, 2%), $panel_bg_color);
|
|
|
|
|
|
|
|
$panel_system_fg_color: $system_fg_color; // always light for lockscreen, overview and other transparent panels
|
2020-08-04 11:47:59 +00:00
|
|
|
$panel_height: 2.2em;
|
2020-08-06 18:58:44 +00:00
|
|
|
$panel_transition_duration: 250ms; // same as the overview transition duration
|
2019-12-18 21:25:03 +00:00
|
|
|
|
|
|
|
#panel {
|
|
|
|
background-color: $panel_bg_color;
|
|
|
|
font-weight: bold;
|
|
|
|
height: $panel_height;
|
2022-02-07 18:22:40 +00:00
|
|
|
@extend %numeric;
|
2020-08-06 18:58:44 +00:00
|
|
|
transition-duration: $panel_transition_duration;
|
2022-10-13 16:51:17 +00:00
|
|
|
box-shadow: inset 0 -1px 0 0 $panel_border_color;
|
2019-12-18 21:25:03 +00:00
|
|
|
|
|
|
|
// panel menus
|
|
|
|
.panel-button {
|
2023-06-19 19:52:29 +00:00
|
|
|
@include panel_button($panel_fg_color);
|
2019-12-18 21:25:03 +00:00
|
|
|
-natural-hpadding: $base_padding * 2;
|
|
|
|
-minimum-hpadding: $base_padding;
|
|
|
|
|
|
|
|
// status area icons
|
|
|
|
.system-status-icon {
|
|
|
|
icon-size: $base_icon_size;
|
|
|
|
padding: $base_padding - 1px;
|
2021-02-02 00:51:15 +00:00
|
|
|
margin: 0 $base_margin;
|
|
|
|
}
|
|
|
|
|
|
|
|
.panel-status-indicators-box .system-status-icon,
|
|
|
|
.panel-status-menu-box .system-status-icon {
|
|
|
|
margin: 0;
|
2019-12-18 21:25:03 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// app menu icon
|
|
|
|
.app-menu-icon {
|
|
|
|
-st-icon-style: symbolic;
|
|
|
|
// dimensions of the icon are hardcoded
|
|
|
|
}
|
|
|
|
|
2020-08-04 09:47:18 +00:00
|
|
|
&#panelActivities {
|
panel: Add workspaces indicators in activities button
After removing the app name and icon, the next natural step that
was requested from the design team is to add workspaces indicators
to the top bar, where currently the Activities button is placed.
In addition to that, this is desired because there are known issues
with using "Activities" as a label for the overview. A more
comprehensive rationale for that can be found at [1].
Add an workspaces indicator replacing the Activities label in the
activities button.
The WorkspaceIndicators class controls how many workspaces dots
exists, their expansion, and the width multiplier. The WorkspaceDot
class takes the expansion and the multiplier, and applies it
internally so that we can get perfectly rounded dots at all
times without using CSS hacks.
The width multipliers are hardcoded, and defined by the design
team. We can revisit them later if necessary. Special care is
taken to not let these width multipliers result in fractional
widths.
When the number of workspaces changes, WorkspaceIndicators adds
new dot to the end, and animate them. When removing, scale the dot
out, then destroy it.
This does not work with workspace grids, but that's not supported
by GNOME Shell anyway, so no effort is made to cover this use case.
The button continues to have "Activities" as its accessible name,
but the label actor is removed.
Also adjust the padding of the activities pill, so it better wraps
the new indicators.
[1] https://gitlab.gnome.org/Teams/Design/os-mockups/-/issues/227
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2902>
2023-08-10 13:27:13 +00:00
|
|
|
-natural-hpadding: $base_padding * 2.5;
|
|
|
|
|
|
|
|
& StBoxLayout {
|
|
|
|
spacing: 5px;
|
|
|
|
}
|
|
|
|
|
|
|
|
& .workspace-dot {
|
|
|
|
border-radius: 999px;
|
|
|
|
min-width: 8px;
|
|
|
|
min-height: 8px;
|
|
|
|
background-color: $panel_fg_color;
|
|
|
|
}
|
2020-08-04 09:47:18 +00:00
|
|
|
}
|
2019-12-18 21:25:03 +00:00
|
|
|
|
2023-06-19 19:52:29 +00:00
|
|
|
// screen activity indicators
|
|
|
|
&.screen-recording-indicator,
|
|
|
|
&.screen-sharing-indicator {
|
|
|
|
StBoxLayout {
|
|
|
|
spacing: $base_padding;
|
2021-12-28 13:46:54 +00:00
|
|
|
}
|
|
|
|
|
2023-06-19 19:52:29 +00:00
|
|
|
StIcon {
|
|
|
|
icon-size: $base_icon_size;
|
2021-12-28 13:46:54 +00:00
|
|
|
}
|
2023-06-19 19:52:29 +00:00
|
|
|
}
|
2022-11-03 15:28:24 +00:00
|
|
|
|
2023-06-19 19:52:29 +00:00
|
|
|
&.screen-recording-indicator {
|
|
|
|
@include panel_button($screenshot_ui_button_red, $flat: false);
|
|
|
|
}
|
|
|
|
|
|
|
|
&.screen-sharing-indicator {
|
2023-07-29 13:58:39 +00:00
|
|
|
@include panel_button($privacy_indicator_color, $flat: false);
|
2023-06-19 19:52:29 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// clock
|
|
|
|
&.clock-display {
|
|
|
|
// The clock display needs to have the background on .clock because
|
|
|
|
// we want to exclude the do-not-disturb indicator from the background
|
|
|
|
// see _drawing.scss for override details
|
|
|
|
@include panel_button($highlighted_child: true, $child_class:".clock");
|
|
|
|
|
|
|
|
.clock {
|
|
|
|
// the highlighted child
|
2020-08-06 18:58:44 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2020-02-20 19:10:54 +00:00
|
|
|
|
2023-07-05 15:00:14 +00:00
|
|
|
// transparent panel on lock & login screens
|
|
|
|
&.unlock-screen,
|
|
|
|
&.login-screen,
|
|
|
|
&:overview {
|
|
|
|
background-color: transparent;
|
|
|
|
box-shadow: none;
|
|
|
|
|
|
|
|
.panel-button {
|
|
|
|
@include panel_button($panel_system_fg_color, $fg:$panel_system_fg_color);
|
|
|
|
|
panel: Add workspaces indicators in activities button
After removing the app name and icon, the next natural step that
was requested from the design team is to add workspaces indicators
to the top bar, where currently the Activities button is placed.
In addition to that, this is desired because there are known issues
with using "Activities" as a label for the overview. A more
comprehensive rationale for that can be found at [1].
Add an workspaces indicator replacing the Activities label in the
activities button.
The WorkspaceIndicators class controls how many workspaces dots
exists, their expansion, and the width multiplier. The WorkspaceDot
class takes the expansion and the multiplier, and applies it
internally so that we can get perfectly rounded dots at all
times without using CSS hacks.
The width multipliers are hardcoded, and defined by the design
team. We can revisit them later if necessary. Special care is
taken to not let these width multipliers result in fractional
widths.
When the number of workspaces changes, WorkspaceIndicators adds
new dot to the end, and animate them. When removing, scale the dot
out, then destroy it.
This does not work with workspace grids, but that's not supported
by GNOME Shell anyway, so no effort is made to cover this use case.
The button continues to have "Activities" as its accessible name,
but the label actor is removed.
Also adjust the padding of the activities pill, so it better wraps
the new indicators.
[1] https://gitlab.gnome.org/Teams/Design/os-mockups/-/issues/227
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2902>
2023-08-10 13:27:13 +00:00
|
|
|
&#panelActivities .workspace-dot {
|
|
|
|
background-color: $panel_system_fg_color;
|
|
|
|
}
|
|
|
|
|
2023-07-05 15:00:14 +00:00
|
|
|
// clock
|
|
|
|
&.clock-display {
|
|
|
|
@include panel_button($panel_system_fg_color, $fg:$panel_system_fg_color, $highlighted_child: true, $child_class:".clock");
|
|
|
|
}
|
2023-07-31 13:31:40 +00:00
|
|
|
|
|
|
|
// unfortunate duplication so these indicators have styles
|
|
|
|
&.screen-recording-indicator {
|
|
|
|
@include panel_button($screenshot_ui_button_red, $flat: false);
|
|
|
|
}
|
|
|
|
|
|
|
|
&.screen-sharing-indicator {
|
2023-08-05 05:44:15 +00:00
|
|
|
@include panel_button($privacy_indicator_color, $flat: false);
|
2023-07-31 13:31:40 +00:00
|
|
|
}
|
2023-07-05 15:00:14 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-12-18 21:25:03 +00:00
|
|
|
.panel-status-indicators-box,
|
|
|
|
.panel-status-menu-box {
|
|
|
|
spacing: 2px;
|
|
|
|
}
|
|
|
|
|
|
|
|
// spacing between power icon and (optional) percentage label
|
|
|
|
.power-status.panel-status-indicators-box {
|
|
|
|
spacing: 0;
|
|
|
|
}
|
|
|
|
|
2023-07-28 09:12:49 +00:00
|
|
|
// important privacy related indicators
|
2023-07-29 13:58:39 +00:00
|
|
|
.privacy-indicator { color: $privacy_indicator_color; }
|
2019-12-18 21:25:03 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// App Menu
|
|
|
|
#appMenu {
|
2022-02-07 18:22:40 +00:00
|
|
|
spacing: $base_padding;
|
2019-12-18 21:25:03 +00:00
|
|
|
.label-shadow { color: transparent; }
|
2020-01-08 10:08:14 +00:00
|
|
|
}
|
2021-02-02 00:54:48 +00:00
|
|
|
|
|
|
|
#appMenu .panel-status-menu-box {
|
|
|
|
padding: 0 $base_padding;
|
2022-02-07 18:22:40 +00:00
|
|
|
spacing: $base_padding;
|
2021-03-01 09:21:58 +00:00
|
|
|
}
|
2021-12-28 13:46:54 +00:00
|
|
|
|
|
|
|
|
|
|
|
// Clock
|
|
|
|
.clock-display-box {
|
|
|
|
spacing: 2px;
|
|
|
|
.clock {
|
|
|
|
padding-left: $base_padding * 2;
|
|
|
|
padding-right: $base_padding * 2;
|
|
|
|
}
|
2022-02-02 22:19:12 +00:00
|
|
|
}
|