A few various changes

- Fixed the '-local' flag to accept host and port
- Added a '-debug' flag to accept a file to write debug log messages
- Added some logic which will force the dark background flag on if MacOS is in dark mode
This commit is contained in:
Leon Mika 2022-06-16 22:00:25 +10:00
parent 47e404aff7
commit 41af399215
18 changed files with 191 additions and 68 deletions

View file

@ -0,0 +1,18 @@
package osstyle
type ColorScheme int
const (
ColorSchemeUnknown ColorScheme = iota
ColorSchemeLightMode
ColorSchemeDarkMode
)
var getOSColorScheme func() ColorScheme = nil
func CurrentColorScheme() ColorScheme {
if getOSColorScheme == nil {
return ColorSchemeUnknown
}
return getOSColorScheme()
}

View file

@ -0,0 +1,27 @@
package osstyle
import (
"log"
"os/exec"
)
// Usage: https://stefan.sofa-rockers.org/2018/10/23/macos-dark-mode-terminal-vim/
func darwinGetOSColorScheme() ColorScheme {
d, err := exec.Command("defaults", "read", "-g", "AppleInterfaceStyle").Output()
if err != nil {
log.Printf("cannot get current OS color scheme: %v", err)
return ColorSchemeUnknown
}
switch string(d) {
case "Dark\n":
return ColorSchemeDarkMode
case "Light\n":
return ColorSchemeLightMode
}
return ColorSchemeUnknown
}
func init() {
getOSColorScheme = darwinGetOSColorScheme
}