Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[feature request] Launching a panel with a specified window size. #3042

Closed
thenbe opened this issue Sep 30, 2023 · 1 comment
Closed

[feature request] Launching a panel with a specified window size. #3042

thenbe opened this issue Sep 30, 2023 · 1 comment
Labels
enhancement New feature or request

Comments

@thenbe
Copy link

thenbe commented Sep 30, 2023

As I understand it, there are three view size: full, half, normal.

There is a single key in the config file that utilizes the 3 view sizes mentioned above, gui.windowSize. This key only affects the "main" window, which is the one you are presented with just running lazygit without positional args. This all works great.

However, when using positional args (i.e. lazygit stash or lazygit log), the key above does not take effect. I'm not proposing that it should. Instead, I'd like to suggest a new key gui.panelWindowSize (name up for bike-shedding), which controls the default view mode when launching lazygit with a positional argument.

Why?

  1. lazygit stash, in most situations, isn't very useful unless you press _ once (to half) to see the diff because the stash names all look similar so it's difficult to know which is which.

  2. If your workflow has you opening lazygit (stash|log|branch) in a full-screen window (as opposed to a tmux vertical split), then you almost always have a lot (right half+ of the screen) of empty space anyways. So it would make sense for you to set this new flag to half.

@thenbe thenbe added the enhancement New feature or request label Sep 30, 2023
ayyess added a commit to ayyess/lazygit that referenced this issue Jan 15, 2024
Previously, lazygit status, log, or branch always opened in a full
window size regardless of the gui.windowSize value. Now,
gui.panelWindowSize configures the window size per arg (and no arg can
be configured as "main") regardless of requested filter path.

Closes jesseduffield#3042
jesseduffield added a commit that referenced this issue Jan 2, 2025
It should have been half-screen from the get-go. I think I just used
full-screen to make demos look nicer. Now that we have a CLI arg for the
screen mode we can make use of that in the demos.

Relates to #3042

- **PR Description**

- **Please check if the PR fulfills these requirements**

* [ ] Cheatsheets are up-to-date (run `go generate ./...`)
* [ ] Code has been formatted (see
[here](https://github.com/jesseduffield/lazygit/blob/master/CONTRIBUTING.md#code-formatting))
* [ ] Tests have been added/updated (see
[here](https://github.com/jesseduffield/lazygit/blob/master/pkg/integration/README.md)
for the integration test guide)
* [ ] Text is internationalised (see
[here](https://github.com/jesseduffield/lazygit/blob/master/CONTRIBUTING.md#internationalisation))
* [ ] If a new UserConfig entry was added, make sure it can be
hot-reloaded (see
[here](https://github.com/jesseduffield/lazygit/blob/master/docs/dev/Codebase_Guide.md#using-userconfig))
* [ ] Docs have been updated if necessary
* [ ] You've read through your own file changes for silly mistakes etc

<!--
Be sure to name your PR with an imperative e.g. 'Add worktrees view'
see https://github.com/jesseduffield/lazygit/releases/tag/v0.40.0 for
examples
-->
@jesseduffield
Copy link
Owner

There is a new CLI arg called --screen-mode which lets you specify the panel size (half/full/normal) on startup. I've also updated the default to 'half' in #4141

It's not quite what you suggested (separate setting per panel) but I actually don't think that's necessary, so I'm gonna close this issue. If you disagree let me know.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants