Git Product home page Git Product logo

diskmonitor's People

Contributors

papylhomme avatar sparkie3 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

diskmonitor's Issues

QML RowLayout error

i compiled 0.3.4 on kubuntu 20.04 and am stuck with an emtpy widget on the desktop. in ~/.xsession-errors i see:

file:///usr/share/plasma/plasmoids/org.papylhomme.diskmonitor/contents/ui/configMonitoring.qml:47:9: QML RowLayout: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
file:///usr/share/plasma/plasmoids/org.papylhomme.diskmonitor/contents/ui/configAppearance.qml:27:1: QML QQuickItem*: StackView has detected conflicting anchors. Transitions may not execute properly.

how can this be fixed?

Slovenian translation

I'd like to contribute a Slovenian translation. I requested the new language on Transifex some time ago and it was added. But when I tried "Join team" I got no response. Could you please add me to the translation team? Thanks.

Main view and general health status not updated

When refreshing the details panel, the main view and the general health status are not updated. This may lead to a panel displaying errors for the drive/raid while the main part of the UI is still being happy with the old data.

make install puts .so file in /org

I'm running kubuntu 17.04. I ran through the install process as follows:
mkdir build
cd build/

$ cmake .. -DCMAKE_INSTALL_PREFIX=$(kf5-config --prefix) -DCMAKE_BUILD_TYPE=Release -DKDE_INSTALL_USE_QT_SYS_PATHS=ON
$ make
[  2%] Automatic moc for target libdiskmonitor
Generating moc compilation libdiskmonitor_automoc.cpp
[  2%] Built target libdiskmonitor_automoc
Scanning dependencies of target libdiskmonitor
[  4%] Building CXX object libdiskmonitor/CMakeFiles/libdiskmonitor.dir/storageunit.cpp.o
[  6%] Building CXX object libdiskmonitor/CMakeFiles/libdiskmonitor.dir/drive.cpp.o
...
[100%] Generating org.papylhomme.diskmonitor-plasmoids-metadata.json
About to parse service type file "plasma-applet.desktop"
Found property definition "X-Plasma-API" with type "QString"
Found property definition "X-Plasma-RootPath" with type "QString"
Found property definition "X-Plasma-MainScript" with type "QString"
Found property definition "X-Plasma-ContainmentType" with type "QString"
Found property definition "X-Plasma-DropMimeTypes" with type "QStringList"
Found property definition "X-Plasma-DropUrlPatterns" with type "QStringList"
Found property definition "X-Plasma-NotificationArea" with type "QString"
Found property definition "X-Plasma-NotificationAreaCategory" with type "QString"
Found property definition "X-Plasma-DBusActivationService" with type "QString"
Found property definition "X-KDE-ParentApp" with type "QString"
Found property definition "X-Plasma-Provides" with type "QStringList"
Found property definition "X-Plasma-ConfigPlugins" with type "QStringList"
Found property definition "X-Plasma-StandAloneApp" with type "bool"
Found property definition "X-Plasma-RequiredExtensions" with type "QStringList"
Found property definition "NoDisplay" with type "bool"
Unknown property type for key "X-Plasma-RemoteLocation" -> falling back to string
Generated  "/home/sbeck/diskmonitor/build/notifier/applet/org.papylhomme.diskmonitor-plasmoids-metadata.json" 

[100%] Built target org.papylhomme.diskmonitor-plasmoids-metadata-json
[100%] Built target i18n
$ sudo make install  
[  2%] Automatic moc for target libdiskmonitor
[  2%] Built target libdiskmonitor_automoc
[ 15%] Built target libdiskmonitor
[ 17%] Automatic moc for target libsettings
[ 17%] Built target libsettings_automoc
[ 45%] Built target libsettings
[ 47%] Automatic moc for target diskmonitor
[ 47%] Built target diskmonitor_automoc
[ 86%] Built target diskmonitor
[ 89%] Automatic moc for target diskmonitor_qmlplugins
[ 89%] Built target diskmonitor_qmlplugins_automoc
[ 97%] Built target diskmonitor_qmlplugins
[100%] Built target org.papylhomme.diskmonitor-plasmoids-metadata-json
[100%] Built target i18n
Install the project...
-- Install configuration: "Release"
-- Up-to-date: /usr/share/config.kcfg/diskmonitor.kcfg
-- Installing: /usr/bin/diskmonitor
-- Up-to-date: /usr/share/icons/diskmonitor.svg
-- Up-to-date: /usr/share/applications/diskmonitor.desktop
-- Installing: /org/papylhomme/diskmonitor/libdiskmonitor_qmlplugins.so
-- Up-to-date: /org/papylhomme/diskmonitor/qmldir
-- Up-to-date: /usr/share/knotifications5/diskmonitor.notifyrc
-- Up-to-date: /usr/share/plasma/plasmoids/org.papylhomme.diskmonitor
-- Up-to-date: /usr/share/plasma/plasmoids/org.papylhomme.diskmonitor/metadata.desktop
-- Up-to-date: /usr/share/plasma/plasmoids/org.papylhomme.diskmonitor/contents
-- Up-to-date: /usr/share/plasma/plasmoids/org.papylhomme.diskmonitor/contents/config
-- Up-to-date: /usr/share/plasma/plasmoids/org.papylhomme.diskmonitor/contents/config/config.qml
-- Up-to-date: /usr/share/plasma/plasmoids/org.papylhomme.diskmonitor/contents/config/main.xml
-- Up-to-date: /usr/share/plasma/plasmoids/org.papylhomme.diskmonitor/contents/ui
-- Up-to-date: /usr/share/plasma/plasmoids/org.papylhomme.diskmonitor/contents/ui/configAppearance.qml
-- Up-to-date: /usr/share/plasma/plasmoids/org.papylhomme.diskmonitor/contents/ui/configMonitoring.qml
-- Up-to-date: /usr/share/plasma/plasmoids/org.papylhomme.diskmonitor/contents/ui/ColorPickerButton.qml
-- Up-to-date: /usr/share/plasma/plasmoids/org.papylhomme.diskmonitor/contents/ui/IconPickerButton.qml
-- Up-to-date: /usr/share/plasma/plasmoids/org.papylhomme.diskmonitor/contents/ui/main.qml
-- Up-to-date: /usr/share/plasma/plasmoids/org.papylhomme.diskmonitor/contents/ui/IconProvider.qml
-- Up-to-date: /usr/share/plasma/plasmoids/org.papylhomme.diskmonitor/contents/ui/StorageUnitIcons.qml
-- Up-to-date: /usr/share/plasma/plasmoids/org.papylhomme.diskmonitor/contents/ui/StorageUnitBig.qml
-- Up-to-date: /usr/share/plasma/plasmoids/org.papylhomme.diskmonitor/contents/ui/PopupDialog.qml
-- Up-to-date: /usr/share/plasma/plasmoids/org.papylhomme.diskmonitor/contents/ui/StorageUnitMinimalist.qml
-- Up-to-date: /usr/share/plasma/plasmoids/org.papylhomme.diskmonitor/contents/ui/CompactRepresentation.qml
-- Up-to-date: /usr/share/plasma/plasmoids/org.papylhomme.diskmonitor/contents/ui/StorageUnitSmall.qml
-- Installing: /usr/share/plasma/plasmoids/org.papylhomme.diskmonitor/metadata.json
-- Installing: /usr/share/metainfo/org.papylhomme.diskmonitor.appdata.xml
-- Up-to-date: /usr/share/kservices5/plasma-applet-org.papylhomme.diskmonitor.desktop
-- Installing: /usr/share/locale/fr/LC_MESSAGES/diskmonitor.mo
-- Installing: /usr/share/locale/fr/LC_MESSAGES/plasma_applet_org.papylhomme.diskmonitor.mo
$ 

As you can see it put the plasma qml plugin in /org/papylhomme/diskmonitor/

Where should it go so I can copy it there and test the widget?
The widget comes up with:
Error loading QML file: file:///usr/share/plasma/plasmoids/org.papylhomme.diskmonitor/contents/ui/main.qml:24:1: module "org.papylhomme.diskmonitor" is not installed

Applet's size is unbounded and is thus rediculously too large

This project's applet exhibits the same (over-)sizing problem that used to plague many of KDE 5's built-in widgets/applets.

Example/illustration of the exact same problem:
https://forum.kde.org/viewtopic.php?f=289&t=131908

Fix(es) used by KDE 5's built-ins:
https://bugs.kde.org/show_bug.cgi?id=378443

As a side note, I'd like to emphasize that I am absolutely THRILLED to see this program exists. As a former user of Hard Disk Sentinel back in my Windows days, I am strongly of the opinion that tools such as this should have long been a standard part of any operation system installation. And that's particularly because this (like HDSentinel on Windows) provides proactive notice of SMART issues, not just a manual poll-based cmdline interface (or worse, NO notice whatsoever, as is the default in most operation systems). Some years back, my old inability to find a program like this on Linux was by far my biggest hesitation at switching my primary desktop from Windows to Linux. So huge thanks for making this tool, and also for making it Qt/KDE-based.

QML RowLayout: Detected anchors on an item that is managed by a layout.

i compiled 0.3.4 on kubuntu 20.04 and am stuck with an emtpy widget on the desktop. in ~/.xsession-errors i see:

file:///usr/share/plasma/plasmoids/org.papylhomme.diskmonitor/contents/ui/configMonitoring.qml:47:9: QML RowLayout: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
file:///usr/share/plasma/plasmoids/org.papylhomme.diskmonitor/contents/ui/configAppearance.qml:27:1: QML QQuickItem*: StackView has detected conflicting anchors. Transitions may not execute properly.

how can this be fixed?

Requirements for building

The following packages are required for building on Kubuntu 17.10. It would be worth mentioning it in the requirement section.

extra-cmake-modules
libkf5iconthemes-dev
libkf5notifications-dev
libkf5windowsystem-dev
libkf5xmlgui-dev
qtdeclarative5-dev

Ask for sudo password on Wayland

I've compiled and installed diskmonitor-git from the AUR in Arch Linux. On Plasma Wayland, DisKMonitor 0.3.4 will start, but no smart information will be shown and you get only the message "Unable to detect SMART support for this drive". When using "sudo smartctl -a /dev/nvme0" on the terminal, I can see all the smart details for this drive. I assume that when starting DisKMonitor it should ask for the sudo password.

fail build

[ 26%] Building CXX object settings/CMakeFiles/libsettings.dir/configdialog.cpp.o
In file included from /tmp/makepkg/diskmonitor/src/diskmonitor/settings/appearance.h:24:0,
                 from /tmp/makepkg/diskmonitor/src/diskmonitor/settings/configdialog.cpp:26:
/tmp/makepkg/diskmonitor/src/build/settings/ui_appearance.h:1:10: fatal error: klocalizedstring.h: No such file or directory
 #include <klocalizedstring.h>
          ^~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [settings/CMakeFiles/libsettings.dir/build.make:79: settings/CMakeFiles/libsettings.dir/configdialog.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:719: settings/CMakeFiles/libsettings.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
└───╼  locate klocalizedstring.h
/usr/include/KF5/KI18n/klocalizedstring.h
└───╼  ls /usr/include/KF5/KI18n/klocalizedstring.h
-rw-r--r-- 1 root root 93516 mar  3 11:03 /usr/include/KF5/KI18n/klocalizedstring.h
└───╼  yaourt -Qi ki18n | grep Ver
Versión                   : 5.44.0-1

Plasma popups not displaying and generate error messages in KSystemlog

Hello, and thank you for making this great application!

As a new GNU/Linux user newly transitioned from Windows, I greatly appreciate GUI applications, and this one nicely fills the void for SMART and Software RAID monitoring (+scrubbing)!

The application and systray components seem to be working well, although I must confess I haven't monitored KSystemlog when I was in the app to know if I have been receiving other messages in the background while using/configuring it... maybe I'll do that soon.

However, what I have noticed is that every 5-7 minutes, I get a batch of entries in KSystemlog related to PopupDialog.qml...
KSystemlog
... I haven't seen a popup, so I imagine this error is what is preventing them. As far as I can tell, I am getting one "left"/"right" pair per physical disk I have attached (6x2=12).

$ lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINTS
sda           8:0    0 232.9G  0 disk  
└─sda1        8:1    0 232.9G  0 part  /run/timeshift/backup
                                       /data/evo840
sdb           8:16   0   7.3T  0 disk  
└─sdb1        8:17   0   7.3T  0 part  
  └─md127     9:127  0   7.3T  0 raid1 /data/raid1
sdc           8:32   0   7.3T  0 disk  
└─sdc1        8:33   0   7.3T  0 part  
  └─md127     9:127  0   7.3T  0 raid1 /data/raid1
nvme2n1     259:0    0 931.5G  0 disk  
├─nvme2n1p1 259:1    0   300M  0 part  /boot/efi
└─nvme2n1p2 259:2    0 931.2G  0 part  /
nvme1n1     259:3    0 931.5G  0 disk  
└─nvme1n1p1 259:10   0 931.5G  0 part  /data/sn750
nvme0n1     259:4    0 931.5G  0 disk  
├─nvme0n1p1 259:5    0   100M  0 part  
├─nvme0n1p2 259:6    0    16M  0 part  
├─nvme0n1p3 259:7    0   930G  0 part  
├─nvme0n1p4 259:8    0   528M  0 part  
└─nvme0n1p5 259:9    0   881M  0 part 

Application: DisKMonitor 0.3.4

  • KDE Frameworks 5.84.0
  • Qt 5.15.2 (built against 5.15.2)
  • The xcb windowing system

Operating System: Manjaro Linux

  • KDE Plasma Version: 5.22.4
  • KDE Frameworks Version: 5.84.0
  • Qt Version: 5.15.2
  • Kernel Version: 5.13.5-1-MANJARO (64-bit)
  • Graphics Platform: X11

Dark font in breeze dark theme

screenshot
OS: KDE neon 5.17
DE: KDE 5.63.0 / Plasma 5.17.1
WM: KWin
WM Theme: Breeze Dark
GTK Theme: Breeze-Dark [GTK2/3]
Icon Theme: breeze-dark
Font: Noto Sans Regular

compilation fails with [...]/build/settings/ui_appearance.h:1:30: fatal error: klocalizedstring.h: No such file or directory

Building a fresh clone of diskmonitor (both master and v0.3.1) fails with klocalizedstring.h not found although the appropriate devel-package is installed.
Below is the excerpt of the build log:

//snip
[ 19%] Building CXX object settings/CMakeFiles/libsettings.dir/configdialog.cpp.o
In file included from [...]/diskmonitor/settings/appearance.h:24:0,
                 from [...]/diskmonitor/settings/configdialog.cpp:26:
[...]/diskmonitor/build/settings/ui_appearance.h:1:30: fatal error: klocalizedstring.h: No such file or directory
 #include <klocalizedstring.h>
                          ^
compilation terminated.
settings/CMakeFiles/libsettings.dir/build.make:72: recipe for target 'settings/CMakeFiles/libsettings.dir/configdialog.cpp.o' failed
//snap

As I found out the ui_smart.h will fail with the same error.

System: Fedora core 21 with latest KF5 packages from dvratil's Copr repository

Are USB HDD's supported?

On the one I tried, diskmonitor just said the drive's status was unknown. Wasn't sure if this was a diskmonitor limitation or some kind of driver problem, etc, on my end.

Implement the daemon part of diskmonitor

  • Use a kcfg_part to configure the daemon
  • Allow to select the devices to monitor
  • The daemon shall not notify the user repeatedly for the same event (but still ensure the user has acknowledged the problem)
  • Allow monitoring of selected SMART attributes (another version ?)

Add settings for SMART sensitive attributes

Currently the UI displays sensitive attributes using an orange background, but the list is hard-coded using my drives output.

It would be nice to be able to configure which attributes are considered sensitive. Maybe add a threshold too (current is >0).

Also take a look at SMART Wikipedia page and/or gsmartcontrol to enhance the default list of sensitive attributes

Display when last test has run

It would be nice to see how long ago the last test has run and how long it took to run. This information should be visible in the app UI as well as in the widget UI. It can be deducted from the smartctl -a output:

...
Extended self-test routine
recommended polling time: 	 ( 267) minutes.
...
  9 Power_On_Hours          0x0032   051   051   000    Old_age   Always       -       36207
...
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Extended offline    Completed without error       00%     36190         -
...

From the above, we can produce the following output:

Last test (extended): 17 LifeTime hours ago, took 267 minutes

Where the 17 hours is the difference between the LifeTime(hours) and Power_On_Hours.

nvme disk show as unknown

Screenshot_20190816_142705

smartctlr show the disk and their properties (for example, --info)

└───╼  sudo smartctl --info /dev/nvme0n1
smartctl 7.0 2018-12-30 r4883 [x86_64-linux-5.2.0-arch2-1-ARCH] (local build)
Copyright (C) 2002-18, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Number:                       Samsung SSD 960 EVO 500GB
Serial Number:                      S3EUNB0J557245E
Firmware Version:                   2B7QCXE7
PCI Vendor/Subsystem ID:            0x144d
IEEE OUI Identifier:                0x002538
Total NVM Capacity:                 500.107.862.016 [500 GB]
Unallocated NVM Capacity:           0
Controller ID:                      2
Number of Namespaces:               1
Namespace 1 Size/Capacity:          500.107.862.016 [500 GB]
Namespace 1 Utilization:            424.896.667.648 [424 GB]
Namespace 1 Formatted LBA Size:     512
Namespace 1 IEEE EUI-64:            002538 5571b2a498
Local Time is:                      Fri Aug 16 14:29:15 2019 CEST

Icon of Disk Monitor is incorrect on KDE Plasma Wayland sesison

Hi
I use Disk Monitor 0.3.3 on Arch Linux running the Wayland session of KDE Plasma 5.15.5 desktop environment.
As we can see in the following screenshot, the title bar of Disk Monitor shows
a Wayland generic icon instead of the icon of Disk Monitor.
The task switcher (alt+tab menu) also shows the same Wayland generic icon.
Maybe the following link can help you to solve this issue.
https://community.kde.org/Guidelines_and_HOWTOs/Wayland_Porting_Notes#Application_Icon

diskmonitor

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.