Skip to content

Commit 0cf07bf

Browse files
committed
menu: Further improvements
- Add the ability to position the search bar to the bottom - Add the ability to position the system buttons in the sidebar - CSS: Document class diagram - CSS: Simplify gaps by using spacing rather than padding - Simplify class names - Move all separators to code, outside of CSS - Color the shutdown button
1 parent 9c954cd commit 0cf07bf

File tree

4 files changed

+232
-138
lines changed

4 files changed

+232
-138
lines changed

data/theme/cinnamon-sass/widgets/_base.scss

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,9 +152,11 @@ StScrollBar {
152152

153153
.user-widget.horizontal { spacing: $base_padding; }
154154

155+
.user-widget.vertical { spacing: $base_padding; }
156+
155157
.user-widget.vertical .user-widget-label {
156-
@extend %title_4;
158+
font-weight: 700;
159+
@include fontsize(13pt);
157160
color: $fg_color;
158-
padding-top: $base_margin * 2;
159161
text-align: center;
160162
}

data/theme/cinnamon-sass/widgets/_startmenu.scss

Lines changed: 65 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,29 @@
11

22
// New menu (since Cinnamon 6.6)
3-
4-
$appmenu_outer_padding: 9px;
5-
$appmenu_outer_border_radius: $base_border_radius * 1.25;
3+
//
4+
// Class diagram:
5+
// appmenu-main-box
6+
// ├─ appmenu-right-box
7+
// | ├─ appmenu-search-box
8+
// | | └─ appmenu-system-box
9+
// | └─ appmenu-categories-applications-box
10+
// | ├─ appmenu-categories-scrollview
11+
// | | └─ appmenu-categories-box
12+
// | └─vfade appmenu-applications-scrollview
13+
// | └─ appmenu-applications-box
14+
// └─ appmenu-sidebar
15+
// ├─ appmenu-sidebar-user-box
16+
// | └─ user-widget user-widget-label
17+
// ├─ appmenu-sidebar-scrollview
18+
// | └─ appmenu-sidebar-scrollbox
19+
// | ├─ appmenu-places-box
20+
// | └─ appmenu-favs-box
21+
// └─ appmenu-system-box
22+
23+
$appmenu_small_padding: 5px;
24+
$appmenu_padding: 10px;
25+
$appmenu_large_padding: 15px;
26+
$appmenu_radius: $base_border_radius * 1.25;
627

728
%appmenu_button {
829
padding: $base_padding;
@@ -21,35 +42,61 @@ $appmenu_outer_border_radius: $base_border_radius * 1.25;
2142
.popup-menu-content { padding: 0; }
2243
}
2344

45+
&-main-box {
46+
spacing: $appmenu_padding;
47+
}
48+
49+
&-right-box {
50+
spacing: $appmenu_small_padding;
51+
padding: $appmenu_padding $appmenu_padding;
52+
}
53+
54+
&-categories-applications-box {
55+
spacing: $appmenu_large_padding;
56+
57+
&:top {
58+
// Extra padding at the top of the categories/apps
59+
// when the search box is at the bottom
60+
padding-top: $appmenu_small_padding;
61+
}
62+
}
63+
64+
&-applications-box {
65+
// Extra gap between the highlighted app and the scroll handle
66+
padding-right: $appmenu_small_padding;
67+
}
68+
69+
&-search-box {
70+
spacing: $appmenu_padding;
71+
}
72+
2473
&-sidebar {
74+
padding: $appmenu_padding 0px;
2575
background-color: $base_color;
26-
border-radius: $appmenu_outer_border_radius 0 0 $appmenu_outer_border_radius;
76+
border-radius: $appmenu_radius 0 0 $appmenu_radius;
2777
border-right-width: 1px;
2878
border-color: $borders_color;
2979

30-
&-user-box {
31-
padding-top: $appmenu_outer_padding;
32-
padding-bottom: $appmenu_outer_padding / 2;
80+
&-user-box {}
81+
82+
.appmenu-system-button {
83+
background-color: lighten($base_color, 10%);
84+
&-lock:hover { background-color: lighten($base_color, 15%); }
85+
&-logout:hover { background-color: lighten($base_color, 15%); }
86+
&-shutdown { background-color: $destructive_bg_color; }
87+
&-shutdown:hover { background-color: lighten($destructive_bg_color, 5%); }
3388
}
3489
}
3590

3691
&-system-box {
37-
spacing: 6px;
38-
padding-left: 6px;
39-
padding-right: 6px;
92+
spacing: $appmenu_padding;
4093
}
4194

42-
&-categories-box { padding: $appmenu_outer_padding $base_padding * 3; }
43-
&-applications-box { padding: $appmenu_outer_padding; }
44-
// This small amount of padding is needed to be able
45-
// to resize the menu with the mouse
46-
&-applications-scrollbox { padding-right: 3px; }
47-
4895
&-sidebar-button {
4996
@extend %appmenu_button;
5097

5198
padding: 3px $base_padding 3px $base_padding;
52-
margin: 0 $appmenu_outer_padding 0 $appmenu_outer_padding;
99+
margin: 0 $appmenu_padding 0 $appmenu_padding;
53100

54101
&:hover {
55102
background-color: $lighter_bg_color;
@@ -62,6 +109,7 @@ $appmenu_outer_border_radius: $base_border_radius * 1.25;
62109
border: 1px solid $borders_color;
63110
border-radius: 9999px;
64111
background-color: lighten($bg_color, 10%);
112+
&-shutdown { background-color: $destructive_bg_color; }
65113
&-lock:hover { background-color: lighten($bg_color, 15%); }
66114
&-logout:hover { background-color: lighten($bg_color, 15%); }
67115
&-shutdown:hover { background-color: $destructive_bg_color; }
@@ -108,20 +156,11 @@ $appmenu_outer_border_radius: $base_border_radius * 1.25;
108156
}
109157
}
110158

111-
&-context-menu {}
112-
113-
&-search-box {
114-
padding: $base_padding $base_padding $base_padding $appmenu_outer_padding;
115-
border-bottom-width: 1px;
116-
border-color: $borders_color;
117-
}
118-
119159
&-search-entry-icon {
120160
icon-size: $scalable_icon_size;
121161
}
122162
}
123163

124164
#appmenu-search-entry {
125165
@extend %entry;
126-
margin: $appmenu_outer_padding;
127166
}

0 commit comments

Comments
 (0)