mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-05-11 04:15:48 +02:00
Add user config expandedSidePanelWeight
This commit is contained in:
parent
557dfc5a6d
commit
1269938ee6
5 changed files with 55 additions and 1 deletions
|
@ -68,6 +68,10 @@ gui:
|
||||||
# If true, increase the height of the focused side window; creating an accordion effect.
|
# If true, increase the height of the focused side window; creating an accordion effect.
|
||||||
expandFocusedSidePanel: false
|
expandFocusedSidePanel: false
|
||||||
|
|
||||||
|
# The weight of the expanded side panel, relative to the other panels. 2 means
|
||||||
|
# twice as tall as the other panels. Only relevant if `expandFocusedSidePanel` is true.
|
||||||
|
expandedSidePanelWeight: 2
|
||||||
|
|
||||||
# Sometimes the main window is split in two (e.g. when the selected file has both staged and unstaged changes). This setting controls how the two sections are split.
|
# Sometimes the main window is split in two (e.g. when the selected file has both staged and unstaged changes). This setting controls how the two sections are split.
|
||||||
# Options are:
|
# Options are:
|
||||||
# - 'horizontal': split the window horizontally
|
# - 'horizontal': split the window horizontally
|
||||||
|
|
|
@ -77,6 +77,9 @@ type GuiConfig struct {
|
||||||
SidePanelWidth float64 `yaml:"sidePanelWidth" jsonschema:"maximum=1,minimum=0"`
|
SidePanelWidth float64 `yaml:"sidePanelWidth" jsonschema:"maximum=1,minimum=0"`
|
||||||
// If true, increase the height of the focused side window; creating an accordion effect.
|
// If true, increase the height of the focused side window; creating an accordion effect.
|
||||||
ExpandFocusedSidePanel bool `yaml:"expandFocusedSidePanel"`
|
ExpandFocusedSidePanel bool `yaml:"expandFocusedSidePanel"`
|
||||||
|
// The weight of the expanded side panel, relative to the other panels. 2 means
|
||||||
|
// twice as tall as the other panels. Only relevant if `expandFocusedSidePanel` is true.
|
||||||
|
ExpandedSidePanelWeight int `yaml:"expandedSidePanelWeight"`
|
||||||
// Sometimes the main window is split in two (e.g. when the selected file has both staged and unstaged changes). This setting controls how the two sections are split.
|
// Sometimes the main window is split in two (e.g. when the selected file has both staged and unstaged changes). This setting controls how the two sections are split.
|
||||||
// Options are:
|
// Options are:
|
||||||
// - 'horizontal': split the window horizontally
|
// - 'horizontal': split the window horizontally
|
||||||
|
@ -651,6 +654,7 @@ func GetDefaultConfig() *UserConfig {
|
||||||
SkipStashWarning: false,
|
SkipStashWarning: false,
|
||||||
SidePanelWidth: 0.3333,
|
SidePanelWidth: 0.3333,
|
||||||
ExpandFocusedSidePanel: false,
|
ExpandFocusedSidePanel: false,
|
||||||
|
ExpandedSidePanelWeight: 2,
|
||||||
MainPanelSplitMode: "flexible",
|
MainPanelSplitMode: "flexible",
|
||||||
EnlargedSideViewLocation: "left",
|
EnlargedSideViewLocation: "left",
|
||||||
Language: "auto",
|
Language: "auto",
|
||||||
|
|
|
@ -443,7 +443,7 @@ func sidePanelChildren(args WindowArrangementArgs) func(width int, height int) [
|
||||||
if accordionMode && defaultBox.Window == args.CurrentSideWindow {
|
if accordionMode && defaultBox.Window == args.CurrentSideWindow {
|
||||||
return &boxlayout.Box{
|
return &boxlayout.Box{
|
||||||
Window: defaultBox.Window,
|
Window: defaultBox.Window,
|
||||||
Weight: 2,
|
Weight: args.UserConfig.Gui.ExpandedSidePanelWeight,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -161,6 +161,47 @@ func TestGetWindowDimensions(t *testing.T) {
|
||||||
B: information
|
B: information
|
||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: "expandSidePanelWeight",
|
||||||
|
mutateArgs: func(args *WindowArrangementArgs) {
|
||||||
|
args.UserConfig.Gui.ExpandFocusedSidePanel = true
|
||||||
|
args.UserConfig.Gui.ExpandedSidePanelWeight = 4
|
||||||
|
},
|
||||||
|
expected: `
|
||||||
|
╭status─────────────────╮╭main────────────────────────────────────────────╮
|
||||||
|
│ ││ │
|
||||||
|
╰───────────────────────╯│ │
|
||||||
|
╭files──────────────────╮│ │
|
||||||
|
│ ││ │
|
||||||
|
│ ││ │
|
||||||
|
│ ││ │
|
||||||
|
│ ││ │
|
||||||
|
│ ││ │
|
||||||
|
│ ││ │
|
||||||
|
│ ││ │
|
||||||
|
│ ││ │
|
||||||
|
│ ││ │
|
||||||
|
│ ││ │
|
||||||
|
│ ││ │
|
||||||
|
│ ││ │
|
||||||
|
│ ││ │
|
||||||
|
╰───────────────────────╯│ │
|
||||||
|
╭branches───────────────╮│ │
|
||||||
|
│ ││ │
|
||||||
|
│ ││ │
|
||||||
|
╰───────────────────────╯│ │
|
||||||
|
╭commits────────────────╮│ │
|
||||||
|
│ ││ │
|
||||||
|
│ ││ │
|
||||||
|
╰───────────────────────╯│ │
|
||||||
|
╭stash──────────────────╮│ │
|
||||||
|
│ ││ │
|
||||||
|
╰───────────────────────╯╰────────────────────────────────────────────────╯
|
||||||
|
<options──────────────────────────────────────────────────────>A<B────────>
|
||||||
|
A: statusSpacer1
|
||||||
|
B: information
|
||||||
|
`,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: "half screen mode, enlargedSideViewLocation left",
|
name: "half screen mode, enlargedSideViewLocation left",
|
||||||
mutateArgs: func(args *WindowArrangementArgs) {
|
mutateArgs: func(args *WindowArrangementArgs) {
|
||||||
|
|
|
@ -76,6 +76,11 @@
|
||||||
"description": "If true, increase the height of the focused side window; creating an accordion effect.",
|
"description": "If true, increase the height of the focused side window; creating an accordion effect.",
|
||||||
"default": false
|
"default": false
|
||||||
},
|
},
|
||||||
|
"expandedSidePanelWeight": {
|
||||||
|
"type": "integer",
|
||||||
|
"description": "The weight of the expanded side panel, relative to the other panels. 2 means\ntwice as tall as the other panels. Only relevant if `expandFocusedSidePanel` is true.",
|
||||||
|
"default": 2
|
||||||
|
},
|
||||||
"mainPanelSplitMode": {
|
"mainPanelSplitMode": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"enum": [
|
"enum": [
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue