You are browsing as a guest. Sign up (or log in) to start making projects!

Koei

@Koei

Joined May 31st, 2026

  • 15Devlogs
  • 2Projects
  • 0Ships
  • 0Votes
Open comments for this post

1h 23m 43s logged

readme and polishing

preparing to ship, writing docs, recording demos and stuff. there are a couple other things i want to sort out but i might ship in a few days.

readme and polishing

preparing to ship, writing docs, recording demos and stuff. there are a couple other things i want to sort out but i might ship in a few days.

Replying to @Koei

0
1
Open comments for this post

2h 24m 22s logged

Dark theme!

just glorious

there isn’t a theme toggle button yet, it just goes off of your system’s theme for now.
now that the colors are roughly standardized across the ui, tweaking the contrast and palette is a much more pleasant experience.

Dark theme!

just glorious

there isn’t a theme toggle button yet, it just goes off of your system’s theme for now.
now that the colors are roughly standardized across the ui, tweaking the contrast and palette is a much more pleasant experience.

Replying to @Koei

0
3
Open comments for this post

37m 11s logged

wip dark theme support

i want squirrel to use whatever theme the system is set to. currently it’s forced light mode but dark mode is something i’d be crucified for not adding.

unfortunately, I in my infinite wisdom didn’t have the foresight to have consistent colors across even the light theme itself. there’s just random #aaa, #666, etc colors everywhere where i went with what looked good. so work needs to be done to standardize the colors with css variables. then just modify the variables for dark theme accordingly.

yes, i’m aware this is standard practice.

wip dark theme support

i want squirrel to use whatever theme the system is set to. currently it’s forced light mode but dark mode is something i’d be crucified for not adding.

unfortunately, I in my infinite wisdom didn’t have the foresight to have consistent colors across even the light theme itself. there’s just random #aaa, #666, etc colors everywhere where i went with what looked good. so work needs to be done to standardize the colors with css variables. then just modify the variables for dark theme accordingly.

yes, i’m aware this is standard practice.

Replying to @Koei

0
3
Open comments for this post

1h 41m 1s logged

Ticked a couple of items off the todo list:

Squirrel now loads the history on launch. doing this was easier than i expected, but it’s a very naive way to do it (literally just send all of the history on launch).

we also now have a logo. im no graphic designer by any means so this is the best i could do. shows in the titlebar and when your history is empty. check the project banner for a larger version if you feel like it. i might change the logo in the future, i just wanted an icon.

todo

  • pinning items
  • test on linux

Ticked a couple of items off the todo list:

Squirrel now loads the history on launch. doing this was easier than i expected, but it’s a very naive way to do it (literally just send all of the history on launch).

we also now have a logo. im no graphic designer by any means so this is the best i could do. shows in the titlebar and when your history is empty. check the project banner for a larger version if you feel like it. i might change the logo in the future, i just wanted an icon.

todo

  • pinning items
  • test on linux

Replying to @Koei

0
3
Open comments for this post

1h 12m 58s logged

nothing significant. just docs and comments and cleanup. slowly making progress planning wise into loading the history at launch.

the idea is to use a custom Tauri IPC Channel for incrementally streaming data to the frontend on app start. channels are supposedly faster for this and are meant for continuous messages like this in comparison to events. from the Tauri docs:

Channels are designed to be fast and deliver ordered data. They are used internally for streaming operations such as download progress, child process output and WebSocket messages.

i may implement a lazy loading system if i feel like it.

i have nothing interesting to show so have a squirrel again

nothing significant. just docs and comments and cleanup. slowly making progress planning wise into loading the history at launch.

the idea is to use a custom Tauri IPC Channel for incrementally streaming data to the frontend on app start. channels are supposedly faster for this and are meant for continuous messages like this in comparison to events. from the Tauri docs:

Channels are designed to be fast and deliver ordered data. They are used internally for streaming operations such as download progress, child process output and WebSocket messages.

i may implement a lazy loading system if i feel like it.

i have nothing interesting to show so have a squirrel again

Replying to @Koei

0
1
Open comments for this post

4h 16m 22s logged

Item search

i’ve wanted to add this for a long time but it needed a lot of refactoring in the frontend so i put it off for later. it is now later. we have instant search. press / or any of the non shortcut keys to start searching.

frontend logic has had a big refactor making navigation and other operations more predictable and less wonky. it took a bit of battling with the specifics of Svelte’s each loop and bind:this directive but it was worth it. there is still some cleanup that can be done, the code is not idiomatic by a long shot, but im happy we have a very essential feature complete.

changelog:

  • add search
  • fix broken arrow navigation and copy/delete operations applying to wrong entries.
  • make window size a bit bigger by default (might change later)
  • make copy icon turn into a green checkmark so that there is some visual feedback on copying
  • make the database file always save at the executable’s location.

todo

  • ! still need to test linux
  • ! load history on launch
  • app icon and branding

Item search

i’ve wanted to add this for a long time but it needed a lot of refactoring in the frontend so i put it off for later. it is now later. we have instant search. press / or any of the non shortcut keys to start searching.

frontend logic has had a big refactor making navigation and other operations more predictable and less wonky. it took a bit of battling with the specifics of Svelte’s each loop and bind:this directive but it was worth it. there is still some cleanup that can be done, the code is not idiomatic by a long shot, but im happy we have a very essential feature complete.

changelog:

  • add search
  • fix broken arrow navigation and copy/delete operations applying to wrong entries.
  • make window size a bit bigger by default (might change later)
  • make copy icon turn into a green checkmark so that there is some visual feedback on copying
  • make the database file always save at the executable’s location.

todo

  • ! still need to test linux
  • ! load history on launch
  • app icon and branding

Replying to @Koei

0
2
Open comments for this post

5h 18m 32s logged

Frontend improvements

we now have buttons on the clipboard entries so you can also use the mouse to perform the basic functions like copy, delete, etc. (pins wip). there have also been a bunch of UI improvements and tweaks in general. deleting feels instant. navigation is fixed (for the most part).

Backend

slight optimization in the pasting operation, plus a couple of fixes and doc comments.

Frontend improvements

we now have buttons on the clipboard entries so you can also use the mouse to perform the basic functions like copy, delete, etc. (pins wip). there have also been a bunch of UI improvements and tweaks in general. deleting feels instant. navigation is fixed (for the most part).

Backend

slight optimization in the pasting operation, plus a couple of fixes and doc comments.

Replying to @Koei

0
12
Open comments for this post

24m 50s logged

custom scroll bar

that is it, enjoy.

custom scroll bar

that is it, enjoy.

Replying to @Koei

0
6
Open comments for this post

2h 10m 44s logged

UI tweaks

as i mentioned before, im in the process of simplifying the UI. i hid the native titlebar and made a custom one. also tweaked the shape of the window to feel more like a clipboard. that is all that’s changed significantly this devlog.

development will probably slow down a little bit in the coming days because i have irl stuff to deal with.

UI tweaks

as i mentioned before, im in the process of simplifying the UI. i hid the native titlebar and made a custom one. also tweaked the shape of the window to feel more like a clipboard. that is all that’s changed significantly this devlog.

development will probably slow down a little bit in the coming days because i have irl stuff to deal with.

Replying to @Koei

0
6
Open comments for this post

4h 23m 39s logged

more backend

there isnt any significant change in the frontend but there’s a ton of backend refactoring and bugfixes. performance should be slightly better now with large copy/pastes.

changelog:

  • associate IDs with clipboard events so that we only have to pass IDs between the frontend and backend instead of the whole content.
  • make paste operation more efficient
  • ignore clipboard events caused by Squirrel itself (a bit hacky to achieve this but good enough)
  • Quit button in tray icon menu so Squirrel can actually be closed (there was no way to close it before except killing it)
  • make the shortcut to bring up Squirrel work in almost all situations
  • refactor AppState + some other things
  • more cleanup and comments

anyways, attached image is the tentative color palette i might implement. i have no idea how to do this and which colors to use where or if it would even look good so i might just ditch it in the future. we’ll see.

todo

still have to test on linux and load history on app launch. probably will work on that next.

more backend

there isnt any significant change in the frontend but there’s a ton of backend refactoring and bugfixes. performance should be slightly better now with large copy/pastes.

changelog:

  • associate IDs with clipboard events so that we only have to pass IDs between the frontend and backend instead of the whole content.
  • make paste operation more efficient
  • ignore clipboard events caused by Squirrel itself (a bit hacky to achieve this but good enough)
  • Quit button in tray icon menu so Squirrel can actually be closed (there was no way to close it before except killing it)
  • make the shortcut to bring up Squirrel work in almost all situations
  • refactor AppState + some other things
  • more cleanup and comments

anyways, attached image is the tentative color palette i might implement. i have no idea how to do this and which colors to use where or if it would even look good so i might just ditch it in the future. we’ll see.

todo

still have to test on linux and load history on app launch. probably will work on that next.

Replying to @Koei

0
3
Open comments for this post

3h 0m 29s logged

we got shortcuts

we now have Ctrl+Shift+V as the shortcut to bring up Squirrel.
(i know it’s used for “Paste as plain text” in some programs and used for “Paste in place” in photoshop but whatever).
once up, you can select items from your history using arrow keys. pressing Return pastes the selected item into your last window. we’re having some issues with permissions but i’ll look into it.

i’m now slowly simplifying the UI to be geared more towards improving user ergonomics and make it something that is not cluttered and easy to use.

apart from this, i’ve cleaned up the code a bit removing stray debug prints and random commented code, it was getting out of hand. will write proper doc comments soon.

todo

  • i have to make the app load the user’s past clipboard history on startup lmao i totally forgot
  • i have to start testing on linux, urgently.
  • i feel i should make devlogs more often. even if nothing’s changed in the actual project, detailing plans helps me keep track of things personally.

that’s pretty much it, stay tuned.

edit: please ignore the VC_UNDEFINED keys in the input overlay in the attached video, it’s Enigo inputs not translating well.

we got shortcuts

we now have Ctrl+Shift+V as the shortcut to bring up Squirrel.
(i know it’s used for “Paste as plain text” in some programs and used for “Paste in place” in photoshop but whatever).
once up, you can select items from your history using arrow keys. pressing Return pastes the selected item into your last window. we’re having some issues with permissions but i’ll look into it.

i’m now slowly simplifying the UI to be geared more towards improving user ergonomics and make it something that is not cluttered and easy to use.

apart from this, i’ve cleaned up the code a bit removing stray debug prints and random commented code, it was getting out of hand. will write proper doc comments soon.

todo

  • i have to make the app load the user’s past clipboard history on startup lmao i totally forgot
  • i have to start testing on linux, urgently.
  • i feel i should make devlogs more often. even if nothing’s changed in the actual project, detailing plans helps me keep track of things personally.

that’s pretty much it, stay tuned.

edit: please ignore the VC_UNDEFINED keys in the input overlay in the attached video, it’s Enigo inputs not translating well.

Replying to @Koei

0
4
Open comments for this post

4h 6m 15s logged

a bunch of backend improvements:

  • store timestamps for copy events
  • more efficient message passing between frontend and backend
  • Clear History functionality
  • system tray (!) (pls ignore the missing icon in the tray, we don’t have an icon for the app yet)
  • slightly better UI

on the topic of UI, i’m getting around to deciding a color palette for the app. i will probably work more on the UI for a bit before switching gears to add more functionality (like image support). if i decide i want to ship early, v0.1 will probably go without image support and just get a lot of polish with text only functionality.

a bunch of backend improvements:

  • store timestamps for copy events
  • more efficient message passing between frontend and backend
  • Clear History functionality
  • system tray (!) (pls ignore the missing icon in the tray, we don’t have an icon for the app yet)
  • slightly better UI

on the topic of UI, i’m getting around to deciding a color palette for the app. i will probably work more on the UI for a bit before switching gears to add more functionality (like image support). if i decide i want to ship early, v0.1 will probably go without image support and just get a lot of polish with text only functionality.

Replying to @Koei

0
4
Open comments for this post

3h 54m 28s logged

frontend improvements! spent some time battling css for this relatively simple UI but it’s atleast somewhat pleasant to look at. will work on either image support or making it the app run in the background next.

frontend improvements! spent some time battling css for this relatively simple UI but it’s atleast somewhat pleasant to look at. will work on either image support or making it the app run in the background next.

Replying to @Koei

0
7
Open comments for this post

4h 6m 6s logged

nothing much has changed visually, but we now have a database to store the user’s clipboard actions. plus some refactoring changes and a bunch of minor improvements here and there. i have nothing to show for it except code so instead have an image of a squirrel

nothing much has changed visually, but we now have a database to store the user’s clipboard actions. plus some refactoring changes and a bunch of minor improvements here and there. i have nothing to show for it except code so instead have an image of a squirrel

Replying to @Koei

0
6
Open comments for this post

2h 31m 40s logged

init.
figuring out Tauri’s emit/invoke mechanism and capturing clipboard copy events. slow start.
we’ll do the color palette and icon and all the frontend pleasantries at a later date.

init.
figuring out Tauri’s emit/invoke mechanism and capturing clipboard copy events. slow start.
we’ll do the color palette and icon and all the frontend pleasantries at a later date.

Replying to @Koei

0
33

Followers

Loading…