diff --git a/Configs/Home/.config/neofetch/config.conf b/Configs/Home/.config/neofetch/config.conf
index 36b13b8..3618cc4 100644
--- a/Configs/Home/.config/neofetch/config.conf
+++ b/Configs/Home/.config/neofetch/config.conf
@@ -14,7 +14,6 @@ print_info() {
info " " cpu
info " " gpu
info " " memory
-# info " " resolutiont
prin " ├─────────\n Software Information \n─────────┤"
info " " users
info " " distro
@@ -24,10 +23,12 @@ print_info() {
info " " wm
info " " shell
info " " term
+ info " " gpu_driver
info " " theme
info " " packages
- info " ⏼ " uptime
- info " " gpu_driver # Linux/macOS only
+ prin " ├─────────\n Install Information \n─────────┤"
+ prin " " "Installed on $(echo $birth_install | awk '{print strftime("%b %d/%Y",$1)}')"
+ prin " " "Days elapsed thus far: $(echo $days_done days )"
prin " └───────────────────────────────────────┘"
info cols
prin "\n \n \n \n \n ${cl3} \n \n ${cl5} \n \n ${cl2} \n \n ${cl6} \n \n ${cl4} \n \n ${cl1} \n \n ${cl7} \n \n ${cl0}"
@@ -67,6 +68,29 @@ separator=" "
color_blocks="off"
block_range=(0 15) # Colorblocks
+
+# All the Timing information
+let Minute=60
+let Hour=3600
+let Day=86400
+let Week=604800
+
+# Year_days=365.25 days # 4 years (1461 days cause leap year) Divided by 4
+# Month_days=30.4375 days # Year Divided by 12
+let Month=2629743
+let Year=31556926
+
+# Define the two time strings
+let birth_install="$(stat -c %W /)"
+let current=$(date +%s)
+
+# Calculate the time difference in seconds
+time_progression=$((current - birth_install))
+
+# Convert the time difference to days (86400 seconds in a day)
+days_difference=$((time_difference / 86400))
+days_done=$((time_progression/ 86400))
+
# Colors for custom colorblocks
magenta="\033[1;35m"
green="\033[1;32m"
@@ -107,7 +131,7 @@ battery_display="off"
disk_display="on"
image_backend="ascii"
-#image_source=""
+#image_source="$HOME/.config/neofetch/XeroAscii"
image_size="small"
image_loop="off"
diff --git a/Configs/Home/.config/plasma-org.kde.plasma.desktop-appletsrc b/Configs/Home/.config/plasma-org.kde.plasma.desktop-appletsrc
index 6f40f26..369ed24 100644
--- a/Configs/Home/.config/plasma-org.kde.plasma.desktop-appletsrc
+++ b/Configs/Home/.config/plasma-org.kde.plasma.desktop-appletsrc
@@ -20,8 +20,12 @@ wallpaperplugin=org.kde.image
DialogHeight=600
DialogWidth=800
+[Containments][119][General]
+positions={"1920x1080":[]}
+sortMode=-1
+
[Containments][119][Wallpaper][org.kde.image][General]
-Image=/usr/share/LayanWall/XeroLayanWallpaper.png
+Image=/usr/share/wallpapers/Xero-Plasma30.jpg
SlidePaths=/usr/share/wallpapers
[Containments][120]
@@ -36,14 +40,28 @@ plugin=org.kde.plasma.folder
wallpaperplugin=org.kde.image
[Containments][120][ConfigDialog]
-DialogHeight=600
-DialogWidth=800
+DialogHeight=815
+DialogWidth=1084
[Containments][120][Configuration]
PreloadWeight=42
+[Containments][120][General]
+ToolBoxButtonState=topcenter
+ToolBoxButtonX=464
+
+[Containments][120][Wallpaper][com.github.casout.wallpaperEngineKde][General]
+CustomConf=eyJmYXZvciI6WyIzMTAxMjcyOTQ0Il19
+DisplayMode=1
+SteamLibraryPath[$e]=file:///mnt/Games/Steam
+WallpaperSource[$e]=file:///mnt/Games/Steam/steamapps/workshop/content/431960/2697597434/Snowy day.mp4+video
+WallpaperWorkShopId=2697597434
+
+[Containments][120][Wallpaper][org.kde.color][General]
+Color=0,0,0
+
[Containments][120][Wallpaper][org.kde.image][General]
-Image=/usr/share/LayanWall/XeroLayanWallpaper.png
+Image=/usr/share/wallpapers/Xero-Plasma30.jpg
SlidePaths=/usr/share/wallpapers
[Containments][121]
@@ -103,8 +121,8 @@ plugin=org.kde.plasma.kicker
[Containments][126][Applets][158][Configuration]
PreloadWeight=100
-popupHeight=294
-popupWidth=561
+popupHeight=434
+popupWidth=300
[Containments][126][Applets][158][Configuration][ConfigDialog]
DialogHeight=540
@@ -122,22 +140,64 @@ useCustomButtonImage=true
global=Alt+F1
[Containments][126][Applets][158][Shortcuts]
-global=
+global=Meta+Return
-[Containments][126][Applets][197]
+[Containments][126][Applets][196]
immutability=1
plugin=org.kde.plasma.digitalclock
-[Containments][126][Applets][197][Configuration][ConfigDialog]
+[Containments][126][Applets][196][Configuration][Appearance]
+autoFontAndSize=false
+customDateFormat=ddd d MMM yy |\s
+dateDisplayFormat=BesideTime
+dateFormat=custom
+fontFamily=Hack Nerd Font
+fontStyleName=Regular
+fontWeight=400
+use24hFormat=2
+
+[Containments][126][Applets][196][Configuration][ConfigDialog]
+DialogHeight=540
+DialogWidth=720
+
+[Containments][126][Applets][203]
+immutability=1
+plugin=org.kde.plasma.lock_logout
+
+[Containments][126][Applets][203][Configuration][ConfigDialog]
DialogHeight=540
DialogWidth=720
+[Containments][126][Applets][203][Configuration][General]
+show_lockScreen=false
+show_requestLogout=true
+show_requestReboot=true
+
+[Containments][126][Applets][204]
+immutability=1
+plugin=org.kde.plasma.marginsseparator
+
+[Containments][126][Applets][205]
+immutability=1
+plugin=plasmusic-toolbar
+
+[Containments][126][Applets][206]
+immutability=1
+plugin=org.kde.netspeedWidget
+
+[Containments][126][Applets][206][Configuration][ConfigDialog]
+DialogHeight=540
+DialogWidth=720
+
+[Containments][126][Applets][206][Configuration][General]
+showLowSpeeds=true
+
[Containments][126][ConfigDialog]
-DialogHeight=78
+DialogHeight=87
DialogWidth=2560
[Containments][126][General]
-AppletOrder=158;154;152;197;151;131
+AppletOrder=158;154;152;196;151;205;206;131;204;203
[Containments][132]
activityId=
@@ -146,8 +206,8 @@ immutability=1
lastScreen=0
location=3
plugin=org.kde.plasma.private.systemtray
-popupHeight=432
-popupWidth=432
+popupHeight=655
+popupWidth=528
wallpaperplugin=org.kde.image
[Containments][132][Applets][133][Configuration]
@@ -164,19 +224,22 @@ PreloadWeight=100
immutability=1
plugin=org.kde.kscreen
+[Containments][132][Applets][135][Configuration]
+PreloadWeight=55
+
[Containments][132][Applets][136]
immutability=1
plugin=org.kde.plasma.clipboard
[Containments][132][Applets][136][Configuration]
-PreloadWeight=55
+PreloadWeight=65
[Containments][132][Applets][137]
immutability=1
plugin=org.kde.plasma.devicenotifier
[Containments][132][Applets][137][Configuration]
-PreloadWeight=80
+PreloadWeight=100
[Containments][132][Applets][138]
immutability=1
@@ -186,6 +249,9 @@ plugin=org.kde.plasma.keyboardindicator
immutability=1
plugin=org.kde.plasma.keyboardlayout
+[Containments][132][Applets][139][Configuration]
+PreloadWeight=100
+
[Containments][132][Applets][140]
immutability=1
plugin=org.kde.plasma.manage-inputmethod
@@ -195,11 +261,10 @@ immutability=1
plugin=org.kde.plasma.notifications
[Containments][132][Applets][141][Configuration]
-PreloadWeight=70
+PreloadWeight=95
-[Containments][132][Applets][142]
-immutability=1
-plugin=org.kde.plasma.printmanager
+[Containments][132][Applets][142][Configuration]
+PreloadWeight=42
[Containments][132][Applets][143]
immutability=1
@@ -212,6 +277,9 @@ PreloadWeight=55
immutability=1
plugin=org.kde.plasma.volume
+[Containments][132][Applets][144][Configuration]
+PreloadWeight=100
+
[Containments][132][Applets][144][Configuration][General]
migrated=true
@@ -219,26 +287,29 @@ migrated=true
immutability=1
plugin=org.kde.plasma.nightcolorcontrol
+[Containments][132][Applets][147][Configuration]
+PreloadWeight=0
+
[Containments][132][Applets][148]
immutability=1
plugin=org.kde.plasma.battery
[Containments][132][Applets][148][Configuration]
-PreloadWeight=60
+PreloadWeight=76
[Containments][132][Applets][149]
immutability=1
plugin=org.kde.plasma.networkmanagement
[Containments][132][Applets][149][Configuration]
-PreloadWeight=65
+PreloadWeight=100
[Containments][132][Applets][150]
immutability=1
plugin=org.kde.plasma.bluetooth
[Containments][132][Applets][150][Configuration]
-PreloadWeight=65
+PreloadWeight=0
[Containments][132][Applets][175]
immutability=1
@@ -258,47 +329,62 @@ plugin=org.kde.plasma.mediacontroller
[Containments][132][Applets][178][Configuration]
PreloadWeight=0
-[Containments][132][Applets][189]
+[Containments][132][Applets][189][Configuration]
+PreloadWeight=42
+
+[Containments][132][Applets][191]
+immutability=1
+plugin=org.kde.plasma.cameraindicator
+
+[Containments][132][Applets][191][Configuration]
+PreloadWeight=100
+
+[Containments][132][Applets][191][Configuration][ConfigDialog]
+DialogHeight=660
+DialogWidth=880
+
+[Containments][132][Applets][191][Configuration][Station]
+latitude=33.863663
+longitude=35.597227
+stationID=IMATND12
+
+[Containments][132][Applets][194]
+immutability=1
+plugin=org.kde.plasma.brightness
+
+[Containments][132][Applets][194][Configuration]
+PreloadWeight=36
+
+[Containments][132][Applets][199]
immutability=1
plugin=org.kde.plasma.weather
-[Containments][132][Applets][189][Configuration]
-PreloadWeight=70
+[Containments][132][Applets][199][Configuration]
+PreloadWeight=20
configMigrated=true
-[Containments][132][Applets][189][Configuration][Appearance]
-showHumidityInTooltip=true
-
-[Containments][132][Applets][189][Configuration][ConfigDialog]
+[Containments][132][Applets][199][Configuration][ConfigDialog]
DialogHeight=540
DialogWidth=720
-[Containments][132][Applets][189][Configuration][Units]
-pressureUnit=5029
+[Containments][132][Applets][199][Configuration][Units]
+pressureUnit=5022
speedUnit=9001
temperatureUnit=6001
visibilityUnit=2007
-[Containments][132][Applets][189][Configuration][WeatherStation]
+[Containments][132][Applets][199][Configuration][WeatherStation]
source=wettercom|weather|Beirut, Beyrouth, LB|LB0BA0002;Beirut
-[Containments][132][Applets][191]
-immutability=1
-plugin=org.kde.plasma.cameraindicator
-
-[Containments][132][Applets][193]
-immutability=1
-plugin=org.kde.plasma.brightness
-
[Containments][132][ConfigDialog]
-DialogHeight=714
-DialogWidth=859
+DialogHeight=540
+DialogWidth=720
[Containments][132][General]
-extraItems=org.kde.kscreen,org.kde.plasma.battery,org.kde.plasma.bluetooth,org.kde.plasma.clipboard,org.kde.plasma.devicenotifier,org.kde.plasma.keyboardindicator,org.kde.plasma.keyboardlayout,org.kde.plasma.manage-inputmethod,org.kde.plasma.mediacontroller,org.kde.plasma.networkmanagement,org.kde.plasma.notifications,org.kde.plasma.printmanager,org.kde.plasma.vault,org.kde.plasma.volume,org.kde.plasma.weather,org.kde.plasma.brightness,org.kde.plasma.cameraindicator
-hiddenItems=org.kde.merkuro.contact,org.kde.plasma.mediacontroller
-knownItems=org.kde.kscreen,org.kde.plasma.battery,org.kde.plasma.bluetooth,org.kde.plasma.clipboard,org.kde.plasma.devicenotifier,org.kde.plasma.keyboardindicator,org.kde.plasma.keyboardlayout,org.kde.plasma.manage-inputmethod,org.kde.plasma.mediacontroller,org.kde.plasma.networkmanagement,org.kde.plasma.notifications,org.kde.plasma.printmanager,org.kde.plasma.vault,org.kde.plasma.volume,org.kde.plasma.brightness,org.kde.plasma.cameraindicator
-shownItems=Package Manager,org.kde.plasma.bluetooth,org.kde.kdeconnect,org.kde.plasma.volume,org.kde.plasma.battery,org.kde.plasma.devicenotifier,Yakuake,org.kde.plasma.weather
+extraItems=org.kde.kscreen,org.kde.plasma.bluetooth,org.kde.plasma.clipboard,org.kde.plasma.devicenotifier,org.kde.plasma.keyboardindicator,org.kde.plasma.keyboardlayout,org.kde.plasma.manage-inputmethod,org.kde.plasma.mediacontroller,org.kde.plasma.networkmanagement,org.kde.plasma.notifications,org.kde.plasma.vault,org.kde.plasma.volume,org.kde.plasma.battery,org.kde.plasma.brightness,org.kde.plasma.cameraindicator,org.kde.plasma.weather,Free Download Manager,caffeine
+hiddenItems=org.kde.merkuro.contact,org.kde.plasma.battery,org.kde.plasma.clipboard,org.kde.plasma.vault,caffeine,org.kde.plasma.brightness
+knownItems=org.kde.kscreen,org.kde.plasma.battery,org.kde.plasma.bluetooth,org.kde.plasma.clipboard,org.kde.plasma.devicenotifier,org.kde.plasma.keyboardindicator,org.kde.plasma.keyboardlayout,org.kde.plasma.manage-inputmethod,org.kde.plasma.mediacontroller,org.kde.plasma.networkmanagement,org.kde.plasma.notifications,org.kde.plasma.vault,org.kde.plasma.volume,org.kde.plasma.printmanager,org.kde.plasma.brightness,org.kde.plasma.cameraindicator
+shownItems=Package Manager,org.kde.plasma.volume,org.kde.plasma.devicenotifier,Yakuake,com.github.k-donn.plasmoid-wunderground,org.kde.plasma.weather
[Containments][168]
activityId=
@@ -322,12 +408,28 @@ fill=false
iconSpacing=0
launchers=applications:org.kde.dolphin.desktop,applications:org.kde.konsole.desktop,applications:systemsettings.desktop
+[Containments][168][Applets][183]
+immutability=1
+plugin=org.kde.plasma.icon
+
+[Containments][168][Applets][183][Configuration]
+localPath=/home/techxero/.local/share/plasma_icons/PhotoshopPortable.exe.desktop
+url=file:///home/techxero/Documents/PhotoshopPortable/PhotoshopPortable.exe
+
+[Containments][168][Applets][201]
+immutability=1
+plugin=com.himdek.kde.plasma.overview
+
+[Containments][168][Applets][201][Configuration][ConfigDialog]
+DialogHeight=540
+DialogWidth=720
+
[Containments][168][ConfigDialog]
-DialogHeight=78
+DialogHeight=87
DialogWidth=2560
[Containments][168][General]
-AppletOrder=169
+AppletOrder=201;169;183
[Containments][44]
activityId=
@@ -362,7 +464,7 @@ plugin=org.kde.merkuro.contact
immutability=1
plugin=org.kde.plasma.cameraindicator
-[Containments][44][Applets][194]
+[Containments][44][Applets][193]
immutability=1
plugin=org.kde.plasma.brightness
@@ -413,7 +515,7 @@ immutability=1
plugin=org.kde.plasma.nightcolorcontrol
[Containments][44][Applets][51][Configuration]
-PreloadWeight=42
+PreloadWeight=0
[Containments][44][Applets][52]
immutability=1
@@ -451,21 +553,21 @@ immutability=1
plugin=org.kde.plasma.battery
[Containments][44][Applets][56][Configuration]
-PreloadWeight=67
+PreloadWeight=59
[Containments][44][Applets][57]
immutability=1
plugin=org.kde.plasma.bluetooth
[Containments][44][Applets][57][Configuration]
-PreloadWeight=39
+PreloadWeight=0
[Containments][44][Applets][58]
immutability=1
plugin=org.kde.plasma.networkmanagement
[Containments][44][Applets][58][Configuration]
-PreloadWeight=92
+PreloadWeight=0
[Containments][44][Applets][63]
immutability=1
@@ -485,15 +587,10 @@ PreloadWeight=0
PreloadWeight=42
[Containments][44][General]
-extraItems=org.kde.plasma.battery,org.kde.plasma.bluetooth,org.kde.plasma.clipboard,org.kde.plasma.devicenotifier,org.kde.plasma.keyboardindicator,org.kde.plasma.keyboardlayout,org.kde.plasma.manage-inputmethod,org.kde.plasma.mediacontroller,org.kde.plasma.networkmanagement,org.kde.plasma.notifications,org.kde.plasma.printmanager,org.kde.plasma.vault,org.kde.plasma.volume,org.kde.kscreen,org.kde.plasma.brightness,org.kde.plasma.cameraindicator
-knownItems=org.kde.plasma.battery,org.kde.plasma.bluetooth,org.kde.plasma.clipboard,org.kde.plasma.devicenotifier,org.kde.plasma.keyboardindicator,org.kde.plasma.keyboardlayout,org.kde.plasma.manage-inputmethod,org.kde.plasma.mediacontroller,org.kde.plasma.networkmanagement,org.kde.plasma.notifications,org.kde.plasma.printmanager,org.kde.plasma.vault,org.kde.plasma.volume,org.kde.kscreen,org.kde.plasma.brightness,org.kde.plasma.cameraindicator
+extraItems=org.kde.plasma.battery,org.kde.plasma.bluetooth,org.kde.plasma.clipboard,org.kde.plasma.devicenotifier,org.kde.plasma.keyboardindicator,org.kde.plasma.keyboardlayout,org.kde.plasma.manage-inputmethod,org.kde.plasma.mediacontroller,org.kde.plasma.networkmanagement,org.kde.plasma.notifications,org.kde.plasma.vault,org.kde.plasma.volume,org.kde.kscreen,org.kde.plasma.printmanager,org.kde.plasma.brightness,org.kde.plasma.cameraindicator
+knownItems=org.kde.plasma.battery,org.kde.plasma.bluetooth,org.kde.plasma.clipboard,org.kde.plasma.devicenotifier,org.kde.plasma.keyboardindicator,org.kde.plasma.keyboardlayout,org.kde.plasma.manage-inputmethod,org.kde.plasma.mediacontroller,org.kde.plasma.networkmanagement,org.kde.plasma.notifications,org.kde.plasma.vault,org.kde.plasma.volume,org.kde.kscreen,org.kde.plasma.printmanager,org.kde.plasma.brightness,org.kde.plasma.cameraindicator
[Containments][87]
-ItemGeometries-1280x800=
-ItemGeometries-1366x768=
-ItemGeometries-1920x1080=
-ItemGeometries-2560x1440=
-ItemGeometriesHorizontal=
activityId=cd915191-804f-4d50-8fc3-f8e5c0279f54
formfactor=0
immutability=1
@@ -504,16 +601,25 @@ wallpaperplugin=org.kde.image
[Containments][87][ConfigDialog]
DialogHeight=540
-DialogWidth=753
+DialogWidth=720
[Containments][87][General]
ToolBoxButtonState=top
ToolBoxButtonX=366
-ToolBoxButtonY=44
+ToolBoxButtonY=56
+
+[Containments][87][Wallpaper][com.github.casout.wallpaperEngineKde][General]
+CustomConf=eyJmYXZvciI6WyIyODEwOTEzMjA4Il19
+FilterStr=01101111011111111111111111111111111
+Fps=60
+PerOptChanged=true
+SteamLibraryPath[$e]=file:///mnt/Games/Steam
+VideoBackend=1
+WallpaperSource[$e]=file:///mnt/Games/Steam/steamapps/workshop/content/431960/2697597434/Snowy day.mp4+video
+WallpaperWorkShopId=2697597434
[Containments][87][Wallpaper][org.kde.image][General]
Image=/usr/share/LayanWall/XeroLayanWallpaper.png
-SlidePaths=/home/gamerking/.local/share/wallpapers,/usr/share/wallpapers
[ScreenMapping]
itemsOnDisabledScreens=
diff --git a/Configs/Home/.local/share/plasma/plasmoids/SimpleOverviewPager/contents/config/main.xml b/Configs/Home/.local/share/plasma/plasmoids/SimpleOverviewPager/contents/config/main.xml
deleted file mode 100644
index b962d0a..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/SimpleOverviewPager/contents/config/main.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- 2
-
-
-
- false
-
-
-
- false
-
-
-
- false
-
-
-
-
-
-
-
- 0
-
-
-
-
-
-
-
-
- 0
-
-
-
-
-
-
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/SimpleOverviewPager/contents/ui/configGeneral.qml b/Configs/Home/.local/share/plasma/plasmoids/SimpleOverviewPager/contents/ui/configGeneral.qml
deleted file mode 100644
index 15fccd3..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/SimpleOverviewPager/contents/ui/configGeneral.qml
+++ /dev/null
@@ -1,164 +0,0 @@
- /*
- * Copyright 2013 David Edmundson
- * Copyright 2016 Eike Hein
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 2.010-1301, USA.
- */
-
-import QtQuick 2.5
-import QtQuick.Controls 2.5 as QtControls
-
-import org.kde.kirigami 2.5 as Kirigami
-
-
-Kirigami.FormLayout {
-
- anchors.left: parent.left
- anchors.right: parent.right
-
- property bool isActivityPager: (plasmoid.pluginName === "org.kde.plasma.activitypager")
-
- property int cfg_displayedText
- property alias cfg_showWindowIcons: showWindowIcons.checked
- property int cfg_currentDesktopSelected
- property alias cfg_pagerLayout: pagerLayout.currentIndex
- property alias cfg_showOnlyCurrentScreen: showOnlyCurrentScreen.checked
- property alias cfg_wrapPage: wrapPage.checked
-
- onCfg_displayedTextChanged: {
- switch (cfg_displayedText) {
- case 0:
- displayedTextGroup.checkedButton = desktopNumberRadio;
- break;
- case 1:
- displayedTextGroup.checkedButton = desktopNameRadio;
- break;
- default:
- case 2:
- displayedTextGroup.checkedButton = noTextRadio;
- break;
- }
- }
-
- onCfg_currentDesktopSelectedChanged: {
- switch (cfg_currentDesktopSelected) {
- case 0:
- currentDesktopSelectedGroup.checkedButton = doesNothingRadio;
- break;
- case 1:
- currentDesktopSelectedGroup.checkedButton = showsDesktopRadio;
- break;
- default:
- break;
- }
- }
-
- Component.onCompleted: {
- cfg_currentDesktopSelectedChanged();
- cfg_displayedTextChanged();
- }
-
- QtControls.ButtonGroup {
- id: displayedTextGroup
- }
- QtControls.ButtonGroup {
- id: currentDesktopSelectedGroup
- }
-
-
- QtControls.CheckBox {
- id: showWindowIcons
-
- Kirigami.FormData.label: i18n("General:")
-
- text: i18n("Show application icons on window outlines")
- }
-
- QtControls.CheckBox {
- id: showOnlyCurrentScreen
- text: i18n("Show only current screen")
- }
-
- QtControls.CheckBox {
- id: wrapPage
- text: i18n("Navigation wraps around")
- }
-
-
- Item {
- Kirigami.FormData.isSection: true
- }
-
-
- QtControls.ComboBox {
- id: pagerLayout
-
- Kirigami.FormData.label: i18n("Layout:")
-
- model: [i18nc("The pager layout", "Default"), i18n("Horizontal"), i18n("Vertical")]
- visible: isActivityPager
- }
-
-
- Item {
- Kirigami.FormData.isSection: true
- visible: isActivityPager
- }
-
-
- QtControls.RadioButton {
- id: noTextRadio
-
- Kirigami.FormData.label: i18n("Text display:")
-
- QtControls.ButtonGroup.group: displayedTextGroup
- text: i18n("No text")
- onCheckedChanged: if (checked) cfg_displayedText = 2;
- }
- QtControls.RadioButton {
- id: desktopNumberRadio
- QtControls.ButtonGroup.group: displayedTextGroup
- text: isActivityPager ? i18n("Activity number") : i18n("Desktop number")
- onCheckedChanged: if (checked) cfg_displayedText = 0;
- }
- QtControls.RadioButton {
- id: desktopNameRadio
- QtControls.ButtonGroup.group: displayedTextGroup
- text: isActivityPager ? i18n("Activity name") : i18n("Desktop name")
- onCheckedChanged: if (checked) cfg_displayedText = 1;
- }
-
-
- Item {
- Kirigami.FormData.isSection: true
- }
-
-
- QtControls.RadioButton {
- id: doesNothingRadio
-
- Kirigami.FormData.label: isActivityPager ? i18n("Selecting current Activity:") : i18n("Selecting current virtual desktop:")
-
- QtControls.ButtonGroup.group: currentDesktopSelectedGroup
- text: i18n("Does nothing")
- onCheckedChanged: if (checked) cfg_currentDesktopSelected = 0;
- }
- QtControls.RadioButton {
- id: showsDesktopRadio
- QtControls.ButtonGroup.group: currentDesktopSelectedGroup
- text: i18n("Shows the desktop")
- onCheckedChanged: if (checked) cfg_currentDesktopSelected = 1;
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/SimpleOverviewPager/contents/ui/main.qml b/Configs/Home/.local/share/plasma/plasmoids/SimpleOverviewPager/contents/ui/main.qml
deleted file mode 100644
index 252dfef..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/SimpleOverviewPager/contents/ui/main.qml
+++ /dev/null
@@ -1,310 +0,0 @@
-/*
- * Copyright 2012 Luís Gabriel Lima
- * Copyright 2016 Kai Uwe Broulik
- * Copyright 2016 Eike Hein
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.1
-import org.kde.plasma.plasmoid 2.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.components 2.0 as PlasmaComponents
-import org.kde.kquickcontrolsaddons 2.0 as KQuickControlsAddonsComponents
-import org.kde.draganddrop 2.0
-import org.kde.plasma.private.pager 2.0
-
-MouseArea {
- id: root
-
- property bool isActivityPager: (plasmoid.pluginName === "org.kde.plasma.activitypager")
- readonly property bool inPanel: (plasmoid.location === PlasmaCore.Types.TopEdge
- || plasmoid.location === PlasmaCore.Types.RightEdge
- || plasmoid.location === PlasmaCore.Types.BottomEdge
- || plasmoid.location === PlasmaCore.Types.LeftEdge)
-
- property bool vertical: (plasmoid.formFactor === PlasmaCore.Types.Vertical)
- // property var activityDataSource: null
-
-
- Layout.minimumWidth: {
- if (!inPanel) {
- return units.iconSizeHints.panel;
- }
-
- if (vertical) {
- return -1;
- } else {
- return 24// TODO: fix from settings
- }
- }
-
- Layout.minimumHeight: {
- if (!inPanel) {
- return units.iconSizeHints.panel;
- }
-
- if (vertical) {
- return Math.min(units.iconSizeHints.panel, parent.width) * 1//buttonIcon.aspectRatio;
- } else {
- return -1;
- }
- }
-
- Layout.maximumWidth: {
- if (!inPanel) {
- return -1;
- }
-
- if (vertical) {
- return units.iconSizeHints.panel;
- } else {
- return 24//parent.height + 2//350// TODO: fix from settings
- }
- }
-
- Layout.maximumHeight: {
- if (!inPanel) {
- return -1;
- }
-
- if (vertical) {
- return 26//Math.min(units.iconSizeHints.panel, parent.width) * 1//buttonIcon.aspectRatio;
- } else {
- return units.iconSizeHints.panel;
- }
- }
-
- Plasmoid.preferredRepresentation: Plasmoid.fullRepresentation
- Plasmoid.status: pagerModel.shouldShowPager ? PlasmaCore.Types.ActiveStatus : PlasmaCore.Types.HiddenStatus
-
- // Layout.fillWidth: false//root.vertical
- // Layout.fillHeight: false//!root.vertical
-
- property bool dragging: false
- property string dragId
-
- property int dragSwitchDesktopIndex: -1
-
- property int wheelDelta: 0
-
- // anchors.fill: parent
- acceptedButtons: Qt.NoButton
-
- hoverEnabled: true
-
- function colorWithAlpha(color, alpha) {
- return Qt.rgba(color.r, color.g, color.b, alpha)
- }
-
- Rectangle{
- id: aRectArea
- anchors.fill: parent
- color: "transparent"
-
- Rectangle{
- id: square
- anchors.centerIn: parent
- width: parent.width > 25 ? 22 : parent.width-2//square.height > 20 ? 24 : square.height
- height: square.width < 23 ? square.width - 4 : square.width-8 // parent.height > 22 ? 20 : parent.height -2
- color: "transparent"
- border.color: theme.textColor
- border.width: 1
- radius: 1
-
- PlasmaComponents.Label {
- anchors.centerIn: parent
- text: pagerModel.currentPage + 1
-
- wrapMode: Text.NoWrap
- elide: Text.ElideRight
-
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
-
- font.pixelSize: Math.min(height, theme.defaultFont.pixelSize)
- // unset pointSize set by PlasmaComponents.Label to avoid "Both point size and pixel size set." warning
- font.pointSize: -1
-
- z: 9999 // The label goes above everything
- }
-
- }
-
- Rectangle{
- anchors.horizontalCenter: square.horizontalCenter
- anchors.top: square.bottom
- anchors.topMargin: 1
- width: square.width-6
- height: 1
- color: "transparent"
- border.color: theme.textColor
- border.width: 1
- visible: false//aRectArea.height > 24
-
- }
- Rectangle{
- anchors.horizontalCenter: square.horizontalCenter
- anchors.bottom: square.top
- anchors.bottomMargin: 1
- width: square.width-6
- height: 1
- color: "transparent"
- border.color: theme.textColor
- border.width: 1
- visible: false//aRectArea.height > 24
-
- }
-
- MouseArea {
- anchors.fill: parent
- onClicked: {
- exposeDesktop()
- }
- }
- }
-
- function action_addDesktop() {
- pagerModel.addDesktop();
- }
-
- function action_removeDesktop() {
- pagerModel.removeDesktop();
- }
-
- function action_openKCM() {
- KQuickControlsAddonsComponents.KCMShell.open("kcm_kwin_virtualdesktops");
- }
-
- function action_showActivityManager() {
- if (!activityDataSource) {
- activityDataSource = Qt.createQmlObject('import org.kde.plasma.core 2.0 as PlasmaCore; \
- PlasmaCore.DataSource { id: dataSource; engine: "org.kde.activities"; \
- connectedSources: ["Status"] }', root);
- }
-
- var service = activityDataSource.serviceForSource("Status")
- var operation = service.operationDescription("toggleActivityManager")
- service.startOperationCall(operation)
- }
-
- onContainsMouseChanged: {
- if (!containsMouse && dragging) {
- // Somewhat heavy-handed way to clean up after a window delegate drag
- // exits the window.
- pagerModel.refresh();
- dragging = false;
- }
- }
-
-
- onWheel: {
- // Magic number 120 for common "one click, see:
- // http://qt-project.org/doc/qt-5/qml-qtquick-wheelevent.html#angleDelta-prop
-
- wheelDelta += wheel.angleDelta.y || wheel.angleDelta.x;
-
- var increment = 0;
-
- while (wheelDelta >= 120) {
- wheelDelta -= 120;
- increment++;
- }
-
- while (wheelDelta <= -120) {
- wheelDelta += 120;
- increment--;
- }
-
- while (increment !== 0) {
- if (increment < 0) {
- var nextPage = plasmoid.configuration.wrapPage?
- (pagerModel.currentPage + 1) % pagerModel.count :
- Math.min(pagerModel.currentPage + 1, pagerModel.count - 1);
- pagerModel.changePage(nextPage);
- } else {
- var previousPage = plasmoid.configuration.wrapPage ?
- (repeater.count + pagerModel.currentPage - 1) % pagerModel.count :
- Math.max(pagerModel.currentPage - 1, 0);
- pagerModel.changePage(previousPage);
- }
-
- increment += (increment < 0) ? 1 : -1;
- }
- }
-
- PagerModel {
- id: pagerModel
-
- enabled: root.visible
-
- showDesktop: (plasmoid.configuration.currentDesktopSelected === 1)
-
- showOnlyCurrentScreen: plasmoid.configuration.showOnlyCurrentScreen
- screenGeometry: plasmoid.screenGeometry
-
- pagerType: isActivityPager ? PagerModel.Activities : PagerModel.VirtualDesktops
- }
-
- Connections {
- target: plasmoid.configuration
-
- onShowWindowIconsChanged: {
- // Causes the model to reset; Component.onCompleted in the
- // window delegate now gets a chance to create the icon item,
- // which it otherwise will not do.
- pagerModel.refresh();
- }
-
- onDisplayedTextChanged: {
- // Causes the model to reset; Component.onCompleted in the
- // desktop delegate now gets a chance to create the label item,
- // which it otherwise will not do.
- pagerModel.refresh();
- }
- }
-
-
- Component.onCompleted: {
- if (isActivityPager) {
- plasmoid.setAction("showActivityManager", i18n("Show Activity Manager..."), "activities");
- } else {
- if (KQuickControlsAddonsComponents.KCMShell.authorize("kcm_kwin_virtualdesktops.desktop").length > 0) {
- plasmoid.setAction("addDesktop", i18n("Add Virtual Desktop"), "list-add");
- plasmoid.setAction("removeDesktop", i18n("Remove Virtual Desktop"), "list-remove");
- plasmoid.action("removeDesktop").enabled = Qt.binding(function() {
- return pagerModel.count > 1;
- });
-
- plasmoid.setAction("openKCM", i18n("Configure Virtual Desktops..."), "configure");
- }
- }
- }
-
- PlasmaCore.DataSource {
- id: executable
- engine: "executable"
- connectedSources: []
- onNewData: disconnectSource(sourceName)
-
- function exec(cmd) {
- executable.connectSource(cmd)
- }
- }
-
- function exposeDesktop() {
- executable.exec('qdbus org.kde.kglobalaccel /component/kwin invokeShortcut Overview')
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/SimpleOverviewPager/metadata.desktop b/Configs/Home/.local/share/plasma/plasmoids/SimpleOverviewPager/metadata.desktop
deleted file mode 100644
index 388c5d1..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/SimpleOverviewPager/metadata.desktop
+++ /dev/null
@@ -1,18 +0,0 @@
-[Desktop Entry]
-Name=SimpleOverviewPager
-Comment=Switch between virtual desktops
-Icon=user-desktop
-Type=Service
-X-Plasma-API=declarativeappletscript
-X-KDE-ServiceTypes=Plasma/Applet
-X-Plasma-MainScript=ui/main.qml
-X-Plasma-Provides=org.kde.plasma.virtualdesktops
-X-KDE-PluginInfo-Author=The Plasma Team more adhe
-X-KDE-PluginInfo-Email=no@microsoft.com
-X-KDE-PluginInfo-Name=SimpleOverviewPager
-X-KDE-PluginInfo-Version=4.0
-X-KDE-PluginInfo-Website=
-X-KDE-PluginInfo-Category=Windows and Tasks
-X-KDE-PluginInfo-Depends=
-X-KDE-PluginInfo-License=GPL-2.0+
-X-KDE-PluginInfo-EnabledByDefault=true
diff --git a/Configs/Home/.local/share/plasma/plasmoids/SimpleOverviewPager/metadata.json b/Configs/Home/.local/share/plasma/plasmoids/SimpleOverviewPager/metadata.json
deleted file mode 100644
index 2d5c966..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/SimpleOverviewPager/metadata.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "KPlugin": {
- "Authors": [
- {
- "Email": "no@microsoft.com",
- "Name": "tuxg0d"
- }
- ],
- "Category": "Windows and Tasks",
- "Dependencies": [
- ],
- "Description": "Switch between virtual desktops",
- "EnabledByDefault": true,
- "Icon": "user-desktop",
- "Id": "SimpleOverviewPager",
- "License": "GPL-2.0+",
- "Name": "SimpleOverviewPager",
- "ServiceTypes": [
- "Plasma/Applet"
- ],
- "Version": "4.0",
- "Website": "http://userbase.kde.org/Plasma/Pager"
- },
- "X-Plasma-API": "declarativeappletscript",
- "X-Plasma-MainScript": "ui/main.qml",
- "X-Plasma-Provides": [
- "org.kde.plasma.virtualdesktops"
- ]
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.k-donn.plasmoid-wunderground/contents/locale/ja_JP/LC_MESSAGES/plasma_applet_com.github.k-donn.plasmoid-wunderground.mo b/Configs/Home/.local/share/plasma/plasmoids/com.github.k-donn.plasmoid-wunderground/contents/locale/ja_JP/LC_MESSAGES/plasma_applet_com.github.k-donn.plasmoid-wunderground.mo
new file mode 100644
index 0000000..3fdefe8
Binary files /dev/null and b/Configs/Home/.local/share/plasma/plasmoids/com.github.k-donn.plasmoid-wunderground/contents/locale/ja_JP/LC_MESSAGES/plasma_applet_com.github.k-donn.plasmoid-wunderground.mo differ
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.k-donn.plasmoid-wunderground/contents/ui/config/ConfigStation.qml b/Configs/Home/.local/share/plasma/plasmoids/com.github.k-donn.plasmoid-wunderground/contents/ui/config/ConfigStation.qml
index 6840c91..a97e6fd 100644
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.k-donn.plasmoid-wunderground/contents/ui/config/ConfigStation.qml
+++ b/Configs/Home/.local/share/plasma/plasmoids/com.github.k-donn.plasmoid-wunderground/contents/ui/config/ConfigStation.qml
@@ -94,7 +94,7 @@ Item {
}
PlasmaComponents.Label {
- text: "Version 2.5.4"
+ text: "Version 2.5.5"
}
}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.k-donn.plasmoid-wunderground/metadata.desktop b/Configs/Home/.local/share/plasma/plasmoids/com.github.k-donn.plasmoid-wunderground/metadata.desktop
index d77941a..55a6556 100644
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.k-donn.plasmoid-wunderground/metadata.desktop
+++ b/Configs/Home/.local/share/plasma/plasmoids/com.github.k-donn.plasmoid-wunderground/metadata.desktop
@@ -10,7 +10,7 @@ X-KDE-PluginInfo-Author=k-donn
X-KDE-PluginInfo-Email=k-donn@github.com
X-KDE-PluginInfo-License=GPL2-or-later
X-KDE-PluginInfo-Name=com.github.k-donn.plasmoid-wunderground
-X-KDE-PluginInfo-Version=2.5.4
+X-KDE-PluginInfo-Version=2.5.5
X-KDE-PluginInfo-Website=https://github.com/k-donn/plasmoid-wunderground
X-KDE-ServiceTypes=Plasma/Applet
X-KDE-PluginInfo-Category=Environment and Weather
@@ -22,10 +22,12 @@ X-Plasma-RemoteLocation=
Name[de_DE]=Wunderground
Name[es_ES]=Wunderground
Name[fr_FR]=Wunderground
+Name[ja_JP]=Wunderground
Name[nl_NL]=Wunderground
Name[ru_RU]=Wunderground
Comment[de_DE]=Wunderground Personal Weather Station viewer
Comment[es_ES]=Visor de la estación meteorológica personal Wunderground
Comment[fr_FR]=Visualisation de station météorologique personnelle Wunderground
+Comment[ja_JP]=Wunderground Personal Weather Station viewer
Comment[nl_NL]=Wunderground - Bekijk je eigen weerstation
Comment[ru_RU]=Программа просмотра персональных метеостанций Wunderground
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.k-donn.plasmoid-wunderground/translate/ReadMe.md b/Configs/Home/.local/share/plasma/plasmoids/com.github.k-donn.plasmoid-wunderground/translate/ReadMe.md
index f27e01f..8c893f6 100644
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.k-donn.plasmoid-wunderground/translate/ReadMe.md
+++ b/Configs/Home/.local/share/plasma/plasmoids/com.github.k-donn.plasmoid-wunderground/translate/ReadMe.md
@@ -38,5 +38,6 @@ Or if you know how to make a pull request
| de_DE | 44/44 | 100% |
| es_ES | 44/44 | 100% |
| fr_FR | 44/44 | 100% |
+| ja_JP | 44/44 | 100% |
| nl_NL | 44/44 | 100% |
| ru_RU | 44/44 | 100% |
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.k-donn.plasmoid-wunderground/translate/de_DE.po b/Configs/Home/.local/share/plasma/plasmoids/com.github.k-donn.plasmoid-wunderground/translate/de_DE.po
index 5295e06..cf83679 100644
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.k-donn.plasmoid-wunderground/translate/de_DE.po
+++ b/Configs/Home/.local/share/plasma/plasmoids/com.github.k-donn.plasmoid-wunderground/translate/de_DE.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: plasmoid-wunderground\n"
"Report-Msgid-Bugs-To: https://github.com/k-donn/plasmoid-wunderground\n"
-"POT-Creation-Date: 2023-07-04 10:45-0400\n"
+"POT-Creation-Date: 2024-01-21 20:04-0500\n"
"PO-Revision-Date: DA-Mo-YEAR HO:MI+ZONE\n"
"Last-Translator: Stefan Wannemacher \n"
"Language-Team: LANGUAGE \n"
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.k-donn.plasmoid-wunderground/translate/es_ES.po b/Configs/Home/.local/share/plasma/plasmoids/com.github.k-donn.plasmoid-wunderground/translate/es_ES.po
index 667b2f2..a70fabf 100644
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.k-donn.plasmoid-wunderground/translate/es_ES.po
+++ b/Configs/Home/.local/share/plasma/plasmoids/com.github.k-donn.plasmoid-wunderground/translate/es_ES.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: plasmoid-wunderground\n"
"Report-Msgid-Bugs-To: https://github.com/k-donn/plasmoid-wunderground\n"
-"POT-Creation-Date: 2023-07-04 10:45-0400\n"
+"POT-Creation-Date: 2024-01-21 20:04-0500\n"
"PO-Revision-Date: 2022-03-09 20:36+0100\n"
"Last-Translator: victorhck \n"
"Language-Team: Spanish <>\n"
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.k-donn.plasmoid-wunderground/translate/fr_FR.po b/Configs/Home/.local/share/plasma/plasmoids/com.github.k-donn.plasmoid-wunderground/translate/fr_FR.po
index 9f78057..28f6991 100644
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.k-donn.plasmoid-wunderground/translate/fr_FR.po
+++ b/Configs/Home/.local/share/plasma/plasmoids/com.github.k-donn.plasmoid-wunderground/translate/fr_FR.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: plasmoid-wunderground\n"
"Report-Msgid-Bugs-To: https://github.com/k-donn/plasmoid-wunderground\n"
-"POT-Creation-Date: 2023-07-04 10:45-0400\n"
+"POT-Creation-Date: 2024-01-21 20:04-0500\n"
"PO-Revision-Date: 2023-11-05 21:20+0100\n"
"Last-Translator: Bruno Bianchessi \n"
"Language-Team: French <>\n"
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.k-donn.plasmoid-wunderground/translate/ja_JP.po b/Configs/Home/.local/share/plasma/plasmoids/com.github.k-donn.plasmoid-wunderground/translate/ja_JP.po
new file mode 100644
index 0000000..8fe437b
--- /dev/null
+++ b/Configs/Home/.local/share/plasma/plasmoids/com.github.k-donn.plasmoid-wunderground/translate/ja_JP.po
@@ -0,0 +1,204 @@
+# Translation of plasmoid-wunderground in ja_JP
+# Copyright (C) 2023
+# This file is distributed under the same license as the plasmoid-wunderground package.
+# Yuta Takahashi , 2024.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: plasmoid-wunderground\n"
+"Report-Msgid-Bugs-To: https://github.com/k-donn/plasmoid-wunderground\n"
+"POT-Creation-Date: 2024-01-21 20:04-0500\n"
+"PO-Revision-Date: 2024-01-14 22:54+0900\n"
+"Last-Translator: Yuta Takahashi \n"
+"Language-Team: Japanese-Team \n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../metadata.desktop
+msgid "Wunderground"
+msgstr "Wunderground"
+
+#: ../metadata.desktop
+msgid "Wunderground Personal Weather Station viewer"
+msgstr "Wunderground Personal Weather Station viewer"
+
+#: ../contents/ui/config/ConfigAppearance.qml
+msgid "Compact Representation"
+msgstr "コンパクトな表示"
+
+#: ../contents/ui/config/ConfigAppearance.qml
+msgid "Font"
+msgstr "フォント"
+
+#: ../contents/ui/config/ConfigAppearance.qml
+msgid "Font size (0px=scale to widget)"
+msgstr "フォントサイズ (0px=自動調整)"
+
+#: ../contents/ui/config/ConfigAppearance.qml
+msgid "Font styles"
+msgstr "書体"
+
+#: ../contents/ui/config/ConfigAppearance.qml
+msgid "Full Representation"
+msgstr "完全な表示"
+
+#: ../contents/ui/config/ConfigAppearance.qml
+msgid "Property header text size"
+msgstr "見出しの文字サイズ"
+
+#: ../contents/ui/config/ConfigAppearance.qml
+msgid "Property text size"
+msgstr "文字サイズ"
+
+#: ../contents/ui/config/ConfigAppearance.qml
+msgid "Temperature text size"
+msgstr "気温の文字サイズ"
+
+#: ../contents/ui/config/ConfigDebug.qml
+msgid "Write to console.log:"
+msgstr "console.logに書き込む"
+
+#: ../contents/ui/config/ConfigFontFamily.qml
+msgctxt "Use default font"
+msgid "Default"
+msgstr "デフォルト"
+
+#: ../contents/ui/config/ConfigStation.qml
+msgid "Enter Station"
+msgstr "ステーションの入力"
+
+#: ../contents/ui/config/ConfigStation.qml
+msgid "Weatherstation ID:"
+msgstr "ウェザーステーションID:"
+
+#: ../contents/ui/config/ConfigStation.qml
+msgid "Get Nearest Station"
+msgstr "最短距離のステーションの取得"
+
+#: ../contents/ui/config/ConfigStation.qml
+msgid "Uses WGS84 geocode coordinates"
+msgstr "WGS84ジオコードの座標を使用してください。"
+
+#: ../contents/ui/config/ConfigStation.qml
+msgid "Longitude:"
+msgstr "軽度"
+
+#: ../contents/ui/config/ConfigStation.qml
+msgid "Latitude:"
+msgstr "緯度"
+
+#: ../contents/ui/config/ConfigStation.qml
+msgid "Refresh period (s):"
+msgstr "更新頻度 (秒):"
+
+#: ../contents/ui/config/ConfigStation.qml
+msgid "Find Station"
+msgstr "ステーションを探す"
+
+#: ../contents/ui/config/ConfigUnits.qml
+msgctxt "The unit system"
+msgid "Metric"
+msgstr "メートル法"
+
+#: ../contents/ui/config/ConfigUnits.qml
+msgctxt "The unit system"
+msgid "Imperial"
+msgstr "ヤードポンド法"
+
+#: ../contents/ui/config/ConfigUnits.qml
+msgctxt "The unit system"
+msgid "Hybrid (UK)"
+msgstr "ハイブリッド (イギリス)"
+
+#: ../contents/ui/config/ConfigUnits.qml
+msgid "Choose:"
+msgstr "選択:"
+
+#: ../contents/ui/DetailsItem.qml
+msgid "WIND & GUST"
+msgstr "風と突風"
+
+#: ../contents/ui/DetailsItem.qml
+msgid "Feels like %1"
+msgstr "体感温度 %1"
+
+#: ../contents/ui/DetailsItem.qml
+msgid "Wind from: %1"
+msgstr "風向: %1"
+
+#: ../contents/ui/DetailsItem.qml
+msgid "DEWPOINT"
+msgstr "露点温度"
+
+#: ../contents/ui/DetailsItem.qml
+msgctxt "Precipitaion rate"
+msgid "PRECIP RATE"
+msgstr "降水量"
+
+#: ../contents/ui/DetailsItem.qml
+msgid "PRESSURE"
+msgstr "気圧"
+
+#: ../contents/ui/DetailsItem.qml
+msgid "HUMIDITY"
+msgstr "湿度"
+
+#: ../contents/ui/DetailsItem.qml
+msgctxt "Precipitation accumulation"
+msgid "PRECIP ACCUM"
+msgstr "合計降水量"
+
+#: ../contents/ui/DetailsItem.qml
+msgctxt "Ultra Violet"
+msgid "UV"
+msgstr "紫外線"
+
+#: ../contents/ui/FullRepresentation.qml
+msgid "Loading data..."
+msgstr "データを読み込み中..."
+
+#: ../contents/ui/main.qml
+msgctxt "Do not edit HTML tags. 'Temp' means temperature"
+msgid "Temp: %1 "
+msgstr "気温: %1 "
+
+#: ../contents/ui/main.qml
+msgctxt "Do not edit HTML tags."
+msgid "Feels: %1 "
+msgstr "体感温度: %1 "
+
+#: ../contents/ui/main.qml
+msgctxt "Do not edit HTML tags. 'Wnd Spd' means Wind Speed"
+msgid "Wnd spd: %1 "
+msgstr "風速: %1 "
+
+#: ../contents/ui/main.qml
+msgid "Set the weather station to pull data from."
+msgstr "データを取得するウェザーステーションをセットしてください。"
+
+#: ../contents/ui/main.qml
+msgid "Please Configure"
+msgstr "設定してください。"
+
+#: ../contents/ui/main.qml ../contents/ui/TopPanel.qml
+msgid "Loading..."
+msgstr "ロード中..."
+
+#: ../contents/ui/main.qml
+msgid "Error..."
+msgstr "エラー..."
+
+#: ../contents/ui/SwitchPanel.qml
+msgid "Weather Details"
+msgstr "現在の天気"
+
+#: ../contents/ui/SwitchPanel.qml
+msgid "Forecast"
+msgstr "予報"
+
+#: ../contents/ui/TopPanel.qml
+msgid "High: %1 Low: %2"
+msgstr "最高気温: %1 最低気温: %2"
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.k-donn.plasmoid-wunderground/translate/nl_NL.po b/Configs/Home/.local/share/plasma/plasmoids/com.github.k-donn.plasmoid-wunderground/translate/nl_NL.po
index 1266f63..31969cd 100644
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.k-donn.plasmoid-wunderground/translate/nl_NL.po
+++ b/Configs/Home/.local/share/plasma/plasmoids/com.github.k-donn.plasmoid-wunderground/translate/nl_NL.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: plasmoid-wunderground\n"
"Report-Msgid-Bugs-To: https://github.com/k-donn/plasmoid-wunderground\n"
-"POT-Creation-Date: 2023-07-04 10:45-0400\n"
+"POT-Creation-Date: 2024-01-21 20:04-0500\n"
"PO-Revision-Date: 2022-04-17 14:14+0200\n"
"Last-Translator: Heimen Stoffels \n"
"Language-Team: Dutch <>\n"
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.k-donn.plasmoid-wunderground/translate/ru_RU.po b/Configs/Home/.local/share/plasma/plasmoids/com.github.k-donn.plasmoid-wunderground/translate/ru_RU.po
index 82c0caf..f789c2f 100644
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.k-donn.plasmoid-wunderground/translate/ru_RU.po
+++ b/Configs/Home/.local/share/plasma/plasmoids/com.github.k-donn.plasmoid-wunderground/translate/ru_RU.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: plasmoid-wunderground\n"
"Report-Msgid-Bugs-To: https://github.com/k-donn/plasmoid-wunderground\n"
-"POT-Creation-Date: 2023-07-04 10:45-0400\n"
+"POT-Creation-Date: 2024-01-21 20:04-0500\n"
"PO-Revision-Date: 2023-07-03 20:36+0100\n"
"Last-Translator: AleksZZ \n"
"Language-Team: Russian \n"
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.k-donn.plasmoid-wunderground/translate/template.pot b/Configs/Home/.local/share/plasma/plasmoids/com.github.k-donn.plasmoid-wunderground/translate/template.pot
index 24b7b5d..f9f0d81 100644
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.k-donn.plasmoid-wunderground/translate/template.pot
+++ b/Configs/Home/.local/share/plasma/plasmoids/com.github.k-donn.plasmoid-wunderground/translate/template.pot
@@ -1,5 +1,5 @@
# Translation of plasmoid-wunderground in LANGUAGE
-# Copyright (C) 2023
+# Copyright (C) 2024
# This file is distributed under the same license as the plasmoid-wunderground package.
# FIRST AUTHOR , YEAR.
#
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: plasmoid-wunderground\n"
"Report-Msgid-Bugs-To: https://github.com/k-donn/plasmoid-wunderground\n"
-"POT-Creation-Date: 2023-07-04 10:45-0400\n"
+"POT-Creation-Date: 2024-01-21 20:04-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.aestheticclock/contents/config/config.qml b/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.aestheticclock/contents/config/config.qml
deleted file mode 100644
index 8ad6140..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.aestheticclock/contents/config/config.qml
+++ /dev/null
@@ -1,14 +0,0 @@
-import org.kde.plasma.configuration 2.0
-
-ConfigModel {
- ConfigCategory {
- name: i18n("Appearance")
- icon: "preferences-desktop-color"
- source: "configAppearance.qml"
- }
- ConfigCategory {
- name: i18n("Behaviour")
- icon: "preferences-desktop"
- source: "configPreferences.qml"
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.aestheticclock/contents/config/main.xml b/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.aestheticclock/contents/config/main.xml
deleted file mode 100644
index fde6845..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.aestheticclock/contents/config/main.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-
-
-
-
-
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- false
-
-
- false
-
-
- false
-
-
-
-
- 48
-
-
- 108
-
-
- 38
-
-
- 250
-
-
- 48
-
-
- 38
-
-
- 20
-
-
- 20
-
-
- 14
-
-
- 16
-
-
- 200
-
-
- 50
-
-
-
-
- 2000
-
-
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- #d78695
-
-
- #9ed24a
-
-
- #dfa45c
-
-
- #464a4b
-
-
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.aestheticclock/contents/fonts/Hasteristico.ttf b/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.aestheticclock/contents/fonts/Hasteristico.ttf
deleted file mode 100644
index bb2de99..0000000
Binary files a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.aestheticclock/contents/fonts/Hasteristico.ttf and /dev/null differ
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.aestheticclock/contents/ui/BooleanField.qml b/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.aestheticclock/contents/ui/BooleanField.qml
deleted file mode 100644
index 55fef33..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.aestheticclock/contents/ui/BooleanField.qml
+++ /dev/null
@@ -1,15 +0,0 @@
-import QtQuick 2.0
-import QtQuick.Controls 2.0
-import QtQuick.Layouts 1.15
-
-RowLayout {
- property alias text: label.text
- property alias checked: checkbox.checked
-
- Label {
- id: label
- }
- CheckBox {
- id: checkbox
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.aestheticclock/contents/ui/ColorField.qml b/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.aestheticclock/contents/ui/ColorField.qml
deleted file mode 100644
index 4245bbf..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.aestheticclock/contents/ui/ColorField.qml
+++ /dev/null
@@ -1,31 +0,0 @@
-import QtQuick 2.0
-import QtQuick.Controls 2.0
-import QtQuick.Layouts 1.15
-import QtQuick.Dialogs 1.3
-
-RowLayout {
- id: colorfield
- property alias text: label.text
- property alias color: rect.color
-
- Label {
- id: label
- }
- Button {
- id: button
- padding: 5
- contentItem: Rectangle {
- id: rect
- }
- onClicked: {
- dialog.open()
- }
- }
- ColorDialog {
- id: dialog
- title: "Select a color"
- onAccepted: {
- colorfield.color = dialog.color
- }
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.aestheticclock/contents/ui/FontLabel.qml b/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.aestheticclock/contents/ui/FontLabel.qml
deleted file mode 100644
index 079a4c5..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.aestheticclock/contents/ui/FontLabel.qml
+++ /dev/null
@@ -1,51 +0,0 @@
-import QtQuick 2.15
-import QtQuick.Layouts 1.15
-import org.kde.plasma.components 2.0 as PlasmaComponents
-
-Item {
- id: labelWrapper
- Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter
- Layout.minimumWidth: label.contentWidth
- Layout.minimumHeight: label.contentHeight
- property alias text: label.text
- property alias font: label.font
- property alias elide: label.elide
- property alias color: label2.color
- property alias labelWidth: label.width
- property bool fill: true && root.enableFillAnimation
-
- property int from;
- property int to;
- property int currentVal;
-
- Text {
- id: label
- font.family: root.fontFamily
- font.capitalization: Font.AllUppercase
- font.weight: Font.Thin
- color: labelWrapper.fill ? root.textBackgroundColor : labelWrapper.color
- verticalAlignment: Text.AlignBottom
- renderType: Text.QtRendering
- }
- FontMetrics {
- id: metrics
- font: label.font
- }
- Text {
- id: label2
- visible: labelWrapper.fill
- elide: label.elide
- width: label.width
- // HACK "metrics.ascent-metrics.descent+(root.sizeFactor*0.1)" is approximately the same as cap height of the font but not exactly equal
- height: labelWrapper.fill ? ((metrics.ascent-metrics.descent + (font.pixelSize*0.1))/(((to-from)+1)/currentVal))+metrics.descent : 0
- anchors.bottom: label.bottom
- verticalAlignment: Text.AlignBottom
- renderType: Text.QtRendering
- text: label.text
- font: label.font
- clip: true
- Component.onCompleted: {
- console.log(metrics.descent)
- }
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.aestheticclock/contents/ui/NumberField.qml b/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.aestheticclock/contents/ui/NumberField.qml
deleted file mode 100644
index 8eb9f77..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.aestheticclock/contents/ui/NumberField.qml
+++ /dev/null
@@ -1,19 +0,0 @@
-import QtQuick 2.0
-import QtQuick.Controls 2.0
-import QtQuick.Layouts 1.15
-import org.kde.plasma.core 2.0 as PlasmaCore
-
-RowLayout {
- property alias text: label.text
- property alias value: spinbox.value
- property alias enabled: spinbox.enabled
-
- Label {
- id: label
- color: spinbox.enabled ? PlasmaCore.Theme.textColor : PlasmaCore.Theme.disabledTextColor
- }
- SpinBox {
- id: spinbox
- from: 0; to: 999999
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.aestheticclock/contents/ui/SysMonLabel.qml b/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.aestheticclock/contents/ui/SysMonLabel.qml
deleted file mode 100644
index 86d7a6c..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.aestheticclock/contents/ui/SysMonLabel.qml
+++ /dev/null
@@ -1,29 +0,0 @@
-import QtQuick 2.0
-import QtQuick.Layouts 1.15
-import org.kde.plasma.components 2.0 as PlasmaComponents
-
-RowLayout {
- id: labelWrapper
- property alias text: displayText.text
- property alias from: displayText.from
- property alias to: displayText.to
- property string color;
- property string usage;
- property string unit;
-
- FontLabel {
- id: displayText
- font.family: root.fontFamily
- font.pixelSize: root.sysMonTextFontSize
- color: labelWrapper.color
- currentVal: usage
- }
- FontLabel {
- id: usageText
- font.family: root.fontFamily
- font.pixelSize: root.sysMonUsageFontSize
- color: labelWrapper.color
- fill: false
- text: unit ? usage + unit : usage
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.aestheticclock/contents/ui/Title.qml b/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.aestheticclock/contents/ui/Title.qml
deleted file mode 100644
index 8e8491c..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.aestheticclock/contents/ui/Title.qml
+++ /dev/null
@@ -1,8 +0,0 @@
-import QtQuick 2.0
-import QtQuick.Controls 2.0
-import QtQuick.Layouts 1.15
-
-Label {
- font.pixelSize: 18
- Layout.topMargin: 10
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.aestheticclock/contents/ui/configAppearance.qml b/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.aestheticclock/contents/ui/configAppearance.qml
deleted file mode 100644
index 739afc0..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.aestheticclock/contents/ui/configAppearance.qml
+++ /dev/null
@@ -1,182 +0,0 @@
-import QtQuick 2.0
-import QtQuick.Layouts 1.15
-import QtQuick.Controls 2.0
-
-ColumnLayout {
- // Properties
- property alias cfg_time_font_size: timeFontSize.value
- property alias cfg_month_font_size: monthFontSize.value
- property alias cfg_year_font_size: yearFontSize.value
- property alias cfg_day_font_size: dayFontSize.value
- property alias cfg_timeap_font_size: timeAPFontSize.value
- property alias cfg_sys_mon_text_font_size: sysMonTextFontSize.value
- property alias cfg_sys_mon_usage_font_size: sysMonUsageFontSize.value
- property alias cfg_audio_title_font_size: audioTitleFontSize.value
- property alias cfg_audio_artist_font_size: audioArtistFontSize.value
- property alias cfg_now_playing_font_size: nowPlayingFontSize.value
- property alias cfg_global_font_size: globalFontSize.value
- property alias cfg_audio_image_width: audioImageWidth.value
-
- property alias cfg_date_spacing: dateSpacing.value
- property alias cfg_audio_spacing: audioSpacing.value
- property alias cfg_sys_mon_spacing: sysMonSpacing.value
-
- property alias cfg_text_background_color: textBackgroundColor.color
- property alias cfg_color_one: colorOne.color
- property alias cfg_color_two: colorTwo.color
- property alias cfg_color_three: colorThree.color
-
- property alias cfg_proportional_font: proportionalFont.checked
- property alias cfg_enable_shadows: enableShadows.checked
- property alias cfg_show_sys_mon: showSysMon.checked
- property alias cfg_show_audio: showAudio.checked
- property alias cfg_enable_fill_animation: enableFillAnimation.checked
- property alias cfg_show_date: showDate.checked
- property alias cfg_enable_24_hour: enable24Hour.checked
- property alias cfg_use_system_colors: useSystemColors.checked
-
-
- Title {
- text: i18n("Font Sizes")
- }
- BooleanField {
- id: proportionalFont
- text: i18n("Use proportional font")
- }
- NumberField {
- id: globalFontSize
- text: i18n("Global font size")
- enabled: proportionalFont.checked
- }
- NumberField {
- id: monthFontSize
- text: i18n("Month")
- enabled: !proportionalFont.checked
- }
- NumberField {
- id: yearFontSize
- text: i18n("Year")
- enabled: !proportionalFont.checked
- }
- NumberField {
- id: dayFontSize
- text: i18n("Day")
- enabled: !proportionalFont.checked
- }
- NumberField {
- id: timeFontSize
- text: i18n("Time")
- enabled: !proportionalFont.checked
- }
- NumberField {
- id: timeAPFontSize
- text: i18n("AM/PM")
- enabled: !proportionalFont.checked
- }
- NumberField {
- id: sysMonTextFontSize
- text: i18n("System monitor title")
- enabled: !proportionalFont.checked
- }
- NumberField {
- id: sysMonUsageFontSize
- text: i18n("System monitor usage")
- enabled: !proportionalFont.checked
- }
- NumberField {
- id: audioTitleFontSize
- text: i18n("Music title")
- enabled: !proportionalFont.checked
- }
- NumberField {
- id: audioArtistFontSize
- text: i18n("Music artist")
- enabled: !proportionalFont.checked
- }
- NumberField {
- id: nowPlayingFontSize
- text: i18n("\"Now Playing\" text")
- enabled: !proportionalFont.checked
- }
- NumberField {
- id: audioImageWidth
- text: i18n("Music thumbnail width")
- enabled: !proportionalFont.checked
- }
-
- Title {
- text: i18n("Spacing")
- }
- NumberField {
- id: dateSpacing
- text: i18n("Spacing between the month, day and year")
- }
- NumberField {
- id: sysMonSpacing
- text: i18n("Spacing between system monitor and time")
- }
- NumberField {
- id: audioSpacing
- text: i18n("Spacing between \"Now Playing\" and time")
- }
-
- Title {
- text: i18n("Colors")
- }
- BooleanField {
- id: useSystemColors
- text: i18n("Use colors from the current color scheme")
- }
- ColorField {
- id: textBackgroundColor
- text: "Text Background Color"
- }
- ColorField {
- id: colorOne
- text: "Color 1"
- }
- ColorField {
- id: colorTwo
- text: "Color 2"
- }
- ColorField {
- id: colorThree
- text: "Color 3"
- }
-
-
- Title {
- text: i18n("Other")
- }
- BooleanField {
- id: enableShadows
- text: i18n("Enable shadows")
- }
- BooleanField {
- id: showDate
- text: i18n("Show Date")
- }
- BooleanField {
- id: showSysMon
- text: i18n("Show System Monitor")
- }
- BooleanField {
- id: showAudio
- text: i18n("Show \"Now Playing\"")
- }
- BooleanField {
- id: enableFillAnimation
- text: i18n("Show Fill Animation")
- }
- BooleanField {
- id: enable24Hour
- text: i18n("Use 24 hour clock")
- }
-
-
-
- // Tight Spacing
- Item {
- Layout.fillHeight: true
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.aestheticclock/contents/ui/configPreferences.qml b/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.aestheticclock/contents/ui/configPreferences.qml
deleted file mode 100644
index e8200b4..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.aestheticclock/contents/ui/configPreferences.qml
+++ /dev/null
@@ -1,17 +0,0 @@
-import QtQuick 2.0
-import QtQuick.Controls 2.0
-import QtQuick.Layouts 1.15
-
-ColumnLayout {
- property alias cfg_sys_mon_interval: sysMonInterval.value
- Title {
- text: i18n("System Monitor")
- }
- NumberField {
- id: sysMonInterval
- text: i18n("Interval (in milliseconds)")
- }
- Item {
- Layout.fillHeight: true
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.aestheticclock/contents/ui/main.qml b/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.aestheticclock/contents/ui/main.qml
deleted file mode 100644
index 4fe8709..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.aestheticclock/contents/ui/main.qml
+++ /dev/null
@@ -1,352 +0,0 @@
-// IMPORT
-// QtQuick
-import QtQuick 2.0
-import QtQuick.Controls 2.0
-import QtQuick.Layouts 1.15
-import QtQml 2.0
-
-// Plasma Modules
-import org.kde.plasma.plasmoid 2.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.components 2.0 as PlasmaComponents
-
-// MAIN
-Item {
- id: root
-
- // Loading Fonts
- FontLoader {
- id: defaultFont
- source: "../fonts/Hasteristico.ttf"
- }
-
- // Properties
- // Fonts
- property var fontFamily: defaultFont.name
-
- // Booleans
- property bool proportionalFont: Plasmoid.configuration.proportional_font
- property bool enableShadows: Plasmoid.configuration.enable_shadows
- property bool showDate: Plasmoid.configuration.show_date
- property bool showSysMon: Plasmoid.configuration.show_sys_mon
- property bool enableFillAnimation: Plasmoid.configuration.enable_fill_animation
- property bool enable24Hour: Plasmoid.configuration.enable_24_hour
- property bool useSystemColors: Plasmoid.configuration.use_system_colors
- // Font Sizes
- property int globalFontSize: Plasmoid.configuration.global_font_size
- property int monthFontSize: proportionalFont ? globalFontSize * 0.24 : Plasmoid.configuration.month_font_size
- property int dayFontSize: proportionalFont ? globalFontSize * 0.54 : Plasmoid.configuration.day_font_size
- property int yearFontSize: proportionalFont ? globalFontSize * 0.19 : Plasmoid.configuration.year_font_size
- property int timeFontSize: proportionalFont ? globalFontSize * 1.25 : Plasmoid.configuration.time_font_size
- property int timeAPFontSize: proportionalFont ? globalFontSize * 0.24 : Plasmoid.configuration.timeap_font_size
- property int sysMonTextFontSize: proportionalFont ? globalFontSize * 0.19 : Plasmoid.configuration.sys_mon_text_font_size
- property int sysMonUsageFontSize: proportionalFont ? globalFontSize * 0.1 : Plasmoid.configuration.sys_mon_usage_font_size
- property int audioTitleFontSize: proportionalFont ? globalFontSize * 0.1 : Plasmoid.configuration.audio_title_font_size
- property int audioArtistFontSize: proportionalFont ? globalFontSize * 0.07 : Plasmoid.configuration.audio_artist_font_size
- property int nowPlayingFontSize: proportionalFont ? globalFontSize * 0.08: Plasmoid.configuration.now_playing_font_size
- property int audioImageWidth: proportionalFont ? globalFontSize * 0.25 : Plasmoid.configuration.audio_image_width
-
- // subtracting some amount of spacing because this font has really big line height
- property int sysMonSpacing: -40 + Plasmoid.configuration.sys_mon_spacing
- property int audioSpacing: -20 + Plasmoid.configuration.audio_spacing
- property int dateSpacing: -15 + Plasmoid.configuration.date_spacing
-
- // Other
- property int sysMonInterval: Plasmoid.configuration.sys_mon_interval
-
- // Colors
- property string textBackgroundColor: useSystemColors ? PlasmaCore.Theme.backgroundColor : Plasmoid.configuration.text_background_color
- property string colorOne: useSystemColors ? PlasmaCore.Theme.negativeTextColor : Plasmoid.configuration.color_one
- property string colorTwo: useSystemColors ? PlasmaCore.Theme.positiveTextColor : Plasmoid.configuration.color_two
- property string colorThree: useSystemColors ? PlasmaCore.Theme.neutralTextColor : Plasmoid.configuration.color_three
-
- // Plasmoid
- Plasmoid.fullRepresentation: Item {
- id: widget
- Plasmoid.backgroundHints: (enableShadows ? PlasmaCore.Types.ShadowBackground : PlasmaCore.Types.NoBackground) | PlasmaCore.Types.ConfigurableBackground
- Layout.minimumWidth: wrapper.implicitWidth + 50
- Layout.minimumHeight: wrapper.implicitHeight + 50
-
-
- // Time Data Source
- PlasmaCore.DataSource {
- id: timeSource
- engine: "time"
- connectedSources: ["Local"]
- interval: 1000
- signal fillDataChanged
- property bool use24Hour: root.enable24Hour
-
- onDataChanged: {
- var curDate = timeSource.data["Local"]["DateTime"]
-
- var DAY = parseInt(Qt.formatDate(curDate, "dd"))
- var HOUR = parseInt(Qt.formatTime(curDate, "hh"))
- var HOURAP = HOUR > 12 || HOUR == 0 ? Math.abs(HOUR - 12) : HOUR
- var MIN = parseInt(Qt.formatTime(curDate, "mm"))
- month.text = Qt.formatDate(curDate, "MMM")
- year.text = Qt.formatDate(curDate, "yyyy")
- timeAP.text = use24Hour ? ":" : Qt.formatTime(curDate, "AP")
-
- if (enable24Hour) {
- hours.text = HOUR
- } else {
- hours.text = HOURAP < 10 ? "0" + HOURAP.toString(): HOURAP
- }
- day.text = DAY < 10 ? "0" + DAY.toString() : DAY
- minutes.text = MIN < 10 ? "0" + MIN.toString() : MIN
-
- if (enableFillAnimation) fillDataChanged()
- }
- onUse24HourChanged: {
- dataChanged()
- }
- onFillDataChanged: {
- var curDate = timeSource.data["Local"]["DateTime"]
- // updating minute fill value each second
- minutes.currentVal = parseInt(Qt.formatTime(curDate, "ss"))
- hours.currentVal = parseInt(minutes.text)
- day.currentVal = parseInt(Qt.formatTime(curDate,"hh"))+1
- month.to = daysInMonth(parseInt(Qt.formatDate(curDate, "MM")), parseInt(year.text))
- month.currentVal = parseInt(day.text)
- year.currentVal = parseInt(Qt.formatDate(curDate, "MM"))
- if(!use24Hour) {
- timeAP.currentVal = timeAP.text == "AM" ? 1 : 2
- }
- }
-
- }
-
- // Return days in a month to get fill data for the current month
- function daysInMonth (month, year) {
- return new Date(year, month, 0).getDate();
- }
-
- // System Monitor Data Source
- PlasmaCore.DataSource {
- id: sysMonSource
- engine: "systemmonitor"
- connectedSources: ["mem/physical/available", "cpu/system/TotalLoad", "system/uptime"]
- interval: sysMonInterval
- onDataChanged: {
- cpuUsage.usage = Math.round(data["cpu/system/TotalLoad"]["value"])
- var ramUsageData = data["mem/physical/available"]
- ramUsage.usage = Math.round(((ramUsageData["max"]-ramUsageData["value"])/ramUsageData["max"])*100)
-
- // uptime
- var up = parseInt((data["system/uptime"]["value"]))
- if (up < 60) {
- uptime.unit = "s"
- uptime.from = 0
- uptime.to = 60
- } else if (up < 3600) {
- uptime.unit = "m"
- uptime.from = 0
- uptime.to = 60
- up = up/60
- } else if (up < 86400) {
- uptime.unit = "h"
- uptime.from = 0
- uptime.to = 24
- up = up/3600
- } else {
- uptime.unit = "d"
- uptime.from = 0
- uptime.to = 365
- up = up/86400
- }
- uptime.usage = parseInt(up)
- }
- }
-
- // Music Data Source
- PlasmaCore.DataSource {
- id: musicSource
- engine: "mpris2"
- property bool showAudio: Plasmoid.configuration.show_audio
-
- onDataChanged: {
- connectedSources = ["@multiplex"]
- var audioData = data["@multiplex"]
-
-
- // show if and only if the audio source exists, the metadata exists, showAudio is enabled and the audio is currently playing
- if (audioData && showAudio && audioData["PlaybackStatus"] === "Playing") {
- sectionAudio.visible = true
-
- var audioMetadata = audioData["Metadata"]
- var title = audioMetadata["xesam:title"]
- var artist = audioMetadata["xesam:artist"]
- var thumb = audioMetadata["mpris:artUrl"]
-
- audioTitle.text = title ? title : ""
- audioThumb.source = thumb ? thumb : ""
-
- try {
- audioArtist.text = artist.join(", ")
- } catch(err) {
- audioArtist.text = artist
- }
- } else {
- sectionAudio.visible = false
- }
- }
- onSourcesChanged: {
- dataChanged()
- }
- onSourceRemoved: {
- dataChanged()
- }
- onShowAudioChanged: {
- dataChanged()
- }
- Component.onCompleted: {
- dataChanged()
- }
- }
-
-
- // Layout
- ColumnLayout {
- id: wrapper
- anchors.centerIn: parent
- RowLayout {
- id: sectionAudio
- Layout.fillWidth: true
- Layout.bottomMargin: audioSpacing
- ColumnLayout {
- id: nowPlaying
- property var fontSize: nowPlayingFontSize;
- FontLabel {
- fill: false
- color: colorOne
- text: "Now"
- Layout.alignment: Qt.AlignRight
- font.pixelSize: nowPlaying.fontSize
- }
- FontLabel {
- fill: false
- color: colorOne
- text: "Playing"
- Layout.alignment: Qt.AlignRight
- font.pixelSize: nowPlaying.fontSize
- }
- }
- Image {
- id: audioThumb
- fillMode: Image.PreserveAspectCrop
- Layout.maximumHeight: audioImageWidth
- Layout.maximumWidth: audioImageWidth
- }
- ColumnLayout {
- FontLabel {
- id: audioTitle
- color: colorTwo
- fill: false
- font.pixelSize: audioTitleFontSize
- elide: Text.ElideRight
- labelWidth: sectionTime.width
- Layout.alignment: Qt.AlignLeft
- }
- FontLabel {
- id: audioArtist
- color: colorThree
- fill: false
- font.pixelSize: audioArtistFontSize
- elide: Text.ElideRight
- labelWidth: sectionTime.width
- Layout.alignment: Qt.AlignLeft
- }
- }
- }
- RowLayout {
- id: sectionDateTime
- Layout.fillWidth: true
- Layout.fillHeight: true
- ColumnLayout {
- id: sectionDate
- Layout.alignment: Qt.AlignHCenter
- Layout.fillWidth: true
- spacing: dateSpacing
- visible: showDate
- FontLabel {
- id: month
- font.pixelSize: monthFontSize
- color: colorOne
- from: 0
- }
- FontLabel {
- id: day
- font.pixelSize: dayFontSize
- color: colorTwo
- from: 0
- to: 24
- }
- FontLabel {
- id: year
- font.pixelSize: yearFontSize
- color: colorThree
- from: 1
- to: 12
- }
- }
- RowLayout {
- id: sectionTime
- Layout.alignment: Qt.AlignHCenter
- Layout.fillWidth: true
- FontLabel {
- id: hours
- font.pixelSize: timeFontSize
- color: colorOne
- from: 0
- to: 60
- }
- FontLabel {
- id: timeAP
- font.pixelSize: timeAPFontSize
- color: colorThree
- from: 1
- to: 2
- }
- FontLabel {
- id: minutes
- font.pixelSize: timeFontSize
- color: colorTwo
- from: 0
- to: 60
- }
- }
- }
- RowLayout {
- id: sectionSysMon
- Layout.fillWidth: true
- Layout.topMargin: sysMonSpacing
- Layout.alignment: Qt.AlignRight
- visible: showSysMon
-
- SysMonLabel {
- id: cpuUsage
- text: "CPU"
- color: colorOne
- from: 0
- to: 100
- unit: "%"
- }
- SysMonLabel {
- id: ramUsage
- text: "RAM"
- color: colorTwo
- from: 0
- to: 100
- unit: "%"
- }
- SysMonLabel {
- id: uptime
- text: "UPTIME"
- color: colorThree
- }
- }
-
- }
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.aestheticclock/metadata.json b/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.aestheticclock/metadata.json
deleted file mode 100644
index 631f8a8..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.aestheticclock/metadata.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "KPlugin": {
- "Authors": [
- {
- "Email": "prayagjain2@gmail.com",
- "Name": "Prayag Jain"
- }
- ],
- "Category": "Date and Time",
- "Description": "An aesthetic looking and customizable widget with a built-in system monitor and media player!",
- "Icon": "org.kde.plasma.digitalclock",
- "Id": "com.github.prayag2.aestheticclock",
- "License": "GPLv3",
- "Name": "Aesthetic Clock",
- "ServiceTypes": ["Plasma/Applet"],
- "Version": "0.2.2",
- "Website": "https://github.com/prayag2/kde_aestheticclock"
- },
- "X-Plasma-API": "declarativeappletscript",
- "X-Plasma-MainScript": "ui/main.qml",
- "X-Plasma-Provides": "org.kde.plasma.time,org.kde.plasma.date"
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.modernclock/contents/config/config.qml b/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.modernclock/contents/config/config.qml
deleted file mode 100644
index badbe48..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.modernclock/contents/config/config.qml
+++ /dev/null
@@ -1,9 +0,0 @@
-import org.kde.plasma.configuration 2.0
-
-ConfigModel {
- ConfigCategory {
- name: i18n("Appearance")
- icon: "preferences-desktop-color"
- source: "configAppearance.qml"
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.modernclock/contents/config/main.xml b/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.modernclock/contents/config/main.xml
deleted file mode 100644
index af9d50e..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.modernclock/contents/config/main.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-
-
-
-
-
-
- 72
-
-
- 17
-
-
- true
-
-
- 19
-
-
- 3
-
-
- dd MMM yyyy
-
-
- true
-
-
- 19
-
-
- 3
-
-
- #FFFFFF
-
-
- true
-
-
- #FFFFFF
-
-
- #FFFFFF
-
-
- false
-
-
- -
-
-
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.modernclock/contents/fonts/Anurati.otf b/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.modernclock/contents/fonts/Anurati.otf
deleted file mode 100644
index ad37593..0000000
Binary files a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.modernclock/contents/fonts/Anurati.otf and /dev/null differ
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.modernclock/contents/fonts/Poppins.ttf b/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.modernclock/contents/fonts/Poppins.ttf
deleted file mode 100644
index 9f0c71b..0000000
Binary files a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.modernclock/contents/fonts/Poppins.ttf and /dev/null differ
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.modernclock/contents/ui/ColorDial.qml b/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.modernclock/contents/ui/ColorDial.qml
deleted file mode 100644
index 606115a..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.modernclock/contents/ui/ColorDial.qml
+++ /dev/null
@@ -1,35 +0,0 @@
-import QtQuick 2.0
-import QtQuick.Controls 2.0
-import QtQuick.Layouts 1.15
-import QtQuick.Dialogs 1.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-
-RowLayout {
- id: root
- property var color;
-
- Label {
- text: i18n("Font Color")
- }
- Rectangle {
- id: colorbutton
- height: PlasmaCore.Units.gridUnit * 1.3; width: height
- border.width: 1
- color: root.color
- border.color: "gray"
- MouseArea {
- anchors.fill: parent
- onClicked: {
- colordialog.visible=true
- }
- }
- }
- ColorDialog {
- id: colordialog
- title: i18n("Select a color")
- onAccepted: {
- root.color=color
- }
- }
-}
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.modernclock/contents/ui/ColorDialog.qml b/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.modernclock/contents/ui/ColorDialog.qml
deleted file mode 100644
index 7bc5012..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.modernclock/contents/ui/ColorDialog.qml
+++ /dev/null
@@ -1,25 +0,0 @@
-RowLayout {
- Label {
- text: i18n("Font Color")
- }
- Rectangle {
- id: colorbutton
- height: PlasmaCore.Units.gridUnit * 1.3; width: height
- border.width: 1
- border.color: "gray"
- color: cfg_font_color
- MouseArea {
- anchors.fill: parent
- onClicked: {
- colordialog.visible=true
- }
- }
- }
- }
- ColorDialog {
- id: colordialog
- title: i18n("Select a color")
- onAccepted: {
- cfg_font_color=color
- }
- }
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.modernclock/contents/ui/NumberField.qml b/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.modernclock/contents/ui/NumberField.qml
deleted file mode 100644
index 8262ff3..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.modernclock/contents/ui/NumberField.qml
+++ /dev/null
@@ -1,19 +0,0 @@
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.Controls 2.0
-
-RowLayout {
- id: numberField
- property alias label: numberField_label.text;
- property alias value: numberField_spinbox.value
-
- Label {
- id: numberField_label
- }
- SpinBox {
- id: numberField_spinbox
- from: 1
- to: 999
- }
-}
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.modernclock/contents/ui/Title.qml b/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.modernclock/contents/ui/Title.qml
deleted file mode 100644
index b01f776..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.modernclock/contents/ui/Title.qml
+++ /dev/null
@@ -1,16 +0,0 @@
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.Controls 2.0
-import org.kde.plasma.extras 2.0 as PlasmaExtras
-
-ColumnLayout {
- id: mainGroup
- property alias title: groupLabel.text
-
- Item {
- height: 10
- }
- PlasmaExtras.Heading {
- id: groupLabel
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.modernclock/contents/ui/configAppearance.qml b/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.modernclock/contents/ui/configAppearance.qml
deleted file mode 100644
index 9d6e535..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.modernclock/contents/ui/configAppearance.qml
+++ /dev/null
@@ -1,128 +0,0 @@
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.Controls 2.0
-import QtQuick.Dialogs 1.0
-
-import org.kde.plasma.core 2.0 as PlasmaCore
-
-Column {
- id: appearancePage
-
- // properties
- property alias cfg_show_day: showDay.checked
- property alias cfg_show_date: showDate.checked
- property alias cfg_show_time: showTime.checked
- property alias cfg_day_font_size: dayFontSize.value
- property alias cfg_date_font_size: dateFontSize.value
- property alias cfg_time_font_size: timeFontSize.value
- property alias cfg_day_letter_spacing: dayLetterSpacing.value
- property alias cfg_day_font_color: dayFontColor.color
- property alias cfg_date_letter_spacing: dateLetterSpacing.value
- property alias cfg_time_letter_spacing: timeLetterSpacing.value
- property alias cfg_time_font_color: timeFontColor.color
- property alias cfg_use_24_hour_format: use24HourFormat.checked
- property alias cfg_time_character: timeCharacter.text
- property alias cfg_date_format: dateFormat.text
- property alias cfg_date_font_color: dateFontColor.color
-
- // size
- spacing: 5
-
- Title {
- title: i18n("Day")
- }
- RowLayout {
- Label {
- text: i18n("Show Day")
- }
- CheckBox {
- id: showDay
- }
- }
- NumberField {
- id: dayFontSize
- label: i18n("Font Size")
- }
- NumberField {
- id: dayLetterSpacing
- label: i18n("Letter Spacing")
- }
- ColorDial {
- id: dayFontColor
- color: cfg_day_font_color
- }
- Title {
- title: i18n("Date")
- }
- RowLayout {
- Label {
- text: i18n("Show Date")
- }
- CheckBox {
- id: showDate
- }
- }
- NumberField {
- id: dateFontSize
- label: i18n("Font Size")
- }
- NumberField {
- id: dateLetterSpacing
- label: i18n("Letter Spacing")
- }
- RowLayout {
- Label {
- text: i18n("Date format")
- }
- TextField {
- id: dateFormat
- }
- }
- ColorDial {
- id: dateFontColor
- color: cfg_date_font_color
- }
-
-
- Title {
- title: i18n("Time")
- }
- RowLayout {
- Label {
- text: i18n("Show Time")
- }
- CheckBox {
- id: showTime
- }
- }
- NumberField {
- id: timeFontSize
- label: i18n("Font Size")
- }
- NumberField {
- id: timeLetterSpacing
- label: i18n("Letter Spacing")
- }
- RowLayout {
- Label {
- text: i18n("Use 24 hour format")
- }
- CheckBox {
- id: use24HourFormat
- }
- }
- RowLayout {
- Label {
- text: i18n("Style Character")
- }
- TextField {
- id: timeCharacter
- maximumLength: 1
- }
- }
- ColorDial {
- id: timeFontColor
- color: cfg_time_font_color
- }
-
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.modernclock/contents/ui/main.qml b/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.modernclock/contents/ui/main.qml
deleted file mode 100644
index ae7e0d8..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.modernclock/contents/ui/main.qml
+++ /dev/null
@@ -1,123 +0,0 @@
-import QtQml 2.0
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import org.kde.plasma.components 2.0 as PlasmaComponents
-import org.kde.plasma.plasmoid 2.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-
-Item {
- id: root
-
-
- // setting background as transparent with a drop shadow
- Plasmoid.backgroundHints: PlasmaCore.Types.ShadowBackground | PlasmaCore.Types.ConfigurableBackground
-
- // loading fonts
- FontLoader {
- id: font_anurati
- source: "../fonts/Anurati.otf"
- }
- FontLoader {
- id: font_poppins
- source: "../fonts/Poppins.ttf"
- }
-
-
-
-
- // setting preferred size
- Plasmoid.preferredRepresentation: plasmoid.fullRepresentation
- Plasmoid.fullRepresentation: Item {
-
- // applet default size
- Layout.minimumWidth: container.implicitWidth
- Layout.minimumHeight: container.implicitHeight
- Layout.preferredWidth: Layout.minimumWidth
- Layout.preferredHeight: Layout.minimumHeight
-
-
- // Updating time every minute
- PlasmaCore.DataSource {
- id: dataSource
- engine: "time"
- connectedSources: ["Local"]
- intervalAlignment: PlasmaCore.Types.AlignToMinute
- interval: 60000
-
- property bool use24HourFormat: plasmoid.configuration.use_24_hour_format
- property string timeCharacter: plasmoid.configuration.time_character
- property string dateFormat: plasmoid.configuration.date_format
-
- onUse24HourFormatChanged: dataChanged()
- onTimeCharacterChanged: dataChanged()
- onDateFormatChanged: dataChanged()
-
- onDataChanged: {
- var time_format = use24HourFormat ? "hh:mm" : "hh:mm AP"
- var curDate = dataSource.data["Local"]["DateTime"]
- display_day.text = Qt.formatDate(curDate, "dddd").toUpperCase()
- display_date.text = Qt.formatDate(curDate, dateFormat).toUpperCase()
- display_time.text = timeCharacter + " " + Qt.formatTime(curDate, time_format) + " " + timeCharacter
- }
-
-
- }
-
- // Main Content
- Column {
- id: container
-
- // Column settings
- anchors.centerIn: parent
- spacing: 5
-
- // The day ("Tuesday", "Wednesday" etc..)
- PlasmaComponents.Label {
- id: display_day
-
- // visible
- visible: plasmoid.configuration.show_day
-
- // font settings
- font.pixelSize: plasmoid.configuration.day_font_size
- font.letterSpacing: plasmoid.configuration.day_letter_spacing
- font.family: font_anurati.name
- color: plasmoid.configuration.day_font_color
- anchors.horizontalCenter: parent.horizontalCenter
- horizontalAlignment: Text.AlignHCenter
- }
-
- // The Date
- PlasmaComponents.Label {
- id: display_date
-
- // visibility
- visible: plasmoid.configuration.show_date
-
- // font settings
- font.pixelSize: plasmoid.configuration.date_font_size
- font.letterSpacing: plasmoid.configuration.date_letter_spacing
- font.family: font_poppins.name
- color: plasmoid.configuration.date_font_color
- horizontalAlignment: Text.AlignHCenter
- anchors.horizontalCenter: parent.horizontalCenter
- }
-
- // The Time
- PlasmaComponents.Label {
- id: display_time
-
- // visibility
- visible: plasmoid.configuration.show_time
-
- // font settings
- font.pixelSize: plasmoid.configuration.time_font_size
- font.family: font_poppins.name
- color: plasmoid.configuration.time_font_color
- font.letterSpacing: plasmoid.configuration.time_letter_spacing
- horizontalAlignment: Text.AlignHCenter
- anchors.horizontalCenter: parent.horizontalCenter
- }
- }
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.modernclock/metadata.json b/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.modernclock/metadata.json
deleted file mode 100644
index 419387e..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.prayag2.modernclock/metadata.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "KPlugin": {
- "Authors": [
- {
- "Email": "prayagjain2@gmail.com",
- "Name": "Prayag Jain"
- }
- ],
- "Category": "Date and Time",
- "Description": "A modern looking clock widget for your Desktop!",
- "Icon": "clock",
- "Id": "com.github.prayag2.modernclock",
- "License": "GPLv3",
- "Name": "Modern Clock",
- "ServiceTypes": [
- "Plasma/Applet"
- ],
- "Version": "0.2.0",
- "Website": "https://github.com/prayag2/kde_modernclock"
-
- },
- "X-Plasma-API": "declarativeappletscript",
- "X-Plasma-MainScript": "ui/main.qml",
- "X-Plasma-Provides": "org.kde.plasma.time,org.kde.plasma.date"
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/config/config.qml b/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/config/config.qml
deleted file mode 100644
index a303bc5..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/config/config.qml
+++ /dev/null
@@ -1,10 +0,0 @@
-import QtQuick 2.0
-import org.kde.plasma.configuration 2.0
-
-ConfigModel {
- ConfigCategory {
- name: i18n("General")
- icon: "configure"
- source: "config/ConfigGeneral.qml"
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/config/main.xml b/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/config/main.xml
deleted file mode 100644
index c96370e..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/config/main.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-
-
- ExposeAll
-
-
- presentwindows-24px
-
-
-
- 1
-
-
-
-
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/icons/presentwindows-16px.svg b/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/icons/presentwindows-16px.svg
deleted file mode 100644
index 9a9f6db..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/icons/presentwindows-16px.svg
+++ /dev/null
@@ -1,18 +0,0 @@
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/icons/presentwindows-22px.svg b/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/icons/presentwindows-22px.svg
deleted file mode 100644
index b4557a1..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/icons/presentwindows-22px.svg
+++ /dev/null
@@ -1,18 +0,0 @@
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/icons/presentwindows-24px.svg b/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/icons/presentwindows-24px.svg
deleted file mode 100644
index c4a4c2c..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/icons/presentwindows-24px.svg
+++ /dev/null
@@ -1,18 +0,0 @@
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/icons/unity7selectedworkspace.svg b/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/icons/unity7selectedworkspace.svg
deleted file mode 100644
index 18fc31e..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/icons/unity7selectedworkspace.svg
+++ /dev/null
@@ -1,147 +0,0 @@
-
-
-
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/locale/nl_NL/LC_MESSAGES/plasma_applet_com.github.zren.presentwindows.mo b/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/locale/nl_NL/LC_MESSAGES/plasma_applet_com.github.zren.presentwindows.mo
deleted file mode 100644
index 42f883d..0000000
Binary files a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/locale/nl_NL/LC_MESSAGES/plasma_applet_com.github.zren.presentwindows.mo and /dev/null differ
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/ui/Main.qml b/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/ui/Main.qml
deleted file mode 100644
index 1a40499..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/ui/Main.qml
+++ /dev/null
@@ -1,129 +0,0 @@
-import QtQuick 2.0
-import QtQuick.Layouts 1.1
-import org.kde.plasma.plasmoid 2.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-
-import "lib"
-
-Item {
- id: widget
-
- UnityThemeDetector {
- id: unityThemeDetector
- }
-
- property bool disableLatteParabolicIcon: true // Don't hide the representation in Latte (https://github.com/psifidotos/Latte-Dock/issues/983)
-
- Plasmoid.onActivated: widget.activate()
-
- Plasmoid.preferredRepresentation: Plasmoid.fullRepresentation
- Plasmoid.fullRepresentation: Item {
- id: panelItem
-
- readonly property bool inPanel: (plasmoid.location == PlasmaCore.Types.TopEdge
- || plasmoid.location == PlasmaCore.Types.RightEdge
- || plasmoid.location == PlasmaCore.Types.BottomEdge
- || plasmoid.location == PlasmaCore.Types.LeftEdge)
-
- Layout.minimumWidth: {
- switch (plasmoid.formFactor) {
- case PlasmaCore.Types.Vertical:
- return 0;
- case PlasmaCore.Types.Horizontal:
- return height;
- default:
- return units.gridUnit * 3;
- }
- }
-
- Layout.minimumHeight: {
- switch (plasmoid.formFactor) {
- case PlasmaCore.Types.Vertical:
- return width;
- case PlasmaCore.Types.Horizontal:
- return 0;
- default:
- return units.gridUnit * 3;
- }
- }
-
- Layout.maximumWidth: inPanel ? units.iconSizeHints.panel : -1
- Layout.maximumHeight: inPanel ? units.iconSizeHints.panel : -1
-
- AppletIcon {
- id: icon
- anchors.fill: parent
- visible: !unityThemeDetector.useUnityTheme
-
- source: plasmoid.configuration.icon
- active: mouseArea.containsMouse
- }
- Loader {
- anchors.fill: parent
- active: unityThemeDetector.useUnityTheme
- visible: active
- source: "Unity7Workspaces.qml"
- }
-
- MouseArea {
- id: mouseArea
- anchors.fill: parent
- hoverEnabled: true
- onClicked: widget.activate()
- }
- }
-
- PlasmaCore.DataSource {
- id: executable
- engine: "executable"
- connectedSources: []
- onNewData: disconnectSource(sourceName)
-
- function exec(cmd) {
- executable.connectSource(cmd)
- }
- }
-
- function action_exposeAll() {
- executable.exec('qdbus org.kde.kglobalaccel /component/kwin invokeShortcut "ExposeAll"')
- }
-
- function action_exposeDesktop() {
- executable.exec('qdbus org.kde.kglobalaccel /component/kwin invokeShortcut "Expose"')
- }
-
- function action_exposeWindowClass() {
- executable.exec('qdbus org.kde.kglobalaccel /component/kwin invokeShortcut "ExposeClass"')
- }
-
- function action_showDesktopGrid() {
- executable.exec('qdbus org.kde.kglobalaccel /component/kwin invokeShortcut "ShowDesktopGrid"')
- }
-
- function action_toggleParachute() {
- executable.exec('qdbus org.kde.kglobalaccel /component/kwin invokeShortcut "Parachute"')
- }
-
- function activate() {
- if (plasmoid.configuration.clickCommand == 'ExposeAll') {
- action_exposeAll()
- } else if (plasmoid.configuration.clickCommand == 'Expose') {
- action_exposeDesktop()
- } else if (plasmoid.configuration.clickCommand == 'ExposeClass') {
- action_exposeWindowClass()
- } else if (plasmoid.configuration.clickCommand == 'ShowDesktopGrid') {
- action_showDesktopGrid()
- } else if (plasmoid.configuration.clickCommand == 'Parachute') {
- action_toggleParachute()
- }
- }
-
- Component.onCompleted: {
- plasmoid.setAction("exposeAll", i18n("Present Windows (All desktops)"), "window");
- plasmoid.setAction("exposeDesktop", i18n("Present Windows (Current desktop)"), "window");
- plasmoid.setAction("exposeWindowClass", i18n("Present Windows (Window class)"), "window");
- plasmoid.setAction("showDesktopGrid", i18n("Show Desktop Grid"), "view-grid");
-
- // plasmoid.action('configure').trigger() // Uncomment to open the config window on load.
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/ui/Unity7Workspaces.qml b/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/ui/Unity7Workspaces.qml
deleted file mode 100644
index 0ff47cc..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/ui/Unity7Workspaces.qml
+++ /dev/null
@@ -1,127 +0,0 @@
-import QtQuick 2.0
-import QtQuick.Layouts 1.1
-import org.kde.plasma.plasmoid 2.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-
-import org.kde.plasma.private.pager 2.0
-
-import "lib"
-
-Item {
- id: panelItem
-
- // Heavy use of the default Pager's code.
- // See: /usr/share/plasma/plasmoid/org.kde.plasma.pager/contents/ui/main.qml
- PagerModel {
- id: pagerModel
-
- enabled: true
- showOnlyCurrentScreen: true //plasmoid.configuration.showOnlyCurrentScreen
- screenGeometry: plasmoid.screenGeometry
- pagerType: PagerModel.VirtualDesktops
- }
-
- PlasmaCore.FrameSvgItem {
- id: taskFrame
- anchors.fill: parent
- imagePath: "widgets/tasks"
- prefix: "normal"
- }
-
- Grid {
- id: pagerItemGrid
- anchors.fill: parent
-
- anchors.leftMargin: taskFrame.margins.left
- anchors.rightMargin: taskFrame.margins.right
- anchors.topMargin: taskFrame.margins.top
- anchors.bottomMargin: taskFrame.margins.bottom
-
- // spacing: units.devicePixelRatio
- rows: effectiveRows
- columns: effectiveColumns
-
- readonly property int effectiveRows: {
- var rows = 1
- var columns = Math.floor(pagerModel.count / pagerModel.layoutRows)
-
- if (pagerModel.count % pagerModel.layoutRows > 0) {
- columns += 1
- }
-
- rows = Math.floor(pagerModel.count / columns)
-
- if (pagerModel.count % columns > 0) {
- rows += 1
- }
-
- return rows
- }
-
- readonly property int effectiveColumns: {
- if (!pagerModel.count) {
- return 1
- }
-
- return Math.ceil(pagerModel.count / effectiveRows)
- }
-
-
- readonly property real pagerItemSizeRatio: pagerModel.pagerItemSize.width / pagerModel.pagerItemSize.height
- // readonly property real widthScaleFactor: columnWidth / pagerModel.pagerItemSize.width
- // readonly property real heightScaleFactor: rowHeight / pagerModel.pagerItemSize.height
-
- property int rowHeight: Math.floor(height / effectiveRows)
- property int columnWidth: Math.floor(width / effectiveColumns)
-
- property color seperatorColor: "#44FFFFFF"
- property color activeDesktopFillColor: "#44442027"
-
- Repeater {
- id: repeater
- model: pagerModel
-
- Item {
- id: desktop
- property int desktopIndex: index
- property int desktopColumn: index % pagerItemGrid.columns
- property int desktopRow: Math.floor(index / pagerItemGrid.columns)
- property bool isActiveDesktop: (index == pagerModel.currentPage)
-
- width: pagerItemGrid.columnWidth
- height: pagerItemGrid.rowHeight
-
-
- Rectangle {
- anchors.fill: parent
- color: desktop.isActiveDesktop ? pagerItemGrid.activeDesktopFillColor : "transparent"
- }
-
- Rectangle {
- id: verticalSeperator
- visible: desktop.desktopColumn < pagerItemGrid.columns-1 // Don't show on last column
- anchors.top: parent.top
- anchors.right: parent.right
- anchors.bottom: parent.bottom
- width: Math.round(1 * units.devicePixelRatio)
- color: pagerItemGrid.seperatorColor
- }
- Rectangle {
- id: horizontalSeperator
- visible: desktop.desktopRow < pagerItemGrid.rows-1 // Don't show on last row
- anchors.left: parent.left
- anchors.bottom: parent.bottom
- anchors.right: parent.right
- height: Math.round(1 * units.devicePixelRatio)
- color: pagerItemGrid.seperatorColor
- }
-
- AppletIcon {
- anchors.fill: parent
- source: desktop.isActiveDesktop ? "unity7selectedworkspace" : ""
- }
- }
-
- }
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/ui/UnityThemeDetector.qml b/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/ui/UnityThemeDetector.qml
deleted file mode 100644
index 0c01687..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/ui/UnityThemeDetector.qml
+++ /dev/null
@@ -1,18 +0,0 @@
-import QtQuick 2.0
-
-QtObject {
- readonly property bool shouldUseUnityTheme: {
- return theme.themeName == 'UnityAmbiance'
- }
- readonly property int configState: plasmoid.configuration.useUnityTheme
- readonly property bool useUnityTheme: {
- // console.log('useUnityTheme', configState, shouldUseUnityTheme)
- if (configState == 0) { // checked
- return true
- } else if (configState == 1) { // partically checked
- return shouldUseUnityTheme
- } else { // configState == 2 (not checked)
- return false
- }
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/ui/config/ConfigGeneral.qml b/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/ui/config/ConfigGeneral.qml
deleted file mode 100644
index 92defc5..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/ui/config/ConfigGeneral.qml
+++ /dev/null
@@ -1,123 +0,0 @@
-import QtQuick 2.0
-import QtQuick.Controls 1.0
-import QtQuick.Layouts 1.0
-
-import ".."
-import "../lib"
-
-ConfigPage {
- id: page
- showAppletVersion: true
-
- property string cfg_clickCommand
-
- DesktopEffectToggle {
- id: presentWindowsToggle
- label: i18n("Present Windows Effect")
- effectId: 'presentwindows'
- Label {
- visible: presentWindowsToggle.loaded && !presentWindowsToggle.effectEnabled
- text: i18n("Button will not work when the Present Windows desktop effect is disabled.")
- }
- }
-
- DesktopEffectToggle {
- id: showDesktopGridToggle
- label: i18n("Show Desktop Grid Effect")
- effectId: 'desktopgrid'
- Label {
- visible: showDesktopGridToggle.loaded && !showDesktopGridToggle.effectEnabled
- text: i18n("Button will not work when the Desktop Grid desktop effect is disabled.")
- }
- }
-
-
- ExclusiveGroup { id: clickCommandGroup }
- ConfigSection {
- label: i18n("Click")
-
- RadioButton {
- text: i18nd("kwin_effects", "Toggle Present Windows (All desktops)")
- checked: cfg_clickCommand == 'ExposeAll'
- exclusiveGroup: clickCommandGroup
- onClicked: cfg_clickCommand = 'ExposeAll'
- }
- RadioButton {
- text: i18nd("kwin_effects", "Toggle Present Windows (Current desktop)")
- checked: cfg_clickCommand == 'Expose'
- exclusiveGroup: clickCommandGroup
- onClicked: cfg_clickCommand = 'Expose'
- }
- RadioButton {
- text: i18nd("kwin_effects", "Toggle Present Windows (Window class)")
- checked: cfg_clickCommand == 'ExposeClass'
- exclusiveGroup: clickCommandGroup
- onClicked: cfg_clickCommand = 'ExposeClass'
- }
- RadioButton {
- text: i18nd("kwin_effects", "Toggle Desktop Grid")
- checked: cfg_clickCommand == 'ShowDesktopGrid'
- exclusiveGroup: clickCommandGroup
- onClicked: cfg_clickCommand = 'ShowDesktopGrid'
- }
-
- //---
- KPackageModel {
- id: kwinScriptModel
- packageType: 'KWin/Script'
- }
- Repeater {
- model: [
- {
- pluginId: 'Parachute',
- url: 'https://store.kde.org/p/1370195/',
- },
- ]
- RowLayout {
- RadioButton {
- text: modelData.pluginId
- enabled: kwinScriptModel.contains(modelData.pluginId)
- exclusiveGroup: clickCommandGroup
- checked: cfg_clickCommand == modelData.pluginId
- onClicked: cfg_clickCommand = modelData.pluginId
- }
- LinkText {
- text: '' + modelData.url + ''
- }
- }
- }
- }
-
-
- ConfigSection {
- label: i18n("Icon")
-
- ConfigIcon {
- configKey: 'icon'
- defaultValue: 'presentwindows-24px'
- presetValues: [
- 'presentwindows-24px',
- 'presentwindows-22px',
- 'presentwindows-16px',
- ]
- }
- }
-
- ConfigSection {
- label: i18n("Unity Pager Theme")
-
- ConfigTriStateCheckBox {
- text: i18n("Use Unity 7 Theme")
- configKey: 'useUnityTheme'
- }
-
- ConfigLabel {
- text: i18n("Should we use a Virtual Desktop indicator similar to Unity 7? This feature is enabled for the Unity Ambiance desktop theme by default.")
- }
-
- Label {
- text: i18n("Current Desktop Theme: %1", theme.themeName)
- }
- }
-
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/ui/lib/AppletIcon.qml b/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/ui/lib/AppletIcon.qml
deleted file mode 100644
index 74ac967..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/ui/lib/AppletIcon.qml
+++ /dev/null
@@ -1,40 +0,0 @@
-// Version: 3
-
-import QtQuick 2.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-
-Item {
- id: appletIcon
- property string source: ''
- property bool active: false
- readonly property bool usingPackageSvg: filename // plasmoid.file() returns "" if file doesn't exist.
- readonly property string filename: source ? plasmoid.file("", "icons/" + source + '.svg') : ""
- readonly property int minSize: Math.min(width, height)
- property bool smooth: true
-
- PlasmaCore.IconItem {
- anchors.fill: parent
- visible: !appletIcon.usingPackageSvg
- source: appletIcon.usingPackageSvg ? '' : appletIcon.source
- active: appletIcon.active
- smooth: appletIcon.smooth
- }
-
- PlasmaCore.SvgItem {
- id: svgItem
- anchors.centerIn: parent
- readonly property real minSize: Math.min(naturalSize.width, naturalSize.height)
- readonly property real widthRatio: naturalSize.width / svgItem.minSize
- readonly property real heightRatio: naturalSize.height / svgItem.minSize
- width: appletIcon.minSize * widthRatio
- height: appletIcon.minSize * heightRatio
-
- smooth: appletIcon.smooth
-
- visible: appletIcon.usingPackageSvg
- svg: PlasmaCore.Svg {
- id: svg
- imagePath: appletIcon.filename
- }
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/ui/lib/AppletVersion.qml b/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/ui/lib/AppletVersion.qml
deleted file mode 100644
index c42f0b1..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/ui/lib/AppletVersion.qml
+++ /dev/null
@@ -1,49 +0,0 @@
-import QtQuick 2.0
-import QtQuick.Controls 1.0
-import QtQuick.Layouts 1.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.plasmoid 2.0
-
-Item {
- implicitWidth: label.implicitWidth
- implicitHeight: label.implicitHeight
-
- property string version: "?"
- property string metadataFilepath: plasmoid.file("", "../metadata.desktop")
-
- PlasmaCore.DataSource {
- id: executable
- engine: "executable"
- connectedSources: []
- onNewData: {
- var exitCode = data["exit code"]
- var exitStatus = data["exit status"]
- var stdout = data["stdout"]
- var stderr = data["stderr"]
- exited(sourceName, exitCode, exitStatus, stdout, stderr)
- disconnectSource(sourceName) // cmd finished
- }
- function exec(cmd) {
- connectSource(cmd)
- }
- signal exited(string command, int exitCode, int exitStatus, string stdout, string stderr)
- }
-
- Connections {
- target: executable
- onExited: {
- version = stdout.replace('\n', ' ').trim()
- }
- }
-
- Label {
- id: label
- text: i18n("Version: %1", version)
- }
-
- Component.onCompleted: {
- var cmd = 'kreadconfig5 --file "' + metadataFilepath + '" --group "Desktop Entry" --key "X-KDE-PluginInfo-Version"'
- executable.exec(cmd)
- }
-
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/ui/lib/ConfigIcon.qml b/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/ui/lib/ConfigIcon.qml
deleted file mode 100644
index 7e373a9..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/ui/lib/ConfigIcon.qml
+++ /dev/null
@@ -1,187 +0,0 @@
-// Version 3
-// Forked to use AppletIcon
-
-import QtQuick 2.0
-import QtQuick.Controls 1.0
-import QtQuick.Layouts 1.0
-import QtQuick.Dialogs 1.2
-
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.components 2.0 as PlasmaComponents
-import org.kde.kquickcontrolsaddons 2.0 as KQuickAddons
-
-import ".."
-
-RowLayout {
- id: configIcon
-
- default property alias _contentChildren: content.data
-
- property string configKey: ''
- property alias value: textField.text
- readonly property string configValue: configKey ? plasmoid.configuration[configKey] : ""
- onConfigValueChanged: {
- if (!textField.focus && value != configValue) {
- value = configValue
- }
- }
- property int previewIconSize: units.iconSizes.medium
- property string defaultValue: "start-here-kde"
- property var presetValues: []
-
- onPresetValuesChanged: iconMenu.refresh()
-
- // Used for binding in presetValue menu loop
- function setValue(val) {
- configIcon.value = val
- }
-
- // org.kde.plasma.kickoff
- Button {
- id: iconButton
- Layout.minimumWidth: previewFrame.width + units.smallSpacing * 2
- Layout.maximumWidth: Layout.minimumWidth
- Layout.minimumHeight: previewFrame.height + units.smallSpacing * 2
- Layout.maximumHeight: Layout.minimumWidth
-
-
-
- // just to provide some visual feedback, cannot have checked without checkable enabled
- checkable: true
- onClicked: {
- checked = Qt.binding(function() { // never actually allow it being checked
- return iconMenu.status === PlasmaComponents.DialogStatus.Open
- })
-
- iconMenu.open(0, height)
- }
-
- PlasmaCore.FrameSvgItem {
- id: previewFrame
- anchors.centerIn: parent
- imagePath: plasmoid.location === PlasmaCore.Types.Vertical || plasmoid.location === PlasmaCore.Types.Horizontal
- ? "widgets/panel-background" : "widgets/background"
- width: previewIconSize + fixedMargins.left + fixedMargins.right
- height: previewIconSize + fixedMargins.top + fixedMargins.bottom
-
- AppletIcon {
- anchors.centerIn: parent
- width: previewIconSize
- height: previewIconSize
- source: configIcon.value
- }
- }
-
- // QQC Menu can only be opened at cursor position, not a random one
- PlasmaComponents.ContextMenu {
- id: iconMenu
- visualParent: iconButton
-
- function newMenuItem(parent) {
- return Qt.createQmlObject(
- "import org.kde.plasma.components 2.0 as PlasmaComponents;" +
- "PlasmaComponents.MenuItem {}",
- parent);
- }
-
- function newSeparator(parent) {
- return Qt.createQmlObject(
- "import org.kde.plasma.components 2.0 as PlasmaComponents;" +
- "PlasmaComponents.MenuItem { separator: true }",
- parent);
- }
-
- function refresh() {
- clearMenuItems()
-
- // Choose...
- var menuItem = newMenuItem(iconMenu)
- menuItem.text = i18ndc("plasma_applet_org.kde.plasma.kickoff", "@item:inmenu Open icon chooser dialog", "Choose...")
- menuItem.icon = "document-open"
- menuItem.clicked.connect(function(){
- iconDialog.open()
- })
- iconMenu.addMenuItem(menuItem)
-
- // Clear
- var menuItem = newMenuItem(iconMenu)
- menuItem.text = i18ndc("plasma_applet_org.kde.plasma.kickoff", "@item:inmenu Reset icon to default", "Clear Icon")
- menuItem.icon = "edit-clear"
- menuItem.clicked.connect(function(){
- configIcon.value = defaultValue
- })
- iconMenu.addMenuItem(menuItem)
-
- // Preset Values
- if (configIcon.presetValues.length > 0) {
- menuItem = newSeparator(iconMenu)
- iconMenu.addMenuItem(menuItem)
-
- for (var i = 0; i < configIcon.presetValues.length; i++) {
- var presetValue = configIcon.presetValues[i]
- menuItem = newMenuItem(iconMenu)
- menuItem.text = presetValue
- menuItem.icon = presetValue
- menuItem.clicked.connect(configIcon.setValue.bind(this, presetValue))
- iconMenu.addMenuItem(menuItem)
- }
- }
- }
-
- Component.onCompleted: {
- refresh()
- }
- }
- }
-
- ColumnLayout {
- id: content
- Layout.fillWidth: true
-
- RowLayout {
- TextField {
- id: textField
- Layout.fillWidth: true
-
- text: configIcon.configValue
- onTextChanged: serializeTimer.restart()
-
- ToolButton {
- iconName: "edit-clear"
- onClicked: configIcon.value = defaultValue
-
- anchors.top: parent.top
- anchors.right: parent.right
- anchors.bottom: parent.bottom
-
- width: height
- }
- }
-
- Button {
- iconName: "document-open"
- onClicked: iconDialog.open()
- }
- }
-
- // Workaround for crash when using default on a Layout.
- // https://bugreports.qt.io/browse/QTBUG-52490
- // Still affecting Qt 5.7.0
- Component.onDestruction: {
- while (children.length > 0) {
- children[children.length - 1].parent = configIcon;
- }
- }
- }
-
- KQuickAddons.IconDialog {
- id: iconDialog
- onIconNameChanged: configIcon.value = iconName
- }
-
- Timer { // throttle
- id: serializeTimer
- interval: 300
- onTriggered: plasmoid.configuration[configKey] = configIcon.value
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/ui/lib/ConfigLabel.qml b/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/ui/lib/ConfigLabel.qml
deleted file mode 100644
index 48b9502..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/ui/lib/ConfigLabel.qml
+++ /dev/null
@@ -1,17 +0,0 @@
-import QtQuick 2.0
-import QtQuick.Controls 1.0
-import QtQuick.Layouts 1.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-
-Label {
- Layout.fillWidth: true
- wrapMode: Text.Wrap
- linkColor: PlasmaCore.ColorScope.highlightColor
- onLinkActivated: Qt.openUrlExternally(link)
-
- MouseArea {
- anchors.fill: parent
- acceptedButtons: Qt.NoButton // we don't want to eat clicks on the Text
- cursorShape: parent.hoveredLink ? Qt.PointingHandCursor : Qt.ArrowCursor
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/ui/lib/ConfigPage.qml b/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/ui/lib/ConfigPage.qml
deleted file mode 100644
index 5bff015..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/ui/lib/ConfigPage.qml
+++ /dev/null
@@ -1,37 +0,0 @@
-// Version 3
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-
-Item {
- id: page
- Layout.fillWidth: true
- default property alias _contentChildren: content.data
- implicitHeight: content.implicitHeight
-
- ColumnLayout {
- id: content
- anchors.left: parent.left
- anchors.right: parent.right
- anchors.top: parent.top
-
- // Workaround for crash when using default on a Layout.
- // https://bugreports.qt.io/browse/QTBUG-52490
- // Still affecting Qt 5.7.0
- Component.onDestruction: {
- while (children.length > 0) {
- children[children.length - 1].parent = page;
- }
- }
- }
-
- property alias showAppletVersion: appletVersionLoader.active
- Loader {
- id: appletVersionLoader
- active: false
- visible: active
- source: "AppletVersion.qml"
- anchors.right: parent.right
- anchors.bottom: parent.top
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/ui/lib/ConfigSection.qml b/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/ui/lib/ConfigSection.qml
deleted file mode 100644
index ecdd5bb..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/ui/lib/ConfigSection.qml
+++ /dev/null
@@ -1,52 +0,0 @@
-import QtQuick 2.0
-import QtQuick.Controls 1.0
-import QtQuick.Layouts 1.0
-
-// Alternative to GroupBox for when we want the title to always be left aligned.
-Rectangle {
- id: control
- Layout.fillWidth: true
- default property alias _contentChildren: content.data
- property string label: ""
-
- color: "#0c000000"
- border.width: 2
- border.color: "#10000000"
- // radius: 5
- property int padding: 8
- implicitHeight: childrenRect.height + padding + padding
- property alias spacing: content.spacing
-
- Label {
- id: title
- visible: control.label
- text: control.label
- font.bold: true
- font.pointSize: 13
- anchors.leftMargin: padding
- // anchors.topMargin: padding
- anchors.left: parent.left
- anchors.top: parent.top
- anchors.right: parent.right
- height: visible ? implicitHeight : padding
- }
-
- ColumnLayout {
- id: content
- anchors.top: title.bottom
- anchors.left: parent.left
- anchors.right: parent.right
- anchors.margins: padding
- // spacing: 0
- // height: childrenRect.height
-
- // Workaround for crash when using default on a Layout.
- // https://bugreports.qt.io/browse/QTBUG-52490
- // Still affecting Qt 5.7.0
- Component.onDestruction: {
- while (children.length > 0) {
- children[children.length - 1].parent = control;
- }
- }
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/ui/lib/ConfigTriStateCheckBox.qml b/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/ui/lib/ConfigTriStateCheckBox.qml
deleted file mode 100644
index ad57d92..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/ui/lib/ConfigTriStateCheckBox.qml
+++ /dev/null
@@ -1,17 +0,0 @@
-import QtQuick 2.0
-import QtQuick.Controls 1.0
-import QtQuick.Layouts 1.0
-
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.components 2.0 as PlasmaComponents
-
-import ".."
-
-CheckBox {
- id: configTriStateCheckBox
-
- property string configKey: ''
- partiallyCheckedEnabled: true
- checkedState: plasmoid.configuration[configKey]
- onClicked: plasmoid.configuration[configKey] = (plasmoid.configuration[configKey] + 1) % 3
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/ui/lib/DesktopEffectToggle.qml b/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/ui/lib/DesktopEffectToggle.qml
deleted file mode 100644
index 9a17ea6..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/ui/lib/DesktopEffectToggle.qml
+++ /dev/null
@@ -1,71 +0,0 @@
-import QtQuick 2.0
-import QtQuick.Controls 1.0
-import QtQuick.Layouts 1.0
-
-ConfigSection {
- label: "Desktop Effect Toggle"
- property string effectId
- property bool loaded: false
- property bool effectEnabled: true
-
- ExecUtil {
- id: executable
- property string readStateCommand: 'qdbus org.kde.KWin /Effects isEffectLoaded ' + effectId
- property string toggleStateCommand: 'qdbus org.kde.KWin /Effects toggleEffect ' + effectId
-
- // For some reason, the toggleEffect qdbus function does not save to kwinrc.
- // So we need to manually write the new state to it, so that the next time
- // kwin is launched (next reboot), the desktop effect is still enabled/disabled.
- property string saveStateCommand: 'kwriteconfig5 --file ~/.config/kwinrc --group Plugins --key ' + effectId + 'Enabled' // saveStateCommand + ' ' + value
- property bool saveOnRead: false
-
- function readState() {
- executable.exec(readStateCommand)
- }
- function toggleState() {
- executable.exec(toggleStateCommand)
- }
- function saveState() {
- var isCurrentlyEnabled = toggleButton.checked
- executable.exec(saveStateCommand + ' ' + (isCurrentlyEnabled ? 'true' : 'false'))
- }
- Component.onCompleted: {
- readState()
- }
-
- onExited: {
- if (command == readStateCommand) {
- var value = executable.trimOutput(stdout)
- value = value === 'true' // cast to boolean
- effectEnabled = value
- toggleButton.checked = value
- loaded = true
- if (saveOnRead) {
- saveOnRead = false
- saveState()
- }
- } else if (command == toggleStateCommand) {
- saveOnRead = true
- readState()
- } else if (startsWith(command, saveStateCommand)) {
-
- }
- }
-
- function startsWith(a, b) {
- if (b.length <= a.length) {
- return a.substr(0, b.length) == b
- } else {
- return false
- }
- }
- }
-
- CheckBox {
- id: toggleButton
- text: i18n("Enabled")
- onClicked: {
- executable.toggleState()
- }
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/ui/lib/ExecUtil.qml b/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/ui/lib/ExecUtil.qml
deleted file mode 100644
index f0f60ff..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/ui/lib/ExecUtil.qml
+++ /dev/null
@@ -1,24 +0,0 @@
-import QtQuick 2.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-
-PlasmaCore.DataSource {
- id: executable
- engine: "executable"
- connectedSources: []
- onNewData: {
- var exitCode = data["exit code"]
- var exitStatus = data["exit status"]
- var stdout = data["stdout"]
- var stderr = data["stderr"]
- exited(sourceName, exitCode, exitStatus, stdout, stderr)
- disconnectSource(sourceName) // cmd finished
- }
- function exec(cmd) {
- connectSource(cmd)
- }
- signal exited(string command, int exitCode, int exitStatus, string stdout, string stderr)
-
- function trimOutput(stdout) {
- return stdout.replace('\n', ' ').trim()
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/ui/lib/KPackageModel.qml b/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/ui/lib/KPackageModel.qml
deleted file mode 100644
index 2d02ad9..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/ui/lib/KPackageModel.qml
+++ /dev/null
@@ -1,64 +0,0 @@
-// Version 1
-
-import QtQuick 2.0
-
-ListModel {
- property string packageType
- property bool loaded: false
-
- readonly property var executable: ExecUtil {
- id: executable
- property string readStateCommand: '( kpackagetool5 --type="' + packageType + '" --list ; kpackagetool5 --g --type="' + packageType + '" --list ) | cat'
-
- function readState() {
- executable.exec(readStateCommand)
- }
- Component.onCompleted: {
- readState()
- }
-
- function parsePackageList(stdout) {
- clear()
- var lines = stdout.split('\n')
- for (var i = 0; i < lines.length; i++) {
- var line = lines[i]
- if (line.indexOf(packageType) >= 0) {
- // Treat line as:
- // Listing service types: KWin/Script in /usr/share/kwin/scripts/
- continue
- }
- var pluginId = line.trim()
- if (pluginId) {
- append({
- pluginId: pluginId,
- })
- }
- }
- }
-
- onExited: {
- if (command == readStateCommand) {
- parsePackageList(stdout)
- loaded = true
- }
- }
-
- function startsWith(a, b) {
- if (b.length <= a.length) {
- return a.substr(0, b.length) == b
- } else {
- return false
- }
- }
- }
-
- function contains(pluginId) {
- for (var i = 0; i < count; i++) {
- var item = get(i)
- if (item.pluginId == pluginId) {
- return true
- }
- }
- return false
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/ui/lib/LinkText.qml b/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/ui/lib/LinkText.qml
deleted file mode 100644
index 31d2b6c..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/contents/ui/lib/LinkText.qml
+++ /dev/null
@@ -1,13 +0,0 @@
-import QtQuick 2.0
-import QtQuick.Controls 1.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-
-Label {
- linkColor: PlasmaCore.ColorScope.highlightColor
- onLinkActivated: Qt.openUrlExternally(link)
- MouseArea {
- anchors.fill: parent
- acceptedButtons: Qt.NoButton // we don't want to eat clicks on the Text
- cursorShape: parent.hoveredLink ? Qt.PointingHandCursor : Qt.ArrowCursor
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/metadata.desktop b/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/metadata.desktop
deleted file mode 100644
index 141967f..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/metadata.desktop
+++ /dev/null
@@ -1,17 +0,0 @@
-[Desktop Entry]
-Name=Present Windows Button
-Comment=Trigger the Present Windows desktop effect's shortcut with a click.
-
-Type=Service
-Icon=window
-X-KDE-ServiceTypes=Plasma/Applet
-
-X-Plasma-API=declarativeappletscript
-X-Plasma-MainScript=ui/Main.qml
-
-X-KDE-PluginInfo-Author=Chris Holland
-X-KDE-PluginInfo-Email=zrenfire@gmail.com
-X-KDE-PluginInfo-Name=com.github.zren.presentwindows
-X-KDE-PluginInfo-Version=9
-X-KDE-PluginInfo-Website=https://github.com/Zren/plasma-applet-presentwindows
-X-KDE-PluginInfo-Category=Windows and Tasks
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/translate/ReadMe.md b/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/translate/ReadMe.md
deleted file mode 100644
index 8f2cbbc..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/translate/ReadMe.md
+++ /dev/null
@@ -1,37 +0,0 @@
-> Version 6 of Zren's i18n scripts.
-
-With KDE Frameworks v5.37 and above, translations are bundled with the `*.plasmoid` file downloaded from the store.
-
-## Install Translations
-
-Go to `~/.local/share/plasma/plasmoids/com.github.zren.presentwindows/translate/` and run `sh ./build --restartplasma`.
-
-## New Translations
-
-1. Fill out [`template.pot`](template.pot) with your translations then open a [new issue](https://github.com/Zren/plasma-applet-presentwindows/issues/new), name the file `spanish.txt`, attach the txt file to the issue (drag and drop).
-
-Or if you know how to make a pull request
-
-1. Copy the `template.pot` file and name it your locale's code (Eg: `en`/`de`/`fr`) with the extension `.po`. Then fill out all the `msgstr ""`.
-
-## Scripts
-
-* `sh ./merge` will parse the `i18n()` calls in the `*.qml` files and write it to the `template.pot` file. Then it will merge any changes into the `*.po` language files.
-* `sh ./build` will convert the `*.po` files to it's binary `*.mo` version and move it to `contents/locale/...` which will bundle the translations in the `*.plasmoid` without needing the user to manually install them.
-* `sh ./plasmoidlocaletest` will run `./build` then `plasmoidviewer` (part of `plasma-sdk`).
-
-## Links
-
-* https://techbase.kde.org/Development/Tutorials/Localization/i18n_Build_Systems
-
-## Examples
-
-* https://websvn.kde.org/trunk/l10n-kf5/fr/messages/kde-workspace/
-* https://github.com/psifidotos/nowdock-plasmoid/tree/master/po
-* https://github.com/kotelnik/plasma-applet-redshift-control/tree/master/translations
-
-## Status
-| Locale | Lines | % Done|
-|----------|---------|-------|
-| Template | 17 | |
-| nl_NL | 17/17 | 100% |
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/translate/nl_NL.po b/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/translate/nl_NL.po
deleted file mode 100644
index 861e8f2..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/translate/nl_NL.po
+++ /dev/null
@@ -1,98 +0,0 @@
-# Translation of presentwindows in nl_NL
-# Copyright (C) 2018
-# This file is distributed under the same license as the presentwindows package.
-# FIRST AUTHOR , YEAR.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: presentwindows\n"
-"Report-Msgid-Bugs-To: https://github.com/Zren/plasma-applet-presentwindows\n"
-"POT-Creation-Date: 2020-04-07 15:50-0400\n"
-"PO-Revision-Date: 2018-10-13 21:44+0200\n"
-"Last-Translator: Heimen Stoffels \n"
-"Language-Team: Dutch \n"
-"Language: nl_NL\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 2.1.1\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: ../contents/config/config.qml
-msgid "General"
-msgstr "Algemeen"
-
-#: ../contents/ui/config/ConfigGeneral.qml
-msgid "Present Windows Effect"
-msgstr "Effect voor Vensters presenteren"
-
-#: ../contents/ui/config/ConfigGeneral.qml
-msgid ""
-"Button will not work when the Present Windows desktop effect is disabled."
-msgstr ""
-"De knop werkt niet als het bureaubladeffect Vensters presenteren is "
-"uitgeschakeld."
-
-#: ../contents/ui/config/ConfigGeneral.qml
-msgid "Show Desktop Grid Effect"
-msgstr "Bureaubladraster-effect tonen"
-
-#: ../contents/ui/config/ConfigGeneral.qml
-msgid "Button will not work when the Desktop Grid desktop effect is disabled."
-msgstr ""
-"De knop werkt niet als het bureaubladeffect Bureaubladraster is "
-"uitgeschakeld."
-
-#: ../contents/ui/config/ConfigGeneral.qml
-msgid "Click"
-msgstr "Klik"
-
-#: ../contents/ui/config/ConfigGeneral.qml
-msgid "Icon"
-msgstr "Pictogram"
-
-#: ../contents/ui/config/ConfigGeneral.qml
-msgid "Unity Pager Theme"
-msgstr "Unity Pager-thema"
-
-#: ../contents/ui/config/ConfigGeneral.qml
-msgid "Use Unity 7 Theme"
-msgstr "Unity 7-thema gebruiken"
-
-#: ../contents/ui/config/ConfigGeneral.qml
-msgid ""
-"Should we use a Virtual Desktop indicator similar to Unity 7? This feature "
-"is enabled for the Unity "
-"Ambiance desktop theme by default."
-msgstr ""
-"Moet er een virtuele bureaubladindicator in de stijl van Unity 7 worden "
-"gebruikt? Deze functie is standaard ingeschakeld voor het bureaubladthema Unity Ambiance."
-
-#: ../contents/ui/config/ConfigGeneral.qml
-msgid "Current Desktop Theme: %1"
-msgstr "Huidig bureaubladthema: %1"
-
-#: ../contents/ui/lib/AppletVersion.qml
-msgid "Version: %1"
-msgstr "Versie: %1"
-
-#: ../contents/ui/lib/DesktopEffectToggle.qml
-msgid "Enabled"
-msgstr "Ingeschakeld"
-
-#: ../contents/ui/Main.qml
-msgid "Present Windows (All desktops)"
-msgstr "Vensters presenteren (alle bureaubladen)"
-
-#: ../contents/ui/Main.qml
-msgid "Present Windows (Current desktop)"
-msgstr "Vensters presenteren (huidige bureaublad)"
-
-#: ../contents/ui/Main.qml
-msgid "Present Windows (Window class)"
-msgstr "Vensters presenteren (vensterklasse)"
-
-#: ../contents/ui/Main.qml
-msgid "Show Desktop Grid"
-msgstr "Bureaubladraster tonen"
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/translate/plasmoidlocaletest b/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/translate/plasmoidlocaletest
deleted file mode 100644
index a1a9546..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/translate/plasmoidlocaletest
+++ /dev/null
@@ -1,103 +0,0 @@
-#!/bin/bash
-# Version 6
-# Requires plasmoidviewer v5.13.0
-
-function checkIfLangInstalled {
- if [ -x "$(command -v dpkg)" ]; then
- dpkg -l ${1} >/dev/null 2>&1 || ( \
- echo -e "${1} not installed.\nInstalling now before continuing.\n" \
- ; sudo apt install ${1} \
- ) || ( \
- echo -e "\nError trying to install ${1}\nPlease run 'sudo apt install ${1}'\n" \
- ; exit 1 \
- )
- elif [ -x "$(command -v pacman)" ]; then
- # TODO: run `locale -a` and check if the locale is enabled.
- if false; then
- # https://wiki.archlinux.org/index.php/Locale
- # Uncomment the locale in /etc/locale.gen
- # Then run `locale-gen`
- echo -e "\nPlease install this locale in System Settings first.\n"
- exit 1
- else
- echo ""
- fi
- else
- echo -e "\nPackage manager not recognized. If the widget is not translated, please install the package '${1}'\n"
- fi
-}
-
-langInput="${1}"
-lang=""
-languagePack=""
-
-if [[ "$langInput" =~ ":" ]]; then # String contains a colon so assume it's a locale code.
- lang="${langInput}"
- IFS=: read -r l1 l2 <<< "${lang}"
- languagePack="language-pack-${l2}"
-fi
-
-declare -a langArr=(
- "ar_EG:ar:Arabic (Egypt)"
- "bg_BG:bg:Bulgarian (Bulgaria)"
- "da_DK:da:Danish (Denmark)"
- "de_DE:de:German (Germany)"
- "el_GR:el:Greek (Greece)"
- "es_MX:es:Spanish (Mexico)"
- "fr_CA:fr:French (Canada)"
- "hr_HR:hr:Croatian (Croatia)"
- "id_ID:id:Indonesian (Indonesia)"
- "ko_KR:ko:Korean (South Korea)"
- "nl_NL:nl:Dutch (Netherlands)"
- "pl_PL:pl:Polish (Poland)"
- "pt_BR:pt:Portuguese (Brazil)"
- "ru_RU:ru:Russian (Russia)"
- "tr_TR:tr:Turkish (Turkey)"
- "uk_UA:uk:Ukrainian (Ukraine)"
- "zh_CN:zh:Chinese (China)"
-)
-
-for i in "${langArr[@]}"; do
- IFS=: read -r l1 l2 l3 <<< "$i"
- if [ "$langInput" == "$l2" ]; then
- lang="${l1}:${l2}"
- languagePack="language-pack-${l2}"
- fi
-done
-
-if [ -z "$lang" ]; then
- echo "plasmoidlocaletest doesn't recognize the language '$lang'"
- echo "Eg:"
- scriptcmd='sh ./plasmoidlocaletest'
- for i in "${langArr[@]}"; do
- IFS=: read -r l1 l2 l3 <<< "$i"
- echo " ${scriptcmd} ${l2} | ${l3}"
- done
- echo ""
- echo "Or use a the full locale code:"
- echo " ${scriptcmd} ar_EG:ar"
- exit 1
-fi
-
-IFS=: read -r l1 l2 <<< "${lang}"
-l1="${l1}.UTF-8"
-
-# Check if language is installed
-if [ ! -z "$languagePack" ]; then
- if [ "$lang" == "zh_CN:zh" ]; then languagePack="language-pack-zh-hans"
- fi
-
- checkIfLangInstalled "$languagePack" || exit 1
-fi
-
-
-echo "LANGUAGE=\"${lang}\""
-echo "LANG=\"${l1}\""
-
-scriptDir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-packageDir="${scriptDir}/.."
-
-# Build local translations for plasmoidviewer
-sh "${scriptDir}/build"
-
-LANGUAGE="${lang}" LANG="${l1}" LC_TIME="${l1}" QML_DISABLE_DISK_CACHE=true plasmoidviewer -a "$packageDir" -l topedge -f horizontal -x 0 -y 0
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/translate/template.pot b/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/translate/template.pot
deleted file mode 100644
index 8021c59..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/translate/template.pot
+++ /dev/null
@@ -1,86 +0,0 @@
-# Translation of presentwindows in LANGUAGE
-# Copyright (C) 2020
-# This file is distributed under the same license as the presentwindows package.
-# FIRST AUTHOR , YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: presentwindows \n"
-"Report-Msgid-Bugs-To: https://github.com/Zren/plasma-applet-presentwindows\n"
-"POT-Creation-Date: 2020-04-07 15:50-0400\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: LANGUAGE \n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=CHARSET\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: ../contents/config/config.qml
-msgid "General"
-msgstr ""
-
-#: ../contents/ui/config/ConfigGeneral.qml
-msgid "Present Windows Effect"
-msgstr ""
-
-#: ../contents/ui/config/ConfigGeneral.qml
-msgid "Button will not work when the Present Windows desktop effect is disabled."
-msgstr ""
-
-#: ../contents/ui/config/ConfigGeneral.qml
-msgid "Show Desktop Grid Effect"
-msgstr ""
-
-#: ../contents/ui/config/ConfigGeneral.qml
-msgid "Button will not work when the Desktop Grid desktop effect is disabled."
-msgstr ""
-
-#: ../contents/ui/config/ConfigGeneral.qml
-msgid "Click"
-msgstr ""
-
-#: ../contents/ui/config/ConfigGeneral.qml
-msgid "Icon"
-msgstr ""
-
-#: ../contents/ui/config/ConfigGeneral.qml
-msgid "Unity Pager Theme"
-msgstr ""
-
-#: ../contents/ui/config/ConfigGeneral.qml
-msgid "Use Unity 7 Theme"
-msgstr ""
-
-#: ../contents/ui/config/ConfigGeneral.qml
-msgid "Should we use a Virtual Desktop indicator similar to Unity 7? This feature is enabled for the Unity Ambiance desktop theme by default."
-msgstr ""
-
-#: ../contents/ui/config/ConfigGeneral.qml
-msgid "Current Desktop Theme: %1"
-msgstr ""
-
-#: ../contents/ui/lib/AppletVersion.qml
-msgid "Version: %1"
-msgstr ""
-
-#: ../contents/ui/lib/DesktopEffectToggle.qml
-msgid "Enabled"
-msgstr ""
-
-#: ../contents/ui/Main.qml
-msgid "Present Windows (All desktops)"
-msgstr ""
-
-#: ../contents/ui/Main.qml
-msgid "Present Windows (Current desktop)"
-msgstr ""
-
-#: ../contents/ui/Main.qml
-msgid "Present Windows (Window class)"
-msgstr ""
-
-#: ../contents/ui/Main.qml
-msgid "Show Desktop Grid"
-msgstr ""
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.himdek.kde.plasma.overview/LICENSE.md b/Configs/Home/.local/share/plasma/plasmoids/com.himdek.kde.plasma.overview/LICENSE.md
old mode 100644
new mode 100755
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.himdek.kde.plasma.overview/contents/config/config.qml b/Configs/Home/.local/share/plasma/plasmoids/com.himdek.kde.plasma.overview/contents/config/config.qml
old mode 100644
new mode 100755
index 9d78d29..57f668a
--- a/Configs/Home/.local/share/plasma/plasmoids/com.himdek.kde.plasma.overview/contents/config/config.qml
+++ b/Configs/Home/.local/share/plasma/plasmoids/com.himdek.kde.plasma.overview/contents/config/config.qml
@@ -5,11 +5,10 @@
*/
import QtQuick 2.0
+import org.kde.plasma.configuration 2.0
-import org.kde.plasma.configuration 2.0 as PlasmaConfig
-
-PlasmaConfig.ConfigModel {
- PlasmaConfig.ConfigCategory {
+ConfigModel {
+ ConfigCategory {
name: i18n("General")
icon: "preferences-desktop-plasma"
source: "configGeneral.qml"
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.himdek.kde.plasma.overview/contents/config/main.xml b/Configs/Home/.local/share/plasma/plasmoids/com.himdek.kde.plasma.overview/contents/config/main.xml
old mode 100644
new mode 100755
index c65bda9..ef258c1
--- a/Configs/Home/.local/share/plasma/plasmoids/com.himdek.kde.plasma.overview/contents/config/main.xml
+++ b/Configs/Home/.local/share/plasma/plasmoids/com.himdek.kde.plasma.overview/contents/config/main.xml
@@ -7,9 +7,13 @@
-
+
dialog-layers
+
+
+
+ qdbus org.kde.kglobalaccel /component/kwin invokeShortcut Overview
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.himdek.kde.plasma.overview/contents/ui/configGeneral.qml b/Configs/Home/.local/share/plasma/plasmoids/com.himdek.kde.plasma.overview/contents/ui/configGeneral.qml
old mode 100644
new mode 100755
index 2277bab..00e5197
--- a/Configs/Home/.local/share/plasma/plasmoids/com.himdek.kde.plasma.overview/contents/ui/configGeneral.qml
+++ b/Configs/Home/.local/share/plasma/plasmoids/com.himdek.kde.plasma.overview/contents/ui/configGeneral.qml
@@ -7,15 +7,21 @@
*/
import QtQuick 2.15
-import QtQuick.Layouts 1.1
+import QtQuick.Layouts 1.15
import QtQuick.Controls 2.5
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.kquickcontrolsaddons 2.0 as KQuickAddons
-import org.kde.kirigami 2.5 as Kirigami
+import org.kde.plasma.plasmoid 2.0
+import org.kde.plasma.core as PlasmaCore
+import org.kde.kirigami 2.20 as Kirigami
+import org.kde.iconthemes as KIconThemes
+import org.kde.config as KConfig
+import org.kde.ksvg 1.0 as KSvg
+import org.kde.kcmutils as KCM
-ColumnLayout {
+KCM.SimpleKCM {
- property string cfg_icon: plasmoid.configuration.icon
+ property string cfg_menuLabel: menuLabel.text
+ property string cfg_icon: Plasmoid.configuration.icon
+ property string def_icon: "dialog-layers"
Kirigami.FormLayout {
Button {
@@ -23,27 +29,36 @@ ColumnLayout {
Kirigami.FormData.label: i18n("Icon:")
- implicitWidth: previewFrame.width + PlasmaCore.Units.smallSpacing * 2
- implicitHeight: previewFrame.height + PlasmaCore.Units.smallSpacing * 2
+ implicitWidth: previewFrame.width + Kirigami.Units.smallSpacing * 2
+ implicitHeight: previewFrame.height + Kirigami.Units.smallSpacing * 2
+ hoverEnabled: true
- KQuickAddons.IconDialog {
+ Accessible.name: i18nc("@action:button", "Change Overview Button's icon")
+ Accessible.description: i18nc("@info:whatsthis", "Current icon is %1. Click to open menu to change the current icon or reset to the default icon.", cfg_icon)
+ Accessible.role: Accessible.ButtonMenu
+
+ ToolTip.delay: Kirigami.Units.toolTipDelay
+ ToolTip.text: i18nc("@info:tooltip", "Icon name is \"%1\"", cfg_icon)
+ ToolTip.visible: iconButton.hovered && cfg_icon.length > 0
+
+ KIconThemes.IconDialog {
id: iconDialog
- onIconNameChanged: cfg_icon = iconName || "dialog-layers"
+ onIconNameChanged: cfg_icon = iconName || def_icon
}
onPressed: iconMenu.opened ? iconMenu.close() : iconMenu.open()
- PlasmaCore.FrameSvgItem {
+ KSvg.FrameSvgItem {
id: previewFrame
anchors.centerIn: parent
- imagePath: plasmoid.location === PlasmaCore.Types.Vertical || plasmoid.location === PlasmaCore.Types.Horizontal
+ imagePath: Plasmoid.formFactor === PlasmaCore.Types.Vertical || Plasmoid.formFactor === PlasmaCore.Types.Horizontal
? "widgets/panel-background" : "widgets/background"
- width: PlasmaCore.Units.iconSizes.large + fixedMargins.left + fixedMargins.right
- height: PlasmaCore.Units.iconSizes.large + fixedMargins.top + fixedMargins.bottom
+ width: Kirigami.Units.iconSizes.large + fixedMargins.left + fixedMargins.right
+ height: Kirigami.Units.iconSizes.large + fixedMargins.top + fixedMargins.bottom
- PlasmaCore.IconItem {
+ Kirigami.Icon {
anchors.centerIn: parent
- width: PlasmaCore.Units.iconSizes.large
+ width: Kirigami.Units.iconSizes.large
height: width
source: cfg_icon
}
@@ -58,14 +73,61 @@ ColumnLayout {
MenuItem {
text: i18nc("@item:inmenu Open icon chooser dialog", "Choose…")
icon.name: "document-open-folder"
+ Accessible.description: i18nc("@info:whatsthis", "Choose an icon for Application Launcher")
onClicked: iconDialog.open()
}
MenuItem {
- text: i18nc("@item:inmenu Reset icon to default", "Clear Icon")
+ text: i18nc("@item:inmenu Reset icon to default", "Reset to default icon")
icon.name: "edit-clear"
- onClicked: cfg_icon = "dialog-layers"
+ enabled: cfg_icon !== def_icon
+ onClicked: cfg_icon = def_icon
+ }
+ MenuItem {
+ text: i18nc("@action:inmenu", "Remove icon")
+ icon.name: "delete"
+ enabled: cfg_icon !== "" && menuLabel.text && Plasmoid.formFactor !== PlasmaCore.Types.Vertical
+ onClicked: cfg_icon = ""
+ }
+ }
+ }
+
+ Kirigami.ActionTextField {
+ id: menuLabel
+ enabled: Plasmoid.formFactor !== PlasmaCore.Types.Vertical
+ Kirigami.FormData.label: i18nc("@label:textbox", "Text label:")
+ text: Plasmoid.configuration.menuLabel
+ placeholderText: i18nc("@info:placeholder", "Type here to add a text label")
+ onTextEdited: {
+ cfg_menuLabel = menuLabel.text
+
+ // This is to make sure that we always have a icon if there is no text.
+ // If the user remove the icon and remove the text, without this, we'll have no icon and no text.
+ // This is to force the icon to be there.
+ if (!menuLabel.text) {
+ cfg_icon = cfg_icon || def_icon
}
}
+ rightActions: [
+ Action {
+ icon.name: "edit-clear"
+ enabled: menuLabel.text !== ""
+ text: i18nc("@action:button", "Reset menu label")
+ onTriggered: {
+ menuLabel.clear()
+ cfg_menuLabel = ''
+ cfg_icon = cfg_icon || def_icon
+ }
+ }
+ ]
+ }
+
+ Label {
+ Layout.fillWidth: true
+ Layout.maximumWidth: Kirigami.Units.gridUnit * 25
+ visible: Plasmoid.formFactor === PlasmaCore.Types.Vertical
+ text: i18nc("@info", "A text label cannot be set when the Panel is vertical.")
+ wrapMode: Text.Wrap
+ font: Kirigami.Theme.smallFont
}
Item {
@@ -73,21 +135,27 @@ ColumnLayout {
}
Button {
- Kirigami.FormData.label: i18n("Plasma Search Plugins: ")
+ enabled: KConfig.KAuthorized.authorizeControlModule("kcm_plasmasearch")
icon.name: "settings-configure"
- text: i18n("Configure")
- onClicked: KQuickAddons.KCMShell.openSystemSettings("kcm_plasmasearch")
+ text: i18nc("@action:button", "Configure Enabled Search Plugins…")
+ onClicked: KCM.KCMLauncher.openSystemSettings("kcm_plasmasearch")
}
+ Item {
+ Kirigami.FormData.isSection: true
+ }
+
+ Label {
+ Layout.fillWidth: true
+ Layout.maximumWidth: Kirigami.Units.gridUnit * 20
+ text: i18nc("@info", "Overview must be enabled in Desktop Effects for this to work. Click the below button, search and enable Overview from the list.")
+ wrapMode: Text.Wrap
+ }
Button {
- Kirigami.FormData.label: i18n("Search and enable Overview in Desktop Effects: ")
+ enabled: KConfig.KAuthorized.authorizeControlModule("kcm_kwin_effects")
icon.name: "settings-configure"
- text: i18n("Open Desktop Effects in System Settings")
- onClicked: KQuickAddons.KCMShell.openSystemSettings("kcm_kwin_effects")
+ text: i18nc("@action:button", "Open Desktop Effects Settings")
+ onClicked: KCM.KCMLauncher.openSystemSettings("kcm_kwin_effects")
}
}
-
- Item {
- Layout.fillHeight: true
- }
}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.himdek.kde.plasma.overview/contents/ui/main.qml b/Configs/Home/.local/share/plasma/plasmoids/com.himdek.kde.plasma.overview/contents/ui/main.qml
old mode 100644
new mode 100755
index 6c6c663..6a79c20
--- a/Configs/Home/.local/share/plasma/plasmoids/com.himdek.kde.plasma.overview/contents/ui/main.qml
+++ b/Configs/Home/.local/share/plasma/plasmoids/com.himdek.kde.plasma.overview/contents/ui/main.qml
@@ -1,121 +1,94 @@
/*
- SPDX-FileCopyrightText: 2023 Himprakash Deka
+ SPDX-FileCopyrightText: 2012 Gregor Taetzner
+ SPDX-FileCopyrightText: 2020 Ivan Čukić
- SPDX-License-Identifier: GPL-2.0-or-later
- */
-import QtQuick 2.6
-import QtQuick.Layouts 1.1
-import QtQuick.Controls 2.0
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
-import org.kde.plasma.plasmoid 2.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.extras 2.0 as PlasmaExtras
-import org.kde.plasma.components 2.0 as PlasmaComponents
+import QtQuick
+import QtQuick.Layouts
+import org.kde.plasma.plasmoid
+import org.kde.plasma.core as PlasmaCore
+import org.kde.plasma.components as PlasmaComponents3
+import org.kde.draganddrop as DND
+import org.kde.kirigami as Kirigami
+import org.kde.activities as Activities
-import org.kde.kquickcontrolsaddons 2.0
+import org.kde.plasma.plasma5support as Plasma5Support
-Item {
+PlasmoidItem {
id: root
- property bool inPanel: plasmoid.location === PlasmaCore.Types.TopEdge
- || plasmoid.location === PlasmaCore.Types.RightEdge
- || plasmoid.location === PlasmaCore.Types.BottomEdge
- || plasmoid.location === PlasmaCore.Types.LeftEdge
- property bool vertical: plasmoid.formFactor === PlasmaCore.Types.Vertical
+ width: Kirigami.Units.iconSizes.large
+ height: Kirigami.Units.iconSizes.large
+ Layout.maximumWidth: Infinity
+ Layout.maximumHeight: Infinity
- PlasmaCore.DataSource {
- id: executable
- engine: "executable"
- connectedSources: []
- onNewData: disconnectSource(sourceName)
+ Layout.preferredWidth : icon.width + Kirigami.Units.smallSpacing + (root.showActivityName ? name.implicitWidth + Kirigami.Units.smallSpacing : 0)
- function exec(cmd) {
- executable.connectSource(cmd)
- }
- }
+ Layout.minimumWidth: 0
+ Layout.minimumHeight: 0
- Plasmoid.preferredRepresentation: plasmoid.compactRepresentation
- Plasmoid.icon: plasmoid.configuration.icon
- Plasmoid.fullRepresentation: null
- Plasmoid.compactRepresentation: MouseArea {
- id: compactRoot
+ readonly property bool inVertical: Plasmoid.formFactor === PlasmaCore.Types.Vertical
+ readonly property string defaultIconName: "dialog-layers"
- implicitWidth: PlasmaCore.Units.iconSizeHints.panel
- implicitHeight: PlasmaCore.Units.iconSizeHints.panel
+ Plasmoid.icon: Plasmoid.configuration.icon
- Layout.minimumWidth: {
- if (!root.inPanel) {
- return PlasmaCore.Units.iconSizes.small
- }
+ preferredRepresentation: fullRepresentation
- if (root.vertical) {
- return -1;
- } else {
- return Math.min(PlasmaCore.Units.iconSizeHints.panel, parent.height) * buttonIcon.aspectRatio;
- }
+ DND.DropArea {
+ id: dropArea
+ anchors.fill: parent
+
+ MouseArea {
+ anchors.fill: parent
+ onClicked: executable.exec(plasmoid.configuration.command)
+ onPressed: executable.exec(plasmoid.configuration.command)
}
- Layout.minimumHeight: {
- if (!root.inPanel) {
- return PlasmaCore.Units.iconSizes.small
- }
+ PlasmaCore.ToolTipArea {
+ id: tooltip
+ anchors.fill: parent
+ mainText: i18n("Toggle Overview")
+ }
- if (root.vertical) {
- return Math.min(PlasmaCore.Units.iconSizeHints.panel, parent.width) * buttonIcon.aspectRatio;
- } else {
- return -1;
- }
+ Kirigami.Icon {
+ id: icon
+ height: Math.min(parent.height, parent.width)
+ width: valid ? height : 0
+ visible: plasmoid.configuration.menuLabel === "" || plasmoid.configuration.icon !== ""
+ source: plasmoid.configuration.icon
}
- Layout.maximumWidth: {
- if (!root.inPanel) {
- return -1;
- }
+ PlasmaComponents3.Label {
+ id: name
- if (root.vertical) {
- return PlasmaCore.Units.iconSizeHints.panel;
- } else {
- return Math.min(PlasmaCore.Units.iconSizeHints.panel, parent.height) * buttonIcon.aspectRatio;
+ anchors {
+ left: icon.right
+ leftMargin: Kirigami.Units.smallSpacing
}
- }
+ height: parent.height
+ width: implicitWidth
+ visible: !(plasmoid.configuration.menuLabel === "") && !root.inVertical
- Layout.maximumHeight: {
- if (!root.inPanel) {
- return -1;
- }
+ verticalAlignment: Text.AlignVCenter
- if (root.vertical) {
- return Math.min(PlasmaCore.Units.iconSizeHints.panel, parent.width) * buttonIcon.aspectRatio;
- } else {
- return PlasmaCore.Units.iconSizeHints.panel;
- }
+ text: plasmoid.configuration.menuLabel
}
-
- onClicked: {
- runCommand()
- }
+ }
- DropArea {
- id: compactDragArea
- anchors.fill: parent
+ Plasma5Support.DataSource {
+ id: executable
+ engine: "executable"
+ connectedSources: []
+ onNewData: function(source, data) {
+ disconnectSource(source)
}
- PlasmaCore.IconItem {
- id: buttonIcon
-
- readonly property double aspectRatio: (root.vertical ? implicitHeight / implicitWidth
- : implicitWidth / implicitHeight)
-
- anchors.fill: parent
- source: plasmoid.icon
- active: parent.containsMouse || compactDragArea.containsDrag
- smooth: true
- roundToIconSize: aspectRatio === 1
+ function exec(cmd) {
+ executable.connectSource(cmd)
}
}
- function runCommand() {
- executable.exec(plasmoid.configuration.command)
- }
}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.himdek.kde.plasma.overview/metadata.desktop b/Configs/Home/.local/share/plasma/plasmoids/com.himdek.kde.plasma.overview/metadata.desktop
deleted file mode 100644
index 35d3d11..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/com.himdek.kde.plasma.overview/metadata.desktop
+++ /dev/null
@@ -1,16 +0,0 @@
-[Desktop Entry]
-Name=Overview
-Comment=Toggle Overview
-
-Type=Service
-Icon=dialog-layers
-X-KDE-ServiceTypes=Plasma/Applet
-
-X-Plasma-API=declarativeappletscript
-X-Plasma-MainScript=ui/main.qml
-
-X-KDE-PluginInfo-Author=Himprakash Deka
-X-KDE-PluginInfo-Name=com.himdek.kde.plasma.overview
-X-KDE-PluginInfo-Version=1.1
-X-KDE-PluginInfo-Category=Utilities
-X-KDE-PluginInfo-License=GPL-3.0-or-later
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.himdek.kde.plasma.overview/metadata.json b/Configs/Home/.local/share/plasma/plasmoids/com.himdek.kde.plasma.overview/metadata.json
new file mode 100755
index 0000000..d81c9dd
--- /dev/null
+++ b/Configs/Home/.local/share/plasma/plasmoids/com.himdek.kde.plasma.overview/metadata.json
@@ -0,0 +1,22 @@
+{
+ "KPackageStructure": "Plasma/Applet",
+ "KPlugin": {
+ "Authors": [
+ {
+ "Email": "info@himdek.com",
+ "Name": "Himprakash Deka"
+ }
+ ],
+ "Category": "Windows and Tasks",
+ "Description": "Toggle Overview",
+ "Icon": "dialog-layers",
+ "Id": "com.himdek.kde.plasma.overview",
+ "EnabledByDefault": true,
+ "License": "GPL-3.0-or-later",
+ "Name": "Overview",
+ "Version": 1.2,
+ "BugReportUrl": "https://github.com/HimDek/Overview-Widget-for-Plasma/issues/new",
+ "Website": "https://himdek.com/Overview-Widget-for-Plasma/"
+ },
+ "X-Plasma-API-Minimum-Version": "6.0"
+}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.communia.apptitle/contents/config/config.qml b/Configs/Home/.local/share/plasma/plasmoids/org.communia.apptitle/contents/config/config.qml
deleted file mode 100644
index 987b683..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.communia.apptitle/contents/config/config.qml
+++ /dev/null
@@ -1,10 +0,0 @@
-import QtQuick 2.2
-import org.kde.plasma.configuration 2.0
-
-ConfigModel {
- ConfigCategory {
- name: i18n("Appearance")
- icon: "preferences-desktop-color"
- source: "config/ConfigApptitle.qml"
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.communia.apptitle/contents/config/main.xml b/Configs/Home/.local/share/plasma/plasmoids/org.communia.apptitle/contents/config/main.xml
deleted file mode 100644
index 6ae55b8..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.communia.apptitle/contents/config/main.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
-
-
-
- false
-
-
- false
-
-
- 100
-
-
- false
-
-
- Sans Serif
-
-
- false
-
-
- false
-
-
- false
-
-
- #000000
-
-
-
-
-
-
-
- activityName
-
-
- Plasma Desktop
-
-
- 0
-
-
- false
-
-
- ^(.*)\s*[—–\-:]\s*(Mozilla )?([^—–\-:]+)$
-
-
- $3 — $1
-
-
-
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.communia.apptitle/contents/ui/CompactRepresentation.qml b/Configs/Home/.local/share/plasma/plasmoids/org.communia.apptitle/contents/ui/CompactRepresentation.qml
deleted file mode 100644
index 2b672a3..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.communia.apptitle/contents/ui/CompactRepresentation.qml
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- * Copyright 2012-2013 Andrea Scarpino
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Library General Public License as
- * published by the Free Software Foundation; either version 2, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.1
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.components 2.0 as PlasmaComponents
-import org.kde.plasma.plasmoid 2.0
-import org.kde.taskmanager 0.1 as TaskManager
-//import org.kde.qtextracomponents 2.0 as QtExtraComponents
-
-Item {
- id: main
-
- Layout.minimumWidth : plasmoid.formFactor == PlasmaCore.Types.Horizontal ? height : 1
- Layout.minimumHeight : plasmoid.formFactor == PlasmaCore.Types.Vertical ? width : 1
- //property int minimumWidth: row.implicitWidth
- //property int minimumHeight: appLabel.paintedHeight
- implicitWidth: row.implicitWidth
- width: row.implicitWidth
- height:row.implicitHeight
-
- anchors.fill: parent
-
- // Config
- property bool show_application_icon: true
- property bool show_window_title: true
- property bool use_fixed_width: plasmoid.configuration.useFixedWidth
- property int textType: plasmoid.configuration.textType
-
- // Window properties
- property bool noWindowActive: true
- property bool currentWindowMaximized: false
- property bool isActiveWindowPinned: false
- property bool isActiveWindowMaximized: false
-
-
-// Component.onCompleted: {
-// plasmoid.addEventListener("ConfigChanged", configChanged)
-// }
-
-// function configChanged() {
-// show_application_icon = plasmoid.configuration.showApplicationIcon
-// show_window_title = plasmoid.readConfig("showWindowTitle")
-// use_fixed_width = plasmoid.configuration.fixedWidth
-
-// appLabel.font.family = plasmoid.readConfig("font").toString().split(',')[0]
-// appLabel.font.italic = plasmoid.readConfig("italic")
-// appLabel.font.underline = plasmoid.readConfig("underline")
-// appLabel.color = plasmoid.readConfig("color")
-
-// if (plasmoid.readConfig("bold") == true) {
-// appLabel.font.weight = Font.Bold
-// } else {
-// appLabel.font.weight = Font.Normal
-// }
-// }
- //
- // MODEL
- //
- TaskManager.TasksModel {
- id: tasksModel
- sortMode: TaskManager.TasksModel.SortVirtualDesktop
- groupMode: TaskManager.TasksModel.GroupDisabled
-
- screenGeometry: plasmoid.screenGeometry
-
- onActiveTaskChanged: {
- activeWindowModel.sourceModel = tasksModel
- updateActiveWindowInfo()
- }
- onDataChanged: {
- updateActiveWindowInfo()
- }
- }
-
- // should return always one item
- PlasmaCore.SortFilterModel {
- id: activeWindowModel
- filterRole: 'IsActive'
- filterRegExp: 'true'
- sourceModel: tasksModel
- onDataChanged: {
- updateActiveWindowInfo()
- }
- onCountChanged: {
- updateActiveWindowInfo()
- }
- }
- function activeTask() {
- return activeWindowModel.get(0) || {}
- }
- function updateActiveWindowInfo() {
- appLabel.visible = activeWindowModel.count != 0
- var actTask = activeTask()
- //console.warn(actTask.AppName)
- noWindowActive = activeWindowModel.count === 0 || actTask.IsActive !== true
- currentWindowMaximized = !noWindowActive && actTask.IsMaximized === true
- isActiveWindowPinned = actTask.VirtualDesktop === -1;
- if (noWindowActive) {
- appLabel.text = plasmoid.configuration.noWindowText
- iconItem.source = "" //plasmoid.configuration.noWindowIcon
- } else {
- appLabel.text = textType === 1 ? actTask.AppName : replaceTitle(actTask.display)
- iconItem.source = actTask.decoration
- }
- //parent.width=width
- return
- if (use_fixed_width) {
- main.width = plasmoid.configuration.fixedWidth
- if (show_application_icon) {
- //appLabel.width = main.width - row.spacing - iconItem.width
- appLabel.width = plasmoid.configuration.fixedWidth - row.spacing - iconItem.width
- console.warn("With icon Set width to " + appLabel.width)
- } else {
- appLabel.width = main.width
- console.warn("Set width to " + appLabel.width)
- }
- appLabel.elide = Text.ElideRight
- } else {
- console.warn("no fixed width")
- if (plasmoid.configuration.showApplicationIcon) {
- main.width = iconItem.width + row.spacing + appLabel.paintedWidth
- } else {
- main.width = appLabel.paintedWidth
- }
- appLabel.width = appLabel.paintedWidth
- appLabel.elide = Text.ElideNone
- console.warn(appLabel.width)
- }
-
-
- }
- function replaceTitle(title) {
- if (!plasmoid.configuration.useWindowTitleReplace) {
- return title
- }
- return title.replace(new RegExp(plasmoid.configuration.replaceTextRegex), plasmoid.configuration.replaceTextReplacement);
- }
-
- Row {
- id: row
- spacing: 3
- //anchors.centerIn: parent
-
- PlasmaCore.IconItem {
- id: iconItem
- height: appLabel.paintedHeight
- width: height
- visible: show_application_icon
- anchors.verticalCenter: appLabel.verticalCenter
- }
-
- PlasmaComponents.Label {
- id: appLabel
- text: "HI WORLD"
- wrapMode: Text.Wrap
- }
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.communia.apptitle/contents/ui/config.ui b/Configs/Home/.local/share/plasma/plasmoids/org.communia.apptitle/contents/ui/config.ui
deleted file mode 100644
index 4bb0fbe..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.communia.apptitle/contents/ui/config.ui
+++ /dev/null
@@ -1,216 +0,0 @@
-
-
- applicationnameConfig
-
-
-
- 0
- 0
- 335
- 270
-
-
-
- Configure Application Title Plasmoid
-
-
-
-
-
-
- 75
- true
-
-
-
- General
-
-
-
-
-
-
- Show the application icon
-
-
-
-
-
-
-
-
-
- Show the window title
-
-
-
-
-
-
-
-
- Set fixed width:
-
-
-
-
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
-
-
-
- px
-
-
- 10
-
-
- 999
-
-
- 80
-
-
-
-
-
-
-
-
-
- 75
- true
-
-
-
- Appearance
-
-
-
-
-
-
-
-
-
-
-
- Font style:
-
-
-
-
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
-
-
-
- Bold
-
-
-
-
-
-
- Italic
-
-
-
-
-
-
- Underline
-
-
-
-
-
-
-
-
-
-
- Font color:
-
-
-
-
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
-
-
-
-
- 0
- 0
-
-
-
-
-
-
-
-
-
- Qt::Vertical
-
-
-
- 20
- 15
-
-
-
-
-
-
-
-
- KColorButton
- QPushButton
- kcolorbutton.h
-
-
- KComboBox
- QComboBox
- kcombobox.h
-
-
- KFontComboBox
- KComboBox
- kfontcombobox.h
-
-
-
-
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.communia.apptitle/contents/ui/config/ConfigApptitle.qml b/Configs/Home/.local/share/plasma/plasmoids/org.communia.apptitle/contents/ui/config/ConfigApptitle.qml
deleted file mode 100644
index 60a6e71..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.communia.apptitle/contents/ui/config/ConfigApptitle.qml
+++ /dev/null
@@ -1,144 +0,0 @@
-import QtQuick 2.2
-import QtQuick.Controls 1.3
-import QtQuick.Layouts 1.1
-Item {
- id: main
-
- property alias cfg_showApplicationIcon: showApplicationIcon.checked
- property alias cfg_showWindowTitle: showWindowTitle.checked
- property alias cfg_useFixedWidth: useFixedWidth.checked
- property alias cfg_fixedWidth: fixedWidth.value
- property alias cfg_noWindowText: noWindowText.text
- property alias cfg_noWindowType: noActiveType.currentIndex
- property alias cfg_textType: textTypeCombo.currentIndex
- property alias cfg_useWindowTitleReplace: useWindowTitleReplace.checked
- property alias cfg_replaceTextRegex: replaceTextRegex.text
- property alias cfg_replaceTextReplacement: replaceTextReplacement.text
- property alias cfg_bold: bold.checked
- property alias cfg_capitalize: capitalize.checked
-
-
- GridLayout {
- id: gridLayout
- anchors.rightMargin: 0
- anchors.bottomMargin: 0
- anchors.leftMargin: 0
- anchors.topMargin: 0
- rows: 1
- columns: 2
- anchors.fill: parent
-
- CheckBox {
- id: showApplicationIcon
- text: qsTr("Show the application icon")
- //enabled:false
- }
- CheckBox {
- id: showWindowTitle
- text: qsTr("Show Window Title")
- checked: true
- enabled:false
-
- }
- CheckBox {
- id: useFixedWidth
- text: qsTr("Use fixed width")
- }
-
- SpinBox {
- id: fixedWidth
- minimumValue: 100
- maximumValue: 1000
- enabled: useFixedWidth.checked
- Layout.minimumWidth: theme.mSize(theme.defaultFont).width * 12
- }
-
- Label {
- id: labelNoActiveType
- text: qsTr("No active window label")
- }
-
- RowLayout {
- id: rowLayout
- width: 100
- height: 100
-
- ComboBox {
- id: noActiveType
- model: [i18n('Activity name'),i18n('Desktop name'), i18n('Custom text')]
- }
- }
-
-
- Label {
- id: label
- text: qsTr("No active window custom text:")
- }
-
-
- TextField {
- id: noWindowText
- text: qsTr("Text Input")
- Layout.minimumWidth: theme.mSize(theme.defaultFont).width * 12
- enabled: noActiveType.currentIndex === 2
- }
- Label {
- text: i18n('Text type:')
- }
- ComboBox {
- id: textTypeCombo
- model: [i18n('Window title'), i18n('Application name')]
- Layout.minimumWidth: theme.mSize(theme.defaultFont).width * 12
- }
-
- CheckBox {
- id: useWindowTitleReplace
- text: '"' + i18n('Window title') + '".replace(/'
- Layout.alignment: Qt.AlignRight
- }
- GridLayout {
- columns: 4
-
- TextField {
- id: replaceTextRegex
- placeholderText: '^(.*)\\s+[—–\\-:]\\s+([^—–\\-:]+)$'
- Layout.preferredWidth: 300
- onTextChanged: cfg_replaceTextRegex = text
- enabled: useWindowTitleReplace.checked
- }
-
- Label {
- text: '/, "'
- }
-
- TextField {
- id: replaceTextReplacement
- placeholderText: '$2 — $1'
- Layout.preferredWidth: 100
- onTextChanged: cfg_replaceTextReplacement = text
- enabled: useWindowTitleReplace.checked
- }
-
- Label {
- text: '");'
- }
- }
- GridLayout{
- columns: 3
- CheckBox{
- id: bold
- text: qsTr("Bold")
- checked: cfg_bold
- }
- CheckBox{
- id: capitalize
- text: qsTr("Capitalize")
- checked: cfg_capitalize
- }
- }
-
-
-
- }
-
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.communia.apptitle/contents/ui/main.qml b/Configs/Home/.local/share/plasma/plasmoids/org.communia.apptitle/contents/ui/main.qml
deleted file mode 100644
index 40dac7b..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.communia.apptitle/contents/ui/main.qml
+++ /dev/null
@@ -1,201 +0,0 @@
-/*
- * Copyright 2012-2013 Aleix Quintana Alsius
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Library General Public License as
- * published by the Free Software Foundation; either version 2, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.1
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.components 2.0 as PlasmaComponents
-import org.kde.plasma.plasmoid 2.0
-import org.kde.taskmanager 0.1 as TaskManager
-import org.kde.plasma.private.appmenu 1.0 as AppMenuPrivate
-
-/*Item {
-
- width: 1000
- height:50
- Plasmoid.compactRepresentation: CompactRepresentation {}
- Plasmoid.fullRepresentation: CompactRepresentation {}
-}*/
-Item {
- id: main
-
- Layout.minimumWidth: vertical ? units.iconSizes.small : row.implicitWidth + units.largeSpacing
- Layout.minimumHeight: vertical ? row.implicitHeight + units.smallSpacing : units.smallSpacing
- Layout.maximumHeight: vertical ? row.implicitHeight + units.smallSpacing : units.smallSpacing
- Layout.maximumWidth: vertical ? units.iconSizes.small : row.implicitWidth + units.largeSpacing
-
- Layout.preferredHeight: Layout.minimumHeight
- Layout.preferredWidth: Layout.minimumWidth
- Plasmoid.preferredRepresentation: Plasmoid.fullRepresentation
-
- anchors.fill: parent
- property bool vertical: plasmoid.formFactor == PlasmaCore.Types.Vertical
-
- // Config
- property bool show_application_icon: plasmoid.configuration.showApplicationIcon
- property bool show_window_title: true
- property bool use_fixed_width: plasmoid.configuration.useFixedWidth
- property int textType: plasmoid.configuration.textType
-
- // Window properties
- property bool noWindowActive: true
- property bool currentWindowMaximized: false
- property bool isActiveWindowPinned: false
- property bool isActiveWindowMaximized: false
-
- // To get current activity name
- TaskManager.ActivityInfo {
- id: activityInfo
- }
-
- // To get virtual desktop name
- TaskManager.VirtualDesktopInfo {
- id: virtualDesktopInfo
- }
-
- // To get current focus state
- AppMenuPrivate.AppMenuModel {
- id: appMenuModel
- }
-
- TaskManager.TasksModel {
- id: tasksModel
- sortMode: TaskManager.TasksModel.SortVirtualDesktop
- groupMode: TaskManager.TasksModel.GroupDisabled
-
- screenGeometry: plasmoid.screenGeometry
-
- onActiveTaskChanged: {
- activeWindowModel.sourceModel = tasksModel
- updateActiveWindowInfo()
- }
- onDataChanged: {
- updateActiveWindowInfo()
- }
- }
-
- // should return always one item
- PlasmaCore.SortFilterModel {
- id: activeWindowModel
- filterRole: 'IsActive'
- filterRegExp: 'true'
- sourceModel: tasksModel
- onDataChanged: {
- updateActiveWindowInfo()
- }
- onCountChanged: {
- updateActiveWindowInfo()
- }
- }
-
- function toggleMaximized() {
- tasksModel.requestToggleMaximized(tasksModel.activeTask);
- }
-
- function activeTask() {
- return activeWindowModel.get(0) || {}
- }
- function updateActiveWindowInfo() {
- var actTask = activeTask()
- noWindowActive = activeWindowModel.count === 0 || actTask.IsActive !== true
- currentWindowMaximized = !noWindowActive && actTask.IsMaximized === true
- isActiveWindowPinned = actTask.VirtualDesktop === -1;
-
- if(appMenuModel.menuAvailable && noWindowActive){
- // With the help of appmenuModel we can know if some focused appmenu is there
- // so it doesn't overwrite and maintain it returning now
- // set text to disabled to visually note that no maximize dbl click can be done
- appLabel.enabled = false
- return
- }
- appLabel.enabled = true
-
- if (noWindowActive) {
- // if custom no window active
- if (plasmoid.configuration.noWindowType === 0){
- appLabel.text = activityInfo.activityName(activityInfo.currentActivity)
- iconItem.source ="preferences-activities"
- } else if (plasmoid.configuration.noWindowType === 1){
- appLabel.text = virtualDesktopInfo.desktopNames[virtualDesktopInfo.currentDesktop-1]
- iconItem.source ="desktop"
- } else if ( plasmoid.configuration.noWindowType === 2){
- appLabel.text = plasmoid.configuration.noWindowText
- iconItem.source = ""
- }
- } else {
- appLabel.text = textType === 1 ? actTask.AppName : replaceTitle(actTask.display)
- iconItem.source = actTask.decoration
- }
- if (use_fixed_width) {
- main.width = plasmoid.configuration.fixedWidth
- if (show_application_icon) {
- //appLabel.width = main.width - row.spacing - iconItem.width
- appLabel.width = plasmoid.configuration.fixedWidth - row.spacing - iconItem.width
- } else {
- appLabel.width = plasmoid.configuration.fixedWidth - row.spacing
- }
- appLabel.elide = Text.ElideRight
- } else {
- if (show_application_icon) {
- main.width = iconItem.width + row.spacing + appLabel.paintedWidth
- } else {
- main.width = appLabel.paintedWidth
- }
- appLabel.width = appLabel.paintedWidth
- appLabel.elide = Text.ElideNone
- }
- }
- function replaceTitle(title) {
- if (!plasmoid.configuration.useWindowTitleReplace) {
- return title
- }
- return title.replace(new RegExp(plasmoid.configuration.replaceTextRegex), plasmoid.configuration.replaceTextReplacement);
- }
-
- Row {
- id: row
- spacing: 0
- anchors.centerIn: parent
-
- PlasmaCore.IconItem {
- id: iconItem
- height: appLabel.paintedHeight
- width: height + units.largeSpacing
- visible: show_application_icon
- anchors.verticalCenter: appLabel.verticalCenter
- usesPlasmaTheme: true
- }
-
- PlasmaComponents.Label {
- id: appLabel
- text: ""
- font.weight: plasmoid.configuration.bold?Font.Bold:Font.Medium
- font.capitalization: plasmoid.configuration.capitalize?Font.Capitalize:Font.MixedCase
- }
- }
- MouseArea {
- anchors.fill: parent
- acceptedButtons: Qt.LeftButton | Qt.MiddleButton
- onDoubleClicked: {
- if (mouse.button == Qt.LeftButton) {
- toggleMaximized()
- }
- }
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.communia.apptitle/metadata.desktop b/Configs/Home/.local/share/plasma/plasmoids/org.communia.apptitle/metadata.desktop
deleted file mode 100644
index 7e32ada..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.communia.apptitle/metadata.desktop
+++ /dev/null
@@ -1,17 +0,0 @@
-[Desktop Entry]
-Comment=Shows the application title of the focused window
-Encoding=UTF-8
-Icon=preferences-desktop
-Name=Application title
-Type=Service
-X-KDE-PluginInfo-Author=Aleix Quintana Alsius
-X-KDE-PluginInfo-Category=Windows and Tasks
-X-KDE-PluginInfo-Depends=
-X-KDE-PluginInfo-Email=kinta@communia.org
-X-KDE-PluginInfo-EnabledByDefault=true
-X-KDE-PluginInfo-License=LGPL
-X-KDE-PluginInfo-Name=org.communia.apptitle
-X-KDE-PluginInfo-Version=1.1
-X-KDE-ServiceTypes=Plasma/Applet
-X-Plasma-API=declarativeappletscript
-X-Plasma-MainScript=ui/main.qml
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.separator/CHANGELOG.md b/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.separator/CHANGELOG.md
deleted file mode 100644
index aca424c..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.separator/CHANGELOG.md
+++ /dev/null
@@ -1,14 +0,0 @@
-### CHANGELOG
-
-#### Version 0.1.2
-
-* improve default values
-
-#### Version 0.1.1
-
-* fix startup warning
-
-#### Version 0.1
-
-* option for thickness margins
-* option for length margins
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.separator/LICENSE b/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.separator/LICENSE
deleted file mode 100644
index d159169..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.separator/LICENSE
+++ /dev/null
@@ -1,339 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Lesser General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-
- Copyright (C)
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) year name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- , 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.separator/README.md b/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.separator/README.md
deleted file mode 100644
index 6ae0ff3..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.separator/README.md
+++ /dev/null
@@ -1,21 +0,0 @@
-# Latte Separator
-
-This is a Plasma 5 applet that acts as a separator between applets. This plasmoid is coming from [Latte land](https://phabricator.kde.org/source/latte-dock/repository/master/) but it can also support Plasma panels.
-
-
-
-Latte Separators between window icon, title and application menu
-
-
-
-
-Appearance Settings
-
-
-# Requires
-
-- Plasma >= 5.8
-
-# Install
-
-This is a QML applet and as such it can be easily installed from Plasma 5 Widgets Explorer or alternative you can execute `plasmapkg2 -i .` in the root directory of the applet.
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.separator/contents/config/config.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.separator/contents/config/config.qml
deleted file mode 100644
index 4b47a2c..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.separator/contents/config/config.qml
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
-* Copyright 2017 Smith AR
-* Michail Vourlakos
-*
-* This file is part of Latte-Dock
-*
-* Latte-Dock is free software; you can redistribute it and/or
-* modify it under the terms of the GNU General Public License as
-* published by the Free Software Foundation; either version 2 of
-* the License, or (at your option) any later version.
-*
-* Latte-Dock is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see .
-*/
-
-import QtQuick 2.0
-
-import org.kde.plasma.configuration 2.0
-
-ConfigModel {
- ConfigCategory {
- name: i18n("Appearance")
- icon: "preferences-desktop-display-color"
- source: "ConfigAppearance.qml"
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.separator/contents/config/main.xml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.separator/contents/config/main.xml
deleted file mode 100644
index 6a4fafb..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.separator/contents/config/main.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
-
-
- 3
-
-
-
- 2
-
-
-
-
-
-
-
-
- 0
-
-
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.separator/contents/ui/ConfigAppearance.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.separator/contents/ui/ConfigAppearance.qml
deleted file mode 100644
index b7b3819..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.separator/contents/ui/ConfigAppearance.qml
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
-* Copyright 2019 Michail Vourlakos
-*
-* This file is part of Latte-Dock
-*
-* Latte-Dock is free software; you can redistribute it and/or
-* modify it under the terms of the GNU General Public License as
-* published by the Free Software Foundation; either version 2 of
-* the License, or (at your option) any later version.
-*
-* Latte-Dock is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see .
-*/
-
-import QtQuick 2.0
-import QtQuick.Controls 1.0
-import QtQuick.Layouts 1.0
-import QtGraphicalEffects 1.0
-
-import org.kde.plasma.core 2.0 as PlasmaCore
-
-Item {
- id: root
-
- property alias cfg_lengthMargin: lengthMargin.value
- property alias cfg_thickMargin: thickMargin.value
-
- // used from the ui
- readonly property real centerFactor: 0.3
- readonly property int minimumWidth: 220
-
- ColumnLayout {
- spacing: units.largeSpacing
- Layout.fillWidth: true
-
- GridLayout{
- columns: 2
- Label {
- Layout.minimumWidth: Math.max(centerFactor * root.width, minimumWidth)
- text: i18n("Length margin:")
- horizontalAlignment: Text.AlignRight
- }
-
- SpinBox{
- id: lengthMargin
-
- minimumValue: 1
- maximumValue: 64
- stepSize: 1
- suffix: " " + i18nc("pixels","px.")
- }
-
- Label {
- Layout.minimumWidth: Math.max(centerFactor * root.width, minimumWidth)
- text: i18n("Thickness margin:")
- horizontalAlignment: Text.AlignRight
- }
-
- SpinBox{
- id: thickMargin
-
- minimumValue: 0
- maximumValue: 64
- stepSize: 1
- suffix: " " + i18nc("pixels","px.")
- }
- }
-
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.separator/contents/ui/main.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.separator/contents/ui/main.qml
deleted file mode 100644
index ad1cae6..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.separator/contents/ui/main.qml
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Copyright 2019 Michail Vourlakos
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License or (at your option) version 3 or any later version
- * accepted by the membership of KDE e.V. (or its successor approved
- * by the membership of KDE e.V.), which shall act as a proxy
- * defined in Section 14 of version 3 of the license.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- */
-
-import QtQuick 2.4
-import QtQuick.Layouts 1.0
-import org.kde.plasma.plasmoid 2.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.extras 2.0 as PlasmaExtras
-Item {
- id: root
- readonly property bool horizontal: plasmoid.formFactor === PlasmaCore.Types.Horizontal
- readonly property bool planar: plasmoid.formFactor === PlasmaCore.Types.Planar
-
- Layout.fillWidth: horizontal ? false : true
- Layout.fillHeight: horizontal ? true : false
-
- Layout.minimumWidth: horizontal ? length : -1
- Layout.preferredWidth: Layout.minimumWidth
- Layout.maximumWidth: Layout.minimumWidth
-
- Layout.minimumHeight: !horizontal ? length : -1
- Layout.preferredHeight: Layout.minimumHeight
- Layout.maximumHeight: Layout.minimumHeight
-
- Plasmoid.preferredRepresentation: plasmoid.fullRepresentation
- Plasmoid.backgroundHints: planar ? PlasmaCore.Types.StandardBackground : PlasmaCore.Types.NoBackground
-
- readonly property int length: latteBridge && latteBridge.inEditMode ? Math.max(10, totalLength) : Math.max(1, totalLength)
- readonly property int totalLength: 2*plasmoid.configuration.lengthMargin
-
- readonly property int fullThickness: {
- if (!parent) {
- return 36;
- }
-
- return plasmoid.formFactor === PlasmaCore.Types.Vertical ? parent.width : parent.height
- }
- readonly property int thickness: (latteBridge ? latteBridge.iconSize - (2*thickMargin) : fullThickness - (2*thickMargin))
-
- readonly property int thickMargin: plasmoid.configuration.thickMargin
- readonly property int lengthMargn: plasmoid.configuration.lengthMargin
-
- function increaseLength() {
- plasmoid.configuration.lengthMargin = plasmoid.configuration.lengthMargin + 4;
- }
-
- function decreaseLength() {
- plasmoid.configuration.lengthMargin = Math.max(0,plasmoid.configuration.lengthMargin - 4);
- }
-
- //BEGIN Latte Dock Communicator
- property QtObject latteBridge: null // current Latte v0.9 API
-
- onLatteBridgeChanged: {
- if (latteBridge) {
- latteBridge.actions.setProperty(plasmoid.id, "latteSideColoringEnabled", false);
- }
- }
- //END Latte Dock Communicator
- //BEGIN Latte based properties
- readonly property bool enforceLattePalette: latteBridge && latteBridge.applyPalette && latteBridge.palette
- readonly property bool latteInEditMode: latteBridge && latteBridge.inEditMode
- //END Latte based properties
-
- Rectangle {
- id: sep
- anchors.centerIn: parent
-
- width: horizontal ? 1 : thickness
- height: !horizontal ? 1 : thickness
-
- color: enforceLattePalette ? latteBridge.palette.textColor : theme.textColor
- opacity: 0.4
- visible: !planar
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.separator/metadata.desktop b/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.separator/metadata.desktop
deleted file mode 100644
index e4d0c60..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.separator/metadata.desktop
+++ /dev/null
@@ -1,21 +0,0 @@
-[Desktop Entry]
-Name=Latte Separator
-Comment=For all your separation tasks
-
-Encoding=UTF-8
-Icon=filename-divider
-Keywords=separator
-Type=Service
-
-X-Plasma-API=declarativeappletscript
-X-Plasma-MainScript=ui/main.qml
-
-X-KDE-PluginInfo-Author=Michail Vourlakos
-X-KDE-PluginInfo-Category=Utilities
-X-KDE-PluginInfo-Email=mvourlakos@gmail.com
-X-KDE-PluginInfo-License=GPLv2
-X-KDE-PluginInfo-Name=org.kde.latte.separator
-X-KDE-PluginInfo-Version=0.1.2
-X-KDE-PluginInfo-Website=https://github.com/psifidotos/applet-latte-separator
-X-KDE-ServiceTypes=Plasma/Applet
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.sidebarbutton/CHANGELOG.md b/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.sidebarbutton/CHANGELOG.md
deleted file mode 100644
index 9952b7c..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.sidebarbutton/CHANGELOG.md
+++ /dev/null
@@ -1,25 +0,0 @@
-### CHANGELOG
-
-#### Version 0.2.1
-* fix edge default value in config window
-
-#### Version 0.2.0
-
-* provide All Edges option in order to trigger docks and panels independent of their screen edge
-* provide Dock, Panel Name option in order to filter which docks panels you want to handle
-* use Plasma.IconItem and remove any Latte icons dependency
-
-#### Version 0.1.2
-
-* remove no needed dependency form config window
-
-#### Version 0.1.1
-
-* support latest libraries from Latte git version
-
-#### Version 0.1.0
-
-* option to choose icon that will be used
-* option to choose the maximum icon size
-* option to choose sidebar based on screen edge, name and latte layout
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.sidebarbutton/LICENSE b/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.sidebarbutton/LICENSE
deleted file mode 100644
index d159169..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.sidebarbutton/LICENSE
+++ /dev/null
@@ -1,339 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Lesser General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-
- Copyright (C)
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) year name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- , 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.sidebarbutton/README.md b/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.sidebarbutton/README.md
deleted file mode 100644
index 542111a..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.sidebarbutton/README.md
+++ /dev/null
@@ -1,24 +0,0 @@
-# On Demand SideBar Button Applet
-
-This is a Plasma 5 applet that shows and hides OnDemand Latte SideBars.
-
-
-
-OnDemand SideBar applet inside a panel
-
-
-
-
-Settings
-
-
-# Requires
-
-- Latte >= 0.10
-- Plasma >= 5.12
-- KDeclarative
-
-# Install
-
-This is a QML applet and as such it can be easily installed from Plasma 5 Widgets Explorer or alternative you can execute `plasmapkg2 -i .` in the root directory of the applet.
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.sidebarbutton/contents/config/config.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.sidebarbutton/contents/config/config.qml
deleted file mode 100644
index 7a35eba..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.sidebarbutton/contents/config/config.qml
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
-* Copyright 2020 Michail Vourlakos
-*
-* This file is part of Latte-Dock
-*
-* Latte-Dock is free software; you can redistribute it and/or
-* modify it under the terms of the GNU General Public License as
-* published by the Free Software Foundation; either version 2 of
-* the License, or (at your option) any later version.
-*
-* Latte-Dock is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see .
-*/
-
-import QtQuick 2.0
-
-import org.kde.plasma.configuration 2.0
-
-ConfigModel {
- ConfigCategory {
- name: i18n("General")
- icon: "preferences-desktop"
- source: "config/ConfigGeneral.qml"
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.sidebarbutton/contents/config/main.xml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.sidebarbutton/contents/config/main.xml
deleted file mode 100644
index ec0ad82..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.sidebarbutton/contents/config/main.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
- 48
-
-
-
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.sidebarbutton/contents/ui/config/ConfigGeneral.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.sidebarbutton/contents/ui/config/ConfigGeneral.qml
deleted file mode 100644
index 9319e4c..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.sidebarbutton/contents/ui/config/ConfigGeneral.qml
+++ /dev/null
@@ -1,208 +0,0 @@
-/*
-* Copyright 2020 Michail Vourlakos
-*
-* This file is part of Latte-Dock
-*
-* Latte-Dock is free software; you can redistribute it and/or
-* modify it under the terms of the GNU General Public License as
-* published by the Free Software Foundation; either version 2 of
-* the License, or (at your option) any later version.
-*
-* Latte-Dock is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see .
-*/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.0
-import QtQuick.Controls 1.0 as QtControls
-
-import org.kde.plasma.plasmoid 2.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.components 2.0 as PlasmaComponents
-import org.kde.kirigami 2.5 as Kirigami
-
-import org.kde.kquickcontrolsaddons 2.0
-
-Item {
- id: generalPage
-
- width: childrenRect.width
- height: childrenRect.height
- implicitWidth: pageColumn.implicitWidth
- implicitHeight: pageColumn.implicitHeight
-
- property alias cfg_iconSource: generalPage.currentIconSource
- property alias cfg_layoutName: layoutNameTxt.text
- property alias cfg_maximumIconSize: iconMaxSizeSpn.value
- property alias cfg_screenEdge: generalPage.screenEdgeCurrentValue
- property alias cfg_screenName: screenNameTxt.text
- property alias cfg_viewName: viewNameTxt.text
-
- property bool vertical: (plasmoid.formFactor === PlasmaCore.Types.Vertical)
-
- property int screenEdgeCurrentValue: 4 /*AllEdges*/
- property string currentIconSource: ""
-
- Component.onCompleted: currentIconSource = plasmoid.configuration.iconSource
-
- IconDialog {
- id: iconDialog
- onIconNameChanged: currentIconSource = iconName;
- }
-
- PlasmaComponents.ContextMenu {
- id: iconMenu
- visualParent: iconButton
-
- PlasmaComponents.MenuItem {
- text: i18nc("@item:inmenu Open icon chooser dialog", "Choose...")
- icon: "document-open-folder"
- onClicked: iconDialog.open()
- }
-
- PlasmaComponents.MenuItem {
- text: i18nc("@item:inmenu Reset icon to default", "Clear Icon")
- icon: "edit-clear"
- onClicked: generalPage.currentIconSource = "";
- }
- }
-
- Kirigami.FormLayout {
- id: pageColumn
- anchors {
- left: parent.left
- right: parent.right
- }
-
- QtControls.Button {
- id: iconButton
- Layout.minimumWidth: units.iconSizes.large + units.smallSpacing * 2
- Layout.maximumWidth: Layout.minimumWidth
- Layout.minimumHeight: Layout.minimumWidth
- Layout.maximumHeight: Layout.minimumWidth
- height: Layout.minimumWidth
-
- Kirigami.FormData.label: i18n("Icon:")
-
- onClicked: {
- checked = Qt.binding(function() {
- return iconMenu.status === PlasmaComponents.DialogStatus.Open;
- })
-
- iconMenu.open(0, height);
- }
-
- PlasmaCore.IconItem {
- anchors.centerIn: parent
- width: units.iconSizes.large
- height: width
- source: currentIconSource === "" ? plasmoid.icon : currentIconSource
- }
- }
-
- RowLayout{
- spacing: units.smallSpacing
-
- QtControls.SpinBox{
- id: iconMaxSizeSpn
- minimumValue: 16
- maximumValue: 256
- suffix: " " + i18nc("pixels","px.")
- }
-
- QtControls.Label {
- Layout.leftMargin: units.smallSpacing
- text: "maximum"
- }
- }
-
- Item {
- Kirigami.FormData.isSection: true
- }
-
- QtControls.ComboBox {
- id: edgeCmb
- model: [i18n("Top"),
- i18n("Bottom"),
- i18n("Left"),
- i18n("Right"),
- i18n("All Edges")]
-
- currentIndex: {
- if (plasmoid.configuration.screenEdge === PlasmaCore.Types.Floating) {
- return 4;
- }
-
- return plasmoid.configuration.screenEdge - screenEdgeFirstValue
- }
- onCurrentIndexChanged: {
- if (currentIndex === 4 /*All Edges*/) {
- generalPage.screenEdgeCurrentValue = PlasmaCore.Types.Floating;
- return;
- }
-
- generalPage.screenEdgeCurrentValue = currentIndex + screenEdgeFirstValue
- }
-
- readonly property int screenEdgeFirstValue: 3
-
- Kirigami.FormData.label: i18n("On Demand SideBar:")
- }
-
- RowLayout {
- spacing: units.smallSpacing
-
- QtControls.TextField {
- id: viewNameTxt
- Layout.minimumWidth: 160
- text: plasmoid.configuration.viewName
- placeholderText: i18n("optional")
- }
-
- QtControls.Label {
- Layout.leftMargin: units.smallSpacing
- text: "dock or panel name"
- }
- }
-
- RowLayout {
- spacing: units.smallSpacing
-
- QtControls.TextField {
- id: screenNameTxt
- Layout.minimumWidth: 160
- text: plasmoid.configuration.screenName
- placeholderText: i18n("optional")
- }
-
- QtControls.Label {
- Layout.leftMargin: units.smallSpacing
- text: "screen name"
- }
- }
-
- RowLayout {
- spacing: units.smallSpacing
-
- QtControls.TextField {
- id: layoutNameTxt
- Layout.minimumWidth: 160
- text: plasmoid.configuration.layoutName
- placeholderText: i18n("optional")
- }
-
- QtControls.Label {
- Layout.leftMargin: units.smallSpacing
- text: "layout"
- }
- }
- }
-
-
-}
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.sidebarbutton/contents/ui/main.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.sidebarbutton/contents/ui/main.qml
deleted file mode 100644
index 40bdc5e..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.sidebarbutton/contents/ui/main.qml
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Copyright 2020 Michail Vourlakos
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License or (at your option) version 3 or any later version
- * accepted by the membership of KDE e.V. (or its successor approved
- * by the membership of KDE e.V.), which shall act as a proxy
- * defined in Section 14 of version 3 of the license.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- */
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.1
-import QtQuick.Window 2.2
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.plasmoid 2.0
-
-Item{
- id: root
-
- Plasmoid.preferredRepresentation: Plasmoid.fullRepresentation
-
- Layout.fillWidth: !isHorizontal
- Layout.fillHeight: isHorizontal
-
- Layout.minimumWidth: -1
- Layout.minimumHeight: -1
- Layout.preferredWidth: {
- if (isInLatte) {
- return Math.min(latteBridge.iconSize, plasmoid.configuration.maximumIconSize);
- }
-
- return isHorizontal ? Math.min(height, plasmoid.configuration.maximumIconSize) : height;
- }
-
- Layout.preferredHeight: {
- if (isInLatte) {
- return Math.min(latteBridge.iconSize, plasmoid.configuration.maximumIconSize);
- }
-
- return isHorizontal ? width : Math.min(width, plasmoid.configuration.maximumIconSize);
- }
-
- Layout.maximumWidth: Layout.preferredWidth
- Layout.maximumHeight: Layout.preferredHeight
-
- readonly property bool isHorizontal: plasmoid.formFactor === PlasmaCore.Types.Horizontal
-
- Plasmoid.onActivated: toggle();
-
- readonly property string iconSource: plasmoid.configuration.iconSource === "" ? Plasmoid.icon : plasmoid.configuration.iconSource
- readonly property string screenName: plasmoid.configuration.screenName === "" ? Screen.name : plasmoid.configuration.screenName
-
- //BEGIN Latte Dock Communicator
- property QtObject latteBridge: null // current Latte v0.9 API
- //END Latte Dock Communicator
-
- //BEGIN Latte based properties
- readonly property bool enforceLattePalette: latteBridge && latteBridge.applyPalette && latteBridge.palette
- readonly property bool isInLatte: latteBridge !== null
- readonly property bool latteInEditMode: latteBridge && latteBridge.inEditMode
- //END Latte based properties
-
- PlasmaCore.DataSource {
- id: executable
- engine: "executable"
- connectedSources: []
- onNewData: disconnectSource(sourceName)
-
- function exec(cmd) {
- executable.connectSource(cmd)
- }
- }
-
- function toggle() {
- var command = 'dbus-send --type=method_call --dest=org.kde.lattedock /Latte org.kde.LatteDock.toggleHiddenState ';
- var options = 'string:"' + plasmoid.configuration.layoutName + '" ';
- options = options + 'string:"' + plasmoid.configuration.viewName + '" ';
- options = options + 'string:"' + root.screenName + '" ';
- options = options + 'int32:' + plasmoid.configuration.screenEdge;
- command = command + options;
-
- executable.exec(command);
- }
-
- PlasmaCore.IconItem {
- id: icon
- anchors.centerIn: parent
- width: Math.min(parent.width, parent.height)
- height: width
- roundToIconSize: !isInLatte
- source: root.iconSource
- }
-
- MouseArea {
- anchors.fill: parent
- onClicked: toggle();
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.sidebarbutton/metadata.desktop b/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.sidebarbutton/metadata.desktop
deleted file mode 100644
index e193814..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.sidebarbutton/metadata.desktop
+++ /dev/null
@@ -1,20 +0,0 @@
-[Desktop Entry]
-Name=Latte SideBar Button
-Comment=Show and hide Latte SideBars
-
-Encoding=UTF-8
-Icon=view-list-text
-Type=Service
-
-X-Plasma-API=declarativeappletscript
-X-Plasma-MainScript=ui/main.qml
-
-X-KDE-PluginInfo-Author=Michail Vourlakos
-X-KDE-PluginInfo-Category=Utilities
-X-KDE-PluginInfo-Email=mvourlakos@gmail.com
-X-KDE-PluginInfo-License=GPLv2
-X-KDE-PluginInfo-Name=org.kde.latte.sidebarbutton
-X-KDE-PluginInfo-Version=0.2.1
-X-KDE-PluginInfo-Website=https://github.com/psifidotos/applet-latte-sidebar-button
-X-KDE-ServiceTypes=Plasma/Applet
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.spacer/CHANGELOG.md b/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.spacer/CHANGELOG.md
deleted file mode 100644
index 6fc927a..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.spacer/CHANGELOG.md
+++ /dev/null
@@ -1,14 +0,0 @@
-### CHANGELOG
-
-#### Version 0.3.0
-
-* support new Latte v0.9 Communication API
-* add an option to use the current Latte icon size in order to work properly with Latte parabolic effect
-
-#### Version 0.2
-
-* Length option can support three different modes:
--- based on pixels
--- based on panel thickness
--- fill the entire available space
-* improve configuration window in order to follow Window Applet(s) style
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.spacer/LICENSE b/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.spacer/LICENSE
deleted file mode 100644
index d159169..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.spacer/LICENSE
+++ /dev/null
@@ -1,339 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Lesser General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-
- Copyright (C)
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) year name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- , 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.spacer/README.md b/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.spacer/README.md
deleted file mode 100644
index b9442be..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.spacer/README.md
+++ /dev/null
@@ -1,22 +0,0 @@
-# Latte Spacer
-
-This is a Plasma 5 applet that acts as a spacer between applets. This plasmoid is coming from [Latte land](https://phabricator.kde.org/source/latte-dock/repository/master/) but it can also support Plasma panels.
-
-
-
-Latte Spacer between PlayBar2 and Plasma systray, all inside a Latte panel
-
-
-
-
-Appearance Settings
-
-
-# Requires
-
-- Plasma >= 5.8
-
-# Install
-
-This is a QML applet and as such it can be easily installed from Plasma 5 Widgets Explorer or alternative you can execute `plasmapkg2 -i .` in the root directory of the applet.
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.spacer/contents/config/config.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.spacer/contents/config/config.qml
deleted file mode 100644
index 4b47a2c..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.spacer/contents/config/config.qml
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
-* Copyright 2017 Smith AR
-* Michail Vourlakos
-*
-* This file is part of Latte-Dock
-*
-* Latte-Dock is free software; you can redistribute it and/or
-* modify it under the terms of the GNU General Public License as
-* published by the Free Software Foundation; either version 2 of
-* the License, or (at your option) any later version.
-*
-* Latte-Dock is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see .
-*/
-
-import QtQuick 2.0
-
-import org.kde.plasma.configuration 2.0
-
-ConfigModel {
- ConfigCategory {
- name: i18n("Appearance")
- icon: "preferences-desktop-display-color"
- source: "ConfigAppearance.qml"
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.spacer/contents/config/main.xml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.spacer/contents/config/main.xml
deleted file mode 100644
index aae438e..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.spacer/contents/config/main.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- 0
-
-
-
- 48
-
-
-
- 150
-
-
-
-
-
-
-
-
- 0
-
-
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.spacer/contents/ui/ConfigAppearance.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.spacer/contents/ui/ConfigAppearance.qml
deleted file mode 100644
index 7d64f3f..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.spacer/contents/ui/ConfigAppearance.qml
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
-* Copyright 2019 Michail Vourlakos
-*
-* This file is part of Latte-Dock
-*
-* Latte-Dock is free software; you can redistribute it and/or
-* modify it under the terms of the GNU General Public License as
-* published by the Free Software Foundation; either version 2 of
-* the License, or (at your option) any later version.
-*
-* Latte-Dock is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see .
-*/
-
-import QtQuick 2.0
-import QtQuick.Controls 1.0
-import QtQuick.Layouts 1.0
-import QtGraphicalEffects 1.0
-
-import org.kde.plasma.core 2.0 as PlasmaCore
-
-Item {
- id: root
-
- property bool vertical: (plasmoid.formFactor === PlasmaCore.Types.Vertical)
-
- property alias cfg_lengthType: root.lengthType
- property alias cfg_lengthPixels: lengthPixels.value
- property alias cfg_lengthPercentage: lengthPercentage.value
-
- // used from the ui
- readonly property real centerFactor: 0.3
- readonly property int minimumWidth: 220
- property int lengthType: 0
-
- ColumnLayout {
- spacing: units.largeSpacing
- Layout.fillWidth: true
-
- GridLayout{
- columns: 2
- Label {
- Layout.minimumWidth: Math.max(centerFactor * root.width, minimumWidth)
- text: i18n("Length:")
- horizontalAlignment: Text.AlignRight
- }
-
- ExclusiveGroup {
- id: lengthTypeGroup
- onCurrentChanged: {
- root.lengthType = current.type;
- }
- }
-
- RowLayout {
- RadioButton {
- id: usePixels
- checked: root.lengthType === type
- exclusiveGroup: lengthTypeGroup
-
- readonly property int type: 0 /*Pixels*/
- }
-
- SpinBox{
- id: lengthPixels
- Layout.minimumWidth: Math.max(lengthPixels.implicitWidth, lengthPercentage.implicitWidth)
-
- minimumValue: 0
- maximumValue: 1024
- stepSize: 10
- suffix: " " + i18nc("pixels","px.")
- }
- }
-
- Label {}
-
- RowLayout {
- RadioButton {
- id: usePercentage
- checked: root.lengthType === type
- exclusiveGroup: lengthTypeGroup
-
- readonly property int type: 1 /*Percentage*/
- }
-
- SpinBox {
- id: lengthPercentage
- Layout.minimumWidth: Math.max(lengthPixels.implicitWidth, lengthPercentage.implicitWidth)
-
- minimumValue: 0
- maximumValue: 1000
- stepSize: 20
- suffix: " %"
- }
-
- Label {
- height: lengthPercentage.height
- text: " " + i18n(" of panel thickness")
- }
- }
-
- Label {visible: plasmoid.configuration.containmentType === 2} /*Latte containmnent*/
-
- RowLayout {
- visible: plasmoid.configuration.containmentType === 2 /*Latte containmnent*/
-
- RadioButton {
- id: latteIcon
- checked: root.lengthType === type
- exclusiveGroup: lengthTypeGroup
-
- readonly property int type: 3 /*Latte Icon*/
- }
-
- Label {
- height: lengthPercentage.height
- Layout.leftMargin: 4
- text: i18n("use Latte icon size")
- }
- }
-
- Label {}
-
- RowLayout {
- RadioButton {
- id: useExpanded
- checked: root.lengthType === type
- exclusiveGroup: lengthTypeGroup
-
- readonly property int type: 2 /*Exclusive*/
- }
-
- Label {
- height: lengthPercentage.height
- Layout.leftMargin: 4
- text: i18n("fill available space")
- }
-
- SpinBox {
- opacity: 0
- }
- }
- }
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.spacer/contents/ui/main.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.spacer/contents/ui/main.qml
deleted file mode 100644
index 076ffb6..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.spacer/contents/ui/main.qml
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * Copyright 2019 Michail Vourlakos
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License or (at your option) version 3 or any later version
- * accepted by the membership of KDE e.V. (or its successor approved
- * by the membership of KDE e.V.), which shall act as a proxy
- * defined in Section 14 of version 3 of the license.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- */
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.1
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.plasmoid 2.0
-
-Item{
- id: root
-
- Plasmoid.preferredRepresentation: Plasmoid.fullRepresentation
-
- Layout.fillWidth: horizontal && plasmoid.configuration.lengthType===2 || /*Expanded OR vertical Percentage*/
- !horizontal && plasmoid.configuration.lengthType===2 ? true : false
- Layout.fillHeight: !horizontal && plasmoid.configuration.lengthType===2 || /*Expanded OR horizontal Percentage*/
- horizontal && plasmoid.configuration.lengthType===2 ? true : false
-
- property bool horizontal: plasmoid.formFactor !== PlasmaCore.Types.Vertical
- property int lengthType: plasmoid.configuration.lengthType
-
- property int pixelStep: 10
- property int percentageStep: 20
-
- readonly property int thickness: horizontal ? root.height : root.width
-
- property int length: {
- //this is calculated in pixels
- if (lengthType===0) { /*Pixels*/
- return plasmoid.configuration.lengthPixels;
- } else if (lengthType===1) { /*Percentage*/
- return thickness * (plasmoid.configuration.lengthPercentage / 100);
- } else if (lengthType === 3 && latteBridge) {
- return -1; /*default Latte behavior - Square layout*/
- }
-
- return Infinity;
- }
-
- //BEGIN Latte Dock Communicator
- property QtObject latteBridge: null // current Latte v0.9 API
-
- onLatteBridgeChanged: {
- if (latteBridge) {
- plasmoid.configuration.containmentType = 2; /*Latte containment with new API*/
- latteBridge.actions.setProperty(plasmoid.id, "latteSideColoringEnabled", false);
- latteBridge.actions.setProperty(plasmoid.id, "lengthMarginsEnabled", latteBridge.parabolicEffectEnabled);
- updateValues();
- }
- }
-
- Connections {
- target: latteBridge
- onParabolicEffectEnabledChanged: {
- latteBridge.actions.setProperty(plasmoid.id, "lengthMarginsEnabled", latteBridge.parabolicEffectEnabled);
- }
- }
- //END Latte Dock Communicator
-
- //BEGIN Latte based properties
- readonly property bool enforceLattePalette: latteBridge && latteBridge.applyPalette && latteBridge.palette
- readonly property bool latteInEditMode: latteBridge && latteBridge.inEditMode
- //END Latte based properties
-
- onLengthChanged: updateValues();
- onLengthTypeChanged: updateValues();
- Component.onCompleted: {
- containmentIdentifierTimer.start();
- updateValues();
- }
-
- function updateValues() {
- if (lengthType !== 2) { /* !Expanded */
- if (horizontal) {
- Layout.minimumWidth = length;
- Layout.preferredWidth = length;
- Layout.maximumWidth = length;
- Layout.minimumHeight = -1;
- Layout.preferredHeight = -1;
- Layout.maximumHeight = -1;
- } else {
- Layout.minimumHeight = length;
- Layout.preferredHeight = length;
- Layout.maximumHeight = length;
- Layout.minimumWidth = -1;
- Layout.preferredWidth = -1;
- Layout.maximumWidth = -1;
- }
- } else {
- Layout.minimumWidth = -1;
- Layout.preferredWidth = -1;
- Layout.maximumWidth = -1;
- Layout.minimumHeight = -1;
- Layout.preferredHeight = -1;
- Layout.maximumHeight = -1;
- }
- }
-
- function increaseLength() {
- if (lengthType === 0) { /*Pixels*/
- plasmoid.configuration.lengthPixels = plasmoid.configuration.lengthPixels + pixelStep;
- } else if (lengthType === 1) { /*Percentage*/
- plasmoid.configuration.lengthPercentage = plasmoid.configuration.lengthPercentage + percentageStep;
- }
- }
-
- function decreaseLength() {
- if (lengthType === 0) { /*Pixels*/
- plasmoid.configuration.lengthPixels = Math.max(5, plasmoid.configuration.lengthPixels - pixelStep);
- } else if (lengthType === 1) { /*Percentage*/
- plasmoid.configuration.lengthPercentage = Math.max(10, plasmoid.configuration.lengthPercentage - percentageStep);
- }
- }
-
- Loader{
- active: latteInEditMode
- anchors.fill: parent
-
- sourceComponent: Rectangle{
- anchors.fill: parent
- border.width: 1
- border.color: theme.highlightColor
- color: alphaBackColor
-
- property color alphaBackColor: Qt.rgba(theme.highlightColor.r, theme.highlightColor.g, theme.highlightColor.b, 0.5)
- }
- }
-
- //! this timer is used in order to identify in which containment the applet is in
- //! it should be called only the first time an applet is created and loaded because
- //! afterwards the applet has no way to move between different processes such
- //! as Plasma and Latte
- Timer{
- id: containmentIdentifierTimer
- interval: 5000
- onTriggered: {
- if (latteBridge) {
- plasmoid.configuration.containmentType = 2; /*Latte containment with new API*/
- } else {
- plasmoid.configuration.containmentType = 1; /*Plasma containment or Latte with old API*/
- }
-
- updateValues();
- }
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.spacer/metadata.desktop b/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.spacer/metadata.desktop
deleted file mode 100644
index 3cbfadd..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.latte.spacer/metadata.desktop
+++ /dev/null
@@ -1,20 +0,0 @@
-[Desktop Entry]
-Name=Latte Spacer
-Comment=Reserve empty spaces within panels and docks
-
-Encoding=UTF-8
-Icon=filename-space-amarok
-Keywords=spacer panel dock
-Type=Service
-
-X-Plasma-API=declarativeappletscript
-X-Plasma-MainScript=ui/main.qml
-
-X-KDE-PluginInfo-Author=Michail Vourlakos
-X-KDE-PluginInfo-Category=Utilities
-X-KDE-PluginInfo-Email=mvourlakos@gmail.com
-X-KDE-PluginInfo-License=GPLv2
-X-KDE-PluginInfo-Name=org.kde.latte.spacer
-X-KDE-PluginInfo-Version=0.3.0
-X-KDE-PluginInfo-Website=https://github.com/psifidotos/latte-spacer
-X-KDE-ServiceTypes=Plasma/Applet
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.netspeedWidget/contents/ui/CompactRepresentation.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.netspeedWidget/contents/ui/CompactRepresentation.qml
index 85d2339..76b71e9 100644
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.netspeedWidget/contents/ui/CompactRepresentation.qml
+++ b/Configs/Home/.local/share/plasma/plasmoids/org.kde.netspeedWidget/contents/ui/CompactRepresentation.qml
@@ -14,10 +14,11 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-import QtQuick 2.5
-import QtQuick.Layouts 1.1
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.private.quicklaunch 1.0
+import QtQuick
+import QtQuick.Layouts
+import org.kde.plasma.core as PlasmaCore
+import org.kde.plasma.plasma5support as Plasma5Support
+import org.kde.kirigami as Kirigami
Item {
anchors.fill: parent
@@ -53,7 +54,7 @@ Item {
switch (speedLayout) {
case 'rows': return false
case 'columns': return true
- default: return height / 2 * fontSizeScale < theme.smallestFont.pixelSize && plasmoid.formFactor != PlasmaCore.Types.Vertical
+ default: return height / 2 * fontSizeScale < Kirigami.Theme.smallFont.pixelSize && plasmoid.formFactor != PlasmaCore.Types.Vertical
}
}
@@ -100,7 +101,7 @@ Item {
} else if (plasmoid.formFactor === PlasmaCore.Types.Horizontal) {
return 0
} else {
- return Math.ceil(theme.smallestFont.pixelSize / fontSizeScale)
+ return Math.ceil(Kirigami.Theme.smallFont.pixelSize / fontSizeScale)
}
}
@@ -159,14 +160,15 @@ Item {
font.pixelSize: 64
}
- PlasmaCore.DataSource {
+ Plasma5Support.DataSource {
id: appsSource
engine: 'apps'
connectedSources: launchApplication
}
- Logic {
- id: kRun
+ Loader {
+ id: 'launcher'
+ source: 'Launcher.qml'
}
Item {
@@ -191,7 +193,7 @@ Item {
renderType: Text.NativeRendering
text: showSeparately ? (swapDownUp ? '↑' : '↓') : '↓↑'
- color: theme.textColor
+ color: Kirigami.Theme.textColor
visible: showIcons
}
@@ -227,7 +229,7 @@ Item {
renderType: Text.NativeRendering
text: speedUnit(showSeparately ? (swapDownUp ? upSpeed : downSpeed) : downSpeed + upSpeed)
- color: theme.textColor
+ color: Kirigami.Theme.textColor
visible: showUnits
}
@@ -245,7 +247,7 @@ Item {
renderType: Text.NativeRendering
text: swapDownUp ? '↓' : '↑'
- color: theme.textColor
+ color: Kirigami.Theme.textColor
visible: showSeparately && showIcons
}
@@ -282,7 +284,7 @@ Item {
renderType: Text.NativeRendering
text: speedUnit(swapDownUp ? downSpeed : upSpeed)
- color: theme.textColor
+ color: Kirigami.Theme.textColor
visible: showSeparately && showUnits
}
@@ -291,8 +293,8 @@ Item {
enabled: launchApplicationEnabled
onClicked: {
- if (appsSource.data[launchApplication]) {
- kRun.openUrl("file:" + appsSource.data[launchApplication].entryPath)
+ if (launcher.item && appsSource.data[launchApplication]) {
+ launcher.item.launch("file:" + appsSource.data[launchApplication].entryPath)
}
}
}
@@ -331,7 +333,7 @@ Item {
function speedColor(value) {
if (!customColors) {
- return theme.textColor
+ return Kirigami.Theme.textColor
}
if (speedUnits === 'bits') {
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.netspeedWidget/contents/ui/Launcher.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.netspeedWidget/contents/ui/Launcher.qml
new file mode 100644
index 0000000..6212b7c
--- /dev/null
+++ b/Configs/Home/.local/share/plasma/plasmoids/org.kde.netspeedWidget/contents/ui/Launcher.qml
@@ -0,0 +1,12 @@
+import QtQuick 2.5
+import org.kde.plasma.private.quicklaunch 1.0
+
+Item {
+ Logic {
+ id: kRun
+ }
+
+ function launch(url) {
+ kRun.openUrl(url)
+ }
+}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.netspeedWidget/contents/ui/config/AppMenuDialog.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.netspeedWidget/contents/ui/config/AppMenuDialog.qml
index ed08a68..291501e 100644
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.netspeedWidget/contents/ui/config/AppMenuDialog.qml
+++ b/Configs/Home/.local/share/plasma/plasmoids/org.kde.netspeedWidget/contents/ui/config/AppMenuDialog.qml
@@ -14,24 +14,26 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-import QtQuick 2.2
-import QtQuick.Layouts 1.1
-import QtQuick.Dialogs 1.2
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.components 2.0 as PlasmaComponents
-import org.kde.plasma.extras 2.0 as PlasmaExtras
+import QtQuick
+import QtQuick.Layouts
+import QtQuick.Dialogs
+import QtQuick.Controls
+import org.kde.kirigami as Kirigami
+import org.kde.plasma.plasma5support as Plasma5Support
+import org.kde.plasma.components as PlasmaComponents
+import org.kde.plasma.extras as PlasmaExtras
Dialog {
id: appMenuDialog
title: i18n('Choose an application')
- standardButtons: StandardButton.Cancel
+ standardButtons: Dialog.Cancel
width: 300
height: 400
property string selectedMenuId: ''
- PlasmaCore.DataSource {
+ Plasma5Support.DataSource {
id: appsSource
engine: 'apps'
connectedSources: sources
@@ -41,9 +43,9 @@ Dialog {
id: appsModel
}
- PlasmaExtras.ScrollArea {
+ PlasmaComponents.ScrollView {
width: parent.width
- height: 400
+ height: parent.height
ListView {
id: apps
@@ -52,13 +54,13 @@ Dialog {
model: appsModel
- highlight: PlasmaComponents.Highlight {}
+ highlight: PlasmaExtras.Highlight {}
highlightMoveDuration: 0
highlightResizeDuration: 0
delegate: Item {
- width: parent.width
- height: units.iconSizes.small + 2*units.smallSpacing
+ width: apps.width - 20
+ height: Kirigami.Units.iconSizes.small + 2*Kirigami.Units.smallSpacing
property bool isHovered: false
@@ -80,18 +82,14 @@ Dialog {
}
RowLayout {
- x: units.smallSpacing
- y: units.smallSpacing
-
- Item { // Hack - since setting the dimensions of PlasmaCore.IconItem won't work
- height: units.iconSizes.small
- width: height
-
- PlasmaCore.IconItem {
- anchors.fill: parent
- source: appsSource.data[desktop].iconName
- active: isHovered
- }
+ x: Kirigami.Units.smallSpacing
+ y: Kirigami.Units.smallSpacing
+
+ Kirigami.Icon {
+ source: appsSource.data[desktop].iconName
+ active: isHovered
+ implicitHeight: Kirigami.Units.iconSizes.small
+ implicitWidth: implicitHeight
}
PlasmaComponents.Label {
@@ -105,22 +103,22 @@ Dialog {
section.property: 'category'
section.delegate: Item {
- width: parent.width
- height: units.iconSizes.small + 2*units.smallSpacing
+ width: parent.width - 20
+ height: Kirigami.Units.iconSizes.small + 2*Kirigami.Units.smallSpacing
Rectangle {
anchors.fill: parent
- color: theme.complementaryBackgroundColor
+ color: Kirigami.Theme.alternateBackgroundColor
PlasmaComponents.Label {
- x: units.smallSpacing
+ x: Kirigami.Units.smallSpacing
y: 0
- width: parent.width - 2*units.smallSpacing
+ width: parent.width - 2*Kirigami.Units.smallSpacing
height: parent.height
verticalAlignment: Text.AlignVCenter
text: section
font.bold: true
- color: theme.complementaryTextColor
+ color: Kirigami.Theme.textColor
}
}
}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.netspeedWidget/contents/ui/config/AppPicker.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.netspeedWidget/contents/ui/config/AppPicker.qml
index de2fbf7..a803615 100644
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.netspeedWidget/contents/ui/config/AppPicker.qml
+++ b/Configs/Home/.local/share/plasma/plasmoids/org.kde.netspeedWidget/contents/ui/config/AppPicker.qml
@@ -17,9 +17,9 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see
*/
-import QtQuick 2.2
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.components 2.0 as PlasmaComponents
+import QtQuick
+import org.kde.plasma.plasma5support as Plasma5Support
+import org.kde.plasma.components as PlasmaComponents
Item {
id: appPicker
@@ -38,7 +38,7 @@ Item {
}
}
- PlasmaCore.DataSource {
+ Plasma5Support.DataSource {
id: appsSource
engine: 'apps'
connectedSources: sources
@@ -46,11 +46,13 @@ Item {
PlasmaComponents.Button {
id: appButton
+ text: i18n('Choose application ...')
onClicked: appMenuDialog.open()
}
AppMenuDialog {
id: appMenuDialog
+ x: (parent.width - width) / 2
onAccepted: {
menuId = selectedMenuId
}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.netspeedWidget/contents/ui/config/ColorPicker.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.netspeedWidget/contents/ui/config/ColorPicker.qml
index 329235e..54ec489 100644
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.netspeedWidget/contents/ui/config/ColorPicker.qml
+++ b/Configs/Home/.local/share/plasma/plasmoids/org.kde.netspeedWidget/contents/ui/config/ColorPicker.qml
@@ -18,11 +18,10 @@
* along with this program. If not, see
*/
-import QtQuick 2.2
-import QtQuick.Layouts 1.0
-// import QtQuick.Controls 1.2 as QtControls
-import QtQuick.Dialogs 1.0 as QtDialogs
-// import org.kde.plasma.core 2.0 as PlasmaCore
+import QtQuick
+import QtQuick.Layouts
+import QtQuick.Dialogs as QtDialogs
+import Qt.labs.platform
Item {
id: colorPicker
@@ -44,7 +43,7 @@ Item {
color: Qt.darker(colorDialog.color, 1.5)
}
- QtDialogs.ColorDialog {
+ ColorDialog {
id: colorDialog
}
}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.netspeedWidget/contents/ui/config/ConfigAdvanced.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.netspeedWidget/contents/ui/config/ConfigAdvanced.qml
index 7aeb542..00c754d 100644
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.netspeedWidget/contents/ui/config/ConfigAdvanced.qml
+++ b/Configs/Home/.local/share/plasma/plasmoids/org.kde.netspeedWidget/contents/ui/config/ConfigAdvanced.qml
@@ -14,24 +14,30 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-import QtQuick 2.2
-import QtQuick.Controls 1.3
-import QtQuick.Layouts 1.1
-import org.kde.plasma.core 2.0 as PlasmaCore
+import QtQuick
+import QtQuick.Controls
+import QtQuick.Layouts
+import org.kde.kirigami as Kirigami
+import org.kde.plasma.plasma5support as Plasma5Support
import "../../code/utils.js" as Utils
-Item {
+Kirigami.FormLayout {
property alias cfg_launchApplicationEnabled: launchApplicationEnabled.checked
property alias cfg_launchApplication: launchApplication.menuId
property alias cfg_interfacesWhitelistEnabled: interfacesWhitelistEnabled.checked
property var cfg_interfacesWhitelist: []
- PlasmaCore.DataSource {
+ Loader {
+ id: 'launcher'
+ source: '../Launcher.qml'
+ }
+
+ Plasma5Support.DataSource {
id: dataSource
engine: 'executable'
connectedSources: [Utils.NET_DATA_SOURCE]
- onNewData: {
+ onNewData: (sourceName, data) => {
// run just once
connectedSources.length = 0
@@ -67,11 +73,18 @@ Item {
CheckBox {
id: launchApplicationEnabled
text: i18n('Launch application when clicked:')
+ enabled: launcher.item != null
}
AppPicker {
id: launchApplication
- enabled: launchApplicationEnabled.checked
+ enabled: launcher.item != null && launchApplicationEnabled.checked
+ }
+
+ Text {
+ text: i18n('If you want to lauch an application,\nyou need to install the package plasma-addons first.')
+ visible: launcher.item == null
+ Layout.columnSpan: 2
}
CheckBox {
@@ -84,10 +97,10 @@ Item {
height: 200
border {
width: 1
- color: "lightgrey"
+ color: Kirigami.Theme.alternateBackgroundColor
}
radius: 2
- color: interfacesWhitelistEnabled.checked ? "#FFFFFFFF" : "#20FFFFFF"
+ color: Kirigami.Theme.backgroundColor
Layout.columnSpan: 2
Layout.fillWidth: true
@@ -104,13 +117,13 @@ Item {
delegate: Item {
id: interfaceItem
- height: units.iconSizes.smallMedium + 2*units.smallSpacing
+ height: Kirigami.Units.iconSizes.smallMedium + 2*Kirigami.Units.smallSpacing
property bool isHovered: false
CheckBox {
- x: units.smallSpacing
- y: units.smallSpacing
+ x: Kirigami.Units.smallSpacing
+ y: Kirigami.Units.smallSpacing
text: name
checked: shown
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.netspeedWidget/contents/ui/config/ConfigGeneral.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.netspeedWidget/contents/ui/config/ConfigGeneral.qml
index 14090f3..3286ca3 100644
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.netspeedWidget/contents/ui/config/ConfigGeneral.qml
+++ b/Configs/Home/.local/share/plasma/plasmoids/org.kde.netspeedWidget/contents/ui/config/ConfigGeneral.qml
@@ -14,11 +14,12 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-import QtQuick 2.2
-import QtQuick.Controls 1.3
-import QtQuick.Layouts 1.1
+import QtQuick
+import QtQuick.Controls
+import QtQuick.Layouts
+import org.kde.kirigami as Kirigami
-Item {
+Kirigami.FormLayout {
property alias cfg_showSeparately: showSeparately.checked
property alias cfg_showLowSpeeds: showLowSpeeds.checked
property string cfg_speedLayout: 'auto'
@@ -125,7 +126,7 @@ Item {
}
}
- property string currentValue: model[currentIndex]['value']
+ property string currentVal: model[currentIndex]['value']
}
CheckBox {
@@ -165,11 +166,11 @@ Item {
SpinBox {
id: fontSize
- minimumValue: 10
- maximumValue: 200
- decimals: 0
+ from: 10
+ to: 200
stepSize: 5
- suffix: ' %'
+ textFromValue: function(value) { return value + ' %'; }
+ valueFromText: function(text) { return Number(text.remove(RegExp(' %$'))); }
}
Label {
@@ -178,27 +179,28 @@ Item {
SpinBox {
id: updateInterval
- minimumValue: 0.1
- maximumValue: 10
- decimals: 1
- stepSize: 0.1
- suffix: ' s'
+ from: 1
+ to: 10
+ stepSize: 1
+ textFromValue: function(value) { return value + ' s'; }
+ valueFromText: function(text) { return Number(text.remove(RegExp(' s$'))); }
}
GroupBox {
- id: customColors
- title: 'Use custom colors'
- checkable: true
+ label: CheckBox {
+ id: customColors
+ text: 'Use custom colors'
+ }
Layout.columnSpan: 2
GridLayout {
anchors.fill: parent
- anchors.margins: units.smallSpacing
+ anchors.margins: Kirigami.Units.smallSpacing
columns: 2
Label {
text: {
- if (speedUnits.currentValue === 'bits') {
+ if (speedUnits.currentVal === 'bits') {
return shortUnits.checked ? 'b' : 'b/s:'
} else {
return shortUnits.checked ? 'B' : 'B/s:'
@@ -213,7 +215,7 @@ Item {
Label {
text: {
- if (speedUnits.currentValue === 'bits') {
+ if (speedUnits.currentVal === 'bits') {
return shortUnits.checked ? 'k:' : 'kb/s:'
} else {
return shortUnits.checked ? 'K:' : 'KiB/s:'
@@ -228,7 +230,7 @@ Item {
Label {
text: {
- if (speedUnits.currentValue === 'bits') {
+ if (speedUnits.currentVal === 'bits') {
return shortUnits.checked ? 'm:' : 'Mb/s:'
} else {
return shortUnits.checked ? 'M:' : 'MiB/s:'
@@ -243,7 +245,7 @@ Item {
Label {
text: {
- if (speedUnits.currentValue === 'bits') {
+ if (speedUnits.currentVal === 'bits') {
return shortUnits.checked ? 'g:' : 'Gb/s:'
} else {
return shortUnits.checked ? 'G:' : 'GiB/s:'
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.netspeedWidget/contents/ui/main.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.netspeedWidget/contents/ui/main.qml
index f3a0c00..df3b526 100644
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.netspeedWidget/contents/ui/main.qml
+++ b/Configs/Home/.local/share/plasma/plasmoids/org.kde.netspeedWidget/contents/ui/main.qml
@@ -14,13 +14,12 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-import QtQuick 2.2
-import org.kde.plasma.plasmoid 2.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.ksysguard.sensors 1.0 as Sensors
+import QtQuick
+import org.kde.plasma.plasmoid
+import org.kde.plasma.plasma5support as Plasma5Support
import "../code/utils.js" as Utils
-Item {
+PlasmoidItem {
property bool showSeparately: plasmoid.configuration.showSeparately
property bool showLowSpeeds: plasmoid.configuration.showLowSpeeds
property string speedLayout: plasmoid.configuration.speedLayout
@@ -46,16 +45,17 @@ Item {
property var transferData: {}
property var speedData: {}
- Plasmoid.preferredRepresentation: Plasmoid.compactRepresentation
- Plasmoid.compactRepresentation: CompactRepresentation {}
+ fullRepresentation: CompactRepresentation {} // HACK: Remove whenever preferredRepresentation stops being ignored
+ compactRepresentation: CompactRepresentation {}
+ preferredRepresentation: compactRepresentation
- PlasmaCore.DataSource {
+ Plasma5Support.DataSource {
id: dataSource
engine: 'executable'
connectedSources: [Utils.NET_DATA_SOURCE]
interval: updateInterval * 1000
- onNewData: {
+ onNewData: (sourceName, data) => {
if (data['exit code'] > 0) {
print(data.stderr)
} else {
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.netspeedWidget/metadata.json b/Configs/Home/.local/share/plasma/plasmoids/org.kde.netspeedWidget/metadata.json
new file mode 100644
index 0000000..4400f82
--- /dev/null
+++ b/Configs/Home/.local/share/plasma/plasmoids/org.kde.netspeedWidget/metadata.json
@@ -0,0 +1,25 @@
+{
+ "KPlugin": {
+ "Authors": [
+ {
+ "Email": "hessijames@gmail.com",
+ "Name": "Daniel Faust"
+ }
+ ],
+ "Category": "System Information",
+ "Description": "Displays the currently used network bandwidth",
+ "Icon": "network-connect",
+ "Id": "org.kde.netspeedWidget",
+ "License": "GPL2",
+ "Name": "Netspeed Widget",
+ "KPackageStructure": [
+ "Plasma/Applet"
+ ],
+ "Version": "2.0",
+ "Website": "https://github.com/dfaust/plasma-applet-netspeed-widget"
+ },
+ "X-KDE-ParentApp": "",
+ "X-Plasma-API-Minimum-Version": "6.0",
+ "X-Plasma-MainScript": "ui/main.qml",
+ "X-Plasma-RemoteLocation": ""
+}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/AUTHORS b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/AUTHORS
deleted file mode 100644
index e03b300..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/AUTHORS
+++ /dev/null
@@ -1,5 +0,0 @@
-Original Author: Martin Klapetek
-Email: mklapetek@kde.org
-
-Changes: Marian Arlt
-Email: marianarlt@icloud.com
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/CHANGELOG.md b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/CHANGELOG.md
deleted file mode 100644
index 38fef7a..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/CHANGELOG.md
+++ /dev/null
@@ -1,23 +0,0 @@
-2020/06/23 - version 3.1
-
-* improved:
- - spacing option now changes all spaces including outer padding
- - option to disable calendar view borders
-
-* fixed known bugs:
- - padding not pushing other widgets correctly, resulting in overlap
- - AM/PM label messing with padding additionally
-
-
-2019/06/23 - version 2.0
-
-* massive options overhaul
-* added support for:
- - spacing of active labels
- - vertical & horizontal offset for the whole clock
- - gain back control by choosing fixed or automatic font size
- - font size can be manually set when fixed is chosen
-
-* fixes known bugs:
- - labels now show inline under all circumstances
- - separator can now be activated or deactivated as intended
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/CREDITS b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/CREDITS
deleted file mode 100644
index baa50c0..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/CREDITS
+++ /dev/null
@@ -1,2 +0,0 @@
-Original Author: Martin Klapetek
-Email: mklapetek@kde.org
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/LICENSE.md b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/LICENSE.md
deleted file mode 100644
index 01a7a80..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/LICENSE.md
+++ /dev/null
@@ -1,675 +0,0 @@
-### GNU GENERAL PUBLIC LICENSE
-
-Version 3, 29 June 2007
-
-Copyright (C) 2007 Free Software Foundation, Inc.
-
-
-Everyone is permitted to copy and distribute verbatim copies of this
-license document, but changing it is not allowed.
-
-### Preamble
-
-The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom
-to share and change all versions of a program--to make sure it remains
-free software for all its users. We, the Free Software Foundation, use
-the GNU General Public License for most of our software; it applies
-also to any other work released this way by its authors. You can apply
-it to your programs, too.
-
-When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you
-have certain responsibilities if you distribute copies of the
-software, or if you modify it: responsibilities to respect the freedom
-of others.
-
-For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
-Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the
-manufacturer can do so. This is fundamentally incompatible with the
-aim of protecting users' freedom to change the software. The
-systematic pattern of such abuse occurs in the area of products for
-individuals to use, which is precisely where it is most unacceptable.
-Therefore, we have designed this version of the GPL to prohibit the
-practice for those products. If such problems arise substantially in
-other domains, we stand ready to extend this provision to those
-domains in future versions of the GPL, as needed to protect the
-freedom of users.
-
-Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish
-to avoid the special danger that patents applied to a free program
-could make it effectively proprietary. To prevent this, the GPL
-assures that patents cannot be used to render the program non-free.
-
-The precise terms and conditions for copying, distribution and
-modification follow.
-
-### TERMS AND CONDITIONS
-
-#### 0. Definitions.
-
-"This License" refers to version 3 of the GNU General Public License.
-
-"Copyright" also means copyright-like laws that apply to other kinds
-of works, such as semiconductor masks.
-
-"The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
-To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of
-an exact copy. The resulting work is called a "modified version" of
-the earlier work or a work "based on" the earlier work.
-
-A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user
-through a computer network, with no transfer of a copy, is not
-conveying.
-
-An interactive user interface displays "Appropriate Legal Notices" to
-the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-#### 1. Source Code.
-
-The "source code" for a work means the preferred form of the work for
-making modifications to it. "Object code" means any non-source form of
-a work.
-
-A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-The Corresponding Source need not include anything that users can
-regenerate automatically from other parts of the Corresponding Source.
-
-The Corresponding Source for a work in source code form is that same
-work.
-
-#### 2. Basic Permissions.
-
-All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-You may make, run and propagate covered works that you do not convey,
-without conditions so long as your license otherwise remains in force.
-You may convey covered works to others for the sole purpose of having
-them make modifications exclusively for you, or provide you with
-facilities for running those works, provided that you comply with the
-terms of this License in conveying all material for which you do not
-control copyright. Those thus making or running the covered works for
-you must do so exclusively on your behalf, under your direction and
-control, on terms that prohibit them from making any copies of your
-copyrighted material outside their relationship with you.
-
-Conveying under any other circumstances is permitted solely under the
-conditions stated below. Sublicensing is not allowed; section 10 makes
-it unnecessary.
-
-#### 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such
-circumvention is effected by exercising rights under this License with
-respect to the covered work, and you disclaim any intention to limit
-operation or modification of the work as a means of enforcing, against
-the work's users, your or third parties' legal rights to forbid
-circumvention of technological measures.
-
-#### 4. Conveying Verbatim Copies.
-
-You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-#### 5. Conveying Modified Source Versions.
-
-You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these
-conditions:
-
-- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under
- section 7. This requirement modifies the requirement in section 4
- to "keep intact all notices".
-- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
-A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-#### 6. Conveying Non-Source Forms.
-
-You may convey a covered work in object code form under the terms of
-sections 4 and 5, provided that you also convey the machine-readable
-Corresponding Source under the terms of this License, in one of these
-ways:
-
-- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the Corresponding
- Source from a network server at no charge.
-- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-- e) Convey the object code using peer-to-peer transmission,
- provided you inform other peers where the object code and
- Corresponding Source of the work are being offered to the general
- public at no charge under subsection 6d.
-
-A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal,
-family, or household purposes, or (2) anything designed or sold for
-incorporation into a dwelling. In determining whether a product is a
-consumer product, doubtful cases shall be resolved in favor of
-coverage. For a particular product received by a particular user,
-"normally used" refers to a typical or common use of that class of
-product, regardless of the status of the particular user or of the way
-in which the particular user actually uses, or expects or is expected
-to use, the product. A product is a consumer product regardless of
-whether the product has substantial commercial, industrial or
-non-consumer uses, unless such uses represent the only significant
-mode of use of the product.
-
-"Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to
-install and execute modified versions of a covered work in that User
-Product from a modified version of its Corresponding Source. The
-information must suffice to ensure that the continued functioning of
-the modified object code is in no case prevented or interfered with
-solely because modification has been made.
-
-If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or
-updates for a work that has been modified or installed by the
-recipient, or for the User Product in which it has been modified or
-installed. Access to a network may be denied when the modification
-itself materially and adversely affects the operation of the network
-or violates the rules and protocols for communication across the
-network.
-
-Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-#### 7. Additional Terms.
-
-"Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders
-of that material) supplement the terms of this License with terms:
-
-- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-- c) Prohibiting misrepresentation of the origin of that material,
- or requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-- d) Limiting the use for publicity purposes of names of licensors
- or authors of the material; or
-- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions
- of it) with contractual assumptions of liability to the recipient,
- for any liability that these contractual assumptions directly
- impose on those licensors and authors.
-
-All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions; the
-above requirements apply either way.
-
-#### 8. Termination.
-
-You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-However, if you cease all violation of this License, then your license
-from a particular copyright holder is reinstated (a) provisionally,
-unless and until the copyright holder explicitly and finally
-terminates your license, and (b) permanently, if the copyright holder
-fails to notify you of the violation by some reasonable means prior to
-60 days after the cessation.
-
-Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-#### 9. Acceptance Not Required for Having Copies.
-
-You are not required to accept this License in order to receive or run
-a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-#### 10. Automatic Licensing of Downstream Recipients.
-
-Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
-An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-#### 11. Patents.
-
-A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
-A contributor's "essential patent claims" are all patent claims owned
-or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-A patent license is "discriminatory" if it does not include within the
-scope of its coverage, prohibits the exercise of, or is conditioned on
-the non-exercise of one or more of the rights that are specifically
-granted under this License. You may not convey a covered work if you
-are a party to an arrangement with a third party that is in the
-business of distributing software, under which you make payment to the
-third party based on the extent of your activity of conveying the
-work, and under which the third party grants, to any of the parties
-who would receive the covered work from you, a discriminatory patent
-license (a) in connection with copies of the covered work conveyed by
-you (or copies made from those copies), or (b) primarily for and in
-connection with specific products or compilations that contain the
-covered work, unless you entered into that arrangement, or that patent
-license was granted, prior to 28 March 2007.
-
-Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-#### 12. No Surrender of Others' Freedom.
-
-If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under
-this License and any other pertinent obligations, then as a
-consequence you may not convey it at all. For example, if you agree to
-terms that obligate you to collect a royalty for further conveying
-from those to whom you convey the Program, the only way you could
-satisfy both those terms and this License would be to refrain entirely
-from conveying the Program.
-
-#### 13. Use with the GNU Affero General Public License.
-
-Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-#### 14. Revised Versions of this License.
-
-The Free Software Foundation may publish revised and/or new versions
-of the GNU General Public License from time to time. Such new versions
-will be similar in spirit to the present version, but may differ in
-detail to address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies that a certain numbered version of the GNU General Public
-License "or any later version" applies to it, you have the option of
-following the terms and conditions either of that numbered version or
-of any later version published by the Free Software Foundation. If the
-Program does not specify a version number of the GNU General Public
-License, you may choose any version ever published by the Free
-Software Foundation.
-
-If the Program specifies that a proxy can decide which future versions
-of the GNU General Public License can be used, that proxy's public
-statement of acceptance of a version permanently authorizes you to
-choose that version for the Program.
-
-Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-#### 15. Disclaimer of Warranty.
-
-THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT
-WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
-PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE
-DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR
-CORRECTION.
-
-#### 16. Limitation of Liability.
-
-IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR
-CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES
-ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT
-NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR
-LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM
-TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER
-PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
-#### 17. Interpretation of Sections 15 and 16.
-
-If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-END OF TERMS AND CONDITIONS
-
-### How to Apply These Terms to Your New Programs
-
-If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these
-terms.
-
-To do so, attach the following notices to the program. It is safest to
-attach them to the start of each source file to most effectively state
-the exclusion of warranty; and each file should have at least the
-"copyright" line and a pointer to where the full notice is found.
-
-
- Copyright (C)
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-Also add information on how to contact you by electronic and paper
-mail.
-
-If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
- Copyright (C)
- This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands \`show w' and \`show c' should show the
-appropriate parts of the General Public License. Of course, your
-program's commands might be different; for a GUI interface, you would
-use an "about box".
-
-You should also get your employer (if you work as a programmer) or
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. For more information on this, and how to apply and follow
-the GNU GPL, see .
-
-The GNU General Public License does not permit incorporating your
-program into proprietary programs. If your program is a subroutine
-library, you may consider it more useful to permit linking proprietary
-applications with the library. If this is what you want to do, use the
-GNU Lesser General Public License instead of this License. But first,
-please read .
\ No newline at end of file
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/README.md b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/README.md
deleted file mode 100644
index 6e7e484..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/README.md
+++ /dev/null
@@ -1,2 +0,0 @@
-Place into `~/.local/share/plasma/plasmoids/`
-Configure to your needs from the plasmoid menu "Configure Chili Clock"
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/contents/config/config.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/contents/config/config.qml
deleted file mode 100644
index d38f3f1..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/contents/config/config.qml
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright 2013 Bhushan Shah
- * Copyright 2015 Martin Klapetek
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License or (at your option) version 3 or any later version
- * accepted by the membership of KDE e.V. (or its successor approved
- * by the membership of KDE e.V.), which shall act as a proxy
- * defined in Section 14 of version 3 of the license.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- */
-
-import QtQuick 2.0
-import QtQml 2.2
-
-import org.kde.plasma.configuration 2.0
-import org.kde.plasma.calendar 2.0 as PlasmaCalendar
-
-ConfigModel {
- id: configModel
-
- ConfigCategory {
- name: i18n("Appearance")
- icon: "preferences-desktop-color"
- source: "configAppearance.qml"
- }
- ConfigCategory {
- name: i18n("Calendar")
- icon: "view-calendar"
- source: "configCalendar.qml"
- }
- ConfigCategory {
- name: i18n("Time Zones")
- icon: "preferences-system-time"
- source: "configTimeZones.qml"
- }
-
- property Instantiator __eventPlugins: Instantiator {
- model: PlasmaCalendar.EventPluginsManager.model
- delegate: ConfigCategory {
- name: model.display
- icon: model.decoration
- source: model.configUi
- visible: plasmoid.configuration.enabledCalendarPlugins.indexOf(model.pluginPath) > -1
- }
-
- onObjectAdded: configModel.appendCategory(object)
- onObjectRemoved: configModel.removeCategory(object)
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/contents/config/main.xml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/contents/config/main.xml
deleted file mode 100644
index 45419e3..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/contents/config/main.xml
+++ /dev/null
@@ -1,101 +0,0 @@
-
-
-
-
-
-
-
- false
-
-
-
- false
-
-
-
- true
-
-
-
- true
-
-
-
- rfcDate
-
-
-
- ddd d
-
-
-
-
-
-
-
- false
-
-
-
- 10
-
-
-
- false
-
-
-
- false
-
-
- default
-
-
-
- Local
-
-
-
- Local
-
-
-
- false
-
-
-
- true
-
-
-
- false
-
-
-
- 1
-
-
-
- 1
-
-
-
- 0
-
-
-
- 50
-
-
-
-
-
-
-
- false
-
-
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/contents/ui/CalendarView.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/contents/ui/CalendarView.qml
deleted file mode 100644
index 8d6b143..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/contents/ui/CalendarView.qml
+++ /dev/null
@@ -1,373 +0,0 @@
-/*
- * Copyright 2013 Sebastian Kügler
- * Copyright 2015 Martin Klapetek
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-import QtQuick 2.4
-import QtQuick.Layouts 1.1
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.calendar 2.0 as PlasmaCalendar
-import org.kde.plasma.components 2.0 as PlasmaComponents
-import org.kde.plasma.extras 2.0 as PlasmaExtras
-
-Item {
- id: calendar
-
- Layout.minimumWidth: _minimumWidth
- Layout.minimumHeight: _minimumHeight
-
- // The "sensible" values
- property int _minimumWidth: (showAgenda ? agendaViewWidth : 0) + monthViewWidth
- property int _minimumHeight: units.gridUnit * 14
- Layout.preferredWidth: _minimumWidth
- Layout.preferredHeight: _minimumHeight * 1.5
-
- readonly property bool showAgenda: PlasmaCalendar.EventPluginsManager.enabledPlugins.length > 0
-
- readonly property int agendaViewWidth: _minimumHeight * 1.5
- readonly property int monthViewWidth: monthView.showWeekNumbers ? Math.round(_minimumHeight * 1.75) : Math.round(_minimumHeight * 1.5)
-
- property int boxWidth: (agendaViewWidth + monthViewWidth - ((showAgenda ? 3 : 4) * spacing)) / 2
-
- property int spacing: units.largeSpacing
- property alias borderWidth: monthView.borderWidth
- property alias monthView: monthView
-
- property bool debug: false
-
- property bool isExpanded: plasmoid.expanded
-
- onIsExpandedChanged: {
- // clear all the selections when the plasmoid is showing/hiding
- monthView.resetToToday();
- }
-
- Item {
- id: agenda
- visible: calendar.showAgenda
-
- width: boxWidth
- anchors {
- top: parent.top
- left: parent.left
- bottom: parent.bottom
- leftMargin: spacing
- topMargin: spacing
- bottomMargin: spacing
- }
-
- function dateString(format) {
- return Qt.formatDate(monthView.currentDate, format);
- }
-
- function formatDateWithoutYear(date) {
- // Unfortunatelly Qt overrides ECMA's Date.toLocaleDateString(),
- // which is able to return locale-specific date-and-month-only date
- // formats, with its dumb version that only supports Qt::DateFormat
- // enum subset. So to get a day-and-month-only date format string we
- // must resort to this magic and hope there are no locales that use
- // other separators...
- var format = Qt.locale().dateFormat(Locale.ShortFormat).replace(/[./ ]*Y{2,4}[./ ]*/i, '');
- return Qt.formatDate(date, format);
- }
-
- Connections {
- target: monthView
-
- onCurrentDateChanged: {
- // Apparently this is needed because this is a simple QList being
- // returned and if the list for the current day has 1 event and the
- // user clicks some other date which also has 1 event, QML sees the
- // sizes match and does not update the labels with the content.
- // Resetting the model to null first clears it and then correct data
- // are displayed.
- holidaysList.model = null;
- holidaysList.model = monthView.daysModel.eventsForDate(monthView.currentDate);
- }
- }
-
- Connections {
- target: monthView.daysModel
-
- onAgendaUpdated: {
- // Checks if the dates are the same, comparing the date objects
- // directly won't work and this does a simple integer subtracting
- // so should be fastest. One of the JS weirdness.
- if (updatedDate - monthView.currentDate === 0) {
- holidaysList.model = null;
- holidaysList.model = monthView.daysModel.eventsForDate(monthView.currentDate);
- }
- }
- }
-
- Connections {
- target: plasmoid.configuration
-
- onEnabledCalendarPluginsChanged: {
- PlasmaCalendar.EventPluginsManager.enabledPlugins = plasmoid.configuration.enabledCalendarPlugins;
- }
- }
-
- Binding {
- target: plasmoid
- property: "hideOnWindowDeactivate"
- value: !plasmoid.configuration.pin
- }
-
- PlasmaComponents.Label {
- id: dayLabel
- anchors.left: parent.left
- height: dayHeading.height + dateHeading.height
- width: paintedWidth
- font.pixelSize: height
- font.weight: Font.Light
- text: agenda.dateString("dd")
- opacity: 0.6
- }
-
- PlasmaExtras.Heading {
- id: dayHeading
- anchors {
- top: parent.top
- left: dayLabel.right
- right: parent.right
- leftMargin: spacing / 2
- }
- level: 1
- elide: Text.ElideRight
- text: agenda.dateString("dddd")
- }
- PlasmaComponents.Label {
- id: dateHeading
- anchors {
- top: dayHeading.bottom
- left: dayLabel.right
- right: parent.right
- leftMargin: spacing / 2
- }
- elide: Text.ElideRight
- text: Qt.locale().standaloneMonthName(monthView.currentDate.getMonth())
- + agenda.dateString(" yyyy")
- }
-
- TextMetrics {
- id: dateLabelMetrics
-
- // Date/time are arbitrary values with all parts being two-digit
- readonly property string timeString: Qt.formatTime(new Date(2000, 12, 12, 12, 12, 12, 12))
- readonly property string dateString: agenda.formatDateWithoutYear(new Date(2000, 12, 12, 12, 12, 12))
-
- font: theme.defaultFont
- text: timeString.length > dateString.length ? timeString : dateString
- }
-
- PlasmaExtras.ScrollArea {
- id: holidaysView
- anchors {
- top: dateHeading.bottom
- left: parent.left
- right: parent.right
- bottom: parent.bottom
- }
- flickableItem.boundsBehavior: Flickable.StopAtBounds
-
- ListView {
- id: holidaysList
-
- delegate: PlasmaComponents.ListItem {
- id: eventItem
- property bool hasTime: {
- // Explicitly all-day event
- if (modelData.isAllDay) {
- return false;
- }
- // Multi-day event which does not start or end today (so
- // is all-day from today's point of view)
- if (modelData.startDateTime - monthView.currentDate < 0 &&
- modelData.endDateTime - monthView.currentDate > 86400000) { // 24hrs in ms
- return false;
- }
-
- // Non-explicit all-day event
- var startIsMidnight = modelData.startDateTime.getHours() == 0
- && modelData.startDateTime.getMinutes() == 0;
-
- var endIsMidnight = modelData.endDateTime.getHours() == 0
- && modelData.endDateTime.getMinutes() == 0;
-
- var sameDay = modelData.startDateTime.getDate() == modelData.endDateTime.getDate()
- && modelData.startDateTime.getDay() == modelData.endDateTime.getDay()
-
- if (startIsMidnight && endIsMidnight && sameDay) {
- return false
- }
-
- return true;
- }
-
- PlasmaCore.ToolTipArea {
- width: parent.width
- height: eventGrid.height
- active: eventTitle.truncated || eventDescription.truncated
- mainText: active ? eventTitle.text : ""
- subText: active ? eventDescription.text : ""
-
- GridLayout {
- id: eventGrid
- columns: 3
- rows: 2
- rowSpacing: 0
- columnSpacing: 2 * units.smallSpacing
-
- width: parent.width
-
- Rectangle {
- id: eventColor
-
- Layout.row: 0
- Layout.column: 0
- Layout.rowSpan: 2
- Layout.fillHeight: true
-
- color: modelData.eventColor
- width: 5 * units.devicePixelRatio
- visible: modelData.eventColor !== ""
- }
-
- PlasmaComponents.Label {
- id: startTimeLabel
-
- readonly property bool startsToday: modelData.startDateTime - monthView.currentDate >= 0
- readonly property bool startedYesterdayLessThan12HoursAgo: modelData.startDateTime - monthView.currentDate >= -43200000 //12hrs in ms
-
- Layout.row: 0
- Layout.column: 1
- Layout.minimumWidth: dateLabelMetrics.width
-
- text: startsToday || startedYesterdayLessThan12HoursAgo
- ? Qt.formatTime(modelData.startDateTime)
- : agenda.formatDateWithoutYear(modelData.startDateTime)
- horizontalAlignment: Qt.AlignRight
- visible: eventItem.hasTime
- }
-
- PlasmaComponents.Label {
- id: endTimeLabel
-
- readonly property bool endsToday: modelData.endDateTime - monthView.currentDate <= 86400000 // 24hrs in ms
- readonly property bool endsTomorrowInLessThan12Hours: modelData.endDateTime - monthView.currentDate <= 86400000 + 43200000 // 36hrs in ms
-
- Layout.row: 1
- Layout.column: 1
- Layout.minimumWidth: dateLabelMetrics.width
-
- text: endsToday || endsTomorrowInLessThan12Hours
- ? Qt.formatTime(modelData.endDateTime)
- : agenda.formatDateWithoutYear(modelData.endDateTime)
- horizontalAlignment: Qt.AlignRight
- enabled: false
-
- visible: eventItem.hasTime
- }
-
- PlasmaComponents.Label {
- id: eventTitle
-
- readonly property bool wrap: eventDescription.text === ""
-
- Layout.row: 0
- Layout.rowSpan: wrap ? 2 : 1
- Layout.column: 2
- Layout.fillWidth: true
-
- font.weight: Font.Bold
- elide: Text.ElideRight
- text: modelData.title
- verticalAlignment: Text.AlignVCenter
- maximumLineCount: 2
- wrapMode: wrap ? Text.Wrap : Text.NoWrap
- }
-
- PlasmaComponents.Label {
- id: eventDescription
-
- Layout.row: 1
- Layout.column: 2
- Layout.fillWidth: true
-
- elide: Text.ElideRight
- text: modelData.description
- verticalAlignment: Text.AlignVCenter
- enabled: false
-
- visible: text !== ""
- }
- }
- }
- }
-
- section.property: "modelData.eventType"
- section.delegate: PlasmaExtras.Heading {
- level: 3
- elide: Text.ElideRight
- text: section
- }
- }
- }
-
- PlasmaExtras.Heading {
- anchors.fill: holidaysView
- anchors.leftMargin: units.largeSpacing
- anchors.rightMargin: units.largeSpacing
- text: monthView.isToday(monthView.currentDate) ? i18n("No events for today")
- : i18n("No events for this day");
- level: 3
- opacity: 0.4
- visible: holidaysList.count == 0
- }
-
- }
- Item {
- id: cal
- width: boxWidth
- anchors {
- top: parent.top
- right: parent.right
- bottom: parent.bottom
- margins: spacing
- }
-
- PlasmaCalendar.MonthView {
- id: monthView
- borderOpacity: plasmoid.configuration.showBorders ? 0.25 : 0
- today: root.tzDate
- showWeekNumbers: plasmoid.configuration.showWeekNumbers
- anchors.fill: parent
- }
-
- }
-
- // Allows the user to keep the calendar open for reference
- PlasmaComponents.ToolButton {
- anchors.right: parent.right
- width: Math.round(units.gridUnit * 1.25)
- height: width
- checkable: true
- iconSource: "window-pin"
- checked: plasmoid.configuration.pin
- onCheckedChanged: plasmoid.configuration.pin = checked
- tooltip: i18n("Keep Open")
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/contents/ui/DigitalClock.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/contents/ui/DigitalClock.qml
deleted file mode 100644
index 0ffb4f5..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/contents/ui/DigitalClock.qml
+++ /dev/null
@@ -1,283 +0,0 @@
-/*
- * Copyright 2013 Heena Mahour
- * Copyright 2013 Sebastian Kügler
- * Copyright 2013 Martin Klapetek
- * Copyright 2014 David Edmundson
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-import QtQuick 2.6
-import QtQuick.Layouts 1.1
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.components 2.0 as Components
-import org.kde.plasma.private.digitalclock 1.0
-
-Item {
- id: main
-
- Layout.fillHeight: true
- Layout.fillWidth: false
- Layout.minimumWidth: paintArea.width
- Layout.maximumWidth: Layout.minimumWidth
-
- property string timeFormat
- property date currentTime
- property bool showSeconds: plasmoid.configuration.showSeconds
- property bool showLocalTimezone: plasmoid.configuration.showLocalTimezone
- property bool showDate: plasmoid.configuration.showDate
- property bool showSeparator: plasmoid.configuration.showSeparator
- property bool fixedFont: plasmoid.configuration.fixedFont
- property var dateFormat: {
- if (plasmoid.configuration.dateFormat === "customDate") {
- return plasmoid.configuration.customDateFormat;
- } else if (plasmoid.configuration.dateFormat === "longDate") {
- return Qt.SystemLocaleLongDate;
- } else if (plasmoid.configuration.dateFormat === "isoDate") {
- return Qt.ISODate;
- } else if (plasmoid.configuration.dateFormat === "qtDate") {
- return Qt.TextDate;
- } else if (plasmoid.configuration.dateFormat === "rfcDate") {
- return Qt.RFC2822Date;
- } else {
- return Qt.SystemLocaleShortDate; }}
-
- property string lastSelectedTimezone: plasmoid.configuration.lastSelectedTimezone
- property bool displayTimezoneAsCode: plasmoid.configuration.displayTimezoneAsCode
- property int use24hFormat: plasmoid.configuration.use24hFormat
- property int fontSize: plasmoid.configuration.fontSize
- property string lastDate: ""
- property int tzOffset
- property int tzIndex: 0
- readonly property bool oneLineMode: plasmoid.formFactor == PlasmaCore.Types.Horizontal &&
- main.height <= 2 * theme.smallestFont.pixelSize &&
- (main.showDate || timezoneLabel.visible)
-
- onDateFormatChanged: { setupLabels(); }
- onDisplayTimezoneAsCodeChanged: { setupLabels(); }
-
- onLastSelectedTimezoneChanged: { timeFormatCorrection(Qt.locale().timeFormat(Locale.ShortFormat)) }
- onShowSecondsChanged: { timeFormatCorrection(Qt.locale().timeFormat(Locale.ShortFormat)) }
- onShowLocalTimezoneChanged: { timeFormatCorrection(Qt.locale().timeFormat(Locale.ShortFormat)) }
- onShowDateChanged: { timeFormatCorrection(Qt.locale().timeFormat(Locale.ShortFormat)) }
- onUse24hFormatChanged: { timeFormatCorrection(Qt.locale().timeFormat(Locale.ShortFormat)) }
-
- Connections {
- target: plasmoid
- onContextualActionsAboutToShow: {
- ClipboardMenu.secondsIncluded = main.showSeconds;
- ClipboardMenu.currentDate = main.currentTime; }}
-
- Connections {
- target: plasmoid.configuration
- onSelectedTimeZonesChanged: {
- var lastSelectedTimezone = plasmoid.configuration.lastSelectedTimezone;
- if (plasmoid.configuration.selectedTimeZones.indexOf(lastSelectedTimezone) == -1) {
- plasmoid.configuration.lastSelectedTimezone = plasmoid.configuration.selectedTimeZones[0]; }
- setupLabels();
- setTimezoneIndex(); }}
-
- MouseArea {
- id: mouseArea
-
- property int wheelDelta: 0
- anchors.fill: parent
- onClicked: plasmoid.expanded = !plasmoid.expanded
- onWheel: {
- if (!plasmoid.configuration.wheelChangesTimezone) {
- return; }
- var delta = wheel.angleDelta.y || wheel.angleDelta.x
- var newIndex = main.tzIndex;
- wheelDelta += delta;
- while (wheelDelta >= 120) {
- wheelDelta -= 120;
- newIndex--; }
- while (wheelDelta <= -120) {
- wheelDelta += 120;
- newIndex++; }
- if (newIndex >= plasmoid.configuration.selectedTimeZones.length) {
- newIndex = 0; } else if (newIndex < 0) {
- newIndex = plasmoid.configuration.selectedTimeZones.length - 1; }
- if (newIndex !== main.tzIndex) {
- plasmoid.configuration.lastSelectedTimezone = plasmoid.configuration.selectedTimeZones[newIndex];
- main.tzIndex = newIndex;
- dataSource.dataChanged();
- setupLabels(); }}}
-
- property font font: Qt.font({
- family: plasmoid.configuration.fontFamily || theme.defaultFont.family,
- weight: plasmoid.configuration.boldText ? Font.Bold : theme.defaultFont.weight,
- italic: plasmoid.configuration.italicText,
- pixelSize: fixedFont ? fontSize : 1024 })
-
- // -------------
- // BEGIN VISIBLE
- Row {
- id: paintArea
-
- spacing: plasmoid.configuration.customSpacing * 2
- leftPadding: spacing
- rightPadding: spacing
-
- anchors {
- centerIn: parent
- horizontalCenterOffset: plasmoid.configuration.customOffsetX - 50
- verticalCenterOffset: -plasmoid.configuration.customOffsetY
- }
-
- Components.Label {
- id: dateLabel
-
- height: timeLabel.height
- width: dateLabel.paintedWidth
- font: main.font
- fontSizeMode: fixedFont ? Text.FixedSize : Text.VerticalFit
- minimumPixelSize: 1
- visible: main.showDate
- }
-
- Components.Label {
- id: separator
-
- height: timeLabel.height
- width: separator.paintedWidth
- font: main.font
- fontSizeMode: fixedFont ? Text.FixedSize : Text.VerticalFit
- minimumPixelSize: 1
- transform: Translate { y: separator.paintedHeight / -15 }
- visible: dateLabel.visible && plasmoid.configuration.showSeparator
- text: "|"
- }
-
- Components.Label {
- id: timeLabel
-
- height: sizehelper.height
- width: timeLabel.paintedWidth
- font: main.font
- fontSizeMode: fixedFont ? Text.FixedSize : Text.VerticalFit
- minimumPixelSize: 1
- text: {
- var now = dataSource.data[plasmoid.configuration.lastSelectedTimezone]["DateTime"];
- var msUTC = now.getTime() + (now.getTimezoneOffset() * 60000);
- var currentTime = new Date(msUTC + (dataSource.data[plasmoid.configuration.lastSelectedTimezone]["Offset"] * 1000));
- main.currentTime = currentTime;
- return Qt.formatTime(currentTime, main.timeFormat); }
- }
-
- Components.Label {
- id: timezoneLabel
-
- height: timeLabel.height
- width: timezoneLabel.paintedWidth
- font: main.font
- fontSizeMode: fixedFont ? Text.FixedSize : Text.VerticalFit
- minimumPixelSize: 1
- visible: text.length > 0
- }
- }
- // ENDOF VISIBLE
-
- Components.Label {
- id: sizehelper
- height: Math.min(main.height, 2.5 * theme.defaultFont.pixelSize)
- font.family: timeLabel.font.family
- font.weight: timeLabel.font.weight
- font.italic: timeLabel.font.italic
- font.pixelSize: fixedFont ? fontSize : 2.5 * theme.defaultFont.pixelSize
- fontSizeMode: fixedFont ? Text.FixedSize : Text.VerticalFit
- minimumPixelSize: 1
- visible: false }
-
- FontMetrics {
- id: timeMetrics
- font.family: timeLabel.font.family
- font.weight: timeLabel.font.weight
- font.italic: timeLabel.font.italic }
-
-
- function timeFormatCorrection(timeFormatString) {
- var regexp = /(hh*)(.+)(mm)/i
- var match = regexp.exec(timeFormatString);
- var hours = match[1];
- var delimiter = match[2];
- var minutes = match[3]
- var seconds = "ss";
- var amPm = "AP";
- var uses24hFormatByDefault = timeFormatString.toLowerCase().indexOf("ap") === -1;
- var result = hours.toLowerCase() + delimiter + minutes;
- if (main.showSeconds) {
- result += delimiter + seconds; }
- if ((main.use24hFormat == Qt.PartiallyChecked && !uses24hFormatByDefault) || main.use24hFormat == Qt.Unchecked) {
- result += " " + amPm; }
- main.timeFormat = result;
- setupLabels(); }
-
- function setupLabels() {
- var showTimezone = main.showLocalTimezone || (plasmoid.configuration.lastSelectedTimezone !== "Local" && dataSource.data["Local"]["Timezone City"] !== dataSource.data[plasmoid.configuration.lastSelectedTimezone]["Timezone City"]);
- var timezoneString = "";
- if (showTimezone) {
- timezoneString = plasmoid.configuration.displayTimezoneAsCode ? dataSource.data[plasmoid.configuration.lastSelectedTimezone]["Timezone Abbreviation"] : TimezonesI18n.i18nCity(dataSource.data[plasmoid.configuration.lastSelectedTimezone]["Timezone City"]);
- timezoneLabel.text = "(" + timezoneString + ")";
- } else { timezoneLabel.text = timezoneString; }
- if (main.showDate) { dateLabel.text = Qt.formatDate(main.currentTime, main.dateFormat);
- } else { dateLabel.text = ""; }
- var maximumWidthNumber = 0;
- var maximumAdvanceWidth = 0;
- for (var i = 0; i <= 9; i++) {
- var advanceWidth = timeMetrics.advanceWidth(i);
- if (advanceWidth > maximumAdvanceWidth) {
- maximumAdvanceWidth = advanceWidth;
- maximumWidthNumber = i; }}
- var format = main.timeFormat.replace(/(h+|m+|s+)/g, "" + maximumWidthNumber + maximumWidthNumber); // make sure maximumWidthNumber is formatted as string
- var date = new Date(2000, 0, 1, 1, 0, 0);
- var timeAm = Qt.formatTime(date, format);
- var advanceWidthAm = timeMetrics.advanceWidth(timeAm);
- date.setHours(13);
- var timePm = Qt.formatTime(date, format);
- var advanceWidthPm = timeMetrics.advanceWidth(timePm);
- if (advanceWidthAm > advanceWidthPm) { sizehelper.text = timeAm;
- } else { sizehelper.text = timePm; }}
-
- function dateTimeChanged() {
- var doCorrections = false;
- if (main.showDate) {
- var currentDate = Qt.formatDateTime(dataSource.data["Local"]["DateTime"], "yyyy-mm-dd");
- if (main.lastDate !== currentDate) {
- doCorrections = true;
- main.lastDate = currentDate }}
- var currentTZOffset = dataSource.data["Local"]["Offset"] / 60;
- if (currentTZOffset !== tzOffset) {
- doCorrections = true;
- tzOffset = currentTZOffset;
- Date.timeZoneUpdated(); }
- if (doCorrections) {
- timeFormatCorrection(Qt.locale().timeFormat(Locale.ShortFormat)); }}
-
- function setTimezoneIndex() {
- for (var i = 0; i < plasmoid.configuration.selectedTimeZones.length; i++) {
- if (plasmoid.configuration.selectedTimeZones[i] === plasmoid.configuration.lastSelectedTimezone) {
- main.tzIndex = i;
- break; }}}
-
- Component.onCompleted: {
- var sortArray = plasmoid.configuration.selectedTimeZones;
- sortArray.sort(function(a, b) { return dataSource.data[a]["Offset"] - dataSource.data[b]["Offset"]; });
- plasmoid.configuration.selectedTimeZones = sortArray;
- setTimezoneIndex();
- tzOffset = -(new Date().getTimezoneOffset());
- dateTimeChanged();
- timeFormatCorrection(Qt.locale().timeFormat(Locale.ShortFormat));
- dataSource.onDataChanged.connect(dateTimeChanged); }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/contents/ui/MonthMenu.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/contents/ui/MonthMenu.qml
deleted file mode 100644
index 6bff120..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/contents/ui/MonthMenu.qml
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2013 Sebastian Kügler
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-import QtQuick 2.0
-import org.kde.plasma.calendar 2.0 as PlasmaCalendar
-
-PlasmaCalendar.MonthMenu { }
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/contents/ui/Tooltip.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/contents/ui/Tooltip.qml
deleted file mode 100644
index 889e038..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/contents/ui/Tooltip.qml
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Copyright 2015 by Martin Klapetek
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Library General Public License as
- * published by the Free Software Foundation; either version 2, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Library General Public License for more details
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 2.010-1301, USA.
- */
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.1
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.components 2.0 as PlasmaComponents
-import org.kde.plasma.extras 2.0 as PlasmaExtras
-import org.kde.plasma.private.digitalclock 1.0
-
-Item {
- id: tooltipContentItem
-
- property int preferredTextWidth: units.gridUnit * 20
-
- width: childrenRect.width + units.gridUnit
- height: childrenRect.height + units.gridUnit
-
- LayoutMirroring.enabled: Qt.application.layoutDirection === Qt.RightToLeft
- LayoutMirroring.childrenInherit: true
-
- function timeForZone(zone) {
- var compactRepresentationItem = plasmoid.compactRepresentationItem;
- if (!compactRepresentationItem) {
- return "";
- }
-
- // get the time for the given timezone from the dataengine
- var now = dataSource.data[zone]["DateTime"];
- // get current UTC time
- var msUTC = now.getTime() + (now.getTimezoneOffset() * 60000);
- // add the dataengine TZ offset to it
- var dateTime = new Date(msUTC + (dataSource.data[zone]["Offset"] * 1000));
-
- var formattedTime = Qt.formatTime(dateTime, compactRepresentationItem.timeFormat);
-
- if (dateTime.getDay() != dataSource.data["Local"]["DateTime"].getDay()) {
- formattedTime += " (" + Qt.formatDate(dateTime, compactRepresentationItem.dateFormat) + ")";
- }
-
- return formattedTime;
- }
-
- function nameForZone(zone) {
- // add the timezone string to the clock
- var timezoneString = plasmoid.configuration.displayTimezoneAsCode ? dataSource.data[zone]["Timezone Abbreviation"]
- : TimezonesI18n.i18nCity(dataSource.data[zone]["Timezone City"]);
-
- return timezoneString;
- }
-
- RowLayout {
- anchors {
- left: parent.left
- top: parent.top
- margins: units.gridUnit / 2
- }
-
- spacing: units.largeSpacing
-
- PlasmaCore.IconItem {
- id: tooltipIcon
- source: "preferences-system-time"
- Layout.alignment: Qt.AlignTop
- visible: true
- implicitWidth: units.iconSizes.medium
- Layout.preferredWidth: implicitWidth
- Layout.preferredHeight: implicitWidth
- }
-
- ColumnLayout {
-
- PlasmaExtras.Heading {
- id: tooltipMaintext
- level: 3
- Layout.minimumWidth: Math.min(implicitWidth, preferredTextWidth)
- Layout.maximumWidth: preferredTextWidth
- elide: Text.ElideRight
- text: Qt.formatDate(tzDate,"dddd")
- }
-
- PlasmaComponents.Label {
- id: tooltipSubtext
- Layout.minimumWidth: Math.min(implicitWidth, preferredTextWidth)
- Layout.maximumWidth: preferredTextWidth
- text: Qt.formatDate(tzDate, dateFormatString)
- opacity: 0.6
- }
-
- GridLayout {
- Layout.minimumWidth: Math.min(implicitWidth, preferredTextWidth)
- Layout.maximumWidth: preferredTextWidth
- Layout.maximumHeight: childrenRect.height
- columns: 2
- visible: plasmoid.configuration.selectedTimeZones.length > 1
-
- Repeater {
- model: {
- // The timezones need to be duplicated in the array
- // because we need their data twice - once for the name
- // and once for the time and the Repeater delegate cannot
- // be one Item with two Labels because that wouldn't work
- // in a grid then
- var timezones = [];
- for (var i = 0; i < plasmoid.configuration.selectedTimeZones.length; i++) {
- timezones.push(plasmoid.configuration.selectedTimeZones[i]);
- timezones.push(plasmoid.configuration.selectedTimeZones[i]);
- }
-
- return timezones;
- }
-
- PlasmaComponents.Label {
- id: timezone
- // Layout.fillWidth is buggy here
- Layout.alignment: index % 2 === 0 ? Qt.AlignRight : Qt.AlignLeft
-
- wrapMode: Text.NoWrap
- text: index % 2 == 0 ? nameForZone(modelData) : timeForZone(modelData)
- font.weight: modelData === plasmoid.configuration.lastSelectedTimezone ? Font.Bold : Font.Normal
- height: paintedHeight
- elide: Text.ElideNone
- opacity: 0.6
- }
- }
- }
- }
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/contents/ui/configAppearance.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/contents/ui/configAppearance.qml
deleted file mode 100644
index d6938a4..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/contents/ui/configAppearance.qml
+++ /dev/null
@@ -1,346 +0,0 @@
-/*
- * Copyright 2013 Bhushan Shah
- * Copyright 2013 Sebastian Kügler
- * Copyright 2015 Kai Uwe Broulik
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License or (at your option) version 3 or any later version
- * accepted by the membership of KDE e.V. (or its successor approved
- * by the membership of KDE e.V.), which shall act as a proxy
- * defined in Section 14 of version 3 of the license.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- */
-
-import QtQuick 2.0
-import QtQuick.Controls 2.3 as QtControls
-import QtQuick.Layouts 1.0 as QtLayouts
-import org.kde.plasma.calendar 2.0 as PlasmaCalendar
-import org.kde.kirigami 2.5 as Kirigami
-
-QtLayouts.ColumnLayout {
- id: appearancePage
-
- signal configurationChanged
-
- property string cfg_fontFamily
- property string cfg_timeFormat: ""
- property string cfg_dateFormat: "shortDate"
- property alias cfg_boldText: boldCheckBox.checked
- property alias cfg_italicText: italicCheckBox.checked
- property alias cfg_showLocalTimezone: showLocalTimezone.checked
- property alias cfg_displayTimezoneAsCode: timezoneCodeRadio.checked
- property alias cfg_showSeconds: showSeconds.checked
- property alias cfg_showDate: showDate.checked
- property alias cfg_showSeparator: showSeparator.checked
- property alias cfg_customDateFormat: customDateFormat.text
- property alias cfg_use24hFormat: use24hFormat.checkState
- property alias cfg_customSpacing: customSpacing.value
- property alias cfg_fixedFont: fixedFont.checked
- property alias cfg_fontSize: fontSize.value
- property alias cfg_customOffsetY: customOffsetY.value
- property alias cfg_customOffsetX: customOffsetX.value
-
- onCfg_fontFamilyChanged: {
- // HACK by the time we populate our model and/or the ComboBox is finished the value is still undefined
- if (cfg_fontFamily) {
- for (var i = 0, j = fontsModel.count; i < j; ++i) {
- if (fontsModel.get(i).value == cfg_fontFamily) {
- fontFamilyComboBox.currentIndex = i
- break
- }
- }
- }
- }
-
- ListModel {
- id: fontsModel
- Component.onCompleted: {
- var arr = [] // use temp array to avoid constant binding stuff
- arr.push({text: i18nc("Use default font", "Default"), value: ""})
-
- var fonts = Qt.fontFamilies()
- var foundIndex = 0
- for (var i = 0, j = fonts.length; i < j; ++i) {
- arr.push({text: fonts[i], value: fonts[i]})
- }
- append(arr)
- }
- }
-
- Kirigami.FormLayout {
- QtLayouts.Layout.fillWidth: true
-
- QtControls.CheckBox {
- id: showDate
- Kirigami.FormData.label: i18n("Information:")
- text: i18n("Show date")
- }
-
- QtControls.CheckBox {
- id: showSeparator
- enabled: cfg_showDate
- text: i18n("Show Separator")
- }
-
- QtControls.CheckBox {
- id: showSeconds
- text: i18n("Show seconds")
- }
-
- QtControls.CheckBox {
- id: use24hFormat
- text: i18nc("Checkbox label; means 24h clock format, without am/pm", "Use 24-hour Clock")
- tristate: true
- }
-
- QtControls.CheckBox {
- id: showLocalTimezone
- text: i18n("Show local time zone")
- }
-
- QtControls.CheckBox {
- id: fixedFont
- text: i18n("Use fixed font size")
- }
-
- QtLayouts.RowLayout {
- QtLayouts.Layout.fillWidth: true
-
- Kirigami.FormData.label: i18n("Font Size:")
- Kirigami.FormData.buddyFor: fontSize
-
- QtControls.SpinBox {
- id: fontSize
- enabled: cfg_fixedFont
- from: 1
- to: 60
- editable: true
- validator: IntValidator {
- locale: control.locale.name
- bottom: Math.min(control.from, control.to)
- top: Math.max(control.from, control.to)
- }
- }
- }
-
- Item {
- Kirigami.FormData.isSection: true
- }
-
- QtLayouts.ColumnLayout {
- Kirigami.FormData.label: i18n("Display time zone as:")
- Kirigami.FormData.buddyFor: timezoneCityRadio
-
- QtControls.RadioButton {
- id: timezoneCityRadio
- text: i18n("Time zone city")
- }
-
- QtControls.RadioButton {
- id: timezoneCodeRadio
- text: i18n("Time zone code")
- }
- }
-
- Item {
- Kirigami.FormData.isSection: true
- }
-
- QtControls.ComboBox {
- id: dateFormat
- Kirigami.FormData.label: i18n("Date format:")
- enabled: showDate.checked
- // QtLayouts.Layout.fillWidth: cfg_dateFormat == "customDate" ? true : false
- QtLayouts.Layout.fillWidth: true
- textRole: "label"
- model: [
- {
- 'label': i18n("Long Date"),
- 'name': "longDate"
- },
- {
- 'label': i18n("Short Date"),
- 'name': "shortDate"
- },
- {
- 'label': i18n("ISO Date"),
- 'name': "isoDate"
- },
- {
- 'label': i18n("Qt Date"),
- 'name': "qtDate"
- },
- {
- 'label': i18n("RFC Date"),
- 'name': "rfcDate"
- },
- {
- 'label': i18nc("custom date format", "Custom Date"),
- 'name': "customDate"
- }
- ]
- onCurrentIndexChanged: cfg_dateFormat = model[currentIndex]["name"]
-
- Component.onCompleted: {
- for (var i = 0; i < model.length; i++) {
- if (model[i]["name"] == plasmoid.configuration.dateFormat) {
- dateFormat.currentIndex = i;
- }
- }
- }
- }
-
- QtControls.TextField {
- id: customDateFormat
- QtLayouts.Layout.fillWidth: true
- visible: cfg_dateFormat == "customDate"
- }
-
- QtControls.Label {
- text: i18n("Time Format Documentation")
- visible: cfg_dateFormat == "customDate"
- wrapMode: Text.Wrap
- onLinkActivated: Qt.openUrlExternally(link)
- MouseArea {
- anchors.fill: parent
- acceptedButtons: Qt.NoButton // We don't want to eat clicks on the Label
- cursorShape: parent.hoveredLink ? Qt.PointingHandCursor : Qt.ArrowCursor
- }
- }
-
- Item {
- Kirigami.FormData.isSection: true
- }
-
- QtLayouts.RowLayout {
- QtLayouts.Layout.fillWidth: true
-
- Kirigami.FormData.label: i18n("Font style:")
-
- QtControls.ComboBox {
- id: fontFamilyComboBox
- QtLayouts.Layout.fillWidth: true
- currentIndex: 0
- // ComboBox's sizing is just utterly broken
- QtLayouts.Layout.minimumWidth: units.gridUnit * 10
- model: fontsModel
- // doesn't autodeduce from model because we manually populate it
- textRole: "text"
-
- onCurrentIndexChanged: {
- var current = model.get(currentIndex)
- if (current) {
- cfg_fontFamily = current.value
- appearancePage.configurationChanged()
- }
- }
- }
-
- QtControls.Button {
- id: boldCheckBox
- QtControls.ToolTip {
- text: i18n("Bold text")
- }
- icon.name: "format-text-bold"
- checkable: true
- Accessible.name: tooltip
- }
-
- QtControls.Button {
- id: italicCheckBox
- QtControls.ToolTip {
- text: i18n("Italic text")
- }
- icon.name: "format-text-italic"
- checkable: true
- Accessible.name: tooltip
- }
- }
-
- Item {
- Kirigami.FormData.isSection: true
- }
-
- QtLayouts.RowLayout {
- QtLayouts.Layout.fillWidth: true
-
- Kirigami.FormData.label: i18n("Spacing:")
- Kirigami.FormData.buddyFor: customSpacing
-
- QtControls.Slider {
- id: customSpacing
- from: 0
- to: 10
- QtLayouts.Layout.fillWidth: true
-
- }
-
- QtControls.Button {
- id: resetCustomSpacing
- text: i18n("Reset")
- onClicked: customSpacing.value = 1
- }
- }
-
- QtLayouts.RowLayout {
- QtLayouts.Layout.fillWidth: true
-
- Kirigami.FormData.label: i18n("Vertical Offset:")
- Kirigami.FormData.buddyFor: customOffsetY
-
- QtControls.SpinBox {
- id: customOffsetY
- from: -10
- to: 10
- editable: true
- validator: IntValidator {
- locale: customOffsetY.locale.name
- bottom: Math.min(customOffsetY.from, customOffsetY.to)
- top: Math.max(customOffsetY.from, customOffsetY.to)
- }
- }
- }
-
- QtLayouts.RowLayout {
- QtLayouts.Layout.fillWidth: true
-
- Kirigami.FormData.label: i18n("Horizontal Offset:")
- Kirigami.FormData.buddyFor: customOffsetX
-
- QtControls.Slider {
- id: customOffsetX
- from: 0
- to: 100
- QtLayouts.Layout.fillWidth: true
- }
-
- QtControls.Button {
- id: resetOffsetX
- text: i18n("Reset")
- onClicked: customOffsetX.value = 50
- }
- }
-
- }
-
- Item {
- QtLayouts.Layout.fillHeight: true
- }
-
- Component.onCompleted: {
- if (plasmoid.configuration.displayTimezoneAsCode) {
- timezoneCodeRadio.checked = true;
- } else {
- timezoneCityRadio.checked = true;
- }
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/contents/ui/configCalendar.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/contents/ui/configCalendar.qml
deleted file mode 100644
index 88fad45..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/contents/ui/configCalendar.qml
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Copyright 2015 Martin Klapetek
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License or (at your option) version 3 or any later version
- * accepted by the membership of KDE e.V. (or its successor approved
- * by the membership of KDE e.V.), which shall act as a proxy
- * defined in Section 14 of version 3 of the license.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- */
-
-import QtQuick 2.0
-import QtQuick.Controls 2.4 as QtControls
-import QtQuick.Layouts 1.0 as QtLayouts
-import org.kde.plasma.calendar 2.0 as PlasmaCalendar
-import org.kde.kirigami 2.5 as Kirigami
-
-Item {
- id: calendarPage
- width: childrenRect.width
- height: childrenRect.height
-
- signal configurationChanged
-
- property alias cfg_showWeekNumbers: showWeekNumbers.checked
-
- function saveConfig()
- {
- plasmoid.configuration.enabledCalendarPlugins = PlasmaCalendar.EventPluginsManager.enabledPlugins;
- }
-
- Kirigami.FormLayout {
- anchors {
- left: parent.left
- right: parent.right
- }
-
- QtControls.CheckBox {
- id: showWeekNumbers
- Kirigami.FormData.label: i18n("General:")
- text: i18n("Show week numbers")
- }
-
- Item {
- Kirigami.FormData.isSection: true
- }
-
- QtControls.CheckBox {
- id: showBorders
- Kirigami.FormData.label: i18n("Visuals:")
- text: i18n("Show borders")
- }
-
- Item {
- Kirigami.FormData.isSection: true
- }
-
- QtLayouts.ColumnLayout {
- Kirigami.FormData.label: i18n("Available Plugins:")
- Kirigami.FormData.buddyFor: children[1] // 0 is the Repeater
-
- Repeater {
- id: calendarPluginsRepeater
- model: PlasmaCalendar.EventPluginsManager.model
- delegate: QtLayouts.RowLayout {
- QtControls.CheckBox {
- text: model.display
- checked: model.checked
- onClicked: {
- //needed for model's setData to be called
- model.checked = checked;
- calendarPage.configurationChanged();
- }
- }
- }
- }
- }
- }
-
- Component.onCompleted: {
- PlasmaCalendar.EventPluginsManager.populateEnabledPluginsList(plasmoid.configuration.enabledCalendarPlugins);
- }
-}
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/contents/ui/configTimeZones.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/contents/ui/configTimeZones.qml
deleted file mode 100644
index 3ac84a7..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/contents/ui/configTimeZones.qml
+++ /dev/null
@@ -1,209 +0,0 @@
-/*
- * Copyright 2013 Kai Uwe Broulik
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License or (at your option) version 3 or any later version
- * accepted by the membership of KDE e.V. (or its successor approved
- * by the membership of KDE e.V.), which shall act as a proxy
- * defined in Section 14 of version 3 of the license.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- */
-
-import QtQuick 2.0
-import QtQuick.Controls 1.2 as QtControls
-import QtQuick.Layouts 1.0
-import QtQuick.Dialogs 1.1
-
-import org.kde.plasma.private.digitalclock 1.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.components 2.0 as PlasmaComponents
-
-Item {
- id: timeZonesPage
- width: parent.width
- height: parent.height
-
- property alias cfg_selectedTimeZones: timeZones.selectedTimeZones
- property alias cfg_wheelChangesTimezone: enableWheelCheckBox.checked
-
- TimeZoneModel {
- id: timeZones
-
- onSelectedTimeZonesChanged: {
- if (selectedTimeZones.length == 0) {
- messageWidget.visible = true;
-
- timeZones.selectLocalTimeZone();
- }
- }
- }
-
- // This is just for getting the column width
- QtControls.CheckBox {
- id: checkbox
- visible: false
- }
-
-
- ColumnLayout {
- anchors.fill: parent
-
- Rectangle {
- id: messageWidget
-
- anchors {
- left: parent.left
- right: parent.right
- margins: 1
- }
-
- height: 0
-
- //TODO: This is the actual color KMessageWidget uses as its base color but here it gives
- // a different color, figure out why
- //property color gradBaseColor: Qt.rgba(0.69, 0.5, 0, 1)
- gradient: Gradient {
- GradientStop { position: 0.0; color: "#FFD86D" } //Qt.lighter(messageWidget.gradBaseColor, 1.1)
- GradientStop { position: 0.1; color: "#EAC360" } // messageWidget.gradBaseColor
- GradientStop { position: 1.0; color: "#CAB064" } //Qt.darker(messageWidget.gradBaseColor, 1.1)
- }
-
- radius: 5
- border.width: 1
- border.color: "#79735B"
-
- visible: false
-
- Behavior on visible {
- ParallelAnimation {
- PropertyAnimation {
- target: messageWidget
- property: "opacity"
- to: messageWidget.visible ? 0 : 1.0
- easing.type: Easing.Linear
- }
- PropertyAnimation {
- target: messageWidget
- property: "Layout.minimumHeight"
- to: messageWidget.visible ? 0 : messageWidgetLabel.height + (2 *units.largeSpacing)
- easing.type: Easing.Linear
- }
- }
- }
-
- RowLayout {
- anchors.fill: parent
- anchors.margins: units.largeSpacing
- anchors.leftMargin: units.smallSpacing
- anchors.rightMargin: units.smallSpacing
- spacing: units.smallSpacing
-
- PlasmaCore.IconItem {
- anchors.verticalCenter: parent.verticalCenter
- height: units.iconSizes.smallMedium
- width: height
- source: "dialog-warning"
- }
-
- QtControls.Label {
- id: messageWidgetLabel
- anchors.verticalCenter: parent.verticalCenter
- Layout.fillWidth: true
- text: i18n("At least one time zone needs to be enabled. 'Local' was enabled automatically.")
- verticalAlignment: Text.AlignVCenter
- wrapMode: Text.WordWrap
- }
-
- PlasmaComponents.ToolButton {
- anchors.verticalCenter: parent.verticalCenter
- iconName: "dialog-close"
- flat: true
-
- onClicked: {
- messageWidget.visible = false;
- }
- }
- }
- }
-
- QtControls.TextField {
- id: filter
- Layout.fillWidth: true
- placeholderText: i18n("Search Time Zones")
- }
-
- QtControls.TableView {
- id: timeZoneView
-
- signal toggleCurrent
-
- Layout.fillWidth: true
- Layout.fillHeight: true
-
- Keys.onSpacePressed: toggleCurrent()
-
- model: TimeZoneFilterProxy {
- sourceModel: timeZones
- filterString: filter.text
- }
-
- QtControls.TableViewColumn {
- role: "checked"
- width: checkbox.width
- delegate:
- QtControls.CheckBox {
- id: checkBox
- anchors.centerIn: parent
- checked: styleData.value
- activeFocusOnTab: false // only let the TableView as a whole get focus
- onClicked: {
- //needed for model's setData to be called
- model.checked = checked;
- }
-
- Connections {
- target: timeZoneView
- onToggleCurrent: {
- if (styleData.row === timeZoneView.currentRow) {
- model.checked = !checkBox.checked
- }
- }
- }
- }
-
- resizable: false
- movable: false
- }
- QtControls.TableViewColumn {
- role: "city"
- title: i18n("City")
- }
- QtControls.TableViewColumn {
- role: "region"
- title: i18n("Region")
- }
- QtControls.TableViewColumn {
- role: "comment"
- title: i18n("Comment")
- }
- }
-
- RowLayout {
- Layout.fillWidth: true
- QtControls.CheckBox {
- id: enableWheelCheckBox
- text: i18n("Switch time zone with mouse wheel")
- }
- }
-
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/contents/ui/main.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/contents/ui/main.qml
deleted file mode 100644
index 604a7b9..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/contents/ui/main.qml
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * Copyright 2013 Heena Mahour
- * Copyright 2013 Sebastian Kügler
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-import QtQuick 2.0
-import QtQuick.Layouts 1.1
-import org.kde.plasma.plasmoid 2.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.components 2.0 as PlasmaComponents
-import org.kde.plasma.extras 2.0 as PlasmaExtras
-import org.kde.kquickcontrolsaddons 2.0
-import org.kde.plasma.private.digitalclock 1.0
-import org.kde.kquickcontrolsaddons 2.0
-import org.kde.plasma.calendar 2.0 as PlasmaCalendar
-
-Item {
- id: root
-
- width: units.gridUnit * 10
- height: units.gridUnit * 4
- property string dateFormatString: setDateFormatString()
- property date tzDate: {
- // get the time for the given timezone from the dataengine
- var now = dataSource.data[plasmoid.configuration.lastSelectedTimezone]["DateTime"];
- // get current UTC time
- var msUTC = now.getTime() + (now.getTimezoneOffset() * 60000);
- // add the dataengine TZ offset to it
- return new Date(msUTC + (dataSource.data[plasmoid.configuration.lastSelectedTimezone]["Offset"] * 1000));
- }
-
- function initTimezones() {
- var tz = Array()
- if (plasmoid.configuration.selectedTimeZones.indexOf("Local") === -1) {
- tz.push("Local");
- }
- root.allTimezones = tz.concat(plasmoid.configuration.selectedTimeZones);
- }
-
- Plasmoid.preferredRepresentation: Plasmoid.compactRepresentation
- Plasmoid.compactRepresentation: DigitalClock { }
- Plasmoid.fullRepresentation: CalendarView { }
-
- Plasmoid.toolTipItem: Loader {
- id: tooltipLoader
-
- Layout.minimumWidth: item ? item.width : 0
- Layout.maximumWidth: item ? item.width : 0
- Layout.minimumHeight: item ? item.height : 0
- Layout.maximumHeight: item ? item.height : 0
-
- source: "Tooltip.qml"
- }
-
- //We need Local to be *always* present, even if not disaplayed as
- //it's used for formatting in ToolTip.dateTimeChanged()
- property var allTimezones
- Connections {
- target: plasmoid.configuration
- onSelectedTimeZonesChanged: root.initTimezones();
- }
-
- PlasmaCore.DataSource {
- id: dataSource
- engine: "time"
- connectedSources: allTimezones
- interval: plasmoid.configuration.showSeconds ? 1000 : 60000
- intervalAlignment: plasmoid.configuration.showSeconds ? PlasmaCore.Types.NoAlignment : PlasmaCore.Types.AlignToMinute
- }
-
- function setDateFormatString() {
- // remove "dddd" from the locale format string
- // /all/ locales in LongFormat have "dddd" either
- // at the beginning or at the end. so we just
- // remove it + the delimiter and space
- var format = Qt.locale().dateFormat(Locale.LongFormat);
- format = format.replace(/(^dddd.?\s)|(,?\sdddd$)/, "");
- return format;
- }
-
- function action_clockkcm() {
- KCMShell.open("clock");
- }
-
- function action_formatskcm() {
- KCMShell.open("formats");
- }
-
- Component.onCompleted: {
- plasmoid.setAction("clipboard", i18n("Copy to Clipboard"), "edit-copy");
- ClipboardMenu.setupMenu(plasmoid.action("clipboard"));
-
- root.initTimezones();
- if (KCMShell.authorize("clock.desktop").length > 0) {
- plasmoid.setAction("clockkcm", i18n("Adjust Date and Time..."), "preferences-system-time");
- }
- if (KCMShell.authorize("formats.desktop").length > 0) {
- plasmoid.setAction("formatskcm", i18n("Set Time Format..."));
- }
-
- // Set the list of enabled plugins from config
- // to the manager
- PlasmaCalendar.EventPluginsManager.enabledPlugins = plasmoid.configuration.enabledCalendarPlugins;
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/metadata.desktop b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/metadata.desktop
deleted file mode 100644
index 7fe7c7a..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/metadata.desktop
+++ /dev/null
@@ -1,24 +0,0 @@
-[Desktop Entry]
-Name=Better inline clock
-Name[de]=Bessere inline Uhr
-Name[es]=Mejor reloj en línea
-Name[x-test]=xxBetter inline clockxx
-
-Comment=Your usual clock, just better and on one line!
-Comment[de]=Deine normale Uhr, nur besser und auf einer Zeile!
-Comment[es]=El reloj de siempre, sólo mejor y en una sola línea!
-Comment[x-test]=xxYour usual clock, just better and on one line!xx
-
-Icon=org.kde.plasma.digitalclock
-Type=Service
-X-KDE-PluginInfo-Author=Marian Arlt
-X-KDE-PluginInfo-Email=marianarlt@icloud.com
-X-KDE-PluginInfo-License=GPL-3.0-or-later
-X-KDE-PluginInfo-Name=org.kde.plasma.betterinlineclock
-X-KDE-PluginInfo-Version=3.1
-X-KDE-PluginInfo-Website=plasma.kde.org
-X-KDE-ServiceTypes=Plasma/Applet
-X-Plasma-API=declarativeappletscript
-X-KDE-PluginInfo-Category=Date and Time
-X-Plasma-Provides=org.kde.plasma.time,org.kde.plasma.date
-X-Plasma-MainScript=ui/main.qml
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/metadata.json b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/metadata.json
deleted file mode 100644
index 40a5506..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.betterinlineclock/metadata.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- "KPlugin": {
- "Authors": [
- {
- "Email": "mklapetek@kde.org",
- "Name": "Martin Klapetek"
- },
- {
- "Email": "marianarlt@icloud.com",
- "Name": "Marian Arlt"
- }
- ],
- "Category": "Date and Time",
- "Description": "Your usual clock, just better and on one line!",
- "Description[de]": "Deine normale Uhr, nur besser und auf einer Zeile!",
- "Description[es]": "El reloj de siempre, sólo mejor y en una sola línea!",
- "Icon": "org.kde.plasma.digitalclock",
- "Id": "org.kde.plasma.betterinlineclock",
- "License": "GPL-3.0-or-later",
- "Name": "Better inline clock",
- "Name[de]": "Bessere inline Uhr",
- "Name[es]": "Mejor reloj en línea",
- "Name[x-test]": "xxBetter inline clockxx",
- "ServiceTypes": [
- "Plasma/Applet"
- ],
- "Version": "3.1",
- "Website": "https://www.pling.com/p/1245902"
- },
- "X-KDE-ParentApp": "",
- "X-Plasma-API": "declarativeappletscript",
- "X-Plasma-MainScript": "ui/main.qml",
- "X-Plasma-Provides": [
- "org.kde.plasma.time",
- "org.kde.plasma.date"
- ]
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.clearclock/contents/config/config.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.clearclock/contents/config/config.qml
deleted file mode 100644
index aa858ca..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.clearclock/contents/config/config.qml
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- SPDX-FileCopyrightText: 2021 qewer33
- SPDX-License-Identifier: GPL-3.0-or-later
-*/
-
-import QtQuick 2.0
-import QtQml 2.2
-
-import org.kde.plasma.configuration 2.0
-
-ConfigModel {
- id: configModel
-
- ConfigCategory {
- name: i18n("Appearance")
- icon: "preferences-desktop-color"
- source: "config/configAppearance.qml"
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.clearclock/contents/config/main.xml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.clearclock/contents/config/main.xml
deleted file mode 100644
index d9dfbd7..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.clearclock/contents/config/main.xml
+++ /dev/null
@@ -1,165 +0,0 @@
-
-
-
-
-
-
-
-
-
- true
-
-
-
- false
-
-
-
- .
-
-
-
- #ffffff
-
-
-
- ccdefault
-
-
-
- true
-
-
-
- false
-
-
-
- 220
-
-
-
- false
-
-
-
- #80000000
-
-
-
- 10
-
-
-
- 0
-
-
-
- 0
-
-
-
-
-
- true
-
-
-
- #5e4573
-
-
-
- ccdefault
-
-
-
- false
-
-
-
- false
-
-
-
- 100
-
-
-
- false
-
-
-
- #80000000
-
-
-
- 10
-
-
-
- 0
-
-
-
- 0
-
-
-
-
-
- true
-
-
-
- d MMMM yyyy
-
-
-
- #ffffff
-
-
-
- ccdefault
-
-
-
- false
-
-
-
- false
-
-
-
- 24
-
-
-
- 2
-
-
-
- false
-
-
-
- #80000000
-
-
-
- 10
-
-
-
- 0
-
-
-
- 0
-
-
-
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.clearclock/contents/fonts/Outfit-Bold.ttf b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.clearclock/contents/fonts/Outfit-Bold.ttf
deleted file mode 100644
index 625fa99..0000000
Binary files a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.clearclock/contents/fonts/Outfit-Bold.ttf and /dev/null differ
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.clearclock/contents/fonts/Outfit-Regular.ttf b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.clearclock/contents/fonts/Outfit-Regular.ttf
deleted file mode 100644
index 7a60fc6..0000000
Binary files a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.clearclock/contents/fonts/Outfit-Regular.ttf and /dev/null differ
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.clearclock/contents/fonts/Smooch-Regular.ttf b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.clearclock/contents/fonts/Smooch-Regular.ttf
deleted file mode 100644
index 6530f04..0000000
Binary files a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.clearclock/contents/fonts/Smooch-Regular.ttf and /dev/null differ
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.clearclock/contents/ui/config/configAppearance.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.clearclock/contents/ui/config/configAppearance.qml
deleted file mode 100644
index 96581a8..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.clearclock/contents/ui/config/configAppearance.qml
+++ /dev/null
@@ -1,395 +0,0 @@
-/*
- SPDX-FileCopyrightText: 2022 qewer33
- SPDX-License-Identifier: GPL-3.0-or-later
-*/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12 as QtControls
-import QtQuick.Layouts 1.12 as QtLayouts
-import QtQuick.Dialogs 1.2
-
-import org.kde.kirigami 2.3 as Kirigami
-
-import "../lib"
-
-Item {
- id: appearancePage
- width: childrenRect.width
- height: childrenRect.height
-
- signal configurationChanged
-
- property alias cfg_clockUse24hFormat: use24hFormat.checkState
- property alias cfg_clockShowSeconds: showSeconds.checkState
- property alias cfg_clockSeparator: clockSeparatorTextField.text
- property string cfg_clockFontColor
- property string cfg_clockFontFamily
- property bool cfg_clockBoldText
- property bool cfg_clockItalicText
- property int cfg_clockFontSize
- property alias cfg_clockShadowEnabled: clockShadowCheckBox.checked
- property color cfg_clockShadowColor
- property int cfg_clockShadowRadius
- property int cfg_clockShadowXOffset
- property int cfg_clockShadowYOffset
-
- property alias cfg_showDayDisplay: showDayDisplayCheckBox.checked
- property string cfg_dayFontColor
- property string cfg_dayFontFamily
- property bool cfg_dayBoldText
- property bool cfg_dayItalicText
- property int cfg_dayFontSize
- property alias cfg_dayShadowEnabled: dayShadowCheckBox.checked
- property color cfg_dayShadowColor
- property int cfg_dayShadowRadius
- property int cfg_dayShadowXOffset
- property int cfg_dayShadowYOffset
-
- property alias cfg_showDateDisplay: showDateDisplayCheckBox.checked
- property alias cfg_dateCustomDateFormat: customDateFormat.text
- property string cfg_dateFontColor
- property string cfg_dateFontFamily
- property bool cfg_dateBoldText
- property bool cfg_dateItalicText
- property int cfg_dateFontSize
- property alias cfg_dateShadowEnabled: dateShadowCheckBox.checked
- property color cfg_dateShadowColor
- property int cfg_dateShadowRadius
- property int cfg_dateShadowXOffset
- property int cfg_dateShadowYOffset
-
-
- function fixFontFamilyChange(id, comboBox) {
- // HACK by the time we populate our model and/or the ComboBox is finished the value is still undefined
- if (id) {
- for (var i = 0, j = fontsModel.count; i < j; ++i) {
- if (fontsModel.get(i).value === id) {
- comboBox.currentIndex = i
- break
- }
- }
- }
- }
-
- onCfg_clockFontFamilyChanged: {
- fixFontFamilyChange(cfg_clockFontFamily, clockFontFamilyComboBox)
- }
-
- onCfg_dayFontFamilyChanged: {
- fixFontFamilyChange(cfg_dayFontFamily, dayFontFamilyComboBox)
- }
-
- onCfg_dateFontFamilyChanged: {
- fixFontFamilyChange(cfg_dateFontFamily, dateFontFamilyComboBox)
- }
-
- ListModel {
- id: fontsModel
- Component.onCompleted: {
- var arr = [] // use temp array to avoid constant binding stuff
- arr.push({
- "text": "ClearClock Default",
- "value": "ccdefault"
- })
-
- var fonts = Qt.fontFamilies()
- var foundIndex = 0
- for (var i = 0, j = fonts.length; i < j; ++i) {
- arr.push({
- "text": fonts[i],
- "value": fonts[i]
- })
- }
- append(arr)
- }
- }
-
- QtControls.ScrollView {
- id: scrollView
-
- QtLayouts.ColumnLayout {
- id: layout
- anchors.fill: parent
- spacing: 30
-
- QtLayouts.ColumnLayout {
- QtLayouts.Layout.fillWidth: true
- spacing: 10
-
- QtControls.Label {
- text: i18n("Clock Display Settings")
- font.bold: true
- font.pixelSize: 17
- }
-
- QtControls.CheckBox {
- id: use24hFormat
- text: i18n("Use 24-hour clock")
- tristate: false
- checked: cfg_clockUse24hFormat
- }
-
- QtControls.CheckBox {
- id: showSeconds
- text: i18n("Show seconds")
- tristate: false
- checked: cfg_clockShowSeconds
- }
-
- QtLayouts.RowLayout {
- QtControls.Label {
- text: i18n("Separator:")
- }
-
- QtControls.TextField {
- id: clockSeparatorTextField
- maximumLength: 1
- }
- }
-
- FontConfig {
- fontModel: fontsModel
-
- colorValue: cfg_clockFontColor
- onColorValueChanged: {
- cfg_clockFontColor = colorValue
- }
-
- fontValue: cgf_clockFontFamily
- onFontValueChanged: {
- cfg_clockFontFamily = fontValue
- }
-
- boldValue: cfg_clockBoldText
- onBoldValueChanged: {
- cfg_clockBoldText = boldValue
- }
-
- italicValue: cfg_clockItalicText
- onItalicValueChanged: {
- cfg_clockItalicText = italicValue
- }
-
- pxSizeValue: cfg_clockFontSize
- onPxSizeValueChanged: {
- cfg_clockFontSize = pxSizeValue
- }
- }
-
- QtControls.CheckBox {
- id: clockShadowCheckBox
- text: i18n("Enable shadow")
- tristate: false
- checked: cfg_clockShadowEnabled
- }
-
- ShadowConfig {
- enabled: clockShadowCheckBox.checked
-
- colorValue: cfg_clockShadowColor
- onColorValueChanged: {
- cfg_clockShadowColor = colorValue
- }
-
- radiusValue: cfg_clockShadowRadius
- onRadiusValueChanged: {
- cfg_clockShadowRadius = radiusValue
- }
-
- offsetXValue: cfg_clockShadowXOffset
- onOffsetXValueChanged: {
- cfg_clockShadowXOffset = offsetXValue
- }
-
- offsetYValue: cfg_clockShadowYOffset
- onOffsetYValueChanged: {
- cfg_clockShadowYOffset = offsetYValue
- }
- }
- }
-
- QtLayouts.ColumnLayout {
- QtLayouts.Layout.fillWidth: true
- spacing: 10
-
- QtControls.Label {
- text: i18n("Day Display Settings")
- font.bold: true
- font.pixelSize: 17
- }
-
- QtControls.CheckBox {
- id: showDayDisplayCheckBox
- text: i18n("Show day display")
- }
-
- FontConfig {
- fontModel: fontsModel
- enabled: showDayDisplayCheckBox.checked
-
- colorValue: cfg_dayFontColor
- onColorValueChanged: {
- cfg_dayFontColor = colorValue
- }
-
- fontValue: cgf_dayFontFamily
- onFontValueChanged: {
- cfg_dayFontFamily = fontValue
- }
-
- boldValue: cfg_dayBoldText
- onBoldValueChanged: {
- cfg_dayBoldText = boldValue
- }
-
- italicValue: cfg_dayItalicText
- onItalicValueChanged: {
- cfg_dayItalicText = italicValue
- }
-
- pxSizeValue: cfg_dayFontSize
- onPxSizeValueChanged: {
- cfg_dayFontSize = pxSizeValue
- }
- }
-
- QtControls.CheckBox {
- id: dayShadowCheckBox
- text: i18n("Enable shadow")
- tristate: false
- checked: cfg_dayShadowEnabled
- }
-
- ShadowConfig {
- enabled: dayShadowCheckBox.checked
-
- colorValue: cfg_dayShadowColor
- onColorValueChanged: {
- cfg_dayShadowColor = colorValue
- }
-
- radiusValue: cfg_dayShadowRadius
- onRadiusValueChanged: {
- cfg_dayShadowRadius = radiusValue
- }
-
- offsetXValue: cfg_dayShadowXOffset
- onOffsetXValueChanged: {
- cfg_dayShadowXOffset = offsetXValue
- }
-
- offsetYValue: cfg_clockShadowYOffset
- onOffsetYValueChanged: {
- cfg_dayShadowYOffset = offsetYValue
- }
- }
- }
-
- QtLayouts.ColumnLayout {
- QtLayouts.Layout.fillWidth: true
- spacing: 10
-
- QtControls.Label {
- text: i18n("Date Display Settings")
- font.bold: true
- font.pixelSize: 17
- }
-
- QtControls.CheckBox {
- id: showDateDisplayCheckBox
- text: i18n("Show date display")
- }
-
- QtLayouts.RowLayout {
- enabled: showDateDisplayCheckBox.checked
-
- QtControls.Label {
- text: i18n("Date format:")
- opacity: if (enabled) 1
- else 0.4
- }
-
- QtLayouts.RowLayout {
- QtControls.TextField {
- id: customDateFormat
- QtLayouts.Layout.fillWidth: true
- }
-
- QtControls.Button {
- icon.name: "exifinfo"
- onClicked: Qt.openUrlExternally("https://doc.qt.io/qt-5/qml-qtqml-qt.html#formatDateTime-method")
- }
- }
- }
-
- FontConfig {
- fontModel: fontsModel
- enabled: showDateDisplayCheckBox.checked
-
- colorValue: cfg_dateFontColor
- onColorValueChanged: {
- cfg_dateFontColor = colorValue
- }
-
- fontValue: cgf_dateFontFamily
- onFontValueChanged: {
- cfg_dateFontFamily = fontValue
- }
-
- boldValue: cfg_dateBoldText
- onBoldValueChanged: {
- cfg_dateBoldText = boldValue
- }
-
- italicValue: cfg_dateItalicText
- onItalicValueChanged: {
- cfg_dateItalicText = italicValue
- }
-
- pxSizeValue: cfg_dateFontSize
- onPxSizeValueChanged: {
- cfg_dateFontSize = pxSizeValue
- }
- }
-
- QtControls.CheckBox {
- id: dateShadowCheckBox
- text: i18n("Enable shadow")
- tristate: false
- checked: cfg_dateShadowEnabled
- }
-
- ShadowConfig {
- enabled: dateShadowCheckBox.checked
-
- colorValue: cfg_dateShadowColor
- onColorValueChanged: {
- cfg_dateShadowColor = colorValue
- }
-
- radiusValue: cfg_dateShadowRadius
- onRadiusValueChanged: {
- cfg_dateShadowRadius = radiusValue
- }
-
- offsetXValue: cfg_dateShadowXOffset
- onOffsetXValueChanged: {
- cfg_dateShadowXOffset = offsetXValue
- }
-
- offsetYValue: cfg_dateShadowYOffset
- onOffsetYValueChanged: {
- cfg_dateShadowYOffset = offsetYValue
- }
- }
- }
- }
- }
-}
-
-/*##^##
-Designer {
- D{i:0;autoSize:true;height:480;width:640}D{i:1}D{i:3}D{i:2}
-}
-##^##*/
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.clearclock/contents/ui/lib/ColorButton.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.clearclock/contents/ui/lib/ColorButton.qml
deleted file mode 100644
index ae5cc12..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.clearclock/contents/ui/lib/ColorButton.qml
+++ /dev/null
@@ -1,42 +0,0 @@
-import QtQuick 2.4
-import QtQuick.Controls 2.12 as QtControls
-import QtQuick.Layouts 1.12 as QtLayouts
-/*
- SPDX-FileCopyrightText: 2022 qewer33
- SPDX-License-Identifier: GPL-3.0-or-later
-*/
-
-import QtQuick.Dialogs 1.2
-
-QtControls.Button {
- id: clockFontColorButton
- implicitWidth: 50
- implicitHeight: parent.height
-
- property color value
-
- Rectangle {
- id: rect
- anchors.fill: parent
- anchors.margins: 5
- radius: 3
- color: value
- opacity: if (enabled) 1
- else 0.4
- }
-
- MouseArea {
- anchors.fill: parent
- onClicked: dialog.open()
- }
-
- ColorDialog {
- id: dialog
- title: "Select Background Color"
- color: value
- showAlphaChannel: true
- onAccepted: {
- value = dialog.color
- }
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.clearclock/contents/ui/lib/FontConfig.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.clearclock/contents/ui/lib/FontConfig.qml
deleted file mode 100644
index 3aed4ea..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.clearclock/contents/ui/lib/FontConfig.qml
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- SPDX-FileCopyrightText: 2022 qewer33
- SPDX-License-Identifier: GPL-3.0-or-later
-*/
-
-import QtQuick 2.4
-import QtQuick.Controls 2.12 as QtControls
-import QtQuick.Layouts 1.12 as QtLayouts
-import QtQuick.Dialogs 1.2
-
-import "."
-
-QtLayouts.RowLayout {
-
- property var fontModel
-
- property color colorValue
- property string fontValue
- property bool boldValue
- property bool italicValue
- property int pxSizeValue
-
-
- QtControls.Label {
- text: i18n("Font style:")
- opacity: if (enabled) 1
- else 0.4
- }
-
- ColorButton {
- id: fontColorButton
- value: colorValue
-
- onValueChanged: {
- colorValue = value
- }
- }
-
- QtControls.ComboBox {
- id: fontFamilyComboBox
- QtLayouts.Layout.fillWidth: true
- QtLayouts.Layout.minimumWidth: units.gridUnit * 10
- model: fontModel
- textRole: "text"
- currentIndex: fontValue
-
- onCurrentIndexChanged: {
- var current = model.get(currentIndex)
- if (current) {
- fontValue = current.value
- // appearancePage.configurationChanged()
- }
- }
- }
-
- QtControls.Button {
- id: boldCheckBox
- icon.name: "format-text-bold"
- checkable: true
- checked: boldValue
-
- onStateChanged: {
- boldValue = checked
- }
- }
-
- QtControls.Button {
- id: italicCheckBox
- icon.name: "format-text-italic"
- checkable: true
- checked: italicValue
-
- onStateChanged: {
- italicvalue = checked
- }
- }
-
- QtControls.SpinBox {
- id: fontSizeSpinBox
- from: 10
- to: 350
- value: pxSizeValue
-
- onValueChanged: {
- pxSizeValue = value
- }
- }
-
- QtControls.Label {
- text: i18n("px")
- opacity: if (enabled) 1
- else 0.4
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.clearclock/contents/ui/lib/ShadowConfig.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.clearclock/contents/ui/lib/ShadowConfig.qml
deleted file mode 100644
index 73fdba1..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.clearclock/contents/ui/lib/ShadowConfig.qml
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- SPDX-FileCopyrightText: 2022 qewer33
- SPDX-License-Identifier: GPL-3.0-or-later
-*/
-
-import QtQuick 2.4
-import QtQuick.Controls 2.12 as QtControls
-import QtQuick.Layouts 1.12 as QtLayouts
-import QtQuick.Dialogs 1.2
-
-import "."
-
-QtLayouts.RowLayout {
-
- property color colorValue
- property int radiusValue
- property int offsetXValue
- property int offsetYValue
-
-
- QtControls.Label {
- text: i18n("Shadow style:")
- opacity: if (enabled) 1
- else 0.4
- }
-
- ColorButton {
- id: shadowColorButton
- value: colorValue
-
- onValueChanged: {
- colorValue = value
- }
- }
-
- QtControls.Label {
- text: i18n("Radius")
- opacity: if (enabled) 1
- else 0.4
- }
-
- QtControls.SpinBox {
- id: radiusSpinBox
- from: 0
- to: 50
- value: radiusValue
-
- onValueChanged: {
- radiusValue = value
- }
- }
-
- QtControls.Label {
- text: i18n("Offset")
- opacity: if (enabled) 1
- else 0.4
- }
-
- QtControls.SpinBox {
- id: offsetXSpinBox
- from: 0
- to: 100
- value: offsetXValue
-
- onValueChanged: {
- offsetXValue = value
- }
- }
-
- QtControls.SpinBox {
- id: offsetYSpinBox
- from: 0
- to: 100
- value: offsetYValue
-
- onValueChanged: {
- offsetYValue = value
- }
- }
-
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.clearclock/contents/ui/main.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.clearclock/contents/ui/main.qml
deleted file mode 100644
index 4e723f7..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.clearclock/contents/ui/main.qml
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- SPDX-FileCopyrightText: 2022 qewer33
- SPDX-License-Identifier: GPL-3.0-or-later
-*/
-
-import QtQuick 2.12
-import QtQuick.Layouts 1.12
-import QtGraphicalEffects 1.12
-
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.plasmoid 2.0
-import org.kde.plasma.components 3.0 as PlasmaComponents
-import org.kde.plasma.extras 2.0 as PlasmaExtras
-
-Item {
- id: root
-
- Plasmoid.preferredRepresentation: Plasmoid.fullRepresentation
- Plasmoid.backgroundHints: PlasmaCore.Types.ConfigurableBackground
-
- readonly property date currentDateTime: dataSource.data.Local ? dataSource.data.Local.DateTime : new Date()
-
- PlasmaCore.DataSource {
- id: dataSource
- engine: "time"
- connectedSources: ["Local"]
- interval: plasmoid.configuration.clockShowSeconds ? 1000 : 60000
- intervalAlignment: plasmoid.configuration.clockShowSeconds ? PlasmaCore.Types.NoAlignment : PlasmaCore.Types.AlignToMinute
- }
-
- FontLoader {
- id: fontOutfitBold
- source: "../fonts/Outfit-Bold.ttf"
- }
-
- FontLoader {
- id: fontOutfitRegular
- source: "../fonts/Outfit-Regular.ttf"
- }
-
- FontLoader {
- id: fontSmooch
- source: "../fonts/Smooch-Regular.ttf"
- }
-
- Plasmoid.fullRepresentation: ColumnLayout {
- anchors.fill: parent
- spacing: -20
-
- TextMetrics {
- id: textMetricsClockLabel
- font.family: clockLabel.font.family
- font.pixelSize: clockLabel.font.pixelSize
- font.bold: clockLabel.font.bold
- text: if (!plasmoid.configuration.clockShowSeconds) " 99:99 "
- else " 99:99:99 "
- }
-
- TextMetrics {
- id: textMetricsDayLabel
- font.family: dayLabel.font.family
- font.pixelSize: dayLabel.font.pixelSize
- font.bold: dayLabel.font.bold
- text: " Wednesday "
- }
-
- Item {
- width: Math.max(textMetricsClockLabel.width, textMetricsDayLabel.width)
- height: Math.max(textMetricsClockLabel.height, textMetricsDayLabel.height)
- Layout.alignment: Qt.AlignCenter
-
- Text {
- id: clockLabel
- anchors.centerIn: parent
-
- property var textFormat: {
- var AMPM = plasmoid.configuration.clockUse24hFormat ? "" : " AP"
- if (plasmoid.configuration.clockShowSeconds)
- return Qt.formatTime(currentDateTime, "hh.mm.ss" + AMPM).split(".").join(plasmoid.configuration.clockSeparator)
- else
- return Qt.formatTime(currentDateTime, "hh.mm" + AMPM).split(".").join(plasmoid.configuration.clockSeparator)
- }
-
- text: textFormat
-
- color: plasmoid.configuration.clockFontColor
- font.family: if (plasmoid.configuration.clockFontFamily === "ccdefault") fontOutfitBold.name
- else plasmoid.configuration.clockFontFamily
- font.bold: plasmoid.configuration.clockBoldText
- font.italic: plasmoid.configuration.clockItalicText
- font.pixelSize: plasmoid.configuration.clockFontSize
-
- layer.enabled: plasmoid.configuration.clockShadowEnabled
- layer.effect: DropShadow {
- color: plasmoid.configuration.clockShadowColor
- radius: plasmoid.configuration.clockShadowRadius
- horizontalOffset: plasmoid.configuration.clockShadowXOffset
- verticalOffset: plasmoid.configuration.clockShadowYOffset
- samples: plasmoid.configuration.clockShadowRadius*2
- }
- }
-
- Text {
- id: dayLabel
- visible: plasmoid.configuration.showDayDisplay
- anchors.centerIn: parent
-
- text: Qt.formatDate(currentDateTime, "dddd")
-
- color: plasmoid.configuration.dayFontColor
- font.family: if (plasmoid.configuration.dayFontFamily === "ccdefault") fontSmooch.name
- else plasmoid.configuration.dayFontFamily
- font.bold: plasmoid.configuration.daykBoldText
- font.italic: plasmoid.configuration.dayItalicText
- font.pixelSize: plasmoid.configuration.dayFontSize
-
- layer.enabled: plasmoid.configuration.dayShadowEnabled
- layer.effect: DropShadow {
- color: plasmoid.configuration.dayShadowColor
- radius: plasmoid.configuration.dayShadowRadius
- horizontalOffset: plasmoid.configuration.dayShadowXOffset
- verticalOffset: plasmoid.configuration.dayShadowYOffset
- samples: plasmoid.configuration.dayShadowYOffset*2
- }
- }
- }
-
- Text {
- id: dateLabel
- visible: plasmoid.configuration.showDateDisplay
- Layout.alignment: Qt.AlignCenter
-
- text: Qt.formatDate(currentDateTime, plasmoid.configuration.dateCustomDateFormat)
-
- color: plasmoid.configuration.dateFontColor
- font.family: if (plasmoid.configuration.dateFontFamily === "ccdefault") fontOutfitRegular.name
- else plasmoid.configuration.dateFontFamily
- font.bold: plasmoid.configuration.dateBoldText
- font.italic: plasmoid.configuration.dateItalicText
- font.pixelSize: plasmoid.configuration.dateFontSize
- font.capitalization: Font.AllUppercase
- font.letterSpacing: plasmoid.configuration.dateLetterSpacing
-
- layer.enabled: plasmoid.configuration.dateShadowEnabled
- layer.effect: DropShadow {
- color: plasmoid.configuration.dateShadowColor
- radius: plasmoid.configuration.dateShadowRadius
- horizontalOffset: plasmoid.configuration.dateShadowXOffset
- verticalOffset: plasmoid.configuration.dateShadowYOffset
- samples: plasmoid.configuration.dateShadowYOffset*2
- }
- }
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.clearclock/metadata.desktop b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.clearclock/metadata.desktop
deleted file mode 100644
index 70a6c4e..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.clearclock/metadata.desktop
+++ /dev/null
@@ -1,18 +0,0 @@
-[Desktop Entry]
-Name=ClearClock
-Comment=A clear and modern date/time display
-
-Icon=preferences-system-time
-Type=System
-X-KDE-ServiceTypes=Plasma/Applet
-
-X-KDE-PluginInfo-Author=qewer33
-X-KDE-PluginInfo-Name=org.kde.plasma.clearclock
-X-KDE-PluginInfo-Version=0.3
-X-KDE-PluginInfo-Website=https://github.com/qewer33/ClearClock
-X-KDE-PluginInfo-Category=Utilities
-X-KDE-PluginInfo-License=GPL-3.0+
-X-KDE-PluginInfo-EnabledByDefault=true
-
-X-Plasma-API=declarativeappletscript
-X-Plasma-MainScript=ui/main.qml
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.clearclock/metadata.json b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.clearclock/metadata.json
deleted file mode 100644
index e5c0dc0..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.clearclock/metadata.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "KPlugin": {
- "Authors": [
- {
- "Name": "qewer33"
- }
- ],
- "Name": "ClearClock",
- "Id": "org.kde.plasma.clearclock",
- "Description": "A clean and customizable date/time display for your desktop",
- "Category": "Utilities",
- "Icon": "org.kde.plasma.analogclock",
- "EnabledByDefault": true,
- "License": "GPL-3.0+",
- "ServiceTypes": [
- "Plasma/Applet"
- ],
- "Version": "0.3",
- "Website": "https://github.com/qewer33/ClearClock"
- },
- "X-Plasma-API": "declarativeappletscript",
- "X-Plasma-MainScript": "ui/main.qml"
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/AUTHORS b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/AUTHORS
deleted file mode 100644
index 4a10e8c..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/AUTHORS
+++ /dev/null
@@ -1,7 +0,0 @@
------------------------- Compact Shutdown Widget ------------------------
-Alexey Varfolomeev - https://github.com/varlesh/org.kde.plasma.compact-shutdown
-
-Used sources & ideas:
-- Michail Vourlakos from https://github.com/psifidotos/applet-latte-sidebar-button
-- Jakub Lipinski from https://gitlab.com/divinae/uswitch
-- Kai Uwe Broulik from https://github.com/KDE/kdeplasma-addons/tree/master/applets/userswitcher
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/LICENSE b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/LICENSE
deleted file mode 100644
index f288702..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/LICENSE
+++ /dev/null
@@ -1,674 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-
- Copyright (C)
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-Also add information on how to contact you by electronic and paper mail.
-
- If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
- Copyright (C)
- This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/config/config.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/config/config.qml
deleted file mode 100644
index c2566a0..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/config/config.qml
+++ /dev/null
@@ -1,10 +0,0 @@
-import QtQuick 2.2
-import org.kde.plasma.configuration 2.0
-
-ConfigModel {
- ConfigCategory {
- name: i18n('Appearance')
- icon: 'preferences-desktop-color'
- source: 'configAppearance.qml'
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/config/main.xml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/config/main.xml
deleted file mode 100644
index 3fbca13..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/config/main.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- false
-
-
- true
-
-
- 180
-
-
- 180
-
-
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/locale/de/LC_MESSAGES/plasma_applet_org.kde.plasma.compact-shutdown.mo b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/locale/de/LC_MESSAGES/plasma_applet_org.kde.plasma.compact-shutdown.mo
deleted file mode 100644
index e05c0e5..0000000
Binary files a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/locale/de/LC_MESSAGES/plasma_applet_org.kde.plasma.compact-shutdown.mo and /dev/null differ
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/locale/es/LC_MESSAGES/plasma_applet_org.kde.plasma.compact-shutdown.mo b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/locale/es/LC_MESSAGES/plasma_applet_org.kde.plasma.compact-shutdown.mo
deleted file mode 100644
index 0a1543d..0000000
Binary files a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/locale/es/LC_MESSAGES/plasma_applet_org.kde.plasma.compact-shutdown.mo and /dev/null differ
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/locale/fr/LC_MESSAGES/plasma_applet_org.kde.plasma.compact-shutdown.mo b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/locale/fr/LC_MESSAGES/plasma_applet_org.kde.plasma.compact-shutdown.mo
deleted file mode 100644
index eb32878..0000000
Binary files a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/locale/fr/LC_MESSAGES/plasma_applet_org.kde.plasma.compact-shutdown.mo and /dev/null differ
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/locale/it/LC_MESSAGES/plasma_applet_org.kde.plasma.compact-shutdown.mo b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/locale/it/LC_MESSAGES/plasma_applet_org.kde.plasma.compact-shutdown.mo
deleted file mode 100644
index 7b1d61d..0000000
Binary files a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/locale/it/LC_MESSAGES/plasma_applet_org.kde.plasma.compact-shutdown.mo and /dev/null differ
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/locale/ko/LC_MESSAGES/plasma_applet_org.kde.plasma.compact-shutdown.mo b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/locale/ko/LC_MESSAGES/plasma_applet_org.kde.plasma.compact-shutdown.mo
deleted file mode 100644
index 900ebc9..0000000
Binary files a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/locale/ko/LC_MESSAGES/plasma_applet_org.kde.plasma.compact-shutdown.mo and /dev/null differ
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/locale/nl/LC_MESSAGES/plasma_applet_org.kde.plasma.compact-shutdown.mo b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/locale/nl/LC_MESSAGES/plasma_applet_org.kde.plasma.compact-shutdown.mo
deleted file mode 100644
index a359e02..0000000
Binary files a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/locale/nl/LC_MESSAGES/plasma_applet_org.kde.plasma.compact-shutdown.mo and /dev/null differ
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/locale/pl/LC_MESSAGES/plasma_applet_org.kde.plasma.compact-shutdown.mo b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/locale/pl/LC_MESSAGES/plasma_applet_org.kde.plasma.compact-shutdown.mo
deleted file mode 100644
index ee78c67..0000000
Binary files a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/locale/pl/LC_MESSAGES/plasma_applet_org.kde.plasma.compact-shutdown.mo and /dev/null differ
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/locale/pt/LC_MESSAGES/plasma_applet_org.kde.plasma.compact-shutdown.mo b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/locale/pt/LC_MESSAGES/plasma_applet_org.kde.plasma.compact-shutdown.mo
deleted file mode 100644
index c11deaf..0000000
Binary files a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/locale/pt/LC_MESSAGES/plasma_applet_org.kde.plasma.compact-shutdown.mo and /dev/null differ
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/locale/ru/LC_MESSAGES/plasma_applet_org.kde.plasma.compact-shutdown.mo b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/locale/ru/LC_MESSAGES/plasma_applet_org.kde.plasma.compact-shutdown.mo
deleted file mode 100644
index 6edafd1..0000000
Binary files a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/locale/ru/LC_MESSAGES/plasma_applet_org.kde.plasma.compact-shutdown.mo and /dev/null differ
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/locale/tr/LC_MESSAGES/plasma_applet_org.kde.plasma.compact-shutdown.mo b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/locale/tr/LC_MESSAGES/plasma_applet_org.kde.plasma.compact-shutdown.mo
deleted file mode 100644
index 3c7bf48..0000000
Binary files a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/locale/tr/LC_MESSAGES/plasma_applet_org.kde.plasma.compact-shutdown.mo and /dev/null differ
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/locale/uk/LC_MESSAGES/plasma_applet_org.kde.plasma.compact-shutdown.mo b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/locale/uk/LC_MESSAGES/plasma_applet_org.kde.plasma.compact-shutdown.mo
deleted file mode 100644
index 645536a..0000000
Binary files a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/locale/uk/LC_MESSAGES/plasma_applet_org.kde.plasma.compact-shutdown.mo and /dev/null differ
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/locale/zh/LC_MESSAGES/plasma_applet_org.kde.plasma.compact-shutdown.mo b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/locale/zh/LC_MESSAGES/plasma_applet_org.kde.plasma.compact-shutdown.mo
deleted file mode 100644
index 5af438f..0000000
Binary files a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/locale/zh/LC_MESSAGES/plasma_applet_org.kde.plasma.compact-shutdown.mo and /dev/null differ
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/locale/zh_TW/LC_MESSAGES/plasma_applet_org.kde.plasma.compact-shutdown.mo b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/locale/zh_TW/LC_MESSAGES/plasma_applet_org.kde.plasma.compact-shutdown.mo
deleted file mode 100644
index a5207b8..0000000
Binary files a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/locale/zh_TW/LC_MESSAGES/plasma_applet_org.kde.plasma.compact-shutdown.mo and /dev/null differ
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/ui/ListDelegate.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/ui/ListDelegate.qml
deleted file mode 100644
index 020e5ab..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/ui/ListDelegate.qml
+++ /dev/null
@@ -1,112 +0,0 @@
-
-
-/*
- * Copyright 2015 Kai Uwe Broulik
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 2.010-1301, USA.
- */
-import QtQuick 2.2
-import QtQuick.Layouts 1.1
-
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.components 2.0 as PlasmaComponents
-
-Item {
- id: item
-
- signal clicked
- signal iconClicked
-
- property alias text: label.text
- property alias subText: sublabel.text
- property alias icon: icon.source
- // "enabled" also affects all children
- property bool interactive: true
- property bool interactiveIcon: false
-
- property alias containsMouse: area.containsMouse
-
- property Item highlight
-
- Layout.fillWidth: true
-
- height: row.height
-
- MouseArea {
- id: area
- anchors.fill: parent
- enabled: item.interactive
- hoverEnabled: true
- onClicked: item.clicked()
- onContainsMouseChanged: {
- if (!highlight) {
- return
- }
-
- if (containsMouse) {
- highlight.parent = item
- highlight.width = item.width
- highlight.height = item.height
- }
-
- highlight.visible = containsMouse
- }
- }
-
- RowLayout {
- id: row
- anchors.centerIn: parent
- width: parent.width - units.smallSpacing
- spacing: units.smallSpacing
-
- PlasmaCore.IconItem {
- id: icon
- // gosh, there needs to be a Layout.fixedWidth
- Layout.minimumWidth: 1.6 * units.iconSizes.small
- Layout.maximumWidth: 1.6 * units.iconSizes.small
- Layout.minimumHeight: 1.6 * units.iconSizes.small
- Layout.maximumHeight: 1.6 * units.iconSizes.small
-
- MouseArea {
- anchors.fill: parent
- visible: item.interactiveIcon
- cursorShape: Qt.PointingHandCursor
- onClicked: item.iconClicked()
- }
- }
-
- ColumnLayout {
- Layout.fillWidth: true
- spacing: 0
-
- PlasmaComponents.Label {
- id: label
- Layout.fillWidth: true
- wrapMode: Text.NoWrap
- elide: Text.ElideRight
- }
-
- PlasmaComponents.Label {
- id: sublabel
- Layout.fillWidth: true
- wrapMode: Text.NoWrap
- elide: Text.ElideRight
- opacity: 0.6
- font: theme.smallestFont
- visible: text !== ""
- }
- }
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/ui/configAppearance.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/ui/configAppearance.qml
deleted file mode 100644
index 77acca0..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/ui/configAppearance.qml
+++ /dev/null
@@ -1,84 +0,0 @@
-import QtQuick 2.0
-import QtQuick.Controls 2.5
-import QtQuick.Layouts 1.12
-import org.kde.kirigami 2.4 as Kirigami
-
-Item {
-
- property alias cfg_showLogout: showLogout.checked
- property alias cfg_showLockscreen: showLockscreen.checked
- property alias cfg_showSuspend: showSuspend.checked
- property alias cfg_showHibernate: showHibernate.checked
- property alias cfg_showReboot: showReboot.checked
- property alias cfg_showKexec: showKexec.checked
- property alias cfg_showShutdown: showShutdown.checked
- property alias cfg_width: widthSpinBox.value
- property alias cfg_height: heightSpinBox.value
-
- GridLayout {
- columns: 2
- Label {
- text: i18n('Show buttons:')
- }
- CheckBox {
- id: showLogout
- text: i18n('Logout')
- Layout.columnSpan: 2
- }
- CheckBox {
- id: showLockscreen
- text: i18n('Lock Screen')
- Layout.columnSpan: 2
- }
- CheckBox {
- id: showSuspend
- text: i18n('Suspend')
- Layout.columnSpan: 2
- }
- CheckBox {
- id: showHibernate
- text: i18n('Hibernate')
- Layout.columnSpan: 2
- }
- CheckBox {
- id: showReboot
- text: i18n('Reboot')
- Layout.columnSpan: 2
- }
- CheckBox {
- id: showKexec
- text: i18n('Kexec Reboot')
- Layout.columnSpan: 2
- }
- CheckBox {
- id: showShutdown
- text: i18n('Shutdown')
- Layout.columnSpan: 2
- }
-
- Kirigami.FormLayout {
- anchors.left: parent.left
- anchors.right: parent.right
-
- RowLayout {
- Kirigami.FormData.label: i18n("Size:")
- SpinBox {
- id: widthSpinBox
- from: 0
- to: 2147483647 // 2^31-1
- }
- Label {
- text: " x "
- }
- SpinBox {
- id: heightSpinBox
- from: 0
- to: 2147483647 // 2^31-1
- }
- }
- }
-
-}
-}
-
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/ui/main.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/ui/main.qml
deleted file mode 100644
index 5c59066..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/contents/ui/main.qml
+++ /dev/null
@@ -1,166 +0,0 @@
-// Copyright 2021 Alexey Varfolomeev
-// Used sources & ideas:
-// - Michail Vourlakos from https://github.com/psifidotos/applet-latte-sidebar-button
-// - Jakub Lipinski from https://gitlab.com/divinae/uswitch
-
-import QtQuick 2.1
-import QtQuick.Layouts 1.1
-import QtQuick.Controls 1.4
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.plasmoid 2.0
-import org.kde.plasma.components 2.0 as PlasmaComponents
-import org.kde.plasma.extras 2.0 as PlasmaExtras
-
-Item {
- id: root
-
- property bool showLogout: plasmoid.configuration.showLogout
- property bool showLockscreen: plasmoid.configuration.showLockscreen
- property bool showSuspend: plasmoid.configuration.showSuspend
- property bool showHibernate: plasmoid.configuration.showHibernate
- property bool showReboot: plasmoid.configuration.showReboot
- property bool showKexec: plasmoid.configuration.showKexec
- property bool showShutdown: plasmoid.configuration.showShutdown
-
- Layout.fillWidth: true
- Layout.fillHeight: true
- width: 180
- height: 180
-
- Plasmoid.compactRepresentation: Item {
- PlasmaCore.IconItem {
- anchors.fill: parent
- source: "system-shutdown"
- }
-
- MouseArea {
- id: mouseArea
- anchors.fill: parent
-
- onClicked: {
- plasmoid.expanded = !plasmoid.expanded
- }
- }
- }
-
- PlasmaCore.DataSource {
- id: executable
- engine: "executable"
- connectedSources: []
- onNewData: disconnectSource(sourceName)
-
- function exec(cmd) {
- executable.connectSource(cmd)
- }
- }
-
- function action_logOut() {
- executable.exec('qdbus org.kde.ksmserver /KSMServer logout 0 0 2')
- }
-
- function action_reBoot() {
- executable.exec('qdbus org.kde.ksmserver /KSMServer logout 0 1 2')
- }
-
- function action_kexec() {
- executable.exec('qdbus --system org.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager.StartUnit kexec.target replace-irreversibly')
- }
-
- function action_lockScreen() {
- executable.exec('qdbus org.freedesktop.ScreenSaver /ScreenSaver Lock')
- }
-
- function action_shutDown() {
- executable.exec('qdbus org.kde.ksmserver /KSMServer logout 0 2 2')
- }
-
- function action_susPend() {
- executable.exec('qdbus org.kde.Solid.PowerManagement /org/freedesktop/PowerManagement Suspend')
- }
-
- function action_hiberNate() {
- executable.exec('qdbus org.kde.Solid.PowerManagement /org/freedesktop/PowerManagement Hibernate')
- }
-
- PlasmaComponents.Highlight {
- id: delegateHighlight
- visible: false
-// hovered: true
- z: -1 // otherwise it shows ontop of the icon/label and tints them slightly
- }
-
- Plasmoid.fullRepresentation: Item {
- Layout.fillWidth: true
- Layout.fillHeight: true
- Layout.preferredWidth: plasmoid.configuration.width * PlasmaCore.Units.devicePixelRatio
- Layout.preferredHeight: plasmoid.configuration.height * PlasmaCore.Units.devicePixelRatio
-
- ColumnLayout {
- id: column
- anchors.fill: parent
-
- spacing: 0
-
- ListDelegate {
- id: logoutButton
- text: i18n("Logout")
- highlight: delegateHighlight
- icon: "system-log-out"
- onClicked: action_logOut()
- visible: showLogout
- }
- ListDelegate {
- id: lockButton
- text: i18n("Lock Screen")
- highlight: delegateHighlight
- icon: "system-lock-screen"
- onClicked: action_lockScreen()
- visible: showLockscreen
- }
- ListDelegate {
- id: suspendButton
- text: i18n("Suspend")
- highlight: delegateHighlight
- icon: "system-suspend"
- onClicked: action_susPend()
- visible: showSuspend
- }
-
- ListDelegate {
- id: hibernateButton
- text: i18n("Hibernate")
- highlight: delegateHighlight
- icon: "system-suspend-hibernate"
- onClicked: action_hiberNate()
- visible: showHibernate
- }
-
- ListDelegate {
- id: rebootButton
- text: i18n("Reboot")
- highlight: delegateHighlight
- icon: "system-reboot"
- onClicked: action_reBoot()
- visible: showReboot
- }
-
- ListDelegate {
- id: kexecButton
- text: i18n("Kexec Reboot")
- highlight: delegateHighlight
- icon: "system-reboot"
- onClicked: action_kexec()
- visible: showKexec
- }
-
- ListDelegate {
- id: shutdownButton
- text: i18n("Shutdown")
- highlight: delegateHighlight
- icon: "system-shutdown"
- onClicked: action_shutDown()
- visible: showShutdown
- }
- }
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/metadata.desktop b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/metadata.desktop
deleted file mode 100644
index 75beb7d..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.compact-shutdown/metadata.desktop
+++ /dev/null
@@ -1,24 +0,0 @@
-[Desktop Entry]
-Name=Compact ShutDown
-Comment=Compact ShutDown widget
-
-
-Icon=system-shutdown
-Type=Service
-ServiceTypes=Plasma/Applet
-
-X-KDE-PluginInfo-Author=Alexey Varfolomeev
-X-KDE-PluginInfo-Email=varlesh@gmail.com
-X-KDE-PluginInfo-Version=20220827
-X-KDE-PluginInfo-Website=https://github.com/varlesh/org.kde.plasma.compact-shutdown
-X-KDE-PluginInfo-Category=Utilities
-X-KDE-PluginInfo-Depends=
-X-KDE-PluginInfo-License=GPL
-X-KDE-PluginInfo-EnabledByDefault=true
-X-KDE-PluginInfo-Name=org.kde.plasma.compact-shutdown
-
-X-Plasma-API=declarativeappletscript
-X-Plasma-MainScript=ui/main.qml
-X-Plasma-Requires-FileDialog=Unused
-X-Plasma-Requires-LaunchApp=Unused
-X-Plasma-DefaultSize=180,180
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.mediacontroller_plus/Messages.sh b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.mediacontroller_plus/Messages.sh
deleted file mode 100644
index 5b583cf..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.mediacontroller_plus/Messages.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#! /usr/bin/env bash
-$EXTRACTRC `find . -name \*.rc -o -name \*.ui -o -name \*.kcfg` >> rc.cpp
-$XGETTEXT `find . -name \*.js -o -name \*.qml -o -name \*.cpp` -o $podir/plasma_applet_org.kde.plasma.mediacontroller.pot
-rm -f rc.cpp
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.mediacontroller_plus/contents/config/config.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.mediacontroller_plus/contents/config/config.qml
deleted file mode 100644
index 2ac7b43..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.mediacontroller_plus/contents/config/config.qml
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- Copyright 2016 Bill Binder
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, see .
- */
-
-import QtQuick 2.4
-
-import org.kde.plasma.configuration 2.0
-
-ConfigModel {
- ConfigCategory {
- name: i18n("Panel View")
- icon: "preferences-desktop-user"
- source: "configCompactView.qml"
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.mediacontroller_plus/contents/config/main.xml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.mediacontroller_plus/contents/config/main.xml
deleted file mode 100644
index 65d50e3..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.mediacontroller_plus/contents/config/main.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
-
-
-
- 18
-
-
- 0
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- 1
-
-
-
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.mediacontroller_plus/contents/screenshot.png b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.mediacontroller_plus/contents/screenshot.png
deleted file mode 100644
index b459fb6..0000000
Binary files a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.mediacontroller_plus/contents/screenshot.png and /dev/null differ
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.mediacontroller_plus/contents/ui/AlbumArt.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.mediacontroller_plus/contents/ui/AlbumArt.qml
deleted file mode 100644
index 16eebfb..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.mediacontroller_plus/contents/ui/AlbumArt.qml
+++ /dev/null
@@ -1,69 +0,0 @@
-/***************************************************************************
- * Copyright 2013 Sebastian Kügler *
- * Copyright 2014, 2016 Kai Uwe Broulik *
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU Library General Public License as *
- * published by the Free Software Foundation; either version 2 of the *
- * License, or (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU Library General Public License for more details. *
- * *
- * You should have received a copy of the GNU Library General Public *
- * License along with this program; if not, write to the *
- * Free Software Foundation, Inc., *
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . *
- ***************************************************************************/
-
-import QtQuick 2.4
-import org.kde.plasma.core 2.0 as PlasmaCore
-
-
-Item {
-
- readonly property real aspectRatio: albumArt.visible ? (albumArt.paintedWidth / albumArt.paintedHeight) : 1.0
-
- PlasmaCore.IconItem {
- anchors {
- horizontalCenter: parent.horizontalCenter
- verticalCenter: parent.verticalCenter
- }
-
- height: Math.min(parent.height, Math.max(PlasmaCore.Units.iconSizes.large, Math.round(parent.height / 2)))
- width: height
-
- source: mpris2Source.currentData["Desktop Icon Name"]
- visible: !albumArt.visible
-
- usesPlasmaTheme: false
- }
-
- Image {
- id: albumArt
- anchors {
- fill: parent
- }
-
- source: processArtUrl(root.albumArt)
- asynchronous: true
- fillMode: Image.PreserveAspectFit
- sourceSize: Qt.size(512, 512)
- visible: !!root.track && status === Image.Ready
- }
-
- // HACK: Spotify has changed the base URL of their album art images
- // but hasn't updated the URL reported by the MPRIS service
- // https://community.spotify.com/t5/Desktop-Linux/MPRIS-cover-art-url-file-not-found/td-p/4920104
- function processArtUrl(url) {
- let SPOTIFY_OLD_URL = "https://open.spotify.com"
- let SPOTIFY_NEW_URL = "https://i.scdn.co"
-
- if (url.startsWith(SPOTIFY_OLD_URL)) {
- return url.replace(SPOTIFY_OLD_URL, SPOTIFY_NEW_URL)
- }
- return url
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.mediacontroller_plus/contents/ui/CompactRepresentation.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.mediacontroller_plus/contents/ui/CompactRepresentation.qml
deleted file mode 100644
index acc0650..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.mediacontroller_plus/contents/ui/CompactRepresentation.qml
+++ /dev/null
@@ -1,236 +0,0 @@
-/***************************************************************************
- * Copyright 2020 Ismael Asensio *
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU Library General Public License as *
- * published by the Free Software Foundation; either version 2 of the *
- * License, or (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU Library General Public License for more details. *
- * *
- * You should have received a copy of the GNU Library General Public *
- * License along with this program; if not, write to the *
- * Free Software Foundation, Inc., *
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . *
- ***************************************************************************/
-
-import QtQml 2.2
-import QtQuick 2.4
-import QtQuick.Layouts 1.1
-import org.kde.plasma.core 2.0 as PlasmaCore
-
-Item {
- id: compactRoot
-
- readonly property bool isOnVertical: plasmoid.formFactor === PlasmaCore.Types.Vertical
-
- readonly property bool iconView: (width < PlasmaCore.Units.gridUnit * 2)
- || (!plasmoid.configuration.showAlbumArt
- && !plasmoid.configuration.showTrackInfo
- && !plasmoid.configuration.showPlaybackControls)
-
- Layout.fillWidth: isOnVertical || plasmoid.configuration.showTrackInfo
- Layout.fillHeight: !isOnVertical
-
- Layout.minimumWidth: isOnVertical ? plasmoid.width : (iconView ? 1 : 5) * PlasmaCore.Units.gridUnit
- Layout.preferredWidth: plasmoid.configuration.showTrackInfo ? (plasmoid.configuration.minimumWidthUnits || 18) * PlasmaCore.Units.gridUnit
- : mainRow.implicitWidth
- Layout.maximumWidth: isOnVertical ? plasmoid.width : plasmoid.configuration.maximumWidthUnits * PlasmaCore.Units.gridUnit
-
- Layout.preferredHeight: isOnVertical ? mainRow.implicitHeight : plasmoid.height
-
- // HACK: To get the panel backgroud margins
- PlasmaCore.Svg {
- id: marginsHelper
- imagePath: "widgets/panel-background"
-
- readonly property int topMargin: {
- if (hasElement("hint-top-margin")) {
- print(elementSize("hint-top-margin").height)
- return elementSize("hint-top-margin").height
- }
- return PlasmaCore.Units.smallSpacing
- }
- }
-
- Item {
- id: miniProgressBar
- z: 0
- visible: plasmoid.configuration.showProgressBar && !iconView
-
- anchors.fill: parent
- // Negative margins to fill the panel. It seems simpler than
- // Plasmoid.constraintHints: PlasmaCore.Types.CanFillArea
- // and the hack to get the margins is required anyway
- anchors.margins: -marginsHelper.topMargin
-
- Item {
- id: progress
- anchors {
- top: parent.top
- left: parent.left
- bottom: parent.bottom
- }
-
- width: parent.width * root.position / root.length
- clip: true
-
- PlasmaCore.FrameSvgItem {
- width: miniProgressBar.width
- height: miniProgressBar.height
-
- imagePath: "widgets/tasks"
- prefix: ["progress", "hover"]
- }
- }
- }
-
- // HACK: To allow two lines on small panels (~ 32px to 36px)
- Item {
- id: verticalCenterHelper
- anchors {
- left: compactRoot.left
- right: compactRoot.right
- verticalCenter: compactRoot.verticalCenter
- margins: 0
- }
- height: mainRow.implicitHeight
- }
-
- GridLayout {
- id: mainRow
- z: 100
- visible: !iconView
-
- columns: isOnVertical ? 1 : undefined
- rows: isOnVertical ? undefined : 1
-
- readonly property bool heightOverflow: trackInfo.implicitHeight > compactRoot.height
-
- rowSpacing: PlasmaCore.Units.smallSpacing
- columnSpacing: rowSpacing
-
- anchors {
- fill: (isOnVertical || !heightOverflow) ? parent : verticalCenterHelper
- margins: 0
- }
-
- AlbumArt {
- id: albumArt
- visible: plasmoid.configuration.showAlbumArt
- Layout.fillWidth: true
- Layout.fillHeight: true
- Layout.alignment: Qt.AlignVCenter
- Layout.margins: 2 // To mimick the breeze icons internal margins and better adjust height
- Layout.minimumWidth: isOnVertical ? 0 : height
- Layout.preferredWidth: isOnVertical ? width : height * aspectRatio
- Layout.minimumHeight: isOnVertical ? width : 0
- Layout.preferredHeight: isOnVertical ? width / aspectRatio : height
- }
-
- TrackInfo {
- id: trackInfo
- visible: plasmoid.configuration.showTrackInfo
- Layout.fillWidth: true
- Layout.fillHeight: true
- Layout.alignment: Qt.AlignVCenter
- textAlignment: isOnVertical ? Text.AlignHCenter : Text.AlignLeft
- oneLiner: compactRoot.height < PlasmaCore.Units.gridUnit * 1.5
- spacing: 0
- }
-
- PlayerControls {
- id: playerControls
- visible: plasmoid.configuration.showPlaybackControls
- Layout.fillWidth: isOnVertical || !trackInfo.visible
- Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter
- compactView: true
- canFitPrevNext: !isOnVertical || compactRoot.width > PlasmaCore.Units.iconSizes.smallMedium * 3
- controlSize: Math.max(PlasmaCore.Units.iconSizes.small,
- isOnVertical ? Math.min(compactRoot.width / controlsCount, PlasmaCore.Units.iconSizes.large) :
- trackInfo.visible ? Math.min(parent.height, PlasmaCore.Units.iconSizes.large)
- : parent.height)
- }
- }
-
- PlasmaCore.IconItem {
- id: playerStatusIcon
-
- source: root.state === "playing" ? "media-playback-playing" :
- root.state === "paused" ? "media-playback-paused" :
- "media-playback-stopped"
- active: compactMouse.containsMouse
- visible: iconView
-
- anchors.fill: parent
- }
-
- MouseArea {
- id: compactMouse
-
- anchors.fill: parent
- z: -1
-
- hoverEnabled: true
- acceptedButtons: Qt.LeftButton | Qt.MiddleButton | Qt.BackButton | Qt.ForwardButton
-
- onWheel: {
- var service = mpris2Source.serviceForSource(mpris2Source.current)
- var operation = service.operationDescription("ChangeVolume")
- operation.delta = (wheel.angleDelta.y / 120) * 0.03
- operation.showOSD = true
- service.startOperationCall(operation)
- }
-
- onClicked: {
- switch (mouse.button) {
- case Qt.MiddleButton:
- root.togglePlaying()
- break
- case Qt.BackButton:
- root.action_previous()
- breakPlasmaCore.Units.smallSpacing
- case Qt.ForwardButton:
- root.action_next()
- break
- default:
- plasmoid.expanded = !plasmoid.expanded
- /* if (!iconView && mpris2Source.currentData.CanRaise) {
- root.action_open()
- } else {
- plasmoid.expanded = !plasmoid.expanded
- }
- */
- }
- }
- }
-
- DropArea {
- z: -10
- anchors.fill: parent
- keys: ["text/uri-list", "audio/*", "video/*"]
-
- onDropped: {
- console.log("***\n" + drop.text
- + " - " + drop.keys
- + "\n***")
-
- drop.accept()
-
- if (root.noPlayer) {
- // No player selected. Open uri with default desktop application
- Qt.openUrlExternally(drop.text)
- } else {
- //Open URI using mpris method
- var service = mpris2Source.serviceForSource(mpris2Source.current);
- var operation = service.operationDescription("OpenUri");
- operation.uri = drop.text
-
- service.startOperationCall(operation)
- }
- }
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.mediacontroller_plus/contents/ui/ExpandedRepresentation.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.mediacontroller_plus/contents/ui/ExpandedRepresentation.qml
deleted file mode 100644
index 3e07f8a..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.mediacontroller_plus/contents/ui/ExpandedRepresentation.qml
+++ /dev/null
@@ -1,276 +0,0 @@
-/***************************************************************************
- * Copyright 2013 Sebastian Kügler *
- * Copyright 2014, 2016 Kai Uwe Broulik *
- * Copyright 2020 Ismael Asensio *
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU Library General Public License as *
- * published by the Free Software Foundation; either version 2 of the *
- * License, or (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU Library General Public License for more details. *
- * *
- * You should have received a copy of the GNU Library General Public *
- * License along with this program; if not, write to the *
- * Free Software Foundation, Inc., *
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . *
- ***************************************************************************/
-
-import QtQuick 2.5
-import QtQuick.Layouts 1.3
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.components 3.0 as PlasmaComponents3
-import org.kde.kcoreaddons 1.0 as KCoreAddons
-
-
-Item {
- id: expandedRepresentation
-
- Layout.minimumWidth: Layout.minimumHeight * 1.5
- Layout.minimumHeight: PlasmaCore.Units.gridUnit * 7
- Layout.preferredWidth: Layout.preferredHeight * 1.5
- Layout.preferredHeight: PlasmaCore.Units.gridUnit * 22
-
- readonly property bool verticalView: width / height < 1.8
-
- // only show hours (the default for KFormat) when track is actually longer than an hour
- readonly property int durationFormattingOptions: root.length >= 60*60*1000*1000 ? 0 : KCoreAddons.FormatTypes.FoldHours
-
- property bool disablePositionUpdate: false
- property bool keyPressed: false
-
- Connections {
- target: plasmoid
- onExpandedChanged: {
- if (plasmoid.expanded) {
- root.retrievePosition();
- }
- }
- }
-
- Keys.onPressed: keyPressed = true
-
- Keys.onReleased: {
- keyPressed = false
-
- if (!event.modifiers) {
- event.accepted = true
-
- if (event.key === Qt.Key_Space || event.key === Qt.Key_K) {
- // K is YouTube's key for "play/pause" :)
- root.togglePlaying()
- } else if (event.key === Qt.Key_P) {
- root.action_previous()
- } else if (event.key === Qt.Key_N) {
- root.action_next()
- } else if (event.key === Qt.Key_S) {
- root.action_stop()
- } else if (event.key === Qt.Key_Left || event.key === Qt.Key_J) { // TODO ltr languages
- // seek back 5s
- seekSlider.value = Math.max(0, seekSlider.value - 5000000) // microseconds
- seekSlider.moved();
- } else if (event.key === Qt.Key_Right || event.key === Qt.Key_L) {
- // seek forward 5s
- seekSlider.value = Math.min(seekSlider.to, seekSlider.value + 5000000)
- seekSlider.moved();
- } else if (event.key === Qt.Key_Home) {
- seekSlider.value = 0
- seekSlider.moved();
- } else if (event.key === Qt.Key_End) {
- seekSlider.value = seekSlider.to
- seekSlider.moved();
- } else if (event.key >= Qt.Key_0 && event.key <= Qt.Key_9) {
- // jump to percentage, ie. 0 = beginnign, 1 = 10% of total length etc
- seekSlider.value = seekSlider.to * (event.key - Qt.Key_0) / 10
- seekSlider.moved();
- } else {
- event.accepted = false
- }
- }
- }
-
- PlasmaComponents3.TabBar {
- id: playerSelector
- width: parent.width
- height: visible ? PlasmaCore.Units.gridUnit * 2 : 0
-
- anchors {
- top: parent.top
- topMargin: 0
- horizontalCenter: parent.horizontalCenter
- }
- visible: tabButtonInstantiator.model.length > 2 // more than one player, @multiplex is always there
-
- Repeater {
- id: tabButtonInstantiator
- model: { root.mprisSourcesModel }
-
- delegate: PlasmaComponents3.TabButton {
- parent: playerSelector
- checked: modelData["source"] == model.current
- text: "" // modelData["text"]
- icon.name: modelData["icon"]
- PlasmaComponents3.ToolTip.text: modelData["text"]
- PlasmaComponents3.ToolTip.visible: hovered
- onClicked: {
- disablePositionUpdate = true
- mpris2Source.current = modelData["source"];
- disablePositionUpdate = false
- }
- }
-
- onModelChanged: {
- //if model changes, we try to find the current player again
- for (var i = 0, length = model.length; i < length; i++) {
- if (model[i].source === mpris2Source.current) {
- playerSelector.currentIndex = i
- break
- }
- }
- }
- }
- }
-
-
- AlbumArt {
- id: albumArt
-
- anchors {
- left: parent.left
- top: playerSelector.bottom
- right: verticalView? parent.right : controlCol.left
- bottom: verticalView? controlCol.top: parent.bottom
- margins: PlasmaCore.Units.smallSpacing
- }
- }
-
- ColumnLayout {
- id: controlCol
- width: verticalView? parent.width: parent.width - albumArt.height
- anchors.right: parent.right
- anchors.bottom: parent.bottom
-
- spacing: PlasmaCore.Units.smallSpacing
-
- RowLayout {
- id: progress
-
- spacing: PlasmaCore.Units.smallSpacing
-
- // if there's no "mpris:length" in the metadata, we cannot seek, so hide it in that case
- enabled: !root.noPlayer && root.track && root.length > 0 ? true : false
- opacity: enabled ? 1 : 0
- Behavior on opacity {
- NumberAnimation { duration: PlasmaCore.Units.longDuration }
- }
-
- // ensure the layout doesn't shift as the numbers change and measure roughly the longest text that could occur with the current song
- TextMetrics {
- id: timeMetrics
- text: i18nc("Remaining time for song e.g -5:42", "-%1",
- KCoreAddons.Format.formatDuration(seekSlider.to / 1000, expandedRepresentation.durationFormattingOptions))
- font: PlasmaCore.Theme.smallestFont
- }
-
- PlasmaComponents3.Label {
- Layout.preferredWidth: timeMetrics.width
- verticalAlignment: Text.AlignVCenter
- horizontalAlignment: Text.AlignRight
- text: KCoreAddons.Format.formatDuration(seekSlider.value / 1000, expandedRepresentation.durationFormattingOptions)
- opacity: 0.9
- font: PlasmaCore.Theme.smallestFont
- }
-
- PlasmaComponents3.Slider {
- id: seekSlider
- Layout.fillWidth: true
- z: 999
- value: 0
- visible: root.canSeek
-
- onMoved: {
- if (!disablePositionUpdate) {
- // delay setting the position to avoid race conditions
- queuedPositionUpdate.restart()
- }
- }
- }
-
- PlasmaComponents3.ProgressBar {
- id: progressBar
- Layout.fillWidth: true
- value: root.position
- from: 0
- to: root.length
- visible: !root.canSeek
-
- onValueChanged: {
- // we don't want to interrupt the user dragging the slider
- if (!seekSlider.pressed && !keyPressed) {
- // we also don't want passive position updates
- disablePositionUpdate = true
- seekSlider.value = value
- disablePositionUpdate = false
- }
- }
-
- onToChanged: {
- disablePositionUpdate = true
- // When reducing maximumValue, value is clamped to it, however
- // when increasing it again it gets its old value back.
- // To keep us from seeking to the end of the track when moving
- // to a new track, we'll reset the value to zero and ask for the position again
- seekSlider.value = 0
- seekSlider.to = to
- root.retrievePosition()
- disablePositionUpdate = false
- }
- }
-
- PlasmaComponents3.Label {
- Layout.preferredWidth: timeMetrics.width
- verticalAlignment: Text.AlignVCenter
- horizontalAlignment: Text.AlignLeft
- text: i18nc("Remaining time for song e.g -5:42", "-%1",
- KCoreAddons.Format.formatDuration((seekSlider.to - seekSlider.value) / 1000, expandedRepresentation.durationFormattingOptions))
- opacity: 0.9
- font: PlasmaCore.Theme.smallestFont
- }
- }
-
- TrackInfo {
- id: trackInfo
- Layout.fillWidth: true
- textAlignment: Text.AlignHCenter
- }
-
- Item {
- width: parent.width
- height: playerControls.height
- Layout.fillWidth: true
-
- PlayerControls {
- id: playerControls
- anchors.horizontalCenter: parent.horizontalCenter
- compactView: false
- }
- }
- }
-
- Timer {
- id: queuedPositionUpdate
- interval: 100
- onTriggered: {
- if (root.position == seekSlider.value) {
- return;
- }
- var service = mpris2Source.serviceForSource(mpris2Source.current)
- var operation = service.operationDescription("SetPosition")
- operation.microseconds = seekSlider.value
- service.startOperationCall(operation)
- }
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.mediacontroller_plus/contents/ui/PlayerControls.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.mediacontroller_plus/contents/ui/PlayerControls.qml
deleted file mode 100644
index 20dc9d7..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.mediacontroller_plus/contents/ui/PlayerControls.qml
+++ /dev/null
@@ -1,83 +0,0 @@
-/***************************************************************************
- * Copyright 2013 Sebastian Kügler *
- * Copyright 2014, 2016 Kai Uwe Broulik *
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU Library General Public License as *
- * published by the Free Software Foundation; either version 2 of the *
- * License, or (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU Library General Public License for more details. *
- * *
- * You should have received a copy of the GNU Library General Public *
- * License along with this program; if not, write to the *
- * Free Software Foundation, Inc., *
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . *
- ***************************************************************************/
-
-import QtQuick 2.4
-import QtQuick.Layouts 1.3
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.components 3.0 as PlasmaComponents3
-
-
-RowLayout {
- id: playerControls
-
- property bool enabled: root.canControl
- property bool compactView: false
- property bool canFitPrevNext: true
-
- property int controlSize: PlasmaCore.Units.iconSizes.huge
- readonly property int controlSmallerSize: Math.min(controlSize,
- Math.max(Math.round(controlSize / 1.25), PlasmaCore.Units.iconSizes.medium))
- readonly property int controlsCount : 1 + (prevButton.visible ? 1 : 0) + (nextButton.visible ? 1 : 0)
-
- spacing: compactView ? 0 : PlasmaCore.Units.largeSpacing
-
- PlasmaComponents3.ToolButton {
- id: prevButton
- Layout.alignment: Qt.AlignVCenter | Qt.AlignLeft
- implicitWidth: controlSmallerSize
- implicitHeight: implicitWidth
- enabled: playerControls.enabled && root.canGoPrevious
- visible: canFitPrevNext && (!compactView
- || plasmoid.configuration.showPrevNextControls === Qt.Checked
- || (plasmoid.configuration.showPrevNextControls === Qt.PartiallyChecked && enabled))
-
- icon.name: LayoutMirroring.enabled ? "media-skip-forward" : "media-skip-backward"
- onClicked: {
- //root.position = 0 // Let the media start from beginning. Bug 362473
- root.action_previous()
- }
- }
-
- PlasmaComponents3.ToolButton {
- Layout.alignment: Qt.AlignCenter
- implicitWidth: controlSize
- implicitHeight: implicitWidth
- enabled: root.state == "playing" ? root.canPause : root.canPlay
- icon.name: root.state == "playing" ? "media-playback-pause" : "media-playback-start"
- onClicked: root.togglePlaying()
- }
-
- PlasmaComponents3.ToolButton {
- id: nextButton
- Layout.alignment: Qt.AlignVCenter | Qt.AlignRight
- implicitWidth: controlSmallerSize
- implicitHeight: implicitWidth
- enabled: playerControls.enabled && root.canGoNext
- visible: canFitPrevNext && (!compactView
- || plasmoid.configuration.showPrevNextControls === Qt.Checked
- || (plasmoid.configuration.showPrevNextControls === Qt.PartiallyChecked && enabled))
-
- icon.name: LayoutMirroring.enabled ? "media-skip-backward" : "media-skip-forward"
- onClicked: {
- //root.position = 0 // Let the media start from beginning. Bug 362473
- root.action_next()
- }
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.mediacontroller_plus/contents/ui/TrackInfo.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.mediacontroller_plus/contents/ui/TrackInfo.qml
deleted file mode 100644
index 77b54c0..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.mediacontroller_plus/contents/ui/TrackInfo.qml
+++ /dev/null
@@ -1,106 +0,0 @@
-/***************************************************************************
- * Copyright 2013 Sebastian Kügler *
- * Copyright 2014, 2016 Kai Uwe Broulik *
- * Copyright 2020 Ismael Asensio *
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU Library General Public License as *
- * published by the Free Software Foundation; either version 2 of the *
- * License, or (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU Library General Public License for more details. *
- * *
- * You should have received a copy of the GNU Library General Public *
- * License along with this program; if not, write to the *
- * Free Software Foundation, Inc., *
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . *
- ***************************************************************************/
-
-import QtQuick 2.4
-import QtQuick.Layouts 1.2
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.components 3.0 as PlasmaComponents3
-
-
-ColumnLayout {
- id: trackInfo
-
- property alias textAlignment: mainLabel.horizontalAlignment
- property bool oneLiner: false
-
- readonly property int implicitWidht: (oneLiner) ? mainLabel.implicitWidht
- : Math.max(mainLabel.implicitWidht, secondLabel.implicitWidht)
-
- readonly property string album: {
- var metadata = root.currentMetadata
-
- if (!metadata) {
- return ""
- }
- var xesamAlbum = metadata["xesam:album"]
- if (xesamAlbum) {
- return xesamAlbum
- }
-
- // if we play a local file without title and artist, show its containing folder instead
- if (metadata["xesam:title"] || root.artist) {
- return ""
- }
-
- var xesamUrl = (metadata["xesam:url"] || "").toString()
- if (xesamUrl.indexOf("file:///") !== 0) { // "!startsWith()"
- return ""
- }
-
- var urlParts = xesamUrl.split("/")
- if (urlParts.length < 3) {
- return ""
- }
-
- var lastFolderPath = urlParts[urlParts.length - 2] // last would be filename
- if (lastFolderPath) {
- return lastFolderPath
- }
-
- return ""
- }
-
- PlasmaComponents3.Label {
- id: mainLabel
- Layout.fillWidth: true
- horizontalAlignment: Text.AlignHCenter
-
- maximumLineCount: 1
- elide: Text.ElideRight
- text: {
- if (!root.track) {
- return i18n("No media playing")
- }
- if (oneLiner && root.artist) {
- return i18nc("artist – track", "%1 – %2", root.artist, root.track)
- }
- return root.track
- }
- textFormat: Text.PlainText
- }
-
- PlasmaComponents3.Label {
- id: secondLabel
- Layout.fillWidth: true
-
- opacity: 0.6
- horizontalAlignment: textAlignment
- wrapMode: Text.NoWrap
- elide: Text.ElideRight
- visible: !oneLiner && text.length > 0
- text: {
- if (!album) { return root.artist }
- if (!root.artist) { return album }
- return i18nc("artist / album", "%1 / %2", root.artist, album)
- }
- textFormat: Text.PlainText
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.mediacontroller_plus/contents/ui/configCompactView.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.mediacontroller_plus/contents/ui/configCompactView.qml
deleted file mode 100644
index bffc34d..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.mediacontroller_plus/contents/ui/configCompactView.qml
+++ /dev/null
@@ -1,148 +0,0 @@
-/**
- Copyright 2016 Bill Binder
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, see .
-*/
-
-import QtQuick 2.5
-import QtQuick.Layouts 1.2
-import QtQuick.Controls 2.5 as QQC2
-import org.kde.plasma.core 2.0 as PlasmaCore
-
-import org.kde.kirigami 2.14 as Kirigami
-
-
-Item {
- id: compactViewConfig
-
- property alias cfg_minimumWidthUnits: widthSlider.proxyFirstValue
- property alias cfg_maximumWidthUnits: widthSlider.proxySecondValue
- property alias cfg_showProgressBar: showProgressBar.checked
- property alias cfg_showAlbumArt: showAlbumArt.checked
- property alias cfg_showTrackInfo: showTrackInfo.checked
- property alias cfg_showPlaybackControls: showPlaybackControls.checked
- property int cfg_showPrevNextControls
-
- Kirigami.FormLayout {
-
- QQC2.CheckBox {
- id: showAlbumArt
- Kirigami.FormData.label: i18n("Show in panel view:")
- text: i18n("Album art")
- }
-
- QQC2.CheckBox {
- id: showTrackInfo
- text: i18n("Track information")
- }
-
- QQC2.CheckBox {
- id: showPlaybackControls
- text: i18n("Playback controls")
- }
-
- QQC2.CheckBox {
- id: showProgressBar
- enabled: showAlbumArt.checked || showTrackInfo.checked || showPlaybackControls.checked
- text: i18n("Progress bar")
- }
-
- Kirigami.Separator {
- Kirigami.FormData.isSection: true
- }
-
- RowLayout {
- Kirigami.FormData.label: i18n("Width Range:")
-
- enabled: cfg_showTrackInfo && plasmoid.formFactor === PlasmaCore.Types.Horizontal
- spacing: PlasmaCore.Units.smallSpacing
-
- Layout.fillWidth: true
- Layout.alignment: Qt.AlignTop
- Layout.bottomMargin: PlasmaCore.Units.largeSpacing
-
- QQC2.Label {
- id: lbl_minWidth
- text: Math.round(widthSlider.proxyFirstValue * PlasmaCore.Units.gridUnit) + "px"
- Layout.preferredWidth: 50
- horizontalAlignment: Text.AlignRight
- }
-
- QQC2.RangeSlider {
- id: widthSlider
- Layout.fillWidth: true
- from: 1
- to: 101
- stepSize: 1
- snapMode: QQC2.RangeSlider.SnapAlways
- first.value: 18
- second.value: to
-
- //On QT 2.5 `RangeSlider` values are not allowed as an alias
- property int proxySecondValue: 0
- property int proxyFirstValue: 1
-
- first.onValueChanged: proxyFirstValue = first.value
- second.onValueChanged: proxySecondValue = (second.position == 1.0) ? 0 : second.value
- onProxyFirstValueChanged: first.value = proxyFirstValue
- onProxySecondValueChanged: second.value = proxySecondValue ? proxySecondValue : to
- }
-
- QQC2.Label {
- id: lbl_maximumWidth
- text: (widthSlider.second.position == 1.0) ? i18n("No limit")
- : Math.round(widthSlider.proxySecondValue * PlasmaCore.Units.gridUnit) + "px"
- Layout.preferredWidth: 50
- horizontalAlignment: Text.AlignLeft
- }
- }
-
- Kirigami.Separator {}
-
- QQC2.RadioButton {
- id: showPrevNextAlways
- Kirigami.FormData.label: i18n("Show Previous/Next controls:")
- text: i18n("Always")
- enabled: cfg_showPlaybackControls
- checked: cfg_showPrevNextControls === Qt.Checked
- }
- QQC2.RadioButton {
- id: showPrevNextNever
- text: i18n("Never")
- enabled: cfg_showPlaybackControls
- checked: cfg_showPrevNextControls === Qt.Unchecked
- }
- QQC2.RadioButton {
- id: showPrevNextWhenEnabled
- text: i18n("Only when useful")
- enabled: cfg_showPlaybackControls
- checked: cfg_showPrevNextControls === Qt.PartiallyChecked
- }
- }
-
- QQC2.ButtonGroup {
- id: showPrevNextGroup
- buttons: [showPrevNextAlways, showPrevNextNever, showPrevNextWhenEnabled]
-
- readonly property int value: {
- switch (checkedButton) {
- case showPrevNextAlways: return Qt.Checked;
- case showPrevNextNever: return Qt.Unchecked;
- case showPrevNextWhenEnabled: return Qt.PartiallyChecked;
- }
- }
-
- onClicked: { cfg_showPrevNextControls = value }
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.mediacontroller_plus/contents/ui/main.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.mediacontroller_plus/contents/ui/main.qml
deleted file mode 100644
index f0e3b95..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.mediacontroller_plus/contents/ui/main.qml
+++ /dev/null
@@ -1,348 +0,0 @@
-/***************************************************************************
- * Copyright 2013 Sebastian Kügler *
- * Copyright 2014 Kai Uwe Broulik *
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU Library General Public License as *
- * published by the Free Software Foundation; either version 2 of the *
- * License, or (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU Library General Public License for more details. *
- * *
- * You should have received a copy of the GNU Library General Public *
- * License along with this program; if not, write to the *
- * Free Software Foundation, Inc., *
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . *
- ***************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.1
-import org.kde.plasma.plasmoid 2.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-
-
-Item {
- id: root
-
- property var currentMetadata: mpris2Source.currentData ? mpris2Source.currentData.Metadata : undefined
- property string track: {
- if (!currentMetadata) {
- return ""
- }
- var xesamTitle = currentMetadata["xesam:title"]
- if (xesamTitle) {
- return xesamTitle
- }
- // if no track title is given, print out the file name
- var xesamUrl = currentMetadata["xesam:url"] ? currentMetadata["xesam:url"].toString() : ""
- if (!xesamUrl) {
- return ""
- }
- var lastSlashPos = xesamUrl.lastIndexOf('/')
- if (lastSlashPos < 0) {
- return ""
- }
- var lastUrlPart = xesamUrl.substring(lastSlashPos + 1)
- return decodeURIComponent(lastUrlPart)
- }
- property string artist: currentMetadata ? currentMetadata["xesam:artist"] || "" : ""
- property string albumArt: currentMetadata ? currentMetadata["mpris:artUrl"] || "" : ""
-
- readonly property string identity: !root.noPlayer ? mpris2Source.currentData.Identity || mpris2Source.current : ""
-
- property bool noPlayer: mpris2Source.sources.length <= 1
-
- property var mprisSourcesModel: []
-
- readonly property bool canControl: (!root.noPlayer && mpris2Source.currentData.CanControl) || false
- readonly property bool canGoPrevious: (canControl && mpris2Source.currentData.CanGoPrevious) || false
- readonly property bool canGoNext: (canControl && mpris2Source.currentData.CanGoNext) || false
- readonly property bool canPlay: (canControl && mpris2Source.currentData.CanPlay) || false
- readonly property bool canPause: (canControl && mpris2Source.currentData.CanPause) || false
- readonly property bool canSeek: mpris2Source.currentData.CanSeek || false
-
- readonly property double mprisPosition: mpris2Source.currentData.Position || 0
- readonly property real rate: mpris2Source.currentData.Rate || 1
- readonly property double length: currentMetadata ? currentMetadata["mpris:length"] || 0 : 0
-
- property double position : mprisPosition
-
-
- Plasmoid.switchWidth: PlasmaCore.Units.gridUnit * 10
- Plasmoid.switchHeight: PlasmaCore.Units.gridUnit * 8
- Plasmoid.icon: albumArt ? albumArt : "media-playback-playing"
- Plasmoid.toolTipMainText: i18n("No media playing")
- Plasmoid.toolTipSubText: identity
- Plasmoid.toolTipTextFormat: Text.PlainText
- Plasmoid.status: PlasmaCore.Types.PassiveStatus
-
- Plasmoid.backgroundHints: PlasmaCore.Types.StandardBackground | PlasmaCore.Types.ConfigurableBackground
-
- Plasmoid.onContextualActionsAboutToShow: {
- plasmoid.clearActions()
-
- if (root.noPlayer) {
- return
- }
-
- plasmoid.setActionSeparator("playerList")
-
- if (mpris2Source.currentData.CanRaise) {
- var icon = mpris2Source.currentData["Desktop Icon Name"] || ""
- plasmoid.setAction("open", i18nc("Open player window or bring it to the front if already open", "Open"), icon)
- }
-
- if (canControl) {
- plasmoid.setAction("previous", i18nc("Play previous track", "Previous Track"),
- Qt.application.layoutDirection === Qt.RightToLeft ? "media-skip-forward" : "media-skip-backward");
- plasmoid.action("previous").enabled = Qt.binding(function() {
- return root.canGoPrevious
- })
-
- // if CanPause, toggle the menu entry between Play & Pause, otherwise always use Play
- if (root.state == "playing" && root.canPause) {
- plasmoid.setAction("pause", i18nc("Pause playback", "Pause"), "media-playback-pause")
- plasmoid.action("pause").enabled = Qt.binding(function() {
- return root.state === "playing" && root.canPause;
- });
- } else {
- plasmoid.setAction("play", i18nc("Start playback", "Play"), "media-playback-start")
- plasmoid.action("play").enabled = Qt.binding(function() {
- return root.state !== "playing" && root.canPlay;
- });
- }
-
- plasmoid.setAction("next", i18nc("Play next track", "Next Track"),
- Qt.application.layoutDirection === Qt.RightToLeft ? "media-skip-backward" : "media-skip-forward")
- plasmoid.action("next").enabled = Qt.binding(function() {
- return root.canGoNext
- })
-
- plasmoid.setAction("stop", i18nc("Stop playback", "Stop"), "media-playback-stop")
- plasmoid.action("stop").enabled = Qt.binding(function() {
- return root.state === "playing" || root.state === "paused";
- })
- }
-
- if (mpris2Source.currentData.CanQuit) {
- plasmoid.setActionSeparator("quitseparator");
- plasmoid.setAction("quit", i18nc("Quit player", "Quit"), "application-exit")
- }
-
- plasmoid.setActionSeparator("playerActionsSeparator")
- }
-
- onMprisPositionChanged: {
- position = mprisPosition
- }
-
- // Reset position on track changes and retrieve again
- // Best option for players not retrieving the current position (Spotify)
- onTrackChanged: {
- position = 0
- retrievePosition()
- }
-
-
- // HACK Some players like Amarok take quite a while to load the next track
- // this avoids having the plasmoid jump between popup and panel
- onStateChanged: {
- if (state != "") {
- plasmoid.status = PlasmaCore.Types.ActiveStatus
- } else {
- updatePlasmoidStatusTimer.restart()
- }
- }
-
- Timer {
- id: updatePlasmoidStatusTimer
- interval: 3000
- onTriggered: {
- if (state != "") {
- plasmoid.status = PlasmaCore.Types.ActiveStatus
- } else {
- plasmoid.status = PlasmaCore.Types.PassiveStatus
- }
- }
- }
-
- Timer {
- id: updateProgressTimer
-
- interval: 1000 / rate
- repeat: true
- running: root.state === "playing"
-
- onTriggered: {
- // some players don't continuously update the seek slider position via mpris
- // add one second; value in microseconds
- position += 1000000
- root.retrievePosition()
- }
- }
-
-
- Plasmoid.fullRepresentation: ExpandedRepresentation {}
-
- Plasmoid.compactRepresentation: CompactRepresentation {}
-
- PlasmaCore.DataSource {
- id: mpris2Source
-
- readonly property string multiplexSource: "@multiplex"
- property string current: multiplexSource
-
- readonly property var currentData: data[current]
-
- engine: "mpris2"
- connectedSources: sources
-
- onSourceAdded: {
- updateMprisSourcesModel()
- }
-
- onSourceRemoved: {
- // if player is closed, reset to multiplex source
- if (source === current) {
- current = multiplexSource
- }
- updateMprisSourcesModel()
- }
- }
-
- Component.onCompleted: {
- mpris2Source.serviceForSource("@multiplex").enableGlobalShortcuts();
- updateMprisSourcesModel()
- }
-
- function togglePlaying() {
- if (root.state === "playing") {
- if (root.canPause) {
- root.action_pause();
- }
- } else {
- if (root.canPlay) {
- root.action_play();
- }
- }
- }
-
- function action_open() {
- serviceOp(mpris2Source.current, "Raise");
- }
- function action_quit() {
- serviceOp(mpris2Source.current, "Quit");
- }
-
- function action_play() {
- serviceOp(mpris2Source.current, "Play");
- }
-
- function action_pause() {
- serviceOp(mpris2Source.current, "Pause");
- }
-
- function action_playPause() {
- serviceOp(mpris2Source.current, "PlayPause");
- }
-
- function action_previous() {
- serviceOp(mpris2Source.current, "Previous");
- }
-
- function action_next() {
- serviceOp(mpris2Source.current, "Next");
- }
-
- function action_stop() {
- serviceOp(mpris2Source.current, "Stop");
- }
-
- function retrievePosition() {
- serviceOp(mpris2Source.current, "GetPostion");
- }
-
- function serviceOp(src, op) {
- var service = mpris2Source.serviceForSource(src);
- var operation = service.operationDescription(op);
- return service.startOperationCall(operation);
- }
-
- function updateMprisSourcesModel () {
-
- var model = [{
- 'text': i18n("Choose player automatically"),
- 'icon': 'emblem-favorite',
- 'source': mpris2Source.multiplexSource
- }]
-
- var sources = mpris2Source.sources
- for (var i = 0, length = sources.length; i < length; ++i) {
- var source = sources[i]
- if (source === mpris2Source.multiplexSource) {
- continue
- }
-
- const playerData = mpris2Source.data[source];
- // source data is removed before its name is removed from the list
- if (!playerData) {
- continue;
- }
-
- model.push({
- 'text': playerData["Identity"],
- 'icon': playerData["Desktop Icon Name"] || playerData["DesktopEntry"] || "emblem-music-symbolic",
- 'source': source
- });
- }
-
- root.mprisSourcesModel = model;
- }
-
-
-/* Menu {
- id: mprisSourcesMenu
-
- Instantiator {
- model: mprisSourcesModel
- onObjectAdded: mprisSourcesMenu.insertItem( index, object )
- onObjectRemoved: mprisSourcesMenu.removeItem( object )
- delegate: MenuItem {
- text: text
- icon: icon
- onTriggered: {
- mpris2Source.current = source;
- }
- }
- }
- }
-*/
-
- states: [
- State {
- name: "playing"
- when: !root.noPlayer && mpris2Source.currentData.PlaybackStatus === "Playing"
-
- PropertyChanges {
- target: plasmoid
- icon: albumArt ? albumArt : "media-playback-playing"
- toolTipMainText: track
- toolTipSubText: artist ? i18nc("by Artist (player name)", "by %1 (%2)", artist, identity) : identity
- }
- },
- State {
- name: "paused"
- when: !root.noPlayer && mpris2Source.currentData.PlaybackStatus === "Paused"
-
- PropertyChanges {
- target: plasmoid
- icon: albumArt ? albumArt : "media-playback-paused"
- toolTipMainText: track
- toolTipSubText: artist ? i18nc("by Artist (paused, player name)", "by %1 (paused, %2)", artist, identity) : i18nc("Paused (player name)", "Paused (%1)", identity)
- }
- }
- ]
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.mediacontroller_plus/metadata.desktop b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.mediacontroller_plus/metadata.desktop
deleted file mode 100644
index b85e210..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.mediacontroller_plus/metadata.desktop
+++ /dev/null
@@ -1,112 +0,0 @@
-[Desktop Entry]
-Name=Media Player +
-Name[ar]=مشغّل وسائط
-Name[bs]=Izvođač medija
-Name[ca]=Reproductor multimèdia
-Name[ca@valencia]=Reproductor multimèdia
-Name[cs]=Přehrávač médií
-Name[da]=Medieafspiller
-Name[de]=Medienwiedergabe
-Name[el]=Αναπαραγωγέας πολυμέσων
-Name[en_GB]=Media Player
-Name[es]=Reproductor multimedia
-Name[et]=Meediamängija
-Name[eu]=Multimedia-jotzailea
-Name[fi]=Mediasoitin
-Name[fr]=Lecteur multimédia
-Name[gl]=Reprodutor multimedia
-Name[he]=נגן מדיה
-Name[hu]=Médialejátszó
-Name[ia]=Media Player (Reproductor de Media)
-Name[is]=Margmiðlunarspilari
-Name[it]=Lettore multimediale
-Name[ja]=メディアプレーヤー
-Name[ko]=미디어 재생기
-Name[lt]=Kūrinių leistuvė
-Name[nb]=Mediespiller
-Name[nds]=Medienafspeler
-Name[nl]=Mediaspeler
-Name[nn]=Mediespelar
-Name[pa]=ਮੀਡਿਆ ਪਲੇਅਰ
-Name[pl]=Odtwarzacz multimedialny
-Name[pt]=Reprodutor Multimédia
-Name[pt_BR]=Reprodutor de mídia
-Name[ru]=Проигрыватель
-Name[sk]=Prehrávač médií
-Name[sl]=Predstavnostni predvajalnik
-Name[sr]=медија плејер
-Name[sr@ijekavian]=медија плејер
-Name[sr@ijekavianlatin]=medija plejer
-Name[sr@latin]=medija plejer
-Name[sv]=Mediaspelare
-Name[tr]=Ortam Yürütücüsü
-Name[uk]=Програвач
-Name[x-test]=xxMedia Playerxx
-Name[zh_CN]=媒体播放器
-Name[zh_TW]=媒體播放器
-Comment=Media Player Controls
-Comment[ar]=تحكّمات مشغّل الوسائط
-Comment[bs]=Kontrole izvođača medija
-Comment[ca]=Controls del reproductor multimèdia
-Comment[ca@valencia]=Controls del reproductor multimèdia
-Comment[cs]=Ovládání přehrávače médií
-Comment[da]=Kontroller til medieafspiller
-Comment[de]=Steuerung der Medienwiedergabe
-Comment[el]=Χειριστήρια αναπαραγωγέα πολυμέσων
-Comment[en_GB]=Media Player Controls
-Comment[es]=Controles del reproductor multimedia
-Comment[et]=Meediamängija juhtelemendid
-Comment[eu]=Multimedia-jotzailearen kontrolak
-Comment[fi]=Mediasoittimen säätimet
-Comment[fr]=Contrôles du lecteur multimédia
-Comment[gl]=Controis do reprodutor multimedia
-Comment[he]=פקדי ניגון מדיה
-Comment[hu]=Médialejátszó vezérlők
-Comment[ia]=Controlos de Reproductor de Multimedia
-Comment[id]=Kendali Player Media
-Comment[is]=Stjórntæki margmiðlunarspilara
-Comment[it]=Controlli del lettore multimediale
-Comment[ja]=メディアプレーヤーコントロール
-Comment[ko]=미디어 재생기 제어
-Comment[lt]=Kūrinių leistuvės valdikliai
-Comment[nb]=Styring for mediespiller
-Comment[nds]=Medienafspeler stüern
-Comment[nl]=Besturing van mediaspeler
-Comment[nn]=Mediespelarkontrollar
-Comment[pa]=ਮੀਡਿਆ ਪਲੇਅਰ ਕੰਟਰੋਲ
-Comment[pl]=Obsługa odtwarzacza multimedialnego
-Comment[pt]=Controlos do Leitor Multimédia
-Comment[pt_BR]=Controles do reprodutor de mídia
-Comment[ru]=Управление мультимедийным проигрывателем
-Comment[sk]=Ovládanie prehrávača médií
-Comment[sl]=Nadzorne tipke predstavnostnega predvajalnika
-Comment[sr]=Управљање медија плејером
-Comment[sr@ijekavian]=Управљање медија плејером
-Comment[sr@ijekavianlatin]=Upravljanje medija plejerom
-Comment[sr@latin]=Upravljanje medija plejerom
-Comment[sv]=Kontroller för mediaspelare
-Comment[tr]=Ortam Yürütücüsü Denetimleri
-Comment[uk]=Керування мультимедійним програвачем
-Comment[x-test]=xxMedia Player Controlsxx
-Comment[zh_CN]=媒体播放器控件
-Comment[zh_TW]=媒體播放器控制
-Icon=applications-multimedia
-
-Type=Service
-X-KDE-ServiceTypes=Plasma/Applet
-X-KDE-PluginInfo-Author=Sebastian Kügler
-X-KDE-PluginInfo-Category=Multimedia
-X-KDE-PluginInfo-Depends=
-X-KDE-PluginInfo-Email=sebas@kde.org
-X-KDE-PluginInfo-EnabledByDefault=true
-X-KDE-PluginInfo-License=GPL-2.0+
-X-KDE-PluginInfo-Name=org.kde.plasma.mediacontroller_plus
-X-KDE-PluginInfo-Version=0.3.1
-X-KDE-PluginInfo-Website=https://www.kde.org/plasma-desktop
-X-Plasma-StandAloneApp=true
-X-Plasma-API=declarativeappletscript
-X-Plasma-MainScript=ui/main.qml
-X-Plasma-NotificationArea=true
-X-Plasma-NotificationAreaCategory=ApplicationStatus
-X-Plasma-Provides=org.kde.plasma.multimediacontrols
-X-Plasma-DBusActivationService=org.mpris.MediaPlayer2.*
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/contents/config/config.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/contents/config/config.qml
new file mode 100755
index 0000000..db9b4cd
--- /dev/null
+++ b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/contents/config/config.qml
@@ -0,0 +1,13 @@
+import QtQuick 2.0
+import org.kde.plasma.configuration 2.0
+
+ConfigModel {
+
+ ConfigCategory {
+ name: i18n("Advanced")
+ icon: "configure"
+ source: "config/configGeneral.qml"
+ }
+}
+
+
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/contents/config/main.xml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/contents/config/main.xml
new file mode 100755
index 0000000..da33991
--- /dev/null
+++ b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/contents/config/main.xml
@@ -0,0 +1,177 @@
+
+
+
+
+
+
+
+ System Settings
+
+
+ systemsettings
+
+
+ Discover
+
+
+ plasma-discover
+
+
+ Lock Screen
+
+
+ qdbus org.freedesktop.ScreenSaver /ScreenSaver Lock
+
+
+ Log Out
+
+
+ qdbus org.kde.ksmserver /KSMServer logout 0 0 0
+
+
+ Sleep
+
+
+ systemctl suspend
+
+
+ Restart
+
+
+ /sbin/reboot
+
+
+ Shut Down
+
+
+ /sbin/shutdown now
+
+
+ Custom Item
+
+
+ Custom Command
+
+
+ Custom Item
+
+
+ Custom Command
+
+
+ Custom Item
+
+
+ Custom Command
+
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ false
+
+
+ false
+
+
+ false
+
+
+ false
+
+
+ true
+
+
+ false
+
+
+ true
+
+
+ false
+
+
+ false
+
+
+ false
+
+
+ false
+
+
+ false
+
+
+
+ 24
+
+
+ configure
+
+
+ systemsettings
+
+
+ plasmadiscover
+
+
+ system-lock-screen
+
+
+ system-log-out
+
+
+ system-suspend
+
+
+ system-reboot
+
+
+ system-shutdown
+
+
+ configure
+
+
+ configure
+
+
+ configure
+
+
+
+ 250
+
+
+ 250
+
+
+
+
+
+
+
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/contents/locale/ru/LC_MESSAGES/plasma_applet_org.kde.plasma.scpmk.mo b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/contents/locale/ru/LC_MESSAGES/plasma_applet_org.kde.plasma.scpmk.mo
new file mode 100755
index 0000000..69958f3
Binary files /dev/null and b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/contents/locale/ru/LC_MESSAGES/plasma_applet_org.kde.plasma.scpmk.mo differ
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/contents/locale/template/LC_MESSAGES/plasma_applet_org.kde.plasma.scpmk.mo b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/contents/locale/template/LC_MESSAGES/plasma_applet_org.kde.plasma.scpmk.mo
new file mode 100755
index 0000000..ce62a52
Binary files /dev/null and b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/contents/locale/template/LC_MESSAGES/plasma_applet_org.kde.plasma.scpmk.mo differ
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/contents/ui/CompactRepresentation.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/contents/ui/CompactRepresentation.qml
new file mode 100755
index 0000000..72a37b8
--- /dev/null
+++ b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/contents/ui/CompactRepresentation.qml
@@ -0,0 +1,29 @@
+import QtQml 2.0
+import QtQuick 2.0
+import QtQuick.Layouts 1.15
+import QtGraphicalEffects 1.0
+
+import org.kde.plasma.plasmoid 2.0
+import org.kde.plasma.core 2.0 as PlasmaCore
+
+Item {
+ id: compactRep
+
+ RowLayout {
+ anchors.fill: parent
+
+ PlasmaCore.IconItem {
+ Layout.fillWidth: true
+ Layout.fillHeight: true
+ source: root.mainIconName
+ smooth: true
+
+ MouseArea {
+ anchors.fill: parent
+ onClicked: {
+ plasmoid.expanded = !plasmoid.expanded
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/contents/ui/FullRepresentation.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/contents/ui/FullRepresentation.qml
new file mode 100755
index 0000000..f5a9940
--- /dev/null
+++ b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/contents/ui/FullRepresentation.qml
@@ -0,0 +1,135 @@
+import QtQml 2.0
+import QtQuick 2.2
+import QtQuick.Layouts 1.15
+import QtQuick.Controls 2.0
+
+import org.kde.plasma.plasmoid 2.0
+import org.kde.plasma.core 2.0 as PlasmaCore
+import org.kde.plasma.extras 2.0 as PlasmaExtras
+
+import "components" as Components
+
+
+Item {
+ id: fullRep
+
+ // PROPERTIES
+ Layout.preferredWidth: plasmoid.configuration.width * PlasmaCore.Units.devicePixelRatio
+ Layout.preferredHeight: plasmoid.configuration.height * PlasmaCore.Units.devicePixelRatio
+ Layout.minimumWidth: Layout.preferredWidth
+ Layout.maximumWidth: Layout.preferredWidth
+ Layout.minimumHeight: Layout.preferredHeight
+ Layout.maximumHeight: Layout.preferredHeight
+ clip: true
+
+ // Main wrapper
+
+ ColumnLayout {
+ id: wrapper
+
+ anchors.fill: parent
+ spacing: 0
+
+ RowLayout {
+
+ spacing: 0
+ Layout.fillWidth: true
+
+ // Menu Item Buttons
+ ColumnLayout {
+ spacing: 0
+ // Items
+ Components.CommandRun{
+ visible: root.showCmd1
+ title: root.cmdTitle1
+ icon: root.cmdIcon1
+ command: root.cmdRun1
+ }
+ Components.BottomSeparator{
+ visible: root.showSep1
+ }
+ Components.CommandRun{
+ visible: root.showCmd2
+ title: root.cmdTitle2
+ icon: root.cmdIcon2
+ command: root.cmdRun2
+ }
+ Components.BottomSeparator{
+ visible: root.showSep2
+ }
+ Components.CommandRun{
+ visible: root.showCmd3
+ title: root.cmdTitle3
+ icon: root.cmdIcon3
+ command: root.cmdRun3
+ }
+ Components.BottomSeparator{
+ visible: root.showSep3
+ }
+ Components.CommandRun{
+ visible: root.showCmd4
+ title: root.cmdTitle4
+ icon: root.cmdIcon4
+ command: root.cmdRun4
+ }
+ Components.BottomSeparator{
+ visible: root.showSep4
+ }
+ Components.CommandRun{
+ visible: root.showCmd5
+ title: root.cmdTitle5
+ icon: root.cmdIcon5
+ command: root.cmdRun5
+ }
+ Components.BottomSeparator{
+ visible: root.showSep5
+ }
+ Components.CommandRun{
+ visible: root.showCmd6
+ title: root.cmdTitle6
+ icon: root.cmdIcon6
+ command: root.cmdRun6
+ }
+ Components.BottomSeparator{
+ visible: root.showSep6
+ }
+ Components.CommandRun{
+ visible: root.showCmd7
+ title: root.cmdTitle7
+ icon: root.cmdIcon7
+ command: root.cmdRun7
+ }
+ Components.BottomSeparator{
+ visible: root.showSep7
+ }
+ Components.CommandRun{
+ visible: root.showCmd8
+ title: root.cmdTitle8
+ icon: root.cmdIcon8
+ command: root.cmdRun8
+ }
+ Components.BottomSeparator{
+ visible: root.showSep8
+ }
+ Components.CommandRun{
+ visible: root.showCmd9
+ title: root.cmdTitle9
+ icon: root.cmdIcon9
+ command: root.cmdRun9
+ }
+ Components.BottomSeparator{
+ visible: root.showSep9
+ }
+ Components.CommandRun{
+ visible: root.showCmd10
+ title: root.cmdTitle10
+ icon: root.cmdIcon10
+ command: root.cmdRun10
+ }
+ }
+ }
+ Item {
+ Layout.fillHeight: true
+ }
+ }
+}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/contents/ui/components/BottomSeparator.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/contents/ui/components/BottomSeparator.qml
new file mode 100755
index 0000000..e694024
--- /dev/null
+++ b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/contents/ui/components/BottomSeparator.qml
@@ -0,0 +1,13 @@
+import QtQml 2.0
+import QtQuick 2.0
+import QtQuick.Layouts 1.15
+import QtQuick.Controls 2.15
+import org.kde.plasma.core 2.0 as PlasmaCore
+
+ToolSeparator {
+ implicitHeight: 1
+ Layout.fillWidth: true
+ Layout.topMargin: 3
+ Layout.bottomMargin: 3
+ orientation: Qt.Horizontal
+}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/contents/ui/components/CommandRun.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/contents/ui/components/CommandRun.qml
new file mode 100755
index 0000000..fbe3420
--- /dev/null
+++ b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/contents/ui/components/CommandRun.qml
@@ -0,0 +1,38 @@
+import QtQml 2.0
+import QtQuick 2.0
+import QtQuick.Layouts 1.15
+
+import org.kde.plasma.core 2.0 as PlasmaCore
+
+import "../lib" as Lib
+
+Lib.CardButton {
+
+ Layout.fillWidth: true
+ Layout.fillHeight: true
+ property string icon;
+ property string command;
+
+ function exec(cmd) {
+ executable.connectSource(cmd)
+ }
+
+ PlasmaCore.IconItem {
+ anchors.fill: parent
+ source: icon
+ }
+
+ PlasmaCore.DataSource {
+ id: executable
+ engine: "executable"
+ connectedSources: []
+
+ onNewData: {
+ disconnectSource(connectedSources)
+ }
+ }
+
+ onClicked: {
+ exec(command)
+ }
+}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/contents/ui/config/configGeneral.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/contents/ui/config/configGeneral.qml
new file mode 100755
index 0000000..d1d96bc
--- /dev/null
+++ b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/contents/ui/config/configGeneral.qml
@@ -0,0 +1,662 @@
+import QtQml 2.0
+import QtQuick 2.0
+import QtQuick.Controls 2.15
+import QtQuick.Layouts 1.0
+import org.kde.plasma.core 2.0 as PlasmaCore
+import org.kde.plasma.extras 2.0 as PlasmaExtras
+import org.kde.kquickcontrolsaddons 2.0 as KQuickAddons
+import "../components" as Components
+
+ColumnLayout {
+ property alias cfg_mainIconName: mainIconName.icon.name
+
+ property alias cfg_width: widthSpinBox.value
+ property alias cfg_height: heightSpinBox.value
+
+ property alias cfg_showCmd1: showCmd1.checked
+ property alias cfg_showCmd2: showCmd2.checked
+ property alias cfg_showCmd3: showCmd3.checked
+ property alias cfg_showCmd4: showCmd4.checked
+ property alias cfg_showCmd5: showCmd5.checked
+ property alias cfg_showCmd6: showCmd6.checked
+ property alias cfg_showCmd7: showCmd7.checked
+ property alias cfg_showCmd8: showCmd8.checked
+ property alias cfg_showCmd9: showCmd9.checked
+ property alias cfg_showCmd10: showCmd10.checked
+
+ property alias cfg_showSep1: showSep1.checked
+ property alias cfg_showSep2: showSep2.checked
+ property alias cfg_showSep3: showSep3.checked
+ property alias cfg_showSep4: showSep4.checked
+ property alias cfg_showSep5: showSep5.checked
+ property alias cfg_showSep6: showSep6.checked
+ property alias cfg_showSep7: showSep7.checked
+ property alias cfg_showSep8: showSep8.checked
+ property alias cfg_showSep9: showSep9.checked
+
+ property alias cfg_cmdIcon1: cmdIcon1.icon.name
+ property alias cfg_cmdRun1: cmdRun1.text
+ property alias cfg_cmdTitle1: cmdTitle1.text
+
+ property alias cfg_cmdIcon2: cmdIcon2.icon.name
+ property alias cfg_cmdRun2: cmdRun2.text
+ property alias cfg_cmdTitle2: cmdTitle2.text
+
+ property alias cfg_cmdIcon3: cmdIcon3.icon.name
+ property alias cfg_cmdRun3: cmdRun3.text
+ property alias cfg_cmdTitle3: cmdTitle3.text
+
+ property alias cfg_cmdIcon4: cmdIcon4.icon.name
+ property alias cfg_cmdRun4: cmdRun4.text
+ property alias cfg_cmdTitle4: cmdTitle4.text
+
+ property alias cfg_cmdIcon5: cmdIcon5.icon.name
+ property alias cfg_cmdRun5: cmdRun5.text
+ property alias cfg_cmdTitle5: cmdTitle5.text
+
+ property alias cfg_cmdIcon6: cmdIcon6.icon.name
+ property alias cfg_cmdRun6: cmdRun6.text
+ property alias cfg_cmdTitle6: cmdTitle6.text
+
+ property alias cfg_cmdIcon7: cmdIcon7.icon.name
+ property alias cfg_cmdRun7: cmdRun7.text
+ property alias cfg_cmdTitle7: cmdTitle7.text
+
+ property alias cfg_cmdIcon8: cmdIcon8.icon.name
+ property alias cfg_cmdRun8: cmdRun8.text
+ property alias cfg_cmdTitle8: cmdTitle8.text
+
+ property alias cfg_cmdIcon9: cmdIcon9.icon.name
+ property alias cfg_cmdRun9: cmdRun9.text
+ property alias cfg_cmdTitle9: cmdTitle9.text
+
+ property alias cfg_cmdIcon10: cmdIcon10.icon.name
+ property alias cfg_cmdRun10: cmdRun10.text
+ property alias cfg_cmdTitle10: cmdTitle10.text
+
+ // Used to select icons
+ KQuickAddons.IconDialog {
+ id: iconDialog
+ property var iconObj
+
+ onIconNameChanged: iconObj.name = iconName
+
+ }
+ RowLayout {
+ Label {
+ text: i18n("Main Icon :")
+ }
+ Button {
+ id: mainIconName
+ onClicked: {
+ iconDialog.open()
+ iconDialog.iconObj= mainIconName.icon
+ }
+ }
+ }
+ RowLayout {
+ Label {
+ text: i18n("Widget Size px: W: ")
+ }
+ SpinBox {
+ id: widthSpinBox
+ from: 0
+ to: 2147483647 // 2^31-1
+ }
+ Label {
+ text: i18n(" H: ")
+ }
+ SpinBox {
+ id: heightSpinBox
+ from: 0
+ to: 2147483647 // 2^31-1
+ }
+ }
+ Components.BottomSeparator{
+ visible: true
+ }
+ RowLayout {
+ Label {
+ text: i18n("Show Menu Item 1")
+ color: showCmd1.enabled ? PlasmaCore.Theme.textColor : PlasmaCore.Theme.disabledTextColor
+ }
+ CheckBox {
+ id: showCmd1
+ }
+ Label {
+ text: i18n("Show Bottom Separator")
+ color: showSep1.enabled ? PlasmaCore.Theme.textColor : PlasmaCore.Theme.disabledTextColor
+ }
+ CheckBox {
+ id: showSep1
+ }
+ }
+ ColumnLayout {
+ Layout.leftMargin: PlasmaCore.Units.largeSpacing
+ visible: showCmd1.checked
+ RowLayout {
+ Label {
+ text: i18n("Icon :")
+ }
+ Button {
+ id: cmdIcon1
+ onClicked: {
+ iconDialog.open()
+ iconDialog.iconObj= cmdIcon1.icon
+ }
+ }
+ }
+ RowLayout {
+ Label {
+ text: i18n("Item :")
+ }
+ TextField {
+ id: cmdTitle1
+ placeholderText: i18n("System Settings")
+ Layout.fillWidth: true
+ }
+ }
+ RowLayout {
+ Label {
+ text: i18n("Command :")
+ }
+ TextField {
+ id: cmdRun1
+ placeholderText: i18n("systemsettings")
+ Layout.fillWidth: true
+ }
+ }
+ }
+ Components.BottomSeparator{
+ visible: true
+ }
+ RowLayout {
+ Label {
+ text: i18n("Show Menu Item 2")
+ color: showCmd2.enabled ? PlasmaCore.Theme.textColor : PlasmaCore.Theme.disabledTextColor
+ }
+ CheckBox {
+ id: showCmd2
+ }
+ Label {
+ text: i18n("Show Bottom Separator")
+ color: showSep2.enabled ? PlasmaCore.Theme.textColor : PlasmaCore.Theme.disabledTextColor
+ }
+ CheckBox {
+ id: showSep2
+ }
+ }
+ ColumnLayout {
+ Layout.leftMargin: PlasmaCore.Units.largeSpacing
+ visible: showCmd2.checked
+ RowLayout {
+ Label {
+ text: i18n("Icon :")
+ }
+ Button {
+ id: cmdIcon2
+ onClicked: {
+ iconDialog.open()
+ iconDialog.iconObj= cmdIcon2.icon
+ }
+ }
+ }
+ RowLayout {
+ Label {
+ text: i18n("Item :")
+ }
+ TextField {
+ id: cmdTitle2
+ placeholderText: i18n("Discover")
+ Layout.fillWidth: true
+ }
+ }
+ RowLayout {
+ Label {
+ text: i18n("Command :")
+ }
+ TextField {
+ id: cmdRun2
+ placeholderText: i18n("plasma-discover")
+ Layout.fillWidth: true
+ }
+ }
+ }
+ Components.BottomSeparator{
+ visible: true
+ }
+ RowLayout {
+ Label {
+ text: i18n("Show Menu Item 3")
+ color: showCmd3.enabled ? PlasmaCore.Theme.textColor : PlasmaCore.Theme.disabledTextColor
+ }
+ CheckBox {
+ id: showCmd3
+ }
+ Label {
+ text: i18n("Show Bottom Separator")
+ color: showSep3.enabled ? PlasmaCore.Theme.textColor : PlasmaCore.Theme.disabledTextColor
+ }
+ CheckBox {
+ id: showSep3
+ }
+ }
+ ColumnLayout {
+ Layout.leftMargin: PlasmaCore.Units.largeSpacing
+ visible: showCmd3.checked
+ RowLayout {
+ Label {
+ text: i18n("Icon :")
+ }
+ Button {
+ id: cmdIcon3
+ onClicked: {
+ iconDialog.open()
+ iconDialog.iconObj= cmdIcon3.icon
+ }
+ }
+ }
+ RowLayout {
+ Label {
+ text: i18n("Item :")
+ }
+ TextField {
+ id: cmdTitle3
+ placeholderText: i18n("Lock Screen")
+ Layout.fillWidth: true
+ }
+ }
+ RowLayout {
+ Label {
+ text: i18n("Command :")
+ }
+ TextField {
+ id: cmdRun3
+ placeholderText: i18n("qdbus org.freedesktop.ScreenSaver /ScreenSaver Lock")
+ Layout.fillWidth: true
+ }
+ }
+ }
+ Components.BottomSeparator{
+ visible: true
+ }
+ RowLayout {
+ Label {
+ text: i18n("Show Menu Item 4")
+ color: showCmd4.enabled ? PlasmaCore.Theme.textColor : PlasmaCore.Theme.disabledTextColor
+ }
+ CheckBox {
+ id: showCmd4
+ }
+ Label {
+ text: i18n("Show Bottom Separator")
+ color: showSep4.enabled ? PlasmaCore.Theme.textColor : PlasmaCore.Theme.disabledTextColor
+ }
+ CheckBox {
+ id: showSep4
+ }
+ }
+ ColumnLayout {
+ Layout.leftMargin: PlasmaCore.Units.largeSpacing
+ visible: showCmd4.checked
+ RowLayout {
+ Label {
+ text: i18n("Icon :")
+ }
+ Button {
+ id: cmdIcon4
+ onClicked: {
+ iconDialog.open()
+ iconDialog.iconObj= cmdIcon4.icon
+ }
+ }
+ }
+ RowLayout {
+ Label {
+ text: i18n("Item :")
+ }
+ TextField {
+ id: cmdTitle4
+ placeholderText: i18n("Log Out")
+ Layout.fillWidth: true
+ }
+ }
+ RowLayout {
+ Label {
+ text: i18n("Command :")
+ }
+ TextField {
+ id: cmdRun4
+ placeholderText: i18n("qdbus org.kde.ksmserver /KSMServer logout 0 0 0")
+ Layout.fillWidth: true
+ }
+ }
+ }
+ Components.BottomSeparator{
+ visible: true
+ }
+ RowLayout {
+ Label {
+ text: i18n("Show Menu Item 5")
+ color: showCmd5.enabled ? PlasmaCore.Theme.textColor : PlasmaCore.Theme.disabledTextColor
+ }
+ CheckBox {
+ id: showCmd5
+ }
+ Label {
+ text: i18n("Show Bottom Separator")
+ color: showSep5.enabled ? PlasmaCore.Theme.textColor : PlasmaCore.Theme.disabledTextColor
+ }
+ CheckBox {
+ id: showSep5
+ }
+ }
+ ColumnLayout {
+ Layout.leftMargin: PlasmaCore.Units.largeSpacing
+ visible: showCmd5.checked
+ RowLayout {
+ Label {
+ text: i18n("Icon :")
+ }
+ Button {
+ id: cmdIcon5
+ onClicked: {
+ iconDialog.open()
+ iconDialog.iconObj= cmdIcon5.icon
+ }
+ }
+ }
+ RowLayout {
+ Label {
+ text: i18n("Item :")
+ }
+ TextField {
+ id: cmdTitle5
+ placeholderText: i18n("Sleep")
+ Layout.fillWidth: true
+ }
+ }
+ RowLayout {
+ Label {
+ text: i18n("Command :")
+ }
+ TextField {
+ id: cmdRun5
+ placeholderText: i18n("systemctl suspend")
+ Layout.fillWidth: true
+ }
+ }
+ }
+ Components.BottomSeparator{
+ visible: true
+ }
+ RowLayout {
+ Label {
+ text: i18n("Show Menu Item 6")
+ color: showCmd6.enabled ? PlasmaCore.Theme.textColor : PlasmaCore.Theme.disabledTextColor
+ }
+ CheckBox {
+ id: showCmd6
+ }
+ Label {
+ text: i18n("Show Bottom Separator")
+ color: showSep6.enabled ? PlasmaCore.Theme.textColor : PlasmaCore.Theme.disabledTextColor
+ }
+ CheckBox {
+ id: showSep6
+ }
+ }
+ ColumnLayout {
+ Layout.leftMargin: PlasmaCore.Units.largeSpacing
+ visible: showCmd6.checked
+ RowLayout {
+ Label {
+ text: i18n("Icon :")
+ }
+ Button {
+ id: cmdIcon6
+ onClicked: {
+ iconDialog.open()
+ iconDialog.iconObj= cmdIcon6.icon
+ }
+ }
+ }
+ RowLayout {
+ Label {
+ text: i18n("Item :")
+ }
+ TextField {
+ id: cmdTitle6
+ placeholderText: i18n("Restart")
+ Layout.fillWidth: true
+ }
+ }
+ RowLayout {
+ Label {
+ text: i18n("Command :")
+ }
+ TextField {
+ id: cmdRun6
+ placeholderText: i18n("/sbin/reboot")
+ Layout.fillWidth: true
+ }
+ }
+ }
+ Components.BottomSeparator{
+ visible: true
+ }
+ RowLayout {
+ Label {
+ text: i18n("Show Menu Item 7")
+ color: showCmd7.enabled ? PlasmaCore.Theme.textColor : PlasmaCore.Theme.disabledTextColor
+ }
+ CheckBox {
+ id: showCmd7
+ }
+ Label {
+ text: i18n("Show Bottom Separator")
+ color: showSep7.enabled ? PlasmaCore.Theme.textColor : PlasmaCore.Theme.disabledTextColor
+ }
+ CheckBox {
+ id: showSep7
+ }
+ }
+ ColumnLayout {
+ Layout.leftMargin: PlasmaCore.Units.largeSpacing
+ visible: showCmd7.checked
+ RowLayout {
+ Label {
+ text: i18n("Icon :")
+ }
+ Button {
+ id: cmdIcon7
+ onClicked: {
+ iconDialog.open()
+ iconDialog.iconObj= cmdIcon7.icon
+ }
+ }
+ }
+ RowLayout {
+ Label {
+ text: i18n("Item :")
+ }
+ TextField {
+ id: cmdTitle7
+ placeholderText: i18n("Shut Down")
+ Layout.fillWidth: true
+ }
+ }
+ RowLayout {
+ Label {
+ text: i18n("Command :")
+ }
+ TextField {
+ id: cmdRun7
+ placeholderText: i18n("/sbin/shutdown now")
+ Layout.fillWidth: true
+ }
+ }
+ }
+ Components.BottomSeparator{
+ visible: true
+ }
+ RowLayout {
+ Label {
+ text: i18n("Show Menu Item 8")
+ color: showCmd8.enabled ? PlasmaCore.Theme.textColor : PlasmaCore.Theme.disabledTextColor
+ }
+ CheckBox {
+ id: showCmd8
+ }
+ Label {
+ text: i18n("Show Bottom Separator")
+ color: showSep8.enabled ? PlasmaCore.Theme.textColor : PlasmaCore.Theme.disabledTextColor
+ }
+ CheckBox {
+ id: showSep8
+ }
+ }
+ ColumnLayout {
+ Layout.leftMargin: PlasmaCore.Units.largeSpacing
+ visible: showCmd8.checked
+ RowLayout {
+ Label {
+ text: i18n("Icon :")
+ }
+ Button {
+ id: cmdIcon8
+ onClicked: {
+ iconDialog.open()
+ iconDialog.iconObj= cmdIcon8.icon
+ }
+ }
+ }
+ RowLayout {
+ Label {
+ text: i18n("Item :")
+ }
+ TextField {
+ id: cmdTitle8
+ placeholderText: i18n("Custom Item")
+ Layout.fillWidth: true
+ }
+ }
+ RowLayout {
+ Label {
+ text: i18n("Command :")
+ }
+ TextField {
+ id: cmdRun8
+ placeholderText: i18n("Custom Command")
+ Layout.fillWidth: true
+ }
+ }
+ }
+ Components.BottomSeparator{
+ visible: true
+ }
+ RowLayout {
+ Label {
+ text: i18n("Show Menu Item 9")
+ color: showCmd9.enabled ? PlasmaCore.Theme.textColor : PlasmaCore.Theme.disabledTextColor
+ }
+ CheckBox {
+ id: showCmd9
+ }
+ Label {
+ text: i18n("Show Bottom Separator")
+ color: showSep9.enabled ? PlasmaCore.Theme.textColor : PlasmaCore.Theme.disabledTextColor
+ }
+ CheckBox {
+ id: showSep9
+ }
+ }
+ ColumnLayout {
+ Layout.leftMargin: PlasmaCore.Units.largeSpacing
+ visible: showCmd9.checked
+ RowLayout {
+ Label {
+ text: i18n("Icon :")
+ }
+ Button {
+ id: cmdIcon9
+ onClicked: {
+ iconDialog.open()
+ iconDialog.iconObj= cmdIcon9.icon
+ }
+ }
+ }
+ RowLayout {
+ Label {
+ text: i18n("Item :")
+ }
+ TextField {
+ id: cmdTitle9
+ placeholderText: i18n("Custom Item")
+ Layout.fillWidth: true
+ }
+ }
+ RowLayout {
+ Label {
+ text: i18n("Command :")
+ }
+ TextField {
+ id: cmdRun9
+ placeholderText: i18n("Custom Command")
+ Layout.fillWidth: true
+ }
+ }
+ }
+ Components.BottomSeparator{
+ visible: true
+ }
+ RowLayout {
+ Label {
+ text: i18n("Show Menu Item 10")
+ color: showCmd10.enabled ? PlasmaCore.Theme.textColor : PlasmaCore.Theme.disabledTextColor
+ }
+ CheckBox {
+ id: showCmd10
+ }
+ }
+ ColumnLayout {
+ Layout.leftMargin: PlasmaCore.Units.largeSpacing
+ visible: showCmd10.checked
+ RowLayout {
+ Label {
+ text: i18n("Icon :")
+ }
+ Button {
+ id: cmdIcon10
+ onClicked: {
+ iconDialog.open()
+ iconDialog.iconObj= cmdIcon10.icon
+ }
+ }
+ }
+ RowLayout {
+ Label {
+ text: i18n("Item :")
+ }
+ TextField {
+ id: cmdTitle10
+ placeholderText: i18n("Custom Item")
+ Layout.fillWidth: true
+ }
+ }
+ RowLayout {
+ Label {
+ text: i18n("Command :")
+ }
+ TextField {
+ id: cmdRun10
+ placeholderText: i18n("Custom Command")
+ Layout.fillWidth: true
+ }
+ }
+ }
+ Item {
+ Layout.fillHeight: true
+ }
+}
+
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/contents/ui/lib/CardButton.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/contents/ui/lib/CardButton.qml
new file mode 100755
index 0000000..e662698
--- /dev/null
+++ b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/contents/ui/lib/CardButton.qml
@@ -0,0 +1,45 @@
+import QtQuick 2.0
+import QtQuick.Layouts 1.15
+
+import org.kde.plasma.core 2.0 as PlasmaCore
+import org.kde.plasma.components 2.0 as PlasmaComponents
+
+PlasmaCore.FrameSvgItem {
+ id: button
+
+ imagePath: "widgets/viewitem"
+ prefix: mouseArea.containsMouse ? (mouseArea.pressed ? "selected+hover" : "hover") : "normal"
+ signal clicked
+ default property alias content: icon.data
+ property alias title: title.text
+
+ GridLayout {
+ anchors.fill: parent
+
+ Item {
+ id: icon
+ Layout.preferredHeight: 30
+ Layout.preferredWidth: Layout.preferredHeight
+ Layout.alignment: Qt.AlignVCenter | Qt.AlignHCenter
+ }
+ PlasmaComponents.Label {
+ id: title
+ Layout.fillHeight: true
+ Layout.fillWidth: true
+ font.weight: Font.Normal
+ horizontalAlignment: parent.small ? Qt.AlignHCenter : Qt.AlignLeft
+ verticalAlignment: Qt.AlignVCenter
+ wrapMode: Text.WordWrap
+ }
+ }
+ MouseArea {
+ id: mouseArea
+ anchors.fill: parent
+ hoverEnabled: true
+ cursorShape: Qt.PointingHandCursor
+
+ onClicked: {
+ button.clicked()
+ }
+ }
+}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/contents/ui/main.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/contents/ui/main.qml
new file mode 100755
index 0000000..25624f9
--- /dev/null
+++ b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/contents/ui/main.qml
@@ -0,0 +1,89 @@
+import QtQuick 2.0
+import QtQuick.Controls 2.15
+import org.kde.plasma.plasmoid 2.0
+import org.kde.plasma.core 2.1 as PlasmaCore
+import org.kde.plasma.components 2.0 as PlasmaComponents
+
+Item {
+ id: root
+
+ clip: true
+
+ // PROPERTIES
+ property var animationDuration: PlasmaCore.Units.veryShortDuration
+
+ // Main Icon
+ property string mainIconName: plasmoid.configuration.mainIconName
+ property string mainIconHeight: plasmoid.configuration.mainIconHeight
+
+ // Components
+ property bool showCmd1: plasmoid.configuration.showCmd1
+ property bool showCmd2: plasmoid.configuration.showCmd2
+ property bool showCmd3: plasmoid.configuration.showCmd3
+ property bool showCmd4: plasmoid.configuration.showCmd4
+ property bool showCmd5: plasmoid.configuration.showCmd5
+ property bool showCmd6: plasmoid.configuration.showCmd6
+ property bool showCmd7: plasmoid.configuration.showCmd7
+ property bool showCmd8: plasmoid.configuration.showCmd8
+ property bool showCmd9: plasmoid.configuration.showCmd9
+ property bool showCmd10: plasmoid.configuration.showCmd10
+
+ property bool showSep1: plasmoid.configuration.showSep1
+ property bool showSep2: plasmoid.configuration.showSep2
+ property bool showSep3: plasmoid.configuration.showSep3
+ property bool showSep4: plasmoid.configuration.showSep4
+ property bool showSep5: plasmoid.configuration.showSep5
+ property bool showSep6: plasmoid.configuration.showSep6
+ property bool showSep7: plasmoid.configuration.showSep7
+ property bool showSep8: plasmoid.configuration.showSep8
+ property bool showSep9: plasmoid.configuration.showSep9
+
+ property string cmdRun1: plasmoid.configuration.cmdRun1
+ property string cmdTitle1: plasmoid.configuration.cmdTitle1
+ property string cmdIcon1: plasmoid.configuration.cmdIcon1
+
+ property string cmdRun2: plasmoid.configuration.cmdRun2
+ property string cmdTitle2: plasmoid.configuration.cmdTitle2
+ property string cmdIcon2: plasmoid.configuration.cmdIcon2
+
+ property string cmdRun3: plasmoid.configuration.cmdRun3
+ property string cmdTitle3: plasmoid.configuration.cmdTitle3
+ property string cmdIcon3: plasmoid.configuration.cmdIcon3
+
+ property string cmdRun4: plasmoid.configuration.cmdRun4
+ property string cmdTitle4: plasmoid.configuration.cmdTitle4
+ property string cmdIcon4: plasmoid.configuration.cmdIcon4
+
+ property string cmdRun5: plasmoid.configuration.cmdRun5
+ property string cmdTitle5: plasmoid.configuration.cmdTitle5
+ property string cmdIcon5: plasmoid.configuration.cmdIcon5
+
+ property string cmdRun6: plasmoid.configuration.cmdRun6
+ property string cmdTitle6: plasmoid.configuration.cmdTitle6
+ property string cmdIcon6: plasmoid.configuration.cmdIcon6
+
+ property string cmdRun7: plasmoid.configuration.cmdRun7
+ property string cmdTitle7: plasmoid.configuration.cmdTitle7
+ property string cmdIcon7: plasmoid.configuration.cmdIcon7
+
+ property string cmdRun8: plasmoid.configuration.cmdRun8
+ property string cmdTitle8: plasmoid.configuration.cmdTitle8
+ property string cmdIcon8: plasmoid.configuration.cmdIcon8
+
+ property string cmdRun9: plasmoid.configuration.cmdRun9
+ property string cmdTitle9: plasmoid.configuration.cmdTitle9
+ property string cmdIcon9: plasmoid.configuration.cmdIcon9
+
+ property string cmdRun10: plasmoid.configuration.cmdRun10
+ property string cmdTitle10: plasmoid.configuration.cmdTitle10
+ property string cmdIcon10: plasmoid.configuration.cmdIcon10
+
+ readonly property bool inPanel: (Plasmoid.location === PlasmaCore.Types.TopEdge
+ || Plasmoid.location === PlasmaCore.Types.RightEdge
+ || Plasmoid.location === PlasmaCore.Types.BottomEdge
+ || Plasmoid.location === PlasmaCore.Types.LeftEdge)
+
+ Plasmoid.preferredRepresentation: plasmoid.compactRepresentation
+ Plasmoid.fullRepresentation: FullRepresentation {}
+ Plasmoid.compactRepresentation: CompactRepresentation {}
+}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/metadata.desktop b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/metadata.desktop
new file mode 100755
index 0000000..7be9b8c
--- /dev/null
+++ b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/metadata.desktop
@@ -0,0 +1,19 @@
+[Desktop Entry]
+Name=SCP menu
+Comment=Simple Customizable Power Menu for KDE
+
+Type=Service
+Icon=configure
+X-KDE-ServiceTypes=Plasma/Applet
+
+X-Plasma-API=declarativeappletscript
+X-Plasma-MainScript=ui/main.qml
+
+X-KDE-PluginInfo-Author=Dervart
+X-KDE-PluginInfo-Email=
+X-KDE-PluginInfo-Name=org.kde.plasma.scpmk
+X-KDE-PluginInfo-Version=1.0
+X-KDE-PluginInfo-Website=
+X-KDE-PluginInfo-Category=Application Launchers
+X-KDE-PluginInfo-License=LGPL-2.0
+X-KDE-PluginInfo-EnabledByDefault=true
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/translate/build b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/translate/build.sh
old mode 100644
new mode 100755
similarity index 99%
rename from Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/translate/build
rename to Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/translate/build.sh
index 6d6f60a..299eb93
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/translate/build
+++ b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/translate/build.sh
@@ -1,3 +1,4 @@
+
#!/bin/sh
# Version: 5
diff --git a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/translate/merge b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/translate/merge.sh
old mode 100644
new mode 100755
similarity index 99%
rename from Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/translate/merge
rename to Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/translate/merge.sh
index 410e8a5..c9c50c5
--- a/Configs/Home/.local/share/plasma/plasmoids/com.github.zren.presentwindows/translate/merge
+++ b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/translate/merge.sh
@@ -1,3 +1,4 @@
+
#!/bin/sh
# Version: 15
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/translate/ru.po b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/translate/ru.po
new file mode 100755
index 0000000..83c0f5f
--- /dev/null
+++ b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/translate/ru.po
@@ -0,0 +1,117 @@
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Simple Customizable Power Menu for KDE\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 23-11-21\n"
+"PO-Revision-Date: 23-11-21\n"
+"Last-Translator: Dervart\n"
+"Language: Russian\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../contents/config/config.qml
+msgid "Advanced"
+msgstr "Настройки"
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Main Icon :"
+msgstr "Иконка виджета"
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Widget Size px: W: "
+msgstr "Размер виджета px: W: "
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Show Menu Item 1"
+msgstr "Показать пункт меню 1"
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Show Menu Item 2"
+msgstr "Показать пункт меню 2"
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Show Menu Item 3"
+msgstr "Показать пункт меню 3"
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Show Menu Item 4"
+msgstr "Показать пункт меню 4"
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Show Menu Item 5"
+msgstr "Показать пункт меню 5"
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Show Menu Item 6"
+msgstr "Показать пункт меню 6"
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Show Menu Item 7"
+msgstr "Показать пункт меню 7"
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Show Menu Item 8"
+msgstr "Показать пункт меню 8"
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Show Menu Item 9"
+msgstr "Показать пункт меню 9"
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Show Menu Item 10"
+msgstr "Показать пункт меню 10"
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Show Bottom Separator"
+msgstr "Показать нижний разделитель"
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Icon :"
+msgstr "Иконка :"
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Item :"
+msgstr "Строка :"
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Command :"
+msgstr "Выполнить :"
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "System Settings"
+msgstr "Настройки системы"
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Discover"
+msgstr "Магазин приложений"
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Lock Screen"
+msgstr "Заблокировать"
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Log Out"
+msgstr "Выйти"
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Sleep"
+msgstr "Сон"
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Restart"
+msgstr "Перезагрузка"
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Shut Down"
+msgstr "Выключение"
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Custom Item"
+msgstr "Настраиваемая строка"
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Custom Command"
+msgstr "Настраиваемая команда"
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/translate/template.po b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/translate/template.po
new file mode 100755
index 0000000..84107da
--- /dev/null
+++ b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.scpmk/translate/template.po
@@ -0,0 +1,117 @@
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Simple Customizable Power Menu for KDE\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: YY-MM-DD\n"
+"PO-Revision-Date: YY-MM-DD\n"
+"Last-Translator: AUTHOR\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../contents/config/config.qml
+msgid "Advanced"
+msgstr ""
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Main Icon :"
+msgstr ""
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Widget Size px: W: "
+msgstr ""
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Show Menu Item 1"
+msgstr ""
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Show Menu Item 2"
+msgstr ""
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Show Menu Item 3"
+msgstr ""
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Show Menu Item 4"
+msgstr ""
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Show Menu Item 5"
+msgstr ""
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Show Menu Item 6"
+msgstr ""
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Show Menu Item 7"
+msgstr ""
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Show Menu Item 8"
+msgstr ""
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Show Menu Item 9"
+msgstr ""
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Show Menu Item 10"
+msgstr ""
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Show Bottom Separator"
+msgstr ""
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Icon :"
+msgstr ""
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Item :"
+msgstr ""
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Command :"
+msgstr ""
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "System Settings"
+msgstr ""
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Discover"
+msgstr ""
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Lock Screen"
+msgstr ""
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Log Out"
+msgstr ""
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Sleep"
+msgstr ""
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Restart"
+msgstr ""
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Shut Down"
+msgstr ""
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Custom Item"
+msgstr ""
+
+#: ../contents/ui/config/configGeneral.qml
+msgid "Custom Command"
+msgstr ""
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.togglecompositing/contents/config/main.xml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.togglecompositing/contents/config/main.xml
deleted file mode 100644
index 0f1ef2b..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.togglecompositing/contents/config/main.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
-
- true
-
-
- false
-
-
- false
-
-
- false
-
-
-
-
-
-
-
-
-
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.togglecompositing/contents/ui/comp-off-black.svg b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.togglecompositing/contents/ui/comp-off-black.svg
deleted file mode 100644
index b65987c..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.togglecompositing/contents/ui/comp-off-black.svg
+++ /dev/null
@@ -1,80 +0,0 @@
-
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.togglecompositing/contents/ui/comp-off-white.svg b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.togglecompositing/contents/ui/comp-off-white.svg
deleted file mode 100644
index 8d277c8..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.togglecompositing/contents/ui/comp-off-white.svg
+++ /dev/null
@@ -1,80 +0,0 @@
-
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.togglecompositing/contents/ui/comp-off.svg b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.togglecompositing/contents/ui/comp-off.svg
deleted file mode 100644
index bdf103b..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.togglecompositing/contents/ui/comp-off.svg
+++ /dev/null
@@ -1,80 +0,0 @@
-
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.togglecompositing/contents/ui/comp-on-black.svg b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.togglecompositing/contents/ui/comp-on-black.svg
deleted file mode 100644
index a8ee159..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.togglecompositing/contents/ui/comp-on-black.svg
+++ /dev/null
@@ -1,183 +0,0 @@
-
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.togglecompositing/contents/ui/comp-on-white.svg b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.togglecompositing/contents/ui/comp-on-white.svg
deleted file mode 100644
index 00a7a49..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.togglecompositing/contents/ui/comp-on-white.svg
+++ /dev/null
@@ -1,183 +0,0 @@
-
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.togglecompositing/contents/ui/comp-on.svg b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.togglecompositing/contents/ui/comp-on.svg
deleted file mode 100644
index edd4a36..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.togglecompositing/contents/ui/comp-on.svg
+++ /dev/null
@@ -1,189 +0,0 @@
-
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.togglecompositing/contents/ui/configGeneral.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.togglecompositing/contents/ui/configGeneral.qml
deleted file mode 100644
index 57b9f1d..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.togglecompositing/contents/ui/configGeneral.qml
+++ /dev/null
@@ -1,126 +0,0 @@
-import QtQuick 2
-import QtQuick.Controls 2
-import QtQuick.Layouts 1
-import org.kde.plasma.core 2 as PlasmaCore
-import org.kde.kquickcontrolsaddons 2 as KQuickAddons
-
-Item {
- id: page
- property alias cfg_defaultIcon: defaultIconRadio.checked
- property alias cfg_whiteIcon: whiteIconRadio.checked
- property alias cfg_blackIcon: blackIconRadio.checked
- property alias cfg_customIcon: customIconRadio.checked
- property alias cfg_customCompOnIcon: compOnIconButton.compOnIconString
- property alias cfg_customCompOffIcon: compOffIconButton.compOffIconString
-
- KQuickAddons.IconDialog {
- id: compOnIconDialog
-
- function setCustomButtonImage(image) {
- compOnIconButton.compOnIconString = image
- }
-
- onIconNameChanged: setCustomButtonImage(iconName);
- }
-
- KQuickAddons.IconDialog {
- id: compOffIconDialog
-
- function setCustomButtonImage(image) {
- compOffIconButton.compOffIconString = image
- }
-
- onIconNameChanged: setCustomButtonImage(iconName);
- }
-
- Column{
-
- RadioButton {
- id: defaultIconRadio
- text: "Use Red/Green Icons"
- }
-
- RadioButton {
- id: whiteIconRadio
- text: "Use White Icons"
- }
-
- RadioButton {
- id: blackIconRadio
- text: "Use black Icons"
- }
-
- RadioButton {
- id: customIconRadio
- text: "Use Custom Icons"
- Column {
- enabled: customIconRadio.checked
- anchors.left: customIconRadio.horizontalCenter
- anchors.top: customIconRadio.bottom
- Row {
- spacing: 10
-
- Label {
- text: "Compositing On: "
- anchors.verticalCenter: compOnIconButton.verticalCenter
- }
- Button {
- id: compOnIconButton
- property string compOnIconString
- onClicked: {
- compOnIconDialog.open()
- }
- property var margin: 15
- property var previewSize: 48
- width: previewSize + margin
- height: previewSize + margin
- PlasmaCore.FrameSvgItem {
- anchors.centerIn: parent
- width: parent.width
- height: parent.height
- imagePath: plasmoid.location === PlasmaCore.Types.Vertical || plasmoid.location === PlasmaCore.Types.Horizontal ? "widgets/panel-background" : "widgets/background"
- PlasmaCore.IconItem {
- width: previewSize
- height: previewSize
- anchors.centerIn: parent
- source: compOnIconButton.compOnIconString || plasmoid.file('', 'ui/comp-on.svg')
- }
- }
- }
- }
-
- Row {
- spacing: 10
-
- Label {
- text: "Compositing Off: "
- anchors.verticalCenter: compOffIconButton.verticalCenter
- }
- Button {
- id: compOffIconButton
- property string compOffIconString
- onClicked: {
- compOffIconDialog.open()
- }
- property var margin: 15
- property var previewSize: 48
- width: previewSize + margin
- height: previewSize + margin
- PlasmaCore.FrameSvgItem {
- anchors.centerIn: parent
- width: parent.width
- height: parent.height
- imagePath: plasmoid.location === PlasmaCore.Types.Vertical || plasmoid.location === PlasmaCore.Types.Horizontal ? "widgets/panel-background" : "widgets/background"
- PlasmaCore.IconItem {
- width: previewSize
- height: previewSize
- anchors.centerIn: parent
- source: compOffIconButton.compOffIconString || plasmoid.file('', 'ui/comp-off.svg')
- }
- }
- }
- }
- }
- }
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.togglecompositing/contents/ui/main.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.togglecompositing/contents/ui/main.qml
deleted file mode 100644
index 86b3714..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.togglecompositing/contents/ui/main.qml
+++ /dev/null
@@ -1,95 +0,0 @@
-import QtQuick 2
-import QtQuick.Layouts 1
-import org.kde.plasma.core 2 as PlasmaCore
-import org.kde.plasma.plasmoid 2
-import org.kde.kwindowsystem 1
-
-Item {
- id: root
-
- Plasmoid.preferredRepresentation: Plasmoid.compactRepresentation
-
- // Use KWindowSystem from KDeclarative for easy access to compositingActiveChanged signal
- KWindowSystem {
- id: kwindowsystem
- }
-
- property bool compActive: kwindowsystem.compositingActive
-
- // Connecting sources to a DataSource while its engine property is set to "executable"
- // allows us to run shell commands
- PlasmaCore.DataSource {
- id: executable
- engine: "executable"
- connectedSources: []
- onNewData: {
- var exitCode = data["exit code"]
- var exitStatus = data["exit status"]
- var stdout = data["stdout"]
- var stderr = data["stderr"]
- exited(sourceName, exitCode, exitStatus, stdout, stderr)
- disconnectSource(sourceName)
- }
- function exec(cmd) {
- connectSource(cmd)
- }
- signal exited(string cmd, int exitCode, int exitStatus, string stdout, string stderr)
- }
-
-
- Plasmoid.compactRepresentation: Item {
- id: panelItem
- anchors.fill: parent
- readonly property int minSize: Math.min(width, height)
- PlasmaCore.SvgItem {
- id: svgItem
- property var compOnIcon: plasmoid.configuration.defaultIcon ? plasmoid.file('', 'ui/comp-on.svg') : (plasmoid.configuration.whiteIcon ? plasmoid.file('', 'ui/comp-on-white.svg') : (plasmoid.configuration.blackIcon ? plasmoid.file('', 'ui/comp-on-black.svg') : (plasmoid.configuration.customCompOnIcon || plasmoid.file('', 'ui/comp-on.svg'))))
- property var compOffIcon: plasmoid.configuration.defaultIcon ? plasmoid.file('', 'ui/comp-off.svg') : (plasmoid.configuration.whiteIcon ? plasmoid.file('', 'ui/comp-off-white.svg') : (plasmoid.configuration.blackIcon ? plasmoid.file('', 'ui/comp-off-black.svg') : (plasmoid.configuration.customCompOffIcon || plasmoid.file('', 'ui/comp-off.svg'))))
- //active: compactMouseArea.containsMouse
- //source: compActive ? "comp-on.svg" : "comp-off.svg"
- anchors.centerIn: parent
- readonly property real minSize: Math.min(naturalSize.width, naturalSize.height)
- readonly property real widthRatio: naturalSize.width / svgItem.minSize
- readonly property real heightRatio: naturalSize.height / svgItem.minSize
- width: panelItem.minSize * widthRatio
- height: panelItem.minSize * heightRatio
- smooth: true
- PlasmaCore.IconItem {
- id: svg
- anchors.centerIn: parent
- anchors.fill: parent
- source: (compActive ? svgItem.compOnIcon : svgItem.compOffIcon)
- }
-
- MouseArea {
- id: compactMouseArea
- anchors.fill: parent
- hoverEnabled: true
- acceptedButtons: Qt.LeftButton
- onClicked: toggleCompositing();
- }
- }
- }
-
- Plasmoid.toolTipMainText: "Toggle Compositing"
- Plasmoid.toolTipSubText: {
- return "Compositing is " + (compActive ? "enabled" : "disabled");
- }
-
- function toggleCompositing() {
-// var action = compActive ? "suspend" : "resume";
-// executable.exec("qdbus org.kde.KWin /Compositor " + action);
-
- // The dbus method used above is bugged and doesn't always work.
- // If you suspend compositing using KWin's keyboard shortcut,
- // the resume() dbus method won't work. I suspect this bug has
- // something to do with the bitwise operations being done with
- // m_suspend in the source code for KWin:
- // https://invent.kde.org/plasma/kwin/-/blob/b8d69a326c2edfdb7955a94274a7918aaa5daa7f/src/composite.cpp
-
- // Rather than toggle the compositor directly, we need to invoke
- // the same action that happens when we trigger the "Suspend Compositing"
- // KWin keyboard shortcut.
- executable.exec("qdbus org.kde.kglobalaccel /component/kwin org.kde.kglobalaccel.Component.invokeShortcut 'Suspend Compositing'");
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.togglecompositing/metadata.desktop b/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.togglecompositing/metadata.desktop
deleted file mode 100644
index c158086..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.togglecompositing/metadata.desktop
+++ /dev/null
@@ -1,19 +0,0 @@
-[Desktop Entry]
-Name=Toggle Compositing
-Comment=Plasmoid for toggling desktop compositing
-Icon=composite-track-on
-Type=Service
-X-KDE-ServiceTypes=Plasma/Applet
-
-X-KDE-PluginInfo-Author=Tim Hansen
-X-KDE-PluginInfo-Category=Graphics
-X-KDE-PluginInfo-Email=timhansen232@gmail.com
-X-KDE-PluginInfo-EnabledByDefault=true
-X-KDE-PluginInfo-License=LGPL-3.0
-X-KDE-PluginInfo-Name=org.kde.plasma.togglecompositing
-X-KDE-PluginInfo-Version=1.2.1
-X-KDE-PluginInfo-Website=https://kde.org/plasma-desktop
-
-X-Plasma-API=declarativeappletscript
-X-Plasma-MainScript=ui/main.qml
-X-Plasma-NotificationArea=false
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/config/config.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/config/config.qml
deleted file mode 100644
index 6cf8bd2..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/config/config.qml
+++ /dev/null
@@ -1,20 +0,0 @@
-import QtQuick 2.2
-import org.kde.plasma.configuration 2.0
-
-ConfigModel {
- ConfigCategory {
- name: i18n("General")
- icon: 'preferences-system-windows'
- source: 'config/ConfigGeneral.qml'
- }
- ConfigCategory {
- name: i18n("Data")
- icon: 'preferences-system-settings'
- source: 'config/ConfigData.qml'
- }
- ConfigCategory {
- name: i18n("Appearance")
- icon: 'preferences-desktop-color'
- source: 'config/ConfigAppearance.qml'
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/config/main.xml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/config/main.xml
deleted file mode 100644
index cbd9be7..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/config/main.xml
+++ /dev/null
@@ -1,118 +0,0 @@
-
-
-
-
-
-
- 1.0
-
-
-
- org.kde.plasma-systemmonitor
-
-
-
- true
-
-
- true
-
-
-
- true
-
-
- false
-
-
- true
-
-
-
- false
-
-
- kibibyte
-
-
-
-
-
-
-
- 100000.0
-
-
- 100000.0
-
-
-
-
-
- false
-
-
- 10
-
-
- true
-
-
- 26
-
-
- false
-
-
-
-
- false
-
-
-
-
- 10
-
-
- 25
-
-
- hover-hints
-
-
- top-right
-
-
-
- false
-
-
-
-
-
- false
-
-
-
-
- false
-
-
-
-
-
- false
-
-
-
-
- false
-
-
-
-
-
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/locale/fr/LC_MESSAGES/plasma_applet_org.kde.resourcesMonitor-fork.mo b/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/locale/fr/LC_MESSAGES/plasma_applet_org.kde.resourcesMonitor-fork.mo
deleted file mode 100644
index 920a686..0000000
Binary files a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/locale/fr/LC_MESSAGES/plasma_applet_org.kde.resourcesMonitor-fork.mo and /dev/null differ
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/locale/nl/LC_MESSAGES/plasma_applet_org.kde.resourcesMonitor-fork.mo b/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/locale/nl/LC_MESSAGES/plasma_applet_org.kde.resourcesMonitor-fork.mo
deleted file mode 100644
index 2b2faf5..0000000
Binary files a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/locale/nl/LC_MESSAGES/plasma_applet_org.kde.resourcesMonitor-fork.mo and /dev/null differ
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/ui/components/ApplicationDelegateItem.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/ui/components/ApplicationDelegateItem.qml
deleted file mode 100644
index 7ab01fa..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/ui/components/ApplicationDelegateItem.qml
+++ /dev/null
@@ -1,39 +0,0 @@
-import QtQuick 2.0
-import QtQuick.Controls 2.12 as QtControls
-import QtQuick.Layouts 1.1 as QtLayouts
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.components 2.0 as PlasmaComponents
-import org.kde.kirigami 2.6 as Kirigami
-
-MouseArea {
- id: root
- height: childrenRect.height
-
- hoverEnabled: true
- cursorShape: Qt.PointingHandCursor
-
- property string serviceName: ""
- property string name: ""
- property string comment: ""
- property string iconName: ""
- property bool selected: false
-
- QtLayouts.RowLayout {
- spacing: Kirigami.Units.smallSpacing
-
- QtControls.ToolTip.text: (comment !== "" ? comment + "\n\n" : "") +
- "ID: " + serviceName + ".desktop"
- QtControls.ToolTip.visible: root.containsMouse
-
- PlasmaCore.IconItem {
- id: icon
-
- source: iconName
- implicitHeight: 16
- implicitWidth: 16
- }
- PlasmaComponents.Label {
- text: selected ? "" + name + "" : name
- }
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/ui/components/AppsDetector.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/ui/components/AppsDetector.qml
deleted file mode 100644
index cc61729..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/ui/components/AppsDetector.qml
+++ /dev/null
@@ -1,32 +0,0 @@
-import QtQuick 2.0
-import org.kde.plasma.core 2.1 as PlasmaCore
-
-PlasmaCore.SortFilterModel {
- id: appsDetector
-
- sourceModel: PlasmaCore.DataModel {
- dataSource: source
- }
-
- filterRole: "name"
- sortColumn: 0
- sortRole: "name"
- sortOrder: Qt.AscendingOrder
-
- // https://github.com/KDE/plasma-framework/blob/master/src/declarativeimports/core/datasource.h
- property var dataSource: PlasmaCore.DataSource {
- id: source
- engine: "apps"
- connectedSources: {
- // Explude folder
- var result = []
- for (var i = 0; i < sources.length; i++) {
- if (sources[i].indexOf(".desktop") !== -1) {
- result.push(sources[i])
- }
- }
- return result
- }
- interval: 0
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/ui/components/BaseSensorGraph.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/ui/components/BaseSensorGraph.qml
deleted file mode 100644
index be434d3..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/ui/components/BaseSensorGraph.qml
+++ /dev/null
@@ -1,52 +0,0 @@
-import QtQuick 2.9
-
-import org.kde.quickcharts 1.0 as Charts
-
-import "./" as RMComponents
-
-Charts.LineChart {
- id: chart
-
- signal dataTick()
- signal showValueWhenMouseMove()
-
- // Aliases
- readonly property alias textContainer: textContainer
- property alias label: textContainer.label
- property alias labelColor: textContainer.labelColor
- property alias secondLabel: textContainer.secondLabel
- property alias secondLabelColor: textContainer.secondLabelColor
- readonly property alias firstLineLabel: textContainer.firstLineLabel
- readonly property alias secondLineLabel: textContainer.secondLineLabel
-
- // Graph properties
- readonly property int historyAmount: plasmoid.configuration.historyAmount
- readonly property int interval: plasmoid.configuration.updateInterval * 1000
- property var colors: [theme.highlightColor, theme.textColor]
-
- // Text properties
- property bool secondLabelWhenZero: true
-
- // Graph content
- direction: Charts.XYChart.ZeroAtEnd
- colorSource: Charts.ArraySource { array: colors }
- fillOpacity: plasmoid.configuration.graphFillOpacity / 100
- smooth: true
- yRange.automatic: false
-
- // Labels
- RMComponents.GraphText {
- id: textContainer
- anchors.fill: parent
-
- onShowValueInLabel: _showValueInLabel()
- }
-
- function canSeeValue(column) {
- return textContainer.valueVisible
- }
-
- function _showValueInLabel() {
- chart.showValueWhenMouseMove()
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/ui/components/GraphText.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/ui/components/GraphText.qml
deleted file mode 100644
index 0332417..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/ui/components/GraphText.qml
+++ /dev/null
@@ -1,207 +0,0 @@
-import QtQuick 2.9
-import QtGraphicalEffects 1.0
-import org.kde.plasma.plasmoid 2.0
-import org.kde.plasma.components 2.0 as PlasmaComponents
-
-Item {
- id: graphText
- readonly property alias firstLineLabel: firstLineLabel
- readonly property alias secondLineLabel: secondLineLabel
-
- property color textColor: theme.textColor
- property string label: ''
- property color labelColor: theme.highlightColor
- property string secondLabel: ''
- property color secondLabelColor: theme.textColor
-
- property bool enableShadows: plasmoid.configuration.enableShadows
- property string placement: plasmoid.configuration.placement // Values: top-right, top-left, bottom-right, bottom-left
- property string displayment: plasmoid.configuration.displayment // Values: always, hover, hover-hints
-
- property bool valueVisible: false
-
- signal showValueInLabel()
-
- onDisplaymentChanged: {
- switch (displayment) {
- case 'always':
- case 'hover-hints':
- firstLineLabel.color = secondLineLabel.color = textColor
- showValueInLabel()
- valueVisible = true
- break
-
- case 'hover':
- firstLineLabel.visible = secondLineLabel.visible = false
-
- valueVisible = mouseArea.containsMouse
- break
-
- case 'always-hints':
- valueVisible = false
-
- firstLineLabel.text = label
- firstLineLabel.color = labelColor
-
- secondLineLabel.text = secondLabel
- secondLineLabel.color = secondLabelColor
- secondLineLabel.visible = secondLineLabel.text != ''
- break
- }
- }
-
- // Labels
- Column {
- id: textContainer
- width: parent.width
- state: placement
-
- // First line
- PlasmaComponents.Label {
- id: firstLineLabel
- width: parent.width
- height: contentHeight
-
- text: label
- color: labelColor
-
- font.pointSize: -1
- }
- PlasmaComponents.Label {
- id: secondLineLabel
- width: parent.width
- height: contentHeight
- property string lastValue: ''
-
- text: secondLabel
- color: secondLabelColor
-
- font.pointSize: -1
- visible: secondLabel != ''
- }
-
- // States
- states: [
- State {
- name: 'top-left'
- AnchorChanges {
- target: textContainer
- anchors.top: parent.top
- }
-
- PropertyChanges {
- target: firstLineLabel
- horizontalAlignment: Text.AlignLeft
- }
- PropertyChanges {
- target: secondLineLabel
- horizontalAlignment: Text.AlignLeft
- }
- },
- State {
- name: 'top-right'
- AnchorChanges {
- target: textContainer
- anchors.top: parent.top
- }
-
- PropertyChanges {
- target: firstLineLabel
- horizontalAlignment: Text.AlignRight
- }
- PropertyChanges {
- target: secondLineLabel
- horizontalAlignment: Text.AlignRight
- }
- },
-
- State {
- name: 'bottom-left'
- AnchorChanges {
- target: textContainer
- anchors.bottom: parent.bottom
- }
-
- PropertyChanges {
- target: firstLineLabel
- horizontalAlignment: Text.AlignLeft
- }
- PropertyChanges {
- target: secondLineLabel
- horizontalAlignment: Text.AlignLeft
- }
- },
- State {
- name: 'bottom-right'
- AnchorChanges {
- target: textContainer
- anchors.bottom: parent.bottom
- }
-
- PropertyChanges {
- target: firstLineLabel
- horizontalAlignment: Text.AlignRight
- }
- PropertyChanges {
- target: secondLineLabel
- horizontalAlignment: Text.AlignRight
- }
- }
- ]
- }
-
- DropShadow {
- visible: enableShadows
- anchors.fill: textContainer
- radius: 1
- spread: 1
- fast: true
- color: theme.backgroundColor
- source: textContainer
- }
-
- // Action
- MouseArea {
- id: mouseArea
- anchors.fill: parent
- acceptedButtons: Qt.NoButton
- hoverEnabled: displayment !== 'always'
-
- onEntered: {
- switch (displayment) {
- case 'hover':
- valueVisible = true
-
- firstLineLabel.visible = true
- secondLineLabel.visible = secondLineLabel.text != ''
- break
- case 'hover-hints':
- valueVisible = false
-
- firstLineLabel.text = label
- firstLineLabel.color = labelColor
- firstLineLabel.visible = true
-
- secondLineLabel.text = secondLabel
- secondLineLabel.color = secondLabelColor
- secondLineLabel.visible = secondLineLabel.text != ''
- break
- }
- }
-
- onExited: {
- switch (displayment) {
- case 'hover':
- valueVisible = false
-
- firstLineLabel.visible = secondLineLabel.visible = false
- break
- case 'hover-hints':
- firstLineLabel.color = secondLineLabel.color = textColor
- showValueInLabel()
- valueVisible = true
- break
- }
- }
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/ui/components/NetworkGraph.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/ui/components/NetworkGraph.qml
deleted file mode 100644
index 350cd44..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/ui/components/NetworkGraph.qml
+++ /dev/null
@@ -1,243 +0,0 @@
-import QtQuick 2.9
-import QtGraphicalEffects 1.0
-import org.kde.plasma.plasmoid 2.0
-import org.kde.plasma.components 2.0 as PlasmaComponents
-
-import org.kde.ksysguard.sensors 1.0 as Sensors
-import org.kde.ksysguard.faces 1.0 as Faces
-import org.kde.quickcharts 1.0 as Charts
-
-import "./" as RMComponents
-import "./functions.js" as Functions
-
-Item {
- id: chart
-
- signal dataTick()
- signal showValueWhenMouseMove()
-
- // Aliases
- readonly property alias textContainer: textContainer
- property alias label: textContainer.label
- property alias labelColor: textContainer.labelColor
- property alias secondLabel: textContainer.secondLabel
- property alias secondLabelColor: textContainer.secondLabelColor
- readonly property alias firstLineLabel: textContainer.firstLineLabel
- readonly property alias secondLineLabel: textContainer.secondLineLabel
-
- // Graph properties
- readonly property int historyAmount: plasmoid.configuration.historyAmount
- readonly property int interval: plasmoid.configuration.updateInterval * 1000
- property var colors: [theme.highlightColor, theme.textColor]
- property var ignoredNetworkInterfaces: plasmoid.configuration.ignoredNetworkInterfaces
- property var dialect: Functions.getNetworkDialectInfo(plasmoid.configuration.networkUnit)
- property double networkReceivingTotal: plasmoid.configuration.networkReceivingTotal
- property double networkSendingTotal: plasmoid.configuration.networkSendingTotal
-
- // Text properties
- property bool secondLabelWhenZero: true
-
- // Bind properties
- onIgnoredNetworkInterfacesChanged: sensorsModel._updateSensors()
-
- onNetworkReceivingTotalChanged: {
- downloadChart.yRange.to = networkReceivingTotal * dialect.multiplier
- }
- onNetworkSendingTotalChanged: {
- uploadChart.yRange.to = networkSendingTotal * dialect.multiplier
- }
-
- onIntervalChanged: {
- downloadHistory.clear()
- uploadHistory.clear()
- }
-
- // Graphs
- Charts.LineChart {
- id: uploadChart
- anchors.fill: parent
-
- direction: Charts.XYChart.ZeroAtEnd
- fillOpacity: plasmoid.configuration.graphFillOpacity / 100
- smooth: true
-
- yRange {
- from: 0
- to: 100000
- automatic: false
- }
-
- colorSource: Charts.SingleValueSource { value: colors[1] }
- valueSources: [
- Charts.HistoryProxySource {
- id: uploadHistory
-
- source: Charts.SingleValueSource {
- id: uploadSpeed
- }
- interval: chart.visible ? chart.interval : 0
- maximumHistory: chart.interval > 0 ? (chart.historyAmount * 1000) / chart.interval : 0
- fillMode: Charts.HistoryProxySource.FillFromStart
-
- onDataChanged: _dataTick()
- }
- ]
- }
- Charts.LineChart {
- id: downloadChart
- anchors.fill: parent
-
- direction: Charts.XYChart.ZeroAtEnd
- fillOpacity: plasmoid.configuration.graphFillOpacity / 100
- smooth: true
-
- yRange {
- from: 0
- to: 100000
- automatic: false
- }
-
- colorSource: Charts.SingleValueSource { value: colors[0] }
- valueSources: [
- Charts.HistoryProxySource {
- id: downloadHistory
-
- source: Charts.SingleValueSource {
- id: downloadSpeed
- }
- interval: chart.visible ? chart.interval : 0
- maximumHistory: chart.interval > 0 ? (chart.historyAmount * 1000) / chart.interval : 0
- fillMode: Charts.HistoryProxySource.FillFromStart
- }
- ]
- }
-
- // Labels
- RMComponents.GraphText {
- id: textContainer
- anchors.fill: parent
-
- onShowValueInLabel: _showValueInLabel()
- }
-
- // Graph data
- RMComponents.NetworkInterfaceDetector {
- id: networkInterfaces
- onModelChanged: sensorsModel._updateSensors()
- }
-
- Sensors.SensorDataModel {
- id: sensorsModel
- updateRateLimit: chart.interval
- enabled: chart.visible
-
- function getData(column) {
- if (!hasIndex(0, column)) {
- return 0
- }
- var value = data(index(0, column), Sensors.SensorDataModel.Value)
- if (typeof value === "undefined") {
- return 0
- }
- return value
- }
-
- function _updateSensors() {
- if (!chart.visible) {
- return
- }
-
- var sensors = []
- for (var i = 0; i < networkInterfaces.model.count; i++) {
- var name = networkInterfaces.model.get(i).name
-
- if (ignoredNetworkInterfaces.indexOf(name) === -1) {
- sensors.push("network/" + name + "/download")
- sensors.push("network/" + name + "/upload")
- }
- }
-
- sensorsModel.sensors = sensors
- }
- }
- onVisibleChanged: sensorsModel._updateSensors()
-
- function _dataTick() {
- var sensorsLength = sensorsModel.sensors.length
-
- // Emit signal
- chart.dataTick()
-
- // Set default text when doesn't have sensors
- if (sensorsLength === 0) {
- if (canSeeValue(0)) {
- firstLineLabel.text = '...'
- firstLineLabel.visible = true
- }
- if (canSeeValue(1)) {
- secondLineLabel.text = '...'
- secondLineLabel.visible = secondLabelWhenZero
- }
- return
- }
-
- // Calculate total download
- var downloadValue = 0, uploadValue = 0
- for (var i = 0; i < sensorsLength; i++) {
- if (sensorsModel.sensors[i].indexOf('/download') !== -1) {
- downloadValue += sensorsModel.getData(i)
- } else {
- uploadValue += sensorsModel.getData(i)
- }
- }
-
- // Fix dialect
- downloadValue *= dialect.KiBDiff
- uploadValue *= dialect.KiBDiff
-
- // Update values
- downloadSpeed.value = downloadValue
- uploadSpeed.value = uploadValue
-
- // Update labels
- if (canSeeValue(0)) {
- firstLineLabel.text = formatLabel(downloadValue)
- firstLineLabel.visible = true
- }
- if (canSeeValue(1)) {
- secondLineLabel.text = formatLabel(uploadValue)
- secondLineLabel.visible = uploadValue !== 0 || secondLabelWhenZero
- }
- }
-
- // Utils functions
- function canSeeValue(column) {
- return textContainer.valueVisible
- }
-
- function formatLabel(value) {
- return Functions.formatByteValue(value, dialect)
- }
-
- function _showValueInLabel() {
- // Show first line
- var data = downloadSpeed.value
- if (typeof data === 'number') {
- firstLineLabel.text = formatLabel(data)
- firstLineLabel.visible = true
- } else {
- firstLineLabel.visible = false
- }
-
- // Show second line
- data = uploadSpeed.value
- if (typeof data === 'number') {
- secondLineLabel.text = formatLabel(data)
- secondLineLabel.visible = data !== 0 || secondLabelWhenZero
- } else {
- secondLineLabel.visible = false
- }
-
- chart.showValueWhenMouseMove()
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/ui/components/NetworkInterfaceDetector.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/ui/components/NetworkInterfaceDetector.qml
deleted file mode 100644
index 02c3803..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/ui/components/NetworkInterfaceDetector.qml
+++ /dev/null
@@ -1,39 +0,0 @@
-import QtQuick 2.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-
-QtObject {
- id: detector
-
- // https://github.com/KDE/plasma-framework/blob/master/src/declarativeimports/core/datasource.h
- property var dataSource: PlasmaCore.DataSource {
- id: dataSource
- engine: "executable"
- connectedSources: []
-
- property var excludedInterface: /^(?!lo|bridge|usbus|bond)(.*)$/
-
- onNewData: {
- var interfaces = data["stdout"].trim().split('\n')
-
- for(var i = 0; i < interfaces.length; i++) {
- if (excludedInterface.test(interfaces[i])) {
- privateModel.append({
- name: interfaces[i]
- })
- }
- }
- detector.model = privateModel
- disconnectSource(sourceName) // cmd finished
- }
-
- Component.onCompleted: {
- connectSource("ip -o link show | awk -F': ' '{print $2}'")
- }
- }
-
- property var privateModel: ListModel {
- id: privateModel
- }
-
- property var model: []
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/ui/components/SensorGraph.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/ui/components/SensorGraph.qml
deleted file mode 100644
index ce77218..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/ui/components/SensorGraph.qml
+++ /dev/null
@@ -1,133 +0,0 @@
-import QtQuick 2.9
-import QtGraphicalEffects 1.0
-import org.kde.plasma.plasmoid 2.0
-import org.kde.plasma.components 2.0 as PlasmaComponents
-
-import org.kde.ksysguard.sensors 1.0 as Sensors
-import org.kde.ksysguard.formatter 1.0 as Formatter
-import org.kde.quickcharts 1.0 as Charts
-
-import "./" as RMComponents
-
-RMComponents.BaseSensorGraph {
- id: chart
-
- readonly property alias sensorsModel: sensorsModel
- property var sensors: []
-
- property bool customFormatter: false
- property var lastRun: -1
-
- Sensors.SensorDataModel {
- id: sensorsModel
- updateRateLimit: chart.interval
- enabled: chart.visible
-
- function getData(column = 0, role = Sensors.SensorDataModel.FormattedValue) {
- if (!hasIndex(0, column)) {
- return undefined
- }
-
- var indexVar = index(0, column)
- if(role === Sensors.SensorDataModel.FormattedValue) {
- var value = data(indexVar, Sensors.SensorDataModel.Value)
-
- return customFormatter ? formatLabel(value)
- : Formatter.Formatter.formatValueShowNull(value, data(indexVar, Sensors.SensorDataModel.Unit))
- }
- return data(indexVar, role)
- }
- function _setSensors(sensors) {
- if (chart.visible && sensors.length > 0) {
- sensorsModel.sensors = sensors
- }
- }
- }
- onSensorsChanged: sensorsModel._setSensors(sensors)
- onVisibleChanged: sensorsModel._setSensors(sensors)
-
- Instantiator {
- model: sensorsModel.sensors
- active: chart.visible
- delegate: Charts.HistoryProxySource {
- id: history
-
- source: Charts.ModelSource {
- model: sensorsModel
- column: index
- roleName: "Value"
- }
-
- interval: chart.visible ? chart.interval : 0
- maximumHistory: interval > 0 ? (chart.historyAmount * 1000) / interval : 0
- fillMode: Charts.HistoryProxySource.FillFromStart
-
- onDataChanged: {
- // Skip when value is not visible
- if (canSeeValue(index)) {
- var value = sensorsModel.getData(index)
-
- // Update albel
- if (index === 0) { // is first line
- if (typeof value === 'undefined') {
- firstLineLabel.text = '...'
- } else {
- firstLineLabel.text = value
- }
- } else if (index === 1) { // is second line
- if (typeof value === 'undefined') {
- secondLineLabel.text = '...'
- secondLineLabel.visible = secondLabelWhenZero
- } else {
- secondLineLabel.text = value
- secondLineLabel.visible = sensorsModel.getData(index, Sensors.SensorDataModel.Value) !== 0
- || secondLabelWhenZero
- }
- }
- }
-
- // Call data tick
- var now = Date.now()
- if (now - lastRun >= chart.interval) {
- lastRun = now
- chart.dataTick()
- }
- }
-
- property var connection: Connections {
- target: chart
- function onIntervalChanged() {
- history.clear()
- }
- }
- }
- onObjectAdded: {
- chart.insertValueSource(index, object)
- }
- onObjectRemoved: {
- chart.removeValueSource(object)
- }
- }
-
- function _showValueInLabel() {
- // Show first line
- var data = sensorsModel.getData(0)
- if (typeof data !== "undefined") {
- firstLineLabel.text = data
- } else {
- firstLineLabel.text = '...'
- }
-
- // Show second line
- data = sensorsModel.getData(1)
- if (typeof data !== "undefined") {
- secondLineLabel.text = data
- secondLineLabel.visible = sensorsModel.getData(1, Sensors.SensorDataModel.Value) !== 0 || secondLabelWhenZero
- } else {
- secondLineLabel.text = '...'
- secondLineLabel.visible = secondLabelWhenZero
- }
-
- chart.showValueWhenMouseMove()
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/ui/components/functions.js b/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/ui/components/functions.js
deleted file mode 100644
index 6185791..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/ui/components/functions.js
+++ /dev/null
@@ -1,89 +0,0 @@
-/**
- * @typedef {object} BinaryUnit
- * @property {string} name The name
- * @property {string} suffix The suffix
- * @property {string} kiloChar The char for "kilo"
- * @property {number} KiBDiff The difference with `kibibyte`
- * @property {number} multiplier The multiplier amount (`1000` for metric and `1024` for binary)
- */
-
-/**
- * Get the usage int percent
- * @param {number} current The current usage
- * @param {number} max The maximum usage
- * @returns The percent of usage
- */
-function getPercentUsage(current, max) {
- var x = current / max;
- return isNaN(x) ? 0 : Math.min(x, 1);
-}
-
-/**
- * Get the binary unit from they name
- * @param {string} dialect The binary unit name
- * @returns {BinaryUnit} The binary unit
- */
-function getNetworkDialectInfo(dialect) {
- switch (dialect) {
- case "kilobyte":
- return {
- name: "kilobyte",
- suffix: i18nc("kilobyte suffix", "Bps"),
- kiloChar: "k",
- KiBDiff: 1.024,
- multiplier: 1000,
- };
- case "kilobit":
- return {
- name: "kilobit",
- suffix: i18nc("kilobit suffix", "bps"),
- kiloChar: "k",
- KiBDiff: 8.192,
- multiplier: 1000,
- };
- default:
- return {
- name: "kibibyte",
- suffix: i18nc("kibibyte suffix", "iB/s"),
- kiloChar: "K",
- KiBDiff: 1,
- multiplier: 1024,
- };
- }
-}
-
-/**
- * Convert value from bytes to the appropriate string representation using the binary unit dialect.
- *
- * @param {number} value The value in byte/bit
- * @param {BinaryUnit} dialect The binary unit standard to use
- * @param {number} [precision=1] Number of places after the decimal point to use.
- * @returns Converted value as a translated string including the units.
- */
-function formatByteValue(value, dialect, precision = 1) {
- if (value === 0 || isNaN(parseInt(value))) {
- return "0 " + dialect.suffix.replace("i", "");
- } else if (dialect.name === "kibibyte" && value <= dialect.multiplier) {
- return "0 " + dialect.suffix.replace("i", "");
- }
-
- var sizes = ["", dialect.kiloChar, "M", "G", "T", "P", "Z", "Y"];
-
- // Search unit conversion
- var unit = Math.floor(Math.log(value) / Math.log(dialect.multiplier));
-
- // Bytes/Bits, no rounding
- precision = precision < 0 ? 0 : precision;
- if (unit === 0) {
- precision = 0;
- }
-
- return (
- parseFloat(
- (value / Math.pow(dialect.multiplier, unit)).toFixed(precision)
- ) +
- " " +
- sizes[unit] +
- dialect.suffix
- );
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/ui/config/ConfigAppearance.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/ui/config/ConfigAppearance.qml
deleted file mode 100644
index 964c6e3..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/ui/config/ConfigAppearance.qml
+++ /dev/null
@@ -1,236 +0,0 @@
-import QtQuick 2.2
-import QtQuick.Controls 2.12 as QtControls
-import QtQuick.Layouts 1.1 as QtLayouts
-import org.kde.kirigami 2.6 as Kirigami
-import org.kde.plasma.components 2.0 as PlasmaComponents
-
-import "../controls" as RMControls
-
-QtLayouts.ColumnLayout {
- property alias cfg_verticalLayout: verticalLayout.checked
- property alias cfg_historyAmount: historyAmount.value
- property alias cfg_customGraphWidth: graphWidth.checked
- property alias cfg_graphWidth: graphWidth.value
- property alias cfg_customGraphHeight: graphHeight.checked
- property alias cfg_graphHeight: graphHeight.value
- property alias cfg_graphMargin: graphMargin.value
- property alias cfg_graphFillOpacity: graphFillOpacity.value
-
- property alias cfg_enableShadows: enableShadows.checked
- property alias cfg_fontScale: fontScale.value
- property string cfg_placement: ""
- property string cfg_displayment: ""
-
- property alias cfg_customCpuColor: cpuColor.checked
- property alias cfg_cpuColor: cpuColor.value
- property alias cfg_customRamColor: ramColor.checked
- property alias cfg_ramColor: ramColor.value
- property alias cfg_customSwapColor: swapColor.checked
- property alias cfg_swapColor: swapColor.value
- property alias cfg_customNetDownColor: netDownColor.checked
- property alias cfg_netDownColor: netDownColor.value
- property alias cfg_customNetUpColor: netUpColor.checked
- property alias cfg_netUpColor: netUpColor.value
-
- property color primaryColor: theme.highlightColor
- property color negativeColor: theme.negativeTextColor
-
-
- PlasmaComponents.TabBar {
- id: bar
-
- PlasmaComponents.TabButton {
- tab: graphPage
- text: i18n("Graph")
- }
- PlasmaComponents.TabButton {
- tab: textPage
- iconSource: "dialog-text-and-font"
- text: i18n("Text")
- }
- PlasmaComponents.TabButton {
- tab: colorsPage
- iconSource: "preferences-desktop-color"
- text: i18n("Colors")
- }
- }
-
- PlasmaComponents.TabGroup {
- QtLayouts.Layout.fillWidth: true
- QtLayouts.Layout.fillHeight: true
-
- // Graph
- Kirigami.FormLayout {
- id: graphPage
- wideMode: true
-
- QtControls.CheckBox {
- id: verticalLayout
- text: i18n("Vertical layout")
- }
-
- RMControls.SpinBox {
- id: historyAmount
- Kirigami.FormData.label: i18n("History amount:")
- QtLayouts.Layout.fillWidth: true
- from: 2
- }
-
- RMControls.CustomizableSize {
- id: graphWidth
- Kirigami.FormData.label: i18n("Width:")
- QtLayouts.Layout.fillWidth: true
- from: 1
- to: 1000
- }
- RMControls.CustomizableSize {
- id: graphHeight
- Kirigami.FormData.label: i18n("Height:")
- QtLayouts.Layout.fillWidth: true
- from: 1
- to: 1000
- }
- RMControls.SpinBox {
- id: graphMargin
- Kirigami.FormData.label: i18n("Margin:")
- QtLayouts.Layout.fillWidth: true
- from: 1
- to: 1000
-
- textFromValue: function(value, locale) {
- return valueToText(value, locale) + " px"
- }
- }
- RMControls.SpinBox {
- id: graphFillOpacity
- Kirigami.FormData.label: i18n("Fill opacity:")
- QtLayouts.Layout.fillWidth: true
- from: 1
- to: 100
-
- textFromValue: function(value, locale) {
- return valueToText(value, locale) + "%"
- }
- }
- }
-
- // Text
- Kirigami.FormLayout {
- id: textPage
- wideMode: true
-
- QtControls.CheckBox {
- id: enableShadows
- text: i18n("Drop shadows")
- }
-
- RMControls.SpinBox {
- id: fontScale
- Kirigami.FormData.label: i18n("Font scale:")
- QtLayouts.Layout.fillWidth: true
- from: 1
- to: 100
-
- textFromValue: function(value, locale) {
- return valueToText(value, locale) + "%"
- }
- }
-
- QtControls.ComboBox {
- id: displayment
- Kirigami.FormData.label: i18n("Text displayment:")
- textRole: "label"
- model: [{
- "label": i18n("Always"),
- "name": "always"
- }, {
- "label": i18n("On hover"),
- "name": "hover"
- }, {
- "label": i18n("Hints when hover"),
- "name": "hover-hints"
- }]
- onCurrentIndexChanged: cfg_displayment = model[currentIndex]["name"]
-
- Component.onCompleted: {
- for (var i = 0; i < model.length; i++) {
- if (model[i]["name"] === plasmoid.configuration.displayment) {
- displayment.currentIndex = i;
- }
- }
- }
- }
-
- QtControls.ComboBox {
- id: placement
- Kirigami.FormData.label: i18n("Placement:")
- textRole: "label"
- model: [{
- "label": i18n("Top left"),
- "name": "top-left"
- }, {
- "label": i18n("Top right"),
- "name": "top-right"
- }, {
- "label": i18n("Bottom left"),
- "name": "bottom-left"
- }, {
- "label": i18n("Bottom right"),
- "name": "bottom-right"
- }]
- onCurrentIndexChanged: cfg_placement = model[currentIndex]["name"]
-
- Component.onCompleted: {
- for (var i = 0; i < model.length; i++) {
- if (model[i]["name"] === plasmoid.configuration.placement) {
- placement.currentIndex = i;
- }
- }
- }
- }
- }
-
- // Colors
- Kirigami.FormLayout {
- id: colorsPage
-
- RMControls.ColorSelector {
- id: cpuColor
- Kirigami.FormData.label: i18n("CPU color:")
-
- dialogTitle: i18n("Choose CPU graph color")
- defaultColor: primaryColor
- }
-
- RMControls.ColorSelector {
- id: ramColor
- Kirigami.FormData.label: i18n("Memory color:")
-
- dialogTitle: i18n("Choose memory graph color")
- defaultColor: primaryColor
- }
- RMControls.ColorSelector {
- id: swapColor
- Kirigami.FormData.label: i18n("Swap color:")
-
- dialogTitle: i18n("Choose Swap graph color")
- defaultColor: negativeColor
- }
-
- RMControls.ColorSelector {
- id: netDownColor
- Kirigami.FormData.label: i18n("Network receiving color:")
-
- dialogTitle: i18n("Choose network receiving graph color")
- defaultColor: primaryColor
- }
- RMControls.ColorSelector {
- id: netUpColor
- Kirigami.FormData.label: i18n("Network sending color:")
-
- dialogTitle: i18n("Choose network sending graph color")
- defaultColor: negativeColor
- }
- }
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/ui/config/ConfigData.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/ui/config/ConfigData.qml
deleted file mode 100644
index a654164..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/ui/config/ConfigData.qml
+++ /dev/null
@@ -1,241 +0,0 @@
-import QtQuick 2.2
-import QtQuick.Controls 2.12 as QtControls
-import QtQuick.Layouts 1.1 as QtLayouts
-import org.kde.kirigami 2.6 as Kirigami
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.components 2.0 as PlasmaComponents
-
-import "../components" as RMComponents
-import "../controls" as RMControls
-import "../components/functions.js" as Functions
-
-QtLayouts.ColumnLayout {
- id: dataPage
-
- signal configurationChanged
-
- readonly property var networkDialect: Functions.getNetworkDialectInfo(plasmoid.configuration.networkUnit)
- property double cfg_networkReceivingTotal: 0.0
- property double cfg_networkSendingTotal: 0.0
-
- readonly property var networkSpeedOptions: [
- {
- label: i18n("Custom"),
- value: -1,
- }, {
- label: "100 " + networkDialect.kiloChar + networkDialect.suffix,
- value: 100.0,
- }, {
- label: "1 M" + networkDialect.suffix,
- value: 1000.0,
- }, {
- label: "10 M" + networkDialect.suffix,
- value: 10000.0,
- }, {
- label: "100 M" + networkDialect.suffix,
- value: 100000.0,
- }, {
- label: "1 G" + networkDialect.suffix,
- value: 1000000.0,
- }, {
- label: "2.5 G" + networkDialect.suffix,
- value: 2500000.0,
- }, {
- label: "5 G" + networkDialect.suffix,
- value: 5000000.0,
- }, {
- label: "10 G" + networkDialect.suffix,
- value: 10000000.0,
- }
- ]
-
- // Detect network interfaces
- RMComponents.NetworkInterfaceDetector {
- id: networkInterfaces
- }
-
- // Tab bar
- PlasmaComponents.TabBar {
- id: bar
-
- PlasmaComponents.TabButton {
- tab: networkPage
- iconSource: "preferences-system-network"
- text: i18n("Network")
- }
- }
-
- // Views
- PlasmaComponents.TabGroup {
- QtLayouts.Layout.fillWidth: true
- QtLayouts.Layout.fillHeight: true
-
- // Network
- Kirigami.FormLayout {
- id: networkPage
- wideMode: true
-
- // Network interfaces
- QtLayouts.GridLayout {
- Kirigami.FormData.label: i18n("Network interfaces:")
- QtLayouts.Layout.fillWidth: true
- columns: 2
- rowSpacing: Kirigami.Units.smallSpacing
- columnSpacing: Kirigami.Units.largeSpacing
-
- Repeater {
- model: networkInterfaces.model
- QtControls.CheckBox {
- readonly property string interfaceName: modelData
- readonly property bool ignoredByDefault: {
- return /^(docker|tun|tap)(\d+)/.test(interfaceName) // Ignore docker and tun/tap networks
- }
-
- text: interfaceName
- checked: plasmoid.configuration.ignoredNetworkInterfaces.indexOf(interfaceName) == -1 && !ignoredByDefault
- enabled: !ignoredByDefault
-
- onClicked: {
- var ignoredNetworkInterfaces = plasmoid.configuration.ignoredNetworkInterfaces.slice(0) // copy()
- if (checked) {
- // Checking, and thus removing from the ignoredNetworkInterfaces
- var i = ignoredNetworkInterfaces.indexOf(interfaceName)
- ignoredNetworkInterfaces.splice(i, 1)
- } else {
- // Unchecking, and thus adding to the ignoredNetworkInterfaces
- ignoredNetworkInterfaces.push(interfaceName)
- }
-
- plasmoid.configuration.ignoredNetworkInterfaces = ignoredNetworkInterfaces
- // To modify a StringList we need to manually trigger configurationChanged.
- dataPage.configurationChanged()
- }
- }
- }
- }
-
- // Separator
- Rectangle {
- height: Kirigami.Units.largeSpacing * 2
- color: "transparent"
- }
-
- PlasmaComponents.Label {
- text: i18n("Maximum transfer speed")
- font.pointSize: PlasmaCore.Theme.defaultFont.pointSize * 1.2
- }
-
- // Separator
- Rectangle {
- height: Kirigami.Units.largeSpacing
- color: "transparent"
- }
-
- // Receiving speed
- QtControls.ComboBox {
- id: networkReceivingTotal
- Kirigami.FormData.label: i18n("Receiving:")
- textRole: "label"
- model: networkSpeedOptions
-
- onCurrentIndexChanged: {
- var current = model[currentIndex]
- if (current && current.value !== -1) {
- customNetworkReceivingTotal.valueReal = current.value / 1000
- }
- }
-
- Component.onCompleted: {
- for (var i = 0; i < model.length; i++) {
- if (model[i]["value"] === plasmoid.configuration.networkReceivingTotal) {
- networkReceivingTotal.currentIndex = i;
- return
- }
- }
-
- networkReceivingTotal.currentIndex = 0 // Custom
- }
- }
- RMControls.SpinBox {
- id: customNetworkReceivingTotal
- Kirigami.FormData.label: i18n("Custom value:")
- QtLayouts.Layout.fillWidth: true
- decimals: 3
- stepSize: 1
- minimumValue: 0.001
- visible: networkReceivingTotal.currentIndex === 0
-
- textFromValue: function(value, locale) {
- return valueToText(value, locale) + " M" + networkDialect.suffix
- }
-
- onValueChanged: {
- var newValue = valueReal * 1000
- if (cfg_networkReceivingTotal !== newValue) {
- cfg_networkReceivingTotal = newValue
- dataPage.configurationChanged()
- }
- }
- Component.onCompleted: {
- valueReal = parseFloat(plasmoid.configuration.networkReceivingTotal) / 1000
- }
- }
-
- // Separator
- Rectangle {
- height: Kirigami.Units.largeSpacing
- color: "transparent"
- }
-
- // Sending speed
- QtControls.ComboBox {
- id: networkSendingTotal
- Kirigami.FormData.label: i18n("Sending:")
- textRole: "label"
- model: networkSpeedOptions
-
- onCurrentIndexChanged: {
- var current = model[currentIndex]
- if (current && current.value !== -1) {
- customNetworkSendingTotal.valueReal = current.value / 1000
- }
- }
-
- Component.onCompleted: {
- for (var i = 0; i < model.length; i++) {
- if (model[i]["value"] === plasmoid.configuration.networkSendingTotal) {
- networkSendingTotal.currentIndex = i;
- return
- }
- }
-
- networkSendingTotal.currentIndex = 0 // Custom
- }
- }
- RMControls.SpinBox {
- id: customNetworkSendingTotal
- Kirigami.FormData.label: i18n("Custom value:")
- QtLayouts.Layout.fillWidth: true
- decimals: 3
- stepSize: 1
- minimumValue: 0.001
- visible: networkSendingTotal.currentIndex === 0
-
- textFromValue: function(value, locale) {
- return valueToText(value, locale) + " M" + networkDialect.suffix
- }
-
- onValueChanged: {
- var newValue = valueReal * 1000
- if (cfg_networkSendingTotal !== newValue) {
- cfg_networkSendingTotal = newValue
- dataPage.configurationChanged()
- }
- }
- Component.onCompleted: {
- valueReal = parseFloat(plasmoid.configuration.networkSendingTotal) / 1000
- }
- }
- }
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/ui/config/ConfigGeneral.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/ui/config/ConfigGeneral.qml
deleted file mode 100644
index 6c32778..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/ui/config/ConfigGeneral.qml
+++ /dev/null
@@ -1,290 +0,0 @@
-import QtQuick 2.2
-import QtQuick.Controls 2.12 as QtControls
-import QtQuick.Layouts 1.1 as QtLayouts
-import org.kde.kirigami 2.6 as Kirigami
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.components 2.0 as PlasmaComponents
-import org.kde.plasma.extras 2.0 as PlasmaExtras
-
-import "../components" as RMComponents
-import "../controls" as RMControls
-
-QtLayouts.ColumnLayout {
- id: page
-
- signal configurationChanged
-
- property alias cfg_updateInterval: updateInterval.valueReal
- property string cfg_networkUnit: plasmoid.configuration.networkUnit
- property string cfg_actionService: plasmoid.configuration.actionService
-
- property alias cfg_showCpuMonitor: showCpuMonitor.checked
- property alias cfg_showClock: showClock.checked
- property alias cfg_showRamMonitor: showRamMonitor.checked
- property alias cfg_memoryInPercent: memoryInPercent.checked
- property alias cfg_memorySwapGraph: memorySwapGraph.checked
- property bool cfg_showNetMonitor: plasmoid.configuration.showNetMonitor.checked
-
- // Apps model
- RMComponents.AppsDetector {
- id: appsModel
-
- filterString: appsFilter.text
- filterCallback: function (index, value) {
- var search = filterString.toLowerCase()
- if (search.length === 0) {
- return true
- }
-
- if (value.toLowerCase().indexOf(search) !== -1) {
- return true
- }
- if (sourceModel.get(index).menuId.replace(".desktop", "").toLowerCase().indexOf(search) !== -1) {
- return true
- }
- return false
- }
-
- onFilterStringChanged: appsList.updateCurrentIndex()
- }
-
- // Tab bar
- PlasmaComponents.TabBar {
- id: bar
-
- PlasmaComponents.TabButton {
- tab: generalPage
- iconSource: "preferences-system-windows"
- text: i18n("General")
- }
- PlasmaComponents.TabButton {
- tab: clickPage
- iconSource: "input-mouse-click-left"
- text: i18n("Click action")
- }
- }
-
- // Views
- PlasmaComponents.TabGroup {
- QtLayouts.Layout.fillWidth: true
- QtLayouts.Layout.fillHeight: true
-
- // General
- QtLayouts.ColumnLayout {
- id: generalPage
- spacing: Kirigami.Units.largeSpacing
-
- Kirigami.FormLayout {
- wideMode: true
-
- RMControls.SpinBox {
- id: updateInterval
- Kirigami.FormData.label: i18n("Update interval:")
- QtLayouts.Layout.fillWidth: true
-
- decimals: 1
- minimumValue: 0.1
- maximumValue: 3600.0
- stepSize: Math.round(0.1 * factor)
-
- textFromValue: function(value, locale) {
- return i18n("%1 seconds", valueToText(value, locale))
- }
- }
-
- // Separator
- Rectangle {
- height: Kirigami.Units.largeSpacing * 2
- color: "transparent"
- }
-
- // Charts
- PlasmaComponents.Label {
- text: i18n("Charts")
- font.pointSize: PlasmaCore.Theme.defaultFont.pointSize * 1.2
- }
-
- QtLayouts.GridLayout {
- QtLayouts.Layout.fillWidth: true
- columns: 2
- rowSpacing: Kirigami.Units.smallSpacing
- columnSpacing: Kirigami.Units.largeSpacing
-
- // CPU
- QtControls.CheckBox {
- id: showCpuMonitor
- text: i18n("Show CPU monitor")
- }
- QtControls.CheckBox {
- id: showClock
- text: i18n("Show CPU clock")
- enabled: showCpuMonitor.checked
- }
-
- // Memory
- QtControls.CheckBox {
- id: showRamMonitor
- text: i18n("Show memory monitor")
- }
- QtControls.CheckBox {
- id: memoryInPercent
- text: i18n("Memory in percentage")
- enabled: showRamMonitor.checked
- }
- QtControls.CheckBox {
- id: memorySwapGraph
- text: i18n("Display memory swap graph")
- }
- }
-
- // Separator
- Rectangle {
- height: Kirigami.Units.largeSpacing
- color: "transparent"
- }
-
- // Network
- QtControls.ComboBox {
- QtLayouts.Layout.fillWidth: true
- Kirigami.FormData.label: i18n("Network visibility:")
- textRole: "label"
- model: [
- {
- label: i18n("Disabled"),
- value: "none"
- }, {
- label: i18n("In kibibyte (KiB/s)"),
- value: "kibibyte"
- }, {
- label: i18n("In kilobit (Kbps)"),
- value: "kilobit"
- }, {
- label: i18n("In kilobyte (KBps)"),
- value: "kilobyte"
- }
- ]
-
- onCurrentIndexChanged: {
- var current = model[currentIndex]
- if (current) {
- if (current.value === "none") {
- cfg_showNetMonitor = false
- page.configurationChanged()
- } else {
- cfg_showNetMonitor = true
- cfg_networkUnit = current.value
- page.configurationChanged()
- }
- }
- }
-
- Component.onCompleted: {
- if (!plasmoid.configuration.showNetMonitor) {
- currentIndex = 0
- } else {
- for (var i = 0; i < model.length; i++) {
- if (model[i]["value"] === plasmoid.configuration.networkUnit) {
- currentIndex = i
- return
- }
- }
- }
- }
- }
- }
-
- Item {
- QtLayouts.Layout.fillWidth: true
- QtLayouts.Layout.fillHeight: true
- }
- }
-
- // Click action
- QtLayouts.ColumnLayout {
- id: clickPage
- spacing: Kirigami.Units.largeSpacing
-
- Kirigami.FormLayout {
- wideMode: true
-
- QtControls.TextField {
- id: appsFilter
- Kirigami.FormData.label: i18n("Search an application:")
- QtLayouts.Layout.fillWidth: true
- placeholderText: i18n("Application name")
- inputMethodHints: Qt.ImhNoPredictiveText
- }
- }
-
- // Apps list
- PlasmaComponents.Label {
- text: i18n("Applications")
- font.pointSize: PlasmaCore.Theme.defaultFont.pointSize * 1.2
- }
-
- Item {
- QtLayouts.Layout.fillWidth: true
- QtLayouts.Layout.fillHeight: true
-
- Rectangle {
- anchors.fill: parent
- color: theme.headerBackgroundColor
- border.color: theme.complementaryBackgroundColor
- border.width: 1
- radius: 4
- }
-
- PlasmaExtras.ScrollArea {
- anchors.fill: parent
- anchors.margins: 10
- anchors.rightMargin: 5
-
- ListView {
- id: appsList
-
- model: appsModel
- clip: true
- interactive: true
-
- highlight: PlasmaComponents.Highlight {
- }
- highlightMoveDuration: 0
- highlightMoveVelocity: -1
-
- delegate: RMComponents.ApplicationDelegateItem {
- width: root.width
-
- serviceName: model.menuId.replace(".desktop", "")
- name: model.name
- comment: model.comment
- iconName: model.iconName
- selected: ListView.isCurrentItem
-
- onClicked: {
- appsList.currentIndex = index
-
- var oldValue = cfg_actionService
- cfg_actionService = serviceName
- if (cfg_actionService !== oldValue) {
- page.configurationChanged()
- }
- }
- }
-
- Component.onCompleted: updateCurrentIndex()
-
- function updateCurrentIndex() {
- for (var i = 0; i < model.count; i++) {
- if (model.get(i).menuId === cfg_actionService + ".desktop") {
- currentIndex = i
- return
- }
- }
- currentIndex = -1
- }
- }
- }
- }
- }
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/ui/controls/ColorSelector.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/ui/controls/ColorSelector.qml
deleted file mode 100644
index aa8289b..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/ui/controls/ColorSelector.qml
+++ /dev/null
@@ -1,43 +0,0 @@
-import QtQuick 2.2
-import QtQuick.Controls 2.12
-import QtQuick.Layouts 1.1
-import QtQuick.Dialogs 1.0
-
-RowLayout {
- id: colorSelector
-
- // Aliases
- property alias value: colorPicker.currentColor
- property alias checked: customized.checked
-
- // Properties
- property string label
- property string dialogTitle
- property color defaultColor
-
- // Components
- ColorDialog {
- id: colorPicker
- title: dialogTitle
- }
-
- CheckBox {
- id: customized
-
- Accessible.name: ToolTip.text
- ToolTip {
- text: i18n("Check for use customized color")
- }
- }
- Button {
- onClicked: colorPicker.open()
- enabled: customized.checked
-
- height: customized.height
- implicitWidth: height * 2
- background: Rectangle {
- color: customized.checked ? colorPicker.currentColor : defaultColor
- radius: 2
- }
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/ui/controls/CustomizableSize.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/ui/controls/CustomizableSize.qml
deleted file mode 100644
index d74ea9c..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/ui/controls/CustomizableSize.qml
+++ /dev/null
@@ -1,37 +0,0 @@
-import QtQuick 2.2
-import QtQuick.Controls 2.12 as QtControls
-import QtQuick.Layouts 1.1 as QtLayouts
-
-import "./" as RMControls
-
-QtLayouts.RowLayout {
- id: customizableSize
-
- // Aliases
- property alias value: spinBox.value
- property alias checked: customized.checked
-
- property alias from: spinBox.from
- property alias to: spinBox.to
- property alias stepSize: spinBox.stepSize
-
- // Components
- QtControls.CheckBox {
- id: customized
-
- Accessible.name: QtControls.ToolTip.text
- QtControls.ToolTip {
- text: i18n("Check for use customized graph width")
- }
- }
- RMControls.SpinBox {
- id: spinBox
-
- enabled: customized.checked
- QtLayouts.Layout.fillWidth: true
-
- textFromValue: function(value, locale) {
- return valueToText(value, locale) + " px"
- }
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/ui/controls/SpinBox.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/ui/controls/SpinBox.qml
deleted file mode 100644
index 40fcbf9..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/ui/controls/SpinBox.qml
+++ /dev/null
@@ -1,171 +0,0 @@
-/**
- * Example:
-import "./components/controls" as RMControls
-// Integer
-RMControls.SpinBox {
- from: 0
- to: 1000
- stepSize: 5
-
- textFromValue: function(value, locale) {
- return valueToText(value, locale) + " px"
- }
-}
-// Double
-RMControls.SpinBox {
- decimals: 3
- minimumValue: 0.0
- maximumValue: 1000.0
- stepSize: Math.round(0.5 * factor)
-
- textFromValue: function(value, locale) {
- return valueToText(value, locale) + " m"
- }
-}
- */
-import QtQuick 2.0
-import QtQuick.Controls 2.0 as QQC2
-
-QQC2.SpinBox {
- id: spinBox
-
- editable: true
-
- readonly property real factor: Math.pow(10, decimals)
- property real valueReal: value / factor
- value: Math.round(valueReal * factor)
-
- readonly property int spinBox_MININT: Math.ceil(-2147483648 / factor)
- readonly property int spinBox_MAXINT: Math.floor(2147483647 / factor)
- from: Math.round(minimumValue * factor)
- to: Math.round(maximumValue * factor)
-
- onValueChanged: {
- valueReal = value / factor
- }
-
- // Reimplement QQC1 properties
- // https://github.com/qt/qtquickcontrols/blob/dev/src/controls/SpinBox.qml
- property int decimals: 0
- property real minimumValue: 0
- property real maximumValue: spinBox_MAXINT
-
- validator: DoubleValidator {
- locale: spinBox.locale.name
- bottom: minimumValue
- top: maximumValue
- }
-
- textFromValue: valueToText
- valueFromText: function(text, locale) {
- var text2 = text
- .replace(/[^\-\.\d]/g, "") // Remove non digit characters
- .replace(/\.+/g, ".") // Allow user to type "." instead of RightArrow to enter to decimals
- return Number.fromLocaleString(locale, text2) * factor
- }
-
- function valueToText(value, locale) {
- // "toLocaleString" has no concept of "the minimum amount of
- // digits to represent this number", so we need to calculate this
- // manually. This ensures that things like "0" and "10" will be
- // displayed without any decimals, while things like "2.2" and
- // "3.87" will be displayed with the right number of decimals.
-
- let realValue = Number(value / factor)
- return realValue.toLocaleString(locale, 'f', countDecimals(realValue))
- }
-
- // Select value on foucs
- onActiveFocusChanged: {
- if (activeFocus) {
- selectValue()
- }
- }
- function selectValue() {
- // Check if SpinBox.contentItem == TextInput
- // https://invent.kde.org/frameworks/qqc2-desktop-style/-/blob/master/org.kde.desktop/SpinBox.qml
- // https://doc.qt.io/qt-5/qml-qtquick-textinput.html#select-method
- if (contentItem && contentItem instanceof TextInput) {
- contentItem.selectAll()
- }
- }
-
- function fixMinus(str) {
- var minusIndex = str.indexOf("-")
- if (minusIndex >= 0) {
- var a = str.substr(0, minusIndex)
- var b = str.substr(minusIndex+1)
- return "-" + a + b
- } else {
- return str
- }
- }
- function fixDecimals(str) {
- var periodIndex = str.indexOf(".")
- var a = str.substr(0, periodIndex+1)
- var b = str.substr(periodIndex+1)
- return a + b.replace(/\.+/g, "") // Remove extra periods
- }
-
- function fixText(str) {
- return fixMinus(fixDecimals(str))
- }
-
- function countDecimals(value) {
- if(Math.floor(value) === value) return 0;
- return value.toString().split(".")[1].length || 0;
- }
-
- function onTextEdited() {
- var oldText = spinBox.contentItem.text
- oldText = fixText(oldText)
- var oldPeriodIndex = oldText.indexOf(".")
- if (oldPeriodIndex == -1) {
- oldPeriodIndex = oldText.length
- }
- var oldCursorPosition = spinBox.contentItem.cursorPosition
- var oldCursorDelta = oldPeriodIndex - oldCursorPosition
-
- spinBox.value = spinBox.valueFromText(oldText, spinBox.locale)
- spinBox.valueModified()
-
- var newText = spinBox.contentItem.text
- newText = fixText(newText)
- var newPeriodIndex = newText.indexOf(".")
- if (newPeriodIndex == -1) {
- newPeriodIndex = newText.length
- }
- if (newText != spinBox.contentItem.text) {
- spinBox.contentItem.text = Qt.binding(function(){
- return spinBox.textFromValue(spinBox.value, spinBox.locale)
- })
- }
- spinBox.contentItem.cursorPosition = newPeriodIndex - oldCursorDelta
- }
-
- function bindContentItem() {
- if (contentItem && contentItem instanceof TextInput) {
- // Bind value update on keypress, while retaining cursor position
- spinBox.contentItem.textEdited.connect(spinBox.onTextEdited)
-
- // Align text to left
- spinBox.contentItem.horizontalAlignment = TextInput.AlignLeft
- }
- }
-
- onContentItemChanged: {
- bindContentItem()
- }
-
- Component.onCompleted: {
- for (var i = 0; i < data.length; i++) {
- if (data[i] instanceof Connections) {
- // Remove the Connections where it changes the text/cursor when typing.
- // onTextEdited { value = valueFromText() }
- data[i].destroy()
- break
- }
- }
- bindContentItem()
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/ui/main.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/ui/main.qml
deleted file mode 100644
index eb067a4..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/contents/ui/main.qml
+++ /dev/null
@@ -1,253 +0,0 @@
-/*
- * Copyright 2015 Martin Kotelnik
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-import QtQuick 2.7
-import QtQuick.Layouts 1.1
-import org.kde.plasma.plasmoid 2.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.kio 1.0 as Kio
-import org.kde.kcoreaddons 1.0 as KCoreAddons
-
-import org.kde.ksysguard.sensors 1.0 as Sensors
-
-import "./components" as RMComponents
-
-Item {
- id: main
-
- property bool vertical: (plasmoid.formFactor == PlasmaCore.Types.Vertical)
- property color primaryColor: theme.highlightColor
- property color negativeColor: theme.negativeTextColor
-
- // Settings properties
- property bool verticalLayout: plasmoid.configuration.verticalLayout
- property string actionService: plasmoid.configuration.actionService
-
- property bool showCpuMonitor: plasmoid.configuration.showCpuMonitor
- property bool showClock: plasmoid.configuration.showClock
- property bool showRamMonitor: plasmoid.configuration.showRamMonitor
- property bool showMemoryInPercent: plasmoid.configuration.memoryInPercent
- property bool showSwapGraph: plasmoid.configuration.memorySwapGraph
- property bool showNetMonitor: plasmoid.configuration.showNetMonitor
- property double fontScale: (plasmoid.configuration.fontScale / 100)
-
- // Colors settings properties
- property color cpuColor: plasmoid.configuration.customCpuColor ? plasmoid.configuration.cpuColor : primaryColor
- property color ramColor: plasmoid.configuration.customRamColor ? plasmoid.configuration.ramColor : primaryColor
- property color swapColor: plasmoid.configuration.customSwapColor ? plasmoid.configuration.swapColor : negativeColor
- property color netDownColor: plasmoid.configuration.customNetDownColor ? plasmoid.configuration.netDownColor : primaryColor
- property color netUpColor: plasmoid.configuration.customNetUpColor ? plasmoid.configuration.netUpColor : negativeColor
-
- // Component properties
- property int containerCount: (showCpuMonitor?1:0) + (showRamMonitor?1:0) + (showNetMonitor?1:0)
- property int itemMargin: plasmoid.configuration.graphMargin
- property double parentWidth: parent === null ? 0 : parent.width
- property double parentHeight: parent === null ? 0 : parent.height
- property double initWidth: vertical ? (verticalLayout ? parentWidth : (parentWidth - itemMargin) / 2) : (verticalLayout ? (parentHeight - itemMargin) / 2 : parentHeight)
- property double itemWidth: plasmoid.configuration.customGraphWidth ? plasmoid.configuration.graphWidth : (initWidth * (verticalLayout ? 1 : 1.5))
- property double itemHeight: plasmoid.configuration.customGraphHeight ? plasmoid.configuration.graphHeight : initWidth
- property double fontPixelSize: verticalLayout ? (itemHeight / 1.4 * fontScale) : (itemHeight * fontScale)
- property double widgetWidth: !verticalLayout ? (itemWidth*containerCount + itemMargin*containerCount) : itemWidth
- property double widgetHeight: verticalLayout ? (itemHeight*containerCount + itemMargin*containerCount) : itemHeight
-
- Layout.preferredWidth: widgetWidth
- Layout.maximumWidth: widgetWidth
- Layout.preferredHeight: widgetHeight
- Layout.maximumHeight: widgetHeight
-
- Plasmoid.preferredRepresentation: Plasmoid.fullRepresentation
-
- anchors.fill: parent
-
- Kio.KRun {
- id: kRun
- }
-
- // Bind settigns change
- onFontPixelSizeChanged: {
- for (var monitor of [cpuGraph, ramGraph, netGraph]) {
- monitor.firstLineLabel.font.pixelSize = fontPixelSize
- monitor.secondLineLabel.font.pixelSize = fontPixelSize
- }
- }
-
- onShowClockChanged: {
- if (!showClock) {
- cpuGraph.secondLineLabel.visible = false
- }
- }
-
- onShowMemoryInPercentChanged: {
- if (ramGraph.maxMemory == 0) {
- return
- }
-
- if (showMemoryInPercent) {
- ramGraph.yRange.to = 100
- } else {
- ramGraph.yRange.to = ramGraph.maxMemory
- }
- ramGraph.updateSensors()
- }
-
- onShowSwapGraphChanged: {
- if (ramGraph.maxMemory != 0) {
- ramGraph.updateSensors()
- }
- }
-
- // Graphs
- RMComponents.SensorGraph {
- id: cpuGraph
- sensors: ["cpu/all/usage"]
- colors: [cpuColor]
-
- visible: showCpuMonitor
- width: itemWidth
- height: itemHeight
-
- label: "CPU"
- labelColor: cpuColor
- secondLabel: showClock ? i18n("⏲ Clock") : ""
-
- yRange {
- from: 0
- to: 100
- }
-
- // Display first core frequency
- onDataTick: {
- if (canSeeValue(1)) {
- secondLineLabel.text = cpuFrequencySensor.formattedValue
- secondLineLabel.visible = true
- }
- }
- Sensors.Sensor {
- id: cpuFrequencySensor
- enabled: showClock
- sensorId: "cpu/cpu0/frequency"
- }
- onShowValueWhenMouseMove: {
- secondLineLabel.text = cpuFrequencySensor.formattedValue
- secondLineLabel.visible = true
- }
-
- function canSeeValue(column) {
- if (column === 1 && !showClock) {
- return false
- }
-
- return textContainer.valueVisible
- }
- }
-
- RMComponents.SensorGraph {
- id: ramGraph
- colors: [ramColor, swapColor]
- secondLabelWhenZero: false
- // TODO: stack the graph values for real fill percent ?
-
- yRange {
- from: 0
- to: 100
- }
-
- visible: showRamMonitor
- width: itemWidth
- height: itemHeight
- anchors.left: parent.left
- anchors.leftMargin: showCpuMonitor && !verticalLayout ? itemWidth + itemMargin : 0
- anchors.top: parent.top
- anchors.topMargin: showCpuMonitor && verticalLayout ? itemWidth + itemMargin : 0
-
- label: "RAM"
- labelColor: ramColor
- secondLabel: showSwapGraph ? "Swap" : ""
- secondLabelColor: swapColor
-
- // Get max y of graph
- property var maxMemory: 0
- Sensors.SensorDataModel {
- id: totalSensorsModel
- sensors: ["memory/physical/total", "memory/swap/total"]
- enabled: true
-
- property var totalMemory: -1
- property var totalSwap: -1
- onDataChanged: {
- if(topLeft.column === 0) {
- totalMemory = parseInt(data(topLeft, Sensors.SensorDataModel.Value))
- }
- else if (topLeft.column === 1) {
- totalSwap = parseInt(data(topLeft, Sensors.SensorDataModel.Value))
- }
-
- if ((!isNaN(totalMemory) && totalMemory !== -1) && (!isNaN(totalSwap) && totalSwap !== -1)) {
- enabled = false
-
- ramGraph.maxMemory = Math.max(totalMemory, totalSwap)
- if (!showMemoryInPercent) {
- ramGraph.yRange.to = ramGraph.maxMemory
- }
- ramGraph.updateSensors()
- }
- }
- }
-
- // Set the color of Swap
- onShowValueWhenMouseMove: {
- secondLineLabel.color = swapColor
- }
-
- function updateSensors() {
- var suffix = showMemoryInPercent ? "Percent" : ""
-
- if (showSwapGraph) {
- sensors = ["memory/physical/used" + suffix, "memory/swap/used" + suffix]
- } else {
- sensors = ["memory/physical/used" + suffix]
- }
- }
- }
-
- RMComponents.NetworkGraph {
- id: netGraph
-
- colors: [netDownColor, netUpColor]
-
- visible: showNetMonitor
- width: itemWidth
- height: itemHeight
- anchors.left: parent.left
- anchors.leftMargin: (showCpuMonitor && !verticalLayout ? itemWidth + itemMargin: 0) + (showRamMonitor && !verticalLayout ? itemWidth + itemMargin : 0)
- anchors.top: parent.top
- anchors.topMargin: (showCpuMonitor && verticalLayout ? itemWidth + itemMargin: 0) + (showRamMonitor && verticalLayout ? itemWidth + itemMargin : 0)
-
- label: i18n("⇘ Down")
- labelColor: netDownColor
- secondLabel: i18n("⇗ Up")
- secondLabelColor: netUpColor
- }
-
- // Click action
- MouseArea {
- id: mouseArea
- anchors.fill: parent
- onClicked: {
- kRun.openService(actionService)
- }
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/metadata.desktop b/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/metadata.desktop
deleted file mode 100644
index 7ce08c8..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/metadata.desktop
+++ /dev/null
@@ -1,22 +0,0 @@
-[Desktop Entry]
-Encoding=UTF-8
-Name=Resources Monitor (fork)
-Comment=Plasmoid for monitoring CPU, memory and network traffic. This is an fork from "Resources Monitor" by Kotelnik
-Type=Service
-X-KDE-ParentApp=
-X-KDE-PluginInfo-Author=Kotelnik,orblazer
-X-KDE-PluginInfo-Email=clearmartin@seznam.cz
-X-KDE-PluginInfo-License=GPL-3.0-only
-X-KDE-PluginInfo-Name=org.kde.resourcesMonitor-fork
-X-KDE-PluginInfo-Version=2.7.1
-X-KDE-PluginInfo-Website=https://github.com/orblazer/plasma-applet-resources-monitor
-X-KDE-ServiceTypes=Plasma/Applet
-X-Plasma-API=declarativeappletscript
-X-Plasma-MainScript=ui/main.qml
-X-Plasma-RemoteLocation=
-X-KDE-PluginInfo-Category=System Information
-Icon=utilities-system-monitor
-Name[fr]=Moniteur des ressources (fork)
-Name[nl]=Systeembronmonitor (afsplitsing)
-Comment[fr]=Plasmoid pour surveiller l'utilisation du CPU, de la mémoire et du traffic réseau. Ceci est un fork de "Resources Monitor" de Kotelnik
-Comment[nl]=Een plasmoid voor het monitoren van de cpu, het werkgeheugen en netwerkverkeer. Dit is een afsplitsing van "Resources Monitor" van Kotelnik.
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/translate/README.md b/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/translate/README.md
deleted file mode 100644
index a769111..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/translate/README.md
+++ /dev/null
@@ -1,28 +0,0 @@
-# Translations
-
-You can found found the list of locale code here : [List of country locale code](https://saimana.com/list-of-country-locale-code/)
-
-## New Translations
-
-1. Fill out [`template.pot`](template.pot) with your translations then open a [new issue](https://github.com/orblazer/plasma-applet-resources-monitor/issues/new), name the file `spanish.txt`, attach the txt file to the issue (drag and drop).
-
-Or if you know how to make a pull request
-
-1. Copy the `template.pot` file and name it your locale's code (Eg: `en`/`de`/`fr`) with the extension `.po`. Then fill out all the `msgstr ""`.
-2. Build the translation with `npm run i18n:build`
-3. Test the translation with `LANGUAGE="country_CODE:locale" LANG="country_CODE.UTF-8" npm run dev`
-
- **Note** : You need install language pack first.
-
-## Scripts
-
-* `npm run i18:merge` will parse the `i18n()` calls in the `*.qml` files and write it to the `template.pot` file. Then it will merge any changes into the `*.po` language files.
-* `npm run i18n:build` will convert the `*.po` files to it's binary `*.mo` version and move it to `contents/locale/...` which will bundle the translations in the `*.plasmoid` without needing the user to manually install them.
-
-## Status
-
-| Locale | Lines | % Done|
-|----------|---------|-------|
-| Template | 67 | |
-| fr | 67/67 | 100% |
-| nl | 67/67 | 100% |
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/translate/fr.po b/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/translate/fr.po
deleted file mode 100644
index 88dd0aa..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/translate/fr.po
+++ /dev/null
@@ -1,290 +0,0 @@
-# Translation of resourcesMonitor-fork in french
-# Copyright (C) 2021
-# This file is distributed under the same license as the resourcesMonitor-fork package.
-# orblazer, 2021.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: resourcesMonitor-fork\n"
-"Report-Msgid-Bugs-To: https://github.com/orblazer/plasma-applet-resources-monitor\n"
-"POT-Creation-Date: 2021-12-20 06:13+0100\n"
-"PO-Revision-Date: 2021-12-20 06:13+0100\n"
-"Last-Translator: orblazer\n"
-"Language: fr\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: ../metadata.desktop:4
-msgid "Resources Monitor (fork)"
-msgstr "Moniteur des ressources (fork)"
-
-#: ../metadata.desktop:5
-msgid "Plasmoid for monitoring CPU, memory and network traffic. This is an fork from \"Resources Monitor\" by Kotelnik"
-msgstr ""
-"Plasmoid pour surveiller l'utilisation du CPU, de la mémoire et du traffic réseau. Ceci est un fork de \"Resources "
-"Monitor\" de Kotelnik"
-
-#: ../contents/config/config.qml:6 ../contents/ui/config/ConfigGeneral.qml:58
-msgid "General"
-msgstr "Général"
-
-#: ../contents/config/config.qml:11
-msgid "Data"
-msgstr "Données"
-
-#: ../contents/config/config.qml:16
-msgid "Appearance"
-msgstr "Apparence"
-
-#: ../contents/ui/components/functions.js:31
-msgctxt "kilobyte suffix"
-msgid "Bps"
-msgstr "ops"
-
-#: ../contents/ui/components/functions.js:39
-msgctxt "kilobit suffix"
-msgid "bps"
-msgstr "bps"
-
-#: ../contents/ui/components/functions.js:47
-msgctxt "kibibyte suffix"
-msgid "iB/s"
-msgstr "io/s"
-
-#: ../contents/ui/config/ConfigAppearance.qml:46
-msgid "Graph"
-msgstr "Graphique"
-
-#: ../contents/ui/config/ConfigAppearance.qml:51
-msgid "Text"
-msgstr "Texte"
-
-#: ../contents/ui/config/ConfigAppearance.qml:56
-msgid "Colors"
-msgstr "Couleurs"
-
-#: ../contents/ui/config/ConfigAppearance.qml:71
-msgid "Vertical layout"
-msgstr "Disposition verticale"
-
-#: ../contents/ui/config/ConfigAppearance.qml:76
-msgid "History amount:"
-msgstr "Quantité d'histoire :"
-
-#: ../contents/ui/config/ConfigAppearance.qml:83
-msgid "Width:"
-msgstr "Largeur :"
-
-#: ../contents/ui/config/ConfigAppearance.qml:90
-msgid "Height:"
-msgstr "Hauteur :"
-
-#: ../contents/ui/config/ConfigAppearance.qml:97
-msgid "Margin:"
-msgstr "Marge :"
-
-#: ../contents/ui/config/ConfigAppearance.qml:108
-msgid "Fill opacity:"
-msgstr "Opacité du remplissage :"
-
-#: ../contents/ui/config/ConfigAppearance.qml:126
-msgid "Drop shadows"
-msgstr "Ombres portées"
-
-#: ../contents/ui/config/ConfigAppearance.qml:131
-msgid "Font scale:"
-msgstr "Taille de la police :"
-
-#: ../contents/ui/config/ConfigAppearance.qml:143
-msgid "Text displayment:"
-msgstr "Affichage du texte :"
-
-#: ../contents/ui/config/ConfigAppearance.qml:146
-msgid "Always"
-msgstr "Toujours"
-
-#: ../contents/ui/config/ConfigAppearance.qml:149
-msgid "On hover"
-msgstr "Au survol"
-
-#: ../contents/ui/config/ConfigAppearance.qml:152
-msgid "Hints when hover"
-msgstr "Indices au survol"
-
-#: ../contents/ui/config/ConfigAppearance.qml:168
-msgid "Placement:"
-msgstr "Placement :"
-
-#: ../contents/ui/config/ConfigAppearance.qml:171
-msgid "Top left"
-msgstr "En haut à gauche"
-
-#: ../contents/ui/config/ConfigAppearance.qml:174
-msgid "Top right"
-msgstr "En haut à droite"
-
-#: ../contents/ui/config/ConfigAppearance.qml:177
-msgid "Bottom left"
-msgstr "En bas à gauche"
-
-#: ../contents/ui/config/ConfigAppearance.qml:180
-msgid "Bottom right"
-msgstr "En bas à droite"
-
-#: ../contents/ui/config/ConfigAppearance.qml:201
-msgid "CPU color:"
-msgstr "Couleur du CPU :"
-
-#: ../contents/ui/config/ConfigAppearance.qml:203
-msgid "Choose CPU graph color"
-msgstr "Choisissez la couleur du graphique du CPU"
-
-#: ../contents/ui/config/ConfigAppearance.qml:209
-msgid "Memory color:"
-msgstr "Couleur de la mémoire"
-
-#: ../contents/ui/config/ConfigAppearance.qml:211
-msgid "Choose memory graph color"
-msgstr "Choisissez la couleur du graphique de la mémoire"
-
-#: ../contents/ui/config/ConfigAppearance.qml:216
-msgid "Swap color:"
-msgstr "Couleur du Swap :"
-
-#: ../contents/ui/config/ConfigAppearance.qml:218
-msgid "Choose Swap graph color"
-msgstr "Choisissez la couleur du graphique Swap"
-
-#: ../contents/ui/config/ConfigAppearance.qml:224
-msgid "Network receiving color:"
-msgstr "Couleur du traffic entrant :"
-
-#: ../contents/ui/config/ConfigAppearance.qml:226
-msgid "Choose network receiving graph color"
-msgstr "Choisissez la couleur du graphique du traffic entrant"
-
-#: ../contents/ui/config/ConfigAppearance.qml:231
-msgid "Network sending color:"
-msgstr "Couleur du traffic sortant :"
-
-#: ../contents/ui/config/ConfigAppearance.qml:233
-msgid "Choose network sending graph color"
-msgstr "Choisissez la couleur du graphique du traffic sortant"
-
-#: ../contents/ui/config/ConfigData.qml:23
-msgid "Custom"
-msgstr "Personnalisée"
-
-#: ../contents/ui/config/ConfigData.qml:64
-msgid "Network"
-msgstr "Réseau"
-
-#: ../contents/ui/config/ConfigData.qml:80
-msgid "Network interfaces:"
-msgstr "Interfaces réseau :"
-
-#: ../contents/ui/config/ConfigData.qml:124
-msgid "Maximum transfer speed"
-msgstr "Vitesse de transfert maximale"
-
-#: ../contents/ui/config/ConfigData.qml:137
-msgid "Receiving:"
-msgstr "Réception :"
-
-#: ../contents/ui/config/ConfigData.qml:161 ../contents/ui/config/ConfigData.qml:217
-msgid "Custom value:"
-msgstr "Valeur personnalisée :"
-
-#: ../contents/ui/config/ConfigData.qml:193
-msgid "Sending:"
-msgstr "Envoi :"
-
-#: ../contents/ui/config/ConfigGeneral.qml:63
-msgid "Click action"
-msgstr "Action du clique"
-
-#: ../contents/ui/config/ConfigGeneral.qml:82
-msgid "Update interval:"
-msgstr "Intervalle d'actualisation :"
-
-#: ../contents/ui/config/ConfigGeneral.qml:91
-msgid "%1 seconds"
-msgstr "%1 secondes"
-
-#: ../contents/ui/config/ConfigGeneral.qml:103
-msgid "Charts"
-msgstr "Graphiques"
-
-#: ../contents/ui/config/ConfigGeneral.qml:116
-msgid "Show CPU monitor"
-msgstr "Afficher le moniteur du CPU"
-
-#: ../contents/ui/config/ConfigGeneral.qml:120
-msgid "Show CPU clock"
-msgstr "Afficher l'horloge du processeur"
-
-#: ../contents/ui/config/ConfigGeneral.qml:127
-msgid "Show memory monitor"
-msgstr "Afficher le moniteur de mémoire"
-
-#: ../contents/ui/config/ConfigGeneral.qml:131
-msgid "Memory in percentage"
-msgstr "Mémoire en pourcentage"
-
-#: ../contents/ui/config/ConfigGeneral.qml:136
-msgid "Display memory swap graph"
-msgstr "Afficher le graphique du Swap"
-
-#: ../contents/ui/config/ConfigGeneral.qml:149
-msgid "Network visibility:"
-msgstr "Visibilité du réseau :"
-
-#: ../contents/ui/config/ConfigGeneral.qml:153
-msgid "Disabled"
-msgstr "Désactivé"
-
-#: ../contents/ui/config/ConfigGeneral.qml:156
-msgid "In kibibyte (KiB/s)"
-msgstr "En kibioctet (Kio/s)"
-
-#: ../contents/ui/config/ConfigGeneral.qml:159
-msgid "In kilobit (Kbps)"
-msgstr "En kilobit (Kbps)"
-
-#: ../contents/ui/config/ConfigGeneral.qml:162
-msgid "In kilobyte (KBps)"
-msgstr "En kilooctet (Kops)"
-
-#: ../contents/ui/config/ConfigGeneral.qml:212
-msgid "Search an application:"
-msgstr "Chercher une application :"
-
-#: ../contents/ui/config/ConfigGeneral.qml:214
-msgid "Application name"
-msgstr "Nom de l'application"
-
-#: ../contents/ui/config/ConfigGeneral.qml:221
-msgid "Applications"
-msgstr "Applications"
-
-#: ../contents/ui/controls/ColorSelector.qml:29
-msgid "Check for use customized color"
-msgstr "Cocher pour utiliser une couleur personnalisée"
-
-#: ../contents/ui/controls/CustomizableSize.qml:24
-msgid "Check for use customized graph width"
-msgstr "Cocher pour l'utilisation d'une largeur de graphique personnalisée"
-
-#: ../contents/ui/main.qml:118
-msgid "⏲ Clock"
-msgstr "⏲ Horl."
-
-#: ../contents/ui/main.qml:220
-msgid "⇘ Down"
-msgstr "⇘ Tél."
-
-#: ../contents/ui/main.qml:222
-msgid "⇗ Up"
-msgstr "⇗ Env."
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/translate/nl.po b/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/translate/nl.po
deleted file mode 100644
index 0016d85..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/translate/nl.po
+++ /dev/null
@@ -1,291 +0,0 @@
-# Translation of resourcesMonitor-fork in nl
-# Copyright (C) 2021
-# This file is distributed under the same license as the resourcesMonitor-fork package.
-# Heimen Stoffels , 2021.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: resourcesMonitor-fork\n"
-"Report-Msgid-Bugs-To: https://github.com/orblazer/plasma-applet-resources-monitor\n"
-"POT-Creation-Date: 2021-12-20 06:13+0100\n"
-"PO-Revision-Date: 2021-12-20 06:13+0100\n"
-"Last-Translator: orblazer\n"
-"Language: nl\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 3.0\n"
-
-#: ../metadata.desktop:4
-msgid "Resources Monitor (fork)"
-msgstr "Systeembronmonitor (afsplitsing)"
-
-#: ../metadata.desktop:5
-msgid "Plasmoid for monitoring CPU, memory and network traffic. This is an fork from \"Resources Monitor\" by Kotelnik"
-msgstr ""
-"Een plasmoid voor het monitoren van de cpu, het werkgeheugen en netwerkverkeer. Dit is een afsplitsing van "
-"\"Resources Monitor\" van Kotelnik."
-
-#: ../contents/config/config.qml:6 ../contents/ui/config/ConfigGeneral.qml:58
-msgid "General"
-msgstr "Algemeen"
-
-#: ../contents/config/config.qml:11
-msgid "Data"
-msgstr "Gegevens"
-
-#: ../contents/config/config.qml:16
-msgid "Appearance"
-msgstr "Uiterlijk"
-
-#: ../contents/ui/components/functions.js:31
-msgctxt "kilobyte suffix"
-msgid "Bps"
-msgstr "Bps"
-
-#: ../contents/ui/components/functions.js:39
-msgctxt "kilobit suffix"
-msgid "bps"
-msgstr "bps"
-
-#: ../contents/ui/components/functions.js:47
-msgctxt "kibibyte suffix"
-msgid "iB/s"
-msgstr "iB/s"
-
-#: ../contents/ui/config/ConfigAppearance.qml:46
-msgid "Graph"
-msgstr "Grafiek"
-
-#: ../contents/ui/config/ConfigAppearance.qml:51
-msgid "Text"
-msgstr "Tekst"
-
-#: ../contents/ui/config/ConfigAppearance.qml:56
-msgid "Colors"
-msgstr "Kleuren"
-
-#: ../contents/ui/config/ConfigAppearance.qml:71
-msgid "Vertical layout"
-msgstr "Verticale indeling"
-
-#: ../contents/ui/config/ConfigAppearance.qml:76
-msgid "History amount:"
-msgstr "Historie bedrag:"
-
-#: ../contents/ui/config/ConfigAppearance.qml:83
-msgid "Width:"
-msgstr "Breedte:"
-
-#: ../contents/ui/config/ConfigAppearance.qml:90
-msgid "Height:"
-msgstr "Hoogte:"
-
-#: ../contents/ui/config/ConfigAppearance.qml:97
-msgid "Margin:"
-msgstr "Marge:"
-
-#: ../contents/ui/config/ConfigAppearance.qml:108
-msgid "Fill opacity:"
-msgstr "Ondoorzichtigheid vullen:"
-
-#: ../contents/ui/config/ConfigAppearance.qml:126
-msgid "Drop shadows"
-msgstr "Vallende schaduwen"
-
-#: ../contents/ui/config/ConfigAppearance.qml:131
-msgid "Font scale:"
-msgstr "Tekstgrootte:"
-
-#: ../contents/ui/config/ConfigAppearance.qml:143
-msgid "Text displayment:"
-msgstr "Tekst tonen:"
-
-#: ../contents/ui/config/ConfigAppearance.qml:146
-msgid "Always"
-msgstr "Altijd"
-
-#: ../contents/ui/config/ConfigAppearance.qml:149
-msgid "On hover"
-msgstr "Na aanwijzen"
-
-#: ../contents/ui/config/ConfigAppearance.qml:152
-msgid "Hints when hover"
-msgstr "Tip tonen na aanwijzen"
-
-#: ../contents/ui/config/ConfigAppearance.qml:168
-msgid "Placement:"
-msgstr "Locatie:"
-
-#: ../contents/ui/config/ConfigAppearance.qml:171
-msgid "Top left"
-msgstr "Linksboven"
-
-#: ../contents/ui/config/ConfigAppearance.qml:174
-msgid "Top right"
-msgstr "Rechtboven"
-
-#: ../contents/ui/config/ConfigAppearance.qml:177
-msgid "Bottom left"
-msgstr "Linksonder"
-
-#: ../contents/ui/config/ConfigAppearance.qml:180
-msgid "Bottom right"
-msgstr "Rechtsonder"
-
-#: ../contents/ui/config/ConfigAppearance.qml:201
-msgid "CPU color:"
-msgstr "CPU-kleur:"
-
-#: ../contents/ui/config/ConfigAppearance.qml:203
-msgid "Choose CPU graph color"
-msgstr "Kies de cpu-grafiekkleur"
-
-#: ../contents/ui/config/ConfigAppearance.qml:209
-msgid "Memory color:"
-msgstr "Geheugenkleur:"
-
-#: ../contents/ui/config/ConfigAppearance.qml:211
-msgid "Choose memory graph color"
-msgstr "Kies de geheugengrafiekkleur"
-
-#: ../contents/ui/config/ConfigAppearance.qml:216
-msgid "Swap color:"
-msgstr "Wisselgeheugenkleur:"
-
-#: ../contents/ui/config/ConfigAppearance.qml:218
-msgid "Choose Swap graph color"
-msgstr "Kies de wisselgeheugengrafiekkleur"
-
-#: ../contents/ui/config/ConfigAppearance.qml:224
-msgid "Network receiving color:"
-msgstr "Kleur van netwerkverkeer (inkomend):"
-
-#: ../contents/ui/config/ConfigAppearance.qml:226
-msgid "Choose network receiving graph color"
-msgstr "Kies de kleur van het inkomende netwerkverkeer"
-
-#: ../contents/ui/config/ConfigAppearance.qml:231
-msgid "Network sending color:"
-msgstr "Kleur van netwerkverkeer (uitgaand):"
-
-#: ../contents/ui/config/ConfigAppearance.qml:233
-msgid "Choose network sending graph color"
-msgstr "Kies de kleur van het uitgaande netwerkverkeer"
-
-#: ../contents/ui/config/ConfigData.qml:23
-msgid "Custom"
-msgstr "Aangepast"
-
-#: ../contents/ui/config/ConfigData.qml:64
-msgid "Network"
-msgstr "Netwerk"
-
-#: ../contents/ui/config/ConfigData.qml:80
-msgid "Network interfaces:"
-msgstr "Netwerkkaarten:"
-
-#: ../contents/ui/config/ConfigData.qml:124
-msgid "Maximum transfer speed"
-msgstr "Maximale overdrachtssnelheid"
-
-#: ../contents/ui/config/ConfigData.qml:137
-msgid "Receiving:"
-msgstr "Ontvangen"
-
-#: ../contents/ui/config/ConfigData.qml:161 ../contents/ui/config/ConfigData.qml:217
-msgid "Custom value:"
-msgstr "Aangepaste waarde:"
-
-#: ../contents/ui/config/ConfigData.qml:193
-msgid "Sending:"
-msgstr "Verzending:"
-
-#: ../contents/ui/config/ConfigGeneral.qml:63
-msgid "Click action"
-msgstr "Klik actie"
-
-#: ../contents/ui/config/ConfigGeneral.qml:82
-msgid "Update interval:"
-msgstr "Bijwerktussenpoos:"
-
-#: ../contents/ui/config/ConfigGeneral.qml:91
-msgid "%1 seconds"
-msgstr "%1 seconden"
-
-#: ../contents/ui/config/ConfigGeneral.qml:103
-msgid "Charts"
-msgstr "Grafieken"
-
-#: ../contents/ui/config/ConfigGeneral.qml:116
-msgid "Show CPU monitor"
-msgstr "CPU-monitor tonen"
-
-#: ../contents/ui/config/ConfigGeneral.qml:120
-msgid "Show CPU clock"
-msgstr "CPU-kloksnelheid tonen"
-
-#: ../contents/ui/config/ConfigGeneral.qml:127
-msgid "Show memory monitor"
-msgstr "Geheugenmonitor tonen"
-
-#: ../contents/ui/config/ConfigGeneral.qml:131
-msgid "Memory in percentage"
-msgstr "Geheugenpercentage tonen"
-
-#: ../contents/ui/config/ConfigGeneral.qml:136
-msgid "Display memory swap graph"
-msgstr "Wisselgeheugengrafiek tonen"
-
-#: ../contents/ui/config/ConfigGeneral.qml:149
-msgid "Network visibility:"
-msgstr "Netwerk zichtbaarheid:"
-
-#: ../contents/ui/config/ConfigGeneral.qml:153
-msgid "Disabled"
-msgstr "Uitgeschakeld"
-
-#: ../contents/ui/config/ConfigGeneral.qml:156
-msgid "In kibibyte (KiB/s)"
-msgstr "In kibibyte (KiB/s)"
-
-#: ../contents/ui/config/ConfigGeneral.qml:159
-msgid "In kilobit (Kbps)"
-msgstr "In kilobit (Kbps)"
-
-#: ../contents/ui/config/ConfigGeneral.qml:162
-msgid "In kilobyte (KBps)"
-msgstr "In kilobyte (KBps)"
-
-#: ../contents/ui/config/ConfigGeneral.qml:212
-msgid "Search an application:"
-msgstr "Een toepassing zoeken:"
-
-#: ../contents/ui/config/ConfigGeneral.qml:214
-msgid "Application name"
-msgstr "Naam toepassing"
-
-#: ../contents/ui/config/ConfigGeneral.qml:221
-msgid "Applications"
-msgstr "Toepassingen"
-
-#: ../contents/ui/controls/ColorSelector.qml:29
-msgid "Check for use customized color"
-msgstr "Kruis aan om een aangepaste kleur te gebruiken"
-
-#: ../contents/ui/controls/CustomizableSize.qml:24
-msgid "Check for use customized graph width"
-msgstr "Kruis aan om een aangepaste grafiekbreedte te gebruiken"
-
-#: ../contents/ui/main.qml:118
-msgid "⏲ Clock"
-msgstr "⏲ Klok."
-
-#: ../contents/ui/main.qml:220
-msgid "⇘ Down"
-msgstr "⇘ Oml."
-
-#: ../contents/ui/main.qml:222
-msgid "⇗ Up"
-msgstr "⇗ Omh."
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/translate/template.pot b/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/translate/template.pot
deleted file mode 100644
index 9377e0a..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.resourcesMonitor-fork/translate/template.pot
+++ /dev/null
@@ -1,291 +0,0 @@
-# Translation of resourcesMonitor-fork in LANGUAGE
-# Copyright (C) 2021
-# This file is distributed under the same license as the resourcesMonitor-fork package.
-# FIRST AUTHOR , YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: resourcesMonitor-fork\n"
-"Report-Msgid-Bugs-To: https://github.com/orblazer/plasma-applet-resources-monitor\n"
-"POT-Creation-Date: 2021-12-20 06:13+0100\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: LANGUAGE \n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: ../metadata.desktop:4
-msgid "Resources Monitor (fork)"
-msgstr ""
-
-#: ../metadata.desktop:5
-msgid "Plasmoid for monitoring CPU, memory and network traffic. This is an fork from \"Resources Monitor\" by Kotelnik"
-msgstr ""
-
-#: ../contents/config/config.qml:6
-#: ../contents/ui/config/ConfigGeneral.qml:58
-msgid "General"
-msgstr ""
-
-#: ../contents/config/config.qml:11
-msgid "Data"
-msgstr ""
-
-#: ../contents/config/config.qml:16
-msgid "Appearance"
-msgstr ""
-
-#: ../contents/ui/components/functions.js:31
-msgctxt "kilobyte suffix"
-msgid "Bps"
-msgstr ""
-
-#: ../contents/ui/components/functions.js:39
-msgctxt "kilobit suffix"
-msgid "bps"
-msgstr ""
-
-#: ../contents/ui/components/functions.js:47
-msgctxt "kibibyte suffix"
-msgid "iB/s"
-msgstr ""
-
-#: ../contents/ui/config/ConfigAppearance.qml:46
-msgid "Graph"
-msgstr ""
-
-#: ../contents/ui/config/ConfigAppearance.qml:51
-msgid "Text"
-msgstr ""
-
-#: ../contents/ui/config/ConfigAppearance.qml:56
-msgid "Colors"
-msgstr ""
-
-#: ../contents/ui/config/ConfigAppearance.qml:71
-msgid "Vertical layout"
-msgstr ""
-
-#: ../contents/ui/config/ConfigAppearance.qml:76
-msgid "History amount:"
-msgstr ""
-
-#: ../contents/ui/config/ConfigAppearance.qml:83
-msgid "Width:"
-msgstr ""
-
-#: ../contents/ui/config/ConfigAppearance.qml:90
-msgid "Height:"
-msgstr ""
-
-#: ../contents/ui/config/ConfigAppearance.qml:97
-msgid "Margin:"
-msgstr ""
-
-#: ../contents/ui/config/ConfigAppearance.qml:108
-msgid "Fill opacity:"
-msgstr ""
-
-#: ../contents/ui/config/ConfigAppearance.qml:126
-msgid "Drop shadows"
-msgstr ""
-
-#: ../contents/ui/config/ConfigAppearance.qml:131
-msgid "Font scale:"
-msgstr ""
-
-#: ../contents/ui/config/ConfigAppearance.qml:143
-msgid "Text displayment:"
-msgstr ""
-
-#: ../contents/ui/config/ConfigAppearance.qml:146
-msgid "Always"
-msgstr ""
-
-#: ../contents/ui/config/ConfigAppearance.qml:149
-msgid "On hover"
-msgstr ""
-
-#: ../contents/ui/config/ConfigAppearance.qml:152
-msgid "Hints when hover"
-msgstr ""
-
-#: ../contents/ui/config/ConfigAppearance.qml:168
-msgid "Placement:"
-msgstr ""
-
-#: ../contents/ui/config/ConfigAppearance.qml:171
-msgid "Top left"
-msgstr ""
-
-#: ../contents/ui/config/ConfigAppearance.qml:174
-msgid "Top right"
-msgstr ""
-
-#: ../contents/ui/config/ConfigAppearance.qml:177
-msgid "Bottom left"
-msgstr ""
-
-#: ../contents/ui/config/ConfigAppearance.qml:180
-msgid "Bottom right"
-msgstr ""
-
-#: ../contents/ui/config/ConfigAppearance.qml:201
-msgid "CPU color:"
-msgstr ""
-
-#: ../contents/ui/config/ConfigAppearance.qml:203
-msgid "Choose CPU graph color"
-msgstr ""
-
-#: ../contents/ui/config/ConfigAppearance.qml:209
-msgid "Memory color:"
-msgstr ""
-
-#: ../contents/ui/config/ConfigAppearance.qml:211
-msgid "Choose memory graph color"
-msgstr ""
-
-#: ../contents/ui/config/ConfigAppearance.qml:216
-msgid "Swap color:"
-msgstr ""
-
-#: ../contents/ui/config/ConfigAppearance.qml:218
-msgid "Choose Swap graph color"
-msgstr ""
-
-#: ../contents/ui/config/ConfigAppearance.qml:224
-msgid "Network receiving color:"
-msgstr ""
-
-#: ../contents/ui/config/ConfigAppearance.qml:226
-msgid "Choose network receiving graph color"
-msgstr ""
-
-#: ../contents/ui/config/ConfigAppearance.qml:231
-msgid "Network sending color:"
-msgstr ""
-
-#: ../contents/ui/config/ConfigAppearance.qml:233
-msgid "Choose network sending graph color"
-msgstr ""
-
-#: ../contents/ui/config/ConfigData.qml:23
-msgid "Custom"
-msgstr ""
-
-#: ../contents/ui/config/ConfigData.qml:64
-msgid "Network"
-msgstr ""
-
-#: ../contents/ui/config/ConfigData.qml:80
-msgid "Network interfaces:"
-msgstr ""
-
-#: ../contents/ui/config/ConfigData.qml:124
-msgid "Maximum transfer speed"
-msgstr ""
-
-#: ../contents/ui/config/ConfigData.qml:137
-msgid "Receiving:"
-msgstr ""
-
-#: ../contents/ui/config/ConfigData.qml:161
-#: ../contents/ui/config/ConfigData.qml:217
-msgid "Custom value:"
-msgstr ""
-
-#: ../contents/ui/config/ConfigData.qml:193
-msgid "Sending:"
-msgstr ""
-
-#: ../contents/ui/config/ConfigGeneral.qml:63
-msgid "Click action"
-msgstr ""
-
-#: ../contents/ui/config/ConfigGeneral.qml:82
-msgid "Update interval:"
-msgstr ""
-
-#: ../contents/ui/config/ConfigGeneral.qml:91
-msgid "%1 seconds"
-msgstr ""
-
-#: ../contents/ui/config/ConfigGeneral.qml:103
-msgid "Charts"
-msgstr ""
-
-#: ../contents/ui/config/ConfigGeneral.qml:116
-msgid "Show CPU monitor"
-msgstr ""
-
-#: ../contents/ui/config/ConfigGeneral.qml:120
-msgid "Show CPU clock"
-msgstr ""
-
-#: ../contents/ui/config/ConfigGeneral.qml:127
-msgid "Show memory monitor"
-msgstr ""
-
-#: ../contents/ui/config/ConfigGeneral.qml:131
-msgid "Memory in percentage"
-msgstr ""
-
-#: ../contents/ui/config/ConfigGeneral.qml:136
-msgid "Display memory swap graph"
-msgstr ""
-
-#: ../contents/ui/config/ConfigGeneral.qml:149
-msgid "Network visibility:"
-msgstr ""
-
-#: ../contents/ui/config/ConfigGeneral.qml:153
-msgid "Disabled"
-msgstr ""
-
-#: ../contents/ui/config/ConfigGeneral.qml:156
-msgid "In kibibyte (KiB/s)"
-msgstr ""
-
-#: ../contents/ui/config/ConfigGeneral.qml:159
-msgid "In kilobit (Kbps)"
-msgstr ""
-
-#: ../contents/ui/config/ConfigGeneral.qml:162
-msgid "In kilobyte (KBps)"
-msgstr ""
-
-#: ../contents/ui/config/ConfigGeneral.qml:212
-msgid "Search an application:"
-msgstr ""
-
-#: ../contents/ui/config/ConfigGeneral.qml:214
-msgid "Application name"
-msgstr ""
-
-#: ../contents/ui/config/ConfigGeneral.qml:221
-msgid "Applications"
-msgstr ""
-
-#: ../contents/ui/controls/ColorSelector.qml:29
-msgid "Check for use customized color"
-msgstr ""
-
-#: ../contents/ui/controls/CustomizableSize.qml:24
-msgid "Check for use customized graph width"
-msgstr ""
-
-#: ../contents/ui/main.qml:118
-msgid "⏲ Clock"
-msgstr ""
-
-#: ../contents/ui/main.qml:220
-msgid "⇘ Down"
-msgstr ""
-
-#: ../contents/ui/main.qml:222
-msgid "⇗ Up"
-msgstr ""
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/code/code.js b/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/code/code.js
deleted file mode 100644
index feadd09..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/code/code.js
+++ /dev/null
@@ -1,121 +0,0 @@
-/**
- * Copyright 2013-2016 Dhaby Xiloj, Konstantin Shtepa
- *
- * This file is part of plasma-simpleMonitor.
- *
- * plasma-simpleMonitor is free software: you can redistribute it
- * and/or modify it under the terms of the GNU General Public
- * License as published by the Free Software Foundation, either
- * version 3 of the License, or any later version.
- *
- * plasma-simpleMonitor is distributed in the hope that it will be
- * useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- * See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with plasma-simpleMonitor. If not, see .
- **/
-
-.pragma library
-
-var logos = ["tux", "slackware", "ubuntu", "kubuntu", "opensuse", "manjaro", "arch", "fedora"]
-
-function getStandardLogo(logoId, distroName) {
- if (typeof distroName === 'undefined')
- distroName = "tux"
- // logoId = 0 - default logo
- // distroId - id of default distr logo
- distroName = distroName.toLowerCase()
- if (logoId < 0)
- logoId = 0
-
- if (logoId === 0) {
- logoId = logos.indexOf(distroName);
- if (logoId === -1)
- logoId = 0
- } else {
- if (logos.length > logoId - 1)
- logoId -= 1
- else
- logoId = 0
- }
-
- return "../images/distro-" + logos[logoId] + ".svg"
-}
-
-function removeQuotes(value) {
- return String(value).replace(/["']/g,'');
-}
-
-function parseOsRelease(text){
- var arrayResult = []
- var textLineSplit = text.split('\n')
- for (var i in textLineSplit)
- {
- switch (textLineSplit[i].split('=')[0]) {
- case "NAME" :
- arrayResult["name"]=removeQuotes(textLineSplit[i].split('=')[1])
- break
- case "ID" :
- arrayResult["id"]=removeQuotes(textLineSplit[i].split('=')[1])
- break
- case "VERSION" :
- arrayResult["version"]=removeQuotes(textLineSplit[i].split('=')[1])
- break
- }
- }
-
- return arrayResult
-}
-
-function getDistroInfo(callback, thisArg) {
- var T
- if (this === null)
- throw new TypeError(' this is null or not defined');
- if (typeof callback !== 'function')
- throw new TypeError(callback + ' is not a function');
- if (arguments.length > 1)
- T = thisArg;
-
- var xhr = new XMLHttpRequest;
- xhr.open("GET", "/etc/os-release");
- xhr.onreadystatechange = function() {
- if (xhr.readyState === XMLHttpRequest.DONE) {
- var arrayResult = parseOsRelease(xhr.responseText)
- callback.call(T, arrayResult)
- }
- }
- xhr.send();
-}
-
-function parseKernelRelease(text){
- var arrayResult = []
- var textLineSplit =text.split(' ')
- arrayResult["name"]=textLineSplit[0]
- if (textLineSplit[2].indexOf('-')>=0)
- textLineSplit[2]=textLineSplit[2].split('-')[0]
- arrayResult["version"]=textLineSplit[2]
-
- return arrayResult
-}
-
-function getKernelInfo(callback, thisArg) {
- var T
- if (this === null)
- throw new TypeError(' this is null or not defined');
- if (typeof callback !== 'function')
- throw new TypeError(callback + ' is not a function');
- if (arguments.length > 1)
- T = thisArg;
-
- var xhr = new XMLHttpRequest;
- xhr.open("GET", "/proc/version");
- xhr.onreadystatechange = function() {
- if (xhr.readyState === XMLHttpRequest.DONE) {
- var arrayResult = parseKernelRelease(xhr.responseText)
- callback.call(T, arrayResult)
- }
- }
- xhr.send();
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/config/config.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/config/config.qml
deleted file mode 100644
index c6b15ea..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/config/config.qml
+++ /dev/null
@@ -1,34 +0,0 @@
-/**
- * Copyright 2013-2016 Dhaby Xiloj, Konstantin Shtepa
- *
- * This file is part of plasma-simpleMonitor.
- *
- * plasma-simpleMonitor is free software: you can redistribute it
- * and/or modify it under the terms of the GNU General Public
- * License as published by the Free Software Foundation, either
- * version 3 of the License, or any later version.
- *
- * plasma-simpleMonitor is distributed in the hope that it will be
- * useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- * See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with plasma-simpleMonitor. If not, see .
- **/
-
-import QtQuick 2.0
-import org.kde.plasma.configuration 2.0
-
-ConfigModel {
- ConfigCategory {
- name: i18n('General')
- icon: Qt.resolvedUrl('../images/simpleMonitor.svg').replace('file://', '')
- source: 'config/ConfigGeneral.qml'
- }
- ConfigCategory {
- name: i18n('Skins')
- icon: Qt.resolvedUrl('../images/simpleMonitor-skins.svg').replace('file://', '')
- source: 'config/ConfigSkins.qml'
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/config/main.xml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/config/main.xml
deleted file mode 100644
index 7f37afa..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/config/main.xml
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0
-
-
-
- 1.0
-
-
-
-
-
- true
-
-
-
- true
-
-
-
-
-
-
-
- 0
-
-
-
-
-
- 60
-
-
-
- 70
-
-
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/fonts/Doppio_One/DoppioOne-Regular.ttf b/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/fonts/Doppio_One/DoppioOne-Regular.ttf
deleted file mode 100644
index e87361e..0000000
Binary files a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/fonts/Doppio_One/DoppioOne-Regular.ttf and /dev/null differ
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/fonts/Doppio_One/OFL.txt b/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/fonts/Doppio_One/OFL.txt
deleted file mode 100644
index 1030e14..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/fonts/Doppio_One/OFL.txt
+++ /dev/null
@@ -1,93 +0,0 @@
-Copyright (c) 2011 by Sorkin Type Co (www.sorkintype.com),
-with Reserved Font Name "Doppio".
-This Font Software is licensed under the SIL Open Font License, Version 1.1.
-This license is copied below, and is also available with a FAQ at:
-http://scripts.sil.org/OFL
-
-
------------------------------------------------------------
-SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
------------------------------------------------------------
-
-PREAMBLE
-The goals of the Open Font License (OFL) are to stimulate worldwide
-development of collaborative font projects, to support the font creation
-efforts of academic and linguistic communities, and to provide a free and
-open framework in which fonts may be shared and improved in partnership
-with others.
-
-The OFL allows the licensed fonts to be used, studied, modified and
-redistributed freely as long as they are not sold by themselves. The
-fonts, including any derivative works, can be bundled, embedded,
-redistributed and/or sold with any software provided that any reserved
-names are not used by derivative works. The fonts and derivatives,
-however, cannot be released under any other type of license. The
-requirement for fonts to remain under this license does not apply
-to any document created using the fonts or their derivatives.
-
-DEFINITIONS
-"Font Software" refers to the set of files released by the Copyright
-Holder(s) under this license and clearly marked as such. This may
-include source files, build scripts and documentation.
-
-"Reserved Font Name" refers to any names specified as such after the
-copyright statement(s).
-
-"Original Version" refers to the collection of Font Software components as
-distributed by the Copyright Holder(s).
-
-"Modified Version" refers to any derivative made by adding to, deleting,
-or substituting -- in part or in whole -- any of the components of the
-Original Version, by changing formats or by porting the Font Software to a
-new environment.
-
-"Author" refers to any designer, engineer, programmer, technical
-writer or other person who contributed to the Font Software.
-
-PERMISSION & CONDITIONS
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of the Font Software, to use, study, copy, merge, embed, modify,
-redistribute, and sell modified and unmodified copies of the Font
-Software, subject to the following conditions:
-
-1) Neither the Font Software nor any of its individual components,
-in Original or Modified Versions, may be sold by itself.
-
-2) Original or Modified Versions of the Font Software may be bundled,
-redistributed and/or sold with any software, provided that each copy
-contains the above copyright notice and this license. These can be
-included either as stand-alone text files, human-readable headers or
-in the appropriate machine-readable metadata fields within text or
-binary files as long as those fields can be easily viewed by the user.
-
-3) No Modified Version of the Font Software may use the Reserved Font
-Name(s) unless explicit written permission is granted by the corresponding
-Copyright Holder. This restriction only applies to the primary font name as
-presented to the users.
-
-4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
-Software shall not be used to promote, endorse or advertise any
-Modified Version, except to acknowledge the contribution(s) of the
-Copyright Holder(s) and the Author(s) or with their explicit written
-permission.
-
-5) The Font Software, modified or unmodified, in part or in whole,
-must be distributed entirely under this license, and must not be
-distributed under any other license. The requirement for fonts to
-remain under this license does not apply to any document created
-using the Font Software.
-
-TERMINATION
-This license becomes null and void if any of the above conditions are
-not met.
-
-DISCLAIMER
-THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
-OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
-COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
-DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
-OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/fonts/Michroma/Michroma.ttf b/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/fonts/Michroma/Michroma.ttf
deleted file mode 100644
index 43be6ef..0000000
Binary files a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/fonts/Michroma/Michroma.ttf and /dev/null differ
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/fonts/Michroma/OFL.txt b/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/fonts/Michroma/OFL.txt
deleted file mode 100644
index f025027..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/fonts/Michroma/OFL.txt
+++ /dev/null
@@ -1,93 +0,0 @@
-Copyright (c) 2011, Vernon Adams (vern@newtypography.co.uk),
-with Reserved Font Name Michroma.
-This Font Software is licensed under the SIL Open Font License, Version 1.1.
-This license is copied below, and is also available with a FAQ at:
-http://scripts.sil.org/OFL
-
-
------------------------------------------------------------
-SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
------------------------------------------------------------
-
-PREAMBLE
-The goals of the Open Font License (OFL) are to stimulate worldwide
-development of collaborative font projects, to support the font creation
-efforts of academic and linguistic communities, and to provide a free and
-open framework in which fonts may be shared and improved in partnership
-with others.
-
-The OFL allows the licensed fonts to be used, studied, modified and
-redistributed freely as long as they are not sold by themselves. The
-fonts, including any derivative works, can be bundled, embedded,
-redistributed and/or sold with any software provided that any reserved
-names are not used by derivative works. The fonts and derivatives,
-however, cannot be released under any other type of license. The
-requirement for fonts to remain under this license does not apply
-to any document created using the fonts or their derivatives.
-
-DEFINITIONS
-"Font Software" refers to the set of files released by the Copyright
-Holder(s) under this license and clearly marked as such. This may
-include source files, build scripts and documentation.
-
-"Reserved Font Name" refers to any names specified as such after the
-copyright statement(s).
-
-"Original Version" refers to the collection of Font Software components as
-distributed by the Copyright Holder(s).
-
-"Modified Version" refers to any derivative made by adding to, deleting,
-or substituting -- in part or in whole -- any of the components of the
-Original Version, by changing formats or by porting the Font Software to a
-new environment.
-
-"Author" refers to any designer, engineer, programmer, technical
-writer or other person who contributed to the Font Software.
-
-PERMISSION & CONDITIONS
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of the Font Software, to use, study, copy, merge, embed, modify,
-redistribute, and sell modified and unmodified copies of the Font
-Software, subject to the following conditions:
-
-1) Neither the Font Software nor any of its individual components,
-in Original or Modified Versions, may be sold by itself.
-
-2) Original or Modified Versions of the Font Software may be bundled,
-redistributed and/or sold with any software, provided that each copy
-contains the above copyright notice and this license. These can be
-included either as stand-alone text files, human-readable headers or
-in the appropriate machine-readable metadata fields within text or
-binary files as long as those fields can be easily viewed by the user.
-
-3) No Modified Version of the Font Software may use the Reserved Font
-Name(s) unless explicit written permission is granted by the corresponding
-Copyright Holder. This restriction only applies to the primary font name as
-presented to the users.
-
-4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
-Software shall not be used to promote, endorse or advertise any
-Modified Version, except to acknowledge the contribution(s) of the
-Copyright Holder(s) and the Author(s) or with their explicit written
-permission.
-
-5) The Font Software, modified or unmodified, in part or in whole,
-must be distributed entirely under this license, and must not be
-distributed under any other license. The requirement for fonts to
-remain under this license does not apply to any document created
-using the Font Software.
-
-TERMINATION
-This license becomes null and void if any of the above conditions are
-not met.
-
-DISCLAIMER
-THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
-OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
-COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
-DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
-OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/fonts/Monda/Monda-Bold.ttf b/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/fonts/Monda/Monda-Bold.ttf
deleted file mode 100644
index d8985eb..0000000
Binary files a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/fonts/Monda/Monda-Bold.ttf and /dev/null differ
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/fonts/Monda/Monda-Regular.ttf b/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/fonts/Monda/Monda-Regular.ttf
deleted file mode 100644
index 3ffa98d..0000000
Binary files a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/fonts/Monda/Monda-Regular.ttf and /dev/null differ
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/fonts/Monda/OFL.txt b/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/fonts/Monda/OFL.txt
deleted file mode 100644
index d75ab14..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/fonts/Monda/OFL.txt
+++ /dev/null
@@ -1,92 +0,0 @@
-Copyright (c) 2012, vernon adams (vern@newtypography.co.uk), with Reserved Font Names 'Monda'
-This Font Software is licensed under the SIL Open Font License, Version 1.1.
-This license is copied below, and is also available with a FAQ at:
-http://scripts.sil.org/OFL
-
-
------------------------------------------------------------
-SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
------------------------------------------------------------
-
-PREAMBLE
-The goals of the Open Font License (OFL) are to stimulate worldwide
-development of collaborative font projects, to support the font creation
-efforts of academic and linguistic communities, and to provide a free and
-open framework in which fonts may be shared and improved in partnership
-with others.
-
-The OFL allows the licensed fonts to be used, studied, modified and
-redistributed freely as long as they are not sold by themselves. The
-fonts, including any derivative works, can be bundled, embedded,
-redistributed and/or sold with any software provided that any reserved
-names are not used by derivative works. The fonts and derivatives,
-however, cannot be released under any other type of license. The
-requirement for fonts to remain under this license does not apply
-to any document created using the fonts or their derivatives.
-
-DEFINITIONS
-"Font Software" refers to the set of files released by the Copyright
-Holder(s) under this license and clearly marked as such. This may
-include source files, build scripts and documentation.
-
-"Reserved Font Name" refers to any names specified as such after the
-copyright statement(s).
-
-"Original Version" refers to the collection of Font Software components as
-distributed by the Copyright Holder(s).
-
-"Modified Version" refers to any derivative made by adding to, deleting,
-or substituting -- in part or in whole -- any of the components of the
-Original Version, by changing formats or by porting the Font Software to a
-new environment.
-
-"Author" refers to any designer, engineer, programmer, technical
-writer or other person who contributed to the Font Software.
-
-PERMISSION & CONDITIONS
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of the Font Software, to use, study, copy, merge, embed, modify,
-redistribute, and sell modified and unmodified copies of the Font
-Software, subject to the following conditions:
-
-1) Neither the Font Software nor any of its individual components,
-in Original or Modified Versions, may be sold by itself.
-
-2) Original or Modified Versions of the Font Software may be bundled,
-redistributed and/or sold with any software, provided that each copy
-contains the above copyright notice and this license. These can be
-included either as stand-alone text files, human-readable headers or
-in the appropriate machine-readable metadata fields within text or
-binary files as long as those fields can be easily viewed by the user.
-
-3) No Modified Version of the Font Software may use the Reserved Font
-Name(s) unless explicit written permission is granted by the corresponding
-Copyright Holder. This restriction only applies to the primary font name as
-presented to the users.
-
-4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
-Software shall not be used to promote, endorse or advertise any
-Modified Version, except to acknowledge the contribution(s) of the
-Copyright Holder(s) and the Author(s) or with their explicit written
-permission.
-
-5) The Font Software, modified or unmodified, in part or in whole,
-must be distributed entirely under this license, and must not be
-distributed under any other license. The requirement for fonts to
-remain under this license does not apply to any document created
-using the Font Software.
-
-TERMINATION
-This license becomes null and void if any of the above conditions are
-not met.
-
-DISCLAIMER
-THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
-OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
-COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
-DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
-OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/fonts/Play/OFL.txt b/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/fonts/Play/OFL.txt
deleted file mode 100644
index 759eb21..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/fonts/Play/OFL.txt
+++ /dev/null
@@ -1,93 +0,0 @@
-Copyright (c) 2011, Jonas Hecksher, Playtypes, e-types AS (e-types.com),
-with Reserved Font Name "Play", "Playtype", "Playtype Sans".
-This Font Software is licensed under the SIL Open Font License, Version 1.1.
-This license is copied below, and is also available with a FAQ at:
-http://scripts.sil.org/OFL
-
-
------------------------------------------------------------
-SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
------------------------------------------------------------
-
-PREAMBLE
-The goals of the Open Font License (OFL) are to stimulate worldwide
-development of collaborative font projects, to support the font creation
-efforts of academic and linguistic communities, and to provide a free and
-open framework in which fonts may be shared and improved in partnership
-with others.
-
-The OFL allows the licensed fonts to be used, studied, modified and
-redistributed freely as long as they are not sold by themselves. The
-fonts, including any derivative works, can be bundled, embedded,
-redistributed and/or sold with any software provided that any reserved
-names are not used by derivative works. The fonts and derivatives,
-however, cannot be released under any other type of license. The
-requirement for fonts to remain under this license does not apply
-to any document created using the fonts or their derivatives.
-
-DEFINITIONS
-"Font Software" refers to the set of files released by the Copyright
-Holder(s) under this license and clearly marked as such. This may
-include source files, build scripts and documentation.
-
-"Reserved Font Name" refers to any names specified as such after the
-copyright statement(s).
-
-"Original Version" refers to the collection of Font Software components as
-distributed by the Copyright Holder(s).
-
-"Modified Version" refers to any derivative made by adding to, deleting,
-or substituting -- in part or in whole -- any of the components of the
-Original Version, by changing formats or by porting the Font Software to a
-new environment.
-
-"Author" refers to any designer, engineer, programmer, technical
-writer or other person who contributed to the Font Software.
-
-PERMISSION & CONDITIONS
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of the Font Software, to use, study, copy, merge, embed, modify,
-redistribute, and sell modified and unmodified copies of the Font
-Software, subject to the following conditions:
-
-1) Neither the Font Software nor any of its individual components,
-in Original or Modified Versions, may be sold by itself.
-
-2) Original or Modified Versions of the Font Software may be bundled,
-redistributed and/or sold with any software, provided that each copy
-contains the above copyright notice and this license. These can be
-included either as stand-alone text files, human-readable headers or
-in the appropriate machine-readable metadata fields within text or
-binary files as long as those fields can be easily viewed by the user.
-
-3) No Modified Version of the Font Software may use the Reserved Font
-Name(s) unless explicit written permission is granted by the corresponding
-Copyright Holder. This restriction only applies to the primary font name as
-presented to the users.
-
-4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
-Software shall not be used to promote, endorse or advertise any
-Modified Version, except to acknowledge the contribution(s) of the
-Copyright Holder(s) and the Author(s) or with their explicit written
-permission.
-
-5) The Font Software, modified or unmodified, in part or in whole,
-must be distributed entirely under this license, and must not be
-distributed under any other license. The requirement for fonts to
-remain under this license does not apply to any document created
-using the Font Software.
-
-TERMINATION
-This license becomes null and void if any of the above conditions are
-not met.
-
-DISCLAIMER
-THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
-OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
-COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
-DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
-OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/fonts/Play/Play-Bold.ttf b/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/fonts/Play/Play-Bold.ttf
deleted file mode 100644
index 7b9d5bf..0000000
Binary files a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/fonts/Play/Play-Bold.ttf and /dev/null differ
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/fonts/Play/Play-Regular.ttf b/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/fonts/Play/Play-Regular.ttf
deleted file mode 100644
index 57ab4b1..0000000
Binary files a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/fonts/Play/Play-Regular.ttf and /dev/null differ
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/images/columnSkin-preview.png b/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/images/columnSkin-preview.png
deleted file mode 100644
index 98fb4ab..0000000
Binary files a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/images/columnSkin-preview.png and /dev/null differ
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/images/defaultSkin-preview.png b/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/images/defaultSkin-preview.png
deleted file mode 100644
index 152167d..0000000
Binary files a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/images/defaultSkin-preview.png and /dev/null differ
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/images/distro-arch.svg b/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/images/distro-arch.svg
deleted file mode 100644
index efa1a7e..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/images/distro-arch.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/images/distro-fedora.svg b/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/images/distro-fedora.svg
deleted file mode 100644
index 40668e2..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/images/distro-fedora.svg
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
\ No newline at end of file
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/images/distro-kubuntu.svg b/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/images/distro-kubuntu.svg
deleted file mode 100644
index 091cce6..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/images/distro-kubuntu.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/images/distro-manjaro.svg b/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/images/distro-manjaro.svg
deleted file mode 100644
index fecee62..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/images/distro-manjaro.svg
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
\ No newline at end of file
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/images/distro-opensuse.svg b/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/images/distro-opensuse.svg
deleted file mode 100644
index 63b7df1..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/images/distro-opensuse.svg
+++ /dev/null
@@ -1,75 +0,0 @@
-
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/images/distro-slackware.svg b/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/images/distro-slackware.svg
deleted file mode 100644
index c0edbf0..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/images/distro-slackware.svg
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/images/distro-tux.svg b/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/images/distro-tux.svg
deleted file mode 100644
index e64857a..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/images/distro-tux.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/images/distro-ubuntu.svg b/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/images/distro-ubuntu.svg
deleted file mode 100644
index 3d03bdc..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/images/distro-ubuntu.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
\ No newline at end of file
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/images/resize.svg b/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/images/resize.svg
deleted file mode 100644
index a128e22..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/images/resize.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/images/simpleMonitor-skins.svg b/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/images/simpleMonitor-skins.svg
deleted file mode 100644
index a8c070d..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/images/simpleMonitor-skins.svg
+++ /dev/null
@@ -1,640 +0,0 @@
-
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/images/simpleMonitor.svg b/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/images/simpleMonitor.svg
deleted file mode 100644
index b3c6cde..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/images/simpleMonitor.svg
+++ /dev/null
@@ -1,103 +0,0 @@
-
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/ui/components/LogoImage.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/ui/components/LogoImage.qml
deleted file mode 100644
index 44f8000..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/ui/components/LogoImage.qml
+++ /dev/null
@@ -1,112 +0,0 @@
-/**
- * Copyright 2013-2016 Dhaby Xiloj, Konstantin Shtepa
- *
- * This file is part of plasma-simpleMonitor.
- *
- * plasma-simpleMonitor is free software: you can redistribute it
- * and/or modify it under the terms of the GNU General Public
- * License as published by the Free Software Foundation, either
- * version 3 of the License, or any later version.
- *
- * plasma-simpleMonitor is distributed in the hope that it will be
- * useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- * See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with plasma-simpleMonitor. If not, see .
- **/
-
-import QtQuick 2.0
-
-Item {
- id: root
- property real fillScale: 1.0
- property bool editMode: false
-
- onFillScaleChanged: {
- if (fillScale && fillScale <= 1.0)
- d.scale = fillScale
- else
- console.log("Error in LogoImage: fillScale set to " + fillScale)
- }
-
- QtObject {
- id: d
- property real scale: 1.0
- }
-
- implicitWidth: image.implicitWidth
- implicitHeight: image.implicitHeight
-
- property Image image: Image {
- parent: root
- anchors.centerIn: parent
- width: parent.width * d.scale
- height: parent.height * d.scale
- fillMode: Image.PreserveAspectFit
- }
-
- property Item border: Rectangle {
- parent: root.image
- anchors.fill: parent
- visible: editMode
- border { width: 1; color: "black" }
- color: "transparent"
- Rectangle {
- anchors.fill: parent
- anchors.margins: 1
- border { width: 1; color: "white" }
- color: "transparent"
- }
-
- Image {
- anchors {
- right: parent.right
- top: parent.top
- }
- source: "../../images/resize.svg"
- sourceSize: Qt.size(10,10)
-
- MouseArea {
- id: resizeArea
- anchors.fill: parent
-
- property bool resizeEvent: false
-
- state: "NORMAL"
- states: [
- State {
- name: "NORMAL"
- PropertyChanges {
- target: resizeArea
- cursorShape: Qt.ArrowCursor
- }
- },
- State {
- name: "RESIZE"
- PropertyChanges {
- target: resizeArea
- cursorShape: Qt.SizeBDiagCursor
- }
- }
- ]
-
- onPressed: {
- resizeEvent = true
- }
-
- onPositionChanged: {
- if (resizeEvent) {
- var mousePoint = mapToItem(root, mouse.x, mouse.y);
- root.fillScale = Math.min(Math.max(0.3, Math.max(2*mousePoint.x/root.width - 1.0, 1.0 - 2*mousePoint.y/root.height)), 1.0)
- }
- }
-
- onReleased: {
- resizeEvent = false
- }
- }
- }
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/ui/config/ConfigGeneral.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/ui/config/ConfigGeneral.qml
deleted file mode 100644
index 4760ec7..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/ui/config/ConfigGeneral.qml
+++ /dev/null
@@ -1,239 +0,0 @@
-/**
- * Copyright 2013-2016 Dhaby Xiloj, Konstantin Shtepa
- *
- * This file is part of plasma-simpleMonitor.
- *
- * plasma-simpleMonitor is free software: you can redistribute it
- * and/or modify it under the terms of the GNU General Public
- * License as published by the Free Software Foundation, either
- * version 3 of the License, or any later version.
- *
- * plasma-simpleMonitor is distributed in the hope that it will be
- * useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- * See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with plasma-simpleMonitor. If not, see .
- **/
-
-import QtQuick 2.0
-import QtQuick.Controls 1.0
-import QtQuick.Layouts 1.1
-import org.kde.plasma.core 2.0 as PlasmaCore
-
-import "../../code/code.js" as Code
-
-Item {
- id: root
-
- Layout.fillHeight: true
- Layout.fillWidth: true
-
- implicitHeight: settingsLayout.implicitHeight
- implicitWidth: settingsLayout.implicitWidth
-
- Layout.minimumWidth: implicitWidth
- Layout.minimumHeight: implicitHeight
- Layout.preferredWidth: implicitWidth
- Layout.preferredHeight: implicitHeight
-
- property int cfg_bgColor
- property alias cfg_logo: logoComboBox.currentIndex
- property alias cfg_showSwap: showSwapCheckBox.checked
- property alias cfg_showUptime: showUptimeCheckBox.checked
- property int cfg_tempUnit
- property alias cfg_cpuHighTemp: cpuHighTempSpinBox.value
- property alias cfg_cpuCritTemp: cpuCritTempSpinBox.value
-
- QtObject {
- id: d
-
- property string osId: "tux"
-
- Component.onCompleted: {
- Code.getDistroInfo(function(arrayResult) {
- osId = arrayResult["id"];
- }, this)
- }
- }
-
- onCfg_bgColorChanged: {
- switch (cfg_bgColor) {
- default: case 0: bgColorTypeGroup.current = standardBgColor; break;
- case 1: bgColorTypeGroup.current = crystalBgColor; break;
- case 2: bgColorTypeGroup.current = translucentBgColor; break;
- }
- }
-
- onCfg_tempUnitChanged: {
- switch (cfg_tempUnit) {
- default: case 0: tempUnitTypeGroup.current = celsiusTemp; break;
- case 1: tempUnitTypeGroup.current = fahrenheitTemp; break;
- }
- }
-
- Component.onCompleted: {
- cfg_bgColorChanged();
- cfg_tempUnitChanged();
- }
-
- ExclusiveGroup {
- id: bgColorTypeGroup
- }
-
- ExclusiveGroup {
- id: tempUnitTypeGroup
- }
-
- ColumnLayout {
- id: settingsLayout
- anchors.fill: parent
-
- GroupBox {
- title: i18n("Parts settings:")
- Layout.fillWidth: true
-
- GridLayout {
- columns: 2
-
- Label {
- text: i18n("Logo:")
- Layout.alignment: Qt.AlignRight
- anchors.verticalCenter: logoComboBox.verticalCenter
- }
-
- ComboBox {
- id: logoComboBox
- model: ["Default", "Tux", "Slackware", "Ubuntu", "Kubuntu", "OpenSUSE", "Manjaro", "Arch", "Fedora"]
- }
-
- Rectangle {
-
- Layout.columnSpan: 2
- anchors.horizontalCenter: logoComboBox.horizontalCenter
-
- implicitHeight: logoImage.height + 10
- implicitWidth: logoImage.width + 10
-
- color: "transparent"
- border { width: 1; color: theme.buttonTextColor }
- radius: 2
-
- Image {
- id: logoImage
-
- anchors.centerIn: parent
-
- source: "../" + Code.getStandardLogo(logoComboBox.currentIndex, d.osId)
- sourceSize.height: 100
- }
- }
-
- Label {
- text: i18n("Background color:")
- Layout.alignment: Qt.AlignRight
- Layout.rowSpan: 3
- anchors.verticalCenter: standardBgColor.verticalCenter
- }
-
- RadioButton {
- id: standardBgColor
- exclusiveGroup: bgColorTypeGroup
- text: i18n("Standard")
- onCheckedChanged: if (checked) cfg_bgColor = 0;
- }
-
- RadioButton {
- id: crystalBgColor
- exclusiveGroup: bgColorTypeGroup
- text: i18n("Crystal")
- onCheckedChanged: if (checked) cfg_bgColor = 1;
- }
-
- RadioButton {
- id: translucentBgColor
- exclusiveGroup: bgColorTypeGroup
- text: i18n("Translucent")
- onCheckedChanged: if (checked) cfg_bgColor = 2;
- }
-
- Label {
- text: i18n("Show:")
- Layout.alignment: Qt.AlignRight
- Layout.rowSpan: 2
- anchors.verticalCenter: showSwapCheckBox.verticalCenter
- }
-
- CheckBox {
- id: showSwapCheckBox
- text: i18n("Swap")
- }
-
- CheckBox {
- id: showUptimeCheckBox
- text: i18n("Uptime")
- }
- }
- }
-
- GroupBox {
- title: i18n("Temp settings:")
- Layout.fillWidth: true
-
- GridLayout {
- columns: 2
- rowSpacing: 2
-
- Label {
- Layout.columnSpan: 2
- text: i18n("(You can use the sensors command to place the appropriate values for this section.)")
- color: theme.highlightColor
- wrapMode: Text.WordWrap
- }
-
- Label {
- text: i18n("Temperature units:")
- Layout.alignment: Qt.AlignRight
- Layout.rowSpan: 2
- anchors.verticalCenter: celsiusTemp.verticalCenter
- }
-
- RadioButton {
- id: celsiusTemp
- exclusiveGroup: tempUnitTypeGroup
- text: i18n("Celsius °C")
- onCheckedChanged: if (checked) cfg_tempUnit = 0;
- }
-
- RadioButton {
- id: fahrenheitTemp
- exclusiveGroup: tempUnitTypeGroup
- text: i18n("Fahrenheit °F")
- onCheckedChanged: if (checked) cfg_tempUnit = 1;
- }
-
- Label {
- text: i18n("CPU High Temperature:")
- Layout.alignment: Qt.AlignRight
- anchors.verticalCenter: cpuHighTempSpinBox.verticalCenter
- }
-
- SpinBox {
- id: cpuHighTempSpinBox
- }
-
- Label {
- text: i18n("CPU Critical Temperature:")
- Layout.alignment: Qt.AlignRight
- anchors.verticalCenter: cpuCritTempSpinBox.verticalCenter
- }
-
- SpinBox {
- id: cpuCritTempSpinBox
- maximumValue: 150
- }
- }
- }
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/ui/config/ConfigSkins.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/ui/config/ConfigSkins.qml
deleted file mode 100644
index d8e2454..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/ui/config/ConfigSkins.qml
+++ /dev/null
@@ -1,84 +0,0 @@
-/**
- * Copyright 2013-2016 Dhaby Xiloj, Konstantin Shtepa
- *
- * This file is part of plasma-simpleMonitor.
- *
- * plasma-simpleMonitor is free software: you can redistribute it
- * and/or modify it under the terms of the GNU General Public
- * License as published by the Free Software Foundation, either
- * version 3 of the License, or any later version.
- *
- * plasma-simpleMonitor is distributed in the hope that it will be
- * useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- * See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with plasma-simpleMonitor. If not, see .
- **/
-
-import QtQuick 2.0
-import QtQuick.Controls 1.0
-import QtQuick.Layouts 1.1
-import org.kde.plasma.core 2.0 as PlasmaCore
-
-import "../../code/code.js" as Code
-
-Item {
- id: root
-
- Layout.fillHeight: true
- Layout.fillWidth: true
-
- implicitHeight: settingsLayout.implicitHeight
- implicitWidth: settingsLayout.implicitWidth
-
- Layout.minimumWidth: implicitWidth
- Layout.minimumHeight: implicitHeight
- Layout.preferredWidth: implicitWidth
- Layout.preferredHeight: implicitHeight
-
- property alias cfg_skin: skinComboBox.currentIndex
-
- ColumnLayout {
- id: settingsLayout
-
- spacing: 2
-
- Row {
- spacing: 3
-
- Label {
- text: i18n("Skin:")
- anchors.verticalCenter: skinComboBox.verticalCenter
- }
-
- ComboBox {
- id: skinComboBox
- model: ["Default", "Column"]
-
- onCurrentIndexChanged: {
- switch (currentIndex) {
- default:
- print("unknown skinComboBox.currentIndex")
- // fall through
- case 0:
- skinImage.source = "../../images/defaultSkin-preview.png"
- break
- case 1:
- skinImage.source = "../../images/columnSkin-preview.png"
- break
- }
- }
- }
- }
-
- Label {
- text: i18n("preview:")
- }
-
- Image {
- id: skinImage
- }
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/ui/main.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/ui/main.qml
deleted file mode 100644
index a6317b2..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/ui/main.qml
+++ /dev/null
@@ -1,275 +0,0 @@
-/**
- * Copyright 2013-2016 Dhaby Xiloj, Konstantin Shtepa
- *
- * This file is part of plasma-simpleMonitor.
- *
- * plasma-simpleMonitor is free software: you can redistribute it
- * and/or modify it under the terms of the GNU General Public
- * License as published by the Free Software Foundation, either
- * version 3 of the License, or any later version.
- *
- * plasma-simpleMonitor is distributed in the hope that it will be
- * useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- * See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with plasma-simpleMonitor. If not, see .
- **/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.1
-import org.kde.plasma.plasmoid 2.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-import QtQuick.Controls 1.0
-
-import "../code/code.js" as Code
-
-Rectangle {
- id: root
-
- width: implicitWidth
- height: implicitHeight
-
- implicitWidth: loader.implicitWidth
- implicitHeight: loader.implicitHeight
-
- Layout.minimumWidth: implicitWidth
- Layout.minimumHeight: implicitHeight
- Layout.preferredWidth: implicitWidth
- Layout.preferredHeight: implicitHeight
-
- Plasmoid.preferredRepresentation: plasmoid.fullRepresentation
-
- color: "black"
-
- // control for atk sensor
- property bool atkPresent: false
-
- Component.onCompleted: atkPresent = false
-
- QtObject {
- id: confEngine
-
- // cfg properties
- property int skin: plasmoid.configuration.skin
- property int bgColor: plasmoid.configuration.bgColor
- property int logo: plasmoid.configuration.logo
- property bool showSwap: plasmoid.configuration.showSwap
- property bool showUptime: plasmoid.configuration.showUptime
- property int tempUnit: plasmoid.configuration.tempUnit
- property int cpuHighTemp: plasmoid.configuration.cpuHighTemp
- property int cpuCritTemp: plasmoid.configuration.cpuCritTemp
-
- property string distroName: "tux"
- property string distroId: "tux"
- property string distroVersion: ""
- property string kernelName: ""
- property string kernelVersion: ""
-
- property int direction: Qt.LeftToRight
-
- onSkinChanged: {
- switch (skin) {
- default:
- case 0:
- loader.source = "skins/DefaultSkin.qml";
- root.Layout.maximumWidth = root.Layout.preferredWidth;
- root.Layout.maximumHeight = root.Layout.preferredHeight;
- root.Layout.maximumWidth = Number.POSITIVE_INFINITY;
- root.Layout.maximumHeight = Number.POSITIVE_INFINITY;
- break;
- case 1:
- loader.source = "skins/ColumnSkin.qml"
- root.Layout.maximumWidth = root.Layout.preferredWidth;
- root.Layout.maximumHeight = root.Layout.preferredHeight;
- root.Layout.maximumWidth = Number.POSITIVE_INFINITY;
- root.Layout.maximumHeight = Number.POSITIVE_INFINITY;
- break;
- }
- }
-
- onBgColorChanged: {
- switch (bgColor) {
- default:
- case 0:
- root.color = "black";
- plasmoid.backgroundHints = "StandardBackground";
- break;
- case 1:
- root.color = "transparent";
- plasmoid.backgroundHints = "NoBackground";
- break;
- case 2:
- root.color = "transparent";
- plasmoid.backgroundHints = "TranslucentBackground";
- break;
- }
- }
-
- Component.onCompleted: {
- Code.getDistroInfo(function(info) {
- distroName = info['name']
- distroId = info['id']
- distroVersion = info['version']
- }, this);
-
- Code.getKernelInfo(function(info){
- kernelName = info['name']
- kernelVersion = info['version']
- }, this);
- }
- }
-
- ListModel {
- id: cpuModel
- }
-
- ListModel {
- id: coreTempModel
- }
-
- PlasmaCore.DataSource {
- id: systemInfoDataSource
- engine: "systemmonitor"
- interval: 1000
-
- property alias delegate: loader.item
-
- function tryAddSource(source) {
- if (connectedSources.indexOf(source) !== -1)
- return;
-
- // connect to cpu load sources
- if (source.match("^cpu/cpu\\d+/TotalLoad")) {
- connectSource(source);
- return;
- }
-
- // connect to cpu temp sources
- if (source.match("^lmsensors/coretemp-isa-\\d+/Core_\\d+")) {
- connectSource(source);
- return;
- }
- if (source.match("^lmsensors/k\\d+temp-pci-.+/temp\\d+")) {
- /* if atk is present then not connect */
- if (!root.atkPresent)
- connectSource(source);
- return;
- }
- /* Some AMD sensors works better with atk data*/
- if (source.match("^lmsensors/atk\\d+-acpi-\\d/CPU_Temperature")) {
- /* Remove k# temp sensors previously connected*/
- if (!root.atkPresent) {
- for (i in connectedSources) {
- if (i.match("^lmsensors/k\\d+temp-pci-.+/temp\\d+")) {
- disconnectSource(i);
- coreTempModel.clear();
- }
-
- }
- }
- root.atkPresent = true;
- connectSource(source);
- return;
- }
-
- // connect memory sources
- if (source.match("^mem/.*")) {
- connectSource(source);
- return;
- }
-
- // connect uptime source
- if (source.match("^system/uptime")) {
- connectSource(source);
- return;
- }
- }
-
- onSourceAdded: tryAddSource(source)
-
- onNewData: {
- if (data.value === undefined || delegate === undefined)
- return;
-
- // cpu load
- if (sourceName.match("^cpu/cpu\\d+/TotalLoad")) {
- var cpuNumber = sourceName.split('/')[1].match(/\d+/);
- if (cpuModel.count <= cpuNumber)
- cpuModel.append({'val':data.value});
- else
- cpuModel.set(cpuNumber,{'val':data.value});
- return;
- }
-
- // cpu temp
- if (sourceName.match("^lmsensors/coretemp-isa-\\d+/Core_\\d+")
- || sourceName.match("^lmsensors/k\\d+temp-pci-.+/temp\\d+")
- || sourceName.match("^lmsensors/atk\\d+-acpi-\\d/CPU_Temperature")) {
- var dataName = "0";
- if (root.atkPresent)
- dataName=sourceName.replace(/^lmsensors\/atk\\d+-acpi-/i,"").replace(/\/CPU_Temperature/i,"");
- else
- dataName=data.name.split(' ')[1];
-
- if (coreTempModel.count <= dataName)
- coreTempModel.append({'val':data.value, 'units':data.units});
- else
- coreTempModel.set(dataName,{'val':data.value, 'units':data.units});
-
- return;
- }
-
- // memory
- if (sourceName.match("^mem/physical/free")) {
- delegate.memFree=data.value/1048576;
- delegate.memTotal=data.max/1048576;
- return;
- }
- if (sourceName.match("^mem/physical/used")) {
- delegate.memUsed=data.value/1048576;
- return;
- }
- if (sourceName.match("^mem/physical/buf")) {
- delegate.memBuffers=data.value/1048576;
- return;
- }
- if (sourceName.match("^mem/physical/cached")) {
- delegate.memCached=data.value/1048576;
- return;
- }
- if (sourceName.match("^mem/swap/used")) {
- delegate.swapUsed=data.value/1048576;
- delegate.swapTotal=data.max/1048576;
- return;
- }
- if (sourceName.match("^mem/swap/free")) {
- delegate.swapFree=data.value/1048576;
- return;
- }
-
- // uptime
- if (sourceName.match("^system/uptime")) {
- delegate.uptime = data.value;
- return;
- }
- }
-
- Component.onCompleted: {
- for (var i in systemInfoDataSource.sources)
- systemInfoDataSource.tryAddSource(systemInfoDataSource.sources[i]);
- }
-
- Component.onDestruction: {
- for (var i = connectedSources.length; i > 0; --i)
- disconnectSource(connectedSources[i - 1]);
- }
- }
-
- Loader {
- id: loader
- anchors.fill: parent
- source: "skins/DefaultSkin.qml"
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/ui/monitorWidgets/CoreTempList.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/ui/monitorWidgets/CoreTempList.qml
deleted file mode 100644
index 7b6d049..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/ui/monitorWidgets/CoreTempList.qml
+++ /dev/null
@@ -1,85 +0,0 @@
-/**
- * Copyright 2013-2016 Dhaby Xiloj, Konstantin Shtepa
- *
- * This file is part of plasma-simpleMonitor.
- *
- * plasma-simpleMonitor is free software: you can redistribute it
- * and/or modify it under the terms of the GNU General Public
- * License as published by the Free Software Foundation, either
- * version 3 of the License, or any later version.
- *
- * plasma-simpleMonitor is distributed in the hope that it will be
- * useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- * See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with plasma-simpleMonitor. If not, see .
- **/
-
-import QtQuick 2.0
-
-ListView {
- id: coreTempList
-
- property int direction: Qt.LeftToRight
- LayoutMirroring.enabled: direction === Qt.RightToLeft
- LayoutMirroring.childrenInherit: true
-
- implicitHeight: count * 25
- implicitWidth: 100
-
- interactive: false
-
- property int highTemp: 87
- property int criticalTemp : 105
- /* tempUnit
- used for change how to show temperature unit
- 0=Celsius 1=Fahrenheit */
- property int tempUnit: 0
-
- delegate: Item {
- id: coreListTemp
- implicitHeight: 25
- implicitWidth: coreLabel.implicitWidth + unitLabel.implicitWidth
- width: parent.width
- Text {
- id: coreLabel
- anchors.left: parent.left
- text: i18n('Core %1:', model.index)
- font.bold: true
- font { family: doppioOneRegular.name; pointSize: 10 }
- color: "#ffdd55"
- }
- Text {
- id: unitLabel
- text: if (tempUnit === 0) Math.floor(val) + units
- else Math.floor(val*9/5+32) + "°F"
- font.bold: true
- font.pointSize: 10
- color: "white"
- anchors.right: parent.right
- }
-
- Rectangle {
- id: rectValue
- height: 9
- width: Math.floor(val/coreTempList.criticalTemp*parent.width)
- color: if (val >= coreTempList.criticalTemp) "red"
- else if (val >= coreTempList.highTemp) "#ffac2a"
- else "#85a9ff"
- anchors.top: coreLabel.bottom
- anchors.right: parent.right
- anchors.topMargin: 1
- }
- ListView.onAdd: SequentialAnimation {
- PropertyAction { target: coreListTemp; property: "height"; value: 0 }
- NumberAnimation { target: coreListTemp; property: "height"; to: 25; duration: 250; easing.type: Easing.InOutQuad }
- }
- }
-
- FontLoader {
- id: doppioOneRegular
- source: "../../fonts/Doppio_One/DoppioOne-Regular.ttf"
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/ui/monitorWidgets/CpuWidget.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/ui/monitorWidgets/CpuWidget.qml
deleted file mode 100644
index 5291e42..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/ui/monitorWidgets/CpuWidget.qml
+++ /dev/null
@@ -1,195 +0,0 @@
-/**
- * Copyright 2013-2016 Dhaby Xiloj, Konstantin Shtepa
- *
- * This file is part of plasma-simpleMonitor.
- *
- * plasma-simpleMonitor is free software: you can redistribute it
- * and/or modify it under the terms of the GNU General Public
- * License as published by the Free Software Foundation, either
- * version 3 of the License, or any later version.
- *
- * plasma-simpleMonitor is distributed in the hope that it will be
- * useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- * See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with plasma-simpleMonitor. If not, see .
- **/
-
-import QtQuick 2.0
-
-ListView {
- id: cpuListView
-
- property int direction: Qt.LeftToRight
- LayoutMirroring.enabled: direction === Qt.RightToLeft
- LayoutMirroring.childrenInherit: true
-
- property color progressColor: "#993de515"
-
- implicitWidth: 100
- implicitHeight: childrenRect.height
-
- model: cpuModel
- interactive: false
-
- /* No higlights on CPU, temporarily until next release*/
- highlightFollowsCurrentItem: true
- highlight: HighlightCpu {
- id: highlightCpu
- width: cpuListView.width
- height: (cpuListView.currentItem) ? cpuListView.currentItem.height : 0
- y: (cpuListView.currentItem) ? cpuListView.currentItem.y : 0
- }
-
- delegate: Item {
- id: itemElement
- width: cpuListView.width
- height: cpuListItem.height + 1
- Column {
- id: cpuListItem
- width: parent.width
- Row {
- spacing: 5
- anchors.left: parent.left
- Text {
- id: cpuLabel
- text: i18n('CPU %1:', model.index)
- font.bold: true
- font { family: doppioOneRegular.name; pointSize: 10 }
- color: "#ffdd55"
- }
- Text {
- text: Math.floor(val)+'%'
- font.bold: true
- font.pointSize: 10
- color: "white"
- }
- }
- Item {
- id: progressBar
- height: 8
- //clip: true
- width: parent.width
- Rectangle {
- // clear background
- anchors.fill: parent
- radius: 2
- gradient: Gradient {
- GradientStop {
- position: 0.00;
- color: "#99000000";
- }
- GradientStop {
- position: 0.25;
- color: "#55555555";
- }
- GradientStop {
- position: 1.00;
- color: "transparent";
- }
- }
- border.color: "#33ffffff"
- }
-
- Rectangle {
- id: rectValue
- // rectangle whit value change and crop
- anchors.left: parent.left
- height: parent.height
- color: "transparent"
- clip: true
- border.color: "#33ffffff"
- width: Math.floor(val/100*(parent.width-5))
- Rectangle {
- id: bgGradient
- // rectangle of color, in background for less cpu load
- anchors.left: parent.left
- height: progressBar.width
- width: progressBar.height
- gradient: Gradient {
- GradientStop {
- position: 1.00;
- color: "#4dffffff";
- }
- GradientStop {
- position: 0.00;
- color: progressColor;
- }
- }
- transform: [
- Rotation { id: colorRotation; origin.x:0; origin.y:0; angle:0 },
- Translate { id: colorTraslation; x: 0; y:0 } ]
- Component.onCompleted: {
- if (LayoutMirroring.enabled) {
- colorRotation.angle = 270
- colorTraslation.y = Qt.binding(function() { return width });
- colorTraslation.x = Qt.binding(function() { return -height + width });
- }
- else {
- colorRotation.angle = 90
- colorTraslation.x = Qt.binding(function() { return height });
- }
- }
-
- }
- Rectangle {
- // rectangle of shadow, in background for less cpu load
- anchors.left: parent.left
- height: progressBar.height
- width: progressBar.width
- gradient: Gradient {
- GradientStop {
- position: 0.00;
- color: "#99000000";
- }
- GradientStop {
- position: 0.25;
- color: "#55555555";
- }
- GradientStop {
- position: 0.88;
- color: "transparent";
- }
- GradientStop {
- position: 1.00;
- color: "#eeffffff";
- }
- }
- }
- }
- Rectangle {
- height: progressBar.height+4
- width: 5
- radius: 2
- anchors.left: rectValue.right
- anchors.verticalCenter: parent.verticalCenter
- color: "#88ffffff"
- }
- }
- }
- MouseArea {
- anchors.fill: parent
- hoverEnabled: true
- onEntered: {
- cpuListView.currentIndex = index
-// highlightCpu.visible = true
- }
-// onExited: {
-// highlightCpu.visible = false
-// }
- }
-
- ListView.onAdd: SequentialAnimation {
- PropertyAction { target: cpuListItem; property: "height"; value: 0 }
- NumberAnimation { target: cpuListItem; property: "height"; to: 25; duration: 250; easing.type: Easing.InOutQuad }
- }
- }
-
- FontLoader {
- id: doppioOneRegular
- source: "../../fonts/Doppio_One/DoppioOne-Regular.ttf"
- }
-
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/ui/monitorWidgets/DatePicker.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/ui/monitorWidgets/DatePicker.qml
deleted file mode 100644
index d2c201d..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/ui/monitorWidgets/DatePicker.qml
+++ /dev/null
@@ -1,84 +0,0 @@
-/**
- * Copyright 2013-2016 Dhaby Xiloj, Konstantin Shtepa
- *
- * This file is part of plasma-simpleMonitor.
- *
- * plasma-simpleMonitor is free software: you can redistribute it
- * and/or modify it under the terms of the GNU General Public
- * License as published by the Free Software Foundation, either
- * version 3 of the License, or any later version.
- *
- * plasma-simpleMonitor is distributed in the hope that it will be
- * useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- * See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with plasma-simpleMonitor. If not, see .
- **/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.1
-
-ColumnLayout {
- id: datePicker
-
- spacing: 0
-
- FontLoader{
- id: michroma
- source: "../../fonts/Michroma/Michroma.ttf"
- }
- FontLoader {
- id: playBold
- source: "../../fonts/Play/Play-Bold.ttf"
- }
-
- Timer {
- interval: 1000
- repeat: true
- running: true
- triggeredOnStart: true
- onTriggered: {
- var dateTime = new Date()
- dayName.text = Qt.formatDateTime(dateTime,'ddd')
- dayNumber.text = Qt.formatDateTime(dateTime,'dd')
- monthName.text = Qt.formatDateTime(dateTime,'MMM')
- }
- }
-
- Text {
- id: dayName
- text: i18n("mie")
- font.pointSize: 14
- color: "white"
- font.capitalization: Font.AllLowercase
- Layout.bottomMargin: -20
- }
-
- Row {
- id: rowMounth
-
- Text {
- id: dayNumber
-// height: 65
- text: "25"
- font {
- family: michroma.name
- pointSize: 40
- }
- color: "#999"
- }
- Text {
- id: monthName
- anchors.bottom: parent.bottom
- text: i18n("dic")
- font {
- family: playBold.name
- capitalization: Font.AllUppercase
- pointSize: 16
- }
- color: "white"
- }
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/ui/monitorWidgets/HighlightCpu.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/ui/monitorWidgets/HighlightCpu.qml
deleted file mode 100644
index d547568..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/ui/monitorWidgets/HighlightCpu.qml
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * Copyright 2013-2016 Dhaby Xiloj, Konstantin Shtepa
- *
- * This file is part of plasma-simpleMonitor.
- *
- * plasma-simpleMonitor is free software: you can redistribute it
- * and/or modify it under the terms of the GNU General Public
- * License as published by the Free Software Foundation, either
- * version 3 of the License, or any later version.
- *
- * plasma-simpleMonitor is distributed in the hope that it will be
- * useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- * See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with plasma-simpleMonitor. If not, see .
- **/
-
-import QtQuick 2.0
-
-Rectangle {
- visible: false
- color: "#22ffffff"
- border.color: "#99ffffff"
- radius: 3
- Behavior on y { PropertyAnimation {} }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/ui/monitorWidgets/MemArea.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/ui/monitorWidgets/MemArea.qml
deleted file mode 100644
index 787a3b2..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/ui/monitorWidgets/MemArea.qml
+++ /dev/null
@@ -1,102 +0,0 @@
-/**
- * Copyright 2013-2016 Dhaby Xiloj, Konstantin Shtepa
- *
- * This file is part of plasma-simpleMonitor.
- *
- * plasma-simpleMonitor is free software: you can redistribute it
- * and/or modify it under the terms of the GNU General Public
- * License as published by the Free Software Foundation, either
- * version 3 of the License, or any later version.
- *
- * plasma-simpleMonitor is distributed in the hope that it will be
- * useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- * See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with plasma-simpleMonitor. If not, see .
- **/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.1
-
-Item {
- property double memFree: 0.0
- property double memTotal: 0.0
- property double memCached: 0.0
- property double memUsed: 0.0
- property double memBuffers: 0.0
- property alias memTypeLabel : memType.text
-
- implicitWidth: memColumn.implicitWidth
- implicitHeight: memColumn.implicitHeight
-
- FontLoader {
- id: doppioOneRegular
- source: "../../fonts/Doppio_One/DoppioOne-Regular.ttf"
- }
-
- ColumnLayout {
- id: memColumn
-
- spacing: 2
- anchors.fill: parent
-
- RowLayout {
- spacing: 3
- Text {
- id: memType
- text: i18n("Mem:")
- font { family: doppioOneRegular.name; pointSize: 12 }
- color: "#ffdd55"
- }
- Text {
- text: i18n("%1 GiB", memTotal.toFixed(2))
- font { family: doppioOneRegular.name; pointSize: 12 }
- color: "white"
- }
- }
-
- RowLayout {
- id: memoryInfoLabels
- spacing: 3
- property int fontSize : 8
- Text {
- text: i18n("Used:")
- color: "red"
- font.pointSize: memoryInfoLabels.fontSize
- }
- Text {
- id: memUsedText
- text: i18n("%1 GiB", (memUsed-(memBuffers+memCached)).toFixed(2))
- color: "white"
- font.pointSize: memoryInfoLabels.fontSize
- }
- Text {
- text: i18n("Free:")
- color: "#7ec264"
- font.pointSize: memoryInfoLabels.fontSize
- }
- Text {
- id: memFreeText
- text: i18n("%1 GiB", (memFree+(memBuffers+memCached)).toFixed(2))
- color: "white"
- font.pointSize: memoryInfoLabels.fontSize
- }
- }
-
- Rectangle {
- id: rectTotalMemory
- height: 5
- Layout.fillWidth: true
- color: "#7ec264"
- Rectangle {
- id: rectUsedMemory
- anchors.left: parent.left
- height: parent.height
- width: (memUsed-(memBuffers+memCached))/memTotal*parent.width
- color: "red"
- }
- }
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/ui/monitorWidgets/OsInfoItem.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/ui/monitorWidgets/OsInfoItem.qml
deleted file mode 100644
index fb9a189..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/ui/monitorWidgets/OsInfoItem.qml
+++ /dev/null
@@ -1,73 +0,0 @@
-/**
- * Copyright 2013-2016 Dhaby Xiloj, Konstantin Shtepa
- *
- * This file is part of plasma-simpleMonitor.
- *
- * plasma-simpleMonitor is free software: you can redistribute it
- * and/or modify it under the terms of the GNU General Public
- * License as published by the Free Software Foundation, either
- * version 3 of the License, or any later version.
- *
- * plasma-simpleMonitor is distributed in the hope that it will be
- * useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- * See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with plasma-simpleMonitor. If not, see .
- **/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.1
-
-
-Item {
- id: root
- property string distroName: "tux"
- property string distroId: "tux"
- property string distroVersion: ""
-
- property string kernelName: ""
- property string kernelVersion: ""
-
- implicitWidth: infoColumn.implicitWidth
- implicitHeight: infoColumn.implicitHeight
-
- FontLoader {
- id: mondaRegular
- source: "../../fonts/Monda/Monda-Regular.ttf"
- }
-
- ColumnLayout {
- id: infoColumn
-
- spacing: 1
- anchors.fill: parent
-
- Text {
- id: distroInfo
- text: (distroVersion.indexOf(',') >= 0) ?
- distroName + " "
- + distroVersion.substring(0,distroVersion.indexOf(','))
- + '\n'
- + distroVersion.substring(distroVersion.indexOf(',')+2, distroVersion.length)
- : distroName + " " + distroVersion
- color: "white"
-
- lineHeight: 0.6
- Layout.alignment: Qt.AlignHCenter
- horizontalAlignment: Text.AlignHCenter
- font { family: mondaRegular.name; pointSize: 9 }
- }
-
- Text {
- id: kernelInfo
- text: kernelName + " " + kernelVersion
- color: "white"
- Layout.alignment: Qt.AlignHCenter
-// lineHeight: 0.6
- horizontalAlignment: Text.AlignHCenter
- font { family: mondaRegular.name; pointSize: 9 }
- }
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/ui/monitorWidgets/TimePicker.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/ui/monitorWidgets/TimePicker.qml
deleted file mode 100644
index f35e9cc..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/ui/monitorWidgets/TimePicker.qml
+++ /dev/null
@@ -1,85 +0,0 @@
-/**
- * Copyright 2013-2016 Dhaby Xiloj, Konstantin Shtepa
- *
- * This file is part of plasma-simpleMonitor.
- *
- * plasma-simpleMonitor is free software: you can redistribute it
- * and/or modify it under the terms of the GNU General Public
- * License as published by the Free Software Foundation, either
- * version 3 of the License, or any later version.
- *
- * plasma-simpleMonitor is distributed in the hope that it will be
- * useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- * See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with plasma-simpleMonitor. If not, see .
- **/
-
-import QtQuick 2.0
-
-Item {
- id: timePicker
-
- LayoutMirroring.enabled: false
- LayoutMirroring.childrenInherit: true
-
- implicitWidth: secs.x + secs.width
- implicitHeight: hour.implicitHeight - 11
-
- FontLoader {
- id: playRegular
- source: "../../fonts/Play/Play-Regular.ttf"
- }
-
- Timer {
- interval: 1000
- repeat: true
- running: true
- triggeredOnStart: true
- onTriggered: {
- var dateTime = new Date()
- hour.text = Qt.formatDateTime(dateTime,'hh')+':'
- mins.text = Qt.formatDateTime(dateTime,'mm')+':'
- secs.text = Qt.formatDateTime(dateTime,'ss')
- }
- }
-
- Text {
- id: hour
- anchors.left: parent.left
- anchors.bottom: parent.bottom
- height: 44
- text: "00:"
- font {
- family: playRegular.name
- pointSize: 30
- }
- color: "white"
- }
- Text {
- id: mins
- anchors.left: hour.right
- anchors.bottom: parent.bottom
- height: 29
- text: "00:"
- font {
- family: playRegular.name
- pointSize: 20
- }
- color: "#cdde87"
- }
- Text {
- id: secs
- anchors.left: mins.right
- anchors.bottom: parent.bottom
- height: 21
- text: "00"
- font {
- family: playRegular.name
- pointSize: 15
- }
- color: "#ebff9d"
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/ui/monitorWidgets/UptimePicker.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/ui/monitorWidgets/UptimePicker.qml
deleted file mode 100644
index 091f7e3..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/ui/monitorWidgets/UptimePicker.qml
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
- * Copyright 2013-2016 Dhaby Xiloj, Konstantin Shtepa
- *
- * This file is part of plasma-simpleMonitor.
- *
- * plasma-simpleMonitor is free software: you can redistribute it
- * and/or modify it under the terms of the GNU General Public
- * License as published by the Free Software Foundation, either
- * version 3 of the License, or any later version.
- *
- * plasma-simpleMonitor is distributed in the hope that it will be
- * useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- * See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with plasma-simpleMonitor. If not, see .
- **/
-
-import QtQuick 2.0
-
-Row {
- property int uptime: 0
-
- spacing: 3
-
- QtObject {
- id: d
-
- property int days: Math.floor(uptime / 86400)
- property int hours: Math.floor((uptime % 86400) / 3600)
- property int minutes: Math.floor((uptime % 3600) / 60)
- property int seconds: Math.floor(uptime % 60)
- }
-
- Text {
- text: i18n("Uptime:")
- color: "#b3b3b3"
- }
-
- Text {
- id: uptimeLabel
- text: i18n("%1d %2:%3", d.days, d.hours, ((d.minutes < 10) ? '0' : '') + d.minutes)
- color: "white"
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/ui/skins/BaseSkin.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/ui/skins/BaseSkin.qml
deleted file mode 100644
index a62f7b3..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/ui/skins/BaseSkin.qml
+++ /dev/null
@@ -1,52 +0,0 @@
-/**
- * Copyright 2013-2016 Dhaby Xiloj, Konstantin Shtepa
- *
- * This file is part of plasma-simpleMonitor.
- *
- * plasma-simpleMonitor is free software: you can redistribute it
- * and/or modify it under the terms of the GNU General Public
- * License as published by the Free Software Foundation, either
- * version 3 of the License, or any later version.
- *
- * plasma-simpleMonitor is distributed in the hope that it will be
- * useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- * See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with plasma-simpleMonitor. If not, see .
- **/
-
-import QtQuick 2.0
-
-Item {
- property int bgColor: confEngine.bgColor
- property int logo: confEngine.logo
- property bool showSwap: confEngine.showSwap
- property bool showUptime: confEngine.showUptime
- property int tempUnit: confEngine.tempUnit
- property int cpuHighTemp: confEngine.cpuHighTemp
- property int cpuCritTemp: confEngine.cpuCritTemp
-
- property string distroName: confEngine.distroName
- property string distroId: confEngine.distroId
- property string distroVersion: confEngine.distroVersion
- property string kernelName: confEngine.kernelName
- property string kernelVersion: confEngine.kernelVersion
-
- property double memFree
- property double memTotal
- property double memUsed
- property double memBuffers
- property double memCached
-
- property double swapFree
- property double swapTotal
- property double swapUsed
-
- property int uptime
-
- property int direction: confEngine.direction
- LayoutMirroring.enabled: direction === Qt.RightToLeft
- LayoutMirroring.childrenInherit: true
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/ui/skins/ColumnSkin.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/ui/skins/ColumnSkin.qml
deleted file mode 100644
index c4c72fb..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/ui/skins/ColumnSkin.qml
+++ /dev/null
@@ -1,267 +0,0 @@
-/**
- * Copyright 2013-2016 Dhaby Xiloj, Konstantin Shtepa
- *
- * This file is part of plasma-simpleMonitor.
- *
- * plasma-simpleMonitor is free software: you can redistribute it
- * and/or modify it under the terms of the GNU General Public
- * License as published by the Free Software Foundation, either
- * version 3 of the License, or any later version.
- *
- * plasma-simpleMonitor is distributed in the hope that it will be
- * useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- * See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with plasma-simpleMonitor. If not, see .
- **/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.1
-import org.kde.plasma.components 2.0 as PlasmaComponents
-
-import "../monitorWidgets"
-import "../components"
-import "../../code/code.js" as Code
-
-BaseSkin {
- id: root
-
- implicitWidth: mainLayout.implicitWidth
- + mainLayout.anchors.leftMargin
- + mainLayout.anchors.rightMargin
- implicitHeight: mainLayout.implicitHeight
- + mainLayout.anchors.topMargin
- + mainLayout.anchors.bottomMargin
-
- ColumnLayout {
- id: mainLayout
-
- anchors.fill: parent
- anchors.margins: 5
- spacing: 0
-
- Item {
- implicitHeight: datePicker.implicitHeight
- implicitWidth: datePicker.implicitWidth
-
- Layout.fillWidth: true
- Layout.minimumHeight: implicitHeight
- Layout.minimumWidth: implicitWidth
-
- DatePicker {
- id: datePicker
-
- anchors { left: parent.left; leftMargin: 10 }
- }
-
- UptimePicker {
- id: uptimePicker
-
- anchors { top: parent.top; right: parent.right }
- visible: showUptime
- uptime: root.uptime
- }
- }
-
- GridLayout {
- columns: 2
- rows: 3
- columnSpacing: 0
- rowSpacing: 0
-
- Layout.fillWidth: true
- Layout.topMargin: 5
-
- ColumnLayout {
- id: distroInfo
-
- Layout.rowSpan: 3
- Layout.fillHeight: true
- Layout.fillWidth: true
- Layout.minimumWidth: implicitWidth
- Layout.minimumHeight: implicitHeight
- Layout.preferredWidth: implicitWidth
- Layout.preferredHeight: implicitHeight
-
- LogoImage {
- id: distroLogo
- Layout.minimumWidth: (implicitWidth < implicitHeight) ? 100*implicitWidth/implicitHeight : 100
- Layout.minimumHeight: (implicitHeight < implicitWidth) ? 100*implicitHeight/implicitWidth : 100
- Layout.preferredWidth: (Layout.fillWidth) ? Layout.minimumWidth : height * implicitWidth/implicitHeight
- Layout.preferredHeight: (Layout.fillHeight) ? Layout.minimumHeight : width * implicitHeight/implicitWidth
- Layout.fillWidth: (implicitWidth < implicitHeight) ? false: true
- Layout.fillHeight: !Layout.fillWidth
- Layout.alignment: Qt.AlignCenter
-
- image.source: "../" + Code.getStandardLogo(logo, osInfoItem.distroId)
-
- fillScale: plasmoid.configuration.logoScale
- onFillScaleChanged: if (fillScale !== plasmoid.configuration.logoScale) plasmoid.configuration.logoScale = fillScale
-
- MouseArea {
- anchors.fill: parent
- acceptedButtons: Qt.RightButton
- onClicked: logoPopup.open(mouse.x, mouse.y)
- }
-
- PlasmaComponents.ContextMenu {
- id: logoPopup
-
- PlasmaComponents.MenuItem {
- text: distroLogo.editMode ? i18n("Lock image scaling") : i18n("Unlock image scaling")
- onClicked: distroLogo.editMode = !distroLogo.editMode
- }
- }
- }
-
- OsInfoItem {
- id: osInfoItem
-
- distroName: root.distroName
- distroId: root.distroId
- distroVersion: root.distroVersion
- kernelName: root.kernelName
- kernelVersion: root.kernelVersion
-
- Layout.alignment: Qt.AlignHCenter | Qt.AlignTop
- Layout.topMargin: 2
- Layout.minimumHeight: implicitHeight
- Layout.maximumHeight: implicitHeight
- Layout.minimumWidth: implicitWidth
- Layout.preferredWidth: implicitWidth
- Layout.preferredHeight: implicitHeight
- }
- }
-
- TimePicker {
- id: timePicker
-
- Layout.alignment: Qt.AlignLeft
- Layout.topMargin: -5
- Layout.leftMargin: 10
- Layout.bottomMargin: 5
- Layout.minimumHeight: implicitHeight
- Layout.maximumHeight: implicitHeight
- Layout.preferredWidth: implicitWidth
- Layout.preferredHeight: implicitHeight
- }
-
- Rectangle {
- color: "white"
-
- Layout.leftMargin: 2
- Layout.fillWidth: true
- Layout.minimumHeight: 3
- Layout.maximumHeight: 3
- Layout.preferredHeight: 3
- }
-
- CoreTempList {
- id: coreTempList
-
- model: coreTempModel
- highTemp: cpuHighTemp
- criticalTemp: criticalTemp
- tempUnit: root.tempUnit
- direction: root.direction
-
- Layout.leftMargin: 5
- Layout.rightMargin: 5
- Layout.topMargin: 5
- Layout.fillWidth: true
- Layout.fillHeight: true
- Layout.minimumWidth: implicitWidth
- Layout.minimumHeight: implicitHeight
- Layout.preferredWidth: implicitWidth
- Layout.preferredHeight: implicitHeight
- }
- }
-
- Rectangle {
- color: "white"
-
- Layout.fillWidth: true
- Layout.minimumHeight: 3
- Layout.maximumHeight: 3
- Layout.preferredHeight: 3
- Layout.topMargin: 5
- }
-
- CpuWidget {
- id: cpuList
-
- direction: root.direction
-
- Layout.leftMargin: 5
- Layout.topMargin: 5
- Layout.fillWidth: true
- Layout.minimumWidth: implicitWidth
- Layout.minimumHeight: implicitHeight
- Layout.preferredWidth: implicitWidth
- Layout.preferredHeight: implicitHeight
- }
-
- Rectangle {
- color: "white"
-
- Layout.fillWidth: true
- Layout.minimumHeight: 3
- Layout.maximumHeight: 3
- Layout.preferredHeight: 3
- Layout.topMargin: 5
- }
-
- MemArea {
- id: memArea
-
- memFree: root.memFree
- memTotal: root.memTotal
- memCached: root.memCached
- memUsed: root.memUsed
- memBuffers: root.memBuffers
-
- Layout.columnSpan: 2
- Layout.topMargin: 2
- Layout.leftMargin: 10
- Layout.rightMargin: 5
- Layout.fillWidth: true
- Layout.minimumWidth: implicitWidth
- Layout.minimumHeight: implicitHeight
- Layout.preferredWidth: implicitWidth
- Layout.maximumHeight: implicitHeight
- }
-
- Rectangle {
- visible: showSwap
- color: "white"
-
- Layout.fillWidth: true
- Layout.minimumHeight: 3
- Layout.maximumHeight: 3
- Layout.preferredHeight: 3
- Layout.topMargin: 5
- }
-
- MemArea {
- id: swapArea
-
- visible: showSwap
- memTypeLabel: i18n("Swap:")
- memFree: root.swapFree
- memTotal: root.swapTotal
- memUsed: root.swapUsed
-
- Layout.columnSpan: 2
- Layout.topMargin: 2
- Layout.leftMargin: 10
- Layout.rightMargin: 5
- Layout.fillWidth: true
- Layout.minimumWidth: implicitWidth
- Layout.minimumHeight: implicitHeight
- Layout.preferredWidth: implicitWidth
- Layout.maximumHeight: implicitHeight
- }
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/ui/skins/DefaultSkin.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/ui/skins/DefaultSkin.qml
deleted file mode 100644
index 2d680fa..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/contents/ui/skins/DefaultSkin.qml
+++ /dev/null
@@ -1,266 +0,0 @@
-/**
- * Copyright 2013-2016 Dhaby Xiloj, Konstantin Shtepa
- *
- * This file is part of plasma-simpleMonitor.
- *
- * plasma-simpleMonitor is free software: you can redistribute it
- * and/or modify it under the terms of the GNU General Public
- * License as published by the Free Software Foundation, either
- * version 3 of the License, or any later version.
- *
- * plasma-simpleMonitor is distributed in the hope that it will be
- * useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- * See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with plasma-simpleMonitor. If not, see .
- **/
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.1
-import org.kde.plasma.components 2.0 as PlasmaComponents
-
-import "../monitorWidgets"
-import "../components"
-import "../../code/code.js" as Code
-
-BaseSkin {
- id: root
-
- implicitWidth: mainLayout.implicitWidth + mainLayout.anchors.leftMargin + mainLayout.anchors.rightMargin
- implicitHeight: mainLayout.implicitHeight + mainLayout.anchors.topMargin + mainLayout.anchors.bottomMargin
-
- GridLayout {
- id: mainLayout
-
- anchors.fill: parent
- anchors.margins: 5
- columns: 4
- rows: 8
- columnSpacing: 0
- rowSpacing: 0
-
- DatePicker {
- id: datePicker
-
- Layout.columnSpan: 4
- Layout.alignment: Qt.AlignLeft
- Layout.leftMargin: 10
- Layout.minimumWidth: implicitWidth
- Layout.minimumHeight: implicitHeight
- Layout.maximumHeight: implicitHeight
- }
-
- ColumnLayout {
- id: distroInfo
-
- Layout.rowSpan: 3
- Layout.topMargin: 5
- Layout.fillWidth: true
- Layout.fillHeight: true
- Layout.minimumWidth: implicitWidth
- Layout.minimumHeight: implicitHeight
- Layout.preferredWidth: implicitWidth
- Layout.preferredHeight: implicitHeight
-
- LogoImage {
- id: distroLogo
- Layout.minimumWidth: (implicitWidth < implicitHeight) ? 100*implicitWidth/implicitHeight : 100
- Layout.minimumHeight: (implicitHeight < implicitWidth) ? 100*implicitHeight/implicitWidth : 100
- Layout.preferredWidth: (Layout.fillWidth) ? Layout.minimumWidth : height * implicitWidth/implicitHeight
- Layout.preferredHeight: (Layout.fillHeight) ? Layout.minimumHeight : width * implicitHeight/implicitWidth
- Layout.fillWidth: (implicitWidth < implicitHeight) ? false: true
- Layout.fillHeight: !Layout.fillWidth
- Layout.alignment: Qt.AlignCenter
-
- image.source: "../" + Code.getStandardLogo(logo, osInfoItem.distroId)
-
- fillScale: plasmoid.configuration.logoScale
- onFillScaleChanged: if (fillScale !== plasmoid.configuration.logoScale) plasmoid.configuration.logoScale = fillScale
-
- MouseArea {
- anchors.fill: parent
- acceptedButtons: Qt.RightButton
- onClicked: logoPopup.open(mouse.x, mouse.y)
- }
-
- PlasmaComponents.ContextMenu {
- id: logoPopup
-
- PlasmaComponents.MenuItem {
- text: distroLogo.editMode ? i18n("Lock image scaling") : i18n("Unlock image scaling")
- onClicked: distroLogo.editMode = !distroLogo.editMode
- }
- }
- }
-
- OsInfoItem {
- id: osInfoItem
-
- distroName: root.distroName
- distroId: root.distroId
- distroVersion: root.distroVersion
- kernelName: root.kernelName
- kernelVersion: root.kernelVersion
-
- Layout.alignment: Qt.AlignHCenter | Qt.AlignTop
- Layout.topMargin: 2
- Layout.minimumHeight: implicitHeight
- Layout.maximumHeight: implicitHeight
- Layout.minimumWidth: implicitWidth
- Layout.preferredWidth: implicitWidth
- Layout.preferredHeight: implicitHeight
- }
- }
-
- TimePicker {
- id: timePicker
-
- Layout.columnSpan: 2
- Layout.alignment: Qt.AlignLeft
- Layout.leftMargin: 10
- Layout.bottomMargin: 5
- Layout.minimumHeight: implicitHeight
- Layout.maximumHeight: implicitHeight
- Layout.preferredWidth: implicitWidth
- Layout.preferredHeight: implicitHeight
- }
-
- UptimePicker {
- id: uptimePicker
-
- visible: showUptime
- uptime: root.uptime
-
- Layout.alignment: Qt.AlignRight | Qt.AlignBottom
- Layout.bottomMargin: 2
- Layout.minimumHeight: height
- Layout.preferredWidth: implicitWidth
- Layout.preferredHeight: implicitHeight
- }
-
- Rectangle {
- color: "white"
-
- Layout.columnSpan: 3
- Layout.fillWidth: true
- Layout.minimumHeight: 3
- Layout.maximumHeight: 3
- Layout.preferredHeight: 3
- Layout.leftMargin: 2
- }
-
- CoreTempList {
- id: coreTempList
-
- model: coreTempModel
- highTemp: cpuHighTemp
- criticalTemp: criticalTemp
- tempUnit: root.tempUnit
- direction: root.direction
-
- Layout.leftMargin: 5
- Layout.rightMargin: 5
- Layout.topMargin: 5
- Layout.fillWidth: true
- Layout.fillHeight: true
- Layout.minimumWidth: implicitWidth
- Layout.minimumHeight: implicitHeight
- Layout.preferredWidth: implicitWidth
- Layout.preferredHeight: implicitHeight
- }
-
- Rectangle {
- color: "white"
-
- Layout.rowSpan: 5
- Layout.minimumWidth: 3
- Layout.maximumWidth: 3
- Layout.preferredWidth: 3
- Layout.fillHeight: true
- Layout.topMargin: 5
- }
-
- CpuWidget {
- id: cpuList
-
- direction: root.direction
-
- Layout.rowSpan: 5
- Layout.leftMargin: 5
- Layout.topMargin: 5
- Layout.fillWidth: true
- Layout.fillHeight: true
- Layout.minimumWidth: implicitWidth
- Layout.minimumHeight: implicitHeight
- Layout.preferredWidth: implicitWidth
- Layout.preferredHeight: implicitHeight
- }
-
- Rectangle {
- color: "white"
-
- Layout.columnSpan: 2
- Layout.fillWidth: true
- Layout.minimumHeight: 3
- Layout.maximumHeight: 3
- Layout.preferredHeight: 3
- Layout.topMargin: 5
- Layout.rightMargin: 5
- }
-
- MemArea {
- id: memArea
-
- memFree: root.memFree
- memTotal: root.memTotal
- memCached: root.memCached
- memUsed: root.memUsed
- memBuffers: root.memBuffers
-
- Layout.columnSpan: 2
- Layout.topMargin: 2
- Layout.leftMargin: 10
- Layout.rightMargin: 5
- Layout.fillWidth: true
- Layout.minimumWidth: implicitWidth
- Layout.minimumHeight: implicitHeight
- Layout.preferredWidth: implicitWidth
- Layout.maximumHeight: implicitHeight
- }
-
- Rectangle {
- visible: showSwap
- color: "white"
-
- Layout.columnSpan: 2
- Layout.fillWidth: true
- Layout.minimumHeight: 3
- Layout.maximumHeight: 3
- Layout.preferredHeight: 3
- Layout.topMargin: 5
- Layout.rightMargin: 5
- }
-
- MemArea {
- id: swapArea
-
- visible: showSwap
- memTypeLabel: i18n("Swap:")
- memFree: root.swapFree
- memTotal: root.swapTotal
- memUsed: root.swapUsed
-
- Layout.columnSpan: 2
- Layout.topMargin: 2
- Layout.leftMargin: 10
- Layout.rightMargin: 5
- Layout.fillWidth: true
- Layout.minimumWidth: implicitWidth
- Layout.minimumHeight: implicitHeight
- Layout.preferredWidth: implicitWidth
- Layout.maximumHeight: implicitHeight
- }
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/metadata.desktop b/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/metadata.desktop
deleted file mode 100644
index 370b137..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.simpleMonitor/metadata.desktop
+++ /dev/null
@@ -1,31 +0,0 @@
-[Desktop Entry]
-Encoding=UTF-8
-Name=Simple Monitor
-Name[ru_RU]=Простой системный монитор
-Name[es]=Monitor de sistema simple
-Comment=Plasma Simple System Monitor
-Comment[ru_RU]=Простой системный монитор-плазмоид
-Comment[es]=Monitor de Sistema simple para Plasma
-
-Type=Service
-Icon=../plasma/plasmoids/simpleMonitor/contents/images/simpleMonitor.svg
-
-X-KDE-ServiceTypes=Plasma/Applet
-
-X-Plasma-API=declarativeappletscript
-X-Plasma-MainScript=ui/main.qml
-X-Plasma-StandAloneApp=true
-
-X-KDE-PluginInfo-Name=org.kde.simpleMonitor
-X-KDE-PluginInfo-Category=System Information
-X-KDE-PluginInfo-Version=0.6
-X-KDE-PluginInfo-Website=http://plasma.kde.org/
-X-KDE-PluginInfo-Author=DhabyX, Konstantin Shtepa
-X-KDE-PluginInfo-Email=slack.dhabyx@gmail.com, oss.konstantin.shtepa@yandex.ru
-X-KDE-PluginInfo-License=GPL3
-X-KDE-PluginInfo-Depends=
-X-KDE-PluginInfo-EnabledByDefault=true
-X-KDE-FormFactors=tablet,mediacenter,desktop
-
-X-Plasma-Requires-FileDialog=Unused
-X-Plasma-Requires-LaunchApp=Unused
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/Thermal.cflags b/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/Thermal.cflags
deleted file mode 100644
index 68d5165..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/Thermal.cflags
+++ /dev/null
@@ -1 +0,0 @@
--std=c17
\ No newline at end of file
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/Thermal.config b/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/Thermal.config
deleted file mode 100644
index e0284f4..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/Thermal.config
+++ /dev/null
@@ -1,2 +0,0 @@
-// Add predefined macros for your project here. For example:
-// #define THE_ANSWER 42
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/Thermal.creator b/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/Thermal.creator
deleted file mode 100644
index e94cbbd..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/Thermal.creator
+++ /dev/null
@@ -1 +0,0 @@
-[General]
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/Thermal.creator.user b/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/Thermal.creator.user
deleted file mode 100644
index 57812b7..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/Thermal.creator.user
+++ /dev/null
@@ -1,162 +0,0 @@
-
-
-
-
-
- EnvironmentId
- {ab7b5e84-65a2-4951-a05f-3e796e676912}
-
-
- ProjectExplorer.Project.ActiveTarget
- 0
-
-
- ProjectExplorer.Project.EditorSettings
-
- true
- false
- true
-
- Cpp
-
- CppGlobal
-
-
-
- QmlJS
-
- QmlJSGlobal
-
-
- 2
- UTF-8
- false
- 4
- false
- 80
- true
- true
- 1
- true
- false
- 0
- true
- true
- 0
- 8
- true
- 1
- true
- true
- true
- false
-
-
-
- ProjectExplorer.Project.PluginSettings
-
-
-
- ProjectExplorer.Project.Target.0
-
- Desktop
- Desktop
- {4b3910e6-d0a4-44a8-a7b0-74d84d143c49}
- 0
- 0
- 0
-
- /home/driglu4it/.local/share/plasma/plasmoids/org.kde.thermalMonitor
-
-
-
- all
-
- false
-
-
- false
- true
- GenericProjectManager.GenericMakeStep
-
- 1
- Сборка
- Сборка
- ProjectExplorer.BuildSteps.Build
-
-
-
-
- clean
-
- true
-
-
- false
- true
- GenericProjectManager.GenericMakeStep
-
- 1
- Очистка
- Очистка
- ProjectExplorer.BuildSteps.Clean
-
- 2
- false
-
- По умолчанию
- GenericProjectManager.GenericBuildConfiguration
-
- 1
-
-
- 0
- Развёртывание
- Развёртывание
- ProjectExplorer.BuildSteps.Deploy
-
- 1
-
- false
- ProjectExplorer.DefaultDeployConfiguration
-
- 1
-
-
- false
- false
- 1000
-
- true
- 2
-
-
- ProjectExplorer.CustomExecutableRunConfiguration
-
-
- false
-
- false
- true
- false
- false
- true
-
-
-
- 1
-
-
-
- ProjectExplorer.Project.TargetCount
- 1
-
-
- ProjectExplorer.Project.Updater.FileVersion
- 22
-
-
- Version
- 22
-
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/Thermal.cxxflags b/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/Thermal.cxxflags
deleted file mode 100644
index 6435dfc..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/Thermal.cxxflags
+++ /dev/null
@@ -1 +0,0 @@
--std=c++17
\ No newline at end of file
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/Thermal.files b/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/Thermal.files
deleted file mode 100644
index 46ca660..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/Thermal.files
+++ /dev/null
@@ -1,13 +0,0 @@
-contents/code/config-utils.js
-contents/code/model-utils.js
-contents/code/temperature-utils.js
-contents/config/config.qml
-contents/config/main.xml
-contents/fonts/fontawesome-webfont-4.3.0.ttf
-contents/images/thermal-monitor.svg
-contents/ui/TemperatureItem.qml
-contents/ui/config/ConfigAppearance.qml
-contents/ui/config/ConfigMisc.qml
-contents/ui/config/ConfigTemperatures.qml
-contents/ui/main.qml
-metadata.desktop
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/Thermal.includes b/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/Thermal.includes
deleted file mode 100644
index e69de29..0000000
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/contents/code/config-utils.js b/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/contents/code/config-utils.js
deleted file mode 100644
index 7272f69..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/contents/code/config-utils.js
+++ /dev/null
@@ -1,8 +0,0 @@
-function getResourcesObjectArray() {
- var cfgResources = plasmoid.configuration.resources
- print('Reading resources from configuration: ' + cfgResources)
- if (!cfgResources) {
- return []
- }
- return JSON.parse(cfgResources)
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/contents/code/model-utils.js b/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/contents/code/model-utils.js
deleted file mode 100644
index 060061b..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/contents/code/model-utils.js
+++ /dev/null
@@ -1,181 +0,0 @@
-// mapping table for optimalization
-var modelIndexesBySourceName = {}
-var virtualObjectMapByIndex = {}
-
-/*
-var exampleObject1 = {
- sourceName: 'lmsensors/coretemp-isa-0000/Core_0',
- deviceName: 'lmsensors/coretemp-isa-0000/Core_0',
- temperature: 39.8,
- warningTemperature: 70,
- meltdownTemperature: 80,
- virtual: false,
- childSourceObjects: {}
-}
-var exampleObject2 = {
- sourceName: 'virtual-CPU',
- deviceName: 'CPU',
- temperature: 41.2,
- warningTemperature: 70,
- meltdownTemperature: 80,
- virtual: true,
- childSourceObjects: {
- 'lmsensors/coretemp-isa-0000/Core_0': {
- temperature: 0
- },
- 'lmsensors/coretemp-isa-0000/Core_1': {
- temperature: 0
- }
- }
-}
-*/
-
-/*
- * Fill temperatureModel with "resources" configuration string.
- */
-function initModels(savedSourceObjects, temperatureModel) {
- savedSourceObjects.forEach(function (savedSourceObj) {
- var newObject = {
- sourceName: savedSourceObj.sourceName,
- alias: savedSourceObj.alias,
- temperature: 0,
- overrideLimitTemperatures: savedSourceObj.overrideLimitTemperatures,
- warningTemperature: savedSourceObj.overrideLimitTemperatures ? savedSourceObj.warningTemperature : baseWarningTemperature,
- meltdownTemperature: savedSourceObj.overrideLimitTemperatures ? savedSourceObj.meltdownTemperature : baseMeltdownTemperature,
- virtual: savedSourceObj.virtual,
- childSourceObjects: savedSourceObj.childSourceObjects || {}
- }
- temperatureModel.append(newObject)
- })
- rebuildModelIndexByKey(temperatureModel)
-}
-
-/*
- * Build map for optimizing temperature updating.
- *
- * Must be explicitly called in Component.onCompleted method and after that add all sources to engines to start whipping data.
- */
-function rebuildModelIndexByKey(existingModel) {
- modelIndexesBySourceName = {}
- virtualObjectMapByIndex = {}
- for (var i = 0; i < existingModel.count; i++) {
- var obj = existingModel.get(i)
- if (obj.virtual) {
- for (var key in obj.childSourceObjects) {
- dbgprint('indexing virtual: ' + key + ' with index ' + i)
- addToListInMap(modelIndexesBySourceName, key, i)
- }
- } else {
- dbgprint('indexing: ' + obj.sourceName + ' with index ' + i)
- addToListInMap(modelIndexesBySourceName, obj.sourceName, i)
- }
- }
-}
-
-function addToListInMap(map, key, addObject) {
- var list = map[key] || []
- map[key] = list
- list.push(addObject)
-}
-
-/*
- * Sets temperature to existing temperatureModel -> triggers virtual temperature computation and visual update.
- */
-function updateTemperatureModel(existingModel, sourceName, temperature) {
-
- var temperatureToSet = temperature
-
- var indexes = modelIndexesBySourceName[sourceName] || []
-
- indexes.forEach(function (index) {
-
- // try to set virtual temperature
- var currentObj = existingModel.get(index)
- if (currentObj.virtual) {
-
- dbgprint('setting partial virtual temperature: ' + temperature + ', index=' + index)
-
- var cachedObject = virtualObjectMapByIndex[index] || {}
- virtualObjectMapByIndex[index] = cachedObject
- cachedObject[sourceName] = {
- temperature: temperature
- }
-
- return
- }
-
- dbgprint('setting property temperature to ' + temperatureToSet + ', sourceName=' + sourceName + ', index=' + index)
-
- // update model
- setTemperatureToExistingModel(existingModel, index, temperatureToSet)
-
- })
-
-}
-
-function computeVirtuals(existingModel) {
- for (var index in virtualObjectMapByIndex) {
- var cachedObject = virtualObjectMapByIndex[index]
- var temperatureToSet = getHighestFromVirtuals(cachedObject)
- var modelObj = existingModel.get(index)
- dbgprint('setting property temperature to ' + temperatureToSet + ', group alias=' + modelObj.alias)
-
- // update model
- setTemperatureToExistingModel(existingModel, index, temperatureToSet)
- }
-}
-
-function getHighestFromVirtuals(childSourceObjects) {
- var maxTemperature = 0
- for (var sourceName in childSourceObjects) {
- var newTemperture = childSourceObjects[sourceName].temperature
- dbgprint('iterating over virtual: ' + sourceName + ', temp: ' + newTemperture)
- if (newTemperture > maxTemperature) {
- maxTemperature = newTemperture
- }
- }
- return maxTemperature;
-}
-
-function setTemperatureToExistingModel(existingModel, index, temperatureToSet) {
- existingModel.setProperty(index, 'temperature', temperatureToSet)
-}
-
-var UDISKS_VIRTUAL_PATH_PREFIX = 'udisks/'
-var UDISKS_PATH_START_WITH = '/org/freedesktop/UDisks2/drives/'
-var UDISKS_DEVICES_CMD = 'qdbus --system org.freedesktop.UDisks2 | grep ' + UDISKS_PATH_START_WITH
-var UDISKS_TEMPERATURE_CMD_PATTERN = 'qdbus --system org.freedesktop.UDisks2 {path} org.freedesktop.UDisks2.Drive.Ata.SmartTemperature'
-
-function parseUdisksPaths(udisksPaths) {
- var deviceStrings = udisksPaths.split('\n')
- var resultObjects = []
-
- if (deviceStrings) {
- deviceStrings.forEach(function (path) {
- if (path) {
- resultObjects.push({
- cmd: UDISKS_TEMPERATURE_CMD_PATTERN.replace('{path}', path),
- name: path.substring(UDISKS_PATH_START_WITH.length)
- })
- }
- })
- }
-
- return resultObjects
-}
-
-function getUdisksTemperatureCmd(diskLabel) {
- return UDISKS_TEMPERATURE_CMD_PATTERN.replace('{path}', UDISKS_PATH_START_WITH + diskLabel)
-}
-
-function getCelsiaFromUdisksStdout(stdout) {
- var temperature = parseFloat(stdout)
- if (temperature <= 0) {
- return 0
- }
- return Math.round(toCelsia(temperature))
-}
-
-function toCelsia(kelvin) {
- return kelvin - 273.15
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/contents/code/temperature-utils.js b/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/contents/code/temperature-utils.js
deleted file mode 100644
index f5a4599..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/contents/code/temperature-utils.js
+++ /dev/null
@@ -1,28 +0,0 @@
-var TemperatureUnit = {
- CELSIUS: 0,
- FAHRENHEIT: 1,
- KELVIN: 2
-}
-
-function toFahrenheit(celsia) {
- return celsia * (9/5) + 32
-}
-
-function toKelvin(celsia) {
- return celsia + 273.15
-}
-
-function getTemperatureStr(celsiaDouble, temperatureUnit) {
- print('temp unit: ' + temperatureUnit)
- return getTemperature(celsiaDouble, temperatureUnit) + (temperatureUnit === TemperatureUnit.CELSIUS || temperatureUnit === TemperatureUnit.FAHRENHEIT ? '°' : '')
-}
-
-function getTemperature(celsiaDouble, temperatureUnit) {
- var fl = celsiaDouble
- if (temperatureUnit === TemperatureUnit.FAHRENHEIT) {
- fl = toFahrenheit(fl)
- } else if (temperatureUnit === TemperatureUnit.KELVIN) {
- fl = toKelvin(fl)
- }
- return Math.round(fl)
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/contents/config/config.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/contents/config/config.qml
deleted file mode 100644
index 8eabdd3..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/contents/config/config.qml
+++ /dev/null
@@ -1,21 +0,0 @@
-import QtQuick 2.2
-import org.kde.plasma.configuration 2.0
-
-ConfigModel {
- ConfigCategory {
- name: i18n('Temperature')
- icon: Qt.resolvedUrl('../images/thermal-monitor.svg').replace(
- 'file://', '')
- source: 'config/ConfigTemperatures.qml'
- }
- ConfigCategory {
- name: i18n('Appearance')
- icon: 'preferences-desktop-color'
- source: 'config/ConfigAppearance.qml'
- }
- ConfigCategory {
- name: i18n('Misc')
- icon: 'preferences-system-other'
- source: 'config/ConfigMisc.qml'
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/contents/config/main.xml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/contents/config/main.xml
deleted file mode 100644
index a940c99..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/contents/config/main.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-
-
-
-
-
-
- []
-
-
- 70
-
-
- 90
-
-
-
-
-
- 27
-
-
- 46
-
-
- 21
-
-
- 0
-
-
- 0
-
-
- false
-
-
-
-
-
- 3.0
-
-
-
-
-
-
-
- 0
-
-
-
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/contents/fonts/fontawesome-webfont-4.3.0.ttf b/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/contents/fonts/fontawesome-webfont-4.3.0.ttf
deleted file mode 100644
index ed9372f..0000000
Binary files a/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/contents/fonts/fontawesome-webfont-4.3.0.ttf and /dev/null differ
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/contents/images/thermal-monitor.svg b/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/contents/images/thermal-monitor.svg
deleted file mode 100755
index d061e7d..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/contents/images/thermal-monitor.svg
+++ /dev/null
@@ -1,261 +0,0 @@
-
-
-
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/contents/ui/TemperatureItem.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/contents/ui/TemperatureItem.qml
deleted file mode 100644
index cdd99e5..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/contents/ui/TemperatureItem.qml
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright 2015 Martin Kotelnik
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-import QtQuick 2.2
-import QtQuick.Layouts 1.1
-import QtGraphicalEffects 1.0
-import org.kde.plasma.components 2.0 as PlasmaComponents
-import "../code/temperature-utils.js" as TemperatureUtils
-
-Item {
- id: temperatureItem
-
- width: itemWidth
- height: itemHeight
-
- //
- // all temperatures defaults to Celsius
- // Fahrenheit is being computed while putting int string for display
- //
- property bool warningState: temperature >= warningTemperature
- property bool meltdownState: temperature >= meltdownTemperature
- property bool isOff: temperature === 0
-
- PlasmaComponents.Label {
- id: stateIcon
-
- anchors.bottom: parent.bottom
- anchors.bottomMargin: iconBottomMargin
- anchors.right: parent.right
-
- color: meltdownState ? '#FFFF0000' : warningState ? '#FFFF8000' : '#FF66FF66'
- font.pixelSize: iconFontSize
- font.pointSize: -1
- font.family: 'FontAwesome'
- verticalAlignment: Text.AlignBottom
-
- text: meltdownState ? '\uf06d' : (warningState ? '\uf071' : '\uf05d')
- visible: meltdownState || warningState
- }
-
- Item {
- id: labels
- anchors.fill: parent
-
- PlasmaComponents.Label {
- id: aliasText
-
- font.pixelSize: aliasFontSize
- font.pointSize: -1
- verticalAlignment: Text.AlignTop
-
- text: alias
- }
-
- PlasmaComponents.Label {
- id: temperatureText
-
- anchors.bottom: aliasText.text === '' ? undefined : parent.bottom
- anchors.right: parent.right
- anchors.rightMargin: temperatureRightMargin
- anchors.verticalCenter: aliasText.text === '' ? parent.verticalCenter : undefined
-
- font.pixelSize: temperatureFontSize * (isOff ? 0.7 : 1)
- font.pointSize: -1
- verticalAlignment: Text.AlignBottom
-
- opacity: isOff ? 0.7 : 1
-
- text: isOff ? i18n('OFF') : TemperatureUtils.getTemperatureStr(temperature, temperatureUnit)
- }
- }
-
- DropShadow {
- anchors.fill: labels
- radius: enableLabelDropShadow ? 3 : 0
- spread: 0.8
- fast: true
- color: theme.backgroundColor
- source: labels
- visible: enableLabelDropShadow
- }
-
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/contents/ui/config/ConfigAppearance.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/contents/ui/config/ConfigAppearance.qml
deleted file mode 100644
index d389c2d..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/contents/ui/config/ConfigAppearance.qml
+++ /dev/null
@@ -1,92 +0,0 @@
-import QtQuick 2.2
-import QtQuick.Controls 1.3
-import QtQuick.Layouts 1.1
-
-Item {
-
- property alias cfg_aliasFontSize: aliasFontSize.value
- property alias cfg_temperatureFontSize: temperatureFontSize.value
- property alias cfg_iconFontSize: iconFontSize.value
- property alias cfg_temperatureRightMargin: temperatureRightMargin.value
- property alias cfg_iconBottomMargin: iconBottomMargin.value
- property alias cfg_enableLabelDropShadow: enableLabelDropShadow.checked
-
- GridLayout {
- columns: 2
- anchors.left: parent.left
- anchors.right: parent.right
-
- Label {
- text: i18n('Alias font size:') + ' ' + aliasFontSize.value
- Layout.alignment: Qt.AlignRight
- }
-
- Slider {
- id: aliasFontSize
- stepSize: 1
- minimumValue: 2
- maximumValue: 100
- Layout.fillWidth: true
- }
-
- Label {
- text: i18n('Temperature font size:') + ' ' + temperatureFontSize.value
- Layout.alignment: Qt.AlignRight
- }
- Slider {
- id: temperatureFontSize
- stepSize: 1
- minimumValue: 2
- maximumValue: 100
- Layout.fillWidth: true
- }
-
- Label {
- text: i18n('Icon font size:') + ' ' + iconFontSize.value
- Layout.alignment: Qt.AlignRight
- }
- Slider {
- id: iconFontSize
- stepSize: 1
- minimumValue: 2
- maximumValue: 100
- Layout.fillWidth: true
- }
-
- Label {
- text: i18n('Temperature right margin:') + ' ' + temperatureRightMargin.value
- Layout.alignment: Qt.AlignRight
- }
- Slider {
- id: temperatureRightMargin
- stepSize: 1
- minimumValue: 0
- maximumValue: 80
- Layout.fillWidth: true
- }
-
- Label {
- text: i18n('Notification icon bottom margin:') + ' ' + iconBottomMargin.value
- Layout.alignment: Qt.AlignRight
- }
- Slider {
- id: iconBottomMargin
- stepSize: 1
- minimumValue: 0
- maximumValue: 100
- Layout.fillWidth: true
- }
-
- Item {
- width: 2
- height: 10
- Layout.columnSpan: 2
- }
-
- CheckBox {
- id: enableLabelDropShadow
- Layout.columnSpan: 2
- text: i18n('Enable label drop shadow')
- }
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/contents/ui/config/ConfigMisc.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/contents/ui/config/ConfigMisc.qml
deleted file mode 100644
index 86bba3a..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/contents/ui/config/ConfigMisc.qml
+++ /dev/null
@@ -1,92 +0,0 @@
-import QtQuick 2.2
-import QtQuick.Controls 1.3
-import QtQuick.Layouts 1.1
-
-Item {
-
- property alias cfg_updateInterval: updateIntervalSpinBox.value
-
- property int cfg_temperatureUnit
-
- onCfg_temperatureUnitChanged: {
- switch (cfg_temperatureUnit) {
- case 0:
- temperatureTypeGroup.current = temperatureTypeRadioCelsius;
- break;
- case 1:
- temperatureTypeGroup.current = temperatureTypeRadioFahrenheit;
- break;
- case 2:
- temperatureTypeGroup.current = temperatureTypeRadioKelvin;
- break;
- default:
- }
- }
-
-
- Component.onCompleted: {
- cfg_temperatureUnitChanged()
- }
-
- ExclusiveGroup {
- id: temperatureTypeGroup
- }
-
- GridLayout {
- Layout.fillWidth: true
- columns: 2
-
- Label {
- text: i18n('Update interval:')
- Layout.alignment: Qt.AlignRight
- }
- SpinBox {
- id: updateIntervalSpinBox
- decimals: 1
- stepSize: 0.1
- minimumValue: 0.1
- suffix: i18nc('Abbreviation for seconds', 's')
- }
-
- Item {
- width: 2
- height: 10
- Layout.columnSpan: 2
- }
-
- Label {
- text: i18n("Temperature:")
- Layout.alignment: Qt.AlignVCenter | Qt.AlignRight
- }
- RadioButton {
- id: temperatureTypeRadioCelsius
- exclusiveGroup: temperatureTypeGroup
- text: i18n("°C")
- onCheckedChanged: if (checked) cfg_temperatureUnit = 0
- }
- Item {
- width: 2
- height: 2
- Layout.rowSpan: 1
- }
- RadioButton {
- id: temperatureTypeRadioFahrenheit
- exclusiveGroup: temperatureTypeGroup
- text: i18n("°F")
- onCheckedChanged: if (checked) cfg_temperatureUnit = 1
- }
- Item {
- width: 2
- height: 2
- Layout.rowSpan: 1
- }
- RadioButton {
- id: temperatureTypeRadioKelvin
- exclusiveGroup: temperatureTypeGroup
- text: i18n("K")
- onCheckedChanged: if (checked) cfg_temperatureUnit = 2
- }
-
- }
-
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/contents/ui/config/ConfigTemperatures.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/contents/ui/config/ConfigTemperatures.qml
deleted file mode 100644
index 708a871..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/contents/ui/config/ConfigTemperatures.qml
+++ /dev/null
@@ -1,611 +0,0 @@
-import QtQuick 2.2
-import QtQuick.Controls 1.3
-import QtQuick.Dialogs 1.2
-import QtQuick.Layouts 1.1
-import org.kde.plasma.core 2.0 as PlasmaCore
-import "../../code/config-utils.js" as ConfigUtils
-import "../../code/model-utils.js" as ModelUtils
-
-Item {
- id: resourcesConfigPage
-
- property double tableWidth: parent.width
-
- property string cfg_resources
- property alias cfg_warningTemperature: warningTemperatureSpinBox.value
- property alias cfg_meltdownTemperature: meltdownTemperatureSpinBox.value
-
- property var preparedSystemMonitorSources: []
-
- ListModel {
- id: resourcesModel
- }
-
- ListModel {
- id: comboboxModel
- }
-
- ListModel {
- id: checkboxesSourcesModel
- }
-
- Component.onCompleted: {
-
- systemmonitorDS.sources.forEach(function (source) {
-
- if ((source.indexOf('lmsensors/') === 0 || source.indexOf(
- 'acpi/Thermal_Zone/') === 0) && !source.match(
- /\/fan[0-9]*$/)) {
-
- comboboxModel.append({
- "text": source,
- "val": source
- })
-
- print('source to combo: ' + source)
- }
- })
-
- var resources = ConfigUtils.getResourcesObjectArray()
- resources.forEach(function (resourceObj) {
- resourcesModel.append(resourceObj)
- })
- }
-
- function reloadComboboxModel(temperatureObj) {
-
- temperatureObj = temperatureObj || {}
- var childSourceObjects = temperatureObj.childSourceObjects || {}
- var childSourceObjectsEmpty = !temperatureObj.childSourceObjects
-
- checkboxesSourcesModel.clear()
- sourceCombo.currentIndex = 0
-
- print('sourceName to select: ' + temperatureObj.sourceName)
-
- addResourceDialog.sourceTypeSwitch = temperatureObj.sourceName
- === 'group-of-sources' ? 1 : 0
- addResourceDialog.setVirtualSelected()
-
- addResourceDialog.groupSources.length = 0
-
- for (var i = 0; i < comboboxModel.count; i++) {
- var source = comboboxModel.get(i).val
-
- if (source === temperatureObj.sourceName) {
- sourceCombo.currentIndex = i
- }
-
- var checkboxChecked = childSourceObjectsEmpty
- || (source in childSourceObjects)
- checkboxesSourcesModel.append({
- "text": source,
- "val": source,
- "checkboxChecked": checkboxChecked
- })
- if (checkboxChecked) {
- addResourceDialog.groupSources.push(source)
- }
- }
- }
-
- function resourcesModelChanged() {
- var newResourcesArray = []
- for (var i = 0; i < resourcesModel.count; i++) {
- var obj = resourcesModel.get(i)
- newResourcesArray.push({
- "sourceName": obj.sourceName,
- "alias": obj.alias,
- "overrideLimitTemperatures": obj.overrideLimitTemperatures,
- "warningTemperature": obj.warningTemperature,
- "meltdownTemperature": obj.meltdownTemperature,
- "virtual": obj.virtual,
- "childSourceObjects": obj.childSourceObjects
- })
- }
- cfg_resources = JSON.stringify(newResourcesArray)
- print('resources: ' + cfg_resources)
- }
-
- function fillAddResourceDialogAndOpen(temperatureObj, editResourceIndex) {
-
- // set dialog title
- addResourceDialog.addResource = temperatureObj === null
- addResourceDialog.editResourceIndex = editResourceIndex
-
- temperatureObj = temperatureObj || {
- "alias": '',
- "overrideLimitTemperatures": false,
- "meltdownTemperature": 90,
- "warningTemperature": 70
- }
-
- // set combobox
- reloadComboboxModel(temperatureObj)
-
- // alias
- aliasTextfield.text = temperatureObj.alias
- showAlias.checked = !!temperatureObj.alias
-
- // temperature overrides
- overrideLimitTemperatures.checked = temperatureObj.overrideLimitTemperatures
- warningTemperatureItem.value = temperatureObj.warningTemperature
- meltdownTemperatureItem.value = temperatureObj.meltdownTemperature
-
- // open dialog
- addResourceDialog.open()
- }
-
- Dialog {
- id: addResourceDialog
-
- property bool addResource: true
- property int editResourceIndex: -1
-
- title: addResource ? i18n('Add Resource') : i18n('Edit Resource')
-
- width: tableWidth
-
- property int tableIndex: 0
- property double fieldHeight: addResourceDialog.height / 5 - 3
-
- property bool virtualSelected: true
-
- standardButtons: StandardButton.Ok | StandardButton.Cancel
-
- property int sourceTypeSwitch: 0
-
- property var groupSources: []
-
- ExclusiveGroup {
- id: sourceTypeGroup
- }
-
- onSourceTypeSwitchChanged: {
- switch (sourceTypeSwitch) {
- case 0:
- sourceTypeGroup.current = singleSourceTypeRadio
- break
- case 1:
- sourceTypeGroup.current = multipleSourceTypeRadio
- break
- default:
-
- }
- setVirtualSelected()
- }
-
- function setVirtualSelected() {
- virtualSelected = sourceTypeSwitch === 1
- print('SET VIRTUAL SELECTED: ' + virtualSelected)
- }
-
- onAccepted: {
- if (!showAlias.checked) {
- aliasTextfield.text = ''
- } else if (!aliasTextfield.text) {
- aliasTextfield.text = ''
- }
-
- var childSourceObjects = {}
- groupSources.forEach(function (groupSource) {
- print('adding source to group: ' + groupSource)
- childSourceObjects[groupSource] = {
- "temperature": 0
- }
- })
-
- var newObject = {
- "sourceName": virtualSelected ? 'group-of-sources' : comboboxModel.get(
- sourceCombo.currentIndex).val,
- "alias": aliasTextfield.text,
- "overrideLimitTemperatures": overrideLimitTemperatures.checked,
- "warningTemperature": warningTemperatureItem.value,
- "meltdownTemperature": meltdownTemperatureItem.value,
- "virtual": virtualSelected,
- "childSourceObjects": childSourceObjects
- }
-
- if (addResourceDialog.addResource) {
- resourcesModel.append(newObject)
- } else {
- resourcesModel.set(addResourceDialog.editResourceIndex,
- newObject)
- }
-
- resourcesModelChanged()
- addResourceDialog.close()
- }
-
- GridLayout {
- columns: 2
-
- RadioButton {
- id: singleSourceTypeRadio
- exclusiveGroup: sourceTypeGroup
- text: i18n("Source")
- onCheckedChanged: {
- if (checked) {
- addResourceDialog.sourceTypeSwitch = 0
- }
- addResourceDialog.setVirtualSelected()
- }
- checked: true
- }
- ComboBox {
- id: sourceCombo
- Layout.preferredWidth: tableWidth / 2
- model: comboboxModel
- enabled: !addResourceDialog.virtualSelected
- }
-
- RadioButton {
- id: multipleSourceTypeRadio
- exclusiveGroup: sourceTypeGroup
- text: i18n("Group of sources")
- onCheckedChanged: {
- if (checked) {
- addResourceDialog.sourceTypeSwitch = 1
- }
- addResourceDialog.setVirtualSelected()
- }
- Layout.alignment: Qt.AlignTop
- }
- ListView {
- id: checkboxesSourcesListView
- model: checkboxesSourcesModel
- delegate: CheckBox {
- text: val
- checked: checkboxChecked
- onCheckedChanged: {
- if (checked) {
- if (addResourceDialog.groupSources.indexOf(
- val) === -1) {
- addResourceDialog.groupSources.push(val)
- }
- } else {
- var idx = addResourceDialog.groupSources.indexOf(
- val)
- if (idx !== -1) {
- addResourceDialog.groupSources.splice(idx, 1)
- }
- }
- }
- }
- enabled: addResourceDialog.virtualSelected
- Layout.preferredWidth: tableWidth / 2
- Layout.preferredHeight: contentHeight
- }
-
- Item {
- Layout.columnSpan: 2
- width: 2
- height: 5
- }
-
- Label {
- text: i18n(
- "NOTE: Group of sources shows the highest temperature of chosen sources.")
- Layout.columnSpan: 2
- enabled: addResourceDialog.virtualSelected
- }
-
- Item {
- Layout.columnSpan: 2
- width: 2
- height: 10
- }
-
- CheckBox {
- id: showAlias
- text: i18n("Show alias:")
- checked: true
- Layout.alignment: Qt.AlignRight
- }
- TextField {
- id: aliasTextfield
- Layout.preferredWidth: tableWidth / 2
- enabled: showAlias.checked
- }
-
- Item {
- Layout.columnSpan: 2
- width: 2
- height: 10
- }
-
- CheckBox {
- id: overrideLimitTemperatures
- text: i18n("Override limit temperatures")
- Layout.columnSpan: 2
- checked: false
- }
-
- Label {
- text: i18n('Warning temperature [°C]:')
- Layout.alignment: Qt.AlignRight
- }
- SpinBox {
- id: warningTemperatureItem
- stepSize: 10
- minimumValue: 10
- enabled: overrideLimitTemperatures.checked
- }
-
- Label {
- text: i18n('Meltdown temperature [°C]:')
- Layout.alignment: Qt.AlignRight
- }
- SpinBox {
- id: meltdownTemperatureItem
- stepSize: 10
- minimumValue: 10
- enabled: overrideLimitTemperatures.checked
- }
- }
- }
-
- GridLayout {
- columns: 2
-
- Label {
- text: i18n('Plasmoid version: ') + '1.2.8'
- Layout.alignment: Qt.AlignRight
- Layout.columnSpan: 2
- }
-
- Label {
- text: i18n('Resources')
- font.bold: true
- Layout.alignment: Qt.AlignLeft
- }
-
- Item {
- width: 2
- height: 2
- }
-
- TableView {
-
- headerVisible: true
-
- Label {
- text: i18n('Add resources by clicking "+" button.')
- anchors.centerIn: parent
- visible: resourcesModel.count === 0
- }
-
- TableViewColumn {
- role: 'sourceName'
- title: i18n('Source')
- width: tableWidth * 0.6
- delegate: MouseArea {
- anchors.fill: parent
- Label {
- text: styleData.value
- elide: Text.ElideRight
- anchors.left: parent.left
- anchors.leftMargin: 5
- anchors.right: parent.right
- anchors.rightMargin: 5
- }
- cursorShape: Qt.PointingHandCursor
- onClicked: {
- fillAddResourceDialogAndOpen(resourcesModel.get(
- styleData.row),
- styleData.row)
- }
- }
- }
-
- TableViewColumn {
- role: 'alias'
- title: i18n('Alias')
- width: tableWidth * 0.15
- delegate: MouseArea {
- anchors.fill: parent
- Label {
- text: styleData.value
- elide: Text.ElideRight
- anchors.left: parent.left
- anchors.leftMargin: 5
- anchors.right: parent.right
- anchors.rightMargin: 5
- }
- cursorShape: Qt.PointingHandCursor
- onClicked: {
- fillAddResourceDialogAndOpen(resourcesModel.get(
- styleData.row),
- styleData.row)
- }
- }
- }
-
- TableViewColumn {
- title: i18n('Action')
- width: tableWidth * 0.25 - 4
-
- delegate: Item {
-
- GridLayout {
- height: parent.height
- columns: 3
- rowSpacing: 0
-
- Button {
- iconName: 'go-up'
- Layout.fillHeight: true
- onClicked: {
- resourcesModel.move(styleData.row,
- styleData.row - 1, 1)
- resourcesModelChanged()
- }
- enabled: styleData.row > 0
- }
-
- Button {
- iconName: 'go-down'
- Layout.fillHeight: true
- onClicked: {
- resourcesModel.move(styleData.row,
- styleData.row + 1, 1)
- resourcesModelChanged()
- }
- enabled: styleData.row < resourcesModel.count - 1
- }
-
- Button {
- iconName: 'list-remove'
- Layout.fillHeight: true
- onClicked: {
- resourcesModel.remove(styleData.row)
- resourcesModelChanged()
- }
- }
- }
- }
- }
-
- model: resourcesModel
-
- Layout.preferredHeight: 150
- Layout.preferredWidth: tableWidth
- Layout.columnSpan: 2
- }
- Button {
- id: buttonAddResource
- iconName: 'list-add'
- Layout.preferredWidth: 100
- Layout.columnSpan: 2
- onClicked: {
- fillAddResourceDialogAndOpen(null, -1)
- }
- }
-
- Item {
- width: 2
- height: 20
- Layout.columnSpan: 2
- }
-
- Label {
- text: i18n('Notifications')
- font.bold: true
- Layout.alignment: Qt.AlignLeft
- }
-
- Item {
- width: 2
- height: 2
- }
-
- Label {
- text: i18n('Warning temperature [°C]:')
- Layout.alignment: Qt.AlignRight
- }
- SpinBox {
- id: warningTemperatureSpinBox
- stepSize: 1
- minimumValue: 10
- maximumValue: 200
- }
-
- Label {
- text: i18n('Meltdown temperature [°C]:')
- Layout.alignment: Qt.AlignRight
- }
- SpinBox {
- id: meltdownTemperatureSpinBox
- stepSize: 1
- minimumValue: 10
- maximumValue: 200
- }
- }
-
- PlasmaCore.DataSource {
- id: systemmonitorDS
- engine: 'systemmonitor'
- }
-
- PlasmaCore.DataSource {
- id: udisksDS
- engine: 'executable'
-
- connectedSources: [ModelUtils.UDISKS_DEVICES_CMD]
- property bool prepared: false
-
- onNewData: {
- if (!prepared) {
-
- //connectedSources.length = 0
- if (data['exit code'] > 0) {
- print('New data incomming. Source: ' + sourceName + ', ERROR: ' + data.stderr)
- return
- }
-
- print('New data incomming. Source: ' + sourceName + ', data: ' + data.stdout)
-
- var pathsToCheck = ModelUtils.parseUdisksPaths(data.stdout)
- pathsToCheck.forEach(function (pathObj) {
- var cmd = ModelUtils.UDISKS_VIRTUAL_PATH_PREFIX + pathObj.name
- comboboxModel.append({
- "text": cmd,
- "val": cmd
- })
- })
- prepared = true
- }
- }
- //interval: 500
- }
-
- PlasmaCore.DataSource {
- id: nvidiaDS
- engine: 'executable'
-
- connectedSources: ['nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader']
- property bool prepared: false
-
- onNewData: {
- if (!prepared) {
- //nvidiaDS.connectedSources.length = 0
- if (data['exit code'] > 0) {
- prepared = true
- return
- }
-
- comboboxModel.append({
- "text": 'nvidia-smi',
- "val": 'nvidia-smi'
- })
- prepared = true
- }
- }
- //interval: 500
- }
-
- PlasmaCore.DataSource {
- id: atiDS
- engine: 'executable'
-
- connectedSources: ['aticonfig --od-gettemperature']
- property bool prepared: false
-
- onNewData: {
- if (!prepared) {
- //atiDS.connectedSources.length = 0
- if (data['exit code'] > 0) {
- prepared = true
- return
- }
-
- comboboxModel.append({
- "text": 'aticonfig',
- "val": 'aticonfig'
- })
- prepared = true
- }
- }
- //interval: 500
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/contents/ui/main.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/contents/ui/main.qml
deleted file mode 100644
index 5ab57e8..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/contents/ui/main.qml
+++ /dev/null
@@ -1,414 +0,0 @@
-
-/*
- * Copyright 2015 Martin Kotelnik
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-import QtQuick 2.2
-import QtQuick.Layouts 1.1
-import QtGraphicalEffects 1.0
-import org.kde.plasma.plasmoid 2.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-import "../code/model-utils.js" as ModelUtils
-import "../code/config-utils.js" as ConfigUtils
-
-Item {
- id: main
-
- anchors.fill: parent
-
- property bool vertical: (plasmoid.formFactor == PlasmaCore.Types.Vertical)
- property bool planar: (plasmoid.formFactor == PlasmaCore.Types.Planar)
-
- property bool initialized: false
-
- // configuration
- property int temperatureUnit: plasmoid.configuration.temperatureUnit
- property string configuredResources: plasmoid.configuration.resources
- property int baseWarningTemperature: plasmoid.configuration.warningTemperature
- property int baseMeltdownTemperature: plasmoid.configuration.meltdownTemperature
- property int updateInterval: 1000 * plasmoid.configuration.updateInterval
-
- property int itemMargin: 5
- property double itemWidth: 0
- property double itemHeight: 0
-
- property color warningColor: Qt.tint(theme.textColor, '#60FF0000')
- property var textFontFamily: theme.defaultFont.family
-
- Plasmoid.preferredRepresentation: Plasmoid.fullRepresentation
-
- property double aliasFontSize: itemHeight * plasmoid.configuration.aliasFontSize * 0.01
- property double temperatureFontSize: itemHeight
- * plasmoid.configuration.temperatureFontSize * 0.01
- property double iconFontSize: itemHeight * plasmoid.configuration.iconFontSize * 0.01
- property double temperatureRightMargin: itemHeight
- * plasmoid.configuration.temperatureRightMargin * 0.01
- property double iconBottomMargin: itemHeight * plasmoid.configuration.iconBottomMargin * 0.01
- property bool enableLabelDropShadow: plasmoid.configuration.enableLabelDropShadow
-
- property var systemmonitorAvailableSources
- property var systemmonitorSourcesToAdd
-
- property int numberOfParts: temperatureModel.count
-
- property double parentWidth: parent !== null ? parent.width : 0
- property double parentHeight: parent !== null ? parent.height : 0
-
- property double widgetWidth: 0
- property double widgetHeight: 0
-
- Layout.preferredWidth: widgetWidth
- Layout.preferredHeight: widgetHeight
-
- property bool debugLogging: false
-
- function dbgprint(msg) {
- if (!debugLogging) {
- return
- }
- print('[thermalMonitor] ' + msg)
- }
-
- onParentWidthChanged: setWidgetSize()
- onParentHeightChanged: setWidgetSize()
- onNumberOfPartsChanged: setWidgetSize()
-
- function setWidgetSize() {
- if (!parentHeight) {
- return
- }
- var orientationVertical = false
- if (planar) {
- var contentItemWidth = parentHeight
- var contentWidth = numberOfParts * contentItemWidth + (numberOfParts - 1) * itemMargin
- var restrictToWidth = contentWidth / parentWidth > 1
- itemWidth = restrictToWidth ? (parentWidth + itemMargin) / numberOfParts
- - itemMargin : contentItemWidth
- } else if (vertical) {
- orientationVertical = true
- itemWidth = parentWidth
- } else {
- itemWidth = parentHeight
- }
- itemHeight = itemWidth
- widgetWidth = orientationVertical ? itemWidth : numberOfParts * itemWidth
- + (numberOfParts - 1) * itemMargin
- widgetHeight = orientationVertical ? numberOfParts * itemHeight
- + (numberOfParts - 1) * itemMargin : itemHeight
- }
-
- FontLoader {
- source: '../fonts/fontawesome-webfont-4.3.0.ttf'
- }
-
- Image {
- id: noResourceIcon
-
- anchors.centerIn: parent
-
- visible: temperatureModel.count === 0
-
- height: itemHeight
- width: height
-
- source: '../images/thermal-monitor.svg'
- }
-
- ListView {
- id: listView
-
- anchors.centerIn: parent
- width: widgetWidth
- height: widgetHeight
-
- orientation: !planar
- && vertical ? ListView.Vertical : ListView.Horizontal
- spacing: itemMargin
-
- model: temperatureModel
-
- delegate: TemperatureItem {}
- }
-
-
- /*
- *
- * One object has these properties: temperature, alias and other
- *
- */
- ListModel {
- id: temperatureModel
- }
-
- Component.onCompleted: {
- plasmoid.setAction('reloadSources', i18n('Reload Temperature Sources'),
- 'system-reboot')
- reloadAllSources()
- setWidgetSize()
- }
-
- onBaseWarningTemperatureChanged: {
- tryReloadSources()
- }
-
- onBaseMeltdownTemperatureChanged: {
- tryReloadSources()
- }
-
- onConfiguredResourcesChanged: {
- dbgprint('configured resources changed')
- tryReloadSources()
- }
-
- function tryReloadSources() {
- if (!initialized) {
- dbgprint('applet not initialized -> no reloading sources')
- return
- }
- reloadAllSources()
- }
-
- function getSystemmonitorAvailableSources() {
- if (!systemmonitorAvailableSources) {
- systemmonitorAvailableSources = systemmonitorDS.sources
- }
- return systemmonitorAvailableSources
- }
-
- function action_reloadSources() {
- reloadAllSources()
- }
-
- function reloadAllSources() {
-
- dbgprint('reloading all sources...')
-
- var resources = ConfigUtils.getResourcesObjectArray()
-
- temperatureModel.clear()
-
- if (!systemmonitorAvailableSources) {
- systemmonitorAvailableSources = []
- }
-
- if (!systemmonitorSourcesToAdd) {
- systemmonitorSourcesToAdd = []
- }
-
- if (systemmonitorDS.connectedSources === undefined) {
- systemmonitorDS.connectedSources = []
- }
-
- if (udisksDS.connectedSources === undefined) {
- udisksDS.connectedSources = []
- }
-
- if (nvidiaDS.connectedSources === undefined) {
- nvidiaDS.connectedSources = []
- }
-
- if (atiDS.connectedSources === undefined) {
- atiDS.connectedSources = []
- }
-
- systemmonitorSourcesToAdd.length = 0
- systemmonitorDS.connectedSources.length = 0
- udisksDS.connectedSources.length = 0
- udisksDS.cmdSourceBySourceName = {}
- nvidiaDS.connectedSources.length = 0
- atiDS.connectedSources.length = 0
-
- ModelUtils.initModels(resources, temperatureModel)
-
- for (var i = 0; i < temperatureModel.count; i++) {
- var tempObj = temperatureModel.get(i)
- var source = tempObj.sourceName
-
- if (source === 'group-of-sources') {
-
- dbgprint('adding group: ' + tempObj.alias)
-
- for (var childSource in tempObj.childSourceObjects) {
-
- dbgprint('adding source (for group): ' + childSource)
-
- addSourceToDs(childSource)
- }
- } else {
-
- addSourceToDs(source)
- }
- }
-
- ModelUtils.rebuildModelIndexByKey(temperatureModel)
-
- initialized = true
-
- dbgprint('reloadAllSources() DONE')
- }
-
- function addSourceToDs(source) {
-
- if (source.indexOf('udisks/') === 0) {
-
- var diskLabel = source.substring('udisks/'.length)
- var cmdSource = ModelUtils.getUdisksTemperatureCmd(diskLabel)
- udisksDS.cmdSourceBySourceName[cmdSource] = source
-
- dbgprint('adding source to udisksDS: ' + cmdSource)
-
- addToSourcesOfDatasource(udisksDS, cmdSource)
- } else if (source.indexOf('nvidia-') === 0
- && nvidiaDS.connectedSources.length === 0) {
-
- dbgprint('adding source to nvidiaDS')
-
- addToSourcesOfDatasource(nvidiaDS, nvidiaDS.nvidiaSource)
- } else if (source.indexOf('aticonfig') === 0
- && atiDS.connectedSources.length === 0) {
-
- dbgprint('adding source to atiDS')
-
- addToSourcesOfDatasource(atiDS, atiDS.atiSource)
- } else {
-
- dbgprint('adding source to systemmonitorDS: ' + source)
-
- //if (getSystemmonitorAvailableSources().indexOf(source) > -1) {
- dbgprint('adding to connected')
- addToSourcesOfDatasource(systemmonitorDS, source)
- // } else {
- // dbgprint('adding to sta')
- // systemmonitorSourcesToAdd.push(source)
- // }
- }
- }
-
- function addToSourcesOfDatasource(datasource, sourceName) {
- if (datasource.connectedSources.indexOf(sourceName) > -1) {
- // already added
- dbgprint('source already added: ' + sourceName)
- return
- }
- datasource.connectedSources.push(sourceName)
- }
-
- PlasmaCore.DataSource {
- id: systemmonitorDS
- engine: 'systemmonitor'
-
- property string lmSensorsStart: 'lmsensors/'
- property string acpiStart: 'acpi/Thermal_Zone/'
-
- onSourceAdded: {
-
- if (source.indexOf(lmSensorsStart) === 0 || source.indexOf(
- acpiStart) === 0) {
-
- systemmonitorAvailableSources.push(source)
- var staIndex = systemmonitorSourcesToAdd.indexOf(source)
- if (staIndex > -1) {
- addToSourcesOfDatasource(systemmonitorDS, source)
- systemmonitorSourcesToAdd.splice(staIndex, 1)
- }
- }
- }
-
- onNewData: {
- var temperature = 0
- if (data.value === undefined) {
- dbgprint('data for source ' + sourceName + ' not yet available')
- } else {
- temperature = parseFloat(data.value)
- }
- ModelUtils.updateTemperatureModel(temperatureModel, sourceName,
- temperature)
- }
- interval: updateInterval
- }
-
- PlasmaCore.DataSource {
- id: udisksDS
- engine: 'executable'
-
- property var cmdSourceBySourceName
-
- onNewData: {
-
- dbgprint('udisks new data - valid: ' + valid + ', stdout: ' + data.stdout)
-
- var temperature = 0
- if (data['exit code'] > 0) {
- dbgprint('new data error: ' + data.stderr)
- } else {
- temperature = ModelUtils.getCelsiaFromUdisksStdout(data.stdout)
- }
-
- ModelUtils.updateTemperatureModel(
- temperatureModel, cmdSourceBySourceName[sourceName],
- temperature)
- }
- interval: updateInterval
- }
-
- PlasmaCore.DataSource {
- id: nvidiaDS
- engine: 'executable'
-
- property string nvidiaSource: 'nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader'
-
- onNewData: {
- var temperature = 0
- if (data['exit code'] > 0) {
- dbgprint('new data error: ' + data.stderr)
- } else {
- temperature = parseFloat(data.stdout)
- }
-
- ModelUtils.updateTemperatureModel(temperatureModel, 'nvidia-smi',
- temperature)
- }
- interval: updateInterval
- }
-
- PlasmaCore.DataSource {
- id: atiDS
- engine: 'executable'
-
- property string atiSource: 'aticonfig --od-gettemperature | tail -1 | cut -c 43-44'
-
- onNewData: {
- var temperature = 0
- if (data['exit code'] > 0) {
- dbgprint('new data error: ' + data.stderr)
- } else {
- temperature = parseFloat(data.stdout)
- }
-
- ModelUtils.updateTemperatureModel(temperatureModel, 'aticonfig',
- temperature)
- }
- interval: updateInterval
- }
-
- Timer {
- interval: updateInterval
- repeat: true
- running: true
- onTriggered: {
- ModelUtils.computeVirtuals(temperatureModel)
- }
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/metadata.desktop b/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/metadata.desktop
deleted file mode 100644
index 5e1f4a7..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.thermalMonitorFix/metadata.desktop
+++ /dev/null
@@ -1,27 +0,0 @@
-[Desktop Entry]
-Name=Thermal Monitor
-Name[sr]=Праћење температуре
-Name[sr@ijekavian]=Праћење температуре
-Name[sr@ijekavianlatin]=Praćenje temperature
-Name[sr@latin]=Praćenje temperature
-Comment=Plasmoid for monitoring CPU, GPU and HDD temperature.
-Comment[sr]=Плазмоид за праћење температуре ЦПУ-а, ГПУ-а и тврдог диска.
-Comment[sr@ijekavian]=Плазмоид за праћење температуре ЦПУ-а, ГПУ-а и тврдог диска.
-Comment[sr@ijekavianlatin]=Plazmoid za praćenje temperature CPU-a, GPU-a i tvrdog diska.
-Comment[sr@latin]=Plazmoid za praćenje temperature CPU-a, GPU-a i tvrdog diska.
-Type=Service
-X-KDE-ParentApp=
-X-KDE-PluginInfo-Author=Kotelnik
-X-KDE-PluginInfo-Email=clearmartin@seznam.cz
-X-KDE-PluginInfo-License=GPL2
-X-KDE-PluginInfo-Name=org.kde.thermalMonitorFix
-X-KDE-PluginInfo-Version=0.1
-X-KDE-PluginInfo-Website=https://github.com/kotelnik/plasma-applet-thermal-monitor
-X-KDE-ServiceTypes=Plasma/Applet
-X-Plasma-API=declarativeappletscript
-X-Plasma-MainScript=ui/main.qml
-X-Plasma-RemoteLocation=
-X-KDE-PluginInfo-Category=System Information
-Icon=/usr/share/plasma/plasmoids/org.kde.thermalMonitor/contents/images/thermal-monitor.svg
-#prefix for Icon is: /usr/share/icons/breeze/actions/toolbar/
-#copy this file into ~/.local/share/kservices5
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/CHANGELOG.md b/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/CHANGELOG.md
deleted file mode 100644
index 6d80aab..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/CHANGELOG.md
+++ /dev/null
@@ -1,91 +0,0 @@
-### CHANGELOG
-
-#### Version 0.7.1
-
-* elide title in the middle of text
-* change window title dash to n-dash
-
-#### Version 0.7.0
-
-* small fixes all around the stack
-* fixes for unity-mode in latte panels
-
-#### Version 0.6.0
-
-* support more window actions with mouse:
- - Double Left Click : Maximize/restore active window
- - Middle Click : Close active window
- - Scroll up : Cycle between tasks
- - Scroll down : Minimize tasks
- - Ctrl + Scroll up : Maximize active window (this is also possible with double left click)
- - Ctrl + Scroll down : Restore active window from maximized state
-
-* add a placeholder-text option to be shown when no window is visible and the user does not want the current Activity name to be drawn
-* option to disable the title tooltip
-
-#### Version 0.5.2
-
-* fix bold font kerning issues
-
-#### Version 0.5.1
-
-* improve window title discovery for flatpaks
-* do not show empty window title when there are information from the application
-
-#### Version 0.5.0
-
-* use Latte Windows Tracking interface when in Latte v0.9
-* do not use icon size in computations when icon is not visible
-* do not draw Application Name/Window Title separator when any of these two could not be retrieved
-
-#### Version 0.4.1
-
-* improve signaling for Broadcaster
-* close ComboBox popup after selecting an item
-* add some debug messages
-
-#### Version 0.4
-
-* dont elide if there is free space in the panel
-* improve metrics and calculations for better visual results
-* support Unity behavior when used with Window AppMenu 0.4 in latest Latte master
-* update Appearance settings
-
-#### Version 0.3
-
-* improve defaults and behavior for Latte edit mode
-* elide text if applet exceeds panel space
-* elide only title when needed
-* improvements for settings window
-* synchronize scrolling for substitutions elements
-* support new Latte Communicator mechanism from Latte git version
-
-#### Version 0.2
-
-* Fifth Text Style, "Do not show any text"
-* Font option to capitalize first letters
-* Multi-screen aware in order to locate active window in the current screen or at all screens
-* Support user-set maximum icon size
-* Double click to maximize/restore active window (for plasma panels)
-* Option to hide Activity information when no window is active
-* Split settings to Appearance and Behavior
-* Show tooltip when hovering to provide more information
-* Support Application Name substitutions in Behavior settings page
-
-#### Version 0.1
-
-* Four different text styles, [Application, Title, Application - Title, Title - Application]
-* Support both horizontal and vertical alignments
-* Show window icon
-* Maximize window icon to applet thickness (optional)
-* Bold/Italic font
-* Set maximum length in pixels or use all the required space to show all contents
-* Set spacing between icon and title
-* Left/Right or Top/Bottom margins
-* Multi-screen ready
-* Show activity name/icon when there is not any active window
-* Double click in order to maximize/restore active window (for plasma panels)
-* Latte v0.9 ready
- * support new painting
- * support maximize/restore active window
- * support dragging active window from latte panel
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/LICENSE b/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/LICENSE
deleted file mode 100644
index d159169..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/LICENSE
+++ /dev/null
@@ -1,339 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Lesser General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-
- Copyright (C)
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) year name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- , 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/README.md b/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/README.md
deleted file mode 100644
index 07c0e1d..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/README.md
+++ /dev/null
@@ -1,30 +0,0 @@
-# Window Title Applet
-
-This is a Plasma 5 applet that shows the current window title and icon in your panels. This plasmoid is coming from [Latte land](https://phabricator.kde.org/source/latte-dock/repository/master/) but it can also support Plasma panels.
-
-
-
-Window Title left to Plasma 5 global menu
-
-
-
-
-Appearance Settings
-
-
-
-
-Behavior Settings
-
-
-# Requires
-
-- Plasma >= 5.8
-- KDeclarative
-- Kirigami2
-
-# Install
-
-This is a QML applet and as such it can be easily installed from Plasma 5 Widgets Explorer or alternative you can execute `plasmapkg2 -i .` in the root directory of the applet.
-
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/contents/config/config.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/contents/config/config.qml
deleted file mode 100644
index 05a11a0..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/contents/config/config.qml
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
-* Copyright 2018 Michail Vourlakos
-*
-* This file is part of applet-window-title
-*
-* Latte-Dock is free software; you can redistribute it and/or
-* modify it under the terms of the GNU General Public License as
-* published by the Free Software Foundation; either version 2 of
-* the License, or (at your option) any later version.
-*
-* Latte-Dock is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see .
-*/
-
-import QtQuick 2.0
-
-import org.kde.plasma.configuration 2.0
-
-ConfigModel {
- ConfigCategory {
- name: i18n("Appearance")
- icon: "preferences-desktop-display-color"
- source: "config/ConfigAppearance.qml"
- }
- ConfigCategory {
- name: i18n("Behavior")
- icon: "preferences-desktop"
- source: "config/ConfigBehavior.qml"
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/contents/config/main.xml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/contents/config/main.xml
deleted file mode 100644
index 9397e8f..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/contents/config/main.xml
+++ /dev/null
@@ -1,132 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0
-
-
- true
-
-
-
- true
-
-
-
- 36
-
-
-
- true
-
-
-
- false
-
-
-
- true
-
-
-
- 0
-
-
-
- 0
-
-
-
- true
-
-
-
- false
-
-
-
- false
-
-
-
- -1
-
-
-
- 4
-
-
-
- true
-
-
-
-
-
-
-
-
-
-
- 0
-
-
- 400
-
-
-
- 1500
-
-
-
- false
-
-
-
- true
-
-
-
-
-
-
-
- 2
-
-
-
-
-
-
-
-
-
- 0
-
-
- "Telegram Desktop","Gimp-.*"
-
-
-
- "Telegram","Gimp"
-
-
-
- true
-
-
-
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/contents/tools/Tools.js b/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/contents/tools/Tools.js
deleted file mode 100644
index 2d707f2..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/contents/tools/Tools.js
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
-* Copyright 2018 Michail Vourlakos
-*
-* This file is part of applet-window-title
-*
-* Latte-Dock is free software; you can redistribute it and/or
-* modify it under the terms of the GNU General Public License as
-* published by the Free Software Foundation; either version 2 of
-* the License, or (at your option) any later version.
-*
-* Latte-Dock is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see .
-*/
-
-function qBound(min,value,max)
-{
- return Math.max(Math.min(max, root.width - 150), min);
-}
-
-function cleanStringListItem(item)
-{
- //console.log(item + " * " + item.length + " * " + item.indexOf('"') + " * " + item.lastIndexOf('"'));
- if (item.length>=2 && item.indexOf('"')===0 && item.lastIndexOf('"')===item.length-1) {
- return item.substring(1, item.length-1);
- } else {
- return item;
- }
-}
-
-function applySubstitutes(text)
-{
- var minSize = Math.min(plasmoid.configuration.subsMatch.length, plasmoid.configuration.subsReplace.length);
-
- for (var i = 0; i
-*
-* This file is part of applet-window-title
-*
-* Latte-Dock is free software; you can redistribute it and/or
-* modify it under the terms of the GNU General Public License as
-* published by the Free Software Foundation; either version 2 of
-* the License, or (at your option) any later version.
-*
-* Latte-Dock is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see .
-*/
-
-import QtQuick 2.7
-
-import org.kde.plasma.plasmoid 2.0
-
-MouseArea {
- id: actionsArea
- acceptedButtons: Qt.LeftButton | Qt.MidButton
-
- property bool wheelIsBlocked: false
-
- onClicked: {
- if (existsWindowActive && mouse.button === Qt.MidButton) {
- windowInfoLoader.item.requestClose();
- }
- }
-
- onDoubleClicked: {
- if (existsWindowActive && mouse.button === Qt.LeftButton) {
- windowInfoLoader.item.toggleMaximized();
- }
- }
-
- onWheel: {
- if (wheelIsBlocked || !plasmoid.configuration.actionScrollMinimize) {
- return;
- }
-
- wheelIsBlocked = true;
- scrollDelayer.start();
-
- var delta = 0;
-
- if (wheel.angleDelta.y>=0 && wheel.angleDelta.x>=0) {
- delta = Math.max(wheel.angleDelta.y, wheel.angleDelta.x);
- } else {
- delta = Math.min(wheel.angleDelta.y, wheel.angleDelta.x);
- }
-
- var angle = delta / 8;
-
- var ctrlPressed = (wheel.modifiers & Qt.ControlModifier);
-
- if (angle>10) {
- //! upwards
- if (!ctrlPressed) {
- windowInfoLoader.item.activateNextPrevTask(true);
- } else if (windowInfoLoader.item.activeTaskItem
- && !windowInfoLoader.item.activeTaskItem.isMaximized){
- windowInfoLoader.item.toggleMaximized();
- }
- } else if (angle<-10) {
- //! downwards
- if (!ctrlPressed) {
- if (windowInfoLoader.item.activeTaskItem
- && !windowInfoLoader.item.activeTaskItem.isMinimized
- && windowInfoLoader.item.activeTaskItem.isMaximized){
- //! maximized
- windowInfoLoader.item.activeTaskItem.toggleMaximized();
- } else if (windowInfoLoader.item.activeTaskItem
- && !windowInfoLoader.item.activeTaskItem.isMinimized
- && !windowInfoLoader.item.activeTaskItem.isMaximized) {
- //! normal
- windowInfoLoader.item.activeTaskItem.toggleMinimized();
- }
- } else if (windowInfoLoader.item.activeTaskItem
- && windowInfoLoader.item.activeTaskItem.isMaximized) {
- windowInfoLoader.item.activeTaskItem.toggleMaximized();
- }
- }
- }
-
- //! A timer is needed in order to handle also touchpads that probably
- //! send too many signals very fast. This way the signals per sec are limited.
- //! The user needs to have a steady normal scroll in order to not
- //! notice a annoying delay
- Timer{
- id: scrollDelayer
-
- interval: 200
- onTriggered: actionsArea.wheelIsBlocked = false;
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/contents/ui/Broadcaster.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/contents/ui/Broadcaster.qml
deleted file mode 100644
index 06b8bfe..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/contents/ui/Broadcaster.qml
+++ /dev/null
@@ -1,199 +0,0 @@
-/*
-* Copyright 2019 Michail Vourlakos
-*
-* This file is part of applet-window-title
-*
-* Latte-Dock is free software; you can redistribute it and/or
-* modify it under the terms of the GNU General Public License as
-* published by the Free Software Foundation; either version 2 of
-* the License, or (at your option) any later version.
-*
-* Latte-Dock is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see .
-*/
-
-import QtQuick 2.7
-
-import org.kde.plasma.plasmoid 2.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-
-Item{
- id: broadcaster
-
- property bool hiddenFromBroadcast: false
-
- readonly property bool showAppMenuEnabled: plasmoid.configuration.showAppMenuOnMouseEnter
- property bool menuIsPresent: false
- property var appMenusRequestCooperation: []
- property int appMenusRequestCooperationCount: 0
-
- readonly property bool cooperationEstablished: appMenusRequestCooperationCount>0 && isActive
- readonly property bool isActive: plasmoid.configuration.appMenuIsPresent && showAppMenuEnabled && (plasmoid.formFactor === PlasmaCore.Types.Horizontal)
-
- readonly property int sendActivateAppMenuCooperationFromEditMode: plasmoid.configuration.sendActivateAppMenuCooperationFromEditMode
-
- function sendMessage() {
- if (cooperationEstablished && menuIsPresent) {
- broadcasterDelayer.start();
- }
- }
-
- function cancelMessage() {
- if (cooperationEstablished) {
- broadcasterDelayer.stop();
- }
- }
-
- Component.onDestruction: broadcoastCooperationRequest(false)
-
- onIsActiveChanged: {
- if (!isActive) {
- hiddenFromBroadcast = false;
- }
-
- broadcoastCooperationRequest(isActive)
- }
-
- onCooperationEstablishedChanged: {
- if (!cooperationEstablished) {
- broadcaster.hiddenFromBroadcast = false;
- }
- }
-
- onSendActivateAppMenuCooperationFromEditModeChanged: {
- if (plasmoid.configuration.sendActivateAppMenuCooperationFromEditMode >= 0) {
- var values = {
- appletId: plasmoid.id,
- cooperation: plasmoid.configuration.sendActivateAppMenuCooperationFromEditMode
- };
-
- latteBridge.actions.broadcastToApplet("org.kde.windowappmenu",
- "activateAppMenuCooperationFromEditMode",
- values);
-
- releaseSendActivateAppMenuCooperation.start();
- }
- }
-
- function broadcoastCooperationRequest(enabled) {
- if (latteBridge) {
- var values = {
- appletId: plasmoid.id,
- cooperation: enabled
- };
- latteBridge.actions.broadcastToApplet("org.kde.windowappmenu", "setCooperation", values);
- }
- }
-
- Connections {
- target: latteBridge
- onBroadcasted: {
- var updateAppMenuCooperations = false;
-
- if (broadcaster.cooperationEstablished) {
- if (action === "setVisible") {
- if (value === true) {
- broadcaster.hiddenFromBroadcast = false;
- } else {
- broadcaster.hiddenFromBroadcast = true;
- }
- } else if (action === "menuIsPresent") {
- broadcaster.menuIsPresent = value;
- }
- }
-
- if (action === "isPresent") {
- plasmoid.configuration.appMenuIsPresent = value;
- } else if (action === "setCooperation") {
- updateAppMenuCooperations = true;
- } else if (action === "activateWindowTitleCooperationFromEditMode") {
- plasmoid.configuration.showAppMenuOnMouseEnter = value.cooperation;
- updateAppMenuCooperations = true;
- }
-
- if (updateAppMenuCooperations) {
- var indexed = broadcaster.appMenusRequestCooperation.indexOf(value.appletId);
- var isFiled = (indexed >= 0);
-
- if (value.cooperation && !isFiled) {
- broadcaster.appMenusRequestCooperation.push(value.appletId);
- broadcaster.appMenusRequestCooperationCount++;
- } else if (!value.cooperation && isFiled) {
- broadcaster.appMenusRequestCooperation.splice(indexed, 1);
- broadcaster.appMenusRequestCooperationCount--;
- }
- }
- }
- }
-
- Timer{
- id: broadcasterDelayer
- interval: 5
- onTriggered: {
- if (latteBridge) {
- if (broadcasterMouseArea.realContainsMouse && existsWindowActive) {
- broadcaster.hiddenFromBroadcast = true;
- latteBridge.actions.broadcastToApplet("org.kde.windowappmenu", "setVisible", true);
- } else {
- broadcaster.hiddenFromBroadcast = false;
- latteBridge.actions.broadcastToApplet("org.kde.windowappmenu", "setVisible", false);
- }
- }
- }
- }
-
- Timer {
- id: releaseSendActivateAppMenuCooperation
- interval: 50
- onTriggered: plasmoid.configuration.sendActivateAppMenuCooperationFromEditMode = -1;
- }
-
- //!!!! MouseArea for Broadcaster
- MouseArea{
- id: broadcasterMouseArea
- anchors.fill: parent
- visible: broadcaster.cooperationEstablished && broadcaster.menuIsPresent
- hoverEnabled: true
- propagateComposedEvents: true
-
- property int mouseAX: -1
- property int mouseAY: -1
-
- //! HACK :: For some reason containsMouse breaks in some cases
- //! this hack is used in order to be sure when the mouse is really
- //! inside the MouseArea or not
- readonly property bool realContainsMouse: mouseAX !== -1 || mouseAY !== -1
-
- onContainsMouseChanged: {
- mouseAX = -1;
- mouseAY = -1;
- }
-
- onMouseXChanged: mouseAX = mouseX;
- onMouseYChanged: mouseAY = mouseY;
-
- onRealContainsMouseChanged: {
- if (broadcaster.cooperationEstablished) {
- if (realContainsMouse) {
- broadcaster.sendMessage();
- } else {
- broadcaster.cancelMessage();
- }
- }
- }
-
- onPressed: {
- mouse.accepted = false;
- }
-
- onReleased: {
- mouse.accepted = false;
- }
- }
-
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/contents/ui/LatteWindowsTracker.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/contents/ui/LatteWindowsTracker.qml
deleted file mode 100644
index b534562..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/contents/ui/LatteWindowsTracker.qml
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
-* Copyright 2019 Michail Vourlakos
-*
-* This file is part of applet-window-title
-*
-* Latte-Dock is free software; you can redistribute it and/or
-* modify it under the terms of the GNU General Public License as
-* published by the Free Software Foundation; either version 2 of
-* the License, or (at your option) any later version.
-*
-* Latte-Dock is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see .
-*/
-
-import QtQuick 2.7
-
-Item {
- id: latteWindowsTracker
- readonly property bool existsWindowActive: selectedTracker.lastActiveWindow.isValid && !activeTaskItem.isMinimized
- readonly property bool existsWindowShown: selectedTracker.lastActiveWindow.isValid && !activeTaskItem.isMinimized
-
- readonly property QtObject selectedTracker: plasmoid.configuration.filterByScreen ? latteBridge.windowsTracker.currentScreen : latteBridge.windowsTracker.allScreens
-
- readonly property Item activeTaskItem: Item {
- id: taskInfoItem
- readonly property bool isMinimized: selectedTracker.lastActiveWindow.isMinimized
- readonly property bool isMaximized: selectedTracker.lastActiveWindow.isMaximized
- readonly property bool isActive: selectedTracker.lastActiveWindow.isActive
- readonly property bool isOnAllDesktops: selectedTracker.lastActiveWindow.isOnAllDesktops
- readonly property bool isKeepAbove: selectedTracker.lastActiveWindow.isKeepAbove
-
- readonly property bool isClosable: selectedTracker.lastActiveWindow.hasOwnProperty("isClosable") ? selectedTracker.lastActiveWindow.isClosable : true
- readonly property bool isMinimizable: selectedTracker.lastActiveWindow.hasOwnProperty("isMinimizable") ? selectedTracker.lastActiveWindow.isMinimizable : true
- readonly property bool isMaximizable: selectedTracker.lastActiveWindow.hasOwnProperty("isMaximizable") ? selectedTracker.lastActiveWindow.isMaximizable : true
- readonly property bool isVirtualDesktopsChangeable: selectedTracker.lastActiveWindow.hasOwnProperty("isVirtualDesktopsChangeable") ?
- selectedTracker.lastActiveWindow.isVirtualDesktopsChangeable : true
-
- readonly property int winId: selectedTracker.lastActiveWindow.hasOwnProperty("winId") ? selectedTracker.lastActiveWindow.winId : -1
-
-
- //! appname / title
- property var icon: selectedTracker.lastActiveWindow.icon
-
- readonly property string appName: modelAppName !== "" ? modelAppName : discoveredAppName
- readonly property string modelAppName: selectedTracker.lastActiveWindow.appName
- readonly property string modelDisplay: selectedTracker.lastActiveWindow.display
-
- property string title: ""
- property string discoveredAppName: ""
-
- function cleanupTitle() {
- var text = modelDisplay;
- var t = text;
- var sep = t.lastIndexOf(" —– ");
- var spacer = 4;
-
- if (sep === -1) {
- sep = t.lastIndexOf(" -- ");
- spacer = 4;
- }
-
- if (sep === -1) {
- sep = t.lastIndexOf(" -- ");
- spacer = 4;
- }
-
- if (sep === -1) {
- sep = t.lastIndexOf(" — ");
- spacer = 3;
- }
-
- if (sep === -1) {
- sep = t.lastIndexOf(" - ");
- spacer = 3;
- }
-
- var dTitle = "";
- var dAppName = "";
-
- if (sep>-1) {
- dTitle = text.substring(0, sep);
- discoveredAppName = text.substring(sep+spacer, text.length);
-
- //if title starts with application name, swap the found records
- if (dTitle.startsWith(modelAppName)) {
- var firstPart = dTitle;
- dTitle = discoveredAppName;
- discoveredAppName = firstPart;
- }
- }
-
- if (sep>-1) {
- title = dTitle;
- } else {
- title = t;
- }
- }
-
- onModelAppNameChanged: taskInfoItem.cleanupTitle()
- onModelDisplayChanged: taskInfoItem.cleanupTitle()
- Component.onCompleted: taskInfoItem.cleanupTitle()
- }
-
- function toggleMaximized() {
- selectedTracker.lastActiveWindow.requestToggleMaximized();
- }
-
- function toggleMinimized() {
- selectedTracker.lastActiveWindow.requestToggleMinimized();
- }
-
- function toggleClose() {
- selectedTracker.lastActiveWindow.requestClose();
- }
-
- function togglePinToAllDesktops() {
- selectedTracker.lastActiveWindow.requestToggleIsOnAllDesktops();
- }
-
- function toggleKeepAbove(){
- selectedTracker.lastActiveWindow.requestToggleKeepAbove();
- }
-}
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/contents/ui/PlasmaTasksModel.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/contents/ui/PlasmaTasksModel.qml
deleted file mode 100644
index 895d531..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/contents/ui/PlasmaTasksModel.qml
+++ /dev/null
@@ -1,237 +0,0 @@
-/*
-* Copyright 2019 Michail Vourlakos
-*
-* This file is part of applet-window-title
-*
-* Latte-Dock is free software; you can redistribute it and/or
-* modify it under the terms of the GNU General Public License as
-* published by the Free Software Foundation; either version 2 of
-* the License, or (at your option) any later version.
-*
-* Latte-Dock is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see .
-*/
-
-import QtQuick 2.7
-import QtQml.Models 2.2
-
-import org.kde.taskmanager 0.1 as TaskManager
-
-Item {
- id: plasmaTasksItem
- readonly property bool existsWindowActive: root.activeTaskItem && tasksRepeater.count > 0 && activeTaskItem.isActive
- property Item activeTaskItem: null
-
- TaskManager.TasksModel {
- id: tasksModel
- sortMode: TaskManager.TasksModel.SortVirtualDesktop
- groupMode: TaskManager.TasksModel.GroupDisabled
- screenGeometry: plasmoid.screenGeometry
- activity: activityInfo.currentActivity
- virtualDesktop: virtualDesktopInfo.currentDesktop
-
- filterByScreen: plasmoid.configuration.filterByScreen
- filterByVirtualDesktop: true
- filterByActivity: true
- }
-
- Item{
- id: taskList
- Repeater{
- id: tasksRepeater
- model: tasksModel
- Item{
- id: task
- readonly property string appName: modelAppName !== "" ? modelAppName : discoveredAppName
- readonly property bool isMinimized: IsMinimized === true ? true : false
- readonly property bool isMaximized: IsMaximized === true ? true : false
- readonly property bool isActive: IsActive === true ? true : false
- readonly property bool isOnAllDesktops: IsOnAllVirtualDesktops === true ? true : false
- property var icon: decoration
-
- readonly property string modelAppName: AppName
- readonly property string modelDisplay: display
-
- property string title: ""
- property string discoveredAppName: ""
-
- readonly property var m: model
-
- function cleanupTitle() {
- var text = display;
- var t = modelDisplay;
- var sep = t.lastIndexOf(" —– ");
- var spacer = 4;
-
- if (sep === -1) {
- sep = t.lastIndexOf(" -- ");
- spacer = 4;
- }
-
- if (sep === -1) {
- sep = t.lastIndexOf(" -- ");
- spacer = 4;
- }
-
- if (sep === -1) {
- sep = t.lastIndexOf(" — ");
- spacer = 3;
- }
-
- if (sep === -1) {
- sep = t.lastIndexOf(" - ");
- spacer = 3;
- }
-
- var dTitle = "";
- var dAppName = "";
-
- if (sep>-1) {
- dTitle = text.substring(0, sep);
- discoveredAppName = text.substring(sep+spacer, text.length);
-
- //if title starts with application name, swap the found records
- if (dTitle.startsWith(modelAppName)) {
- var firstPart = dTitle;
- dTitle = discoveredAppName;
- discoveredAppName = firstPart;
- }
- }
-
- if (sep>-1) {
- title = dTitle;
- } else {
- title = t;
- }
- }
-
- onIsActiveChanged: {
- if (isActive) {
- plasmaTasksItem.activeTaskItem = task;
- }
- }
-
- onModelAppNameChanged: task.cleanupTitle()
- onModelDisplayChanged: task.cleanupTitle()
- Component.onCompleted: task.cleanupTitle()
-
- Component.onDestruction: {
- if (plasmaTasksItem.lastActiveTaskItem === task) {
- plasmaTasksItem.lastActiveTaskItem = null;
- }
- }
-
- function modelIndex(){
- return tasksModel.makeModelIndex(index);
- }
-
- function toggleMaximized() {
- tasksModel.requestToggleMaximized(modelIndex());
- }
-
- function toggleMinimized() {
- tasksModel.requestToggleMinimized(modelIndex());
- }
-
- function requestClose() {
- tasksModel.requestClose(modelIndex());
- }
-
- function togglePinToAllDesktops() {
- if (root.plasma515) {
- tasksModel.requestVirtualDesktops(modelIndex(), 0);
- } else {
- tasksModel.requestVirtualDesktop(modelIndex(), 0);
- }
- }
-
- function toggleKeepAbove(){
- tasksModel.requestToggleKeepAbove(modelIndex());
- }
- }
- }
- }
-
- //! Functionality
-
- function toggleMaximized() {
- if (activeTaskItem) {
- activeTaskItem.toggleMaximized();
- }
- }
-
- function toggleMinimized() {
- if (activeTaskItem) {
- activeTaskItem.toggleMinimized();
- }
- }
-
- function requestClose() {
- if (activeTaskItem) {
- activeTaskItem.requestClose();
- }
- }
-
- function togglePinToAllDesktops() {
- if (activeTaskItem) {
- activeTaskItem.togglePinToAllDesktops();
- }
- }
-
- function toggleKeepAbove(){
- if (activeTaskItem) {
- activeTaskItem.toggleKeepAbove();
- }
- }
-
- //! Cycle Through Tasks
- function activateNextPrevTask(next) {
- var taskIndexList = [];
- var activeTaskIndex = tasksModel.activeTask;
-
- for (var i = 0; i < taskList.children.length - 1; ++i) {
- var task = taskList.children[i];
- var modelIndex = task.modelIndex(i);
-
- if (task.m.IsLauncher !== true && task.m.IsStartup !== true) {
- if (task.m.IsGroupParent === true) {
- for (var j = 0; j < tasksModel.rowCount(modelIndex); ++j) {
- taskIndexList.push(tasksModel.makeModelIndex(i, j));
- }
- } else {
- taskIndexList.push(modelIndex);
- }
- }
- }
-
- if (!taskIndexList.length) {
- return;
- }
-
- var target = taskIndexList[0];
-
- for (var i = 0; i < taskIndexList.length; ++i) {
- if (taskIndexList[i] === activeTaskIndex)
- {
- if (next && i < (taskIndexList.length - 1)) {
- target = taskIndexList[i + 1];
- } else if (!next) {
- if (i) {
- target = taskIndexList[i - 1];
- } else {
- target = taskIndexList[taskIndexList.length - 1];
- }
- }
-
- break;
- }
- }
-
- tasksModel.requestActivate(target);
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/contents/ui/TitleLayout.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/contents/ui/TitleLayout.qml
deleted file mode 100644
index 5ab8e1e..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/contents/ui/TitleLayout.qml
+++ /dev/null
@@ -1,285 +0,0 @@
-/*
-* Copyright 2018-2019 Michail Vourlakos
-*
-* This file is part of applet-window-title
-*
-* Latte-Dock is free software; you can redistribute it and/or
-* modify it under the terms of the GNU General Public License as
-* published by the Free Software Foundation; either version 2 of
-* the License, or (at your option) any later version.
-*
-* Latte-Dock is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see .
-*/
-
-import QtQuick 2.7
-import QtQml.Models 2.2
-import QtQuick.Layouts 1.1
-import QtQuick.Controls 1.4
-
-import org.kde.plasma.plasmoid 2.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.components 2.0 as PlasmaComponents
-
-GridLayout{
- id: titleLayout
- rows: plasmoid.formFactor === PlasmaCore.Types.Horizontal ? 1 : -1
- columns: plasmoid.formFactor === PlasmaCore.Types.Horizontal ? -1 : 1
- columnSpacing: 0
- rowSpacing: 0
-
- property bool isUsedForMetrics: false
- property bool exceedsAvailableSpace: false
- property bool exceedsApplicationText: false
-
- property int applicationTextLength: {
- var applicationLength = 0;
-
- var midSpacerLength = midSpacer.visible ?
- (plasmoid.formFactor === PlasmaCore.Types.Horizontal ? midSpacer.width : midSpacer.height) : 0;
-
- if (plasmoid.configuration.style === 0 /*Application*/
- || plasmoid.configuration.style === 2) { /*ApplicationTitle*/
- applicationLength = firstTxt.implicitWidth;
- } else if (plasmoid.configuration.style === 3) { /*TitleApplication*/
- applicationLength = lastTxt.implicitWidth + midSpacerLength;
- }
-
- var iconLength = mainIcon.visible ?
- (plasmoid.formFactor === PlasmaCore.Types.Horizontal ? mainIcon.width : mainIcon.height) : 0;
-
- var subElements = plasmoid.formFactor === PlasmaCore.Types.Horizontal ?
- firstSpacer.width + iconLength + midSpacerLength + lastSpacer.width:
- firstSpacer.height + iconLength + midSpacerLength + lastSpacer.height;
-
- return subElements + applicationLength;
- }
-
- Item{
- id: firstSpacer
- Layout.minimumWidth: plasmoid.formFactor === PlasmaCore.Types.Horizontal ? plasmoid.configuration.lengthFirstMargin : -1
- Layout.preferredWidth: Layout.minimumWidth
- Layout.maximumWidth: Layout.minimumWidth
-
- Layout.minimumHeight: plasmoid.formFactor === PlasmaCore.Types.Horizontal ? -1 : plasmoid.configuration.lengthFirstMargin
- Layout.preferredHeight: Layout.minimumHeight
- Layout.maximumHeight: Layout.minimumHeight
- }
-
- Item {
- id: mainIcon
-
- Layout.minimumWidth: plasmoid.formFactor === PlasmaCore.Types.Horizontal ?
- iconItem.iconSize : root.thickness
- Layout.maximumWidth: Layout.minimumWidth
-
- Layout.minimumHeight: plasmoid.formFactor === PlasmaCore.Types.Horizontal ?
- root.thickness : iconItem.iconSize
- Layout.maximumHeight: Layout.minimumHeight
-
- visible: plasmoid.configuration.showIcon
-
- PlasmaCore.IconItem{
- id: iconItem
- anchors.fill: parent
- anchors.topMargin: plasmoid.formFactor === PlasmaCore.Types.Horizontal ? thickMargin : 0
- anchors.bottomMargin: plasmoid.formFactor === PlasmaCore.Types.Horizontal ? thickMargin : 0
- anchors.leftMargin: plasmoid.formFactor === PlasmaCore.Types.Vertical ? thickMargin : 0
- anchors.rightMargin: plasmoid.formFactor === PlasmaCore.Types.Vertical ? thickMargin : 0
- roundToIconSize: !root.isInLatte
- source: existsWindowActive ? activeTaskItem.icon : fullActivityInfo.icon
-
-
- readonly property int thickMargin: plasmoid.configuration.iconFillThickness ?
- 0 : (root.thickness - iconSize) / 2
-
- readonly property int iconSize: plasmoid.configuration.iconFillThickness ?
- root.thickness : Math.min(root.thickness, plasmoid.configuration.iconSize)
- }
- }
-
- Item{
- id: midSpacer
- Layout.minimumWidth: plasmoid.formFactor === PlasmaCore.Types.Horizontal ? plasmoid.configuration.spacing : -1
- Layout.preferredWidth: Layout.minimumWidth
- Layout.maximumWidth: Layout.minimumWidth
-
- Layout.minimumHeight: plasmoid.formFactor === PlasmaCore.Types.Horizontal ? -1 : plasmoid.configuration.spacing
- Layout.preferredHeight: Layout.minimumHeight
- Layout.maximumHeight: Layout.minimumHeight
-
- visible: mainIcon.visible && plasmoid.configuration.style !== 4 /*NoText*/
- }
-
- Item{
- id: textsContainer
- Layout.minimumWidth: plasmoid.formFactor === PlasmaCore.Types.Horizontal ? -1 : root.thickness
- Layout.preferredWidth: plasmoid.formFactor === PlasmaCore.Types.Horizontal ? textRow.availableSpace : root.thickness
- Layout.maximumWidth: plasmoid.formFactor === PlasmaCore.Types.Horizontal ? textRow.availableSpace : root.thickness
-
- Layout.minimumHeight: plasmoid.formFactor === PlasmaCore.Types.Horizontal ? root.thickness : -1
- Layout.preferredHeight: plasmoid.formFactor === PlasmaCore.Types.Horizontal ? root.thickness : textRow.availableSpace
- Layout.maximumHeight: plasmoid.formFactor === PlasmaCore.Types.Horizontal ? root.thickness : textRow.availableSpace
- visible: plasmoid.configuration.style !== 4 /*NoText*/
-
- RowLayout {
- id: textRow
- anchors.centerIn: parent
- spacing: 0
-
- width: plasmoid.formFactor === PlasmaCore.Types.Horizontal ? parent.width : parent.height
- height: plasmoid.formFactor === PlasmaCore.Types.Horizontal ? parent.height : parent.width
-
- readonly property int availableSpace: {
- if (!titleLayout.isUsedForMetrics) {
- if (plasmoid.formFactor === PlasmaCore.Types.Horizontal) {
- var iconL = mainIcon.visible ? mainIcon.width : 0;
- var midL = midSpacer.visible ? midSpacer.width : 0;
- return titleLayout.width - firstSpacer.width - iconL - midL - lastSpacer.width;
- } else {
- var iconL = mainIcon.visible ? mainIcon.height : 0;
- var midL = midSpacer.visible ? midSpacer.height : 0;
- return titleLayout.height - firstSpacer.height - iconL - midL - lastSpacer.height;
- }
- }
-
- return implicitWidths;
- }
-
- readonly property int implicitWidths: {
- return Math.ceil(firstTxt.implicitWidth) + Math.ceil(midTxt.implicitWidth) + Math.ceil(lastTxt.implicitWidth);
- }
-
- transformOrigin: Item.Center
-
- rotation: {
- if (plasmoid.formFactor === PlasmaCore.Types.Horizontal) {
- return 0;
- } else if (plasmoid.location === PlasmaCore.Types.LeftEdge) {
- return -90;
- } else if (plasmoid.location === PlasmaCore.Types.RightEdge) {
- return 90;
- }
- }
-
- Label{
- id: firstTxt
- Layout.fillWidth: elide === Text.ElideNone ? false : true
- width: Text.ElideNone ? implicitWidth : -1
- verticalAlignment: Text.AlignVCenter
-
- text: existsWindowActive ? root.firstTitleText : root.fallBackText
- color: enforceLattePalette ? latteBridge.palette.textColor : theme.textColor
- font.capitalization: plasmoid.configuration.capitalFont ? Font.Capitalize : Font.MixedCase
- font.bold: plasmoid.configuration.boldFont
- font.italic: plasmoid.configuration.italicFont
-
- readonly property bool showsTitleText: plasmoid.configuration.style === 1 /*Title*/
- || plasmoid.configuration.style === 3 /*TitleApplication*/
-
- readonly property bool showsApplicationText: plasmoid.configuration.style === 0 /*Application*/
- || plasmoid.configuration.style === 2 /*ApplicationTitle*/
-
- elide: {
- if (plasmoid.configuration.style === 1 && titleLayout.exceedsAvailableSpace){ /*Title*/
- return Text.ElideMiddle;
- } else if (plasmoid.configuration.style === 3
- && activeTaskItem
- && activeTaskItem.appName !== activeTaskItem.title
- && titleLayout.exceedsAvailableSpace){ /*TitleApplication*/
- return Text.ElideMiddle;
- } else if (showsApplicationText && !isUsedForMetrics && exceedsApplicationText) {
- return Text.ElideMiddle;
- }
-
- return Text.ElideNone;
- }
-
- visible: {
- if (!isUsedForMetrics && showsTitleText && exceedsApplicationText) {
- return false;
- }
-
- return true;
- }
- }
-
- Label{
- id: midTxt
- verticalAlignment: firstTxt.verticalAlignment
- width: implicitWidth
- visible: !exceedsApplicationText && text !== ""
-
- text: {
- if (!existsWindowActive) {
- return "";
- }
-
- if (plasmoid.configuration.style === 2 || plasmoid.configuration.style === 3){ /*ApplicationTitle*/ /*OR*/ /*TitleApplication*/
- if (activeTaskItem.appName !== activeTaskItem.title && activeTaskItem.appName !== "" && activeTaskItem.title !== "") {
- return " – ";
- }
- }
-
- return "";
- }
-
- color: firstTxt.color
- font.capitalization: firstTxt.font.capitalization
- font.bold: firstTxt.font.bold
- font.italic: firstTxt.font.italic
- }
-
- Label{
- id: lastTxt
- Layout.fillWidth: elide === Text.ElideNone ? false : true
- width: Text.ElideNone ? implicitWidth : -1
- verticalAlignment: firstTxt.verticalAlignment
-
- text: existsWindowActive ? root.lastTitleText : ""
-
- color: firstTxt.color
- font.capitalization: firstTxt.font.capitalization
- font.bold: firstTxt.font.bold
- font.italic: firstTxt.font.italic
-
- visible: text !== "" && !(showsTitleText && exceedsApplicationText)
-
- readonly property bool showsTitleText: plasmoid.configuration.style === 2 /*ApplicationTitle*/
-
-
- elide: {
- if (activeTaskItem
- && activeTaskItem.appName !== activeTaskItem.title
- && plasmoid.configuration.style === 2 /*ApplicationTitle*/
- && titleLayout.exceedsAvailableSpace){ /*AND is shown*/
- return Text.ElideMiddle;
- } else if(plasmoid.configuration.style === 3 /*TitleApplication*/
- /*&& exceedsApplicationText*/) {
- return Text.ElideNone;
- }
-
- return Text.ElideMiddle;
- }
- }
- }
- }
-
- Item{
- id: lastSpacer
- Layout.minimumWidth: plasmoid.formFactor === PlasmaCore.Types.Horizontal ? plasmoid.configuration.lengthLastMargin : -1
- Layout.preferredWidth: Layout.minimumWidth
- Layout.maximumWidth: Layout.minimumWidth
-
- Layout.minimumHeight: plasmoid.formFactor === PlasmaCore.Types.Horizontal ? -1 : plasmoid.configuration.lengthLastMargin
- Layout.preferredHeight: Layout.minimumHeight
- Layout.maximumHeight: Layout.minimumHeight
- }
-}
-
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/contents/ui/config/ConfigAppearance.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/contents/ui/config/ConfigAppearance.qml
deleted file mode 100644
index cf0086d..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/contents/ui/config/ConfigAppearance.qml
+++ /dev/null
@@ -1,366 +0,0 @@
-/*
-* Copyright 2018 Michail Vourlakos
-*
-* This file is part of applet-window-title
-*
-* Latte-Dock is free software; you can redistribute it and/or
-* modify it under the terms of the GNU General Public License as
-* published by the Free Software Foundation; either version 2 of
-* the License, or (at your option) any later version.
-*
-* Latte-Dock is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see .
-*/
-
-import QtQuick 2.9
-import QtQuick.Controls 1.0
-import QtQuick.Controls 2.2 as Controls22
-import QtGraphicalEffects 1.0
-import QtQuick.Layouts 1.0
-
-import org.kde.plasma.core 2.0 as PlasmaCore
-
-import "../../tools/Tools.js" as Tools
-
-Item {
- id: root
-
- property alias cfg_boldFont: boldChk.checked
- property alias cfg_italicFont: italicChk.checked
- property alias cfg_capitalFont: capitalChk.checked
- property alias cfg_showIcon: showIconChk.checked
- property alias cfg_iconFillThickness: iconFillChk.checked
- property alias cfg_iconSize: iconSizeSpn.value
- property alias cfg_lengthPolicy: root.selectedLengthPolicy
- property alias cfg_spacing: spacingSpn.value
- property alias cfg_style: root.selectedStyle
- property alias cfg_lengthFirstMargin: lengthFirstSpn.value
- property alias cfg_lengthLastMargin: lengthLastSpn.value
- property alias cfg_lengthMarginsLock: lockItem.locked
- property alias cfg_fixedLength: fixedLengthSlider.value
- property alias cfg_maximumLength: maxLengthSlider.value
-
- property alias cfg_subsMatch: root.selectedMatches
- property alias cfg_subsReplace: root.selectedReplacements
-
- // used as bridge to communicate properly between configuration and ui
- property int selectedLengthPolicy
- property int selectedStyle
- property var selectedMatches: []
- property var selectedReplacements: []
-
- // used from the ui
- readonly property real centerFactor: 0.3
- readonly property int minimumWidth: 220
-
- onSelectedStyleChanged: {
- if (selectedStyle === 4) { /*NoText*/
- showIconChk.checked = true;
- }
- }
-
- SystemPalette {
- id: palette
- }
-
- ColumnLayout {
- id:mainColumn
- spacing: units.largeSpacing
- Layout.fillWidth: true
-
- GridLayout{
- columns: 2
-
- Label{
- Layout.minimumWidth: Math.max(centerFactor * root.width, minimumWidth)
- text: i18n("Text style:")
- horizontalAlignment: Text.AlignRight
- }
-
- CustomComboBox{
- id: styleCmb
-
- choices: [
- i18n("Application"),
- i18n("Title"),
- i18n("Application - Title"),
- i18n("Title - Application"),
- i18n("Do not show any text"),
- ];
-
- Component.onCompleted: currentIndex = plasmoid.configuration.style;
- onChoiceClicked: root.selectedStyle = index;
- }
- }
-
- GridLayout{
- columns: 2
-
- Label{
- Layout.minimumWidth: Math.max(centerFactor * root.width, minimumWidth)
- text: i18n("Icon:")
- horizontalAlignment: Text.AlignRight
- }
-
- CheckBox{
- id: showIconChk
- text: i18n("Show when available")
- enabled: root.selectedStyle !== 4 /*NoText*/
- }
-
- Label{
- }
-
- CheckBox{
- id: iconFillChk
- text: i18n("Fill thickness")
- enabled: showIconChk.checked
- }
-
- Label{
- }
-
- RowLayout{
- enabled: !iconFillChk.checked
-
- SpinBox{
- id: iconSizeSpn
- minimumValue: 16
- maximumValue: 128
- suffix: " " + i18nc("pixels","px.")
- enabled: !iconFillChk.checked
- }
-
- Label {
- Layout.leftMargin: units.smallSpacing
- text: "maximum"
- }
- }
- }
-
- GridLayout{
- columns: 2
- enabled : root.selectedStyle !== 4 /*NoText*/
-
- Label{
- Layout.minimumWidth: Math.max(centerFactor * root.width, minimumWidth)
- text: i18n("Font:")
- horizontalAlignment: Text.AlignRight
- }
-
- CheckBox{
- id: boldChk
- text: i18n("Bold")
- }
-
- Label{
- id: italicLbl
- font.italic: true
- }
-
- CheckBox{
- id: italicChk
- text: i18n("Italic")
- }
-
- Label{
- }
-
- CheckBox{
- id: capitalChk
- text: i18n("First letters capital")
- }
- }
-
- GridLayout{
- columns: 2
- enabled : root.selectedStyle !== 4 /*NoText*/
-
- Label{
- id: lengthLbl2
- Layout.minimumWidth: Math.max(centerFactor * root.width, minimumWidth)
- text: i18n("Length:")
- horizontalAlignment: Text.AlignRight
- }
-
- CustomComboBox{
- id: lengthCmb
-
- choices: [
- i18n("Based on contents"),
- i18n("Fixed size"),
- i18n("Maximum"),
- i18n("Fill available space")
- ];
-
- Component.onCompleted: currentIndex = plasmoid.configuration.lengthPolicy
- onChoiceClicked: root.selectedLengthPolicy = index;
- }
-
- Label{
- visible: lengthCmb.currentIndex === 1 /*Fixed Length Policy*/
- }
-
- RowLayout{
- visible: lengthCmb.currentIndex === 1 /*Fixed Length Policy*/
-
- Slider {
- id: fixedLengthSlider
- Layout.minimumWidth: lengthCmb.width
- Layout.preferredWidth: Layout.minimumWidth
- Layout.maximumWidth: Layout.minimumWidth
-
- minimumValue: 24
- maximumValue: 1500
- stepSize: 2
- }
- Label {
- id: fixedLengthLbl
- text: fixedLengthSlider.value + " " + i18n("px.")
- }
- }
-
- Label{
- visible: lengthCmb.currentIndex === 2 /*Maximum Length Policy*/
- }
-
- RowLayout{
- visible: lengthCmb.currentIndex === 2 /*Maximum Length Policy*/
- Slider {
- id: maxLengthSlider
- Layout.minimumWidth: lengthCmb.width
- Layout.preferredWidth: Layout.minimumWidth
- Layout.maximumWidth: Layout.minimumWidth
-
- minimumValue: 24
- maximumValue: 1500
- stepSize: 2
- }
- Label {
- id: maxLengthLbl
- text: maxLengthSlider.value + " " + i18n("px.")
- }
- }
-
- Label{
- }
-
- Label {
- id: lengthDescriptionLbl
- Layout.minimumWidth: lengthCmb.width - 10
- Layout.preferredWidth: 0.5 * root.width
- Layout.maximumWidth: Layout.preferredWidth
-
- font.italic: true
- wrapMode: Text.WordWrap
-
- text: {
- if (lengthCmb.currentIndex === 0 /*Contents*/){
- return i18n("Contents provide an exact size to be used at all times.")
- } else if (lengthCmb.currentIndex === 1 /*Fixed*/) {
- return i18n("Length slider decides the exact size to be used at all times.");
- } else if (lengthCmb.currentIndex === 2 /*Maximum*/) {
- return i18n("Contents provide the preferred size and length slider its highest value.");
- } else { /*Fill*/
- return i18n("All available space is filled at all times.");
- }
- }
- }
- }
-
- ColumnLayout{
- GridLayout{
- id: visualSettingsGroup1
- columns: 2
- enabled: showIconChk.checked && root.selectedStyle !== 4 /*NoText*/
-
- Label{
- Layout.minimumWidth: Math.max(centerFactor * root.width, minimumWidth)
- text: i18n("Spacing:")
- horizontalAlignment: Text.AlignRight
- }
-
- SpinBox{
- id: spacingSpn
- minimumValue: 0
- maximumValue: 36
- suffix: " " + i18nc("pixels","px.")
- }
- }
-
- GridLayout{
- id: visualSettingsGroup2
-
- columns: 3
- rows: 2
- flow: GridLayout.TopToBottom
- columnSpacing: visualSettingsGroup1.columnSpacing
- rowSpacing: visualSettingsGroup1.rowSpacing
-
- property int lockerHeight: firstLengthLbl.height + rowSpacing/2
-
- Label{
- id: firstLengthLbl
- Layout.minimumWidth: Math.max(centerFactor * root.width, minimumWidth)
- text: plasmoid.configuration.formFactor===PlasmaCore.Types.Horizontal ?
- i18n("Left margin:") : i18n("Top margin:")
- horizontalAlignment: Text.AlignRight
- }
-
- Label{
- Layout.minimumWidth: Math.max(centerFactor * root.width, minimumWidth)
- text: plasmoid.configuration.formFactor===PlasmaCore.Types.Horizontal ?
- i18n("Right margin:") : i18n("Bottom margin:")
- horizontalAlignment: Text.AlignRight
-
- enabled: !lockItem.locked
- }
-
- SpinBox{
- id: lengthFirstSpn
- minimumValue: 0
- maximumValue: 24
- suffix: " " + i18nc("pixels","px.")
-
- property int lastValue: -1
-
- onValueChanged: {
- if (lockItem.locked) {
- var step = value - lastValue > 0 ? 1 : -1;
- lastValue = value;
- lengthLastSpn.value = lengthLastSpn.value + step;
- }
- }
-
- Component.onCompleted: {
- lastValue = plasmoid.configuration.lengthFirstMargin;
- }
- }
-
- SpinBox{
- id: lengthLastSpn
- minimumValue: 0
- maximumValue: 24
- suffix: " " + i18nc("pixels","px.")
- enabled: !lockItem.locked
- }
-
- LockItem{
- id: lockItem
- Layout.minimumWidth: 40
- Layout.maximumWidth: 40
- Layout.alignment: Qt.AlignTop | Qt.AlignLeft
- Layout.minimumHeight: visualSettingsGroup2.lockerHeight
- Layout.maximumHeight: Layout.minimumHeight
- Layout.topMargin: firstLengthLbl.height / 2
- Layout.rowSpan: 2
- }
- }
- } // ColumnLayout
- } //mainColumn
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/contents/ui/config/ConfigBehavior.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/contents/ui/config/ConfigBehavior.qml
deleted file mode 100644
index 5fca01e..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/contents/ui/config/ConfigBehavior.qml
+++ /dev/null
@@ -1,219 +0,0 @@
-/*
-* Copyright 2018 Michail Vourlakos
-*
-* This file is part of applet-window-title
-*
-* Latte-Dock is free software; you can redistribute it and/or
-* modify it under the terms of the GNU General Public License as
-* published by the Free Software Foundation; either version 2 of
-* the License, or (at your option) any later version.
-*
-* Latte-Dock is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see .
-*/
-
-import QtQuick 2.9
-import QtQuick.Controls 1.0
-import QtQuick.Layouts 1.0
-
-import org.kde.plasma.core 2.0 as PlasmaCore
-
-import org.kde.kirigami 2.4 as Kirigami
-
-Item {
- id: behaviorPage
-
- property alias cfg_filterByScreen: filterByScreenChk.checked
- property alias cfg_filterActivityInfo: filterActivityChk.checked
-
- property alias cfg_showAppMenuOnMouseEnter: showAppMenuChk.checked
- property alias cfg_showTooltip: showTooltip.checked
- property alias cfg_actionScrollMinimize: cycleMinimizeChk.checked
-
- property alias cfg_subsMatch: behaviorPage.selectedMatches
- property alias cfg_subsReplace: behaviorPage.selectedReplacements
-
- property alias cfg_placeHolder: placeHolder.text
-
- // used as bridge to communicate properly between configuration and ui
- property var selectedMatches: []
- property var selectedReplacements: []
-
- // used from the ui
- readonly property real centerFactor: 0.3
- readonly property int minimumWidth: 220
-
- ColumnLayout {
- id:mainColumn
- spacing: units.largeSpacing
- width:parent.width - anchors.leftMargin * 2
- height: parent.height
- anchors.top: parent.top
- anchors.left: parent.left
- anchors.leftMargin: 2
-
- GridLayout {
- columns: 2
-
- Label{
- Layout.minimumWidth: Math.max(centerFactor * behaviorPage.width, minimumWidth)
- text: i18n("Filters:")
- horizontalAlignment: Text.AlignRight
- }
-
- CheckBox{
- id: filterByScreenChk
- text: i18n("Show only window information from current screen")
- }
- }
-
- GridLayout {
- columns: 2
-
- Label{
- Layout.minimumWidth: Math.max(centerFactor * behaviorPage.width, minimumWidth)
- text: i18n("Mouse:")
- horizontalAlignment: Text.AlignRight
- }
-
- CheckBox{
- id: showTooltip
- text: i18n("Show tooltip on hover")
- enabled: showAppMenuChk.visible && !showAppMenuChk.checked
- }
-
- Label{
- visible: showAppMenuChk.visible
- enabled: showAppMenuChk.enabled
- }
-
- CheckBox{
- id: showAppMenuChk
- text: i18n("Show Window AppMenu applet on enter")
- visible: plasmoid.configuration.containmentType === 2 /*Latte Containment*/
- enabled: plasmoid.configuration.appMenuIsPresent
- }
-
- Label{
- visible: cycleMinimizeChk.visible
- }
-
- CheckBox {
- id: cycleMinimizeChk
- text: i18n("Scroll to cycle and minimize through your tasks")
- visible: plasmoid.configuration.containmentType === 1 /*Plasma Containment*/
- }
- }
-
- Kirigami.InlineMessage {
- id: inlineMessage
- Layout.fillWidth: true
- Layout.bottomMargin: 5
-
- type: Kirigami.MessageType.Warning
- text: cfg_showAppMenuOnMouseEnter ?
- i18n("Would you like also to activate that behavior to surrounding Window AppMenu?") :
- i18n("Would you like also to deactivate that behavior to surrounding Window AppMenu?")
-
- actions: [
- Kirigami.Action {
- icon.name: "dialog-yes"
- text: i18n("Yes")
- onTriggered: {
- plasmoid.configuration.sendActivateAppMenuCooperationFromEditMode = cfg_showAppMenuOnMouseEnter;
- inlineMessage.visible = false;
- }
- },
- Kirigami.Action {
- icon.name: "dialog-no"
- text: "No"
- onTriggered: {
- inlineMessage.visible = false;
- }
- }
- ]
-
- readonly property bool showWindowAppMenuTouched: showAppMenuChk.checked !== plasmoid.configuration.showAppMenuOnMouseEnter
-
- onShowWindowAppMenuTouchedChanged: {
- if (plasmoid.configuration.containmentType !== 2 /*Latte Containment*/) {
- visible = false;
- return;
- }
-
- if (showWindowAppMenuTouched){
- inlineMessage.visible = true;
- } else {
- inlineMessage.visible = false;
- }
- }
- }
-
- GridLayout {
- columns: 2
- Label{
- Layout.minimumWidth: Math.max(centerFactor * behaviorPage.width, minimumWidth)
- text: i18n("Placeholder:")
- horizontalAlignment: Text.AlignRight
- }
-
- CheckBox{
- id: filterActivityChk
- text: i18n("Show activity information")
- }
-
- Label{}
-
- TextField {
- id: placeHolder
- text: plasmoid.configuration.placeHolder
- Layout.minimumWidth: substitutionsBtn.width * 1.5
- Layout.maximumWidth: Layout.minimumWidth
- enabled: !filterActivityChk.checked
-
- placeholderText: i18n("placeholder text...")
- }
- }
-
- GridLayout{
- columns: 2
-
- Label{
- Layout.minimumWidth: Math.max(centerFactor * behaviorPage.width, minimumWidth)
- text: i18n("Application name:")
- horizontalAlignment: Text.AlignRight
- }
-
- Button{
- id: substitutionsBtn
- checkable: true
- checked: subsSlidingBox.shown
- text: " " + i18n("Manage substitutions...") + " "
- onClicked: {
- if (subsSlidingBox.shown) {
- subsSlidingBox.slideOut();
- } else {
- subsSlidingBox.slideIn();
- }
- }
-
- SubstitutionsPopup {
- id: subsSlidingBox
- page: behaviorPage
- slideOutFrom: PlasmaCore.Types.BottomEdge
- }
- }
- }
-
- Item {
- Layout.fillHeight: true
- Layout.fillWidth: true
- }
- }
-
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/contents/ui/config/CustomComboBox.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/contents/ui/config/CustomComboBox.qml
deleted file mode 100644
index a699a59..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/contents/ui/config/CustomComboBox.qml
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
-* Copyright 2018 Michail Vourlakos
-*
-* This file is part of applet-window-title
-*
-* Latte-Dock is free software; you can redistribute it and/or
-* modify it under the terms of the GNU General Public License as
-* published by the Free Software Foundation; either version 2 of
-* the License, or (at your option) any later version.
-*
-* Latte-Dock is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see .
-*/
-
-import QtQuick 2.0
-import QtQuick.Controls 1.0
-import QtQuick.Controls 2.2 as Controls22
-import QtQuick.Layouts 1.0
-
-Controls22.ComboBox{
- id: combobox
- Layout.minimumWidth: 270
- Layout.preferredWidth: 350
- Layout.maximumWidth: 0.3 * root.width
-
- model: choices
-
- property var choices: []
-
- signal choiceClicked(int index);
-
- Connections{
- target: popup
- onClosed: root.forceActiveFocus();
- }
-
- delegate: MouseArea{
- width: combobox.width
- height: combobox.height
- hoverEnabled: true
-
- onClicked: {
- combobox.currentIndex = index;
- combobox.choiceClicked(index);
- combobox.popup.close();
- }
-
- Rectangle{
- id:delegateBackground
- anchors.fill: parent
- color: {
- if (containsMouse) {
- return palette.highlight;
- }
- if (combobox.currentIndex === index) {
- return selectedColor;
- }
-
- return "transparent";
- }
-
- readonly property color selectedColor: Qt.rgba(palette.highlight.r, palette.highlight.g, palette.highlight.b, 0.5);
-
- Label{
- id: label
- anchors.left: parent.left
- anchors.leftMargin: units.smallSpacing
- anchors.verticalCenter: parent.verticalCenter
- text: choices[index];
- color: containsMouse ? palette.highlightedText : palette.text
- }
- }
- }
-}
-
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/contents/ui/config/LockItem.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/contents/ui/config/LockItem.qml
deleted file mode 100644
index 7732e40..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/contents/ui/config/LockItem.qml
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
-* Copyright 2018 Michail Vourlakos
-*
-* This file is part of applet-window-title
-*
-* Latte-Dock is free software; you can redistribute it and/or
-* modify it under the terms of the GNU General Public License as
-* published by the Free Software Foundation; either version 2 of
-* the License, or (at your option) any later version.
-*
-* Latte-Dock is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see .
-*/
-
-import QtQuick 2.9
-import QtQuick.Controls 1.3
-import QtQuick.Layouts 1.0
-
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.kquickcontrolsaddons 2.0 as KQuickAddons
-
-Item{
- id: main
-
- property bool locked: true
-
- readonly property int verticalSubHeight: height - (button.height/2)
-
- ColumnLayout{
- id: column
- spacing: 0
- opacity: locked ? 1 : 0.5
-
- Rectangle{
- id: subRectTop
- Layout.minimumWidth: button.width/2 + Layout.minimumHeight/2
- Layout.minimumHeight: 3
- Layout.maximumWidth: Layout.minimumWidth
- Layout.maximumHeight: Layout.minimumHeight
-
- color: palette.text
- }
-
- Rectangle {
- Layout.leftMargin: subRectTop.Layout.minimumWidth - subRectTop.Layout.minimumHeight
- Layout.minimumWidth: subRectTop.Layout.minimumHeight
- Layout.minimumHeight: verticalSubHeight
- Layout.maximumWidth: Layout.minimumWidth
- Layout.maximumHeight: Layout.minimumHeight
- color: palette.text
- }
-
- KQuickAddons.QIconItem{
- id: button
- width: 24
- height: 24
- icon: locked ? "lock" : "unlock"
- }
-
- Rectangle {
- Layout.leftMargin: subRectTop.Layout.minimumWidth - subRectTop.Layout.minimumHeight
- Layout.minimumWidth: subRectTop.Layout.minimumHeight
- Layout.minimumHeight: verticalSubHeight
- Layout.maximumWidth: Layout.minimumWidth
- Layout.maximumHeight: Layout.minimumHeight
- color: palette.text
- }
-
- Rectangle{
- Layout.minimumWidth: subRectTop.Layout.minimumWidth
- Layout.minimumHeight: subRectTop.Layout.minimumHeight
- Layout.maximumWidth: Layout.minimumWidth
- Layout.maximumHeight: Layout.minimumHeight
- color: palette.text
- }
- }
-
- MouseArea{
- anchors.fill: column
- onClicked: locked = !locked;
- }
-
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/contents/ui/config/SlidingBox.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/contents/ui/config/SlidingBox.qml
deleted file mode 100644
index cb34cd0..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/contents/ui/config/SlidingBox.qml
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
-* Copyright 2018 Michail Vourlakos
-*
-* This file is part of applet-window-title
-*
-* Latte-Dock is free software; you can redistribute it and/or
-* modify it under the terms of the GNU General Public License as
-* published by the Free Software Foundation; either version 2 of
-* the License, or (at your option) any later version.
-*
-* Latte-Dock is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see .
-*/
-
-import QtQuick 2.9
-import QtQuick.Controls 1.0
-import QtGraphicalEffects 1.0
-import QtQuick.Controls 2.2 as Controls22
-import QtQuick.Layouts 1.0
-
-import org.kde.plasma.core 2.0 as PlasmaCore
-
-Item{
- id: box
- clip: true
-
- x: parent.width/2 - width/2
- /*y: slideOutFrom === PlasmaCore.Types.BottomEdge ? 0
- height: 0*/
- opacity: 0
-
- property QtObject contentItem: null
- property int slideOutFrom: PlasmaCore.Types.TopEdge
-
- property bool shown: false
-
- readonly property int availableWidth: width - 2*12 - 2*units.largeSpacing
- readonly property int availableHeight: contentItem.childrenRect.height + 2*units.largeSpacing
- readonly property int maximumHeight: availableHeight + 2*12
-
- onContentItemChanged: {
- if (contentItem){
- contentItem.parent = centralItem
- }
- }
-
- function slideIn() {
- if (slideOutFrom === PlasmaCore.Types.TopEdge) {
- height = maximumHeight;
- y = -maximumHeight;
- } else {
- height = maximumHeight;
- y = parent.height;
- }
-
- opacity = 1;
- shown = true;
- }
-
- function slideOut() {
- if (slideOutFrom === PlasmaCore.Types.TopEdge) {
- height = 0;
- y = 0;
- } else {
- height = 0;
- y = parent.height;
- }
-
- opacity = 0;
- shown = false;
- }
-
- Behavior on y{
- NumberAnimation {
- duration: 300
- easing.type: Easing.OutCubic
- }
- }
-
- Behavior on height{
- NumberAnimation {
- duration: 300
- easing.type: Easing.OutCubic
- }
- }
-
- Behavior on opacity{
- NumberAnimation {
- duration: 300
- easing.type: Easing.OutCubic
- }
- }
-
- SystemPalette {
- id: palette
- }
-
- Item{
- id: mainElement
- width: parent.width
- height: contentItem ? maximumHeight : 100
-
- Rectangle{
- id: centralItem
- anchors.fill: parent
- anchors.margins: 12
- color: palette.alternateBase
- border.width: 1
- border.color: palette.mid
- radius: 1
-
- layer.enabled: true
- layer.effect: DropShadow {
- id: shadowElement
- radius: 12
- fast: true
- samples: 2 * radius
- color: palette.shadow
- }
- }
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/contents/ui/config/SubstitutionsPopup.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/contents/ui/config/SubstitutionsPopup.qml
deleted file mode 100644
index 1acbe62..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/contents/ui/config/SubstitutionsPopup.qml
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
-* Copyright 2018 Michail Vourlakos
-*
-* This file is part of applet-window-title
-*
-* Latte-Dock is free software; you can redistribute it and/or
-* modify it under the terms of the GNU General Public License as
-* published by the Free Software Foundation; either version 2 of
-* the License, or (at your option) any later version.
-*
-* Latte-Dock is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see .
-*/
-
-import QtQuick 2.9
-import QtQuick.Controls 1.0
-import QtQuick.Controls 2.2 as Controls22
-import QtQuick.Layouts 1.0
-
-import org.kde.plasma.core 2.0 as PlasmaCore
-
-import "../../tools/Tools.js" as Tools
-
-SlidingBox {
- id: popup
- width: Tools.qBound(400, 0.6*page.width, 750)
-
- property QtObject page: null
-
- function textAreaToList(text) {
- var res = text.split("\n");
- return res;
- }
-
- function listToText(text) {
- var res = text.join("\n");
- return res;
- }
-
- contentItem: ColumnLayout{
- id: mainColumn
- width: popup.availableWidth
- anchors.margins: units.largeSpacing
- anchors.centerIn: parent
- spacing: units.largeSpacing
-
- Label{
- Layout.fillWidth: true
- horizontalAlignment: Qt.AlignHCenter
- font.bold: true
- text: i18n("Substitutions")
- }
-
- GridLayout {
- columns: 2
- Label{
- Layout.fillWidth: true
- horizontalAlignment: Qt.AlignHCenter
- font.bold: true
- text: "Match"
- }
- Label{
- Layout.fillWidth: true
- horizontalAlignment: Qt.AlignHCenter
- font.bold: true
- text: "Replace with"
- }
- TextArea{
- id: textAreaMatch
-
- Layout.fillWidth: true
- Layout.fillHeight: true
- text: listToText(page.selectedMatches)
-
- onTextChanged: page.selectedMatches = popup.textAreaToList(text)
-
- flickableItem.onContentYChanged: {
- textAreaReplace.flickableItem.contentY = flickableItem.contentY
- }
- }
- TextArea{
- id: textAreaReplace
-
- Layout.fillWidth: true
- Layout.fillHeight: true
- text: listToText(page.selectedReplacements)
- onTextChanged: page.selectedReplacements = popup.textAreaToList(text)
-
- flickableItem.onContentYChanged: {
- textAreaMatch.flickableItem.contentY = flickableItem.contentY
- }
- }
- }
-
- Label{
- Layout.fillWidth: true
- horizontalAlignment: Qt.AlignHCenter
- font.italic: true
- color: "#ff0000"
- text: {
- if (page.selectedMatches.length !== page.selectedReplacements.length) {
- return i18n("Warning: Matches and Replacements do not have the same size...");
- }
-
- return "";
- }
- }
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/contents/ui/main.qml b/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/contents/ui/main.qml
deleted file mode 100644
index 91a4cd9..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/contents/ui/main.qml
+++ /dev/null
@@ -1,372 +0,0 @@
-/*
-* Copyright 2018-2019 Michail Vourlakos
-*
-* This file is part of applet-window-title
-*
-* Latte-Dock is free software; you can redistribute it and/or
-* modify it under the terms of the GNU General Public License as
-* published by the Free Software Foundation; either version 2 of
-* the License, or (at your option) any later version.
-*
-* Latte-Dock is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see .
-*/
-
-import QtQuick 2.7
-import QtQuick.Layouts 1.1
-import QtQuick.Controls 1.4
-
-import org.kde.plasma.plasmoid 2.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.components 2.0 as PlasmaComponents
-import org.kde.taskmanager 0.1 as TaskManager
-
-import org.kde.activities 0.1 as Activities
-
-import "../tools/Tools.js" as Tools
-
-Item {
- id: root
- clip: true
-
- Layout.fillWidth: (inFillLengthMode && plasmoid.formFactor === PlasmaCore.Types.Horizontal)
- || plasmoid.formFactor === PlasmaCore.Types.Vertical ? true : false
- Layout.fillHeight: (inFillLengthMode && plasmoid.formFactor === PlasmaCore.Types.Vertical)
- || plasmoid.formFactor === PlasmaCore.Types.Horizontal ? true : false
-
- Layout.minimumWidth: plasmoid.formFactor === PlasmaCore.Types.Horizontal ? minimumLength : 0
- Layout.preferredWidth: plasmoid.formFactor === PlasmaCore.Types.Horizontal ? preferredLength : -1
- Layout.maximumWidth: plasmoid.formFactor === PlasmaCore.Types.Horizontal ? maximumLength : -1
-
- Layout.minimumHeight: plasmoid.formFactor === PlasmaCore.Types.Vertical ? minimumLength : 0
- Layout.preferredHeight: plasmoid.formFactor === PlasmaCore.Types.Vertical ? preferredLength : -1
- Layout.maximumHeight: plasmoid.formFactor === PlasmaCore.Types.Vertical ? maximumLength : -1
-
- Plasmoid.preferredRepresentation: Plasmoid.fullRepresentation
- Plasmoid.onFormFactorChanged: plasmoid.configuration.formFactor = plasmoid.formFactor;
-
- Plasmoid.status: {
- if ((broadcaster.hiddenFromBroadcast && !inEditMode)
- || (!inEditMode && fallBackText === "" && !existsWindowActive)) {
- return PlasmaCore.Types.HiddenStatus;
- }
-
- return PlasmaCore.Types.PassiveStatus;
- }
-
- readonly property bool inContentsLengthMode: plasmoid.configuration.lengthPolicy === 0 /*Contents Length Policy*/
- readonly property bool inFixedLengthMode: plasmoid.configuration.lengthPolicy === 1 /*Fixed Length Policy*/
- readonly property bool inMaximumLengthMode: plasmoid.configuration.lengthPolicy === 2 /*Maximum Length Policy*/
- readonly property bool inFillLengthMode: plasmoid.configuration.lengthPolicy === 3 /*Fill Length Policy*/
-
- readonly property bool inEditMode: plasmoid.userConfiguring || latteInEditMode
-
- readonly property int containmentType: plasmoid.configuration.containmentType
- readonly property int thickness: plasmoid.formFactor === PlasmaCore.Types.Horizontal ? root.height : root.width
-
- readonly property int minimumLength: {
- if (broadcaster.hiddenFromBroadcast) {
- return 0;
- }
-
- if (inContentsLengthMode) {
- return implicitTitleLength;
- } else if (inFixedLengthMode) {
- return plasmoid.configuration.fixedLength;
- } else if (inMaximumLengthMode) {
- return 0;
- } else if (inFillLengthMode) {
- return inEditMode ? 48 : 0;
- }
- }
-
- readonly property int preferredLength: {
- if (broadcaster.hiddenFromBroadcast) {
- return 0;
- }
-
- if (inContentsLengthMode) {
- return implicitTitleLength;
- } else if (inFixedLengthMode) {
- return plasmoid.configuration.fixedLength;
- } else if (inMaximumLengthMode) {
- return Math.min(implicitTitleLength, plasmoid.configuration.maximumLength);
- } else if (inFillLengthMode) {
- return -1;
- }
- }
-
- readonly property int maximumLength: {
- if (broadcaster.hiddenFromBroadcast) {
- return 0;
- }
-
- if (inContentsLengthMode) {
- return implicitTitleLength;
- } else if (inFixedLengthMode) {
- return plasmoid.configuration.fixedLength;
- } else if (inMaximumLengthMode) {
- return plasmoid.configuration.maximumLength;
- } else if (inFillLengthMode) {
- return Infinity;
- }
- }
-
- readonly property int implicitTitleLength: plasmoid.formFactor === PlasmaCore.Types.Horizontal ? metricsContents.width : metricsContents.height
-
- readonly property bool existsWindowActive: windowInfoLoader.item && windowInfoLoader.item.existsWindowActive
- readonly property bool isActiveWindowPinned: existsWindowActive && activeTaskItem.isOnAllDesktops
- readonly property bool isActiveWindowMaximized: existsWindowActive && activeTaskItem.isMaximized
-
- readonly property Item activeTaskItem: windowInfoLoader.item.activeTaskItem
-
- property string fallBackText: {
- if (!plasmoid.configuration.filterActivityInfo) {
- return plasmoid.configuration.placeHolder;
- } else {
- return fullActivityInfo.name;
- }
- }
-
- readonly property string firstTitleText: {
- if (!activeTaskItem) {
- return "";
- }
-
- if (plasmoid.configuration.style === 0){ /*Application*/
- return Tools.applySubstitutes(activeTaskItem.appName);
- } else if (plasmoid.configuration.style === 1){ /*Title*/
- return activeTaskItem.title;
- } else if (plasmoid.configuration.style === 2){ /*ApplicationTitle*/
- return Tools.applySubstitutes(activeTaskItem.appName);
- } else if (plasmoid.configuration.style === 3){ /*TitleApplication*/
- var finalText = activeTaskItem.appName === activeTaskItem.title ?
- Tools.applySubstitutes(activeTaskItem.appName) : activeTaskItem.title;
-
- return finalText;
- } else if (plasmoid.configuration.style === 4){ /*NoText*/
- return "";
- }
-
- return "";
- }
-
- readonly property string lastTitleText: {
- if (!activeTaskItem) {
- return "";
- }
-
- if (plasmoid.configuration.style === 2){ /*ApplicationTitle*/
- var finalText = activeTaskItem.appName === activeTaskItem.title ? "" : activeTaskItem.title;
-
- return finalText;
- } else if (plasmoid.configuration.style === 3){ /*TitleApplication*/
- var finalText = activeTaskItem.appName === activeTaskItem.title ? "" : Tools.applySubstitutes(activeTaskItem.appName);
-
- return finalText;
- }
-
- return "";
- }
-
- //BEGIN Latte Dock Communicator
- property bool isInLatte: false // deprecated Latte v0.8 API
- property QtObject latteBridge: null // current Latte v0.9 API
-
- onLatteBridgeChanged: {
- if (latteBridge) {
- plasmoid.configuration.containmentType = 2; /*Latte containment with new API*/
- latteBridge.actions.setProperty(plasmoid.id, "latteSideColoringEnabled", false);
- latteBridge.actions.setProperty(plasmoid.id, "windowsTrackingEnabled", true);
- }
- }
-
- //END Latte Dock Communicator
- //BEGIN Latte based properties
- readonly property bool enforceLattePalette: latteBridge && latteBridge.applyPalette && latteBridge.palette
- readonly property bool latteInEditMode: latteBridge && latteBridge.inEditMode
- //END Latte based properties
-
- Component.onCompleted: {
- plasmoid.configuration.appMenuIsPresent = false;
- containmentIdentifierTimer.start();
- }
-
- // START Tasks logic
- // To get current activity name
- TaskManager.ActivityInfo {
- id: activityInfo
- }
-
- Activities.ActivityInfo {
- id: fullActivityInfo
- activityId: ":current"
- }
-
- // To get virtual desktop name
- TaskManager.VirtualDesktopInfo {
- id: virtualDesktopInfo
- }
-
- Loader {
- id: windowInfoLoader
- sourceComponent: latteBridge
- && latteBridge.windowsTracker
- && latteBridge.windowsTracker.currentScreen.lastActiveWindow
- && latteBridge.windowsTracker.allScreens.lastActiveWindow ? latteTrackerComponent : plasmaTasksModel
-
- Component{
- id: latteTrackerComponent
- LatteWindowsTracker{}
- }
-
- Component{
- id: plasmaTasksModel
- PlasmaTasksModel{}
- }
- }
-
- // END Tasks logic
-
- // BEGIN Title Layout(s)
-
- // This Layout is used to count if the title overceeds the available space
- // in order for the Visible Layout to elide its contents
- TitleLayout {
- id: metricsContents
- anchors.top: parent.top
- anchors.left: parent.left
- //anchors.topMargin: 8
-
- //visible:false, does not return proper metrics, this is why opacity:0 is preferred
- opacity: 0
- isUsedForMetrics: true
- }
-
- // This is the reas Visible Layout that is shown to the user
- TitleLayout {
- id: visibleContents
- anchors.top: parent.top
- anchors.left: parent.left
-
- width: plasmoid.formFactor === PlasmaCore.Types.Horizontal ?
- (!exceedsAvailableSpace ? metricsContents.width : root.width) : thickness
-
- height: plasmoid.formFactor === PlasmaCore.Types.Vertical ?
- (!exceedsAvailableSpace ? metricsContents.height : root.height) : thickness
-
- exceedsAvailableSpace: plasmoid.formFactor === PlasmaCore.Types.Horizontal ?
- metricsContents.width > root.width :
- metricsContents.height > root.height
-
- exceedsApplicationText: plasmoid.formFactor === PlasmaCore.Types.Horizontal ?
- metricsContents.applicationTextLength > root.width :
- metricsContents.applicationTextLength > root.height
-
- visible: !(!plasmoid.configuration.filterActivityInfo && !root.existsWindowActive && !plasmoid.configuration.placeHolder)
- }
- // END Title Layout(s)
-
- //! Tooltip Area
- PlasmaCore.ToolTipArea {
- id: contentsTooltip
- anchors.fill: visibleContents
- active: text !== ""
- interactive: true
- location: plasmoid.location
-
- readonly property string text: {
- if (!existsWindowActive
- || !plasmoid.configuration.showTooltip
- || broadcaster.cooperationEstablished /*can not work correctly when showing appmenus*/) {
- return "";
- }
-
- /* Try to show only information that are not already shown*/
-
- if (plasmoid.configuration.style === 0){ /*Application*/
- return activeTaskItem.appName === activeTaskItem.title ? "" : activeTaskItem.title;
- } else if (plasmoid.configuration.style === 1
- || plasmoid.configuration.style === 2
- || plasmoid.configuration.style === 4 ){ /*Title OR ApplicationTitle OR NoText*/
- var finalText = activeTaskItem.appName === activeTaskItem.title ?
- Tools.applySubstitutes(activeTaskItem.appName) :
- Tools.applySubstitutes(activeTaskItem.appName) + " - " + activeTaskItem.title;
-
- return finalText;
- } else if (plasmoid.configuration.style === 3){ /*TitleApplication*/
- var finalText = activeTaskItem.appName === activeTaskItem.title ?
- Tools.applySubstitutes(activeTaskItem.appName) :
- activeTaskItem.title + " - " + Tools.applySubstitutes(activeTaskItem.appName);
-
- return finalText;
- }
-
- return "";
- }
-
- mainItem: RowLayout {
- spacing: units.largeSpacing
- Layout.margins: units.smallSpacing
- PlasmaCore.IconItem {
- Layout.minimumWidth: units.iconSizes.medium
- Layout.minimumHeight: units.iconSizes.medium
- Layout.maximumWidth: Layout.minimumWidth
- Layout.maximumHeight: Layout.minimumHeight
- source: existsWindowActive ? activeTaskItem.icon : fullActivityInfo.icon
- visible: !plasmoid.configuration.showIcon
- }
-
- PlasmaComponents.Label {
- id: fullText
- Layout.minimumWidth: 0
- Layout.preferredWidth: implicitWidth
- Layout.maximumWidth: 750
-
- Layout.minimumHeight: implicitHeight
- Layout.maximumHeight: Layout.minimumHeight
- elide: Text.ElideRight
-
- text: contentsTooltip.text
- }
- }
- }
- //! END of ToolTip area
-
- Loader {
- id: actionsLoader
- anchors.fill: inFillLengthMode ? parent : visibleContents
- active: containmentType === 1 /*plasma or old latte containment*/
-
- sourceComponent: ActionsMouseArea {
- anchors.fill: parent
- }
- }
-
- Broadcaster{
- id: broadcaster
- anchors.fill: parent
- }
-
- //! this timer is used in order to identify in which containment the applet is in
- //! it should be called only the first time an applet is created and loaded because
- //! afterwards the applet has no way to move between different processes such
- //! as Plasma and Latte
- Timer{
- id: containmentIdentifierTimer
- interval: 5000
- onTriggered: {
- if (latteBridge) {
- plasmoid.configuration.containmentType = 2; /*Latte containment with new API*/
- latteBridge.actions.broadcastToApplet("org.kde.windowappmenu", "isPresent", true);
- } else {
- plasmoid.configuration.containmentType = 1; /*Plasma containment or Latte with old API*/
- }
- }
- }
-}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/metadata.desktop b/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/metadata.desktop
deleted file mode 100644
index c9531d3..0000000
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.windowtitle/metadata.desktop
+++ /dev/null
@@ -1,20 +0,0 @@
-[Desktop Entry]
-Name=Window Title
-Comment=Shows the application title and icon of the active window
-
-Encoding=UTF-8
-Icon=preferences-desktop
-Keyword=window title icon
-Type=Service
-
-X-Plasma-API=declarativeappletscript
-X-Plasma-MainScript=ui/main.qml
-
-X-KDE-PluginInfo-Author=Michail Vourlakos
-X-KDE-PluginInfo-Category=Windows and Tasks
-X-KDE-PluginInfo-Email=mvourlakos@gmail.com
-X-KDE-PluginInfo-License=GPLv2
-X-KDE-PluginInfo-Name=org.kde.windowtitle
-X-KDE-PluginInfo-Version=0.7.1
-X-KDE-PluginInfo-Website=https://github.com/psifidotos/applet-window-title
-X-KDE-ServiceTypes=Plasma/Applet
diff --git a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.togglecompositing/contents/config/config.qml b/Configs/Home/.local/share/plasma/plasmoids/plasmusic-toolbar/contents/config/config.qml
similarity index 52%
rename from Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.togglecompositing/contents/config/config.qml
rename to Configs/Home/.local/share/plasma/plasmoids/plasmusic-toolbar/contents/config/config.qml
index 3393738..11f2f35 100644
--- a/Configs/Home/.local/share/plasma/plasmoids/org.kde.plasma.togglecompositing/contents/config/config.qml
+++ b/Configs/Home/.local/share/plasma/plasmoids/plasmusic-toolbar/contents/config/config.qml
@@ -1,10 +1,10 @@
-import QtQuick 2
-import org.kde.plasma.configuration 2
+import QtQuick 2.0
+import org.kde.plasma.configuration
ConfigModel {
ConfigCategory {
name: i18n("General")
icon: "configure"
- source: "configGeneral.qml"
+ source: "ConfigGeneral.qml"
}
}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/plasmusic-toolbar/contents/config/main.xml b/Configs/Home/.local/share/plasma/plasmoids/plasmusic-toolbar/contents/config/main.xml
new file mode 100644
index 0000000..bc2019c
--- /dev/null
+++ b/Configs/Home/.local/share/plasma/plasmoids/plasmusic-toolbar/contents/config/main.xml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+ view-media-track
+
+
+ false
+
+
+ 0
+
+
+ any,spotify,vlc
+
+
+ 200
+
+
+ true
+
+
+ 3
+
+
+ false
+
+
+ 0
+
+
+
diff --git a/Configs/Home/.local/share/plasma/plasmoids/plasmusic-toolbar/contents/ui/CommandIcon.qml b/Configs/Home/.local/share/plasma/plasmoids/plasmusic-toolbar/contents/ui/CommandIcon.qml
new file mode 100644
index 0000000..7889734
--- /dev/null
+++ b/Configs/Home/.local/share/plasma/plasmoids/plasmusic-toolbar/contents/ui/CommandIcon.qml
@@ -0,0 +1,29 @@
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import org.kde.plasma.components as PlasmaComponents3
+import org.kde.plasma.core as PlasmaCore
+import org.kde.kirigami as Kirigami
+
+Item {
+ id: container
+ property alias size: icon.width
+ property bool active: false;
+ property alias source: icon.source
+ signal clicked()
+
+ Layout.preferredWidth: size
+ Layout.preferredHeight: size
+
+ Kirigami.Icon {
+ id: icon
+ width: Kirigami.Units.iconSizes.small;
+ height: width;
+ color: container.active ? Kirigami.Theme.highlightColor : Kirigami.Theme.textColor
+
+ MouseArea {
+ anchors.fill: parent
+ cursorShape: Qt.PointingHandCursor
+ onClicked: container.clicked()
+ }
+ }
+}
\ No newline at end of file
diff --git a/Configs/Home/.local/share/plasma/plasmoids/plasmusic-toolbar/contents/ui/ConfigGeneral.qml b/Configs/Home/.local/share/plasma/plasmoids/plasmusic-toolbar/contents/ui/ConfigGeneral.qml
new file mode 100644
index 0000000..5014524
--- /dev/null
+++ b/Configs/Home/.local/share/plasma/plasmoids/plasmusic-toolbar/contents/ui/ConfigGeneral.qml
@@ -0,0 +1,122 @@
+import QtQuick 2.0
+import QtQuick.Controls 2.5
+import QtQuick.Layouts 1.15
+import org.kde.kirigami as Kirigami
+import org.kde.plasma.components as PlasmaComponents3
+import org.kde.kcmutils as KCM
+
+KCM.SimpleKCM {
+ property alias cfg_panelIcon: panelIcon.value
+ property alias cfg_useAlbumCoverAsPanelIcon: useAlbumCoverAsPanelIcon.checked
+ property alias cfg_commandsInPanel: commandsInPanel.checked
+ property alias cfg_maxSongWidthInPanel: maxSongWidthInPanel.value
+ property alias cfg_sourceIndex: sourceComboBox.currentIndex
+ property alias cfg_sources: sourceComboBox.model
+ property alias cfg_textScrollingSpeed: textScrollingSpeed.value
+ property alias cfg_separateText: separateText.checked
+ property alias cfg_textScrollingBehaviour: scrollingBehaviourRadio.value
+
+ Kirigami.FormLayout {
+ Kirigami.Separator {
+ Kirigami.FormData.isSection: true
+ Kirigami.FormData.label: "Panel icon"
+ }
+
+ ConfigIcon {
+ id: panelIcon
+ Kirigami.FormData.label: i18n("Choose icon:")
+ }
+
+ CheckBox {
+ id: useAlbumCoverAsPanelIcon
+ Kirigami.FormData.label: i18n("Album cover:")
+ text: i18n("Use album cover as panel icon")
+ }
+
+ Kirigami.Separator {
+ Kirigami.FormData.isSection: true
+ Kirigami.FormData.label: "Sources"
+ }
+
+ ComboBox {
+ id: sourceComboBox
+ editable: true
+
+ onAccepted: () => {
+ if (find(editText) === -1)
+ model = [...model, editText]
+ }
+
+ Kirigami.FormData.label: i18n("Preferred MPRIS2 source:")
+ }
+
+ Kirigami.Separator {
+ Kirigami.FormData.isSection: true
+ Kirigami.FormData.label: "Song text"
+ }
+ SpinBox {
+ id: maxSongWidthInPanel
+ from: 0
+ to: 1000
+ Kirigami.FormData.label: i18n("Panel song max width:")
+ }
+
+ Slider {
+ id: textScrollingSpeed
+ from: 1
+ to: 10
+ stepSize: 1
+ Kirigami.FormData.label: i18n("Text scrolling speed:")
+ }
+
+ CheckBox {
+ id: separateText
+ text: i18n("Display title and artist in separate lines")
+ Kirigami.FormData.label: i18n("Separate text:")
+ }
+
+ ColumnLayout {
+ id: scrollingBehaviourRadio
+ property int value: ScrollingText.OverflowBehaviour.AlwaysScroll
+
+ Kirigami.FormData.label: i18n("Scrolling behaviour when song text overflows:")
+ RadioButton {
+ text: i18n("Always scroll")
+ checked: scrollingBehaviourRadio.value == ScrollingText.OverflowBehaviour.AlwaysScroll
+ onCheckedChanged: () => {
+ if (checked) {
+ scrollingBehaviourRadio.value = ScrollingText.OverflowBehaviour.AlwaysScroll
+ }
+ }
+ }
+ RadioButton {
+ text: i18n("Scroll only on mouse over")
+ checked: scrollingBehaviourRadio.value == ScrollingText.OverflowBehaviour.ScrollOnMouseOver
+ onCheckedChanged: () => {
+ if (checked) {
+ scrollingBehaviourRadio.value = ScrollingText.OverflowBehaviour.ScrollOnMouseOver
+ }
+ }
+ }
+ RadioButton {
+ text: i18n("Always scroll except on mouse over")
+ checked: scrollingBehaviourRadio.value == ScrollingText.OverflowBehaviour.StopScrollOnMouseOver
+ onCheckedChanged: () => {
+ if (checked) {
+ scrollingBehaviourRadio.value = ScrollingText.OverflowBehaviour.StopScrollOnMouseOver
+ }
+ }
+ }
+ }
+
+ Kirigami.Separator {
+ Kirigami.FormData.isSection: true
+ Kirigami.FormData.label: "Music controls"
+ }
+ CheckBox {
+ id: commandsInPanel
+ text: i18n("Show music controls in the panel (play/pause/previous/next)")
+ Kirigami.FormData.label: i18n("Show controls:")
+ }
+ }
+}
\ No newline at end of file
diff --git a/Configs/Home/.local/share/plasma/plasmoids/plasmusic-toolbar/contents/ui/ConfigIcon.qml b/Configs/Home/.local/share/plasma/plasmoids/plasmusic-toolbar/contents/ui/ConfigIcon.qml
new file mode 100644
index 0000000..9cb8b7d
--- /dev/null
+++ b/Configs/Home/.local/share/plasma/plasmoids/plasmusic-toolbar/contents/ui/ConfigIcon.qml
@@ -0,0 +1,59 @@
+import QtQuick 2.5
+import QtQuick.Controls 2.5
+import org.kde.plasma.core as PlasmaCore
+import org.kde.iconthemes as KIconThemes
+import org.kde.kirigami as Kirigami
+import org.kde.ksvg as KSvg
+
+
+// from https://develop.kde.org/docs/plasma/widget/examples/#configurable-icon
+Button {
+ id: configIcon
+
+ property string defaultValue: ''
+ property string value: ''
+
+ implicitWidth: previewFrame.width + Kirigami.Units.smallSpacing * 2
+ implicitHeight: previewFrame.height + Kirigami.Units.smallSpacing * 2
+
+ KIconThemes.IconDialog {
+ id: iconDialog
+ onIconNameChanged: configIcon.value = iconName || configIcon.defaultValue
+ }
+
+ onPressed: iconMenu.opened ? iconMenu.close() : iconMenu.open()
+
+ KSvg.FrameSvgItem {
+ id: previewFrame
+ anchors.centerIn: parent
+ imagePath: plasmoid.location === PlasmaCore.Types.Vertical || plasmoid.location === PlasmaCore.Types.Horizontal
+ ? "widgets/panel-background" : "widgets/background"
+ width: Kirigami.Units.iconSizes.large + fixedMargins.left + fixedMargins.right
+ height: Kirigami.Units.iconSizes.large + fixedMargins.top + fixedMargins.bottom
+
+ Kirigami.Icon {
+ anchors.centerIn: parent
+ width: Kirigami.Units.iconSizes.large
+ height: width
+ source: configIcon.value
+ }
+ }
+
+ Menu {
+ id: iconMenu
+
+ // Appear below the button
+ y: +parent.height
+
+ MenuItem {
+ text: i18ndc("plasma_applet_org.kde.plasma.kickoff", "@item:inmenu Open icon chooser dialog", "Choose...")
+ icon.name: "document-open-folder"
+ onClicked: iconDialog.open()
+ }
+ MenuItem {
+ text: i18ndc("plasma_applet_org.kde.plasma.kickoff", "@item:inmenu Reset icon to default", "Clear Icon")
+ icon.name: "edit-clear"
+ onClicked: configIcon.value = configIcon.defaultValue
+ }
+ }
+}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/plasmusic-toolbar/contents/ui/PanelIcon.qml b/Configs/Home/.local/share/plasma/plasmoids/plasmusic-toolbar/contents/ui/PanelIcon.qml
new file mode 100644
index 0000000..baf341d
--- /dev/null
+++ b/Configs/Home/.local/share/plasma/plasmoids/plasmusic-toolbar/contents/ui/PanelIcon.qml
@@ -0,0 +1,46 @@
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import org.kde.plasma.components as PlasmaComponents3
+import org.kde.kirigami as Kirigami
+
+
+Item {
+ id: root
+ property string type: "icon"
+ property var imageUrl: null
+ property var icon: null
+ property real size: Kirigami.Units.iconSizes.medium
+
+ Layout.preferredHeight: size
+ Layout.preferredWidth: size
+
+ onTypeChanged: () => {
+ if ([ "icon", "image" ].includes(type)) {
+ console.error("Panel icon type not supported")
+ }
+ if (type === "icon" && !icon) {
+ console.error("Panel icon type is icon but no icon is set")
+ }
+ if (type === "image" && !imageUrl) {
+ console.error("Panel icon type is image but no image url is set")
+ }
+ }
+
+ Kirigami.Icon {
+ visible: type === "icon"
+ id: iconComponent
+ source: root.icon
+ implicitHeight: root.size
+ implicitWidth: root.size
+ color: Kirigami.Theme.textColor
+ }
+
+ Image {
+ visible: type === "image"
+ width: root.size
+ height: root.size
+ id: imageComponent
+ source: root.imageUrl
+ fillMode: Image.PreserveAspectFit
+ }
+}
\ No newline at end of file
diff --git a/Configs/Home/.local/share/plasma/plasmoids/plasmusic-toolbar/contents/ui/Player.qml b/Configs/Home/.local/share/plasma/plasmoids/plasmusic-toolbar/contents/ui/Player.qml
new file mode 100644
index 0000000..7ccb64a
--- /dev/null
+++ b/Configs/Home/.local/share/plasma/plasmoids/plasmusic-toolbar/contents/ui/Player.qml
@@ -0,0 +1,80 @@
+import QtQuick 2.15
+import QtQml.Models 2.3
+import org.kde.plasma.private.mpris as Mpris
+
+QtObject {
+ id: root
+
+ property var mpris2Model: Mpris.Mpris2Model {
+ onRowsInserted: (_, rowIndex) => {
+ const CONTAINER_ROLE = Qt.UserRole + 1
+ const player = this.data(this.index(rowIndex, 0), CONTAINER_ROLE)
+ if (player.desktopEntry === root.sourceName) {
+ this.currentIndex = rowIndex;
+ }
+ }
+ }
+
+ property string sourceName: "any"
+
+ readonly property bool ready: {
+ if (!mpris2Model.currentPlayer) {
+ return false
+ }
+ return mpris2Model.currentPlayer.desktopEntry === sourceName || sourceName === "any";
+ }
+
+ readonly property string artists: ready ? mpris2Model.currentPlayer.artist : ""
+ readonly property string title: ready ? mpris2Model.currentPlayer.track : ""
+ readonly property int playbackStatus: ready ? mpris2Model.currentPlayer.playbackStatus : Mpris.PlaybackStatus.Unknown
+ readonly property int shuffle: ready ? mpris2Model.currentPlayer.shuffle : Mpris.ShuffleStatus.Unknown
+ readonly property string artUrl: ready ? mpris2Model.currentPlayer.artUrl : ""
+ readonly property int loopStatus: ready ? mpris2Model.currentPlayer.loopStatus : Mpris.LoopStatus.Unknown
+ readonly property int songPosition: ready ? mpris2Model.currentPlayer.position : 0
+ readonly property int songLength: ready ? mpris2Model.currentPlayer.length : 0
+ readonly property real volume: ready ? mpris2Model.currentPlayer.volume : 0
+
+ readonly property bool canGoNext: ready ? mpris2Model.currentPlayer.canGoNext : false
+ readonly property bool canGoPrevious: ready ? mpris2Model.currentPlayer.canGoPrevious : false
+ readonly property bool canPlay: ready ? mpris2Model.currentPlayer.canPlay : false
+ readonly property bool canPause: ready ? mpris2Model.currentPlayer.canPause : false
+ readonly property bool canSeek: ready ? mpris2Model.currentPlayer.canSeek : false
+
+ // To know whether Shuffle and Loop can be changed we have to check if the property is defined,
+ // unlike the other commands, LoopStatus and Shuffle hasn't a specific propety such as
+ // CanPause, CanSeek, etc.
+ readonly property bool canChangeShuffle: ready ? mpris2Model.currentPlayer.shuffle != undefined : false
+ readonly property bool canChangeLoopStatus: ready ? mpris2Model.currentPlayer.loopStatus != undefined : false
+
+ function playPause() {
+ mpris2Model.currentPlayer?.PlayPause();
+ }
+
+ function seek(offset) {
+ mpris2Model.currentPlayer?.Seek(offset);
+ }
+
+ function next() {
+ mpris2Model.currentPlayer?.Next();
+ }
+
+ function previous() {
+ mpris2Model.currentPlayer?.Previous();
+ }
+
+ function updatePosition() {
+ mpris2Model.currentPlayer?.updatePosition();
+ }
+
+ function setVolume(volume) {
+ mpris2Model.currentPlayer.volume = volume
+ }
+
+ function setShuffle(shuffle) {
+ mpris2Model.currentPlayer.shuffle = shuffle
+ }
+
+ function setLoopStatus(loopStatus) {
+ mpris2Model.currentPlayer.loopStatus = loopStatus
+ }
+}
\ No newline at end of file
diff --git a/Configs/Home/.local/share/plasma/plasmoids/plasmusic-toolbar/contents/ui/ScrollingText.qml b/Configs/Home/.local/share/plasma/plasmoids/plasmusic-toolbar/contents/ui/ScrollingText.qml
new file mode 100644
index 0000000..5897cb9
--- /dev/null
+++ b/Configs/Home/.local/share/plasma/plasmoids/plasmusic-toolbar/contents/ui/ScrollingText.qml
@@ -0,0 +1,90 @@
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import org.kde.plasma.components as PlasmaComponents3
+
+// inspired by https://stackoverflow.com/a/49031115/2568933
+Item {
+ id: root
+
+ enum OverflowBehaviour {
+ AlwaysScroll,
+ ScrollOnMouseOver,
+ StopScrollOnMouseOver
+ }
+
+ property int overflowBehaviour: ScrollingText.OverflowBehaviour.AlwaysScroll
+
+ property string text: ""
+ readonly property string spacing: " "
+ readonly property string textAndSpacing: text + spacing
+
+ property int maxWidth: 200 * units.devicePixelRatio
+ readonly property bool overflow: maxWidth <= textMetrics.width
+ property int speed: 5;
+ readonly property int duration: (25 * (11 - speed) + 25)* textAndSpacing.length;
+
+ readonly property bool pauseScrolling: {
+ if (overflowBehaviour === ScrollingText.OverflowBehaviour.AlwaysScroll) {
+ return false;
+ } else if (overflowBehaviour === ScrollingText.OverflowBehaviour.ScrollOnMouseOver) {
+ return !mouse.hovered;
+ } else if (overflowBehaviour === ScrollingText.OverflowBehaviour.StopScrollOnMouseOver) {
+ return mouse.hovered;
+ }
+ }
+
+ property alias font: label.font
+
+ width: overflow ? maxWidth : textMetrics.width + 10
+ clip: true
+
+ Layout.preferredHeight: label.implicitHeight
+ Layout.preferredWidth: width
+ Layout.alignment: Qt.AlignHCenter
+
+ HoverHandler {
+ id: mouse
+ acceptedDevices: PointerDevice.Mouse
+ }
+
+ TextMetrics {
+ id: textMetrics
+ font: label.font
+ text: root.text
+ }
+
+ PlasmaComponents3.Label {
+ id: label
+ text: overflow ? root.textAndSpacing : root.text
+
+ NumberAnimation on x {
+ running: root.overflow
+ paused: root.pauseScrolling
+ from: 0
+ to: -label.implicitWidth
+ duration: root.duration
+ loops: Animation.Infinite
+
+ function reset() {
+ label.x = 0;
+ if (running) {
+ restart()
+ }
+ if (root.pauseScrolling) {
+ pause()
+ }
+ }
+
+ onToChanged: () => reset()
+ onDurationChanged: () => reset()
+ }
+
+ PlasmaComponents3.Label {
+ visible: overflow
+ anchors.left: parent.right
+
+ font: label.font
+ text: label.text
+ }
+ }
+}
\ No newline at end of file
diff --git a/Configs/Home/.local/share/plasma/plasmoids/plasmusic-toolbar/contents/ui/TrackPositionSlider.qml b/Configs/Home/.local/share/plasma/plasmoids/plasmusic-toolbar/contents/ui/TrackPositionSlider.qml
new file mode 100644
index 0000000..156b363
--- /dev/null
+++ b/Configs/Home/.local/share/plasma/plasmoids/plasmusic-toolbar/contents/ui/TrackPositionSlider.qml
@@ -0,0 +1,80 @@
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import org.kde.plasma.components as PlasmaComponents3
+
+Item {
+ property bool disableUpdatePosition: false;
+ property int songPosition: 0; // Last song position detected in microseconds
+ property int songLength: 0; // Length of the entire song in microseconds;
+ property bool playing: false;
+ property alias enableChangePosition: timeTrackSlider.enabled;
+ property alias refreshInterval: timer.interval;
+ signal requireChangePosition(delta: int); // delta: Position difference from current position in microseconds
+ signal requireUpdatePosition();
+
+ Layout.preferredHeight: column.implicitHeight
+ Layout.fillWidth: true
+
+ id: container
+
+ Timer {
+ id: timer
+ interval: 200;
+ running: container.playing && !timeTrackSlider.pressed && !timeTrackSlider.changingPosition;
+ repeat: true
+ onTriggered: () => {
+ container.requireUpdatePosition()
+ }
+ }
+
+ ColumnLayout {
+ id: column
+ width: parent.width
+ spacing: 0
+
+ PlasmaComponents3.Slider {
+ Layout.fillWidth: true
+ id: timeTrackSlider
+ value: songPosition / songLength
+ property bool changingPosition: false
+
+ onPressedChanged: () => {
+ if (!pressed) {
+ timeTrackSlider.moved()
+ }
+ }
+ onMoved: {
+ if (pressed) {
+ return
+ }
+ changingPosition = true
+
+ const targetPosition = timeTrackSlider.value * container.songLength
+ if (targetPosition != container.songPosition) {
+ container.requireChangePosition(Math.round(targetPosition - container.songPosition))
+ }
+
+ changingPosition = false
+ }
+ }
+
+ RowLayout {
+ Layout.preferredWidth: parent.width
+ id: timeLabels
+ function formatTommss(ms) {
+ const date = new Date(null);
+ date.setMilliseconds(ms);
+ return date.toISOString().substr(14, 5);
+ }
+
+ PlasmaComponents3.Label {
+ Layout.alignment: Qt.AlignLeft
+ text: timeLabels.formatTommss(songPosition / 1000)
+ }
+ PlasmaComponents3.Label {
+ Layout.alignment: Qt.AlignRight
+ text: timeLabels.formatTommss((songLength - songPosition) / 1000)
+ }
+ }
+ }
+}
diff --git a/Configs/Home/.local/share/plasma/plasmoids/plasmusic-toolbar/contents/ui/VolumeBar.qml b/Configs/Home/.local/share/plasma/plasmoids/plasmusic-toolbar/contents/ui/VolumeBar.qml
new file mode 100644
index 0000000..2c549bd
--- /dev/null
+++ b/Configs/Home/.local/share/plasma/plasmoids/plasmusic-toolbar/contents/ui/VolumeBar.qml
@@ -0,0 +1,52 @@
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import org.kde.plasma.components as PlasmaComponents3
+import org.kde.kirigami as Kirigami
+
+Item {
+ id: container
+ property real volume: 0.5;
+ property real size: 3;
+ property real iconSize: Kirigami.Units.iconSizes.small;
+ signal changeVolume(newVolume: real);
+
+ Layout.fillWidth: true
+ Layout.preferredHeight: row.implicitHeight
+
+ RowLayout {
+ id: row
+ anchors.fill: parent
+
+ CommandIcon {
+ size: iconSize;
+ onClicked: container.changeVolume(container.volume - 0.1 > 1 ? 1 : container.volume - 0.1)
+ source: 'audio-volume-low';
+ }
+ Rectangle {
+ MouseArea {
+ anchors.fill: parent
+ cursorShape: Qt.PointingHandCursor
+ onClicked: ({x}) => {
+ container.changeVolume(x/parent.width)
+ }
+ }
+
+ height: container.size
+ Layout.fillWidth: true
+ id: full
+ color: Kirigami.Theme.disabledTextColor
+
+ Rectangle {
+ Layout.alignment: Qt.AlignLeft
+ height: container.size
+ width: full.width * container.volume
+ color: Kirigami.Theme.highlightColor
+ }
+ }
+ CommandIcon {
+ size: iconSize;
+ onClicked: container.changeVolume(container.volume + 0.1 > 1 ? 1 : container.volume + 0.1);
+ source: 'audio-volume-high';
+ }
+ }
+}
\ No newline at end of file
diff --git a/Configs/Home/.local/share/plasma/plasmoids/plasmusic-toolbar/contents/ui/main.qml b/Configs/Home/.local/share/plasma/plasmoids/plasmusic-toolbar/contents/ui/main.qml
new file mode 100644
index 0000000..0a61e07
--- /dev/null
+++ b/Configs/Home/.local/share/plasma/plasmoids/plasmusic-toolbar/contents/ui/main.qml
@@ -0,0 +1,238 @@
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import org.kde.plasma.core as PlasmaCore
+import org.kde.plasma.plasmoid
+import org.kde.plasma.components as PlasmaComponents3
+import org.kde.kirigami as Kirigami
+import org.kde.plasma.private.mpris as Mpris
+
+PlasmoidItem {
+ id: widget
+ Plasmoid.status: player.ready ? PlasmaCore.Types.ActiveStatus : PlasmaCore.Types.HiddenStatus
+
+ Player {
+ id: player
+ sourceName: plasmoid.configuration.sources[plasmoid.configuration.sourceIndex]
+ }
+
+ compactRepresentation: Item {
+ id: compact
+
+ Layout.preferredWidth: row.implicitWidth + Kirigami.Units.smallSpacing * 2
+ Layout.fillHeight: true
+
+ readonly property real controlsSize: Math.min(height, Kirigami.Units.iconSizes.medium)
+
+ MouseArea {
+ anchors.fill: parent
+ onClicked: {
+ widget.expanded = !widget.expanded;
+ }
+ }
+
+ RowLayout {
+ id: row
+ spacing: 0
+
+ anchors.fill: parent
+
+ PanelIcon {
+ size: compact.controlsSize
+ icon: plasmoid.configuration.panelIcon
+ imageUrl: player.artUrl
+ type: plasmoid.configuration.useAlbumCoverAsPanelIcon ? "image": "icon"
+ Layout.rightMargin: Kirigami.Units.smallSpacing * 2
+ }
+
+
+ Item {
+ visible: plasmoid.configuration.separateText
+ Layout.preferredHeight: column.implicitHeight
+ Layout.preferredWidth: column.implicitWidth
+
+ ColumnLayout {
+ id: column
+ spacing: 0
+ anchors.fill: parent
+ ScrollingText {
+ overflowBehaviour: plasmoid.configuration.textScrollingBehaviour
+ font.bold: true
+ speed: plasmoid.configuration.textScrollingSpeed
+ maxWidth: plasmoid.configuration.maxSongWidthInPanel
+ text: player.title
+ }
+ ScrollingText {
+ overflowBehaviour: plasmoid.configuration.textScrollingBehaviour
+ speed: plasmoid.configuration.textScrollingSpeed
+ maxWidth: plasmoid.configuration.maxSongWidthInPanel
+ text: player.artists
+ }
+ }
+ }
+
+ ScrollingText {
+ visible: !plasmoid.configuration.separateText
+ overflowBehaviour: plasmoid.configuration.textScrollingBehaviour
+ speed: plasmoid.configuration.textScrollingSpeed
+ maxWidth: plasmoid.configuration.maxSongWidthInPanel
+ text: [player.artists, player.title].filter((x) => x).join(" - ")
+ }
+
+ PlasmaComponents3.ToolButton {
+ visible: plasmoid.configuration.commandsInPanel
+ enabled: player.canGoPrevious
+ icon.name: "media-seek-backward"
+ implicitWidth: compact.controlsSize
+ implicitHeight: compact.controlsSize
+ onClicked: player.previous()
+ }
+
+ PlasmaComponents3.ToolButton {
+ visible: plasmoid.configuration.commandsInPanel
+ enabled: player.playbackStatus === Mpris.PlaybackStatus.Playing ? player.canPause : player.canPlay
+ implicitWidth: compact.controlsSize
+ implicitHeight: compact.controlsSize
+ icon.name: player.playbackStatus === Mpris.PlaybackStatus.Playing ? "media-playback-pause" : "media-playback-start"
+ onClicked: player.playPause()
+ }
+
+ PlasmaComponents3.ToolButton {
+ visible: plasmoid.configuration.commandsInPanel
+ enabled: player.canGoNext
+ implicitWidth: compact.controlsSize
+ implicitHeight: compact.controlsSize
+ icon.name: "media-seek-forward"
+ onClicked: player.next()
+ }
+ }
+ }
+
+ fullRepresentation: Item {
+ Layout.preferredHeight: column.implicitHeight
+ Layout.preferredWidth: column.implicitWidth
+
+ ColumnLayout {
+ id: column
+
+ spacing: 0
+ anchors.fill: parent
+
+ Rectangle {
+ Layout.alignment: Qt.AlignHCenter
+ Layout.margins: 10
+ width: 300
+ height: width
+
+ Image {
+ anchors.fill: parent
+ visible: player.artUrl
+ source: player.artUrl
+ fillMode: Image.PreserveAspectFit
+ }
+ }
+
+ TrackPositionSlider {
+ Layout.leftMargin: 20
+ Layout.rightMargin: 20
+ songPosition: player.songPosition
+ songLength: player.songLength
+ playing: player.playbackStatus === Mpris.PlaybackStatus.Playing
+ enableChangePosition: player.canSeek
+ onRequireChangePosition: (delta) => {
+ player.seek(delta)
+ }
+ onRequireUpdatePosition: () => {
+ player.updatePosition()
+ }
+ }
+
+ ScrollingText {
+ speed: plasmoid.configuration.textScrollingSpeed
+ font.bold: true
+ maxWidth: 250
+ text: player.title
+ }
+
+ ScrollingText {
+ speed: plasmoid.configuration.textScrollingSpeed
+ maxWidth: 250
+ text: player.artists
+ }
+
+ VolumeBar {
+ Layout.leftMargin: 40
+ Layout.rightMargin: 40
+ Layout.topMargin: 10
+ volume: player.volume
+ onChangeVolume: (vol) => {
+ player.setVolume(vol)
+ }
+ }
+
+ Item {
+ Layout.leftMargin: 20
+ Layout.rightMargin: 20
+ Layout.bottomMargin: 10
+ Layout.fillWidth: true
+ Layout.preferredHeight: row.implicitHeight
+ RowLayout {
+ id: row
+
+ anchors.fill: parent
+
+ CommandIcon {
+ enabled: player.canChangeShuffle
+ Layout.alignment: Qt.AlignHCenter
+ size: Kirigami.Units.iconSizes.medium
+ source: "media-playlist-shuffle"
+ onClicked: player.setShuffle(player.shuffle === Mpris.ShuffleStatus.Off ? Mpris.ShuffleStatus.On : Mpris.ShuffleStatus.Off)
+ active: player.shuffle === Mpris.ShuffleStatus.On
+ }
+
+ CommandIcon {
+ enabled: player.canGoPrevious
+ Layout.alignment: Qt.AlignHCenter
+ size: Kirigami.Units.iconSizes.medium
+ source: "media-seek-backward"
+ onClicked: player.previous()
+ }
+
+ CommandIcon {
+ enabled: player.playbackStatus === Mpris.PlaybackStatus.Playing ? player.canPause : player.canPlay
+ Layout.alignment: Qt.AlignHCenter
+ size: Kirigami.Units.iconSizes.large
+ source: player.playbackStatus === Mpris.PlaybackStatus.Playing ? "media-playback-pause" : "media-playback-start"
+ onClicked: player.playPause()
+ }
+
+ CommandIcon {
+ enabled: player.canGoNext
+ Layout.alignment: Qt.AlignHCenter
+ size: Kirigami.Units.iconSizes.medium
+ source: "media-seek-forward"
+ onClicked: player.next()
+ }
+
+ CommandIcon {
+ enabled: player.canChangeLoopStatus
+ Layout.alignment: Qt.AlignHCenter
+ size: Kirigami.Units.iconSizes.medium
+ source: player.loopStatus === Mpris.LoopStatus.Track ? "media-playlist-repeat-song" : "media-playlist-repeat"
+ active: player.loopStatus != Mpris.LoopStatus.None
+ onClicked: () => {
+ let status = Mpris.LoopStatus.None;
+ if (player.loopStatus == Mpris.LoopStatus.None)
+ status = Mpris.LoopStatus.Track;
+ else if (player.loopStatus === Mpris.LoopStatus.Track)
+ status = Mpris.LoopStatus.Playlist;
+ player.setLoopStatus(status);
+ }
+ }
+
+ }
+
+ }
+
+ }
+ }
+}
\ No newline at end of file
diff --git a/Configs/Home/.local/share/plasma/plasmoids/plasmusic-toolbar/metadata.json b/Configs/Home/.local/share/plasma/plasmoids/plasmusic-toolbar/metadata.json
new file mode 100644
index 0000000..cfc22ed
--- /dev/null
+++ b/Configs/Home/.local/share/plasma/plasmoids/plasmusic-toolbar/metadata.json
@@ -0,0 +1,22 @@
+
+{
+ "KPlugin": {
+ "Authors": [
+ {
+ "Email": "catterina.claudio@gmail.com",
+ "Name": "Claudio Catterina"
+ }
+ ],
+ "Description": "KDE Plasma widget that shows currently playing song information and provide playback controls.",
+ "EnabledByDefault": true,
+ "Icon": "view-media-track",
+ "Id": "plasmusic-toolbar",
+ "License": "GPL3",
+ "Name": "PlasMusic Toolbar",
+ "ServiceTypes": [
+ "Plasma/Applet"
+ ],
+ "Version": "1.0.1"
+ },
+ "X-Plasma-API-Minimum-Version": "6.0"
+}
\ No newline at end of file