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

Yasin

@Yasin

Joined June 1st, 2026

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

1h 21m 6s logged

i added the base code for base16 themes and the skeleton sidebar (no buttons or actual pages yet)

i plan for the sidebar to do something with navigation so like a playlists button and because i want the music player to be minimal it will probably become floating and will probably become a small menu icon that when clicked will expose the Playlists button

i will probably make some sort of abstract button wrapper since i still need to make the actual full screen player ui which will at least have 3 icons (pause/play, backwards, forwards)

the slow resizing issue was fixed by using gpui’s git repository and not crates.io

the next steps are to add custom theme support which means i will need to also locate a config folder; i plan on using https://codeberg.org/dirs/directories-rs; colors will probably be in yaml so that you can copy and paste tinted-theming schemes from https://github.com/tinted-theming/schemes other config settings will likely be in toml

oh also i will need to set up automatic binary releases for amd64 and arm64 on linux and macos with github actions, which should be easier because it already uses Nix

0
0
2
Open comments for this post

1h 34m 8s logged

gpui at least with the crates.io version has very slow resizing so i might switch to iced

i have some ideas for how data will be stored:

  • sqlite for database engine via sqlx or pure rust library (depends on which one allows to decode into structs)
  • migrations can be done as a map to sql string (version -> appropriate migration)
  • each playlist can be its own database & can store its own downloaded songs because fetching from db is faster: https://sqlite.org/fasterthanfs.html
  • settings (theme) can be done in toml

i have also disabled bounds on the gpui window, so thats the screenshot

0
0
1
Open comments for this post

56m 4s logged

I set up the flake at first using rust-overlay but realized crane is probably better so I asked opencode to refactor it to use crane

The default gpui example now runs

0
0
3
Open comments for this post

41m 17s logged

i setup the project

there are many options in zig for using wayland + vulkan together but i decided on using wio https://github.com/ypsvlq/wio instead of other options like raylib because it exposes the wl_display and wl_surface we would need to make the window display on top of everything else using wayland protocols

for now though it is just an orange square example

0
0
1

Followers

Loading…