Handmade Network»Vjekoslav

Recent Activity

  • New content zoom slider, displayed on demand.
  • Jump to specific zoom levels, such as details or columns.
  • Display zoom percentage in the footer.

Separating folders from files, toggling their visibility, combined with filtering. &disk-voyager

Last update video for this year featuring proper UI and DPI scaling. It works nicely when switching monitors with different DPIs. &disk-voyager

Rectangular selection with smooth mouse scrolling on an expanded Windows drive (approx. 1 million files). &disk-voyager

Switch between folders and files. &disk-voyager
Select everything, toggle folders on and off, and you'll have all your files selected.
Use two split panels, one for files and one for folders.

Thumbnails. &disk-voyager 🗄️ 🎞️ 🗃️

Hundreds of thousands of new file entries arrive, and your scroll position remains fixed on your selection while still responding seamlessly to your scroll input. All movements in the video result from mouse scrolling and keyboard arrow actions. &disk-voyager

Multiple selections + Clipboard == 🤝 in &disk-voyager

Sort by size in &disk-voyager includes directories contents, which is super handy!

I won't be showcasing huge features anymore before the alpha release, so I thought I'd share small feature I added today, "single-click to open". It mostly emulates Windows behaviour, short hover delay to select and it works nicely with multiple selections. I also integrated it into GoTo and commands window. &disk-voyager

After few months of hard work and rewriting UI system from scratch, finally something to show 🙂 &disk-voyager

Tightening UI renderer. Drop shadows for popups (left pic). Smoothed edges (right pic). &disk-voyager

As the end of the year approaches, I thought it would be nice to do a quick review of 2022 in the form of a short timelapse video. &disk-voyager

GoTo window and Navigation pane &disk-voyager

Selection Batch Renaming &disk-voyager

  • Standard text field move/extend/delete hotkeys
    • Left, right, home, end, by word
  • Uppercase / Lowercase
  • Special insertions: incremental id, current date, file create date, file modify date
  • Copy / Cut / Paste
  • Undo / Redo
  • Works on huge selections
  • Lighting fast, both edit and rename


&disk-voyager - Improving right click context menu

- Tabs
- Create, delete, change tabs with mouse, command palette or hotkeys
- Open in new tab
- Stored in sessions and layouts
- Future support: tab rearrangement, tab into window
- Multiple selection with mouse and hotkeys
- Copy / Paste / Delete
- Results window
- Auto update stats/files across all panels
- Put to background tab
- Drag & drop mouse support
- Terminate
- Tech
- Custom HashMap (stb like with support for length base strings and arena allocation)
- Heavier use of scratch arenas
- Moved to unsigned counts/lengths
- IMGUI interactions rework

YT: https://youtu.be/VtQfgcFYnug

- Drive listing
- Works with expansion too. You can expand all drives together
- Separate goto window for recents/bookmarks/common system paths
- Support for automatic storing of current session (window size, panel layout, selection etc..)
- Support for saving/loading layouts (named sessions)
- File preview in separate panel (support for images now, planned: text, audio, video...)
- Support for ignored folders when searching (e.g. .git .svn)
- Support for multiple keybindings for same action
- Mapped basic vim movement actions (not interfering with regular keybindings)
- Open cmd & file explorer commands
- Display options for:
- Show/hide file extensions
- Show/hide hidden files
- Show/hide system files
- Miscellaneous
- Switched to length based strings struct String { char *value; int length; }
- Removed Allocator wrapper abstraction and using Arenas / Pools directly
- Moved away completely from visual studio, using remedybg + portable MSVC

- Proper redrawing on window resize
- Support for different thumbnail sizes
- Using slider, but still experimenting on how to improve Windows default UX
- Round corners everywhere ^^

  • After a few weeks of break, development on &disk-voyager continues:
    • Moved to json format for settings/keybindings
      • Option to generate default config file
      • Hot reloadable
    • Colors and other similar options defined in settings
    • Moved from hardcoded keybindings to global keybinding system controlled by settings
    • Better symbol support for keybindings
      • A-Z, 0-9
      • Function keys
      • ` - = \ ; ' , . /
      • Left, Up, Right, Down, Page up, Page down, End, Home
      • Tab, Enter, Escape, Space, Backspace, Delete
      • Numpad keys
    • Chained keybindings, e.g. ["Ctrl+W", "Ctrl+H"]
    • Support for Unicode text input (e.g. for file filtering)
    • Command window for fast access
      • Displaying command's keybinding assigned through json
      • Commands can be filtered by name and/or keybinding
      • Commands visible/hidden, enabled/disabled based on current context
    • Asynchronous sorting, interchangeable with filtering
    • Added some UI animation juice (camera, selection, scrolling, show/hide popups etc.)
      • Thanks to Ryan for discussion on formula
    • Separated all program UI strings into separate localization file
      • Embedded into executable at build time to keep it as single exe
  • This video was brought to you by amazing software (**wcap **+ handbrake)


  • multiple panels
  • vertical/horizontal split
  • prev/next, left/right/up/down navigation
  • resize support
  • support for stopping background threads (needed for fast opening/closing panels)

More work on Disk Voyager
New Features:
- loading icons in background (supports huge listings such as whole drive)
- inactive panel dim
- display entry full path when directory is expanded
Code Improvements:
- better thread support (thread priorities, more generic, not constrained to single work queue, using thread pools)
- switch arenas to use 64 bit virtual space (32bit support -> Recycle bin)
- using UTF8 in non-platform layer, converting to wchars in win layer
- support for direct NTFS sectors read

&disk-voyager - modern and fast file explorer. I've been working on it in my spare time. Probably gonna commit on it fully now. It's written in C and has custom OpenGL renderer. Its already blazingly fast. It expands my C drive with 200 GBs in less than 2 seconds and supports fzf filtering on the expanded content. Searching and filtering is multithreaded. There are tons of features I wanna experiment with in order to improve UX of traditional explorers (gonna share those in the future). Atm my primary focus is still on good performance.

Forum reply: Dynamic arrays
New forum thread: Dynamic arrays
New forum thread: Zero struct initialization
New forum thread: Language server protocol