1*4882a593SmuzhiyunFrom a53f23b63f94f32a55483ba49e23e06726d38e1f Mon Sep 17 00:00:00 2001 2*4882a593SmuzhiyunFrom: Jeffy Chen <jeffy.chen@rock-chips.com> 3*4882a593SmuzhiyunDate: Fri, 10 Jun 2022 11:44:04 +0800 4*4882a593SmuzhiyunSubject: [PATCH 4/9] Add hooks for term switching 5*4882a593Smuzhiyun 6*4882a593Smuzhiyunterm foreground: /etc/frecon/term-switch on 7*4882a593Smuzhiyunterm background: /etc/frecon/term-switch off 8*4882a593Smuzhiyun 9*4882a593SmuzhiyunSigned-off-by: Jeffy Chen <jeffy.chen@rock-chips.com> 10*4882a593Smuzhiyun--- 11*4882a593Smuzhiyun term.c | 7 +++++++ 12*4882a593Smuzhiyun 1 file changed, 7 insertions(+) 13*4882a593Smuzhiyun 14*4882a593Smuzhiyundiff --git a/term.c b/term.c 15*4882a593Smuzhiyunindex 7b6383a..8f391ef 100644 16*4882a593Smuzhiyun--- a/term.c 17*4882a593Smuzhiyun+++ b/term.c 18*4882a593Smuzhiyun@@ -1013,6 +1013,10 @@ void term_background(bool onetry) 19*4882a593Smuzhiyun if (in_background) 20*4882a593Smuzhiyun return; 21*4882a593Smuzhiyun in_background = true; 22*4882a593Smuzhiyun+ 23*4882a593Smuzhiyun+ if (system("/etc/frecon/term-switch off") < 0) 24*4882a593Smuzhiyun+ LOG(DEBUG, "Failed to exec hook script."); 25*4882a593Smuzhiyun+ 26*4882a593Smuzhiyun drm_dropmaster(NULL); 27*4882a593Smuzhiyun while (!dbus_take_display_ownership() && retry--) { 28*4882a593Smuzhiyun if (onetry) 29*4882a593Smuzhiyun@@ -1033,6 +1037,9 @@ void term_foreground(void) 30*4882a593Smuzhiyun return; 31*4882a593Smuzhiyun in_background = false; 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun+ if (system("/etc/frecon/term-switch on") < 0) 34*4882a593Smuzhiyun+ LOG(DEBUG, "Failed to exec hook script."); 35*4882a593Smuzhiyun+ 36*4882a593Smuzhiyun /* LOG(INFO, "TIMING: Console switch time start."); */ /* Keep around for timing it in the future. */ 37*4882a593Smuzhiyun while (!dbus_release_display_ownership() && retry--) { 38*4882a593Smuzhiyun LOG(ERROR, "Chrome did not release master. %s", 39*4882a593Smuzhiyun-- 40*4882a593Smuzhiyun2.20.1 41*4882a593Smuzhiyun 42