diff --git a/pom.xml b/pom.xml
index 84eb3d0..c10b2f5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -25,6 +25,11 @@
oshi-core
6.4.0
+
+ org.apache.commons
+ commons-math3
+ 3.6.1
+
diff --git a/src/main/java/net/metaunix/App.java b/src/main/java/net/metaunix/App.java
index d25c854..fb2b730 100644
--- a/src/main/java/net/metaunix/App.java
+++ b/src/main/java/net/metaunix/App.java
@@ -31,7 +31,7 @@ public class App extends Application {
System.out.println(String.valueOf(os));
Parent root = FXMLLoader.load(getClass().getClassLoader().getResource("views/home.fxml"));
- var scene = new Scene(root, 640, 480);
+ var scene = new Scene(root, 800, 600);
stage.setTitle("Arrow System Monitor");
stage.setScene(scene);
stage.show();
diff --git a/src/main/java/net/metaunix/SysInfo.java b/src/main/java/net/metaunix/SysInfo.java
index 120dc1b..493935e 100644
--- a/src/main/java/net/metaunix/SysInfo.java
+++ b/src/main/java/net/metaunix/SysInfo.java
@@ -5,9 +5,15 @@ public class SysInfo {
public static String osString = "N/a";
public static double cpuTemp = 0.0;
+ public static double cpuUsage = 0.0;
public static long cpuFreq = 0;
public static long cpuMaxFreq = 0;
+ public static long memoryUsed = 0;
+ public static long memoryTotal = 0;
+
+ public static String gpuName = "N/a";
+
public static String javaVersion() {
return System.getProperty("java.version");
}
diff --git a/src/main/java/net/metaunix/controllers/HomeController.java b/src/main/java/net/metaunix/controllers/HomeController.java
index 801f196..1196f2e 100644
--- a/src/main/java/net/metaunix/controllers/HomeController.java
+++ b/src/main/java/net/metaunix/controllers/HomeController.java
@@ -3,7 +3,7 @@ package net.metaunix.controllers;
import javafx.fxml.FXML;
import javafx.scene.control.Label;
import javafx.util.Duration;
-
+import org.apache.commons.math3.util.Precision;
import net.metaunix.SysInfo;
import net.metaunix.services.UpdateSystemInfoService;
@@ -13,8 +13,14 @@ public class HomeController {
@FXML
private Label osInfo;
@FXML
+ private Label overCpuUsage;
+ @FXML
private Label overCpuTemp;
@FXML
+ private Label overMemoryUsage;
+ @FXML
+ private Label overGpuTemp;
+ @FXML
private Label cpuCpuTemp;
@FXML
private Label cpuCpuFreq;
@@ -33,7 +39,15 @@ public class HomeController {
private void updateLabels() {
osInfo.setText(SysInfo.osString);
+ overCpuUsage.setText(String.valueOf(Precision.round(SysInfo.cpuUsage * 100, 1)) + "%");
overCpuTemp.setText(String.valueOf(SysInfo.cpuTemp));
+ overMemoryUsage.setText(
+ String.valueOf(Precision.round((double) SysInfo.memoryUsed / (1024*1024*1024), 2)) +
+ "GB / " +
+ String.valueOf(Precision.round((double) SysInfo.memoryTotal / (1024*1024*1024), 2)) +
+ "GB"
+ );
+ overGpuTemp.setText(String.valueOf(SysInfo.gpuName));
cpuCpuTemp.setText(String.valueOf(SysInfo.cpuTemp));
cpuCpuFreq.setText(String.valueOf(SysInfo.cpuFreq));
cpuCpuMaxFreq.setText(String.valueOf(SysInfo.cpuMaxFreq));
diff --git a/src/main/java/net/metaunix/services/UpdateSystemInfoService.java b/src/main/java/net/metaunix/services/UpdateSystemInfoService.java
index 5e514c4..5f2d8f1 100644
--- a/src/main/java/net/metaunix/services/UpdateSystemInfoService.java
+++ b/src/main/java/net/metaunix/services/UpdateSystemInfoService.java
@@ -1,10 +1,13 @@
package net.metaunix.services;
import java.util.Arrays;
+import java.util.List;
import javafx.concurrent.ScheduledService;
import javafx.concurrent.Task;
import oshi.SystemInfo;
import oshi.hardware.CentralProcessor;
+import oshi.hardware.GlobalMemory;
+import oshi.hardware.GraphicsCard;
import oshi.hardware.HardwareAbstractionLayer;
import oshi.hardware.Sensors;
import oshi.software.os.OperatingSystem;
@@ -32,6 +35,14 @@ public class UpdateSystemInfoService extends ScheduledService {
SysInfo.cpuTemp = sensors.getCpuTemperature();
CentralProcessor cpu = hal.getProcessor();
SysInfo.cpuMaxFreq = cpu.getMaxFreq();
+ SysInfo.cpuUsage = (cpu.getSystemLoadAverage(3)[0] / cpu.getLogicalProcessorCount());
+
+ GlobalMemory memory = hal.getMemory();
+ SysInfo.memoryTotal = memory.getTotal();
+ SysInfo.memoryUsed = (SysInfo.memoryTotal - memory.getAvailable());
+
+ List gpus = hal.getGraphicsCards();
+ SysInfo.gpuName = gpus.get(0).getName();
long[] freqs = cpu.getCurrentFreq();
Arrays.sort(freqs);
diff --git a/src/main/resources/stylesheets/home.css b/src/main/resources/stylesheets/home.css
index fcba9bb..44681b7 100644
--- a/src/main/resources/stylesheets/home.css
+++ b/src/main/resources/stylesheets/home.css
@@ -1,3 +1,16 @@
+GridPane{
+ -fx-background-color: #212121;
+ -fx-vgap: 1;
+ -fx-hgap: 1;
+}
+GridPane AnchorPane{
+ -fx-background-color: white;
+}
+
+.overview-value{
+ -fx-font-size: 32px;
+}
+
.info-box{
-fx-padding: 10;
}
diff --git a/src/main/resources/views/home.fxml b/src/main/resources/views/home.fxml
index 1ec7649..354e03a 100644
--- a/src/main/resources/views/home.fxml
+++ b/src/main/resources/views/home.fxml
@@ -32,7 +32,6 @@
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-->
-
@@ -41,6 +40,10 @@
+
+
+
+
@@ -92,15 +95,66 @@
-
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
@@ -128,7 +182,11 @@
-
+
+
+
+
+