{"id":25632862,"url":"https://github.com/baduhai/Koi","last_synced_at":"2026-06-15T04:30:16.120Z","repository":{"id":39696138,"uuid":"260014129","full_name":"baduhai/Koi","owner":"baduhai","description":"Koi - Theme scheduling for the KDE Plasma Desktop","archived":false,"fork":false,"pushed_at":"2026-05-08T15:03:13.000Z","size":1625,"stargazers_count":392,"open_issues_count":16,"forks_count":23,"subscribers_count":4,"default_branch":"master","last_synced_at":"2026-06-08T00:10:35.966Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/baduhai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-04-29T18:48:08.000Z","updated_at":"2026-06-01T12:11:35.000Z","dependencies_parsed_at":"2022-07-13T15:59:27.314Z","dependency_job_id":"861ae837-ea4b-4cc1-934b-7e4b7d527593","html_url":"https://github.com/baduhai/Koi","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/baduhai/Koi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baduhai%2FKoi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baduhai%2FKoi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baduhai%2FKoi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baduhai%2FKoi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/baduhai","download_url":"https://codeload.github.com/baduhai/Koi/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baduhai%2FKoi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34267347,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-12T02:00:06.859Z","response_time":109,"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":[],"created_at":"2025-02-22T21:18:12.570Z","updated_at":"2026-06-15T04:30:16.062Z","avatar_url":"https://github.com/baduhai.png","language":"C++","funding_links":[],"categories":["Uncategorized"],"sub_categories":["Uncategorized"],"readme":"\u003cp align=\"center\"\u003e\u003cimg src=\"src/resources/icons/koi.svg\" alt=\"Koi\" width=\"128\" height=\"128\"\u003e\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eKoi\u003c/h1\u003e \n\n\u003ch3 align=\"center\"\u003eScheduling LIGHT/DARK Theme Converter for the KDE Plasma Desktop\u003c/h3\u003e\n\nKoi is a program designed to provide the KDE Plasma Desktop functionality to automatically switch between light and dark themes. Koi is under semi-active development, and while it is stable enough to use daily, expect bugs. Koi is designed to be used with Plasma, and while some features may function under different desktop environments, they are unlikely to work and untested.\n\n*Koi was written as a project to practice QT by a novice programmer, expect code to be written sloppily.*\n\n## Features\n\n- Toggle between **Light** and **Dark** presets based on **time** / **coordinated** schedule\n- Change **Plasma style**\n- Change **QT Colour scheme**\n- Change **Icon theme**\n- Change **GTK/GNOME theme**\n- Change **Light/Dark wallpapers**\n- **Hide application** to system tray\n- **Enable/Disable notifications** about Light/Dark theme switching\n- Toggle between LIGHT/DARK themes by clicking **middle mouse button** *(wheel)*\n\n___\n\n## Screenshots\n\n![Screenshots](Screenshot.png)\n\n___\n\n## Using Koi\n\nKoi is designed to be very simple to use. After the initial run of Koi, settings for the **light** and **dark** presets will be empty, all you need to do is select which themes you would like for Koi to manage and select your desired themes by clicking the *Preferences* button.\n\nIf you would like that Koi switch between your light and dark settings automatically, you can select this option in the main page of the program, and choose between following a user set schedule, or at **sunrise** and **sunset** *(planned/scheduled feature)*. To switch between **light** and **dark** manually right click the tray icon and select the desired preset, or do so from Koi's main window.\n\n#### Startup/Autostart\nIn order to have Koi started at login, you can do so with the *KDE Plasma System Settings*.\n\nSearch for: ***Autostart***\n\n**Plasma** version **5** navigate to ***System Settings*** -\u003e ***Startup and Shutdown*** -\u003e ***Autostart***; and select \"`+ Add...` -\u003e `+ Add Application` -\u003e `Utilities` -\u003e `Koi`\"\n\n\n**Plasma** version **6** navigate to ***System Settings*** -\u003e ***System*** -\u003e ***Autostart***, and select \"`+ Add...` -\u003e `+ Add Application` -\u003e `Utilities` -\u003e `Koi`\"\n\nIn addition, it is recommended having the option to *Start Koi hidden* checked, this will prevent Koi from popping up every time you start your operating system.\n\n___\n\n## Getting Koi\n\n*Latest version: 0.4*\n\n### Building from SOURCE\n\n**GENERIC Dependencies**\n\n\u003cins\u003eKDE Frameworks [Development files]:\u003c/ins\u003e\n\n * KF 6 Config\n * KF 6 Core Addons\n * KF 6 Widgets Addons\n\n\u003cins\u003eKDE Plasma Desktop Environment\u003c/ins\u003e\n\n\u003cins\u003eQT [Development files]:\u003c/ins\u003e\n\n * QT 6 Core\n * QT 6 DBus\n * QT 6 Gui\n * QT 6 Network\n * QT 6 Test\n * QT 6 Widgets *(Optional)*\n * QT 6 Xml *(Optional)*\n\n\u003cins\u003eCMake Program\u003c/ins\u003e\n\n\n**Build Instructions**\n\n1. `git clone https://github.com/baduhai/Koi.git` | `git clone git@github.com:baduhai/Koi.git` | `gh repo clone baduhai/Koi`\n\n2. `sudo cmake -S \"./Koi/src/\" -B \"./Koi/build/\"`\n\n3. `sudo cmake --build \"./Koi/build/\"`\n\n4. `sudo cmake --install \"./Koi/build/\"`   *# This will **install** Koi into '/usr/local/bin/'*\n\n\n***Building with NIX (OS)***\n\n`nix-build -E 'with import \u003cnixpkgs\u003e {}; pkgs.libsForQt5.callPackage ./dev.nix {}'`\n\n\n### Prerequisites:\n\n### Arch Linux - [[AUR]](https://aur.archlinux.org/packages/koi/)\n\n**Build Dependencies:**\n\n- ``` 'gcc' 'qt6-base' 'qt6-tools' 'qt6-svg' 'cmake' 'extra-cmake-modules' ```\n\n**Run Dependencies:**\n\n- ``` 'plasma-desktop' 'plasma-integration' ```\n\n### openSUSE TumbleWeed - [[OBS]](https://build.opensuse.org/package/show/KDE:Extra/koi)\n\n**Build Dependencies:**\n\n- ``` 'cmake' 'cmake-extras' 'kf6-kconfigwidgets-devel' 'kf6-kconfig-devel' 'kf6-kcoreaddons-devel' 'qt6-base'  'qt6-dbus-devel' 'qt6-gui-devel' 'qt6-network-devel' 'qt6-test-devel' 'qt6-widgets-devel' 'qt6-xml-devel' 'hicolor-icon-theme' ```\n\n**Run Dependencies:**\n\n- ``` 'plasma6-desktop' ```\n\n### openSUSE Leap - [[OBS]](https://build.opensuse.org/package/show/KDE:Extra/koi)\n\n**Build Dependencies:**\n\n- ``` 'cmake' 'cmake-extras' 'kf5-kconfigwidgets-devel' 'kf5-kconfig-devel' 'kf5-kcoreaddons-devel' 'qt5-dbus-devel' 'qt5-gui-devel' 'qt5-network-devel' 'qt5-test-devel' 'qt5-widgets-devel' 'qt5-xml-devel' 'hicolor-icon-theme' ```\n\n**Run Dependencies:**\n\n- ``` 'plasma5-desktop' 'plasma-framework-components' 'plasma-framework-desktoptheme' ```\n\n### Fedora - [[COPR]](https://copr.fedorainfracloud.org/coprs/birkch/Koi/)\n\n**Build Dependencies:**\n\n- ``` 'cmake' 'extra-cmake-modules' 'kf6-kconfigwidgets-devel'  'kf6-kconfig-devel' 'kf6-kcoreaddons-devel' 'kf6-kwidgetsaddons-devel' 'qt6-qtbase-devel' 'hicolor-icon-theme' ```\n\n**Run Dependencies:**\n\n- ``` 'plasma-desktop' 'plasma-integration' 'plasma-workspace' ```\n\n### Debian/Ubuntu \u003c= 24.04\n\n**Build Dependencies:**\n\n- ``` 'g++' 'cmake' 'cmake-extras' 'libkf5config-dev' 'libkf5coreaddons-dev' 'libkf5dbusaddons-dev' 'libkf5widgetsaddons-dev' 'qtbase5-dev' ```\n\n**Run Dependencies:**\n\n- ``` 'kde-plasma-desktop' 'plasma-framework' 'plasma-integration' 'plasma-workspace' ```\n\n### KDE Neon/Ubuntu \u003e= 24.10\n\n**Build Dependencies:**\n\n- ``` 'g++' 'cmake' 'cmake-extras' 'libkf6config-dev' 'libkf6coreaddons-dev' 'libkf6dbusaddons-dev' 'libkf6widgetsaddons-dev' 'qtbase6-dev' ```\n\n**Run Dependencies:**\n\n- ``` 'kde-plasma-desktop' 'plasma-desktop' 'plasma-integration' 'plasma-workspace' ```\n\n### Void Linux\n\n**Build Dependencies:**\n\n- ``` 'gcc' 'cmake' 'extra-cmake-modules' 'qt6-base-devel' 'kf6-kcoreaddons-devel' 'kf6-kconfig-devel' 'kf6-kwidgetsaddons-devel' ```\n\n**Run Dependencies:**\n\n- ``` 'plasma-desktop' 'plasma-integration' 'qt6-base' ```\n\n### *NixOS - [[NUR]](https://nur.nix-community.org/repos/baduhai/)*\n\n- *Install to your NIX profile with `nix-env -iA koi -f https://github.com/baduhai/nur/tarball/master`, to add to you nixos configuration, follow the [Instructions](https://github.com/nix-community/nur#installation) on the NUR repo.*\n\n___\n\n## Credits:\n\n* William Franco Abdul Hai [(baduhai)](https://github.com/baduhai)\n* Martin Stibor [(Martin von Reichenberg)](https://github.com/MartinVonReichenberg)\n* [DucVietCao](https://github.com/ducvietcao)\n* [PassportMidi](https://github.com/passportmidi)\n* Giovanni Santini [(Itachi San)](https://github.com/ItachiSan)\n* [FinanceLurker](https://github.com/financelurker)\n* [Ari Melody](https://github.com/arimelody)\n* [ToBoil-Features](https://github.com/toboil-features)\n\n\n\n## References:\n\nThe following is a list of resources that was used as reference and inspiration for writing Koi.\n\n- [Yin-Yang](https://github.com/daehruoydeef/Yin-Yang) - For UI layout and features inspiration.\n- [system-tray-icon-qt](https://github.com/C0D1UM/system-tray-icon-qt) - For teaching me how to implement a system tray icon with Qt.\n- [plasma-theme-switcher](https://github.com/maldoinc/plasma-theme-switcher) - For teaching me how to set current Qt color scheme.\n- [ksetwallpaper](https://github.com/pashazz/ksetwallpaper) - For teaching me how to set the wallpaper on Plasma.\n- [SunRise](https://github.com/signetica/SunRise) - For scheduled sunrise/sunset light/dark theme switching.\n- [CTPL](https://github.com/vit-vit/CTPL) - Extra library for parallel job execution.\n- [Scheduler](https://github.com/Bosma/Scheduler) - For timed light/dark theme switching.\n- [This blog post from Zren](https://zren.github.io/2020/04/28/how-to-change-plasma-icon-theme-in-the-terminal) - For teaching me how to set the icon theme.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbaduhai%2FKoi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbaduhai%2FKoi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbaduhai%2FKoi/lists"}