shift + F2 to cycle themes in reverse

Hunter
Thursday, September 24th, 2026 at 12:09 AM

readme.md+1-1
resources/main.js+1-1
resources/theme.js+2-2

readme.md
47  - `⬆️/⬇️` (without modifier) clear the selection and resume single-task navigation
48  
49  ### theming
   -- press `F2` to cycle through available themes
50 +- press `F2` to cycle through available themes (`Shift + F2` to cycle in reverse)
51  
52  ## data persistence
53  your task tree is automatically saved to your browser's local storage after each edit. this ensures your tasks will persist even if you close the browser or refresh the page.
resources/main.js
52  		if (event.key === 'F2' && !state.isF2Pressed) {
53  			event.preventDefault();
54  			state.isF2Pressed = true;
   -			cycleTheme();
55 +			cycleTheme(event.shiftKey ? -1 : 1);
56  		}
57  	});
58  
resources/theme.js
1  // Theme: theme selection, cycling, and persistence
2  
  -function cycleTheme() {
  -	state.currentThemeIndex = (state.currentThemeIndex + 1) % state.themes.length;
3 +function cycleTheme(step) {
4 +	state.currentThemeIndex = (state.currentThemeIndex + step + state.themes.length) % state.themes.length;
5  	var newTheme = state.themes[state.currentThemeIndex];
6  	setTheme(newTheme);
7  	saveThemeToLocalStorage(newTheme);