Skip to content

Commit 63458a3

Browse files
authored
Merge pull request #6459 from claudiux/screen-inhibit_2.2.0
[screen-inhibit@mtwebster] v2.2.0 - Add a timer to end screen saver inhibition
2 parents 3958684 + cdf9e69 commit 63458a3

File tree

15 files changed

+775
-273
lines changed

15 files changed

+775
-273
lines changed

screen-inhibit@mtwebster/files/screen-inhibit@mtwebster/CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
### v2.2.0~20241001
2+
* Add a timer to end screen saver inhibition.
3+
14
### v2.1.3~20240925
25
* Users can select the number of seconds (0-60) that elapse before the screen saver is disabled.
36

screen-inhibit@mtwebster/files/screen-inhibit@mtwebster/applet.js

Lines changed: 46 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,12 @@ class ScreenSaverInhibitor extends Applet.IconApplet {
8282
this.settings.bind( "seconds-after-startup",
8383
"seconds_after_startup",
8484
null);
85+
this.settings.bind( "end-timechooser",
86+
"end_time",
87+
this.on_endtime_changed);
88+
this.settings.bind( "end-type",
89+
"end_type",
90+
this.on_endtime_changed);
8591
this.settings.bind( "locktype",
8692
"locktype",
8793
this.loop);
@@ -92,6 +98,8 @@ class ScreenSaverInhibitor extends Applet.IconApplet {
9298
"old_sleep_display_ac");
9399
this.settings.bind( "old-sleep-inactive-ac-timeout",
94100
"old_sleep_inactive_ac_timeout");
101+
this.settings.bind( "starting-time-in-minutes",
102+
"starting_time_in_minutes");
95103
} catch (e) {
96104
this.settings = null;
97105
this.off_icon = "screen-inhibit-symbolic"; // "video-display-symbolic";
@@ -150,22 +158,50 @@ class ScreenSaverInhibitor extends Applet.IconApplet {
150158
}
151159

152160
if (this.inhibited) {
153-
switch (this.locktype) {
154-
case "normal":
155-
break;
156-
case "aggressive1":
157-
if (SCREENSAVER_COMMAND)
158-
Util.spawnCommandLineAsync(SCREENSAVER_COMMAND+" -d");
159-
break;
160-
case "aggressive2":
161-
if (SCREENSAVER_COMMAND)
162-
Util.spawnCommandLineAsync(SCREENSAVER_COMMAND+" -e");
161+
if (!this.is_end_time()) {
162+
switch (this.locktype) {
163+
case "normal":
164+
this.lockinterval = 1;
165+
break;
166+
case "aggressive1":
167+
if (SCREENSAVER_COMMAND)
168+
Util.spawnCommandLineAsync(SCREENSAVER_COMMAND+" -d");
169+
break;
170+
case "aggressive2":
171+
if (SCREENSAVER_COMMAND)
172+
Util.spawnCommandLineAsync(SCREENSAVER_COMMAND+" -e");
173+
}
174+
} else {
175+
this.starting_time_in_minutes = 0;
176+
this.end_type = 0;
177+
this.on_applet_clicked()
163178
}
164179
}
165180

166181
this.loopId = Mainloop.timeout_add(this.lockinterval * 60000, this.loop.bind(this));
167182
}
168183

184+
is_end_time() {
185+
if (this.end_type === 0)
186+
return false;
187+
const date = new Date;
188+
const hour = date.getHours();
189+
const minute = date.getMinutes();
190+
if (this.end_type === 2 && (hour*60+minute >= this.end_time.h*60+this.end_time.m))
191+
return true;
192+
if (this.end_type === 1 && (hour*60+minute - this.starting_time_in_minutes <= this.end_time.h*60+this.end_time.m))
193+
return true;
194+
return false;
195+
}
196+
197+
on_endtime_changed() {
198+
const date = new Date;
199+
const hour = date.getHours();
200+
const minute = date.getMinutes();
201+
202+
this.starting_time_in_minutes = hour*60+minute;
203+
}
204+
169205
on_inhibit_at_startup_changed() {
170206
this.startup_menu_item._switch.setToggleState(this.inhibit_at_startup);
171207
}

screen-inhibit@mtwebster/files/screen-inhibit@mtwebster/metadata.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@
33
"uuid": "screen-inhibit@mtwebster",
44
"name": "Screensaver Inhibitor",
55
"author": "claudiux",
6-
"version": "2.1.3"
6+
"version": "2.2.0"
77
}

screen-inhibit@mtwebster/files/screen-inhibit@mtwebster/po/ca.po

Lines changed: 51 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ msgstr ""
88
"Project-Id-Version: screen-inhibit@mtwebster 2.1.2\n"
99
"Report-Msgid-Bugs-To: https://github.com/linuxmint/cinnamon-spices-applets/"
1010
"issues\n"
11-
"POT-Creation-Date: 2024-09-25 22:35+0200\n"
11+
"POT-Creation-Date: 2024-10-01 18:55+0200\n"
1212
"PO-Revision-Date: 2024-09-26 03:22+0200\n"
1313
"Last-Translator: Odyssey <[email protected]>\n"
1414
"Language-Team: \n"
@@ -26,12 +26,12 @@ msgstr "Actualment impedint el protector de pantalla"
2626
msgid "Currently allowing screensaver"
2727
msgstr "Actualment permetent el protector de pantalla"
2828

29-
#. applet.js:126
29+
#. applet.js:134
3030
msgid "Screensaver settings"
3131
msgstr "Configuració del protector de pantalla"
3232

3333
#. settings-schema.json->inhibit-at-startup->description
34-
#. applet.js:130
34+
#. applet.js:138
3535
msgid "Inhibit screensaver at startup"
3636
msgstr "Inhibit el protector de pantalla en arrancar"
3737

@@ -45,10 +45,57 @@ msgstr ""
4545
msgid "Screensaver Inhibitor"
4646
msgstr "Inhibidor del protector de pantalla"
4747

48-
#. settings-schema.json->head->description
48+
#. settings-schema.json->pGeneral->title
49+
msgid "General"
50+
msgstr ""
51+
52+
#. settings-schema.json->pIcons->title
53+
#. settings-schema.json->sectionIcons->title
4954
msgid "Icons"
5055
msgstr "Icones"
5156

57+
#. settings-schema.json->pKeybindings->title
58+
#. settings-schema.json->sectionKeybindings->title
59+
msgid "Keybinding"
60+
msgstr "Dreceres del teclat"
61+
62+
#. settings-schema.json->sectionStartup->title
63+
msgid "Startup"
64+
msgstr "Inici"
65+
66+
#. settings-schema.json->sectionDurationOrEndTime->title
67+
#, fuzzy
68+
msgid "Duration or End Time of screen saver inhibition"
69+
msgstr "Número de segons abans de la inhibició del protector de pantalla"
70+
71+
#. settings-schema.json->sectionBlocking->title
72+
msgid "Way to block the screensaver"
73+
msgstr "Manera de blocar el protector de pantalla"
74+
75+
#. settings-schema.json->end-timechooser->description
76+
msgid "Time"
77+
msgstr ""
78+
79+
#. settings-schema.json->end-timechooser->tooltip
80+
msgid "Seconds will be ignored."
81+
msgstr ""
82+
83+
#. settings-schema.json->end-type->description
84+
msgid "The time shown above is"
85+
msgstr ""
86+
87+
#. settings-schema.json->end-type->options
88+
msgid "to be disregarded"
89+
msgstr ""
90+
91+
#. settings-schema.json->end-type->options
92+
msgid "the inhibit duration"
93+
msgstr ""
94+
95+
#. settings-schema.json->end-type->options
96+
msgid "the inhibit end time"
97+
msgstr ""
98+
5299
#. settings-schema.json->off-icon->description
53100
msgid "Power management allowed icon:"
54101
msgstr "Icona de permissió d'administració de la energia:"
@@ -66,26 +113,14 @@ msgstr "Icona d'impediment d'administració de la energia:"
66113
msgid "Reset to default icons"
67114
msgstr "Reiniciar a les icones per defecte"
68115

69-
#. settings-schema.json->head1->description
70-
msgid "Keybinding"
71-
msgstr "Dreceres del teclat"
72-
73116
#. settings-schema.json->keybinding->description
74117
msgid "Set the keybinding for screensaver inhibit"
75118
msgstr "Assigneu la drecera per a l'inhibidor del protector de pantalla"
76119

77-
#. settings-schema.json->head2->description
78-
msgid "Startup"
79-
msgstr "Inici"
80-
81120
#. settings-schema.json->seconds-after-startup->description
82121
msgid "Number of seconds before screensaver inhibition"
83122
msgstr "Número de segons abans de la inhibició del protector de pantalla"
84123

85-
#. settings-schema.json->head3->description
86-
msgid "Way to block the screensaver"
87-
msgstr "Manera de blocar el protector de pantalla"
88-
89124
#. settings-schema.json->locklabel->description
90125
msgid "(Avoid using aggressive ways, if possible.)"
91126
msgstr "(Si pot ser, eviteu usar maneres agressives.)"

screen-inhibit@mtwebster/files/screen-inhibit@mtwebster/po/da.po

Lines changed: 51 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ msgstr ""
88
"Project-Id-Version: \n"
99
"Report-Msgid-Bugs-To: https://github.com/linuxmint/cinnamon-spices-applets/"
1010
"issues\n"
11-
"POT-Creation-Date: 2024-09-25 22:35+0200\n"
11+
"POT-Creation-Date: 2024-10-01 18:55+0200\n"
1212
"PO-Revision-Date: 2017-10-01 14:17+0200\n"
1313
"Last-Translator: Alan Mortensen <[email protected]>\n"
1414
"Language-Team: \n"
@@ -27,12 +27,12 @@ msgstr "Pauseskærmen er aktiveret"
2727
msgid "Currently allowing screensaver"
2828
msgstr "Pauseskærmen er aktiveret"
2929

30-
#. applet.js:126
30+
#. applet.js:134
3131
msgid "Screensaver settings"
3232
msgstr "Indstillinger"
3333

3434
#. settings-schema.json->inhibit-at-startup->description
35-
#. applet.js:130
35+
#. applet.js:138
3636
msgid "Inhibit screensaver at startup"
3737
msgstr ""
3838

@@ -45,10 +45,57 @@ msgstr ""
4545
msgid "Screensaver Inhibitor"
4646
msgstr "Deaktivering af pauseskærmen"
4747

48-
#. settings-schema.json->head->description
48+
#. settings-schema.json->pGeneral->title
49+
msgid "General"
50+
msgstr ""
51+
52+
#. settings-schema.json->pIcons->title
53+
#. settings-schema.json->sectionIcons->title
4954
msgid "Icons"
5055
msgstr "Ikoner"
5156

57+
#. settings-schema.json->pKeybindings->title
58+
#. settings-schema.json->sectionKeybindings->title
59+
msgid "Keybinding"
60+
msgstr "Tastegenvej"
61+
62+
#. settings-schema.json->sectionStartup->title
63+
msgid "Startup"
64+
msgstr ""
65+
66+
#. settings-schema.json->sectionDurationOrEndTime->title
67+
#, fuzzy
68+
msgid "Duration or End Time of screen saver inhibition"
69+
msgstr "Angiv tastegenvejen for at aktivere en handling: "
70+
71+
#. settings-schema.json->sectionBlocking->title
72+
msgid "Way to block the screensaver"
73+
msgstr ""
74+
75+
#. settings-schema.json->end-timechooser->description
76+
msgid "Time"
77+
msgstr ""
78+
79+
#. settings-schema.json->end-timechooser->tooltip
80+
msgid "Seconds will be ignored."
81+
msgstr ""
82+
83+
#. settings-schema.json->end-type->description
84+
msgid "The time shown above is"
85+
msgstr ""
86+
87+
#. settings-schema.json->end-type->options
88+
msgid "to be disregarded"
89+
msgstr ""
90+
91+
#. settings-schema.json->end-type->options
92+
msgid "the inhibit duration"
93+
msgstr ""
94+
95+
#. settings-schema.json->end-type->options
96+
msgid "the inhibit end time"
97+
msgstr ""
98+
5299
#. settings-schema.json->off-icon->description
53100
msgid "Power management allowed icon:"
54101
msgstr "Ikon for aktiveret strømstyring:"
@@ -66,27 +113,15 @@ msgstr "Ikon for deaktiveret strømstyring:"
66113
msgid "Reset to default icons"
67114
msgstr ""
68115

69-
#. settings-schema.json->head1->description
70-
msgid "Keybinding"
71-
msgstr "Tastegenvej"
72-
73116
#. settings-schema.json->keybinding->description
74117
msgid "Set the keybinding for screensaver inhibit"
75118
msgstr "Angiv tastegenvejen for at aktivere en handling: "
76119

77-
#. settings-schema.json->head2->description
78-
msgid "Startup"
79-
msgstr ""
80-
81120
#. settings-schema.json->seconds-after-startup->description
82121
#, fuzzy
83122
msgid "Number of seconds before screensaver inhibition"
84123
msgstr "Angiv tastegenvejen for at aktivere en handling: "
85124

86-
#. settings-schema.json->head3->description
87-
msgid "Way to block the screensaver"
88-
msgstr ""
89-
90125
#. settings-schema.json->locklabel->description
91126
msgid "(Avoid using aggressive ways, if possible.)"
92127
msgstr ""

0 commit comments

Comments
 (0)