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 @@ - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - 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 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - 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 @@ - - - - - - - - - - image/svg+xml - - - - - - - S - - - 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 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - Openclipart - - - - 2010-03-29T08:46:59 - "System monitor" icon from <a href="http://tango.freedesktop.org/Tango_Desktop_Project"> Tango Project </a> \n<br><br> \nSince version 0.8.90 Tango Project icons are Public Domain: <a href="http://tango.freedesktop.org/Frequently_Asked_Questions#Terms_of_Use.3F"> Tango Project FAQ </a> - http://openclipart.org/detail/35353/tango-utilities-system-monitor-by-warszawianka - - - warszawianka - - - - - clip art - clipart - display - externalsource - icon - monitor - screen - signal - tango - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - Openclipart - - - tango utilities system monitor - 2010-03-29T08:46:59 - "System monitor" icon from <a href="http://tango.freedesktop.org/Tango_Desktop_Project"> Tango Project </a> \n<br><br> \nSince version 0.8.90 Tango Project icons are Public Domain: <a href="http://tango.freedesktop.org/Frequently_Asked_Questions#Terms_of_Use.3F"> Tango Project FAQ </a> - http://openclipart.org/detail/35353/tango-utilities-system-monitor-by-warszawianka - - - warszawianka - - - - - clip art - clipart - display - externalsource - icon - monitor - screen - signal - tango - - - - - - - - - - - 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 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - 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