Comments (3)
There are a few challenges with implementing this. As you say, overlapping panels requires heavy box drawing characters rather than highlighting, which means if we still want to highlight the border of the selected panel via bright white, there would be a slight spill into the adjacent panel. Looking at my screen, just using the heavy box characters alone doesn't make the focus of the current panel very obvious, so there would need to be a tradeoff there.
Secondly if you want to highlight e.g. the files panel, you'd need it to know about the branches panel below, and only highlight those edges outside of the 'Branches' heading, which would require some refactoring in gocui (the UI library this repo uses). Likewise if you want to highlight the Diff panel, which happens during merge conflict stuff, you'd need know where the corners of the side panels are so that you can draw the correct box characters
Nonetheless I've implemented some of the code. If you set var OverlappingEdges = true
in lazygit/gui.go you'll get overlapping edges but with the abovementioned issues. I'm not sure whether I want to make it a configurable user option now or wait till there's proper highlighting that addresses the above issues. Happy to take suggestions :)
from lazygit.
Yep, that looks to be a serious improvement to me, issues notwithstanding.
It does, however, remind me of one thing I forgot to suggest: removing the outer edge borders (left, right and bottom, that is; top can’t be removed so readily).
I’ve made exactly this style of suggestion on a couple of other projects, you’re the first to seriously experiment with it. 🥇! But you have a trickier time of it than the other projects, because you actually have to indicate panel focus in some way, whereas other projects I’ve suggested it on didn’t have to worry about that. Using reverse on the title of the active pane may be reasonable.
from lazygit.
Closing this ticket, may revisit in the future :)
from lazygit.
Related Issues (20)
- Editing a gpg signed commit message via a Editor crashes HOT 1
- Better global error handling
- Unable to update lazygit - Invalid cross-device link
- Possible memory leak HOT 1
- Installing Lazygit with Go, dependency download failed HOT 4
- Jittering and laggy scrolling in the latest version HOT 1
- lazygit is not starting HOT 2
- crash if opened from a .git folder
- Additional reset shortcut HOT 3
- Lazygit crashed on adding github SSH remote HOT 1
- error "expected section name" HOT 3
- Emoji in commit log cause extra characters right after the emoji HOT 1
- Disable split when Staged/Unstaged is empty HOT 1
- externalDiffCommand doesn't work when diffing between 2 refs HOT 2
- PowerShell's limitation on 4bit basic 16 colours
- Nil pointer on *RemoteBranch.FullName
- Error when creating Pull Requests with Bitbucket HOT 1
- Cannot moving commit in tmux HOT 7
- Tell Lazygit not to set the terminal title HOT 1
- Lazygit hangs terminal on listing commits HOT 10
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lazygit.