aboutsummaryrefslogtreecommitdiff
path: root/cmd
diff options
context:
space:
mode:
authorpg9182 <96569817+pg9182@users.noreply.github.com>2023-02-22 12:40:30 -0500
committerpg9182 <96569817+pg9182@users.noreply.github.com>2023-02-22 12:40:30 -0500
commit65515ba923039b2a4c84e34822fd7c9e4911786d (patch)
tree585072a1fe54d1d0e2b8ab18bef1e4c622dad028 /cmd
parent6c29477f03a7432bf0eb5116050be405e0b2a996 (diff)
downloadAtlas-65515ba923039b2a4c84e34822fd7c9e4911786d.tar.gz
Atlas-65515ba923039b2a4c84e34822fd7c9e4911786d.zip
cmd/atlas: Disable console quick-edit on Windows
This prevents selecting text from freezing the server.
Diffstat (limited to 'cmd')
-rw-r--r--cmd/atlas/main_windows.go20
1 files changed, 20 insertions, 0 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)
+ }
+}