- Notifications
You must be signed in to change notification settings - Fork25
Koi - Theme scheduling for the KDE Plasma Desktop
License
baduhai/Koi
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Koi 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 untested and unlikely to work . . .
- Toggle betweenLight andDark preset themes based ontime /coordinated schedule
- ChangePlasma style
- ChangeQT Colour scheme
- ChangeIcon theme
- ChangeGTK/GNOME theme
- ChangeLight/Dark wallpapers
- Hide application to system tray(it is currently unable to hide Koi from system tray)
- Enable/Disable notifications about Light/Dark theme switching
- Toggle between LIGHT/DARK themes by clickingmiddle mouse button(wheel)
- FullDBus service integration*; when setup correctly, enables possibility using Koi and theme switching using custom commands & keyboard shortcuts*
- Run customBASH scripts when switching between Light/Dark themes
Koi is designed to be very simple to use. After the initial run of Koi, settings for thelight anddark 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 thePreferences button.
If 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 atsunrise andsunset(planned/scheduled feature). To switch betweenlight anddark manually right click the tray icon and select the desired preset, or do so from Koi's main window.
After installation, Koi creates~/.config/koirc
file inside user's Home configuration directory with established theme presets . . .
In order to have Koi started at login, you can do so with theKDE Plasma System Settings.
Search for:Autostart
Plasma version5 navigate toSystem Settings ->Startup and Shutdown ->Autostart; and select "+ Add...
->+ Add Application
->Utilities
->Koi
"
Plasma version6 navigate toSystem Settings ->System ->Autostart, and select "+ Add...
->+ Add Application
->Utilities
->Koi
"
In addition, it is recommended having the option toStart Koi hidden checked, this will prevent Koi from popping up every time you start your operating system.
Latest version: 0.5.1
GENERIC Dependencies
KDE Frameworks [Development files]:
- KF 6 Config
- KF 6 Core Addons
- KF 6 Widgets Addons
KDE Plasma Desktop Environment
QT [Development files]:
- QT 6 Core
- QT 6 DBus
- QT 6 Gui
- QT 6 Widgets
- QT 6 Xml
CMake Program
Build Instructions
Copy all:
# 1. git clone "https://github.com/baduhai/Koi.git" # Or: gh repo clone "baduhai/Koi"# 2. cmake -S "./Koi/" -B "./Koi/build/"# 3.cmake --build "./Koi/build/" --parallel # Remove [--parallel] Option on Weaker Hardware# 4.# a)sudo cmake --install "./Koi/build/" # This Will Install Koi into [/usr/local/bin/] Directory# b) Or: sudo cmake --install "./Koi/build/" --prefix="/usr/" # This Will Install Koi into [/usr/bin/] Directory# (5.) # sudo make uninstall -C "./Koi/build/"
Arch Linux -[AUR]
Build Dependencies:
'gcc' 'qt6-base' 'qt6-tools' 'qt6-svg' 'cmake' 'extra-cmake-modules'
Run Dependencies:
'plasma-desktop' 'plasma-integration'
openSUSE TumbleWeed -[OBS]
Build Dependencies:
'cmake' 'cmake-extras' 'kf6-kconfigwidgets-devel' 'kf6-kconfig-devel' 'kf6-kcoreaddons-devel' 'kf6-kdbusaddons-devel' 'qt6-base' 'qt6-dbus-devel' 'qt6-gui-devel' 'qt6-widgets-devel' 'qt6-xml-devel' 'hicolor-icon-theme'
Run Dependencies:
'plasma6-desktop' 'plasma6-workspace'
openSUSE Leap <= 15.6 -[OBS]
Build Dependencies:
'cmake' 'cmake-extras' 'kf5-kconfigwidgets-devel' 'kf5-kconfig-devel' 'kf5-kcoreaddons-devel' 'kf5-kdbusaddons-devel' 'qt5-dbus-devel' 'qt5-gui-devel' 'qt5-widgets-devel' 'qt5-xml-devel' 'hicolor-icon-theme'
Run Dependencies:
'plasma5-desktop' 'plasma5-workspace' 'plasma-framework'
Fedora >= 40 -[COPR]
Build Dependencies:
'cmake' 'extra-cmake-modules' 'kf6-kconfigwidgets-devel' 'kf6-kconfig-devel' 'kf6-kcoreaddons-devel' 'kf6-kwidgetsaddons-devel' 'qt6-qtbase-devel' 'hicolor-icon-theme'
Run Dependencies:
'plasma-desktop' 'plasma-integration' 'plasma-workspace'
Build Dependencies:
'g++' 'cmake' 'cmake-extras' 'libkf5config-dev' 'libkf5coreaddons-dev' 'libkf5dbusaddons-dev' 'libkf5widgetsaddons-dev' 'qtbase5-dev'
Run Dependencies:
'kde-plasma-desktop' 'plasma-framework' 'plasma-integration' 'plasma-workspace'
Build Dependencies:
'g++' 'cmake' 'cmake-extras' 'libkf6config-dev' 'libkf6coreaddons-dev' 'libkf6dbusaddons-dev' 'libkf6widgetsaddons-dev' 'qtbase6-dev'
Run Dependencies:
'kde-plasma-desktop' 'plasma-desktop' 'plasma-integration' 'plasma-workspace'
Build Dependencies:
'gcc' 'cmake' 'extra-cmake-modules' 'qt6-base-devel' 'kf6-kcoreaddons-devel' 'kf6-kconfig-devel' 'kf6-kwidgetsaddons-devel'
Run Dependencies:
'kf6-kcoreaddons' 'kf6-kconfig' 'kf6-kconfigwidgets' 'kf6-kdbusaddons' 'plasma-desktop' 'plasma-integration' 'plasma-workspace' 'qt6-base' 'qt6-core'
NixOS -[NixPKGs]
Install Directly from NixPKGs to your NIX Profile with:
nix-env -iA nixpkgs.koi
;Using NixOS Configuration (
configuration.nix
):environment.systemPackages = with pkgs; [koi];
Or Compile Manually Using
nix-build https://github.com/NixOS/nixpkgs/blob/master/pkgs/kde/third-party/koi/default.nix
- William Franco Abdul Hai(baduhai)
- Martin Stibor(Martin von Reichenberg)
- Matthias Möller(TinyTinni)
- Spencer Williams(spencerwi)
- Andrea Spelgatti(Ourouk)
- Giovanni Santini(Itachi San)
- DucVietCao
- PassportMidi
- FinanceLurker
- miaouwu
- Ari Melody
- ToBoil-Features
The following is a list of resources that was used as reference and inspiration for writing Koi.
- Yin-Yang - For UI layout and features inspiration.
- system-tray-icon-qt - For teaching me how to implement a system tray icon with Qt.
- plasma-theme-switcher - For teaching me how to set current Qt color scheme.
- ksetwallpaper - For teaching me how to set the wallpaper on Plasma.
- SunRise - For scheduled sunrise/sunset light/dark theme switching.
- CTPL - Extra library for parallel job execution.
- Scheduler - For timed light/dark theme switching.
- This blog post from Zren - For teaching me how to set the icon theme.
Koi was written as a project to practice QT by a novice programmer, expect code to be written sloppily.
About
Koi - Theme scheduling for the KDE Plasma Desktop
Resources
License
Uh oh!
There was an error while loading.Please reload this page.