From f02a3de8db1d983e3dcac7f5c5d48b8e02db7bfa Mon Sep 17 00:00:00 2001 From: Romain Date: Mon, 10 Aug 2020 08:13:45 +0000 Subject: [PATCH] Add support for MC-OS CTLina theme --- README.md | 2 ++ src/modules/GtkVariants.js | 4 ++++ src/modules/ShellVariants.js | 4 ++++ tests/gtk_themes/Mc-Os-CTLina.js | 32 ++++++++++++++++++++++++++++++ tests/shell_themes/Mc-Os-CTLina.js | 32 ++++++++++++++++++++++++++++++ 5 files changed, 74 insertions(+) create mode 100644 tests/gtk_themes/Mc-Os-CTLina.js create mode 100644 tests/shell_themes/Mc-Os-CTLina.js diff --git a/README.md b/README.md index 87567de..1b9a6c9 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,7 @@ These themes have been tested and work out of the box without any configuration. - Macwaita - Matcha (Manjaro default) - Materia +- Mc-OS CTLina - Mojave - Nextwaita - Orchis @@ -49,6 +50,7 @@ These themes have been tested and work out of the box without any configuration. - Layan - Matcha (Manjaro default) - Materia +- Mc-OS CTLina - Mojave - Orchis - Plata (Solus default) diff --git a/src/modules/GtkVariants.js b/src/modules/GtkVariants.js index de81881..bae7095 100644 --- a/src/modules/GtkVariants.js +++ b/src/modules/GtkVariants.js @@ -71,6 +71,10 @@ var GtkVariants = class { const basename = name.split('-')[0]; variants.set('day', name.replace('-dark', '')); variants.set('night', variants.get('day').replace(new RegExp(`${basename}(-light)?`), `${basename}-dark`)); + } else if (name.match(/^Mc-?OS-CTLina-Gnome/)) { + const version = name.split('-').pop(); + variants.set('day', `McOS-CTLina-Gnome-${version}`); + variants.set('night', `Mc-OS-CTLina-Gnome-Dark-${version}`); } else if (name.includes('Mojave')) { variants.set('day', name.replace('-dark', '-light')); variants.set('night', variants.get('day').replace('-light', '-dark')); diff --git a/src/modules/ShellVariants.js b/src/modules/ShellVariants.js index 3f0794a..3407c69 100644 --- a/src/modules/ShellVariants.js +++ b/src/modules/ShellVariants.js @@ -68,6 +68,10 @@ var ShellVariants = class { const basename = name.split('-')[0]; variants.set('day', name.replace('-dark', '')); variants.set('night', variants.get('day').replace(new RegExp(`${basename}(-light)?`), `${basename}-dark`)); + } else if (name.match(/^Mc-?OS-CTLina-Gnome/)) { + const version = name.split('-').pop(); + variants.set('day', `McOS-CTLina-Gnome-${version}`); + variants.set('night', `Mc-OS-CTLina-Gnome-Dark-${version}`); } else if (name.includes('Mojave')) { variants.set('day', name.replace('-dark', '-light')); variants.set('night', variants.get('day').replace('-light', '-dark')); diff --git a/tests/gtk_themes/Mc-Os-CTLina.js b/tests/gtk_themes/Mc-Os-CTLina.js new file mode 100644 index 0000000..25279ee --- /dev/null +++ b/tests/gtk_themes/Mc-Os-CTLina.js @@ -0,0 +1,32 @@ +/* +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('McOS-CTLina-Gnome-1.3.2', t => { + const variants = Variants.guessFrom('McOS-CTLina-Gnome-1.3.2'); + t.is(variants.get('day'), 'McOS-CTLina-Gnome-1.3.2'); + t.is(variants.get('night'), 'Mc-OS-CTLina-Gnome-Dark-1.3.2'); +}); + +test('Mc-OS-CTLina-Gnome-Dark-1.3.2', t => { + const variants = Variants.guessFrom('Mc-OS-CTLina-Gnome-Dark-1.3.2'); + t.is(variants.get('day'), 'McOS-CTLina-Gnome-1.3.2'); + t.is(variants.get('night'), 'Mc-OS-CTLina-Gnome-Dark-1.3.2'); +}); diff --git a/tests/shell_themes/Mc-Os-CTLina.js b/tests/shell_themes/Mc-Os-CTLina.js new file mode 100644 index 0000000..25279ee --- /dev/null +++ b/tests/shell_themes/Mc-Os-CTLina.js @@ -0,0 +1,32 @@ +/* +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('McOS-CTLina-Gnome-1.3.2', t => { + const variants = Variants.guessFrom('McOS-CTLina-Gnome-1.3.2'); + t.is(variants.get('day'), 'McOS-CTLina-Gnome-1.3.2'); + t.is(variants.get('night'), 'Mc-OS-CTLina-Gnome-Dark-1.3.2'); +}); + +test('Mc-OS-CTLina-Gnome-Dark-1.3.2', t => { + const variants = Variants.guessFrom('Mc-OS-CTLina-Gnome-Dark-1.3.2'); + t.is(variants.get('day'), 'McOS-CTLina-Gnome-1.3.2'); + t.is(variants.get('night'), 'Mc-OS-CTLina-Gnome-Dark-1.3.2'); +});