From 2e4f407974e162b6d47215505abd5bfb8d2be992 Mon Sep 17 00:00:00 2001 From: Siarhei Siniak Date: Wed, 24 Dec 2025 16:10:49 +0300 Subject: [PATCH] [+] update oom_firefox 1. allow to change kill percent via p hotkey; --- python/meson.build | 2 +- python/online/fxreader/pr34/oom_firefox.py | 47 ++++++++++++++++++- ...ne_fxreader_pr34-0.1.5.60-py3-none-any.whl | 3 ++ ...ne_fxreader_pr34-0.1.5.61-py3-none-any.whl | 3 ++ 4 files changed, 53 insertions(+), 2 deletions(-) create mode 100644 releases/whl/online_fxreader_pr34-0.1.5.60-py3-none-any.whl create mode 100644 releases/whl/online_fxreader_pr34-0.1.5.61-py3-none-any.whl diff --git a/python/meson.build b/python/meson.build index 0473ffb..854c69b 100644 --- a/python/meson.build +++ b/python/meson.build @@ -5,7 +5,7 @@ project( ).stdout().strip('\n'), # 'online.fxreader.uv', # ['c', 'cpp'], - version: '0.1.5.59', + version: '0.1.5.61', # default_options: [ # 'cpp_std=c++23', # # 'prefer_static=true', diff --git a/python/online/fxreader/pr34/oom_firefox.py b/python/online/fxreader/pr34/oom_firefox.py index 61ab281..8500f60 100644 --- a/python/online/fxreader/pr34/oom_firefox.py +++ b/python/online/fxreader/pr34/oom_firefox.py @@ -237,6 +237,10 @@ def kill_prioritized( p=p, action='kill', msg='started', + to_free_mb=to_free_mb, + killed=killed, + freed=freed, + low_priority_pids=low_priority_pids, ) ) @@ -472,6 +476,11 @@ def main(): root_floats.append(f) app.layout.focus(ta) + def change_kill_percent(kill_percent: float) -> None: + assert kill_percent >= 10 and kill_percent <= 90 + + args.kill_percent = kill_percent + def change_max_mb(max_mb: int) -> None: for cmd in ( [ @@ -502,7 +511,6 @@ def main(): txt = ta.text m = re.compile(r'^\s*(\d+)\s*$').match(txt) - a: str = 234234 if m: change_max_mb(int(m[1])) @@ -529,6 +537,39 @@ def main(): root_floats.append(f) app.layout.focus(ta) + def open_percentage_dialog(): + ta = TextArea(text='', multiline=True, scrollbar=True) + + def on_ok(): + txt = ta.text + m = re.compile(r'^\s*(\d+|\d+\.\d+)\s*$').match(txt) + + if m: + change_kill_percent(float(m[1])) + + close_dialog() + refresh_body() + else: + logger.error('invalid input %s' % txt) + + def on_cancel(): + close_dialog() + + dialog = Dialog( + title='Enter kill percent from 10% to 90%, without % sign', + body=ta, + buttons=[ + Button(text='OK', handler=on_ok), + Button(text='Cancel', handler=on_cancel), + ], + width=60, + modal=True, + ) + f = Float(content=dialog, left=2, top=2) + dialog_float[0] = f + root_floats.append(f) + app.layout.focus(ta) + def open_message(title, message): def on_close(): close_dialog() @@ -571,6 +612,10 @@ def main(): def _(event): open_limit_dialog() + @kb.add('p') + def _(event): + open_percentage_dialog() + HELP_TEXT = 'm=add PIDs, l=change limit, s=settings, a=about, q=quit' @kb.add('h') diff --git a/releases/whl/online_fxreader_pr34-0.1.5.60-py3-none-any.whl b/releases/whl/online_fxreader_pr34-0.1.5.60-py3-none-any.whl new file mode 100644 index 0000000..cb77839 --- /dev/null +++ b/releases/whl/online_fxreader_pr34-0.1.5.60-py3-none-any.whl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e13d2ecf1b68152400fd11c95abd6ddbb526feac6507f8d4d8d61ecfda2e027c +size 83552 diff --git a/releases/whl/online_fxreader_pr34-0.1.5.61-py3-none-any.whl b/releases/whl/online_fxreader_pr34-0.1.5.61-py3-none-any.whl new file mode 100644 index 0000000..4ddbbad --- /dev/null +++ b/releases/whl/online_fxreader_pr34-0.1.5.61-py3-none-any.whl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d944b0a23cd0c908213a46490490e7b8c449fb6b2d46eb47b723c1a6c3b8e199 +size 83652