github DEEIX-AI/Winc v0.1.571

50 minutes ago

✨ Feature

  • Preview PDF files on macOS and Windows with the system PDF renderer: pages fit the editor width, only the pages near the view are rendered and cached, a page counter shows the current page, and the wheel, arrow keys, Page Up/Down, Space and Home/End scroll
  • Preview Word documents (.docx, .docm, .dotx, .dotm) as a read-only reading view with multi-level heading numbering, inline styles, lists, tables, images, links, footnotes and comments; pie charts become Mermaid pie charts, small category charts become tables, and other charts list their series
  • Add an outline section below the file tree that lists functions, types and Markdown headings (with their # levels) as a foldable tree, highlights the symbol at the cursor, jumps on click or Enter, remembers folded symbols per file, and can be turned off in Settings (#52)
  • Add a heading indicator beside the Markdown preview: one mark per heading, with the current section highlighted; hovering opens the heading list, and choosing a heading jumps to it and briefly highlights it
  • Restyle Mermaid diagrams with colours taken from the theme, route edges through the subgraphs they cross, keep edge labels on smooth curves, and add a full-screen viewer with zoom (buttons, keys, pinch and ⌘-scroll) and pan
  • Support projects inside WSL on Windows (experimental) (#66):
    • Open WSL Folder lists the installed distributions
    • Git, the terminal and formatters run inside the distribution
    • A bundled watcher reports file changes from inside the distribution
    • Saving keeps Linux permissions and ownership
    • When a distribution is unavailable, documents are kept and autosave pauses
  • Add per-project run configurations (#45):
    • Read from .winc/run.json, or detected from project files when there is none
    • Run, stop and rerun from the terminal tab bar, F5 and ⇧F5
    • Ask before running a command from a repository, and again when the command changes
  • Add a shell picker to the terminal panel that lists the shells on this machine, including PowerShell, cmd and WSL distributions on Windows; each tab remembers its shell across restarts
  • Move terminal find to a floating bar with match case, whole word and regex options; it searches across wrapped lines, follows new output and marks results on the scrollbar
  • Add a Terminal page in Settings: default shell, panel position (bottom or right), font, font size, copy on select, confirmation before closing, the Winc prompt, shell integration and the Meta key on macOS; Git Bash is detected on Windows
  • Redesign the commit view:
    • The commit card sits below the changes
    • The last unpushed commit has an inline Undo
    • Stashes are listed in a collapsible group with apply, pop and drop, and their files open in a preview diff
    • When there is nothing to commit, the view shows how the branch relates to its upstream, with one next step: Push, Pull, Sync or Publish
    • Holding ⌥ turns Commit into Commit and Push
  • Commit single lines or hunks from the diff
  • Add interactive rebase and a three-way merge view for conflicts, and rework the two-way diff
  • Add clone, init, branch rename, tag and remote management, and Git commands in the command palette, including Pull with Rebase
  • Ask for Git credentials, SSH key passphrases and host key confirmation in a dialog, and keep the full Git output for review (Git: Show Output)
  • Pull and sync with uncommitted changes: they are stashed and restored afterwards; if restoring conflicts, the conflicts are marked in the working tree and the original changes stay in the stash
  • Carry uncommitted changes across branch switches by stashing, switching and restoring when Git refuses a plain switch; the stash is kept whenever the changes cannot be restored cleanly
  • Add a searchable branch picker with Pull, Push and Fetch and a New Branch button, opened from the branch row or the status bar
  • Add a winc shell command (#77):
    • Install it from the command palette on macOS and in the Linux AppImage; the Windows installers add it to the Path
    • The command returns to the shell immediately on Unix
    • Unreadable targets are reported with exit status 1
    • Add -v and --version
  • Open files single-clicked in the file tree in a preview tab, with the name in italics. Clicking another file replaces the preview tab, and double-clicking or editing keeps it. Turn it on with the Preview Tabs setting (#87)
  • Add Open Recent Folder on Ctrl+R (⌃R on macOS) (#73):
    • The current folder is left out, so Enter returns to the previous folder
    • Type to filter by name or location
    • ⌥Enter opens a folder in a new window
    • × removes a folder from the list
  • Add a UI zoom setting (70%–200%) with its own shortcuts, separate from the editor font size; the terminal now has its own font and size and no longer follows the editor font size
  • Add Settings search across all pages, wrap long setting descriptions, and redesign the About page with the app icon, links and a click-to-copy version
  • Turn the status bar update hint into a button with Update, download progress, Restart and Retry states; the version, progress and failure reason appear in its tooltip
  • Remember whether the sidebar is open for each folder (#51)
  • Delete empty bracket and quote pairs together on Backspace, with undo restoring both halves and every cursor following the same rule
  • Offer to move Winc to the Applications folder on macOS when it runs from a disk image or a translocated location; the original copy is moved to the Trash, or the disk image is ejected

⚡ Optimization

  • Remove wheel lag and stutter: each notch scrolls immediately on Windows and Linux, and on macOS the scroll animation adapts to the wheel speed
  • Follow the system's lines-per-notch setting on Windows, scroll 120 px per notch on Linux, and pace frames to the display on Windows and Wayland (#72)
  • Release the idle frame buffer on Windows and X11, about 32 MB at 4K
  • Add WINC_FRAME_LOG=1 to print drawing-time statistics for performance reports
  • Draw strokes only near each shape, cutting the cost of scrolling past diagrams by about 60%
  • Improve terminal rendering:
    • Scroll by pixels
    • Draw block elements without gaps
    • Keep the input method's composition on screen
    • Keep styles and combining marks under the block cursor
    • Size emoji sequences consistently
    • Follow the colour scheme
  • Refine terminal interaction:
    • Typing clears the selection, and ⇧-click extends it
    • Dragging past the edge keeps scrolling
    • ⌥-click moves the shell cursor at the prompt
    • Tabs running a program are marked, and the + button stays in place
  • Animate commit view refreshes, long change names, the commit button width and the amend toggle; long names expand on hover and fade at the cut instead of ending with an ellipsis; Reduce Motion skips these animations
  • Simplify the commit view: checkboxes only decide what goes into a commit, and the separate staging controls are removed
  • List up to three of the affected files when a pull fails
  • Keep mouse hover separate from the keyboard selection in pickers, and give the branch picker's default row a soft highlight until the keyboard is used, so it is not mistaken for the current branch
  • Strengthen diff colours so deletions stand apart from folded and current lines, use the standard checkbox in the commit view, and align focus rings to device pixels at fractional scales
  • Keep middle dots and closing punctuation off the start of wrapped lines in Markdown
  • Name the app Winc in system menus, installers and interface text, and reword Git messages and dialogs consistently in both languages
  • Lay out the macOS app icon on Apple's icon grid so it matches other apps in the Dock

🐛 Fixed

  • Fix new windows opening off screen when the window that opens them is minimized; a new window now cascades from that window's last normal position (#95)
  • Fix diffs treating whole files as changed when only their line endings differ under core.autocrlf (#89)
  • Fix terminal start-up and display problems with some programs, reverse video hiding default text, and scrollback, prompt and process tracking in WSL terminals (#65)
  • Fix the terminal panel not being restored when the first window opens
  • Fix run configurations not pinning their command line like a typed command
  • Fix the refresh button in the Git log having no effect (#57)
  • Fix the Settings scrollbar, including on the Shortcuts page, not being draggable (#70)
  • Fix the traffic lights, title bar inset and sidebar toggle shifting when entering or leaving fullscreen and while zooming on macOS (#54)
  • Fix shortcut symbols rendering as boxes on Linux; shortcuts are now shown in each platform's notation (#64)
  • Fix docks, taskbars and window rules not recognising the Linux window on Wayland and X11, and raise the existing window on Wayland when a second launch hands off to it (#74)
  • Fix an old copy of Winc from the installer disk image appearing under Open With on macOS (#75)
  • Fix punctuation committed by input methods, such as Pinyin ,。:, being replaced by ASCII characters on macOS
  • Fix .bat and .cmd files no longer running after installing Winc on Windows, and stop installing Winc from making file types ask which app to use; Winc is now offered under Open With > Choose another app
  • Fix the Windows portable ZIP storing settings and state in the user profile; it now keeps them in its data folder, imports existing settings on first run and runs as a separate instance
  • Fix hunks with identical content being checked together
  • Fix the sync control sharing the refresh icon

⏬ Download

Platform Download
macOS · Apple silicon Winc-0.1.571-macos-arm64.dmg
macOS · Intel Winc-0.1.571-macos-x64.dmg
Linux · x86_64 Winc-0.1.571-linux-x64.AppImage or .deb
Windows · x86_64 Winc-0.1.571-windows-x64-setup.exe
Windows · x86_64 · MSI Winc-0.1.571-windows-x64.msi
Windows · x86_64 · Portable Winc-0.1.571-windows-x64-portable.zip

Checksums are in SHA256SUMS. The signed appcast-*.xml files are the in-app update feeds deployed to winc.si.

Don't miss a new Winc release

NewReleases is sending notifications on new releases.