├── img └── screenshot.png ├── fish.salted.activate-plasma ├── contents │ ├── config │ │ ├── config.qml │ │ └── main.xml │ └── ui │ │ ├── main.qml │ │ └── configGeneral.qml └── metadata.desktop ├── CMakeLists.txt ├── README.md └── LICENSE /img/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RedL0tus/Activate-Plasma/HEAD/img/screenshot.png -------------------------------------------------------------------------------- /fish.salted.activate-plasma/contents/config/config.qml: -------------------------------------------------------------------------------- 1 | import QtQuick 2.0 2 | import org.kde.plasma.configuration 2.0 3 | 4 | ConfigModel { 5 | ConfigCategory { 6 | name: i18n("General") 7 | icon: "configure" 8 | source: "configGeneral.qml" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # set minimum CMake version (req'd for CMake 3.0 or later) 2 | cmake_minimum_required(VERSION 2.8.12) 3 | 4 | # Project name 5 | Project(Activate-Plasma) 6 | 7 | # use Extra CMake Modules (ECM) for common functionality 8 | find_package(ECM REQUIRED NO_MODULE) 9 | # needed by find_package(KF5Plasma) below. 10 | set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_MODULE_PATH}) 11 | 12 | # Locate plasma_install_package macro 13 | find_package(KF5Plasma REQUIRED) 14 | 15 | # Add installation target ("make install") 16 | plasma_install_package(fish.salted.activate-plasma fish.salted.activate-plasma) 17 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Activate Plasma 2 | =============== 3 | 4 | Oh you thought your Linux desktop is free? 5 | Your KDE Plasma installation is not activated, go to Settings to activate it. 6 | 7 | ![Activate Plasma](img/screenshot.png) 8 | 9 | Inspired by [https://github.com/isjerryxiao/gnome-shell-extension-activate-gnome](https://github.com/isjerryxiao/gnome-shell-extension-activate-gnome) 10 | 11 | Installation 12 | ------------ 13 | 14 | Directly from GitHub: 15 | 16 | ```bash 17 | git clone https://github.com/RedL0tus/Activate-Plasma activate-plasma 18 | cd activate-plasma 19 | kpackagetool5 -t Plasma/Applet --install fish.salted.activate-plasma 20 | ``` 21 | -------------------------------------------------------------------------------- /fish.salted.activate-plasma/metadata.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Encoding=UTF-8 3 | Name=Activate Plasma 4 | Comment=Display a Activate Plasma watermark on desktop 5 | Type=Service 6 | 7 | X-KDE-Library=plasma_applet_tutorial 8 | X-KDE-ParentApp= 9 | X-KDE-PluginInfo-Author=RedL0tus 10 | X-KDE-PluginInfo-Email=i@v2bv.net 11 | X-KDE-PluginInfo-License=MIT 12 | X-KDE-PluginInfo-Name=fish.salted.activate-plasma 13 | X-KDE-PluginInfo-Version=1.0 14 | X-KDE-PluginInfo-Website=https://github.com/RedL0tus/activate-plasma 15 | X-KDE-ServiceTypes=Plasma/Applet 16 | X-KDE-PluginInfo-Category=Windows and Tasks 17 | 18 | X-Plasma-API=declarativeappletscript 19 | X-Plasma-MainScript=ui/main.qml 20 | X-Plasma-RemoteLocation= 21 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) Kay Lin 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /fish.salted.activate-plasma/contents/config/main.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Activate Plasma 8 | 9 | 10 | Go to Settings to activate Plasma 11 | 12 | 13 | 20 14 | 15 | 16 | 15 17 | 18 | 19 | 2 20 | 21 | 22 | 0.4 23 | 24 | 25 | Noto Sans 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /fish.salted.activate-plasma/contents/ui/main.qml: -------------------------------------------------------------------------------- 1 | import QtQuick 2.0 2 | import QtQuick.Layouts 1.0 3 | import org.kde.plasma.plasmoid 2.0 4 | import org.kde.plasma.core 2.0 as PlasmaCore 5 | import org.kde.plasma.components 2.0 as PlasmaComponents 6 | 7 | // Item - the most basic plasmoid component, an empty container. 8 | Item { 9 | Plasmoid.backgroundHints: "NoBackground" 10 | 11 | Plasmoid.preferredRepresentation: Plasmoid.fullRepresentation 12 | 13 | Plasmoid.fullRepresentation: Item { 14 | ColumnLayout{ 15 | spacing: plasmoid.configuration.spacingSize 16 | 17 | PlasmaComponents.Label { 18 | text: plasmoid.configuration.titleText || "Activate Plasma" 19 | 20 | opacity: plasmoid.configuration.opacity 21 | 22 | font.family: plasmoid.configuration.fontFamily || "Noto Sans" 23 | font.pointSize: plasmoid.configuration.titleTextSize 24 | font.weight: Font.Normal 25 | } 26 | 27 | PlasmaComponents.Label { 28 | text: plasmoid.configuration.descriptionText || "Go to Settings to activate Plasma" 29 | 30 | opacity: plasmoid.configuration.opacity 31 | 32 | font.family: plasmoid.configuration.fontFamily || "Noto Sans" 33 | font.pointSize: plasmoid.configuration.descriptionTextSize 34 | font.weight: Font.Normal 35 | } 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /fish.salted.activate-plasma/contents/ui/configGeneral.qml: -------------------------------------------------------------------------------- 1 | import QtQuick 2.0 2 | import QtQuick.Controls 2.5 3 | import QtQuick.Layouts 1.12 4 | import org.kde.kirigami 2.4 as Kirigami 5 | 6 | Item { 7 | id: page 8 | width: childrenRect.width 9 | height: childrenRect.height 10 | 11 | property alias cfg_titleText: titleText.text 12 | property alias cfg_descriptionText: descriptionText.text 13 | property alias cfg_titleTextSize: titleTextSize.value 14 | property alias cfg_descriptionTextSize: descriptionTextSize.value 15 | property alias cfg_spacingSize: spacingSize.value 16 | property alias cfg_opacity: opacity.value 17 | property alias cfg_fontFamily: fontFamily.text 18 | 19 | Kirigami.FormLayout { 20 | anchors.left: parent.left 21 | anchors.right: parent.right 22 | 23 | TextField { 24 | id: titleText 25 | Kirigami.FormData.label: i18n("Title text:") 26 | placeholderText: i18n("Activate Plasma") 27 | } 28 | TextField { 29 | id: descriptionText 30 | Kirigami.FormData.label: i18n("Description text:") 31 | placeholderText: i18n("Go to Settings to activate Plasma") 32 | } 33 | Slider { 34 | id: titleTextSize 35 | Kirigami.FormData.label: i18n("Title text size:") 36 | Layout.fillWidth: true 37 | from: 0 38 | to: 50 39 | stepSize: 1 40 | } 41 | Slider { 42 | id: descriptionTextSize 43 | Kirigami.FormData.label: i18n("Description text size:") 44 | Layout.fillWidth: true 45 | from: 0 46 | to: 50 47 | stepSize: 1 48 | } 49 | Slider { 50 | id: spacingSize 51 | Kirigami.FormData.label: i18n("Spacing size:") 52 | Layout.fillWidth: true 53 | from: 0 54 | to: 10 55 | stepSize: 0.5 56 | } 57 | Slider { 58 | id: opacity 59 | Kirigami.FormData.label: i18n("Opacity:") 60 | Layout.fillWidth: true 61 | from: 0 62 | to: 1 63 | stepSize: 0.1 64 | } 65 | TextField { 66 | id: fontFamily 67 | Kirigami.FormData.label: i18n("Font family:") 68 | placeholderText: "Noto Sans" 69 | } 70 | } 71 | } 72 | --------------------------------------------------------------------------------