From a9b6d37a753cf782f91ba5d33403663ec1cf5b2e Mon Sep 17 00:00:00 2001 From: Siarhei Siniak Date: Wed, 4 Jan 2023 13:39:54 +0300 Subject: [PATCH] [~] Refactor --- dotfiles/.local/bin/commands | 54 ++++++++++++++++++++++++------------ 1 file changed, 36 insertions(+), 18 deletions(-) diff --git a/dotfiles/.local/bin/commands b/dotfiles/.local/bin/commands index 916d7b1..bca5188 100755 --- a/dotfiles/.local/bin/commands +++ b/dotfiles/.local/bin/commands @@ -204,7 +204,7 @@ def eternal_oom(argv): '--memory_limit', dest='memory_limit', default=None, - type=int, + type=float, ) parser.add_option( '--cpu_limit', @@ -233,6 +233,9 @@ def eternal_oom(argv): if options.mean_size is None: options.mean_size = 30 + if isinstance(options.memory_limit, float): + options.memory_limit = int(options.memory_limit) + assert isinstance(options.memory_limit, int) \ and options.memory_limit < memory_stats()['mem_total'] * 0.8 \ and options.memory_limit > 512 * 1024 @@ -1229,35 +1232,36 @@ def desktop_services(argv): '*', 'bg', options.background_image, - 'fit', + 'fill', ]) self.commands = dict( swaylock_cmd2=' '.join(swaylock_cmd), - timeout1='echo t1; swaymsg "output * dpms off";', - lock='echo t6; pkill --signal SIGUSR1 swayidle;', - unlock='echo t7; pkill --signal SIGINT swaylock; swaymsg "output * dpms on";', + timeout1='echo timeout1; swaymsg "output * dpms off";', + lock='echo lock; pkill --signal SIGUSR1 swayidle;', + unlock='echo unlock; pkill --signal SIGINT swaylock; swaymsg "output * dpms on";', unlock2='pkill --signal SIGINT swaylock;', - resume='echo t2; swaymsg "output * dpms on";', - before_sleep='echo t3; loginctl lock-session;', - after_resume='echo t4; pkill --signal SIGUSR1 swayidle;', + resume='echo resume; swaymsg "output * dpms on";', + before_sleep='echo before_sleep; loginctl lock-session;', + after_resume='echo after_resume; pkill --signal SIGUSR1 swayidle;', ) self.last_force_idle = None self.commands.update( - timeout2='echo t5; {swaylock_cmd};'.format( + timeout2='echo timeout2; {swaylock_cmd};'.format( swaylock_cmd=self.commands['swaylock_cmd2'] ) ) self.swayidle = subprocess.Popen( r''' exec swayidle -d -w \ - timeout 300 'echo t1;' \ + timeout 300 'echo t1; read;' \ + resume 'echo t5; ' \ + timeout 900 'echo t4; read;' \ + resume 'echo t5; ' \ lock 'echo t2; read;' \ unlock 'echo t3;' \ - timeout 900 'echo t4;' \ - resume 'echo t5; ' \ before-sleep 'echo t6; read;' \ - after-resume 'echo t7;' + after-resume 'echo t7; read;' ''', shell=True, stdin=subprocess.PIPE, @@ -1333,9 +1337,13 @@ def desktop_services(argv): if len(self.events) > 0: for o in self.events: if o == 't1': + #if self.force_idle(): + # subprocess.check_call(self.commands['lock'], shell=True) + print('started t1') if self.force_idle(): - subprocess.call(self.commands['timeout2'], shell=True) subprocess.check_call(self.commands['timeout1'], shell=True) + print('done t1') + self.release_lock() elif o == 't2': print('started lock') if self.force_idle(): @@ -1347,21 +1355,31 @@ def desktop_services(argv): elif o == 't3': pass elif o == 't4': - pass + print('started t4') + if self.force_idle(): + subprocess.check_call(self.commands['lock'], shell=True) + subprocess.call(self.commands['timeout2'], shell=True) + subprocess.check_call(self.commands['timeout1'], shell=True) + print('done t4') + self.release_lock() elif o == 't5': if self.force_idle(): subprocess.check_call(self.commands['lock'], shell=True) subprocess.check_call(self.commands['resume'], shell=True), elif o == 't6': print('started before-sleep') - subprocess.call(self.commands['timeout2'], shell=True), - subprocess.check_call(self.commands['timeout1'], shell=True), - print('started before-done') + if self.force_idle(): + subprocess.call(self.commands['timeout2'], shell=True), + subprocess.check_call(self.commands['timeout1'], shell=True), + print('done before-sleep') self.release_lock() elif o == 't7': + print('started resume') if self.force_idle(): subprocess.check_call(self.commands['lock'], shell=True) subprocess.check_call(self.commands['resume'], shell=True), + print('done resume') + self.release_lock() else: raise NotImplementedError