@@ -54,8 +54,11 @@ namespace Input {
5454 {" OB" , " down" },
5555 {" [D" , " left" },
5656 {" OD" , " left" },
57+ {" [1;2D" , " shift_left" },
5758 {" [C" , " right" },
5859 {" OC" , " right" },
60+ {" [1;2C" , " shift_right" },
61+ {" [1;2B" , " shift_down" },
5962 {" [2~" , " insert" },
6063 {" [4h" , " insert" },
6164 {" [3~" , " delete" },
@@ -275,6 +278,28 @@ namespace Input {
275278 Draw::calcSizes ();
276279 Runner::run (" all" , false , true );
277280 return ;
281+ }
282+ else if (is_in (key, " shift_left" , " shift_right" )) {
283+ if (Proc::shown and (Mem::shown or Net::shown)) {
284+ int proc_box_width_percent = Config::getI (" proc_box_width_percent" );
285+ const int min_p = round (((double )Proc::min_width / (double )Term::width) * 100 );
286+ const int max_p = round (100 - (((double )Mem::min_width / (double )Term::width) * 100 ));
287+ if (key == " shift_left" )
288+ proc_box_width_percent = Config::getB (" proc_left" ) ? std::max (min_p, --proc_box_width_percent) : std::min (max_p, ++proc_box_width_percent);
289+ else
290+ proc_box_width_percent = Config::getB (" proc_left" ) ? std::min (max_p, ++proc_box_width_percent) : std::max (min_p, --proc_box_width_percent);
291+
292+ Config::set (" proc_box_width_percent" , proc_box_width_percent);
293+ Draw::calcSizes ();
294+ Runner::run (" all" , false , true );
295+ }
296+ return ;
297+ }
298+ else if (key == " shift_down" ) {
299+ Config::set (" proc_box_width_percent" , 55 );
300+ Draw::calcSizes ();
301+ Runner::run (" all" , false , true );
302+ return ;
278303 } else if (is_in (key, " ctrl_r" )) {
279304 kill (getpid (), SIGUSR2);
280305 return ;
0 commit comments