{"thread":{"id":"35047","subject":"gitk next/prev buttons","startedAt":"2013-10-01T02:31:01Z","lastAt":"2014-01-23T16:51:39Z","messageCount":12,"participants":["Lucas Sandery [three am design]","Lucas Sandery","Marc Branchaud","Jonathan Nieder","Paul Mackerras","Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"228493","messageId":"524A33E5.7090001@threeamdesign.com.au","threadId":"35047","inReplyTo":null,"subject":"gitk next/prev buttons","fromName":"Lucas Sandery [three am design]","fromEmail":"lucas@threeamdesign.com.au","sentAt":"2013-10-01T02:31:01Z","receivedAt":"2013-10-01T02:31:01Z","isPatch":false,"sender":{"key":"lucas@threeamdesign.com.au","avatar":null},"body":"The \"next\" and \"prev\" buttons are lacking consistency and logic. For RTL \nlanguages previous is almost always on the left, and next on the right. \nThe words are contradictory, \"next\" actually goes to backwards \nchronologically, and \"prev\" goes forward. Could the positions of the \nbuttons be switched and the text be replaced with \"earlier\" and \"later\"? \nThis would make the reference time not just order, and would mean the \nupdated UI would not be confused with the previous one.\n\nAlso, the arrow-only next/previous buttons (beside the commit ID) should \nreally point up and down. Horizontal directions are ambiguous for \nnavigation of a vertical list.\n"},{"id":"228513","messageId":"524B71F6.6090004@threeamdesign.com.au","threadId":"35047","inReplyTo":"524A33E5.7090001@threeamdesign.com.au","subject":"Re: gitk next/prev buttons","fromName":"Lucas Sandery","fromEmail":"lucas@threeamdesign.com.au","sentAt":"2013-10-02T01:08:06Z","receivedAt":"2013-10-02T01:08:06Z","isPatch":false,"sender":{"key":"lucas@threeamdesign.com.au","avatar":null},"body":"On 2013-10-01 12:01, Lucas Sandery [three am design] wrote:\n> For RTL languages\n\nI meant LTR languages but I'm guessing that, if their is a RTL version \nof gitk, it needs fixing, too.\n"},{"id":"228617","messageId":"525445FB.6000806@xiplink.com","threadId":"35047","inReplyTo":"524A33E5.7090001@threeamdesign.com.au","subject":"Re: gitk next/prev buttons","fromName":"Marc Branchaud","fromEmail":"marcnarc@xiplink.com","sentAt":"2013-10-08T17:50:51Z","receivedAt":"2013-10-08T17:50:51Z","isPatch":false,"sender":{"key":"marcnarc@xiplink.com","avatar":"https://avatars.githubusercontent.com/u/14980203?v=4"},"body":"On 13-09-30 10:31 PM, Lucas Sandery [three am design] wrote:\n> The \"next\" and \"prev\" buttons are lacking consistency and logic. For RTL\n> languages previous is almost always on the left, and next on the right. The\n> words are contradictory, \"next\" actually goes to backwards chronologically,\n> and \"prev\" goes forward. Could the positions of the buttons be switched and\n> the text be replaced with \"earlier\" and \"later\"? This would make the\n> reference time not just order, and would mean the updated UI would not be\n> confused with the previous one.\n\nI agree with you here (I like \"older\" and \"newer\" myself).\n\nIn theory gitk accepts the same arguments as \"git rev-list\", and in theory\nyou should be able to use things like --reverse to get the commits in a\ndifferent order.\n\nHowever, in practice I don't think anyone futzes with the ordering much with\ngitk.  gitk even ignores the --reverse and --timestamp options, and I've had\na hard time getting gitk to display commits in an order where \"older\" and\n\"newer\" would not make sense.\n\n> Also, the arrow-only next/previous buttons (beside the commit ID) should\n> really point up and down. Horizontal directions are ambiguous for navigation\n> of a vertical list.\n\nHere I don't agree.  These arrows are purely about history navigation.  They\ndon't have anything to do with \"up\" or \"down\" in the list.  In that sense\nthey're more like the arrows in your web browser.\n\n\t\tM.\n"},{"id":"228619","messageId":"20131008193618.GE9464@google.com","threadId":"35047","inReplyTo":"525445FB.6000806@xiplink.com","subject":"Re: gitk next/prev buttons","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2013-10-08T19:36:19Z","receivedAt":"2013-10-08T19:36:19Z","isPatch":false,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Hi,\n\nMarc Branchaud wrote:\n> On 13-09-30 10:31 PM, Lucas Sandery [three am design] wrote:\n\n>> The \"next\" and \"prev\" buttons are lacking consistency and logic. For LTR\n>> languages previous is almost always on the left, and next on the right. The\n>> words are contradictory, \"next\" actually goes to backwards chronologically,\n>> and \"prev\" goes forward. Could the positions of the buttons be switched and\n>> the text be replaced with \"earlier\" and \"later\"? This would make the\n>> reference time not just order, and would mean the updated UI would not be\n>> confused with the previous one.\n>\n> I agree with you here (I like \"older\" and \"newer\" myself).\n>\n> In theory gitk accepts the same arguments as \"git rev-list\", and in theory\n> you should be able to use things like --reverse to get the commits in a\n> different order.\n>\n> However, in practice I don't think anyone futzes with the ordering much with\n> gitk.  gitk even ignores the --reverse and --timestamp options, and I've had\n> a hard time getting gitk to display commits in an order where \"older\" and\n> \"newer\" would not make sense.\n\nIn a branchy history, it is possible for the next matching commit to\nactually be newer.  I think the intent of the buttons is \"find the\nnext result, looking down or up in the list of commits in the upper\npane\".  Is there some other wording that would convey this better?\n\n>> Also, the arrow-only next/previous buttons (beside the commit ID) should\n>> really point up and down. Horizontal directions are ambiguous for navigation\n>> of a vertical list.\n>\n> Here I don't agree.  These arrows are purely about history navigation.  They\n> don't have anything to do with \"up\" or \"down\" in the list.  In that sense\n> they're more like the arrows in your web browser.\n\nTrue.  It might make sense to make the analogy to a web browser\nclearer by using thicker arrows or triangles --- care to mock up icons\nto replace the current ones?\n\nThe icons are in the gitk source file (search for \"bm_left_data\") in\nxpm format.\n\nHope that helps,\nJonathan\n"},{"id":"228627","messageId":"52546EE4.3070307@xiplink.com","threadId":"35047","inReplyTo":"20131008193618.GE9464@google.com","subject":"Re: gitk next/prev buttons","fromName":"Marc Branchaud","fromEmail":"marcnarc@xiplink.com","sentAt":"2013-10-08T20:45:24Z","receivedAt":"2013-10-08T20:45:24Z","isPatch":false,"sender":{"key":"marcnarc@xiplink.com","avatar":"https://avatars.githubusercontent.com/u/14980203?v=4"},"body":"On 13-10-08 03:36 PM, Jonathan Nieder wrote:\n> \n> In a branchy history, it is possible for the next matching commit to\n> actually be newer.\n\nChronologically, yes.\n\nGitk will often display a history like this (here the numbers represent\ncommit dates, so 1 is the oldest commit, and I've rotated this 90 degrees\nclockwise from how gitk would display it):\n\n--3--4-------5---\n            /\n--------1--2\n\nIf commits 2 and 4 match, and the user is looking at commit 2, then the\n\"next\" matching commit from 2 is 4, which is chronologically newer.\n\nHowever, I still find it more intuitive to think of commit 4 as \"older\" than\ncommit 2, at least when using gitk.  This is because in gitk the commits are\ngenerally older as you go down the list.  (When it comes to branches,\nchronology hardly matters anyway.  In fact, gitk could ensure that all\ncommits are displayed in strictly chronological order regardless of branches,\nand such a display would be just as correct as what it currently shows\nalthough it'd be less compact.)\n\nA gitk user comes to expect older commits to be lower down in the display.\nIt's certainly not a hard-and-fast rule, but it's a general paradigm that works.\n\n> I think the intent of the buttons is \"find the\n> next result, looking down or up in the list of commits in the upper\n> pane\".  Is there some other wording that would convey this better?\n\nThe problem is, at least for me, that when I'm using gitk to browse the\nhistory of changes to a file, I'll often want to see things that happened\nbefore or after a certain point.  Once I start thinking like that, gitk's\nconcepts of \"next\" and \"prev\" mix me up, because I want to see the next thing\nthat happened to the file but the \"next\" button doesn't take me there.  The\nchronological (dis)ordering that branches introduce doesn't trip me up as\nmuch as the \"next\" and \"prev\" buttons.\n\n\t\tM.\n"},{"id":"228631","messageId":"1381265361-10147-1-git-send-email-marcnarc@xiplink.com","threadId":"35047","inReplyTo":"525445FB.6000806@xiplink.com","subject":"[PATCH] gitk: Rename \"next\" and \"prev\" buttons to \"older\" and \"newer\".","fromName":"Marc Branchaud","fromEmail":"marcnarc@xiplink.com","sentAt":"2013-10-08T20:49:21Z","receivedAt":"2013-10-08T20:49:21Z","isPatch":true,"sender":{"key":"marcnarc@xiplink.com","avatar":"https://avatars.githubusercontent.com/u/14980203?v=4"},"body":"Users often find that \"next\" and \"prev\" do the opposite of what they\nexpect.  For example, \"next\" moves to the next match down the list, but\nthat is almost always backwards in time.  Renaming \"next\" to \"older\"\nand \"prev\" to \"newer\" makes it clear where the buttons will take the user.\n---\n\n(Apologies to Lucas and Paul -- my previous patch email didn't include\nthe git list.)\n\n gitk | 4 ++--\n 1 file changed, 2 insertions(+), 2 deletions(-)\n\ndiff --git a/gitk b/gitk\nindex 5cd00d8..e610010 100755\n--- a/gitk\n+++ b/gitk\n@@ -2244,8 +2244,8 @@ proc makewindow {} {\n \n     # build up the bottom bar of upper window\n     ${NS}::label .tf.lbar.flabel -text \"[mc \"Find\"] \"\n-    ${NS}::button .tf.lbar.fnext -text [mc \"next\"] -command {dofind 1 1}\n-    ${NS}::button .tf.lbar.fprev -text [mc \"prev\"] -command {dofind -1 1}\n+    ${NS}::button .tf.lbar.fnext -text [mc \"older\"] -command {dofind 1 1}\n+    ${NS}::button .tf.lbar.fprev -text [mc \"newer\"] -command {dofind -1 1}\n     ${NS}::label .tf.lbar.flab2 -text \" [mc \"commit\"] \"\n     pack .tf.lbar.flabel .tf.lbar.fnext .tf.lbar.fprev .tf.lbar.flab2 \\\n \t-side left -fill y\n-- \n1.8.4.dirty\n"},{"id":"232166","messageId":"1387382653-8385-1-git-send-email-marcnarc@xiplink.com","threadId":"35047","inReplyTo":"20131008193618.GE9464@google.com","subject":"[PATCHv2] gitk: Replace \"next\" and \"prev\" buttons with down and up arrows.","fromName":"Marc Branchaud","fromEmail":"marcnarc@xiplink.com","sentAt":"2013-12-18T16:04:13Z","receivedAt":"2013-12-18T16:04:13Z","isPatch":false,"sender":{"key":"marcnarc@xiplink.com","avatar":"https://avatars.githubusercontent.com/u/14980203?v=4"},"body":"Users often find that \"next\" and \"prev\" do the opposite of what they\nexpect.  For example, \"next\" moves to the next match down the list, but\nthat is almost always backwards in time.  Replacing the text with arrows\nmakes it clear where the buttons will take the user.\n\nSigned-off-by: Marc Branchaud <marcnarc@xiplink.com>\n---\n\nFinally got around to drawing some up and down arrows.\n\n\t\tM.\n\n gitk | 30 ++++++++++++++++++++++++++++--\n 1 file changed, 28 insertions(+), 2 deletions(-)\n\ndiff --git a/gitk b/gitk\nindex 33c3a6c..abd2ef3 100755\n--- a/gitk\n+++ b/gitk\n@@ -2263,9 +2263,35 @@ proc makewindow {} {\n \n     # build up the bottom bar of upper window\n     ${NS}::label .tf.lbar.flabel -text \"[mc \"Find\"] \"\n-    ${NS}::button .tf.lbar.fnext -text [mc \"next\"] -command {dofind 1 1}\n-    ${NS}::button .tf.lbar.fprev -text [mc \"prev\"] -command {dofind -1 1}\n+\n+    set bm_down_data {\n+\t#define down_width 16\n+\t#define down_height 16\n+\tstatic unsigned char down_bits[] = {\n+\t0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01,\n+\t0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01,\n+\t0x87, 0xe1, 0x8e, 0x71, 0x9c, 0x39, 0xb8, 0x1d,\n+\t0xf0, 0x0f, 0xe0, 0x07, 0xc0, 0x03, 0x80, 0x01};\n+    }\n+    image create bitmap bm-down -data $bm_down_data -foreground $uifgcolor\n+    ${NS}::button .tf.lbar.fnext -width 26 -command {dofind 1 1}\n+    .tf.lbar.fnext configure -image bm-down\n+\n+    set bm_up_data {\n+\t#define up_width 16\n+\t#define up_height 16\n+\tstatic unsigned char up_bits[] = {\n+\t0x80, 0x01, 0xc0, 0x03, 0xe0, 0x07, 0xf0, 0x0f,\n+\t0xb8, 0x1d, 0x9c, 0x39, 0x8e, 0x71, 0x87, 0xe1,\n+\t0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01,\n+\t0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01};\n+    }\n+    image create bitmap bm-up -data $bm_up_data -foreground $uifgcolor\n+    ${NS}::button .tf.lbar.fprev -width 26 -command {dofind -1 1}\n+    .tf.lbar.fprev configure -image bm-up\n+\n     ${NS}::label .tf.lbar.flab2 -text \" [mc \"commit\"] \"\n+\n     pack .tf.lbar.flabel .tf.lbar.fnext .tf.lbar.fprev .tf.lbar.flab2 \\\n \t-side left -fill y\n     set gdttype [mc \"containing:\"]\n-- \n1.8.5.2.2.g49768e2\n"},{"id":"233439","messageId":"52DE932E.7090008@xiplink.com","threadId":"35047","inReplyTo":"1387382653-8385-1-git-send-email-marcnarc@xiplink.com","subject":"Re: [PATCHv2] gitk: Replace \"next\" and \"prev\" buttons with down and up arrows.","fromName":"Marc Branchaud","fromEmail":"marcnarc@xiplink.com","sentAt":"2014-01-21T15:33:02Z","receivedAt":"2014-01-21T15:33:02Z","isPatch":false,"sender":{"key":"marcnarc@xiplink.com","avatar":"https://avatars.githubusercontent.com/u/14980203?v=4"},"body":"On 13-12-18 11:04 AM, Marc Branchaud wrote:\n> Users often find that \"next\" and \"prev\" do the opposite of what they\n> expect.  For example, \"next\" moves to the next match down the list, but\n> that is almost always backwards in time.  Replacing the text with arrows\n> makes it clear where the buttons will take the user.\n\nAny opinions on this, either way?\n\nI've grown fond of the down/up arrows.  I find them much clearer than the\ncurrent next/prev buttons.\n\nMy only niggle about this patch is that the buttons are much smaller,\nrequiring a bit more precision clicking.  But the smaller buttons allow more\nroom for other widgets.\n\n\t\tM.\n\n\n> Signed-off-by: Marc Branchaud <marcnarc@xiplink.com>\n> ---\n> \n> Finally got around to drawing some up and down arrows.\n> \n> \t\tM.\n> \n>  gitk | 30 ++++++++++++++++++++++++++++--\n>  1 file changed, 28 insertions(+), 2 deletions(-)\n> \n> diff --git a/gitk b/gitk\n> index 33c3a6c..abd2ef3 100755\n> --- a/gitk\n> +++ b/gitk\n> @@ -2263,9 +2263,35 @@ proc makewindow {} {\n>  \n>      # build up the bottom bar of upper window\n>      ${NS}::label .tf.lbar.flabel -text \"[mc \"Find\"] \"\n> -    ${NS}::button .tf.lbar.fnext -text [mc \"next\"] -command {dofind 1 1}\n> -    ${NS}::button .tf.lbar.fprev -text [mc \"prev\"] -command {dofind -1 1}\n> +\n> +    set bm_down_data {\n> +\t#define down_width 16\n> +\t#define down_height 16\n> +\tstatic unsigned char down_bits[] = {\n> +\t0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01,\n> +\t0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01,\n> +\t0x87, 0xe1, 0x8e, 0x71, 0x9c, 0x39, 0xb8, 0x1d,\n> +\t0xf0, 0x0f, 0xe0, 0x07, 0xc0, 0x03, 0x80, 0x01};\n> +    }\n> +    image create bitmap bm-down -data $bm_down_data -foreground $uifgcolor\n> +    ${NS}::button .tf.lbar.fnext -width 26 -command {dofind 1 1}\n> +    .tf.lbar.fnext configure -image bm-down\n> +\n> +    set bm_up_data {\n> +\t#define up_width 16\n> +\t#define up_height 16\n> +\tstatic unsigned char up_bits[] = {\n> +\t0x80, 0x01, 0xc0, 0x03, 0xe0, 0x07, 0xf0, 0x0f,\n> +\t0xb8, 0x1d, 0x9c, 0x39, 0x8e, 0x71, 0x87, 0xe1,\n> +\t0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01,\n> +\t0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01};\n> +    }\n> +    image create bitmap bm-up -data $bm_up_data -foreground $uifgcolor\n> +    ${NS}::button .tf.lbar.fprev -width 26 -command {dofind -1 1}\n> +    .tf.lbar.fprev configure -image bm-up\n> +\n>      ${NS}::label .tf.lbar.flab2 -text \" [mc \"commit\"] \"\n> +\n>      pack .tf.lbar.flabel .tf.lbar.fnext .tf.lbar.fprev .tf.lbar.flab2 \\\n>  \t-side left -fill y\n>      set gdttype [mc \"containing:\"]\n> \n"},{"id":"233504","messageId":"20140122110448.GB7306@iris.ozlabs.ibm.com","threadId":"35047","inReplyTo":"52DE932E.7090008@xiplink.com","subject":"Re: [PATCHv2] gitk: Replace \"next\" and \"prev\" buttons with down and up arrows.","fromName":"Paul Mackerras","fromEmail":"paulus@samba.org","sentAt":"2014-01-22T11:04:48Z","receivedAt":"2014-01-22T11:04:48Z","isPatch":false,"sender":{"key":"paulus@samba.org","avatar":"https://avatars.githubusercontent.com/u/1606439?v=4"},"body":"On Tue, Jan 21, 2014 at 10:33:02AM -0500, Marc Branchaud wrote:\n> On 13-12-18 11:04 AM, Marc Branchaud wrote:\n> > Users often find that \"next\" and \"prev\" do the opposite of what they\n> > expect.  For example, \"next\" moves to the next match down the list, but\n> > that is almost always backwards in time.  Replacing the text with arrows\n> > makes it clear where the buttons will take the user.\n> \n> Any opinions on this, either way?\n> \n> I've grown fond of the down/up arrows.  I find them much clearer than the\n> current next/prev buttons.\n> \n> My only niggle about this patch is that the buttons are much smaller,\n> requiring a bit more precision clicking.  But the smaller buttons allow more\n> room for other widgets.\n\nI showed it to a few colleagues who use gitk a lot.  One was\nindifferent, the others liked it, so I have applied it.\n\nThanks,\nPaul.\n"},{"id":"233537","messageId":"xmqqa9enydm4.fsf@gitster.dls.corp.google.com","threadId":"35047","inReplyTo":"20140122110448.GB7306@iris.ozlabs.ibm.com","subject":"Re: [PATCHv2] gitk: Replace \"next\" and \"prev\" buttons with down and up arrows.","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2014-01-22T20:18:27Z","receivedAt":"2014-01-22T20:18:27Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Paul Mackerras <paulus@samba.org> writes:\n\n> On Tue, Jan 21, 2014 at 10:33:02AM -0500, Marc Branchaud wrote:\n>> On 13-12-18 11:04 AM, Marc Branchaud wrote:\n>> > Users often find that \"next\" and \"prev\" do the opposite of what they\n>> > expect.  For example, \"next\" moves to the next match down the list, but\n>> > that is almost always backwards in time.  Replacing the text with arrows\n>> > makes it clear where the buttons will take the user.\n>> \n>> Any opinions on this, either way?\n>> \n>> I've grown fond of the down/up arrows.  I find them much clearer than the\n>> current next/prev buttons.\n>> \n>> My only niggle about this patch is that the buttons are much smaller,\n>> requiring a bit more precision clicking.  But the smaller buttons allow more\n>> room for other widgets.\n>\n> I showed it to a few colleagues who use gitk a lot.  One was\n> indifferent, the others liked it, so I have applied it.\n>\n> Thanks,\n> Paul.\n\nIs this a good time for me to pull from you?  I see these on your\n'master' branch.\n\n    8f86339 gitk: Comply with XDG base directory specification\n    786f15c gitk: Replace \"next\" and \"prev\" buttons with down and up arrows\n    c61f3a9 gitk: chmod +x po2msg.sh\n    6c626a0 gitk: Update copyright dates\n    45f884c gitk: Add Bulgarian translation (304t)\n    1f3c872 gitk: Fix mistype\n\nThanks.\n"},{"id":"233592","messageId":"20140123110847.GA12814@iris.ozlabs.ibm.com","threadId":"35047","inReplyTo":"xmqqa9enydm4.fsf@gitster.dls.corp.google.com","subject":"Re: [PATCHv2] gitk: Replace \"next\" and \"prev\" buttons with down and up arrows.","fromName":"Paul Mackerras","fromEmail":"paulus@samba.org","sentAt":"2014-01-23T11:08:48Z","receivedAt":"2014-01-23T11:08:48Z","isPatch":false,"sender":{"key":"paulus@samba.org","avatar":"https://avatars.githubusercontent.com/u/1606439?v=4"},"body":"On Wed, Jan 22, 2014 at 12:18:27PM -0800, Junio C Hamano wrote:\n> Is this a good time for me to pull from you?  I see these on your\n> 'master' branch.\n> \n>     8f86339 gitk: Comply with XDG base directory specification\n>     786f15c gitk: Replace \"next\" and \"prev\" buttons with down and up arrows\n>     c61f3a9 gitk: chmod +x po2msg.sh\n>     6c626a0 gitk: Update copyright dates\n>     45f884c gitk: Add Bulgarian translation (304t)\n>     1f3c872 gitk: Fix mistype\n> \n> Thanks.\n\nYes, please pull.  I have just pushed one more:\n\n\t76d64ca gitk: Indent word-wrapped lines in commit display header\n\nThanks,\nPaul.\n"},{"id":"233601","messageId":"xmqq38kewsfz.fsf@gitster.dls.corp.google.com","threadId":"35047","inReplyTo":"20140123110847.GA12814@iris.ozlabs.ibm.com","subject":"Re: [PATCHv2] gitk: Replace \"next\" and \"prev\" buttons with down and up arrows.","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2014-01-23T16:51:39Z","receivedAt":"2014-01-23T16:51:39Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Paul Mackerras <paulus@samba.org> writes:\n\n> Yes, please pull.  I have just pushed one more:\n>\n> \t76d64ca gitk: Indent word-wrapped lines in commit display header\n\nThanks.\n"}]}