feat(tauri): add Windows taskbar overlay badge for git sync status

This change introduces a Windows-only taskbar badge that displays the
ahead+behind count as a rendered overlay icon. The UI now updates
the badge whenever the repository sync status changes, and the git
diff commands are adjusted to avoid external diff/text conversion noise.

- Add badge rendering and Tauri command for setting overlay icon
- Wire badge updates into the Svelte app based on git status
- Update git diff invocations to disable ext-diff/textconv
This commit is contained in:
Christoph Brandau
2026-07-03 13:49:43 +02:00
parent 883cf3ebd1
commit 276dfbab07
6 changed files with 153 additions and 3 deletions
+14 -1
View File
@@ -1302,6 +1302,8 @@ pub fn compare_commits(
&repo,
[
"diff",
"--no-ext-diff",
"--no-textconv",
"-M",
FULL_FILE_DIFF_CONTEXT,
from_hash.as_str(),
@@ -1344,7 +1346,14 @@ pub fn diff_file_against_working_tree(
)?;
let patch_output = run_git_with_paths(
&repo,
&["diff", "-M", FULL_FILE_DIFF_CONTEXT, commit_hash.as_str()],
&[
"diff",
"--no-ext-diff",
"--no-textconv",
"-M",
FULL_FILE_DIFF_CONTEXT,
commit_hash.as_str(),
],
std::slice::from_ref(&file),
)?;
@@ -1400,6 +1409,8 @@ pub fn compare_file_to_head(
&repo,
&[
"diff",
"--no-ext-diff",
"--no-textconv",
"-M",
FULL_FILE_DIFF_CONTEXT,
commit_hash.as_str(),
@@ -1472,6 +1483,8 @@ pub fn compare_file_to_parent(
&repo,
&[
"diff",
"--no-ext-diff",
"--no-textconv",
"-M",
FULL_FILE_DIFF_CONTEXT,
from_hash.as_str(),