From b831d26a0afbc1e62e13c72837856db8525a9890 Mon Sep 17 00:00:00 2001 From: Romain Date: Thu, 27 Feb 2020 14:35:13 +0000 Subject: [PATCH] Add support for Teja theme --- README.md | 1 + ego_description.txt | 1 + src/modules/Variants.js | 5 +++++ tests/Teja.js | 50 +++++++++++++++++++++++++++++++++++++++++ 4 files changed, 57 insertions(+) create mode 100644 tests/Teja.js diff --git a/README.md b/README.md index 6cf3b7d..55520c4 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,7 @@ These themes have been tested and work: - Mojave - Pop - Qogir +- Teja - Vimix - Yaru diff --git a/ego_description.txt b/ego_description.txt index 4ca4c1f..71b6a5c 100644 --- a/ego_description.txt +++ b/ego_description.txt @@ -13,6 +13,7 @@ These themes have been tested and work: - Mojave - Pop - Qogir +- Teja - Vimix - Yaru diff --git a/src/modules/Variants.js b/src/modules/Variants.js index 05f9469..b5aab43 100644 --- a/src/modules/Variants.js +++ b/src/modules/Variants.js @@ -80,6 +80,11 @@ var Variants = class { variants.set('day', name.replace('-dark', '-light')); variants.set('night', variants.get('day').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)/, '')); + variants.set('night', variants.get('day').replace('_Light', '') + dark_variant); + } else if ( name.includes('vimix') ) { variants.set('day', name.replace('-dark', '')); variants.set('night', variants.get('day').replace(/vimix(-light)?/, 'vimix-dark')); diff --git a/tests/Teja.js b/tests/Teja.js new file mode 100644 index 0000000..e099598 --- /dev/null +++ b/tests/Teja.js @@ -0,0 +1,50 @@ +/* +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'); + +test('Teja', t => { + const variants = Variants.guess_from('Teja'); + t.is(variants.get('day'), 'Teja'); + t.is(variants.get('night'), 'Teja_Dark'); +}); + +test('Teja_Dark', t => { + const variants = Variants.guess_from('Teja_Dark'); + t.is(variants.get('day'), 'Teja'); + t.is(variants.get('night'), 'Teja_Dark'); +}); + +test('Teja_Darkest', t => { + const variants = Variants.guess_from('Teja_Darkest'); + t.is(variants.get('day'), 'Teja'); + t.is(variants.get('night'), 'Teja_Darkest'); +}); + +test('Teja_Black', t => { + const variants = Variants.guess_from('Teja_Black'); + t.is(variants.get('day'), 'Teja'); + t.is(variants.get('night'), 'Teja_Black'); +}); + +test('Teja_Light', t => { + const variants = Variants.guess_from('Teja_Light'); + t.is(variants.get('day'), 'Teja_Light'); + t.is(variants.get('night'), 'Teja_Dark'); +});