diff --git a/skins/kolab/README.md b/skins/kolab/README.md new file mode 100644 index 000000000..d19e03535 --- /dev/null +++ b/skins/kolab/README.md @@ -0,0 +1,58 @@ +Roundcube Webmail Skin "Kolab Elastic" +====================================== + +This skin package contains modifications of the Roundcube's Elastic skin. +It can be used, modified and redistributed according to +the terms described in the LICENSE section. + +For information about building or modifying Roundcube skins please visit +https://github.com/roundcube/roundcubemail/wiki/Skins + + +LICENSE +------- + +The contents of this folder can be redistributed and/or modified +under the terms of the GNU Affero General Public License as published +by the Free Software Foundation, either version 3 of the License, +or (at your option) any later version. + + +INSTALLATION +------------ + +All styles are written using LESS syntax. Thus it needs to be compiled +using the `lessc` command line tool. This comes with the `nodejs-less` +RPM package which depends on nodejs. + +First create a skin folder in the Roundcube skins directory as a copy +of the Elastic skin: + +``` + $ cp -r roundcubemail/skins/elastic roundcubemail/skins/kolab + $ cp -r roundcubemail-skin-elastic/kolab/* roundcubemail/skins/kolab +``` + +Then you can compile css of the skin in a usual way: + +``` + $ cd roundcubemail/skins/kolab + $ lessc -x styles/styles.less > styles/styles.css + $ lessc -x styles/print.less > styles/print.css + $ lessc -x styles/embed.less > styles/embed.css +``` + +Css for external plugins need to be rebuild too, e.g. Kolab plugins. + +``` + $ cd roundcubemail-plugins-kolab/plugins/libkolab + $ cp -r skins/elastic skins/kolab + $ sed -i 's/"elastic"/"kolab"/g' skins/kolab/libkolab.less + $ lessc --relative-urls -x skins/kolab/libkolab.less > skins/kolab/styles.css +``` + +References to image files from the included CSS files can be appended +with cache-buster marks to avoid browser caching issues after updating. + +Run `bin/updatecss.sh --dir skins/kolab` before packaging the skin +or after installing it on the destination system. diff --git a/skins/kolab/images/favicon.ico b/skins/kolab/images/favicon.ico new file mode 100644 index 000000000..c1e49fd29 Binary files /dev/null and b/skins/kolab/images/favicon.ico differ diff --git a/skins/kolab/images/logo.svg b/skins/kolab/images/logo.svg new file mode 100644 index 000000000..36531bd1e --- /dev/null +++ b/skins/kolab/images/logo.svg @@ -0,0 +1,11 @@ + + + + + diff --git a/skins/kolab/images/watermark.svg b/skins/kolab/images/watermark.svg new file mode 100644 index 000000000..6aae6d99b --- /dev/null +++ b/skins/kolab/images/watermark.svg @@ -0,0 +1,23 @@ + + + + + + + + + diff --git a/skins/kolab/meta.json b/skins/kolab/meta.json new file mode 100644 index 000000000..f02c947fa --- /dev/null +++ b/skins/kolab/meta.json @@ -0,0 +1,15 @@ +{ + "name": "Kolab (Responsive Version)", + "author": "Kolab Systems AG, Zurich, Switzerland", + "license": "GNU Affero General Public License", + "license-url": "http://www.gnu.org/licenses/agpl.html", + "extends": "elastic", + "config": { + "pwa_theme_color": "#3a444e", + "pwa_tile_color": "#3a444e", + "pwa_pinned_tab_color": "#f4c200", + "pwa_name": "Kolab Groupware", + "pwa_short_name": "Kolab", + "pwa_description": "Free and Open Source Groupware Server" + } +} diff --git a/skins/kolab/pwa/android-chrome-192x192.png b/skins/kolab/pwa/android-chrome-192x192.png new file mode 100644 index 000000000..aa4042ec6 Binary files /dev/null and b/skins/kolab/pwa/android-chrome-192x192.png differ diff --git a/skins/kolab/pwa/android-chrome-512x512.png b/skins/kolab/pwa/android-chrome-512x512.png new file mode 100644 index 000000000..029dd2703 Binary files /dev/null and b/skins/kolab/pwa/android-chrome-512x512.png differ diff --git a/skins/kolab/pwa/apple-touch-icon.png b/skins/kolab/pwa/apple-touch-icon.png new file mode 100644 index 000000000..44936de71 Binary files /dev/null and b/skins/kolab/pwa/apple-touch-icon.png differ diff --git a/skins/kolab/pwa/favicon-16x16.png b/skins/kolab/pwa/favicon-16x16.png new file mode 100644 index 000000000..b49809c78 Binary files /dev/null and b/skins/kolab/pwa/favicon-16x16.png differ diff --git a/skins/kolab/pwa/favicon-32x32.png b/skins/kolab/pwa/favicon-32x32.png new file mode 100644 index 000000000..e865b2314 Binary files /dev/null and b/skins/kolab/pwa/favicon-32x32.png differ diff --git a/skins/kolab/pwa/favicon.ico b/skins/kolab/pwa/favicon.ico new file mode 100644 index 000000000..ab4b9e346 Binary files /dev/null and b/skins/kolab/pwa/favicon.ico differ diff --git a/skins/kolab/pwa/safari-pinned-tab.svg b/skins/kolab/pwa/safari-pinned-tab.svg new file mode 100644 index 000000000..adcfff999 --- /dev/null +++ b/skins/kolab/pwa/safari-pinned-tab.svg @@ -0,0 +1,32 @@ + + + + +Created by potrace 1.11, written by Peter Selinger 2001-2013 + + + + + diff --git a/skins/kolab/styles/_styles.less b/skins/kolab/styles/_styles.less new file mode 100644 index 000000000..e0236fbf1 --- /dev/null +++ b/skins/kolab/styles/_styles.less @@ -0,0 +1,113 @@ +/** + * Styles for the Kolab web client variant of the Roundcube Elastic skin + * + * Copyright (C) 2018, Kolab Systems AG + * + * The contents of this folder can be redistributed and/or modified + * under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, + * or (at your option) any later version. + */ + +// Modify taskmenu behavior +#taskmenu { + span.inner { + text-transform: uppercase; + } + + @media screen and (min-width: (@screen-width-medium + 1px)) and (min-height: 640px) { + span.inner { + font-size: 65%; + font-weight: bold; + } + + a:before { + line-height: 1.2; + font-size: 180%; + height: 1.9rem !important; + } + } + + @media screen and (min-width: (@screen-width-small + 1px)) { + a.logout:not(:hover) { + color: @color-taskmenu-button !important; + } + } + + .action-buttons { + display: none; + } +} + +// Fix mobile menu header background +#layout-menu .popover-header { + background-color: @color-taskmenu-background !important; + + img { + width: 100%; + + html.layout-phone & { + width: unset; + max-height: @layout-header-height; + } + } +} + +.watermark { + background-image: url(../images/watermark.svg) !important; + background-size: 60% !important; + background-blend-mode: unset !important; + + &:before { + background: rgba(255, 255, 255, 0.75) !important; + } +} + +// Display the Compose button in mail toolbar +body.task-mail .menu a.compose { + display: block !important; +} + +// Move the contact photo in mail preview to the right +#message-header .short-header img.contactphoto { + order: 2; + margin: 0 0 0 1rem; +} + +// Make the content frame navigation smaller +.content-frame-navigation { + height: @layout-footer-small-height !important; + line-height: @layout-footer-small-height !important; + min-height: @layout-footer-small-height !important; + + a { + max-width: 8em; + padding: 0; + line-height: @layout-footer-small-height; + + &:before { + display: none !important; + height: @layout-footer-small-height !important; + line-height: @layout-footer-small-height !important; + } + + &.prev, + &.next { + padding: 0; + + &:before { + display: block !important; + line-height: 1.8; + } + + span.inner { + display: none; + } + } + + span.inner { + color: @color-link; + font-weight: bold; + } + } +} diff --git a/skins/kolab/styles/_variables.less b/skins/kolab/styles/_variables.less new file mode 100644 index 000000000..e2a1c567f --- /dev/null +++ b/skins/kolab/styles/_variables.less @@ -0,0 +1,34 @@ +/** + * Styles for the Kolab web client variant of the Roundcube Elastic skin + * + * Copyright (C) 2018, Kolab Systems AG + * + * The contents of this folder can be redistributed and/or modified + * under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, + * or (at your option) any later version. + */ + +@color-main: #f4c200; +@color-font: #4f4f4f; +@color-main-dark: darken(@color-main, 30%); +@color-link: @color-main; + +@color-black-shade-bg: #f8f7f4; +@color-black-shade-text: #7b7b77; + +@color-layout-header-background: #f1eeea; +@color-layout-border: #d4dbde; + + +@color-taskmenu-background: #3a444e; +@color-taskmenu-button: #71777d; +@color-taskmenu-button-hover: #e1e2e3; +@color-taskmenu-button-selected: #e1e2e3; + +@color-popover-mobile-header-background: @color-taskmenu-background; + +@color-toolbar-button: #7b7b77; +@color-toolbar-button-background-hover: tint(@color-layout-header-background, 40%); + +@color-list-selected-background: tint(@color-main, 85%); diff --git a/skins/kolab/watermark.html b/skins/kolab/watermark.html new file mode 100644 index 000000000..69147edda --- /dev/null +++ b/skins/kolab/watermark.html @@ -0,0 +1,12 @@ + + + + + + + +