Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-15-SP2:Update
xorg-x11-server.36106
N_zap_warning_xserver.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File N_zap_warning_xserver.diff of Package xorg-x11-server.36106
From: Luc Verhaegen <lverhaegen@suse.de> Handle 'Zap' - Ctrl-Alt-Backspace more gracefully To avoid accidental zapping of the Xserver warn after the first ctrl-alt-backspace by emitting a beep. Only Zap the server if a second ctrl-alt-backspace is sent within 2 seconds. This can be enabled with a new option flag "ZapWarning" Index: xorg-server-1.12.1/hw/xfree86/common/xf86Config.c =================================================================== --- xorg-server-1.12.1.orig/hw/xfree86/common/xf86Config.c +++ xorg-server-1.12.1/hw/xfree86/common/xf86Config.c @@ -680,6 +680,7 @@ typedef enum { FLAG_NOTRAPSIGNALS, FLAG_DONTVTSWITCH, FLAG_DONTZAP, + FLAG_ZAPWARNING, FLAG_DONTZOOM, FLAG_DISABLEVIDMODE, FLAG_ALLOWNONLOCAL, @@ -717,6 +718,8 @@ static OptionInfoRec FlagOptions[] = { {0}, FALSE}, {FLAG_DONTZAP, "DontZap", OPTV_BOOLEAN, {0}, FALSE}, + { FLAG_ZAPWARNING, "ZapWarning", OPTV_BOOLEAN, + {0}, FALSE }, {FLAG_DONTZOOM, "DontZoom", OPTV_BOOLEAN, {0}, FALSE}, {FLAG_DISABLEVIDMODE, "DisableVidModeExtension", OPTV_BOOLEAN, @@ -805,6 +805,7 @@ configServerFlags(XF86ConfFlagsPtr flags xf86GetOptValBool(FlagOptions, FLAG_NOTRAPSIGNALS, &xf86Info.notrapSignals); xf86GetOptValBool(FlagOptions, FLAG_DONTVTSWITCH, &xf86Info.dontVTSwitch); xf86GetOptValBool(FlagOptions, FLAG_DONTZAP, &xf86Info.dontZap); + xf86GetOptValBool(FlagOptions, FLAG_ZAPWARNING, &xf86Info.ZapWarning); xf86GetOptValBool(FlagOptions, FLAG_DONTZOOM, &xf86Info.dontZoom); xf86GetOptValBool(FlagOptions, FLAG_IGNORE_ABI, &xf86Info.ignoreABI); Index: xorg-server-1.12.1/hw/xfree86/common/xf86Events.c =================================================================== --- xorg-server-1.12.1.orig/hw/xfree86/common/xf86Events.c +++ xorg-server-1.12.1/hw/xfree86/common/xf86Events.c @@ -182,13 +182,25 @@ xf86ProcessActionEvent(ActionEvent actio DebugF("ProcessActionEvent(%d,%p)\n", (int) action, arg); switch (action) { case ACTION_TERMINATE: - if (!xf86Info.dontZap) { - xf86Msg(X_INFO, "Server zapped. Shutting down.\n"); + if (xf86Info.dontZap) + break; + + if (xf86Info.ZapWarning) { + static struct timeval LastZap = { 0, 0}; + struct timeval NewZap; + + gettimeofday(&NewZap, NULL); + + if ((NewZap.tv_sec - LastZap.tv_sec) >= 2) { + xf86OSRingBell(30, 1000, 50); + LastZap = NewZap; + break; + } + } #ifdef XFreeXDGA - DGAShutdown(); + DGAShutdown(); #endif - GiveUp(0); - } + GiveUp(0); break; case ACTION_NEXT_MODE: if (!xf86Info.dontZoom) Index: xorg-server-1.12.1/hw/xfree86/common/xf86Globals.c =================================================================== --- xorg-server-1.12.1.orig/hw/xfree86/common/xf86Globals.c +++ xorg-server-1.12.1/hw/xfree86/common/xf86Globals.c @@ -108,6 +108,7 @@ xf86InfoRec xf86Info = { .autoVTSwitch = TRUE, .ShareVTs = FALSE, .dontZap = FALSE, + .ZapWarning = TRUE, .dontZoom = FALSE, .notrapSignals = FALSE, .currentScreen = NULL, Index: xorg-server-1.12.1/hw/xfree86/common/xf86Privstr.h =================================================================== --- xorg-server-1.12.1.orig/hw/xfree86/common/xf86Privstr.h +++ xorg-server-1.12.1/hw/xfree86/common/xf86Privstr.h @@ -70,6 +70,7 @@ typedef struct { Bool autoVTSwitch; Bool ShareVTs; Bool dontZap; + Bool ZapWarning; Bool dontZoom; Bool notrapSignals; /* don't exit cleanly - die at fault */
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor