feat: reorganize settings into Misc tab and update to 3.12.1

- Rename "Performance" tab to "Misc" and move to end of tab list
- Move status bar toggle, project subtasks widget, and notes indexing to
Misc tab
- Update all documentation to reflect new settings organization
- Bump version to 3.12.1 in manifest.json and package.json
This commit is contained in:
Callum Alpass 2025-07-10 22:43:20 +10:00
parent 4b83e03c40
commit 9c35d75880
9 changed files with 75 additions and 59 deletions

View file

@ -21,7 +21,7 @@ The widget includes:
- **Real-time Updates**: The widget updates automatically when tasks are added, modified, or deleted.
- **Smart Positioning**: The widget appears after frontmatter and properties but before the main note content.
The widget can be enabled or disabled in the plugin settings under "Show project subtasks widget".
The widget can be enabled or disabled in the plugin settings in the Misc tab under "Show project subtasks widget".
## Natural Language Processing

View file

@ -22,6 +22,12 @@ For more detailed information, see the [Calendar Settings](settings/calendar-set
## Advanced Settings
These settings provide more advanced customization options, such as field mapping, custom status and priority workflows, and performance tuning. You can also configure the Pomodoro timer from this section.
These settings provide more advanced customization options, such as field mapping, custom status and priority workflows. You can also configure the Pomodoro timer from this section.
For more detailed information, see the [Advanced Settings](settings/advanced-settings.md) documentation.
## Misc Settings
These settings control various plugin features and display options, including status bar visibility, project subtasks widget, and performance tuning.
For more detailed information, see the [Misc Settings](settings/misc-settings.md) documentation.

View file

@ -1,6 +1,6 @@
# Advanced Settings
These settings provide customization options, such as field mapping, custom status and priority workflows, and performance tuning.
These settings provide customization options, such as field mapping, custom status and priority workflows.
## Field Mapping
@ -14,10 +14,6 @@ TaskNotes allows you to define your own **Custom Status Workflows**. You can cre
You can also create a **Custom Priority System**. You can define as many priority levels as you need, and you can customize their names, colors, and weights. The weight of a priority determines its importance, and is used for sorting and filtering.
## Performance Settings
TaskNotes includes **Performance Settings** to optimize the plugin for large vaults. You can disable the indexing of non-task notes, which can improve performance in vaults with a large number of notes.
## Pomodoro Timer Settings
You can configure the **Pomodoro Timer** from this section, including the duration of work and break sessions, as well as the notification settings. You can also choose where to store the Pomodoro session data.

View file

@ -10,10 +10,6 @@ You can enable or disable the **Task Link Overlay** feature, which replaces wiki
You can enable or disable the **Instant Task Conversion** feature, which allows you to convert checkbox tasks to TaskNotes with a single click. You can also choose whether to apply your default task settings to converted tasks.
## Project Subtasks Widget
You can enable or disable the **Project Subtasks Widget**, which displays a collapsible list of tasks that reference the current note as a project. When enabled, the widget appears automatically in project notes and updates in real-time as tasks are modified.
## Natural Language Processing
You can enable or disable the **Natural Language Processor (NLP)**, which allows you to create tasks using conversational language. You can also set the default date type for ambiguous date references.

View file

@ -0,0 +1,17 @@
# Misc Settings
These settings control various plugin features and display options that don't fit into other categories.
## Status Bar
**Show tracked tasks in status bar** - Display currently tracked tasks (with active time tracking) in the status bar at the bottom of the app. This provides a quick visual indicator of which tasks are currently being tracked without needing to open the TaskNotes views.
## Project Subtasks Widget
**Show project subtasks widget** - Display a collapsible widget showing all tasks that reference the current note as a project. This widget appears in the editor when viewing notes that have tasks referencing them as projects, providing quick access to related tasks.
## Performance Settings
**Disable note indexing** - Disable indexing and caching of non-task notes to improve performance in large vaults. Note: This will disable the Notes view and notes display in the Agenda view. Requires plugin restart to take effect.
This setting is useful for large vaults where performance may be impacted by indexing many notes. When enabled, TaskNotes will only index and track task files, which can significantly improve performance but will disable some features that depend on note content.

View file

@ -61,7 +61,7 @@ This section covers common issues and their solutions when using TaskNotes.
**Solutions**:
1. Disable unused event types in calendar view toggles
2. Increase ICS subscription refresh intervals
3. Consider disabling note indexing if you don't use the Notes view
3. Consider disabling note indexing in Misc settings if you don't use the Notes view
4. Reduce the number of external calendar subscriptions
### Natural Language Parsing Not Working
@ -131,7 +131,7 @@ This section covers common issues and their solutions when using TaskNotes.
### Slow View Loading
**Solutions**:
1. Disable note indexing if you don't use the Notes view
1. Disable note indexing in Misc settings if you don't use the Notes view
2. Reduce the number of external calendar subscriptions
3. Exclude large folders from note processing
4. Consider using simpler status and priority configurations

View file

@ -1,7 +1,7 @@
{
"id": "tasknotes",
"name": "TaskNotes",
"version": "3.12.0",
"version": "3.12.1",
"minAppVersion": "1.0.0",
"description": "Note-based task management with calendar, pomodoro and time-tracking integration.",
"author": "Callum Alpass",

View file

@ -1,6 +1,6 @@
{
"name": "tasknotes",
"version": "3.12.0",
"version": "3.12.1",
"description": "Note-based task management with calendar, pomodoro and time-tracking integration.",
"main": "main.js",
"scripts": {

View file

@ -302,11 +302,11 @@ export class TaskNotesSettingTab extends PluginSettingTab {
{ id: 'task-defaults', name: 'Task defaults' },
{ id: 'general', name: 'Inline tasks' },
{ id: 'calendar', name: 'Calendar' },
{ id: 'performance', name: 'Performance' },
{ id: 'field-mapping', name: 'Field mapping' },
{ id: 'statuses', name: 'Statuses' },
{ id: 'priorities', name: 'Priorities' },
{ id: 'pomodoro', name: 'Pomodoro' }
{ id: 'pomodoro', name: 'Pomodoro' },
{ id: 'misc', name: 'Misc' }
];
tabs.forEach(tab => {
@ -387,9 +387,6 @@ export class TaskNotesSettingTab extends PluginSettingTab {
case 'calendar':
this.renderCalendarTab();
break;
case 'performance':
this.renderPerformanceTab();
break;
case 'field-mapping':
this.renderFieldMappingTab();
break;
@ -402,6 +399,9 @@ export class TaskNotesSettingTab extends PluginSettingTab {
case 'pomodoro':
this.renderPomodoroTab();
break;
case 'misc':
this.renderMiscTab();
break;
}
}
@ -469,40 +469,6 @@ export class TaskNotesSettingTab extends PluginSettingTab {
});
});
// Status bar settings section
new Setting(container).setName('Status bar').setHeading();
new Setting(container)
.setName('Show tracked tasks in status bar')
.setDesc('Display currently tracked tasks (with active time tracking) in the status bar at the bottom of the app')
.addToggle(toggle => {
toggle.toggleEl.setAttribute('aria-label', 'Show tracked tasks in status bar');
return toggle
.setValue(this.plugin.settings.showTrackedTasksInStatusBar)
.onChange(async (value) => {
this.plugin.settings.showTrackedTasksInStatusBar = value;
await this.plugin.saveSettings();
// Update status bar visibility immediately
if (this.plugin.statusBarService) {
this.plugin.statusBarService.updateVisibility();
}
});
});
new Setting(container)
.setName('Show project subtasks widget')
.setDesc('Display a collapsible widget showing all tasks that reference the current note as a project')
.addToggle(toggle => {
toggle.toggleEl.setAttribute('aria-label', 'Show project subtasks widget');
return toggle
.setValue(this.plugin.settings.showProjectSubtasks)
.onChange(async (value) => {
this.plugin.settings.showProjectSubtasks = value;
await this.plugin.saveSettings();
// Refresh all open editors to apply the change
this.plugin.notifyDataChanged();
});
});
// Help section
const helpContainer = container.createDiv('settings-help-section');
@ -1409,17 +1375,52 @@ export class TaskNotesSettingTab extends PluginSettingTab {
});
}
private renderPerformanceTab(): void {
const container = this.tabContents['performance'];
private renderMiscTab(): void {
const container = this.tabContents['misc'];
// Performance settings
new Setting(container).setName('Performance settings').setHeading();
// Misc settings
new Setting(container).setName('Miscellaneous settings').setHeading();
container.createEl('p', {
text: 'Configure performance-related settings that affect plugin responsiveness.',
text: 'Configure various plugin features and display options.',
cls: 'settings-help-note'
});
// Status bar toggle
new Setting(container)
.setName('Show tracked tasks in status bar')
.setDesc('Display currently tracked tasks (with active time tracking) in the status bar at the bottom of the app')
.addToggle(toggle => {
toggle.toggleEl.setAttribute('aria-label', 'Show tracked tasks in status bar');
return toggle
.setValue(this.plugin.settings.showTrackedTasksInStatusBar)
.onChange(async (value) => {
this.plugin.settings.showTrackedTasksInStatusBar = value;
await this.plugin.saveSettings();
// Update status bar visibility immediately
if (this.plugin.statusBarService) {
this.plugin.statusBarService.updateVisibility();
}
});
});
// Project subtasks widget toggle
new Setting(container)
.setName('Show project subtasks widget')
.setDesc('Display a collapsible widget showing all tasks that reference the current note as a project')
.addToggle(toggle => {
toggle.toggleEl.setAttribute('aria-label', 'Show project subtasks widget');
return toggle
.setValue(this.plugin.settings.showProjectSubtasks)
.onChange(async (value) => {
this.plugin.settings.showProjectSubtasks = value;
await this.plugin.saveSettings();
// Refresh all open editors to apply the change
this.plugin.notifyDataChanged();
});
});
// Notes indexing toggle
new Setting(container)
.setName('Disable note indexing')
.setDesc('Disable indexing and caching of non-task notes to improve performance in large vaults. Note: This will disable the Notes view and notes display in the Agenda view. Requires plugin restart to take effect.')