Made centering the buffer in the window optional
It causes jitter while resizing in floating wms
This commit is contained in:
parent
81a0c60943
commit
0ee58d22f6
@ -39,6 +39,7 @@ func (backend *Backend) handleConfigureNotify (
|
||||
width, height := backend.calculateBufferSize()
|
||||
backend.application.SetSize(width, height)
|
||||
|
||||
if backend.config.Center() {
|
||||
// position buffer in the center of the screen
|
||||
frameWidth := width * backend.metrics.cellWidth
|
||||
frameHeight := height * backend.metrics.cellHeight
|
||||
@ -46,6 +47,10 @@ func (backend *Backend) handleConfigureNotify (
|
||||
(backend.metrics.windowWidth - frameWidth) / 2
|
||||
backend.metrics.paddingY =
|
||||
(backend.metrics.windowHeight - frameHeight) / 2
|
||||
} else {
|
||||
backend.metrics.paddingX = backend.metrics.padding
|
||||
backend.metrics.paddingY = backend.metrics.padding
|
||||
}
|
||||
|
||||
backend.windowBoundsClean = false
|
||||
}
|
||||
|
16
config.go
16
config.go
@ -12,6 +12,7 @@ import "path/filepath"
|
||||
type Config struct {
|
||||
colors [8]color.Color
|
||||
padding int
|
||||
center bool
|
||||
fontSize int
|
||||
fontName string
|
||||
}
|
||||
@ -29,6 +30,13 @@ func (config *Config) Padding () (padding int) {
|
||||
return
|
||||
}
|
||||
|
||||
// Center returns whether the buffer should be displayed in the center of the
|
||||
// window like in kitty, or aligned to one corner like in gnome-terminal.
|
||||
func (config *Config) Center () (center bool) {
|
||||
center = config.center
|
||||
return
|
||||
}
|
||||
|
||||
// FontSize specifies how big the font should be.
|
||||
func (config *Config) FontSize () (fontSize int) {
|
||||
fontSize = config.fontSize
|
||||
@ -98,8 +106,14 @@ func (config *Config) loadFile (path string) {
|
||||
}
|
||||
key = strings.TrimSpace(key)
|
||||
value = strings.TrimSpace(value)
|
||||
|
||||
var valueInt int
|
||||
var valueColor color.Color
|
||||
var valueBoolean bool
|
||||
|
||||
if value == "true" {
|
||||
valueBoolean = true
|
||||
}
|
||||
|
||||
if value[0] == '#' {
|
||||
if len(value) != 7 {
|
||||
@ -134,6 +148,8 @@ func (config *Config) loadFile (path string) {
|
||||
config.fontSize = valueInt
|
||||
case "padding":
|
||||
config.padding = valueInt
|
||||
case "center":
|
||||
config.center = valueBoolean
|
||||
case "colorBackground":
|
||||
config.colors[ColorBackground] = valueColor
|
||||
case "colorForeground":
|
||||
|
Loading…
Reference in New Issue
Block a user