From 70ca3fef77ee8bdc6e3ac28589a6fa08c024cc69 Mon Sep 17 00:00:00 2001 From: AlexanderCurl Date: Sat, 18 Apr 2026 17:46:06 +0100 Subject: Replaced file structures for themes in the correct format --- .../prefspage.js | 275 --------------------- 1 file changed, 275 deletions(-) delete mode 100644 raveos-theme/gnome/theme-data/extensions/installed/notification-timeout@chlumskyvaclav.gmail.com/prefspage.js (limited to 'raveos-theme/gnome/theme-data/extensions/installed/notification-timeout@chlumskyvaclav.gmail.com/prefspage.js') diff --git a/raveos-theme/gnome/theme-data/extensions/installed/notification-timeout@chlumskyvaclav.gmail.com/prefspage.js b/raveos-theme/gnome/theme-data/extensions/installed/notification-timeout@chlumskyvaclav.gmail.com/prefspage.js deleted file mode 100644 index ed2859a..0000000 --- a/raveos-theme/gnome/theme-data/extensions/installed/notification-timeout@chlumskyvaclav.gmail.com/prefspage.js +++ /dev/null @@ -1,275 +0,0 @@ -'use strict'; - -/** - * extension notification-timeout - * JavaScript Gnome extension for setting same timeout for all notifications. - * - * @author Václav Chlumský - * @copyright Copyright 2023, Václav Chlumský. - */ - - /** - * @license - * The MIT License (MIT) - * - * Copyright (c) 2023 Václav Chlumský - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - -import Gtk from 'gi://Gtk'; -import Adw from 'gi://Adw'; -import GObject from 'gi://GObject'; -import {ExtensionPreferences, gettext as _} from 'resource:///org/gnome/Shell/Extensions/js/extensions/prefs.js'; - -export const PreferencesPage = GObject.registerClass({ - GTypeName: 'NotificationTimeoutPrefsWidget' -}, class PreferencesPage extends GObject.Object { - _init(metadata, settings) { - super._init(); - - this._metadata = metadata; - this._settings = settings; - this._ignoreIdle = settings.get_boolean("ignore-idle"); - this._alwaysNormal = settings.get_boolean("always-normal"); - this._newTimeout = settings.get_int("timeout"); - } - - /** - * Build Settings page with general settings - * - * @method buildGeneralPage - * @return {Object} widget for page in notebook - */ - _buildGeneralPage() { - - let top = 1; - let labelWidget = null; - - let generalPage = new Gtk.Grid( - { - hexpand: true, - vexpand: true, - halign:Gtk.Align.CENTER, - valign:Gtk.Align.CENTER - } - ); - - /** - * Ignore idle - */ - labelWidget = new Gtk.Label( - {label: _("Ignore idle (always use timeout):")} - ); - generalPage.attach(labelWidget, 1, top, 1, 1); - - - let ignoreIdleSwitch = new Gtk.Switch( - { - active: this._ignoreIdle, - hexpand: false, - vexpand: false, - halign:Gtk.Align.CENTER, - valign:Gtk.Align.CENTER - } - ); - - ignoreIdleSwitch.connect( - "notify::active", - () => { - this._ignoreIdle = ignoreIdleSwitch.get_active(); - this._settings.set_boolean("ignore-idle", this._ignoreIdle); - } - ) - generalPage.attach_next_to( - ignoreIdleSwitch, - labelWidget, - Gtk.PositionType.RIGHT, - 1, - 1 - ); - - top++; - - /** - * Notification' urgency is always normal - */ - labelWidget = new Gtk.Label( - {label: _("Timeouted notifications are always 'normal' ('critical' don't timeout):")} - ); - generalPage.attach(labelWidget, 1, top, 1, 1); - - - let alwaysNormalSwitch = new Gtk.Switch( - { - active: this._alwaysNormal, - hexpand: false, - vexpand: false, - halign:Gtk.Align.CENTER, - valign:Gtk.Align.CENTER - } - ); - - alwaysNormalSwitch.connect( - "notify::active", - () => { - this._alwaysNormal = alwaysNormalSwitch.get_active(); - this._settings.set_boolean("always-normal", this._alwaysNormal); - } - ) - generalPage.attach_next_to( - alwaysNormalSwitch, - labelWidget, - Gtk.PositionType.RIGHT, - 1, - 1 - ); - - top++; - - /** - * Notification timeout - */ - labelWidget = new Gtk.Label( - {label: _("Notification timeout:")} - ); - generalPage.attach(labelWidget, 1, top, 1, 1); - - let timeoutComboBox = new Gtk.ComboBoxText(); - - timeoutComboBox.append("0", _("Don't timeout")); - timeoutComboBox.append("500", _("500 ms")); - timeoutComboBox.append("1000", _("1 s")); - timeoutComboBox.append("2000", _("2 s")); - timeoutComboBox.append("3000", _("3 s")); - timeoutComboBox.append("4000", _("4 s")); - timeoutComboBox.append("5000", _("5 s")); - timeoutComboBox.append("6000", _("6 s")); - timeoutComboBox.append("7000", _("7 s")); - timeoutComboBox.append("8000", _("8 s")); - timeoutComboBox.append("9000", _("9 s")); - timeoutComboBox.append("10000", _("10 s")); - timeoutComboBox.append("15000", _("15 s")); - timeoutComboBox.append("20000", _("20 s")); - timeoutComboBox.append("30000", _("30 s")); - timeoutComboBox.append("45000", _("45 s")); - timeoutComboBox.append("60000", _("1 min")); - timeoutComboBox.append("120000", _("2 min")); - timeoutComboBox.append("180000", _("3 min")); - timeoutComboBox.append("240000", _("4 min")); - timeoutComboBox.append("300000", _("5 min")); - timeoutComboBox.append("600000", _("10 min")); - timeoutComboBox.append("900000", _("15 min")); - timeoutComboBox.append("1800000", _("30 min")); - - timeoutComboBox.set_active_id(this._newTimeout.toString()); - - timeoutComboBox.connect( - "changed", - () => { - this._newTimeout = parseInt(timeoutComboBox.get_active_id()); - this._settings.set_int("timeout", this._newTimeout); - } - ); - - generalPage.attach_next_to( - timeoutComboBox, - labelWidget, - Gtk.PositionType.RIGHT, - 1, - 1 - ); - - top++; - - return generalPage; - } - - /** - * Build About page - * - * @method buildGeneralPage - * @return {Object} widget for page in notebook - */ - _buildAboutPage() { - - let aboutWidget = new Gtk.Box( - { - hexpand: true, - vexpand: true, - halign:Gtk.Align.CENTER, - valign:Gtk.Align.CENTER - } - ); - - let labelWidget = new Gtk.Label( - {label: `${this._metadata.name}, version: ${this._metadata.version}, Copyright (c) 2023 Václav Chlumský`} - ); - - aboutWidget.append(labelWidget); - - return aboutWidget; - } - - /** - * This function is called when the preferences window is first created to build - * and return a Gtk widget. - * - * @method buildPrefsWidget - * @return {Object} returns the prefsWidget - */ - buildPrefsWidget() { - - let prefsPage = new Adw.PreferencesPage(); - let prefsGroup = new Adw.PreferencesGroup(); - - let prefsMainBox = new Gtk.Box( - { - hexpand: true, - vexpand: true, - vexpand_set:true, - hexpand_set: true, - halign:Gtk.Align.FILL, - valign:Gtk.Align.FILL - } - ); - - let notebook = new Gtk.Notebook(); - - let pageGeneral = this._buildGeneralPage(); - pageGeneral.border_width = 10; - notebook.append_page( - pageGeneral, - new Gtk.Label({label: _("General settings")}) - ); - - let pageAbout = this._buildAboutPage() - pageAbout.border_width = 10; - notebook.append_page( - pageAbout, - Gtk.Image.new_from_icon_name("help-about", Gtk.IconSize.MENU) - ); - - prefsMainBox.append(notebook); - prefsGroup.add(prefsMainBox); - prefsPage.add(prefsGroup); - - return prefsPage; - } -}); -- cgit v1.3