It is currently July 20th, 2019, 6:11 am

ModernGadgets 1.5.1

Post your work-in-progress and completed skins to share and discuss.
User avatar
raiguard
Posts: 633
Joined: June 25th, 2015, 7:02 pm
Location: The Sky, USA

ModernGadgets 1.5.1

raiguard » November 15th, 2016, 5:37 am

Image
ModernGadgets is a set of sleek, minimalist, information-dense gadgets that are designed to fit right into your modern desktop. It is the result of my tinkering with Rainmeter for the last three years, and is heavily based on SilverAzide's Gadget Replicas. The overarching goal of this suite is ease-of-use. Thus, everything has been made as simple and streamlined as possible.

ModernGadgets requires HWiNFO, a free system monitoring utility, for full functionality. Alternatively, some information in CPU Meter may be retrieved through the CoreTemp or SpeedFan applications.

REQUIRES RAINMETER 4.3 OR NEWER
REQUIRES .NET FRAMEWORK 4.5 OR NEWER
REQUIRES WINDOWS 7 SP1 OR NEWER


Download latest version (v1.5.1)
Older versions

ModernGadgets on GitHub

Installation and Setup:
Download the skin suite's .rmskin file and open it. Follow the standard Rainmeter skin installation process. If it is your first time using ModernGadgets, it is recommended to load the current layout in order to be presented with a Welcome skin, which will contain many useful links.

Please keep in mind that for many features, you need to install and configure HWiNFO. Click here to view the HWiNFO setup tutorial (also available as a link from the welcome screen).

Credits:
Designed and programmed by Caleb Heuer (raiguard).
Backend code based on "Gadgets" by SilverAzide.

"IBM Plex Sans" font from Google Fonts, under the Apache 2.0 License
"Material Icons" font from Google, under the Apache 2.0 License.
"Elegant Icons" font from Elegant Themes, under GPL and MIT Licenses.
"Google Now Weather Feed Icons" from NCrystal on DeviantArt.

Special Thanks:
SilverAzide - ActiveNet plugin, NetMonitor utility, fixed precision format script
stangowner - HWiNFO Plugin, HWiNFO Shared Memory Viewer
jsmorley - RainRGB, Rainmeter
balala - Help with fixing Disks Meter's dynamic height adjustment
smurfier - ReadINI function

Gadget Features:
Audio Meter
- Volume and sound device controls
- NowPlaying media controls (supports both local and web media players)
- Adjustable visualizer
- Able to be scaled to any size

Chronometer
- Displays current date and time
- Shows system uptime and logon time
- Supports up to two alarms
- Displays a custom event countdown
- Includes stopwatch and timer applets
- Able to be scaled to any size

CPU Meter
- Per-thread CPU usage, per-core CPU temperature** and voltage*
- Supports up to 64 CPU threads
- Shows CPU name, RAM and Page File information
- Shows CPU clock speed, CPU fan speed**
- Shows top process by CPU usage
- Thermal throttling detection and alarm*
- Line graph displays CPU temperature**, per-thread CPU usage, RAM usage, and Page file usage
- Optional average CPU usage graph display
- Opens task manager on double-click
- Able to be scaled to any size

Disks Meter
- Supports all disk drive slots (A-Z)
- Automatically adjusts when disks are connected/disconnected
- Displays disk name, read/write time usage, current read/write rates, and storage information for each disk
- Line graph displays read/write rates and read/write time usage for each disk
- Clicking a disk name will open File Explorer on the selected disk
- Includes eject buttons for ejecting removable disks***
- Able to be scaled to any size

GPU Meter*
- GPU name, general usage, and temperature
- Fan speed information
- VRAM usage and memory clock speed
- Memory controller usage
- Video clock speed
- Core Voltage
- Line graph displays general GPU usage, VRAM usage, fan speed, and memory controller usage
- Includes four GPU meters to monitor up to 4 discrete GPUs for multi-GPU setups
- Able to be scaled to any size

Network Meter
- Local and global IP addresses
- View your location based on your IP address
- Shows Network Ping to a specified URL
- Displays Current upload/download rates in both bits/sec and bytes/sec
- Displays Session and total data uploaded/downloaded
- Displays peak network traffic speed
- Line graph shows current upload/download rates
- Shows link to speedtest.net for testing your network speed
- Includes alternate “pro” mode with more accurate tracking (requires installation of third-party software)
- Able to be scaled to any size

Process Meter
- Displays ten processes, ordered by either CPU usage or GPU usage
- Displays process RAM/VRAM usage
- Allows process filtering, defaulting to all system-related processes
- Shows average CPU/GPU usage in the gadget header*
- Line graph shows average CPU/GPU usage*
- Able to be scaled to any size

Weather Meter
- Displays current weather for the selected location
- Calculates and displays a variety of sun/moon information, such as rise/set times and angles in the sky
- Includes five-day forecast and city locator applets
- Able to be scaled to any size

Bonus (non-official) Gadgets
- Release Stats Meter shows GitHub release stats for the selected repository

* Requires HWiNFO
** Requires CoreTemp, SpeedFan, or HWiNFO
*** Requires administrator privileges


Changelog:
v1.5.1 - 2019-05-04
- Added average CPU usage mode to CPU Meter
- Improved iconography in Network Meter
- Updated default network peak traffic color
- Fixed Audio Meter play button visual glitch when in replay state
- Fixed accidental 30-character limit of Chronometer sound file paths
- Fixed Chronometer sound file path input boxes destroying backslashes
- Fixed event countdown not working if system uptime was hidden
- Fixed timer finished sound being un-configurable
- Fixed page file size not updating
- Fixed hover logic of net total refresh buttons
- Fixed speedtest button hover logic
- Fixed issue with certain date formats in weather forecast
- Fixed weather forecast buttons being unclickable at non-1.0x scaling
- Fixed faulty math.round function in SunCalc script
- Fixed timestamp conversion errors in SunCalc script (moon info was a day behind!)
- Fixed line graph background colors being tied to the wrong variables
- Fixed background height inconsistencies in CPU Meter and Disks Meter
- Fixed sidebar configuration stopping early
- Fixed sidebars not disappearing when disabled

v1.5.0 - 2019-03-18
- Added Audio Meter
- Added Weather Meter
- Added locale customization to Chronometer
- Added custom event countdown to Chronometer
- Added alarms to Chronometer
- Added timer applet to Chronometer
- Added 'standard' CPU temperature display to CPU Meter
- Added CPU fan speed graph option to CPU Meter
- Added setting to individually hide disk temperatures / eject buttons per-disk in Disks Meter
- Added option to Disks Meter to display free disk space, rather than used disk space
- Added Network Interface settings to Network Meter
- Added support for monitoring up to three Network Interfaces at once
- Added WiFi and LAN support to Network Meter
- Added fan information toggle to GPU Meter settings
- Added scaling support to the gadgets
- Added rounded corners option
- Added graph backgrounds option
- Added sidebars
- Added "ModernGadgets Welcome" layout to package
- Separated CPU Meter's core measures and meters from the main file, to only load those that are necessary (drastically improves performance)
- Converted CPU Meter's config script into loop measures
- Rewrote Disks Meter to only display up to 10 disks at once, significantly improving performance
- Merged Network Meter Pro into Network Meter, eliminating the need to maintain two versions of the gadget
- Changed default external IP location website
- Removed process label font face option
- Switched default font to IBM Plex Sans
- Improved color pickers to change colors dynamically (with the exception of global colors)
- Redesigned welcome screen and update notification (again...)
- Removed subtitle from gadget manager
- Reorganized gadget manager links
- Improved organization of skin directories and config names
- Fixed several issues with CPU Meter program switching
- Fixed CPU temperature graph when only using SpeedFan
- Fixed CPU Meter disabling HWiNFO readings if the Core 0 Temperature sensor was misconfigured
- Fixed CPU Meter line graph log error
- Fixed network status icon not updating dynamically
- Fixed GPU variant settings buttons not working
- Fixed GPU Meter variants all using the same settings file
- Fixed rare divide-by-zero error in GPU Meter
- Fixed various visual inconsistencies and positioning issues across the board

v1.4.1 - 2018-10-14
- Added safeguards for extraordinarily long changelogs preventing access to the download button
- Added max CPU temp, CPU fan speed, and GPU temp configurations
- Tweaked core color info paragraph
- Tweaked backup import prompt UI
- Fixed GPU meter core voltage readout formatting
- Fixed CPU and GPU temperature graph scaling
- Fixed dynamic fan display bar always staying at 100%

v1.4.0 - 2018-10-09
- Added Chronometer
- Added Process Meter
- Added tentative Snapdragon support to CPU Meter
- Added support for CoreTemp and Speedfan in CPU Meter
- Added dynamic fan display to CPU Meter
- Added All Cores mode to CPU Meter line graph
- Added session total and simultaneous bits/bytes display to Network Meter
- Added separate bits/bytes peak traffic displays to Network Meter
- Added three additional GPU Meters for monitoring up to four GPUs simultaneously
- Added disk temperatures to Disks Meter
- Added setting to hide disk read/write speeds in Disks Meter
- Added Disk Read/Write Letters option
- Added setting to only display fixed disks in Disks Meter
- Added global color customization
- Added "open config file" buttons to all settings skins to allow access to more advanced settings
- Added 'Welcome' dialog for first-time users
- Added update check interval customization
- Added controls for settings backups in global settings skin
- Darkened default accent color
- Enhanced update download button to directly download and open the update .RMSKIN without a browser
- Increased supported threads in CPU Meter from 32 to 64 (AMD Threadripper 2)
- Increased precision of readouts in Network Meter
- Removed condensed font toggle for Network traffic (condensed is now the only option)
- Network Meter globe is no longer affected by accent color changes
- Removed dual GPU meter option (replaced by separate GPU Meters)
- Enhanced Disk Eject functionality with support for USB card readers and virtual disks (requires admin privileges)
- Significantly improved Disks Meter performance
- Consolidated graph and background borders into their respective background meters
- Standardized graph positioning
- Refactored input box visuals
- Implemented new HWiNFO SMV application, replacing the HWiNFO Config Tool
- Updated dynamic settings system with more consistent and flexible functions
- Updated LoadSkin and UpdateChecker scripts for Rainmeter 4.2 compatibility
- Settings backups are now made upon closing a settings skin, rather than at a preset interval
- Changelog button now shows local changelog rather than the one from GitHub
- Replaced readme link with MG Wiki link
- Reordered toggles in gadget manager
- Fixed error with the update checker reading a file while it was being written by WebParser
- Fixed oversight where clicking the total reset button in Network Meter Pro would not work
- Fixed inconsistent NetMonitor button logic
- Fixed NetMonitor controls not appearing on non-English systems
- Fixed update notification not being centered on the monitor properly
- Fixed settings backup import overwriting HWiNFO SMV sections
- Fixed settings backup import crashing if a settings file doesn't exist in the backup
- Fixed settings backup overwriting default colors
- Corrected date formatting in changelog

View Full Changelog
Last edited by raiguard on June 2nd, 2019, 12:26 am, edited 48 times in total.
”We are pretty sure that r2922 resolves the regression in resolution caused by a reversion to a revision.” - jsmorley, 2017
User avatar
raiguard
Posts: 633
Joined: June 25th, 2015, 7:02 pm
Location: The Sky, USA

Re: ModernGadgets 1.0.0-rc.2 - Testers needed!

raiguard » November 19th, 2016, 12:21 am

Release Candidate 2 has been released. Changes include fixing a mistake in the readme's changelog, as well as a brand-new update checker that is much more reliable and flexible! Also, this is the first widespread test of the update checker, so hopefully it goes well!

Grab it from the link above.
”We are pretty sure that r2922 resolves the regression in resolution caused by a reversion to a revision.” - jsmorley, 2017
User avatar
raiguard
Posts: 633
Joined: June 25th, 2015, 7:02 pm
Location: The Sky, USA

Re: ModernGadgets 1.0.0-rc.3 - Feedback is appreciated!

raiguard » November 20th, 2016, 11:45 pm

I had to package yet another release candidate, because the HWiNFO plugin updated and it broke CPU and GPU Meter's HWiNFO detection! It was a small change, but it's fixed now. If nobody reports any bugs for a few days, I will consider it ready to be officially released.
”We are pretty sure that r2922 resolves the regression in resolution caused by a reversion to a revision.” - jsmorley, 2017
User avatar
SilverAzide
Posts: 569
Joined: March 23rd, 2015, 5:26 pm

Re: ModernGadgets 1.0.0-rc.3 - Feedback is appreciated!

SilverAzide » November 21st, 2016, 2:48 am

Hello,

Here is some minor feedback for you. On the Setup skin, for some reason the first time it loaded, when I clicked the switches for CPU, Network, and GPU meters, the switches didn't "switch" (though they did work). When I clicked the Disk Meter (last), all the switches set themselves to the proper position. Also, the version showed "#mgVersion#" initially, but it works after reloading. Now I can't reproduce these issues after the first run, perhaps some variables don't have default values? In case it matters, I didn't load the skins immediately using the installer (i.e., I cleared the "load skins" checkbox), I loaded the setup skin by itself first.

I accidentally double-clicked (maybe triple) the "check for updates" button and crashed Rainmeter. Not sure how that is possible, but I suspect WebParser.

Trivial item: I see this in the debug log: "ModernGadgets\Setup\Setup.ini: !Log: Invalid type"

Also, on the HWiNFO config skin, my GPU doesn't have a fan, the GPU fan controller is on the motherboard apparently (laptop). As a result, I get 0 rpm in the GPU Meter.

Anyway, :thumbup: on the ModernGadgets! I like the way the HWiNFO setup skin shows good/bad values.
DeviantArt Gadgets More...
User avatar
raiguard
Posts: 633
Joined: June 25th, 2015, 7:02 pm
Location: The Sky, USA

Re: ModernGadgets 1.0.0-rc.3 - Feedback is appreciated!

raiguard » November 21st, 2016, 3:32 pm

Thanks for all your feedback!
SilverAzide wrote:The switches didn't "switch" (though they did work).
This is a known issue. In order to detect whether or not the gadgets are loaded, I have to use webparser to read the Rainmeter.ini file. Unfortunately this takes a few seconds. I am working on a fix, but it'll be relatively ugly.
SilverAzide wrote:Also, the version showed "#mgVersion#" initially.
This happens because the setup skin is what creates the external settings files for ModernGadgets, so when it first loads, the variables don't exist yet. Once the files are created it works fine. I alrrady have a fix implemented for the next release candidate.
SilverAzide wrote:In case it matters, I didn't load the skins immediately using the installer (i.e., I cleared the "load skins" checkbox), I loaded the setup skin by itself first.
Keeping the checkbox checked will only load the setup skin, not all the gadgets. I configure it to do that when I package it. So this is fine.
SilverAzide wrote:I accidentally double-clicked (maybe triple) the "check for updates" button and crashed Rainmeter. Not sure how that is possible, but I suspect WebParser.
Wow, that is a real issue that I never noticed. Thanks for catching that! I'll look into it.
SilverAzide wrote:Trivial item: I see this in the debug log: "ModernGadgets\Setup\Setup.ini: !Log: Invalid type"
That is a mistake in the settings management script. Already fixed.
SilverAzide wrote:Also, on the HWiNFO config skin, my GPU doesn't have a fan, the GPU fan controller is on the motherboard apparently (laptop). As a result, I get 0 rpm in the GPU Meter.
I'll have to add a usecase for that. In the meantime, I'm sure you know how to set it manually.
SilverAzide wrote:Anyway, :thumbup: on the ModernGadgets! I like the way the HWiNFO setup skin shows good/bad values.
Thanks for the kind word! Is there anything you would recommend I change/improve on? Several people complained that illustro Gadgets was a nightmare to configure, so I want to be sure I get it right this time.
”We are pretty sure that r2922 resolves the regression in resolution caused by a reversion to a revision.” - jsmorley, 2017
User avatar
raiguard
Posts: 633
Joined: June 25th, 2015, 7:02 pm
Location: The Sky, USA

Re: ModernGadgets 1.0.0-rc.3 - Feedback is appreciated!

raiguard » November 23rd, 2016, 8:18 pm

SilverAzide wrote:I accidentally double-clicked (maybe triple) the "check for updates" button and crashed Rainmeter. Not sure how that is possible, but I suspect WebParser.
I am unable to reproduce this issue. Did you run into this issue before or after you refreshed the skin to make #mgVersion# go away?

Also, if you are able to reproduce it again, could you attach a copy of the Rainmeter log? Just want to be sure it's not the settings management script (that script has been the source of almost every problem I've had when developing this suite).
”We are pretty sure that r2922 resolves the regression in resolution caused by a reversion to a revision.” - jsmorley, 2017
User avatar
raiguard
Posts: 633
Joined: June 25th, 2015, 7:02 pm
Location: The Sky, USA

Re: ModernGadgets 1.0.0-rc.3 - Feedback is appreciated!

raiguard » November 23rd, 2016, 9:11 pm

SilverAzide wrote:Also, on the HWiNFO config skin, my GPU doesn't have a fan, the GPU fan controller is on the motherboard apparently (laptop). As a result, I get 0 rpm in the GPU Meter.
Just need some clearing up: Did you mean that there is no sensor at all, or that there is one but it's on the motherboard?
”We are pretty sure that r2922 resolves the regression in resolution caused by a reversion to a revision.” - jsmorley, 2017
User avatar
SilverAzide
Posts: 569
Joined: March 23rd, 2015, 5:26 pm

Re: ModernGadgets 1.0.0-rc.3 - Feedback is appreciated!

SilverAzide » November 24th, 2016, 2:24 am

iamanai wrote:I am unable to reproduce this issue. Did you run into this issue before or after you refreshed the skin to make #mgVersion# go away?
I don't recall, I think it was before. I suspect the problem is something to do with WebParser, and not something you can fix directly. I get crashes all the time with WebParser. I have often have two of my Weather Meter skins running, and when Rainmeter launches, both skins attempt to call weather.com nearly simultaneously. Sometimes -- not always -- RM will crash, and the dump will indicate the faulting DLL is WebParser. If I only have one Weather skin loaded, RM never crashes on startup.

Where I'm going with all this is that perhaps I clicked on your gadget in such a way as to cause two calls to your site to do the version check. Perhaps WebParser (or something it calls) isn't thread-safe. Just a thought....
Last edited by SilverAzide on November 24th, 2016, 2:32 am, edited 1 time in total.
DeviantArt Gadgets More...
User avatar
SilverAzide
Posts: 569
Joined: March 23rd, 2015, 5:26 pm

Re: ModernGadgets 1.0.0-rc.3 - Feedback is appreciated!

SilverAzide » November 24th, 2016, 2:31 am

iamanai wrote:Just need some clearing up: Did you mean that there is no sensor at all, or that there is one but it's on the motherboard?
Yes, I meant there is one, but it is on the motherboard. I've got a couple of Dell laptops and an HP, and all seem to be like this.
DeviantArt Gadgets More...
User avatar
raiguard
Posts: 633
Joined: June 25th, 2015, 7:02 pm
Location: The Sky, USA

Re: ModernGadgets 1.0.0-rc.3 - Feedback is appreciated!

raiguard » November 24th, 2016, 3:27 am

SilverAzide wrote:Where I'm going with all this is that perhaps I clicked on your gadget in such a way as to cause two calls to your site to do the version check. Perhaps WebParser (or something it calls) isn't thread-safe. Just a thought....
WebParser is most definitely the problem then. I cannot figure out how you would have managed to get it to do two calls at once, because that should be impossible. I can't reproduce it no matter how hard I try. Hopefully not many people will have this issue.
SilverAzide wrote:Yes, I meant there is one, but it is on the motherboard. I've got a couple of Dell laptops and an HP, and all seem to be like this.
I updated the HWiNFO config tool with a place to enter this ID. You will also need to go into the GPU Meter settings skin and toggle it to read from the alternate value. It'll be in the next (and hopefully final) release candidate.

EDIT: Just packaged and released the new version.
”We are pretty sure that r2922 resolves the regression in resolution caused by a reversion to a revision.” - jsmorley, 2017