diff options
author | pg9182 <96569817+pg9182@users.noreply.github.com> | 2023-02-22 12:40:30 -0500 |
---|---|---|
committer | pg9182 <96569817+pg9182@users.noreply.github.com> | 2023-02-22 12:40:30 -0500 |
commit | 65515ba923039b2a4c84e34822fd7c9e4911786d (patch) | |
tree | 585072a1fe54d1d0e2b8ab18bef1e4c622dad028 | |
parent | 6c29477f03a7432bf0eb5116050be405e0b2a996 (diff) | |
download | Atlas-65515ba923039b2a4c84e34822fd7c9e4911786d.tar.gz Atlas-65515ba923039b2a4c84e34822fd7c9e4911786d.zip |
cmd/atlas: Disable console quick-edit on Windows
This prevents selecting text from freezing the server.
-rw-r--r-- | cmd/atlas/main_windows.go | 20 | ||||
-rw-r--r-- | go.mod | 2 |
2 files changed, 21 insertions, 1 deletions
diff --git a/cmd/atlas/main_windows.go b/cmd/atlas/main_windows.go new file mode 100644 index 0000000..a6a1912 --- /dev/null +++ b/cmd/atlas/main_windows.go @@ -0,0 +1,20 @@ +//go:build windows + +package main + +import ( + "os" + + "golang.org/x/sys/windows" +) + +func init() { + con := windows.Handle(os.Stdin.Fd()) + + var mode uint32 + if err := windows.GetConsoleMode(con, &mode); err == nil { + mode |= windows.ENABLE_EXTENDED_FLAGS + mode &^= windows.ENABLE_QUICK_EDIT_MODE + _ = windows.SetConsoleMode(con, mode) + } +} @@ -16,6 +16,7 @@ require ( github.com/spf13/pflag v1.0.5 golang.org/x/mod v0.7.0 golang.org/x/net v0.2.0 + golang.org/x/sys v0.2.0 ) require ( @@ -25,5 +26,4 @@ require ( github.com/rs/xid v1.4.0 // indirect github.com/valyala/fastrand v1.1.0 // indirect github.com/valyala/histogram v1.2.0 // indirect - golang.org/x/sys v0.2.0 // indirect ) |