Giter Site home page Giter Site logo

design update about diffuse HOT 5 OPEN

mightycreak avatar mightycreak commented on June 26, 2024 4
design update

from diffuse.

Comments (5)

mjourdan avatar mjourdan commented on June 26, 2024 1

Are those key assignments supposed to be accurate?
Ctrl Y is listed in two different places (sort and open file).
Oh also, it says Ctrl C for Save in one place, and Ctrl S for Save in another.

Fixed, thanks!

Wow, thank you @mjourdan !

This is a very good base for what Diffuse could look like in the future. This kind of changes will obviously take some time, but it's nice to have a long-term goal.

Yep. Some parts like the settings, and keyboard shortcuts windows would also need some work.

I would automatically put an empty second pane when opening a file, because it's a diff tool and not a text editor wink

Makes perfect sense.

I like how the pretty big original menu is split into tiny designs, it's much more intuitive I think.

The overlay is interesting too, but I'm not yet convinced as I'm afraid it could get in the way. Maybe just shortcuts/accelerators are enough?

Overlay would only appear on scroll, my biggest concern with it would be the proximity with the scrollbar.

The only part I would let as it is (for now) are the tabs, because devs are more accustomed to tabs (as of today). Though I see the appeal in having them in a popover.

Yeah, features aside, the main problem with tabs in gtk3 and 4 is they take the full window width. So it may be difficult to distinguish things when there are 3 tabs and 3 panes shown.

It actually makes me think about the notion of "tabs" in a diff tool. I think there could be a way to think about these "tabs" (or "merges") as a workspace to view a commit diff or to resolve conflicts. The use cases being for instance:

* You're preparing a commit and you'd like to see all the diffs in one app

* You merge master in your branch, that would create conflicts and you'd like to resolve all the conflicts in one app

Considering that, and especially for conflicts, it would be interesting to keep track of which files are resolved and which still need to be resolved.

Ok, I updated the mockups with your feedback, and keep the popover as an alternative idea for later.

from diffuse.

mjourdan avatar mjourdan commented on June 26, 2024 1

Hey @MightyCreak,

Regarding Libadwaita, GTK4 and Python, people seem to have ported their apps successfully. According to this post the biggest issue was with Flatpak.

Regarding navigation, it makes no doubt Diffuse should be fully controllable from keyboard. The keyboard shortcuts for those could be shown while hovering the jump button. If revealing the overlay on any mouse event was too frequent, one other idea could be to trigger it when moving the mouse from one panel to another (in addition to scrolling).

Thank you for the update, it's nice to hear from you!

from diffuse.

joyously avatar joyously commented on June 26, 2024

Are those key assignments supposed to be accurate?
Ctrl Y is listed in two different places (sort and open file).
Oh also, it says Ctrl C for Save in one place, and Ctrl S for Save in another.

from diffuse.

MightyCreak avatar MightyCreak commented on June 26, 2024

Wow, thank you @mjourdan !

This is a very good base for what Diffuse could look like in the future. This kind of changes will obviously take some time, but it's nice to have a long-term goal.

I would automatically put an empty second pane when opening a file, because it's a diff tool and not a text editor 😉

I like how the pretty big original menu is split into tiny designs, it's much more intuitive I think.

The overlay is interesting too, but I'm not yet convinced as I'm afraid it could get in the way. Maybe just shortcuts/accelerators are enough?

The only part I would let as it is (for now) are the tabs, because devs are more accustomed to tabs (as of today). Though I see the appeal in having them in a popover.

It actually makes me think about the notion of "tabs" in a diff tool. I think there could be a way to think about these "tabs" (or "merges") as a workspace to view a commit diff or to resolve conflicts. The use cases being for instance:

  • You're preparing a commit and you'd like to see all the diffs in one app
  • You merge master in your branch, that would create conflicts and you'd like to resolve all the conflicts in one app

Considering that, and especially for conflicts, it would be interesting to keep track of which files are resolved and which still need to be resolved.

from diffuse.

MightyCreak avatar MightyCreak commented on June 26, 2024

Thanks again for this work @mjourdan. With the time I can allocate for this project, right now I am focusing on having something more modular and, hopefully, easier to contribute to in the end. But haven't forgot about this fantastic work, I think this would happen after the migration to GTK 4. I don't know if libadwaita has been ported to Python yet?

About this:

Overlay would only appear on scroll, my biggest concern with it would be the proximity with the scrollbar.

I think users would want to jump between diff blocks without having to scroll. It seems more like something they'd need to trigger whenever they want. I personally prefer shortcuts in this case, but I think it's always good to have a UI item somewhere to impersonate the feature (e.g. the overlay could appear whenever you move the mouse in the window instead of when you start scrolling).

from diffuse.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.