diff --git a/gresource-extract/README.md b/gresource-extract/README.md
index 83a6b49..c4508f2 100644
--- a/gresource-extract/README.md
+++ b/gresource-extract/README.md
@@ -2,6 +2,12 @@
# GRESOURCE Extractor for customizing login themes
+#### Dependencies
+
+- libxml2-utils
+
+ sudo apt install libxml2-utils
+
Run `./extract.sh` to extract your current theme to `./theme` in the same folder as the extract script.
#### Editing the font
diff --git a/gresource-extract/build.sh b/gresource-extract/build.sh
index bf18369..03843f5 100755
--- a/gresource-extract/build.sh
+++ b/gresource-extract/build.sh
@@ -1,17 +1,19 @@
-FILES=$(find "theme" -type f -printf "%P\n" | xargs -i echo " {}")
+if [ -d theme/icons ]; then
+ cd ./theme/
+ FILES=$(find ./ -type f | sed 's/^..//' | xargs -i echo " {}")
-cat <"theme/gnome-shell-theme.gresource.xml"
-
-
-
-$FILES
-
-
+ cat <"./gnome-shell-theme.gresource.xml"
+
+
+
+ $FILES
+
+
EOF
-(
- cd "theme"
- glib-compile-resources gnome-shell-theme.gresource.xml
-)
+ (
+ glib-compile-resources gnome-shell-theme.gresource.xml
+ )
-echo "-> theme/gnome-shell-theme.gresource"
+ echo "-> theme/gnome-shell-theme.gresource"
+fi
diff --git a/gresource-extract/extract.sh b/gresource-extract/extract.sh
index db20b90..6894def 100755
--- a/gresource-extract/extract.sh
+++ b/gresource-extract/extract.sh
@@ -2,8 +2,8 @@
workdir=${PWD}
-if [ ! -d ${workdir}/theme ]; then
- mkdir -p ${workdir}/theme
+if [ ! -d ${workdir}/theme/icons ]; then
+ mkdir -p ${workdir}/theme/icons
fi
gst=/usr/share/gnome-shell/gnome-shell-theme.gresource
diff --git a/gresource-extract/theme/background.jpg b/gresource-extract/theme/background.jpg
deleted file mode 100755
index e1a5907..0000000
Binary files a/gresource-extract/theme/background.jpg and /dev/null differ
diff --git a/gresource-extract/theme/devpy.png b/gresource-extract/theme/devpy.png
deleted file mode 100644
index 2b94b9e..0000000
Binary files a/gresource-extract/theme/devpy.png and /dev/null differ
diff --git a/gresource-extract/theme/gnome-shell-high-contrast.css b/gresource-extract/theme/gnome-shell-high-contrast.css
index 03a29f3..6f7c0fa 100644
--- a/gresource-extract/theme/gnome-shell-high-contrast.css
+++ b/gresource-extract/theme/gnome-shell-high-contrast.css
@@ -736,7 +736,7 @@ StScrollBar {
#panel.solid .panel-button {
color: #ccc;
text-shadow: none; }
- #panel.solid .panel-button:hover {
+ #panel.solid .panel-button:hover, #panel.solid .panel-button:active, #panel.solid .panel-button:overview, #panel.solid .panel-button:focus, #panel.solid .panel-button:checked {
color: white; }
#panel.solid .system-status-icon,
#panel.solid .app-menu-icon > StIcon,
@@ -801,7 +801,8 @@ StScrollBar {
background-color: #215d9c; }
.datemenu-today-button .date-label {
- font-size: 1.5em; }
+ font-size: 1.5em;
+ font-weight: 300; }
.world-clocks-header,
.weather-header,
@@ -987,6 +988,14 @@ StScrollBar {
min-width: 21em; }
.aggregate-menu .popup-menu-icon {
padding: 0 4px; }
+ .aggregate-menu .popup-sub-menu .popup-menu-item > :first-child:ltr {
+ /* 12px spacing + 2*4px padding */
+ padding-left: 20px;
+ margin-left: 1.09em; }
+ .aggregate-menu .popup-sub-menu .popup-menu-item > :first-child:rtl {
+ /* 12px spacing + 2*4px padding */
+ padding-right: 20px;
+ margin-right: 1.09em; }
.system-menu-action {
color: #fff;
@@ -1495,30 +1504,26 @@ StScrollBar {
border-width: 0; }
/* On-screen Keyboard */
+.word-suggestions {
+ font-size: 14pt;
+ spacing: 12px;
+ min-height: 20pt; }
+
#keyboard {
background-color: rgba(46, 52, 54, 0.7); }
-.keyboard-layout {
- spacing: 10px;
- padding: 10px; }
-
-.keyboard-row {
- spacing: 15px; }
+.key-container {
+ padding: 4px;
+ spacing: 4px; }
.keyboard-key {
- color: #eeeeec;
- background-color: #2e3436;
- border-color: rgba(0, 0, 0, 0.7);
- box-shadow: inset 0 1px #454f52;
- text-shadow: 0 1px black;
- icon-shadow: 0 1px black;
+ background-color: #393f3f;
min-height: 2em;
min-width: 2em;
- font-size: 14pt;
- font-weight: bold;
- border-radius: 5px;
- border: 1px solid black;
- color: white; }
+ font-size: 16pt;
+ border-radius: 3px;
+ border: 1px solid #464d4d;
+ color: #e5e5e5; }
.keyboard-key:focus {
color: #eeeeec;
text-shadow: 0 1px black;
@@ -1542,10 +1547,27 @@ StScrollBar {
background-color: #2e3436;
color: #eeeeec;
border-color: rgba(0, 0, 0, 0.7); }
+ .keyboard-key.default-key {
+ border-color: #2d3232;
+ background-color: #1d2020;
+ background-size: 20px; }
+ .keyboard-key.enter-key {
+ border-color: #005684;
+ background-color: #006098;
+ background-image: url("resource:///org/gnome/shell/theme/key-enter.svg"); }
+ .keyboard-key.shift-key-lowercase {
+ background-image: url("resource:///org/gnome/shell/theme/key-shift.svg"); }
+ .keyboard-key.shift-key-uppercase {
+ background-image: url("resource:///org/gnome/shell/theme/key-shift-uppercase.svg"); }
+ .keyboard-key.shift-key-uppercase:latched {
+ background-image: url("resource:///org/gnome/shell/theme/key-shift-latched-uppercase.svg"); }
+ .keyboard-key.hide-key {
+ background-image: url("resource:///org/gnome/shell/theme/key-hide.svg"); }
+ .keyboard-key.layout-key {
+ background-image: url("resource:///org/gnome/shell/theme/key-layout.svg"); }
.keyboard-subkeys {
color: white;
- padding: 5px;
-arrow-border-radius: 10px;
-arrow-background-color: rgba(46, 52, 54, 0.7);
-arrow-border-width: 2px;
@@ -1755,7 +1777,8 @@ StScrollBar {
text-shadow: 0px 2px 2px rgba(0, 0, 0, 0.4); }
.screen-shield-clock-date {
- font-size: 28pt; }
+ font-size: 28pt;
+ font-weight: normal; }
.screen-shield-notifications-container {
spacing: 6px;
diff --git a/gresource-extract/theme/gnome-shell-theme.gresource b/gresource-extract/theme/gnome-shell-theme.gresource
deleted file mode 100644
index 5754d2b..0000000
Binary files a/gresource-extract/theme/gnome-shell-theme.gresource and /dev/null differ
diff --git a/gresource-extract/theme/gnome-shell-theme.gresource.xml b/gresource-extract/theme/gnome-shell-theme.gresource.xml
deleted file mode 100644
index 74cad1f..0000000
--- a/gresource-extract/theme/gnome-shell-theme.gresource.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-
-
-
- gnome-shell-theme.gresource.xml
- toggle-off-us.svg
- page-indicator-inactive.svg
- calendar-arrow-left.svg
- page-indicator-hover.svg
- toggle-on-hc.svg
- checkbox-off-focused.svg
- page-indicator-active.svg
- corner-ripple-ltr.png
- process-working.svg
- close.svg
- ws-switch-arrow-down.png
- corner-ripple-rtl.png
- noise-texture.png
- toggle-on-us.svg
- filter-selected-rtl.svg
- gnome-shell-high-contrast.css
- no-events.svg
- calendar-arrow-right.svg
- background.jpg
- ws-switch-arrow-up.png
- summary-counter.svg
- toggle-on-intl.svg
- logged-in-indicator.svg
- pad-osd.css
- checkbox.svg
- toggle-off-intl.svg
- gnome-shell-theme.gresource
- page-indicator-checked.svg
- close-window.svg
- gnome-shell.css
- dash-placeholder.svg
- filter-selected-ltr.svg
- no-notifications.svg
- checkbox-focused.svg
- close-window-active.svg
- source-button-border.svg
- close-window-hover.svg
- checkbox-off.svg
- running-indicator.svg
- calendar-today.svg
- toggle-off-hc.svg
-
-
diff --git a/gresource-extract/theme/gnome-shell.css b/gresource-extract/theme/gnome-shell.css
index a1790cd..11cd9ca 100644
--- a/gresource-extract/theme/gnome-shell.css
+++ b/gresource-extract/theme/gnome-shell.css
@@ -19,8 +19,8 @@
*/
/* GLOBALS */
stage {
- font-family: 'Source Sans Pro', Sans-Serif;
- font-size: 14px;
+ font-family: Cantarell, Sans-Serif;
+ font-size: 11pt;
color: #eeeeec; }
/* WIDGETS */
@@ -736,7 +736,7 @@ StScrollBar {
#panel.solid .panel-button {
color: #ccc;
text-shadow: none; }
- #panel.solid .panel-button:hover {
+ #panel.solid .panel-button:hover, #panel.solid .panel-button:active, #panel.solid .panel-button:overview, #panel.solid .panel-button:focus, #panel.solid .panel-button:checked {
color: white; }
#panel.solid .system-status-icon,
#panel.solid .app-menu-icon > StIcon,
@@ -801,7 +801,8 @@ StScrollBar {
background-color: #215d9c; }
.datemenu-today-button .date-label {
- font-size: 1.5em; }
+ font-size: 1.5em;
+ font-weight: 300; }
.world-clocks-header,
.weather-header,
@@ -987,6 +988,14 @@ StScrollBar {
min-width: 21em; }
.aggregate-menu .popup-menu-icon {
padding: 0 4px; }
+ .aggregate-menu .popup-sub-menu .popup-menu-item > :first-child:ltr {
+ /* 12px spacing + 2*4px padding */
+ padding-left: 20px;
+ margin-left: 1.09em; }
+ .aggregate-menu .popup-sub-menu .popup-menu-item > :first-child:rtl {
+ /* 12px spacing + 2*4px padding */
+ padding-right: 20px;
+ margin-right: 1.09em; }
.system-menu-action {
color: #eeeeec;
@@ -1495,30 +1504,26 @@ StScrollBar {
border-width: 0; }
/* On-screen Keyboard */
+.word-suggestions {
+ font-size: 14pt;
+ spacing: 12px;
+ min-height: 20pt; }
+
#keyboard {
background-color: rgba(46, 52, 54, 0.7); }
-.keyboard-layout {
- spacing: 10px;
- padding: 10px; }
-
-.keyboard-row {
- spacing: 15px; }
+.key-container {
+ padding: 4px;
+ spacing: 4px; }
.keyboard-key {
- color: #eeeeec;
- background-color: #2e3436;
- border-color: rgba(0, 0, 0, 0.7);
- box-shadow: inset 0 1px #454f52;
- text-shadow: 0 1px black;
- icon-shadow: 0 1px black;
+ background-color: #393f3f;
min-height: 2em;
min-width: 2em;
- font-size: 14pt;
- font-weight: bold;
- border-radius: 5px;
- border: 1px solid #1c1f1f;
- color: white; }
+ font-size: 16pt;
+ border-radius: 3px;
+ border: 1px solid #464d4d;
+ color: #e5e5e5; }
.keyboard-key:focus {
color: #eeeeec;
text-shadow: 0 1px black;
@@ -1542,10 +1547,27 @@ StScrollBar {
background-color: #2e3436;
color: #eeeeec;
border-color: rgba(0, 0, 0, 0.7); }
+ .keyboard-key.default-key {
+ border-color: #2d3232;
+ background-color: #1d2020;
+ background-size: 20px; }
+ .keyboard-key.enter-key {
+ border-color: #005684;
+ background-color: #006098;
+ background-image: url("resource:///org/gnome/shell/theme/key-enter.svg"); }
+ .keyboard-key.shift-key-lowercase {
+ background-image: url("resource:///org/gnome/shell/theme/key-shift.svg"); }
+ .keyboard-key.shift-key-uppercase {
+ background-image: url("resource:///org/gnome/shell/theme/key-shift-uppercase.svg"); }
+ .keyboard-key.shift-key-uppercase:latched {
+ background-image: url("resource:///org/gnome/shell/theme/key-shift-latched-uppercase.svg"); }
+ .keyboard-key.hide-key {
+ background-image: url("resource:///org/gnome/shell/theme/key-hide.svg"); }
+ .keyboard-key.layout-key {
+ background-image: url("resource:///org/gnome/shell/theme/key-layout.svg"); }
.keyboard-subkeys {
color: white;
- padding: 5px;
-arrow-border-radius: 10px;
-arrow-background-color: rgba(46, 52, 54, 0.7);
-arrow-border-width: 2px;
@@ -1640,10 +1662,7 @@ StScrollBar {
icon-shadow: none; }
.login-dialog-logo-bin {
- padding: 24px 0px;
- background: url(resource:///org/gnome/shell/theme/devpy.png);
- background-repeat:no-repeat;
-}
+ padding: 24px 0px; }
.login-dialog-banner {
color: #d6d6d1; }
@@ -1758,7 +1777,8 @@ StScrollBar {
text-shadow: 0px 2px 2px rgba(0, 0, 0, 0.4); }
.screen-shield-clock-date {
- font-size: 28pt; }
+ font-size: 28pt;
+ font-weight: normal; }
.screen-shield-notifications-container {
spacing: 6px;
@@ -1793,10 +1813,8 @@ StScrollBar {
box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.4); }
#lockDialogGroup {
- background: #2e3436 url(resource:///org/gnome/shell/theme/background.jpg);
- background-size: cover;
- background-repeat: none;
-}
+ background: #2e3436 url(resource:///org/gnome/shell/theme/noise-texture.png);
+ background-repeat: repeat; }
#screenShieldNotifications StButton#vhandle, #screenShieldNotifications StButton#hhandle {
background-color: rgba(57, 63, 63, 0.3); }
diff --git a/gresource-extract/theme/icons/message-indicator-symbolic.svg b/gresource-extract/theme/icons/message-indicator-symbolic.svg
new file mode 100644
index 0000000..257a984
--- /dev/null
+++ b/gresource-extract/theme/icons/message-indicator-symbolic.svg
@@ -0,0 +1,40 @@
+
+
+
+
diff --git a/gresource-extract/theme/key-enter.svg b/gresource-extract/theme/key-enter.svg
new file mode 100644
index 0000000..ea7b243
--- /dev/null
+++ b/gresource-extract/theme/key-enter.svg
@@ -0,0 +1,109 @@
+
+
diff --git a/gresource-extract/theme/key-hide.svg b/gresource-extract/theme/key-hide.svg
new file mode 100644
index 0000000..288fe88
--- /dev/null
+++ b/gresource-extract/theme/key-hide.svg
@@ -0,0 +1,114 @@
+
+
diff --git a/gresource-extract/theme/key-layout.svg b/gresource-extract/theme/key-layout.svg
new file mode 100644
index 0000000..233a0e6
--- /dev/null
+++ b/gresource-extract/theme/key-layout.svg
@@ -0,0 +1,114 @@
+
+
diff --git a/gresource-extract/theme/key-shift-latched-uppercase.svg b/gresource-extract/theme/key-shift-latched-uppercase.svg
new file mode 100644
index 0000000..02bddd5
--- /dev/null
+++ b/gresource-extract/theme/key-shift-latched-uppercase.svg
@@ -0,0 +1,109 @@
+
+
diff --git a/gresource-extract/theme/key-shift-uppercase.svg b/gresource-extract/theme/key-shift-uppercase.svg
new file mode 100644
index 0000000..b4e293b
--- /dev/null
+++ b/gresource-extract/theme/key-shift-uppercase.svg
@@ -0,0 +1,104 @@
+
+
diff --git a/gresource-extract/theme/key-shift.svg b/gresource-extract/theme/key-shift.svg
new file mode 100644
index 0000000..e925164
--- /dev/null
+++ b/gresource-extract/theme/key-shift.svg
@@ -0,0 +1,108 @@
+
+