diff --git a/bin/git_tag.sh b/bin/git_tag.sh
old mode 100755
new mode 100644
diff --git a/bin/pack.sh b/bin/pack.sh
old mode 100755
new mode 100644
diff --git a/bin/po_update.sh b/bin/po_update.sh
old mode 100755
new mode 100644
diff --git a/bin/pot_create.sh b/bin/pot_create.sh
old mode 100755
new mode 100644
diff --git a/bin/prefs.sh b/bin/prefs.sh
old mode 100755
new mode 100644
diff --git a/kitchentimer@blackjackshellac.ca/alarm_timer.js b/kitchentimer@blackjackshellac.ca/alarm_timer.js
index 8863346..08f6ffb 100644
--- a/kitchentimer@blackjackshellac.ca/alarm_timer.js
+++ b/kitchentimer@blackjackshellac.ca/alarm_timer.js
@@ -16,12 +16,9 @@
* along with this program. If not, see .
*/
-const ExtensionUtils = imports.misc.extensionUtils;
-const Me = ExtensionUtils.getCurrentExtension();
-
-const Utils = Me.imports.utils;
-const Logger = Me.imports.logger.Logger;
-const HMS = Me.imports.hms.HMS;
+import * as Utils from "./utils.js";
+import * as Logger from "./logger.js";
+import * as HMS from "./hms.js";
var AmPm = {
H24: 0,
diff --git a/kitchentimer@blackjackshellac.ca/bin/compile_schemas.sh b/kitchentimer@blackjackshellac.ca/bin/compile_schemas.sh
old mode 100755
new mode 100644
diff --git a/kitchentimer@blackjackshellac.ca/bin/dconf-editor.sh b/kitchentimer@blackjackshellac.ca/bin/dconf-editor.sh
old mode 100755
new mode 100644
diff --git a/kitchentimer@blackjackshellac.ca/extension.js b/kitchentimer@blackjackshellac.ca/extension.js
index 4c4904c..15f808b 100644
--- a/kitchentimer@blackjackshellac.ca/extension.js
+++ b/kitchentimer@blackjackshellac.ca/extension.js
@@ -21,21 +21,22 @@
const { GObject, St, Clutter } = imports.gi;
-const ExtensionUtils = imports.misc.extensionUtils;
-const Me = ExtensionUtils.getCurrentExtension();
+import {Extension, gettext as _} from 'resource:///org/gnome/shell/extensions/extension.js';
+// const ExtensionUtils = imports.misc.extensionUtils;
+// const Me = ExtensionUtils.getCurrentExtension();
const GETTEXT_DOMAIN = 'kitchen-timer-blackjackshellac';
const Gettext = imports.gettext.domain(GETTEXT_DOMAIN);
const _ = Gettext.gettext;
-const Utils = Me.imports.utils;
-const Settings = Me.imports.settings.Settings;
-const Menus = Me.imports.menus;
-const Timers = Me.imports.timers.Timers;
-const Timer = Me.imports.timers.Timer;
-const Indicator = Me.imports.indicator;
+import * as Utils from "./utils.js";
+import * as Settings from "./settings.js";
+import * as Menus from "./menus.js";
+import * as {Timers, Timer} from "./timers.js";
+import * as Indicator from "./indicator.js";
-const Main = imports.ui.main;
+// const Main = imports.ui.main;
+import * as Main from 'resource:///org/gnome/shell/ui/main.js';
const PanelMenu = imports.ui.panelMenu;
const PopupMenu = imports.ui.popupMenu;
@@ -57,6 +58,12 @@ class Extension {
}
}
-function init(meta) {
- return new Extension(meta.uuid);
+export default class initExtension extends Extension {
+ enable() {
+ return new Extension(this.uuid);
+ }
+
+ disable() {
+ console.log(_('%s is now disabled.').format(this.uuid));
+ }
}
diff --git a/kitchentimer@blackjackshellac.ca/indicator.js b/kitchentimer@blackjackshellac.ca/indicator.js
index 6e676b1..e74a1fc 100644
--- a/kitchentimer@blackjackshellac.ca/indicator.js
+++ b/kitchentimer@blackjackshellac.ca/indicator.js
@@ -20,21 +20,20 @@ const GETTEXT_DOMAIN = 'kitchen-timer-blackjackshellac';
const Gettext = imports.gettext.domain(GETTEXT_DOMAIN);
const _ = Gettext.gettext;
-const { GObject, St, Clutter, Gio } = imports.gi;
-
-const ExtensionUtils = imports.misc.extensionUtils;
-const Me = ExtensionUtils.getCurrentExtension();
-
-const Utils = Me.imports.utils;
-const Settings = Me.imports.settings.Settings;
-const Menus = Me.imports.menus;
-const Timers = Me.imports.timers.Timers;
-const Timer = Me.imports.timers.Timer;
-const Logger = Me.imports.logger.Logger;
-
-const Main = imports.ui.main;
-const PanelMenu = imports.ui.panelMenu;
-const PopupMenu = imports.ui.popupMenu;
+import * as Gio from 'gi://Gio';
+import * as GObject from 'gi://GObject';
+import * as St from 'gi://St';
+import * as Clutter from 'gi://Clutter';
+
+import * as Utils from './utils.js';
+import * as Settings from './settings.js';
+import * as Menus from './menus.js';
+import * as {Timers, Timer} from "./timers.js";
+import * as Logger from './Logger.js';
+
+import * as Main from 'resource:///org/gnome/shell/ui/main.js';
+import * as PanelMenu from 'resource:///org/gnome/shell/ui/panelMenu.js';
+import * as PopupMenu from 'resource:///org/gnome/shell/ui/popupMenu.js';
var KitchenTimerIndicator = GObject.registerClass(
class KitchenTimerIndicator extends PanelMenu.Button {
diff --git a/kitchentimer@blackjackshellac.ca/inhibitor.js b/kitchentimer@blackjackshellac.ca/inhibitor.js
index 3f4baf6..0292d88 100644
--- a/kitchentimer@blackjackshellac.ca/inhibitor.js
+++ b/kitchentimer@blackjackshellac.ca/inhibitor.js
@@ -16,10 +16,11 @@
* along with this program. If not, see .
*/
-const { Gio, Gtk, GLib } = imports.gi;
-const ExtensionUtils = imports.misc.extensionUtils;
-const Me = ExtensionUtils.getCurrentExtension();
-const Logger = Me.imports.logger.Logger;
+import Gio from 'gi://Gio';
+import Gtk from 'gi://Gtk';
+import GLib from 'gi://GLib';
+
+import * as Logger from './logger.js';
const DBusSessionManagerIface = `
diff --git a/kitchentimer@blackjackshellac.ca/keyboard_shortcuts.js b/kitchentimer@blackjackshellac.ca/keyboard_shortcuts.js
index fe6a74f..72d4ce1 100644
--- a/kitchentimer@blackjackshellac.ca/keyboard_shortcuts.js
+++ b/kitchentimer@blackjackshellac.ca/keyboard_shortcuts.js
@@ -16,16 +16,13 @@
* along with this program. If not, see .
*/
-const Lang = imports.lang
-const Meta = imports.gi.Meta
-const Shell = imports.gi.Shell
-const Main = imports.ui.main
+import * as Lang from 'gi://Lang';
+import * as Meta from 'gi://Meta';
+import * as Shell from 'gi://Shell';
+import * as Main from 'resource:///org/gnome/shell/ui/main.js';
-const ExtensionUtils = imports.misc.extensionUtils;
-const Me = ExtensionUtils.getCurrentExtension();
-
-const Logger = Me.imports.logger.Logger;
-const Utils = Me.imports.utils;
+import * as Logger from './logger.js';
+import * as Utils from './utils.js';
var KeyboardShortcuts = class KeyboardShortcuts {
constructor(settings) {
diff --git a/kitchentimer@blackjackshellac.ca/menuitem.js b/kitchentimer@blackjackshellac.ca/menuitem.js
index b642e6c..c702a5e 100644
--- a/kitchentimer@blackjackshellac.ca/menuitem.js
+++ b/kitchentimer@blackjackshellac.ca/menuitem.js
@@ -16,19 +16,19 @@
* along with this program. If not, see .
*/
-const { Clutter, GObject, St, Gio } = imports.gi;
-
-const PopupMenu = imports.ui.popupMenu;
-const Slider = imports.ui.slider;
-
-const ExtensionUtils = imports.misc.extensionUtils;
-const Me = ExtensionUtils.getCurrentExtension();
-
-const Timer = Me.imports.timers.Timer;
-const AlarmTimer = Me.imports.alarm_timer.AlarmTimer;
-const Utils = Me.imports.utils;
-const HMS = Me.imports.hms.HMS;
-const Logger = Me.imports.logger.Logger;
+import * as Gio from 'gi://Gio';
+import * as GObject from 'gi://GObject';
+import * as St from 'gi://St';
+import * as Clutter from 'gi://Clutter';
+
+import * as PopupMenu from 'resource:///org/gnome/shell/ui/popupMenu.js';
+import * as Slider from 'resource:///org/gnome/shell/ui/slider.js';
+
+import * as {Timer} from "./timers.js";
+import * as AlarmTimer from './alarm_timer.js';
+import * as Utils from './utils.js';
+import * as HMS from './hms.js';
+import * as Logger from './logger.js';
var KTTypes = {
'stop': 'media-playback-stop-symbolic',
diff --git a/kitchentimer@blackjackshellac.ca/menus.js b/kitchentimer@blackjackshellac.ca/menus.js
index 5ef85c4..0412137 100644
--- a/kitchentimer@blackjackshellac.ca/menus.js
+++ b/kitchentimer@blackjackshellac.ca/menus.js
@@ -16,24 +16,26 @@
* along with this program. If not, see .
*/
-const GETTEXT_DOMAIN = 'kitchen-timer-blackjackshellac';
-const Gettext = imports.gettext.domain(GETTEXT_DOMAIN);
-const _ = Gettext.gettext;
+// const GETTEXT_DOMAIN = 'kitchen-timer-blackjackshellac';
+// const Gettext = imports.gettext.domain(GETTEXT_DOMAIN);
+// const _ = Gettext.gettext;
+import {gettext as _} from 'resource:///org/gnome/shell/extensions/extension.js';
-const { St, Clutter } = imports.gi;
+import St from 'gi://St';
+import Clutter from 'gi://Clutter';
-const PopupMenu = imports.ui.popupMenu;
-const Main = imports.ui.main;
-const Slider = imports.ui.slider;
+import * as PopupMenu from 'resource:///org/gnome/shell/ui/popupMenu.js';
+import * as Main from 'resource:///org/gnome/shell/ui/main.js';
+import * as Slider from 'resource:///org/gnome/shell/ui/slider.js';
const ExtensionUtils = imports.misc.extensionUtils;
const Me = ExtensionUtils.getCurrentExtension();
-const Timer = Me.imports.timers.Timer;
-const Utils = Me.imports.utils;
-const Logger = Me.imports.logger.Logger;
-const HMS = Me.imports.hms.HMS;
-const Mitem = Me.imports.menuitem;
+import * as {Timer} from "./timers.js";
+import * as Utils from './utils.js';
+import * as Logger from './logger.js'
+import * as HMS from './hms.js'
+import * as Mitem from './menuitem.js'
var PanelMenuBuilder = class PanelMenuBuilder {
constructor(menu, timers) {
diff --git a/kitchentimer@blackjackshellac.ca/metadata.json b/kitchentimer@blackjackshellac.ca/metadata.json
index 72fc4fe..9b6fd08 100644
--- a/kitchentimer@blackjackshellac.ca/metadata.json
+++ b/kitchentimer@blackjackshellac.ca/metadata.json
@@ -5,7 +5,12 @@
"shell-version": [
"3.36",
"3.38",
- "40"
+ "40",
+ "41",
+ "42",
+ "43",
+ "44",
+ "45"
],
"gettext-domain": "kitchen-timer-blackjackshellac",
"settings-schema": "org.gnome.shell.extensions.kitchen-timer-blackjackshellac",
diff --git a/kitchentimer@blackjackshellac.ca/notifier.js b/kitchentimer@blackjackshellac.ca/notifier.js
index 6ef6238..8809fd1 100644
--- a/kitchentimer@blackjackshellac.ca/notifier.js
+++ b/kitchentimer@blackjackshellac.ca/notifier.js
@@ -16,29 +16,28 @@
* along with this program. If not, see .
*/
-const GETTEXT_DOMAIN = 'kitchen-timer-blackjackshellac';
-const Gettext = imports.gettext.domain(GETTEXT_DOMAIN);
-const _ = Gettext.gettext;
+import {gettext as _} from 'resource:///org/gnome/shell/extensions/extension.js';
const Params = imports.misc.params;
-const ExtensionUtils = imports.misc.extensionUtils;
-const Me = ExtensionUtils.getCurrentExtension();
-const { GLib, GObject, Gio, St } = imports.gi;
-const Main = imports.ui.main;
-const MessageTray = imports.ui.messageTray;
-const NotificationDestroyedReason = MessageTray.NotificationDestroyedReason;
-const PopupMenu = imports.ui.popupMenu;
+import * as Glib from 'gi://GLib';
+import * as GObject from 'gi://GObject';
+import * as St from 'gi://St';
+import * as Gio from 'gi://Gio';
+
+import * as Main from 'resource:///org/gnome/shell/ui/main.js';
+import * as {MessageTray, NotificationDestroyedReason} from 'resource:///org/gnome/shell/ui/messageTray.js';
+import * as PopupMenu from 'resource:///org/gnome/shell/ui/popupMenu.js'
// szm - from tea-time
imports.gi.versions.Gst = '1.0';
-const Gst = imports.gi.Gst;
+import * as Gst from 'gi://Gst';
//const GstAudio = imports.gi.GstAudio;
// for setInterval()
-const Utils = Me.imports.utils;
-const Logger = Me.imports.logger.Logger;
-const HMS = Me.imports.hms.HMS;
+import * as Utils from './utils.js';
+import * as Logger from './logger.js';
+import * as HMS from './hms.js';
var Annoyer = class Annoyer {
constructor(timers) {
diff --git a/kitchentimer@blackjackshellac.ca/prefs.js b/kitchentimer@blackjackshellac.ca/prefs.js
index 1a68a2d..a065ccc 100644
--- a/kitchentimer@blackjackshellac.ca/prefs.js
+++ b/kitchentimer@blackjackshellac.ca/prefs.js
@@ -16,20 +16,25 @@
* along with this program. If not, see .
*/
-const { Gio, Gtk, Gdk, GLib } = imports.gi;
+import Gio from 'gi://Gio';
+import Gtk from 'gi://Gtk';
+import Gdk from 'gi://Gdk';
+import GLib from 'gi://GLib';
const ByteArray = imports.byteArray;
const GETTEXT_DOMAIN = 'kitchen-timer-blackjackshellac';
-const Gettext = imports.gettext.domain(GETTEXT_DOMAIN);
+import {domain as gettextDomain} from 'gettext';
+const Gettext = gettextDomain(GETTEXT_DOMAIN);
const _ = Gettext.gettext;
-const ExtensionUtils = imports.misc.extensionUtils;
-const Me = ExtensionUtils.getCurrentExtension();
-const Settings = Me.imports.settings.Settings;
-const Utils = Me.imports.utils;
-const Logger = Me.imports.logger.Logger;
-const HMS = Me.imports.hms.HMS;
-const AlarmTimer = Me.imports.alarm_timer.AlarmTimer;
+import {ExtensionPreferences} from 'resource:///org/gnome/Shell/Extensions/js/extensions/prefs.js';
+// import {ExtensionUtils} from 'resource:///org/gnome/Shell/Extensions/js/misc/extensionUtils.js';
+// const Me = ExtensionUtils.getCurrentExtension();
+import * as Settings from "./settings.js";
+import * as Utils from "./utils.js";
+import * as Logger from "./logger.js";
+import * as HMS from "./hms.js";
+import * as AlarmTimer from "./alarm_timer.js";
const Model = {
NAME: 0,
@@ -42,13 +47,13 @@ const Model = {
}
class PreferencesBuilder {
- constructor() {
+ constructor(settings) {
this._settings = new Settings();
this._builder = new Gtk.Builder();
this.logger = new Logger('kt prefs', this._settings);
if (Utils.isGnome40()) {
- let iconPath = Me.dir.get_child("icons").get_path();
+ let iconPath = settings.dir.get_child("icons").get_path();
let iconTheme = Gtk.IconTheme.get_for_display(Gdk.Display.get_default());
iconTheme.add_search_path(iconPath);
}
@@ -940,21 +945,20 @@ class PreferencesBuilder {
function init() {
}
-function buildPrefsWidget() {
- ExtensionUtils.initTranslations(GETTEXT_DOMAIN);
-
- var preferencesBuilder = new PreferencesBuilder();
- var widget = preferencesBuilder.build();
- preferencesBuilder.show();
-
- widget.connect('realize', () => {
- let window = Utils.isGnome3x() ? widget.get_toplevel() : widget.get_root();
- preferencesBuilder.logger.debug('window=%s', window);
- //window.default_width = 700;
- //window.default_height = 900;
- //window.set_default_icon_name('view-paged-symbolic');
- //window.resize(700, 900);
- });
-
- return widget;
+export default class buildPrefsWidget extends ExtensionPreferences {
+ getPreferencesWidget() {
+ let preferencesBuilder = new PreferencesBuilder(this.getSettings());
+ let widget = preferencesBuilder.build();
+ preferencesBuilder.show();
+
+ widget.connect('realize', () => {
+ let window = Utils.isGnome3x() ? widget.get_toplevel() : widget.get_root();
+ preferencesBuilder.logger.debug('window=%s', window);
+ //window.default_width = 700;
+ //window.default_height = 900;
+ //window.set_default_icon_name('view-paged-symbolic');
+ //window.resize(700, 900);
+ });
+ return widget;
+ }
}
diff --git a/kitchentimer@blackjackshellac.ca/settings.js b/kitchentimer@blackjackshellac.ca/settings.js
index 4f399fe..709654c 100644
--- a/kitchentimer@blackjackshellac.ca/settings.js
+++ b/kitchentimer@blackjackshellac.ca/settings.js
@@ -16,27 +16,28 @@
* along with this program. If not, see .
*/
-const GETTEXT_DOMAIN = 'kitchen-timer-blackjackshellac';
-const Gettext = imports.gettext.domain(GETTEXT_DOMAIN);
-const _ = Gettext.gettext;
-
-const ExtensionUtils = imports.misc.extensionUtils;
-const Gio = imports.gi.Gio;
+// const GETTEXT_DOMAIN = 'kitchen-timer-blackjackshellac';
+// const Gettext = imports.gettext.domain(GETTEXT_DOMAIN);
+// const _ = Gettext.gettext;
+
+// const ExtensionUtils = imports.misc.extensionUtils;
+import {Extension, gettext as _} from 'resource:///org/gnome/shell/extensions/extension.js';
+import Gio from 'gi://Gio';
+import GLib from 'gi://GLib';
const GioSSS = Gio.SettingsSchemaSource;
-const GLib = imports.gi.GLib;
-const Me = ExtensionUtils.getCurrentExtension();
-const Utils = Me.imports.utils;
-const Logger = Me.imports.logger.Logger;
+import * as Utils from "./utils.js";
+import * as Logger from "./logger.js";
// adapted from Bluetooth-quick-connect extension by Bartosz Jaroszewski
var Settings = class Settings {
- constructor() {
+ constructor(settings) {
+ this.settings = settings;
// try to recompile the schema
- let compile_schemas = [ Me.path+"/bin/compile_schemas.sh" ];
+ let compile_schemas = [ settings.path+"/bin/compile_schemas.sh" ];
let [ exit_status, stdout, stderr ] = Utils.execute(compile_schemas);
- this.settings = ExtensionUtils.getSettings();
+ // this.settings = ExtensionUtils.getSettings();
this.logger = new Logger('kt settings', this.settings);
if (exit_status !== 0) {
@@ -446,3 +447,14 @@ var Settings = class Settings {
}
};
+
+
+export default class settingsBuild extends Extension {
+ enable() {
+ let settings = new Settings(this.getSettings());
+ }
+
+ disable() {
+ console.log(_('%s is now disabled.').format(this.uuid));
+ }
+}
diff --git a/kitchentimer@blackjackshellac.ca/timers.js b/kitchentimer@blackjackshellac.ca/timers.js
index 65cf2f1..1fb0c94 100644
--- a/kitchentimer@blackjackshellac.ca/timers.js
+++ b/kitchentimer@blackjackshellac.ca/timers.js
@@ -16,25 +16,24 @@
* along with this program. If not, see .
*/
-const GETTEXT_DOMAIN = 'kitchen-timer-blackjackshellac';
-const Gettext = imports.gettext.domain(GETTEXT_DOMAIN);
-const _ = Gettext.gettext;
-
-const ExtensionUtils = imports.misc.extensionUtils;
-const Me = ExtensionUtils.getCurrentExtension();
-
-const {GLib, St, Clutter, Gio} = imports.gi;
-const Main = imports.ui.main;
-const PopupMenu = imports.ui.popupMenu;
-
-const Utils = Me.imports.utils;
-const Settings = Me.imports.settings.Settings;
-const Notifier = Me.imports.notifier;
-const Logger = Me.imports.logger.Logger;
-const HMS = Me.imports.hms.HMS;
-const AlarmTimer = Me.imports.alarm_timer.AlarmTimer;
-const SessionManagerInhibitor = Me.imports.inhibitor.SessionManagerInhibitor;
-const KeyboardShortcuts = Me.imports.keyboard_shortcuts.KeyboardShortcuts;
+import { gettext as _} from 'resource:///org/gnome/shell/extensions/extension.js';
+
+import * as Glib from 'gi://GLib';
+import * as St from 'gi://St';
+import * as Clutter from 'gi://Clutter';
+import * as Gio from 'gi://Gio';
+
+import * as Main from 'resource:///org/gnome/shell/ui/main.js';
+import * as PopupMenu from 'resource:///org/gnome/shell/ui/popupMenu.js'
+
+import * as Utils from './utils.js';
+import * as Settings from './settings.js';
+import * as Notifier from './notifier.js';
+import * as Logger from './logger.js';
+import * as HMS from './hms.js';
+import * as AlarmTimer from './alarm_timer.js';
+import * as SessionManagerInhibitor from './inhibitor.js';
+import * as KeyboardShortcuts from './keyboard_shortcuts.js';
const date_options = { weekday: 'short', year: 'numeric', month: 'short', day: 'numeric' };
const mixerControl = imports.ui.status.volume.getMixerControl();
diff --git a/kitchentimer@blackjackshellac.ca/utils.js b/kitchentimer@blackjackshellac.ca/utils.js
index b98c2a7..9a4b4ec 100644
--- a/kitchentimer@blackjackshellac.ca/utils.js
+++ b/kitchentimer@blackjackshellac.ca/utils.js
@@ -16,13 +16,11 @@
* along with this program. If not, see .
*/
-const GETTEXT_DOMAIN = 'kitchen-timer-blackjackshellac';
-const Gettext = imports.gettext.domain(GETTEXT_DOMAIN);
-const _ = Gettext.gettext;
+import { gettext as _} from 'resource:///org/gnome/shell/extensions/extension.js';
String.prototype.format = imports.format.format;
-const GLib = imports.gi.GLib;
+import * as Glib from 'gi://GLib';
const ByteArray = imports.byteArray;
// https://gjs.guide/extensions/upgrading/gnome-shell-40.html