mirror of
https://github.com/denizsafak/abogen.git
synced 2026-07-18 13:40:27 +02:00
Better sleep state handling for Linux
This commit is contained in:
@@ -1,3 +1,7 @@
|
|||||||
|
# v1.0.8 (pre-release)
|
||||||
|
- Improved input box background color handling, fixed display issues in Linux Wayland.
|
||||||
|
- Better sleep state handling for Linux.
|
||||||
|
|
||||||
# v1.0.7
|
# v1.0.7
|
||||||
- Improve chaptered audio generation by outputting directly as `m4b` instead of converting from `wav`.
|
- Improve chaptered audio generation by outputting directly as `m4b` instead of converting from `wav`.
|
||||||
- Ignore chapter markers and single newlines when calculating text length, improving the accuracy of the text length calculation.
|
- Ignore chapter markers and single newlines when calculating text length, improving the accuracy of the text length calculation.
|
||||||
|
|||||||
+11
-14
@@ -227,29 +227,26 @@ def prevent_sleep_start():
|
|||||||
system = platform.system()
|
system = platform.system()
|
||||||
if system == "Windows":
|
if system == "Windows":
|
||||||
import ctypes
|
import ctypes
|
||||||
|
|
||||||
ctypes.windll.kernel32.SetThreadExecutionState(
|
ctypes.windll.kernel32.SetThreadExecutionState(
|
||||||
0x80000000 | 0x00000001 | 0x00000040
|
0x80000000 | 0x00000001 | 0x00000040
|
||||||
) # ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_AWAYMODE_REQUIRED
|
|
||||||
elif system == "Darwin":
|
|
||||||
_sleep_procs["Darwin"] = create_process("caffeinate")
|
|
||||||
elif system == "Linux":
|
|
||||||
try:
|
|
||||||
_sleep_procs["Linux"] = create_process(
|
|
||||||
"systemd-inhibit --what=sleep --why=TextToAudiobook conversion sleep 999999"
|
|
||||||
)
|
)
|
||||||
except Exception:
|
elif system == "Darwin":
|
||||||
try:
|
_sleep_procs["Darwin"] = create_process(["caffeinate"])
|
||||||
create_process("xdg-screensaver reset")
|
elif system == "Linux":
|
||||||
except Exception:
|
# use a sleep that never exits so inhibition stays active
|
||||||
pass
|
_sleep_procs["Linux"] = create_process([
|
||||||
|
"systemd-inhibit",
|
||||||
|
"--what=handle-lid-switch:sleep",
|
||||||
|
"--mode=block",
|
||||||
|
"sleep",
|
||||||
|
"infinity",
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
def prevent_sleep_end():
|
def prevent_sleep_end():
|
||||||
system = platform.system()
|
system = platform.system()
|
||||||
if system == "Windows":
|
if system == "Windows":
|
||||||
import ctypes
|
import ctypes
|
||||||
|
|
||||||
ctypes.windll.kernel32.SetThreadExecutionState(0x80000000) # ES_CONTINUOUS
|
ctypes.windll.kernel32.SetThreadExecutionState(0x80000000) # ES_CONTINUOUS
|
||||||
elif system in ("Darwin", "Linux") and _sleep_procs[system]:
|
elif system in ("Darwin", "Linux") and _sleep_procs[system]:
|
||||||
try:
|
try:
|
||||||
|
|||||||
Reference in New Issue
Block a user