From c004e96288aa9f782e182bd3fac28c064613c996 Mon Sep 17 00:00:00 2001 From: Romain Date: Wed, 15 Apr 2020 21:04:53 +0000 Subject: [PATCH] Add Prof-Gnome-3 theme support --- README.md | 1 + ego_description.txt | 1 + src/modules/Variants.js | 4 ++++ tests/Prof-Gnome-3.js | 45 +++++++++++++++++++++++++++++++++++++++++ 4 files changed, 51 insertions(+) create mode 100644 tests/Prof-Gnome-3.js diff --git a/README.md b/README.md index f287e53..ccd98cb 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,7 @@ These themes have been tested and work: - Mojave - Plata (Solus default) - Pop (Pop!_OS default) +- Prof-Gnome-3 - Qogir - Teja - Vimix diff --git a/ego_description.txt b/ego_description.txt index 2fde567..9bdf1e9 100644 --- a/ego_description.txt +++ b/ego_description.txt @@ -15,6 +15,7 @@ These themes have been tested and work: - Mojave - Plata (Solus default) - Pop (Pop!_OS default) +- Prof-Gnome-3 - Qogir - Teja - Vimix diff --git a/src/modules/Variants.js b/src/modules/Variants.js index 6c7623a..7259396 100644 --- a/src/modules/Variants.js +++ b/src/modules/Variants.js @@ -84,6 +84,10 @@ var Variants = class { variants.set('day', name.replace('-Noir', '')); variants.set('night', variants.get('day').replace(/Plata(-Lumine)?/, 'Plata-Noir')); } + else if ( name.match(/^Prof-Gnome-(.+)-3(.*)/) ) { + variants.set('day', name.replace(/-Dark(?!er)/, '-Light')); + variants.set('night', variants.get('day').replace(/(-Light(-DS)?|-Darker)/, '-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/Prof-Gnome-3.js b/tests/Prof-Gnome-3.js new file mode 100644 index 0000000..aedafac --- /dev/null +++ b/tests/Prof-Gnome-3.js @@ -0,0 +1,45 @@ +/* +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('Prof-Gnome-Light-3', t => { + const variants = Variants.guess_from('Prof-Gnome-Light-3'); + t.is(variants.get('day'), 'Prof-Gnome-Light-3'); + t.is(variants.get('night'), 'Prof-Gnome-Dark-3'); +}); + +test('Prof-Gnome-Dark-3', t => { + const variants = Variants.guess_from('Prof-Gnome-Dark-3'); + t.is(variants.get('day'), 'Prof-Gnome-Light-3'); + t.is(variants.get('night'), 'Prof-Gnome-Dark-3'); +}); + +test('Prof-Gnome-Darker-3', t => { + const variants = Variants.guess_from('Prof-Gnome-Darker-3'); + t.is(variants.get('day'), 'Prof-Gnome-Darker-3'); + t.is(variants.get('night'), 'Prof-Gnome-Dark-3'); +}); + +test('Prof-Gnome-Light-DS-3', t => { + const variants = Variants.guess_from('Prof-Gnome-Light-DS-3'); + t.is(variants.get('day'), 'Prof-Gnome-Light-DS-3'); + t.is(variants.get('night'), 'Prof-Gnome-Dark-3'); +});