{"id":15116863,"url":"https://github.com/ravachol/kew","last_synced_at":"2025-10-21T04:41:58.301Z","repository":{"id":166298832,"uuid":"641756237","full_name":"ravachol/kew","owner":"ravachol","description":"A marvelous terminal music player.","archived":false,"fork":false,"pushed_at":"2025-10-14T23:21:48.000Z","size":8518,"stargazers_count":2061,"open_issues_count":3,"forks_count":67,"subscribers_count":14,"default_branch":"main","last_synced_at":"2025-10-15T02:32:39.172Z","etag":null,"topics":["audio-player","command-line","kew","linux","macos","music","music-player","player","terminal"],"latest_commit_sha":null,"homepage":"https://ko-fi.com/ravachol","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ravachol.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"docs/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"ko_fi":"ravachol","github":"ravachol"}},"created_at":"2023-05-17T05:29:52.000Z","updated_at":"2025-10-14T23:21:51.000Z","dependencies_parsed_at":"2023-11-17T00:35:55.975Z","dependency_job_id":"144a9c52-9dea-4be1-b977-e31e6c167f21","html_url":"https://github.com/ravachol/kew","commit_stats":null,"previous_names":["ravachol/cue","ravachol/kew"],"tags_count":74,"template":false,"template_full_name":null,"purl":"pkg:github/ravachol/kew","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravachol%2Fkew","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravachol%2Fkew/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravachol%2Fkew/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravachol%2Fkew/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ravachol","download_url":"https://codeload.github.com/ravachol/kew/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravachol%2Fkew/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280207158,"owners_count":26290614,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-21T02:00:06.614Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["audio-player","command-line","kew","linux","macos","music","music-player","player","terminal"],"created_at":"2024-09-26T01:45:21.900Z","updated_at":"2025-10-21T04:41:58.296Z","avatar_url":"https://github.com/ravachol.png","language":"C","readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"images/logo.png\" alt=\"kew Logo\"\u003e\n\u003c/div\u003e\n\n\u003cbr\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://jenova7.bandcamp.com/album/lost-sci-fi-movie-themes\"\u003e\n    \u003cimg src=\"images/kew.gif\" alt=\"Screenshot\"\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\u003cbr\u003e\u003cbr\u003e\n\n[![License](https://img.shields.io/github/license/ravachol/kew?color=333333\u0026style=for-the-badge)](./LICENSE)\n\u003cbr\u003e\n\nkew (/kjuː/) is a terminal music player.\n\n## Features\n\n * Search a music library with partial titles from the command-line.\n * Creates a playlist automatically based on matched song, album or artist.\n * Private, no data is collected by kew.\n * Music without distractions or algorithmic manipulation.\n * Full color covers in sixel-capable terminals.\n * Visualizer with various settings.\n * Edit the playlist by adding, removing and reordering songs.\n * Gapless playback.\n * Explore the library and enqueue files or folders.\n * Search your music library and add to the queue.\n * Supports MP3, FLAC, MPEG-4/M4A (AAC), OPUS, OGG, Webm and WAV audio.\n * Supports desktop events through MPRIS.\n * Use themes or colors derived from covers.\n\n## Installing\n\n\u003ca href=\"https://repology.org/project/kew/versions\"\u003e\u003cimg src=\"https://repology.org/badge/vertical-allrepos/kew.svg\" alt=\"Packaging status\" align=\"right\"\u003e\u003c/a\u003e\n\nInstall through your package manager or homebrew (macOS). If you can't find it on your distro, or you want the bleeding edge, follow the [Manual Installation Instructions](docs/MANUAL-INSTALL-INSTRUCTIONS.md).\n\n## Usage\n\nkew creates a playlist with the contents of the first directory or file whose name matches the arguments you provide in the command-line.\n\n```bash\nkew cure great\n```\n\nThis creates and starts playing a playlist with 'The cure greatest hits' if it's in your music library.\n\nIt works best when your music library is organized this way:\n\nartist folder-\u003ealbum folder(s)-\u003etrack(s).\n\n### Example commands\n\n```\nkew (starting kew with no arguments opens the library view where you can choose what to play)\n\nkew all (plays all songs, up to 20 000, in your library, shuffled)\n\nkew albums (plays all albums, up to 2000, randomly one after the other)\n\nkew moonlight son (finds and plays moonlight sonata)\n\nkew moon (finds and plays moonlight sonata)\n\nkew beet (finds and plays all music files under \"beethoven\" directory)\n\nkew dir \u003calbum name\u003e (sometimes, if names collide, it's necessary to specify it's a directory you want)\n\nkew song \u003csong\u003e (or a song)\n\nkew list \u003cplaylist\u003e (or a playlist)\n\nkew theme midnight (sets the 'midnight.theme' theme).\n\nkew shuffle \u003calbum name\u003e (shuffles the playlist. shuffle needs to come first.)\n\nkew artistA:artistB:artistC (plays all three artists, shuffled)\n\nkew --help, -? or -h\n\nkew --version or -v\n\nkew --nocover\n\nkew --noui (completely hides the UI)\n\nkew -q \u003csong\u003e, --quitonstop (exits after finishing playing the playlist)\n\nkew -e \u003csong\u003e, --exact (specifies you want an exact (but not case sensitive) match, of for instance an album)\n\nkew . loads kew favorites.m3u\n\nkew path \"/home/joe/Musik/\" (changes the path)\n\n ```\n\n### Key Bindings\n\n#### Basic\n\n* \u003ckbd\u003eEnter\u003c/kbd\u003e to play or enqueue/dequeue.\n* \u003ckbd\u003eSpace\u003c/kbd\u003e, \u003ckbd\u003ep\u003c/kbd\u003e or right mouse to play or pause.\n* Use \u003ckbd\u003e+\u003c/kbd\u003e (or \u003ckbd\u003e=\u003c/kbd\u003e), \u003ckbd\u003e-\u003c/kbd\u003e keys to adjust the volume.\n* Use \u003ckbd\u003e←\u003c/kbd\u003e, \u003ckbd\u003e→\u003c/kbd\u003e or \u003ckbd\u003eh\u003c/kbd\u003e, \u003ckbd\u003el\u003c/kbd\u003e keys to switch tracks.\n* \u003ckbd\u003eAlt+s\u003c/kbd\u003e to stop.\n* \u003ckbd\u003eF2\u003c/kbd\u003e or \u003ckbd\u003eShift+z\u003c/kbd\u003e (macOS/Android) to show/hide playlist view.\n* \u003ckbd\u003eF3\u003c/kbd\u003e or \u003ckbd\u003eShift+x\u003c/kbd\u003e (macOS/Android) to show/hide library view.\n* \u003ckbd\u003eF4\u003c/kbd\u003e or \u003ckbd\u003eShift+c\u003c/kbd\u003e (macOS/Android) to show/hide track view.\n* \u003ckbd\u003eF5\u003c/kbd\u003e or \u003ckbd\u003eShift+v\u003c/kbd\u003e (macOS/Android) to show/hide search view.\n* \u003ckbd\u003eF6\u003c/kbd\u003e or \u003ckbd\u003eShift+b\u003c/kbd\u003e (macOS/Android) to show/hide key bindings view.\n* \u003ckbd\u003ei\u003c/kbd\u003e to cycle colors derived from kewrc, theme or track cover.\n* \u003ckbd\u003et\u003c/kbd\u003e to cycle themes.\n* \u003ckbd\u003eBackspace\u003c/kbd\u003e to clear the playlist.\n* \u003ckbd\u003eDelete\u003c/kbd\u003e to remove a single playlist entry.\n* \u003ckbd\u003er\u003c/kbd\u003e to cycle repeat settings (repeat, repeat list, off).\n* \u003ckbd\u003es\u003c/kbd\u003e to shuffle the playlist.\n\n#### Advanced\n\n* \u003ckbd\u003eu\u003c/kbd\u003e to update the library.\n* \u003ckbd\u003em\u003c/kbd\u003e show full page lyrics in track view. See [Lyrics](#lyrics)\n* \u003ckbd\u003ev\u003c/kbd\u003e to toggle the visualizer.\n* \u003ckbd\u003eb\u003c/kbd\u003e to toggle album covers drawn in ascii or as a normal image.\n* \u003ckbd\u003en\u003c/kbd\u003e to toggle notifications.\n* \u003ckbd\u003ea\u003c/kbd\u003e to seek back.\n* \u003ckbd\u003ed\u003c/kbd\u003e to seek forward.\n* \u003ckbd\u003ex\u003c/kbd\u003e to save the currently loaded playlist to a m3u file in your music folder.\n* \u003ckbd\u003eTab\u003c/kbd\u003e to switch to next view.\n* \u003ckbd\u003eShift+Tab\u003c/kbd\u003e to switch to previous view.\n\n* \u003ckbd\u003ef\u003c/kbd\u003e, \u003ckbd\u003eg\u003c/kbd\u003e to move songs up or down the playlist.\n* number + \u003ckbd\u003eG\u003c/kbd\u003e or \u003ckbd\u003eEnter\u003c/kbd\u003e to go to specific song number in the playlist.\n* \u003ckbd\u003e.\u003c/kbd\u003e to add currently playing song to kew favorites.m3u (run with \"kew .\").\n* \u003ckbd\u003eEsc\u003c/kbd\u003e to quit.\n\n## Configuration\n\nLinux: ~/.config/kew/\n\nmacOS: ~/Library/Preferences/kew/\n\n## Themes\n\nPress t to cycle available themes.\n\nTo set a theme from the command-line, run:\n\n```bash\nkew theme \u003cthemename\u003e (ie 'kew theme midnight')\n```\n\nPut themes in \\~/.config/kew/themes (\\~/Library/Preferences/kew/themes on macOS).\n\n## If Colors or Graphics Look Wrong\n\nCycle \u003ckbd\u003ei\u003c/kbd\u003e until they look right.\n\nPress \u003ckbd\u003ev\u003c/kbd\u003e to turn off visualizer.\n\nPress \u003ckbd\u003eb\u003c/kbd\u003e for ASCII covers.\n\nA terminal emulator that can handle TrueColor and sixels is recommended. See [Sixels in Terminal](https://www.arewesixelyet.com/).\n\n## Lyrics\n\nLyrics can be read from a provided .lrc file that matches the audio file in name and content or from SYLT embedded tags on mp3 files.\n\nTimestamped lyrics will be shown automatically in track view. Press \u003ckbd\u003em\u003c/kbd\u003e show full page lyrics.\n\n## Playlists\n\nTo load a playlist: type kew list \u003cname\u003e\n\nTo export a playlist, press x. This will save a file in your music path with the name of the first song in the queue.\n\nThere is also a favorites playlist function:\n\nAdd current song: press \u003ckbd\u003e.\u003c/kbd\u003e\n\nTo load 'kew list fav':\n\n```bash\nkew .\n```\n\n## License\n\nLicensed under GPL. [See LICENSE for more information](./LICENSE).\n\n\n## Attributions\n\n\u003cdetails\u003e\n\u003csummary\u003eAttributions\u003c/summary\u003e\n\nkew makes use of the following great open source projects:\n\nChafa by Hans Petter Jansson - https://hpjansson.org/chafa/\n\nTagLib by TagLib Team - https://taglib.org/\n\nFaad2 by fabian_deb, knik, menno - https://sourceforge.net/projects/faac/\n\nFFTW by Matteo Frigo and Steven G. Johnson - https://www.fftw.org/\n\nLibopus by Opus - https://opus-codec.org/\n\nLibvorbis by Xiph.org - https://xiph.org/\n\nMiniaudio by David Reid - https://github.com/mackron/miniaudio\n\nMinimp4 by Lieff - https://github.com/lieff/minimp4\n\nNestegg by Mozilla - https://github.com/mozilla/nestegg\n\nImg_To_Txt by Danny Burrows - https://github.com/danny-burrows/img_to_txt\n\n\u003c/details\u003e\n\n## Authors\n\nSee [AUTHORS](./docs/AUTHORS.md).\n\n## Contact\n\nComments? Suggestions? Send mail to kew-player@proton.me.\n","funding_links":["https://ko-fi.com/ravachol","https://github.com/sponsors/ravachol"],"categories":["C","\u003ca name=\"music\"\u003e\u003c/a\u003eSound and music","Table of Contents","CLI/TUI Apps"],"sub_categories":["Other","Audio Player"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fravachol%2Fkew","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fravachol%2Fkew","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fravachol%2Fkew/lists"}