diff --git a/README.md b/README.md index aedc231..ce1f1d6 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,7 @@ These themes have been tested and work: - Pop (Pop!_OS default) - Prof-Gnome-3 - Qogir +- Simply Circles - Teja - Vimix - Yaru (Ubuntu default) diff --git a/ego_description.txt b/ego_description.txt index 849ca3e..a7a0897 100644 --- a/ego_description.txt +++ b/ego_description.txt @@ -19,6 +19,7 @@ These themes have been tested and work: - Pop (Pop!_OS default) - Prof-Gnome-3 - Qogir +- Simply Circles - Teja - Vimix - Yaru (Ubuntu default) diff --git a/src/modules/Variants.js b/src/modules/Variants.js index a1cde44..05539c1 100644 --- a/src/modules/Variants.js +++ b/src/modules/Variants.js @@ -89,6 +89,10 @@ var Variants = class { variants.set('day', name.replace(/-Dark(?!er)/, '-Light')); variants.set('night', variants.get('day').replace(/(-Light(-DS)?|-Darker)/, '-Dark')) } + else if ( name.includes('Simply_Circles') ) { + variants.set('day', name.replace('_Dark', '_Light')); + variants.set('night', name.replace('_Light', '_Dark')); + } else if ( name.includes('Teja') ) { const dark_variant = '_' + (name.replace('_Light').split('_')[1] || 'Dark'); variants.set('day', name.replace(/(_Dark(est)?|_Black)/, '')); diff --git a/tests/Simply-Circles.js b/tests/Simply-Circles.js new file mode 100644 index 0000000..125e214 --- /dev/null +++ b/tests/Simply-Circles.js @@ -0,0 +1,37 @@ +/* +Night Theme Switcher Gnome Shell extension + +Copyright (C) 2020 Romain Vigier + +This program is free software: you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free Software +Foundation, either version 3 of the License, or (at your option) any later +version. + +This program is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along with +this program. If not, see . +*/ + +const test = require('ava'); +const { Variants } = require('./_variants'); + + +['', '_Blue', '_Cyan', '_Green', '_Orange', '_Purple'].forEach(color => { + ['', '_Envolved'].forEach(variant => { + test(`Simply_Circles${color}_Light${variant}`, t => { + const variants = Variants.guess_from(`Simply_Circles${color}_Light${variant}`); + t.is(variants.get('day'), `Simply_Circles${color}_Light${variant}`); + t.is(variants.get('night'), `Simply_Circles${color}_Dark${variant}`); + }); + + test(`Simply_Circles${color}${variant}`, t => { + const variants = Variants.guess_from(`Simply_Circles${color}_Dark${variant}`); + t.is(variants.get('day'), `Simply_Circles${color}_Light${variant}`); + t.is(variants.get('night'), `Simply_Circles${color}_Dark${variant}`); + }); + }) +});