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 @@ + + + + + + + + + image/svg+xml + + + + + + + + + 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 @@ + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + + + 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 @@ + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + + + 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 @@ + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + + + 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 @@ + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + + + 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 @@ + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + + 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 @@ + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + +