Shutdown/reboot/suspend the device after a specific time or wake with a rtc alarm. The screen-saver will not interrupt the timer. A privileged control script may be installed to control shutdown and rtcwake as user.
Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.
Version | Status |
---|---|
48 | Active |
47 | Rejected |
46 | Active |
45 | Active |
44 | Active |
43 | Active |
42 | Active |
41 | Active |
40 | Rejected |
39 | Rejected |
38 | Rejected |
37 | Rejected |
36 | Active |
35 | Active |
34 | Active |
33 | Active |
32 | Rejected |
31 | Active |
30 | Active |
29 | Active |
28 | Active |
27 | Active |
26 | Active |
25 | Active |
24 | Active |
23 | Inactive |
22 | Active |
21 | Rejected |
20 | Rejected |
19 | Active |
18 | Active |
17 | Active |
16 | Active |
15 | Active |
14 | Active |
13 | Inactive |
12 | Active |
11 | Active |
10 | Active |
9 | Active |
8 | Active |
7 | Active |
6 | Inactive |
5 | Rejected |
4 | Rejected |
3 | Rejected |
2 | Rejected |
1 | Rejected |
1. Since you are enabling base on `this.disableTimestamp`, you should consider the racy disable too. So, it should be like this (`?` optional chaining): ```js this._tracker?.clearAll(); this._indicator?.destroy(); ``` 2. `dbus-service/main.js` should start with: ```js #!@GJS@ -m ``` TBH, all the `.sh` and gjs app scripts are too much for a GNOME Shell extension. at this point, I think they should be distributed via another medium, so this extension can use it as a dependency. https://gjs.guide/extensions/review-guidelines/review-guidelines.html#scripts-and-binaries
> 1. Since you are enabling base on `this.disableTimestamp`, you should consider the racy disable too. I am not sure what you mean, here. The extension is fully enabled on `enable()` and fully disabled on `disable()`. The last disable time `this.disableTimestamp` is only used to reset the `shutdown-timestamp-value` setting. > 2. `dbus-service/main.js` should start with: `#!@GJS@ -m` Do you mean in `modules/menu-item.js` (line 576): `Exec=/usr/bin/gjs -m ...` should be `Exec=${GLib.find_program_in_path('gjs')} -m ...`? In GNOME Shell, `js/dbusServices/dbus-service.in` is started with `js/dbusServices/dbus-service.in` in a similar way. However, a shebang is not needed. > TBH, all the `.sh` and gjs app scripts are too much for a GNOME Shell extension. At this point, I think they should be distributed via another medium. I added a external gjs D-Bus service to let the check-command run uninterrupted (during first-unlock-dialog) since you did not permit the old behavior (of delayed disable). However, if keeping the check-command running is not an option, I would be ok with letting the check-command re-run. Would you, potentially, accept the extension if the external `or.gnome.Shell.Extensions.ShutdownTimer` D-Bus service installation is removed? - Remove `dbus-service/main.js` - Remove external systemd D-Bus service setup: `modules/menu-item.js` (line 570-611)
We had a discussion about your extension on GNOME Shell extensions matrix room. We think you should avoid using complicated d-bus services. Please join us on GNOME Extensions Matrix room, we asked some questions there needs to be answered: https://matrix.to/#/#extensions:gnome.org