Code Monkey home page Code Monkey logo

Comments (8)

sschuberth avatar sschuberth commented on June 19, 2024

What convention would that be, some Microsoft / Windows specific stuff (please add a link)? In that case please remember that Git Gui is a cross-platform application.

from git.

jakemonO avatar jakemonO commented on June 19, 2024

I spoke too soon. I thought it was a unified convention, but it seems not to be so. My mistake is that the GTK apps I use on Windows (GIMP, Pidgin) follow the platform convention for Windows. I don't suppose Git could conform to the platform convention on which it is running?

from git.

sschuberth avatar sschuberth commented on June 19, 2024

While technically this would of course be possible, I highly doubt any such platform-specific changes would make it upstream. Moreover, while possible, the time required to implement that behavior probably does not outweigh the benefits. Thus, I'm closing this.

from git.

jakemonO avatar jakemonO commented on June 19, 2024

I would disagree with you on the platform-specificty of the change. It seems to be common wisdom for GUI apps conform on some behavioral level to the platform they run on, hence the accepted practice of truly cross platform apps (that I have come across) that adjust their appearance accordingly. Hardwiring the dialog button layout to the *nix GUI standards seems antithetical to the cross platform mantra.

from git.

sschuberth avatar sschuberth commented on June 19, 2024

Still a code change that would make the UI conform to the platform's conventions would require platform-specific code (put simply, code that says "if I'm on Unix, put button left, if I'm on Window, put button right"). If Git Gui was using a cross-platform GUI toolkit like Qt or wxWidgets, the toolkit would probably already handle this, and the application would not need to care. But Git Gui is written in Tcl, so we would have to do all the handling ourselves.

And you're probably right saying that hard-wiring Unix standards is not a good idea, but Git was never written with portability to non-POSIX platforms in mind, and it's always a battle to get e.g. Windows-specific stuff accepted upstream. And going to route it simply not worth it in this case, IMHO.

from git.

dscho avatar dscho commented on June 19, 2024

@jakemonO while I understand your reasoning, please keep in mind that this is a purely volunteer-driven project (unlike upstream Git, we have not even maintainership covered by a company). So while you are welcome to try your hand at scratching your itch (i.e. fixing the issue you found), please respect the fact that some volunteers might not want to do that work for you.

from git.

jakemonO avatar jakemonO commented on June 19, 2024

Of course. I never intended my suggestion to be anything other than a helpful (IMHO) suggestion.

Sent from Windows Mail

From: dscho
Sent: ‎Friday‎, ‎April‎ ‎19‎, ‎2013 ‎7‎:‎11‎ ‎PM
To: msysgit/git
Cc: jakemonO

@jakemonO while I understand your reasoning, please keep in mind that this is a purely volunteer-driven project (unlike upstream Git, we have not even maintainership covered by a company). So while you are welcome to try your hand at scratching your itch (i.e. fixing the issue you found), please respect the fact that some volunteers might not want to do that work for you.


Reply to this email directly or view it on GitHub.

from git.

patthoyts avatar patthoyts commented on June 19, 2024

This is actually a more appropriate layout on windows where most dialogs are arranged as suggested. On Gtk+ the reverse is true. While Tk is a cross platform toolkit, the position of buttons on user dialogs is not something the toolkit can deal with other than for system provided dialogs (messagebox, open or save file dialogs, font selection and color are about all).
I will change this upstream for Windows. It actually works out to be the following small patch. On Linux - you never can tell what the toolkit in use (even if you can work out which toolkit is primary on the desktop) so we can just leave it as it is there.

diff --git a/lib/choose_repository.tcl b/lib/choose_repository.tcl
index 657f7d5..68752d5 100644
--- a/lib/choose_repository.tcl
+++ b/lib/choose_repository.tcl
@@ -286,7 +286,9 @@ method _next {action} {
        destroy $w_body
        if {![winfo exists $w_next]} {
                ${NS}::button $w_next -default active
-               pack $w_next -side right -padx 5 -before $w_quit
+               set pos -before
+               if {[tk windowingsystem] eq "win32"} {set pos -after}
+               pack $w_next -side right -padx 5 $pos $w_quit
        }
        _do_$action $this
 }

from git.

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.