{"thread":{"id":"56589","subject":"[INFO] Does Git GUI support Dark Mode on Windows 10 ?","startedAt":"2021-09-26T15:10:12Z","lastAt":"2021-10-07T11:27:47Z","messageCount":15,"participants":["Sashank Bandi","Bagas Sanjaya","David Aguilar","Pratyush Yadav"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"437082","messageId":"CABkJDHFOMkf-Pouaw3rtjtM+KFhPxnYtCiMbqKYCraXFb_9qQw@mail.gmail.com","threadId":"56589","inReplyTo":null,"subject":"[INFO] Does Git GUI support Dark Mode on Windows 10 ?","fromName":"Sashank Bandi","fromEmail":"bandi.rao999@gmail.com","sentAt":"2021-09-26T15:09:54Z","receivedAt":"2021-09-26T15:10:12Z","isPatch":false,"sender":{"key":"bandi.rao999@gmail.com","avatar":null},"body":"Hello,\n\nI am new to the concept of mailing lists so please bear with me.\n\nI'm a JS developer. I love Git GUI for its minimalism in both size and\nlayout. I have been using Git and Git GUI on Windows for a long time.\nI think the only thing missing from the \"Official\" Git GUI is dark\nmode.\n\nI use dark mode on almost all places. Firefox, Discord, GitHub,\nOutlook, Notepad++, VS Code and even Reddit too. The only place that\nis missing dark mode in my workflow is Git GUI.\n\nIs there any way I can make Git GUI dark mode ?\n\nI don't know a lot of Tcl/Tk but I am currently trying to learn it. I\ndid a few edits and made the About page in dark mode.\nYou can look at it here:\nhttps://user-images.githubusercontent.com/76554862/134190271-d861407a-31be-436d-aac4-9ea3d72f0fb0.png\n.\n\nI have found two threads in the mailing list but those are just dead\nends for me. Hence I reached this mailing list.\n"},{"id":"437117","messageId":"7b4b59a4-7e58-3db2-d934-d570cdebbf31@gmail.com","threadId":"56589","inReplyTo":"CABkJDHFOMkf-Pouaw3rtjtM+KFhPxnYtCiMbqKYCraXFb_9qQw@mail.gmail.com","subject":"Re: [INFO] Does Git GUI support Dark Mode on Windows 10 ?","fromName":"Bagas Sanjaya","fromEmail":"bagasdotme@gmail.com","sentAt":"2021-09-27T06:32:43Z","receivedAt":"2021-09-27T06:35:30Z","isPatch":false,"sender":{"key":"bagasdotme@gmail.com","avatar":"https://avatars.githubusercontent.com/u/40219486?v=4"},"body":"On 26/09/21 22.09, Sashank Bandi wrote:\n> Hello,\n> \n> I am new to the concept of mailing lists so please bear with me.\n> \n> I'm a JS developer. I love Git GUI for its minimalism in both size and\n> layout. I have been using Git and Git GUI on Windows for a long time.\n> I think the only thing missing from the \"Official\" Git GUI is dark\n> mode.\n> \n> I use dark mode on almost all places. Firefox, Discord, GitHub,\n> Outlook, Notepad++, VS Code and even Reddit too. The only place that\n> is missing dark mode in my workflow is Git GUI.\n> \n> Is there any way I can make Git GUI dark mode ?\n> \n> I don't know a lot of Tcl/Tk but I am currently trying to learn it. I\n> did a few edits and made the About page in dark mode.\n> You can look at it here:\n> https://user-images.githubusercontent.com/76554862/134190271-d861407a-31be-436d-aac4-9ea3d72f0fb0.png\n> .\n> \n> I have found two threads in the mailing list but those are just dead\n> ends for me. Hence I reached this mailing list.\n> \n\nI would rather like to see yourself posted PR to the dedicated subsytem \nat [1].\n\nI think you want to implement tri-state `Dark mode` option. When it is \nset to `Yes`, always use dark theme regardless of system settings; when \nit is `No` the opposite; and `Auto` use dark theme when it is enabled in \nsystem settings, normal the opposite.\n\n[1]: https://github.com/prati0100/git-gui.git\n\n-- \nAn old man doll... just what I always wanted! - Clara\n"},{"id":"437124","messageId":"CABkJDHHDjwviVmCR=tu3JBx+7BMmbmesOrkymq0fH4PXE5=i1g@mail.gmail.com","threadId":"56589","inReplyTo":"7b4b59a4-7e58-3db2-d934-d570cdebbf31@gmail.com","subject":"Re: [INFO] Does Git GUI support Dark Mode on Windows 10 ?","fromName":"Sashank Bandi","fromEmail":"bandi.rao999@gmail.com","sentAt":"2021-09-27T10:19:51Z","receivedAt":"2021-09-27T10:20:03Z","isPatch":false,"sender":{"key":"bandi.rao999@gmail.com","avatar":null},"body":"On Mon, Sep 27, 2021 at 12:02 PM Bagas Sanjaya <bagasdotme@gmail.com> wrote:\n>\n> On 26/09/21 22.09, Sashank Bandi wrote:\n> > Hello,\n> >\n> > I am new to the concept of mailing lists so please bear with me.\n> >\n> > I'm a JS developer. I love Git GUI for its minimalism in both size and\n> > layout. I have been using Git and Git GUI on Windows for a long time.\n> > I think the only thing missing from the \"Official\" Git GUI is dark\n> > mode.\n> >\n> > I use dark mode on almost all places. Firefox, Discord, GitHub,\n> > Outlook, Notepad++, VS Code and even Reddit too. The only place that\n> > is missing dark mode in my workflow is Git GUI.\n> >\n> > Is there any way I can make Git GUI dark mode ?\n> >\n> > I don't know a lot of Tcl/Tk but I am currently trying to learn it. I\n> > did a few edits and made the About page in dark mode.\n> > You can look at it here:\n> > https://user-images.githubusercontent.com/76554862/134190271-d861407a-31be-436d-aac4-9ea3d72f0fb0.png\n> > .\n> >\n> > I have found two threads in the mailing list but those are just dead\n> > ends for me. Hence I reached this mailing list.\n> >\n>\n> I would rather like to see yourself posted PR to the dedicated subsytem\n> at [1].\nNice to hear that you like my design.\nI think this confirms my suspicion that there is no \"Official\" Git GUI Dark\nMode on Windows 10.\n\n> I think you want to implement tri-state `Dark mode` option. When it is\n> set to `Yes`, always use dark theme regardless of system settings; when\n> it is `No` the opposite; and `Auto` use dark theme when it is enabled in\n> system settings, normal the opposite.\nOur interests conflict here.\nI think we should rather provide 3 different options here.\n1. System Default\n2. Light Mode\n3. Dark Mode\nI find these options easy rather than the \"Yes\" or \"No\" options.\n\nI'm currently planning to convert this into a C++ program as there is no\nway from the Tcl itself to change the color and background color of the title\nbar or menu of the Git GUI window.\n\nI also CCed Pratyush Yadav as he is the official maintainer of the project.\n"},{"id":"437126","messageId":"135f854b-7975-a6a0-69ea-8697583a87b2@gmail.com","threadId":"56589","inReplyTo":"CABkJDHHDjwviVmCR=tu3JBx+7BMmbmesOrkymq0fH4PXE5=i1g@mail.gmail.com","subject":"Re: [INFO] Does Git GUI support Dark Mode on Windows 10 ?","fromName":"Bagas Sanjaya","fromEmail":"bagasdotme@gmail.com","sentAt":"2021-09-27T10:39:36Z","receivedAt":"2021-09-27T10:39:42Z","isPatch":false,"sender":{"key":"bagasdotme@gmail.com","avatar":"https://avatars.githubusercontent.com/u/40219486?v=4"},"body":"On 27/09/21 17.19, Sashank Bandi wrote:\n> I'm currently planning to convert this into a C++ program as there is no\n> way from the Tcl itself to change the color and background color of the title\n> bar or menu of the Git GUI window.\n> \n> I also CCed Pratyush Yadav as he is the official maintainer of the project.\n> \n\nRegarding GUI toolkit, you should pick the replacement carefully - \ntooling used in Git for Windows will need to be adapted in order to \ncompile your chosen toolkit (whether it is Qt, GTK, or wxWidgets) for \nWindows.\n\nCC also Johannes Schindelin for comments.\n\n-- \nAn old man doll... just what I always wanted! - Clara\n"},{"id":"437127","messageId":"CABkJDHHeYkq-xF8pFweMtO0Xzm6FqHobSTTHzTN1KPQr2MEDNw@mail.gmail.com","threadId":"56589","inReplyTo":"135f854b-7975-a6a0-69ea-8697583a87b2@gmail.com","subject":"Re: [INFO] Does Git GUI support Dark Mode on Windows 10 ?","fromName":"Sashank Bandi","fromEmail":"bandi.rao999@gmail.com","sentAt":"2021-09-27T10:51:33Z","receivedAt":"2021-09-27T10:51:45Z","isPatch":false,"sender":{"key":"bandi.rao999@gmail.com","avatar":null},"body":"I forgot to mention that we also have an alternative.\n\nWe can completely ditch C++ idea here and instead remove the native\ntitle bar or border that the Window Manager gives and instead draw our\nown title bar in Tcl/Tk. But that means rewriting the menu system.\n\nSo, I'm waiting for the decision of Pratyush Yadav here.\n\n> Regarding GUI toolkit, you should pick the replacement carefully -\n> tooling used in Git for Windows will need to be adapted in order to\n> compile your chosen toolkit (whether it is Qt, GTK, or wxWidgets) for\n> Windows.\nNo, I'm not choosing a toolkit. Whatever I will do, it will be in\nnative C++ without any other toolkit. It might be a little hard, but\nit is better than including another whole library in here. Lightweight\nis a reason I chose Git GUI and I will make sure that my contribution\ndoes not make that go.\n\n>\n> CC also Johannes Schindelin for comments.\n>\n> --\n> An old man doll... just what I always wanted! - Clara\n"},{"id":"437174","messageId":"CAJDDKr7itDvy1WPoC=kBPpT4_qm6MKWWfxwt96wQJKnGBGW5ng@mail.gmail.com","threadId":"56589","inReplyTo":"135f854b-7975-a6a0-69ea-8697583a87b2@gmail.com","subject":"Re: [INFO] Does Git GUI support Dark Mode on Windows 10 ?","fromName":"David Aguilar","fromEmail":"davvid@gmail.com","sentAt":"2021-09-27T18:08:24Z","receivedAt":"2021-09-27T18:09:04Z","isPatch":false,"sender":{"key":"davvid@gmail.com","avatar":"https://avatars.githubusercontent.com/u/13196?v=4"},"body":"On Mon, Sep 27, 2021 at 3:41 AM Bagas Sanjaya <bagasdotme@gmail.com> wrote:\n>\n> On 27/09/21 17.19, Sashank Bandi wrote:\n> > I'm currently planning to convert this into a C++ program as there is no\n> > way from the Tcl itself to change the color and background color of the title\n> > bar or menu of the Git GUI window.\n> >\n> > I also CCed Pratyush Yadav as he is the official maintainer of the project.\n> >\n>\n> Regarding GUI toolkit, you should pick the replacement carefully -\n> tooling used in Git for Windows will need to be adapted in order to\n> compile your chosen toolkit (whether it is Qt, GTK, or wxWidgets) for\n> Windows.\n\nHave you tried git cola? [1]\n\nIt uses Qt. It's cross-platform and written in Python.\n\nGit GUI is useful because it's built in, but from a usability\nperspective cola has many advantages.\n\nIt has a dark mode that works more or less how you described:\n- system default\n- user-specified theme (dark/light with a few color variations)\n\n.. and beyond these rather small differences, git cola even has image\ndiffs[2]. That alone is a killer feature.\n\n[1] https://github.com/git-cola/git-cola/\n\n[2] http://git-cola.github.io/screenshots.html\n-- \nDavid\n"},{"id":"437245","messageId":"CABkJDHFMy6yS40jn-NJ8mwrv6jxdjgNWQ6mJmEK1FYV0gvpLEQ@mail.gmail.com","threadId":"56589","inReplyTo":"CAJDDKr7itDvy1WPoC=kBPpT4_qm6MKWWfxwt96wQJKnGBGW5ng@mail.gmail.com","subject":"Re: [INFO] Does Git GUI support Dark Mode on Windows 10 ?","fromName":"Sashank Bandi","fromEmail":"bandi.rao999@gmail.com","sentAt":"2021-09-28T03:21:30Z","receivedAt":"2021-09-28T03:21:43Z","isPatch":false,"sender":{"key":"bandi.rao999@gmail.com","avatar":null},"body":"On Mon, Sep 27, 2021 at 11:39 PM David Aguilar <davvid@gmail.com> wrote:\n> Have you tried git cola? [1]\nYes, I did try it.\n\n> Git GUI is useful because it's built in, but from a usability\n> perspective cola has many advantages.\nBut it is just too much for my very light usage. I want something\nlight and embedded in Git for Windows itself.\n\n> .. and beyond these rather small differences, git cola even has image\n> diffs[2]. That alone is a killer feature.\nIt is a really great feature. But it isn't useful for me in my projects.\n\nI have looked at tortoise Git, Git Cola, lazygit and some others too\nbut Git GUI seems perfect for my usage, except dark mode.\n"},{"id":"437814","messageId":"CABkJDHEZuZSun0spZ8SAcgQQvu-zamnJiqGk7VnS6agU-_KqqA@mail.gmail.com","threadId":"56589","inReplyTo":"CABkJDHFMy6yS40jn-NJ8mwrv6jxdjgNWQ6mJmEK1FYV0gvpLEQ@mail.gmail.com","subject":"Re: [INFO] Does Git GUI support Dark Mode on Windows 10 ?","fromName":"Sashank Bandi","fromEmail":"bandi.rao999@gmail.com","sentAt":"2021-10-03T14:33:23Z","receivedAt":"2021-10-03T14:33:36Z","isPatch":false,"sender":{"key":"bandi.rao999@gmail.com","avatar":null},"body":"Hey!\nIs there any way to reach Pratyush Yadav ?\nThis thread has been stale for days.\n\nOn Tue, Sep 28, 2021 at 8:51 AM Sashank Bandi <bandi.rao999@gmail.com> wrote:\n>\n> On Mon, Sep 27, 2021 at 11:39 PM David Aguilar <davvid@gmail.com> wrote:\n> > Have you tried git cola? [1]\n> Yes, I did try it.\n>\n> > Git GUI is useful because it's built in, but from a usability\n> > perspective cola has many advantages.\n> But it is just too much for my very light usage. I want something\n> light and embedded in Git for Windows itself.\n>\n> > .. and beyond these rather small differences, git cola even has image\n> > diffs[2]. That alone is a killer feature.\n> It is a really great feature. But it isn't useful for me in my projects.\n>\n> I have looked at tortoise Git, Git Cola, lazygit and some others too\n> but Git GUI seems perfect for my usage, except dark mode.\n"},{"id":"437849","messageId":"844631f2-58cf-55fb-0514-1def9fed43d5@gmail.com","threadId":"56589","inReplyTo":"CABkJDHEZuZSun0spZ8SAcgQQvu-zamnJiqGk7VnS6agU-_KqqA@mail.gmail.com","subject":"Re: [INFO] Does Git GUI support Dark Mode on Windows 10 ?","fromName":"Bagas Sanjaya","fromEmail":"bagasdotme@gmail.com","sentAt":"2021-10-04T03:29:34Z","receivedAt":"2021-10-04T03:29:42Z","isPatch":false,"sender":{"key":"bagasdotme@gmail.com","avatar":"https://avatars.githubusercontent.com/u/40219486?v=4"},"body":"On 03/10/21 21.33, Sashank Bandi wrote:\n> Hey!\n> Is there any way to reach Pratyush Yadav ?\n> This thread has been stale for days.\n\nCC'ing Junio for now.\n\n-- \nAn old man doll... just what I always wanted! - Clara\n"},{"id":"437858","messageId":"20211004075600.5lbqed4mnwfsy4al@yadavpratyush.com","threadId":"56589","inReplyTo":"CABkJDHEZuZSun0spZ8SAcgQQvu-zamnJiqGk7VnS6agU-_KqqA@mail.gmail.com","subject":"Re: [INFO] Does Git GUI support Dark Mode on Windows 10 ?","fromName":"Pratyush Yadav","fromEmail":"me@yadavpratyush.com","sentAt":"2021-10-04T07:56:00Z","receivedAt":"2021-10-04T07:56:07Z","isPatch":false,"sender":{"key":"me@yadavpratyush.com","avatar":"https://avatars.githubusercontent.com/u/8817931?v=4"},"body":"Hi Sashank,\n\n\nOn 03/10/21 08:03PM, Sashank Bandi wrote:\n> Hey!\n> Is there any way to reach Pratyush Yadav ?\n> This thread has been stale for days.\n\nSorry, I couldn't find time to catch up on this because its been busy at \n$DAYJOB.\n\nAnyway, git-gui does have some basic dark mode support, though I have \nseen reports that it does not work very well. You can change the Tk \ntheme and it should enable dark mode on git-gui as well. See [0] for \nsome more info. I am not very familiar with how Tk theming would work on \nWindows.\n\nI think it would be nice if we can have a theme picker in the options \nmenu though, so that is something you might want to look into.\n\n[0] https://lore.kernel.org/all/20201008082004.5643-1-serg.partizan@gmail.com/\n\n> \n> On Tue, Sep 28, 2021 at 8:51 AM Sashank Bandi <bandi.rao999@gmail.com> wrote:\n> >\n> > On Mon, Sep 27, 2021 at 11:39 PM David Aguilar <davvid@gmail.com> wrote:\n> > > Have you tried git cola? [1]\n> > Yes, I did try it.\n> >\n> > > Git GUI is useful because it's built in, but from a usability\n> > > perspective cola has many advantages.\n> > But it is just too much for my very light usage. I want something\n> > light and embedded in Git for Windows itself.\n> >\n> > > .. and beyond these rather small differences, git cola even has image\n> > > diffs[2]. That alone is a killer feature.\n> > It is a really great feature. But it isn't useful for me in my projects.\n> >\n> > I have looked at tortoise Git, Git Cola, lazygit and some others too\n> > but Git GUI seems perfect for my usage, except dark mode.\n\n-- \nRegards,\nPratyush Yadav\n"},{"id":"437905","messageId":"CABkJDHGdzOFW5yP43LZtuUrV7WsDTvAi+kxka84-5P7ShbV9FQ@mail.gmail.com","threadId":"56589","inReplyTo":"20211004075600.5lbqed4mnwfsy4al@yadavpratyush.com","subject":"Re: [INFO] Does Git GUI support Dark Mode on Windows 10 ?","fromName":"Sashank Bandi","fromEmail":"bandi.rao999@gmail.com","sentAt":"2021-10-04T15:09:22Z","receivedAt":"2021-10-04T15:09:35Z","isPatch":false,"sender":{"key":"bandi.rao999@gmail.com","avatar":null},"body":"On Mon, Oct 4, 2021 at 1:26 PM Pratyush Yadav <me@yadavpratyush.com> wrote:\n> Sorry, I couldn't find time to catch up on this because its been busy at\n> $DAYJOB.\nWell, I hope you got a little time for this thread.\n\n> Anyway, git-gui does have some basic dark mode support, though I have\n> seen reports that it does not work very well. You can change the Tk\n> theme and it should enable dark mode on git-gui as well. See [0] for\n> some more info. I am not very familiar with how Tk theming would work on\n> Windows.\nI am not even familiar with Tcl/Tk language itself. But from what I\nhave found, the Tk uses \"vista\" theme which is Windows-only default\ntheme.\n\n> I think it would be nice if we can have a theme picker in the options\n> menu though, so that is something you might want to look into.\nYes, I thought of adding a menu between \"Tools\" and \"Help\". It will\ncontain 3 options(system, light, dark) as I said before.\n\n> [0] https://lore.kernel.org/all/20201008082004.5643-1-serg.partizan@gmail.com/\nWell, this works only for Linux as Windows doesn't use X Server. But\nwe can use `ttk::style theme use` for it all over the application.\n\nMy plan is to use a new theme, that is based on default, but can\nimitate the look of [0].\n\n[0]: https://github.com/TkinterEP/ttkthemes/blob/master/ttkthemes/png/equilux/equilux.tcl\n"},{"id":"438060","messageId":"20211006113912.n7xpnuzd25256cjm@yadavpratyush.com","threadId":"56589","inReplyTo":"CABkJDHGdzOFW5yP43LZtuUrV7WsDTvAi+kxka84-5P7ShbV9FQ@mail.gmail.com","subject":"Re: [INFO] Does Git GUI support Dark Mode on Windows 10 ?","fromName":"Pratyush Yadav","fromEmail":"me@yadavpratyush.com","sentAt":"2021-10-06T11:39:12Z","receivedAt":"2021-10-06T11:39:18Z","isPatch":false,"sender":{"key":"me@yadavpratyush.com","avatar":"https://avatars.githubusercontent.com/u/8817931?v=4"},"body":"On 04/10/21 08:39PM, Sashank Bandi wrote:\n> On Mon, Oct 4, 2021 at 1:26 PM Pratyush Yadav <me@yadavpratyush.com> wrote:\n> > Sorry, I couldn't find time to catch up on this because its been busy at\n> > $DAYJOB.\n> Well, I hope you got a little time for this thread.\n> \n> > Anyway, git-gui does have some basic dark mode support, though I have\n> > seen reports that it does not work very well. You can change the Tk\n> > theme and it should enable dark mode on git-gui as well. See [0] for\n> > some more info. I am not very familiar with how Tk theming would work on\n> > Windows.\n> I am not even familiar with Tcl/Tk language itself. But from what I\n> have found, the Tk uses \"vista\" theme which is Windows-only default\n> theme.\n\nDoes the Windows installation come with any other themes? You can use \n`ttk::style theme names` to list all available themes.\n\n> \n> > I think it would be nice if we can have a theme picker in the options\n> > menu though, so that is something you might want to look into.\n> Yes, I thought of adding a menu between \"Tools\" and \"Help\". It will\n> contain 3 options(system, light, dark) as I said before.\n\nI think it would be better to put it in the \"options\" dialog.\n\n> \n> > [0] https://lore.kernel.org/all/20201008082004.5643-1-serg.partizan@gmail.com/\n> Well, this works only for Linux as Windows doesn't use X Server. But\n> we can use `ttk::style theme use` for it all over the application.\n\nRight.\n\n> \n> My plan is to use a new theme, that is based on default, but can\n> imitate the look of [0].\n\nI don't mind carrying themes in the git-gui repo since Tk theming \nsupport is not very well documented or standardized. But please do be \ncareful of licence compatibility when porting code.\n\n> \n> [0]: https://github.com/TkinterEP/ttkthemes/blob/master/ttkthemes/png/equilux/equilux.tcl\n\n-- \nRegards,\nPratyush Yadav\n"},{"id":"438069","messageId":"CABkJDHFap2DmjMr1Ri-Mrud+msChB3uEGRKYyczAxfmaLnF6jA@mail.gmail.com","threadId":"56589","inReplyTo":"20211006113912.n7xpnuzd25256cjm@yadavpratyush.com","subject":"Re: [INFO] Does Git GUI support Dark Mode on Windows 10 ?","fromName":"Sashank Bandi","fromEmail":"bandi.rao999@gmail.com","sentAt":"2021-10-06T14:45:37Z","receivedAt":"2021-10-06T14:45:50Z","isPatch":false,"sender":{"key":"bandi.rao999@gmail.com","avatar":null},"body":"> Does the Windows installation come with any other themes? You can use\n> `ttk::style theme names` to list all available themes.\nIt contains all these themes in Windows 10 x64.\n\"winnative clam alt default classic vista xpnative\"\nBased of [0] (the best source I could find),\n\"winnative\", \"vista\", \"xpnative\" are Windows-only but built-in themes and\n\"clam\", \"alt\", \"default\", \"classic\" are built-in themes for all OSes.\nAnd this is part of the reason I am considering \"default\" to be the\nbase of the new theme that I want to create instead of \"vista\".\n\n> > > I think it would be nice if we can have a theme picker in the options\n> > > menu though, so that is something you might want to look into.\n> > Yes, I thought of adding a menu between \"Tools\" and \"Help\". It will\n> > contain 3 options(system, light, dark) as I said before.\n>\n> I think it would be better to put it in the \"options\" dialog.\nOk.\n\n> I don't mind carrying themes in the git-gui repo since Tk theming\n> support is not very well documented or standardized. But please do be\n> careful of licence compatibility when porting code.\nNo, I want to imitate the look. And I don't actually know much about\nthe license or legal side of the software so I try to avoid it at all\ncosts and start from scratch.\nKinda like \"Linux is Unix-like, but it doesn't contain Unix's code\" -\nThe great Linus Torvalds.\n\nThe \"equilux\" theme is GPLv3, but I didn't find a license file in the\nrepo. In the \"Help > About\" part of Git GUI, you mentioned it being\nGPL(I think v1). Please include it in the repo too.\n\n[0]: https://wiki.tcl-lang.org/page/List+of+ttk+Themes\n"},{"id":"438082","messageId":"20211006180348.22e5c2z4pqkwtokx@yadavpratyush.com","threadId":"56589","inReplyTo":"CABkJDHFap2DmjMr1Ri-Mrud+msChB3uEGRKYyczAxfmaLnF6jA@mail.gmail.com","subject":"Re: [INFO] Does Git GUI support Dark Mode on Windows 10 ?","fromName":"Pratyush Yadav","fromEmail":"me@yadavpratyush.com","sentAt":"2021-10-06T18:03:48Z","receivedAt":"2021-10-06T18:03:54Z","isPatch":false,"sender":{"key":"me@yadavpratyush.com","avatar":"https://avatars.githubusercontent.com/u/8817931?v=4"},"body":"On 06/10/21 08:15PM, Sashank Bandi wrote:\n> > Does the Windows installation come with any other themes? You can use\n> > `ttk::style theme names` to list all available themes.\n> It contains all these themes in Windows 10 x64.\n> \"winnative clam alt default classic vista xpnative\"\n> Based of [0] (the best source I could find),\n> \"winnative\", \"vista\", \"xpnative\" are Windows-only but built-in themes and\n> \"clam\", \"alt\", \"default\", \"classic\" are built-in themes for all OSes.\n> And this is part of the reason I am considering \"default\" to be the\n> base of the new theme that I want to create instead of \"vista\".\n\nYou are of course free to design your own theme, but I would suggest you \ntry all these themes already available first and see if any of them fit \nyour needs.\n\n> \n> > > > I think it would be nice if we can have a theme picker in the options\n> > > > menu though, so that is something you might want to look into.\n> > > Yes, I thought of adding a menu between \"Tools\" and \"Help\". It will\n> > > contain 3 options(system, light, dark) as I said before.\n> >\n> > I think it would be better to put it in the \"options\" dialog.\n> Ok.\n> \n> > I don't mind carrying themes in the git-gui repo since Tk theming\n> > support is not very well documented or standardized. But please do be\n> > careful of licence compatibility when porting code.\n> No, I want to imitate the look. And I don't actually know much about\n> the license or legal side of the software so I try to avoid it at all\n> costs and start from scratch.\n> Kinda like \"Linux is Unix-like, but it doesn't contain Unix's code\" -\n> The great Linus Torvalds.\n\nWell, I am not expert on software licenses either. Though using a quick \nGoogle search for license compatibility generally does the trick for me.\n\n> \n> The \"equilux\" theme is GPLv3, but I didn't find a license file in the\n> repo. In the \"Help > About\" part of Git GUI, you mentioned it being\n> GPL(I think v1). Please include it in the repo too.\n\ngit-gui is GPL v2 or later. So I would assume it is compatible with GPL \nv3 but I am not entirely sure.\n\nAnyway, I came up with a quick proof of concept for a theme selector. It \nhas many limitations and is not fit to apply just yet, but it should \nhelp you get started.\n\n-- 8< --\nSubject: [PATCH] git-gui: Add a very crude theme selector\n\nTk themeing is not very well documented and is not easy to get right.\nIdeally one would want to set the theme for a toolkit in one standard,\nbut it is hard to find that standard config for Tk and even harder to\nget it to work consistently.\n\nAdd a theme selection menu to make the lives of the user easier. Those\nwho would wish to use the Tk provided theme should be able to do so.\n\nThis is a very crude patch and it does not really ensure that. This is\nmore of a proof of concept.\n\nSigned-off-by: Pratyush Yadav <me@yadavpratyush.com>\n---\n git-gui.sh     | 4 ++++\n lib/option.tcl | 1 +\n 2 files changed, 5 insertions(+)\n\ndiff --git a/git-gui.sh b/git-gui.sh\nindex 201524c..ff2ec1b 100755\n--- a/git-gui.sh\n+++ b/git-gui.sh\n@@ -862,6 +862,9 @@ proc apply_config {} {\n \t\t\tset NS ttk\n \t\t\tbind [winfo class .] <<ThemeChanged>> [list InitTheme]\n \t\t\tpave_toplevel .\n+\t\t\tif {[get_config gui.theme] != {}} {\n+\t\t\t\tttk::style theme use [get_config gui.theme]\n+\t\t\t}\n \t\t\tcolor::sync_with_theme\n \t\t}\n \t}\n@@ -895,6 +898,7 @@ set default_config(gui.fontdiff) [font configure font_diff]\n # TODO: this option should be added to the git-config documentation\n set default_config(gui.maxfilesdisplayed) 5000\n set default_config(gui.usettk) 1\n+set default_config(gui.theme) \"default\"\n set default_config(gui.warndetachedcommit) 1\n set default_config(gui.tabsize) 8\n set font_descs {\ndiff --git a/lib/option.tcl b/lib/option.tcl\nindex e43971b..acce160 100644\n--- a/lib/option.tcl\n+++ b/lib/option.tcl\n@@ -160,6 +160,7 @@ proc do_options {} {\n \t\t{c gui.encoding {mc \"Default File Contents Encoding\"}}\n \t\t{b gui.warndetachedcommit {mc \"Warn before committing to a detached head\"}}\n \t\t{s gui.stageuntracked {mc \"Staging of untracked files\"} {list \"yes\" \"no\" \"ask\"}}\n+\t\t{s gui.theme {mc \"GUI theme\"} {ttk::style theme names}}\n \t\t{b gui.displayuntracked {mc \"Show untracked files\"}}\n \t\t{i-1..99 gui.tabsize {mc \"Tab spacing\"}}\n \t\t} {\n-- \nRegards,\nPratyush Yadav\n"},{"id":"438160","messageId":"CABkJDHFadi60bbwN758f2qov5dMXV2nWOwYHYVPtdfScze1XmQ@mail.gmail.com","threadId":"56589","inReplyTo":"20211006180348.22e5c2z4pqkwtokx@yadavpratyush.com","subject":"Re: [INFO] Does Git GUI support Dark Mode on Windows 10 ?","fromName":"Sashank Bandi","fromEmail":"bandi.rao999@gmail.com","sentAt":"2021-10-07T11:27:37Z","receivedAt":"2021-10-07T11:27:47Z","isPatch":false,"sender":{"key":"bandi.rao999@gmail.com","avatar":null},"body":"> You are of course free to design your own theme, but I would suggest you\n> try all these themes already available first and see if any of them fit\n> your needs.\nI have tried all of these themes. \"default\" seems like it will fit. I\nhave some color changes and a preview linked at the bottom. If you\nagree with that, I will work on other pages/sections too.\n\n> Anyway, I came up with a quick proof of concept for a theme selector. It\n> has many limitations and is not fit to apply just yet, but it should\n> help you get started.\n>\n> -- 8< --\n> Subject: [PATCH] git-gui: Add a very crude theme selector\n>\n> Tk themeing is not very well documented and is not easy to get right.\n> Ideally one would want to set the theme for a toolkit in one standard,\n> but it is hard to find that standard config for Tk and even harder to\n> get it to work consistently.\n>\n> Add a theme selection menu to make the lives of the user easier. Those\n> who would wish to use the Tk provided theme should be able to do so.\n>\n> This is a very crude patch and it does not really ensure that. This is\n> more of a proof of concept.\n>\n> Signed-off-by: Pratyush Yadav <me@yadavpratyush.com>\n> ---\n>  git-gui.sh     | 4 ++++\n>  lib/option.tcl | 1 +\n>  2 files changed, 5 insertions(+)\n>\n> diff --git a/git-gui.sh b/git-gui.sh\n> index 201524c..ff2ec1b 100755\n> --- a/git-gui.sh\n> +++ b/git-gui.sh\n> @@ -862,6 +862,9 @@ proc apply_config {} {\n>                         set NS ttk\n>                         bind [winfo class .] <<ThemeChanged>> [list InitTheme]\n>                         pave_toplevel .\n> +                       if {[get_config gui.theme] != {}} {\n> +                               ttk::style theme use [get_config gui.theme]\n> +                       }\n>                         color::sync_with_theme\n>                 }\n>         }\n> @@ -895,6 +898,7 @@ set default_config(gui.fontdiff) [font configure font_diff]\n>  # TODO: this option should be added to the git-config documentation\n>  set default_config(gui.maxfilesdisplayed) 5000\n>  set default_config(gui.usettk) 1\n> +set default_config(gui.theme) \"default\"\n>  set default_config(gui.warndetachedcommit) 1\n>  set default_config(gui.tabsize) 8\n>  set font_descs {\n> diff --git a/lib/option.tcl b/lib/option.tcl\n> index e43971b..acce160 100644\n> --- a/lib/option.tcl\n> +++ b/lib/option.tcl\n> @@ -160,6 +160,7 @@ proc do_options {} {\n>                 {c gui.encoding {mc \"Default File Contents Encoding\"}}\n>                 {b gui.warndetachedcommit {mc \"Warn before committing to a detached head\"}}\n>                 {s gui.stageuntracked {mc \"Staging of untracked files\"} {list \"yes\" \"no\" \"ask\"}}\n> +               {s gui.theme {mc \"GUI theme\"} {ttk::style theme names}}\n>                 {b gui.displayuntracked {mc \"Show untracked files\"}}\n>                 {i-1..99 gui.tabsize {mc \"Tab spacing\"}}\n>                 } {\n> --\nThank you. This helps me find the location of the options. I will\nfurther improve this.\n\nHere is the preview I said: https://pasteboard.co/rwUBvWbX6m66.png .\nThe checkbox needs some tinkering.\nLooking forward to any suggestions.\n"}]}