From 6333b632240cddaa9d59bfc0722d68b045e827d0 Mon Sep 17 00:00:00 2001 From: "C. McEnroe" Date: Thu, 2 Apr 2020 10:47:17 -0400 Subject: Switch to windows with ascending unread counts on M-a --- ui.c | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/ui.c b/ui.c index 3e9b95d..023de21 100644 --- a/ui.c +++ b/ui.c @@ -21,6 +21,7 @@ #include #include #include +#include #include #include #include @@ -848,19 +849,29 @@ static void showAuto(void) { if (windows.swap != swap) { swap = windows.show; } + uint minHot = UINT_MAX, numHot; + uint minWarm = UINT_MAX, numWarm; for (uint num = 0; num < windows.len; ++num) { - if (windows.ptrs[num]->heat < Hot) continue; - windowShow(num); - windows.swap = swap; - return; + if (windows.ptrs[num]->heat >= Hot) { + if (windows.ptrs[num]->unreadWarm >= minHot) continue; + minHot = windows.ptrs[num]->unreadWarm; + numHot = num; + } + if (windows.ptrs[num]->heat >= Warm) { + if (windows.ptrs[num]->unreadWarm >= minWarm) continue; + minWarm = windows.ptrs[num]->unreadWarm; + numWarm = num; + } } - for (uint num = 0; num < windows.len; ++num) { - if (windows.ptrs[num]->heat < Warm) continue; - windowShow(num); + if (minHot < UINT_MAX) { + windowShow(numHot); windows.swap = swap; - return; + } else if (minWarm < UINT_MAX) { + windowShow(numWarm); + windows.swap = swap; + } else { + windowShow(windows.swap); } - windowShow(windows.swap); } static void keyCode(int code) { -- cgit 1.4.1 follow=1'>diff
Commit message (Expand)Author
2014-01-14email-gravatar.lua: fix for lua 5.2Christian Hesse
2014-01-14makefile: only display lua message onceJason A. Donenfeld
2014-01-14README: document lua makefile flagsJason A. Donenfeld
2014-01-14cgitrc.5.txt: Fix documentation of the snapshot maskLukas Fleischer
2014-01-14makefile: auto-detect presence of various Lua, bsdJason A. Donenfeld
2014-01-14filter: style tweaksJason A. Donenfeld
2014-01-14filter: add page source to email filterJason A. Donenfeld
2014-01-14filter: add gravatar scriptsJason A. Donenfeld
2014-01-14filter: add support for email filterJason A. Donenfeld
2014-01-14filter: return on null filter from open and closeJason A. Donenfeld
2014-01-14filter: add lua supportJason A. Donenfeld
2014-01-14filter: basic write hooking infrastructureJason A. Donenfeld
2014-01-14filter: allow for cleanup hook for filter typesJason A. Donenfeld
2014-01-14filter: introduce "filter type" prefixJohn Keeping
2014-01-14filter: add interface layerJohn Keeping
2014-01-14filter: add fprintf_filter functionJohn Keeping
2014-01-14authors: specify maintainersJason A. Donenfeld
2014-01-13filters: Improved syntax-highlighting.pyStefan Tatschner
2014-01-12tests: add CGIT_TEST_OPTS variable to MakefileJohn Keeping
2014-01-12ui-repolist: HTML-escape cgit_rooturl() responseJohn Keeping
2014-01-12ui-shared: URL-escape script_nameJohn Keeping
2014-01-12ui-refs: escape HTML chars in author and tagger namesJohn Keeping
2014-01-12filter: pass extra arguments via cgit_open_filterJohn Keeping
2014-01-12ui-snapshot: set unused cgit_filter fields to zeroJohn Keeping
2014-01-12html: remove redundant htmlfd variableJohn Keeping
2014-01-12tests: add Valgrind supportJohn Keeping
2014-01-12cache: don't leave cache_slot fields uninitializedJohn Keeping
2014-01-10filter: split filter functions into their own fileJason A. Donenfeld
2014-01-10filter: make exit status localJason A. Donenfeld
2014-01-10parsing: fix header typoJason A. Donenfeld
2014-01-10cgit.c: Fix comment on bit mask hackLukas Fleischer
2014-01-10cgit.c: Use "else" for mutually exclusive branchesLukas Fleischer
2014-01-10ui-snapshot.c: Do not reinvent suffixcmp()Lukas Fleischer
2014-01-10Refactor cgit_parse_snapshots_mask()Lukas Fleischer
2014-01-10Disallow use of undocumented snapshot delimitersLukas Fleischer
2014-01-10Replace most uses of strncmp() with prefixcmp()Lukas Fleischer
2014-01-09README: Fix dependenciesLukas Fleischer
2014-01-08README: Spelling and formatting fixesLukas Fleischer
2014-01-08Fix UTF-8 with syntax-highlighting.pyPřemysl Janouch
2014-01-08Add a suggestion to the manpagePřemysl Janouch
2014-01-08Fix the example configurationPřemysl Janouch
2014-01-08Fix about-formatting.shPřemysl Janouch
2014-01-08Fix some spelling errorsPřemysl Janouch
2014-01-08filters: highlight.sh: add css comments for highlight 2.6 and 3.8Ferry Huberts