From cedf9ee93a498ffe2b1424f60312d398104fabdb Mon Sep 17 00:00:00 2001 From: jvc84 Date: Tue, 11 Feb 2025 20:22:35 +0300 Subject: [PATCH 01/10] Netwok bandwidth tracker --- .../sideright/centermodules/wifinetworks.js | 34 ++++++++++++++++ .../network_scripts/network_bandwidth.py | 39 +++++++++++++++++++ .config/ags/scss/_sidebars.scss | 7 +++- 3 files changed, 79 insertions(+), 1 deletion(-) create mode 100755 .config/ags/scripts/network_scripts/network_bandwidth.py diff --git a/.config/ags/modules/sideright/centermodules/wifinetworks.js b/.config/ags/modules/sideright/centermodules/wifinetworks.js index 50b8be038..ed21e1ca5 100644 --- a/.config/ags/modules/sideright/centermodules/wifinetworks.js +++ b/.config/ags/modules/sideright/centermodules/wifinetworks.js @@ -1,3 +1,4 @@ +import App from 'resource:///com/github/Aylur/ags/app.js'; import Widget from 'resource:///com/github/Aylur/ags/widget.js'; import Network from "resource:///com/github/Aylur/ags/service/network.js"; import * as Utils from 'resource:///com/github/Aylur/ags/utils.js'; @@ -56,6 +57,28 @@ const WifiNetwork = (accessPoint) => { }) } +const NetResource = (icon, command) => { + const resourceLabel = Label({ + className: `txt-smaller txt-subtext`, + }); + const widget = Button({ + child: Box({ + hpack: 'start', + className: `spacing-h-4`, + children: [ + MaterialIcon(icon, 'very-small'), + resourceLabel, + ], + setup: (self) => self.poll(2000, () => execAsync(['bash', '-c', command]) + .then((output) => { + resourceLabel.label = output; + }).catch(print)) + , + }) + }); + return widget; +} + const CurrentNetwork = () => { let authLock = false; // console.log(Network.wifi); @@ -81,6 +104,16 @@ const CurrentNetwork = () => { }), ] }); + const networkBandwidth = Box({ + vertical: true, + hexpand: true, + hpack: 'center', + className: 'network-bandwidth', + children: [ + NetResource('arrow_warm_up' , `${App.configDir}/scripts/network_scripts/network_bandwidth.py sent`), + NetResource('arrow_cool_down', `${App.configDir}/scripts/network_scripts/network_bandwidth.py recv`), + ] + }); const networkStatus = Box({ children: [Label({ vpack: 'center', @@ -136,6 +169,7 @@ const CurrentNetwork = () => { children: [ MaterialIcon('language', 'hugerass'), networkName, + networkBandwidth, networkStatus, ] diff --git a/.config/ags/scripts/network_scripts/network_bandwidth.py b/.config/ags/scripts/network_scripts/network_bandwidth.py new file mode 100755 index 000000000..742d1db3b --- /dev/null +++ b/.config/ags/scripts/network_scripts/network_bandwidth.py @@ -0,0 +1,39 @@ +#!/usr/bin/env -S\_/bin/sh\_-xc\_"source\_\$(eval\_echo\_\$ILLOGICAL_IMPULSE_VIRTUAL_ENV)/bin/activate&&exec\_python\_-E\_"\$0"\_"\$@"" + +from time import sleep +import sys +import psutil + +try: + direction = sys.argv[1] +except IndexError: + direction = "recv" + +init_bytes = final_bytes = 0 + +match direction: + case "recv": + init_bytes = psutil.net_io_counters().bytes_recv + sleep(1) + final_bytes = psutil.net_io_counters().bytes_recv + + case "sent": + init_bytes = psutil.net_io_counters().bytes_sent + sleep(1) + final_bytes = psutil.net_io_counters().bytes_sent + + case _: + print(f"wrong direction: {direction}") + sys.exit() + +i = 0 +divider = 1024 +bandwidth = int((final_bytes - init_bytes)) +units = ["B", "KB", "MB", "GB", "TB", "PB", "EB"] + +while bandwidth >= divider: + i += 1 + bandwidth = bandwidth / divider + +print(f"{bandwidth:.1f}" + units[i] + "/s") + diff --git a/.config/ags/scss/_sidebars.scss b/.config/ags/scss/_sidebars.scss index 599a7a336..3660ff836 100644 --- a/.config/ags/scss/_sidebars.scss +++ b/.config/ags/scss/_sidebars.scss @@ -19,11 +19,16 @@ $sidebar_chat_textboxareaColor: mix($onSurfaceVariant, $surfaceVariant, 40%); @include elevation-border; @include elevation2; border-radius: $rounding_large - $elevation_margin + 0.068rem; - min-width: 27.818rem; + min-width: 57.818rem; background-color: $background; padding: 1.023rem; } +.network-bandwidth { + min-width: 6.300rem; + padding-left: 1.000rem; +} + .sidebar-group { @include normal-rounding; @include group-padding; From 399dd47a71946d2fb884a1549d69a0d8ffde12e2 Mon Sep 17 00:00:00 2001 From: jvc84 <72560784+jvc84@users.noreply.github.com> Date: Tue, 11 Feb 2025 20:28:55 +0300 Subject: [PATCH 02/10] Update _sidebars.scss --- .config/ags/scss/_sidebars.scss | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.config/ags/scss/_sidebars.scss b/.config/ags/scss/_sidebars.scss index 3660ff836..feb0b547f 100644 --- a/.config/ags/scss/_sidebars.scss +++ b/.config/ags/scss/_sidebars.scss @@ -19,7 +19,7 @@ $sidebar_chat_textboxareaColor: mix($onSurfaceVariant, $surfaceVariant, 40%); @include elevation-border; @include elevation2; border-radius: $rounding_large - $elevation_margin + 0.068rem; - min-width: 57.818rem; + min-width: 27.818rem; background-color: $background; padding: 1.023rem; } @@ -1001,4 +1001,4 @@ $waifu_image_overlay_transparency: 0.7; .sidebar-centermodules-scrollgradient-bottom { background: linear-gradient(to top, $layer1 0%, transparentize($layer1, 1) 1.023rem); -} \ No newline at end of file +} From a66262c043d6151d09979052944c1a25e1cfcf96 Mon Sep 17 00:00:00 2001 From: jvc84 <72560784+jvc84@users.noreply.github.com> Date: Tue, 11 Feb 2025 20:31:06 +0300 Subject: [PATCH 03/10] Update _sidebars.scss --- .config/ags/scss/_sidebars.scss | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.config/ags/scss/_sidebars.scss b/.config/ags/scss/_sidebars.scss index feb0b547f..a61a55366 100644 --- a/.config/ags/scss/_sidebars.scss +++ b/.config/ags/scss/_sidebars.scss @@ -24,11 +24,6 @@ $sidebar_chat_textboxareaColor: mix($onSurfaceVariant, $surfaceVariant, 40%); padding: 1.023rem; } -.network-bandwidth { - min-width: 6.300rem; - padding-left: 1.000rem; -} - .sidebar-group { @include normal-rounding; @include group-padding; @@ -981,6 +976,11 @@ $waifu_image_overlay_transparency: 0.7; padding: 0.682rem; } +.sidebar-wifinetworks-bandwidth { + min-width: 6.300rem; + padding-left: 1.000rem; +} + .sidebar-centermodules-bottombar-button { @include full-rounding; @include element_decel; From 3efcaa4cae74b6154d0cb28d7d1975aa27c04085 Mon Sep 17 00:00:00 2001 From: jvc84 <72560784+jvc84@users.noreply.github.com> Date: Tue, 11 Feb 2025 20:32:34 +0300 Subject: [PATCH 04/10] Update wifinetworks.js --- .config/ags/modules/sideright/centermodules/wifinetworks.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/ags/modules/sideright/centermodules/wifinetworks.js b/.config/ags/modules/sideright/centermodules/wifinetworks.js index ed21e1ca5..c9dfc1355 100644 --- a/.config/ags/modules/sideright/centermodules/wifinetworks.js +++ b/.config/ags/modules/sideright/centermodules/wifinetworks.js @@ -108,7 +108,7 @@ const CurrentNetwork = () => { vertical: true, hexpand: true, hpack: 'center', - className: 'network-bandwidth', + className: 'sidebar-wifinetworks-bandwidth', children: [ NetResource('arrow_warm_up' , `${App.configDir}/scripts/network_scripts/network_bandwidth.py sent`), NetResource('arrow_cool_down', `${App.configDir}/scripts/network_scripts/network_bandwidth.py recv`), From 9fd665469c9c2ff8a6d464555aab15ff8e067c78 Mon Sep 17 00:00:00 2001 From: jvc84 Date: Tue, 11 Feb 2025 20:42:47 +0300 Subject: [PATCH 05/10] Add network bandwidth tracker into wifinetworks centermodule --- .config/ags/modules/sideright/centermodules/wifinetworks.js | 2 +- .config/ags/scripts/network_scripts/network_bandwidth.py | 4 +++- .config/ags/scss/_sidebars.scss | 4 ++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.config/ags/modules/sideright/centermodules/wifinetworks.js b/.config/ags/modules/sideright/centermodules/wifinetworks.js index c9dfc1355..533b64097 100644 --- a/.config/ags/modules/sideright/centermodules/wifinetworks.js +++ b/.config/ags/modules/sideright/centermodules/wifinetworks.js @@ -105,7 +105,7 @@ const CurrentNetwork = () => { ] }); const networkBandwidth = Box({ - vertical: true, + vertical: true, hexpand: true, hpack: 'center', className: 'sidebar-wifinetworks-bandwidth', diff --git a/.config/ags/scripts/network_scripts/network_bandwidth.py b/.config/ags/scripts/network_scripts/network_bandwidth.py index 742d1db3b..86846dcd0 100755 --- a/.config/ags/scripts/network_scripts/network_bandwidth.py +++ b/.config/ags/scripts/network_scripts/network_bandwidth.py @@ -1,4 +1,6 @@ -#!/usr/bin/env -S\_/bin/sh\_-xc\_"source\_\$(eval\_echo\_\$ILLOGICAL_IMPULSE_VIRTUAL_ENV)/bin/activate&&exec\_python\_-E\_"\$0"\_"\$@"" +#!/usr/bin/python3 +# /usr/bin/env -S\_/bin/sh\_-xc\_"source\_\$(eval\_echo\_\$ILLOGICAL_IMPULSE_VIRTUAL_ENV)/bin/activate&&exec\_python\_-E\_"\$0"\_"\$@"" + from time import sleep import sys diff --git a/.config/ags/scss/_sidebars.scss b/.config/ags/scss/_sidebars.scss index a61a55366..dafc5b2b5 100644 --- a/.config/ags/scss/_sidebars.scss +++ b/.config/ags/scss/_sidebars.scss @@ -977,8 +977,8 @@ $waifu_image_overlay_transparency: 0.7; } .sidebar-wifinetworks-bandwidth { - min-width: 6.300rem; - padding-left: 1.000rem; + min-width: 6.3rem; + padding-left: 1rem; } .sidebar-centermodules-bottombar-button { From 974c604e97a0ad626081af6802005e1d93ccd948 Mon Sep 17 00:00:00 2001 From: jvc84 Date: Tue, 11 Feb 2025 20:44:40 +0300 Subject: [PATCH 06/10] Add network bandwidth tracker into wifinetworks centermodule --- .config/ags/scripts/network_scripts/network_bandwidth.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.config/ags/scripts/network_scripts/network_bandwidth.py b/.config/ags/scripts/network_scripts/network_bandwidth.py index 86846dcd0..7f3c11ffb 100755 --- a/.config/ags/scripts/network_scripts/network_bandwidth.py +++ b/.config/ags/scripts/network_scripts/network_bandwidth.py @@ -1,5 +1,4 @@ -#!/usr/bin/python3 -# /usr/bin/env -S\_/bin/sh\_-xc\_"source\_\$(eval\_echo\_\$ILLOGICAL_IMPULSE_VIRTUAL_ENV)/bin/activate&&exec\_python\_-E\_"\$0"\_"\$@"" +#!/usr/bin/env -S\_/bin/sh\_-xc\_"source\_\$(eval\_echo\_\$ILLOGICAL_IMPULSE_VIRTUAL_ENV)/bin/activate&&exec\_python\_-E\_"\$0"\_"\$@"" from time import sleep From 350077191b2fe62e4adf2cad711029ad44c59ab1 Mon Sep 17 00:00:00 2001 From: jvc84 Date: Tue, 11 Feb 2025 20:46:02 +0300 Subject: [PATCH 07/10] Add network bandwidth tracker into wifinetworks centermodule --- .config/ags/scss/_sidebars.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/.config/ags/scss/_sidebars.scss b/.config/ags/scss/_sidebars.scss index dafc5b2b5..07f4dc46f 100644 --- a/.config/ags/scss/_sidebars.scss +++ b/.config/ags/scss/_sidebars.scss @@ -1002,3 +1002,4 @@ $waifu_image_overlay_transparency: 0.7; .sidebar-centermodules-scrollgradient-bottom { background: linear-gradient(to top, $layer1 0%, transparentize($layer1, 1) 1.023rem); } + From 04e80d692dd833a5c2a3312725b567a91dd820b9 Mon Sep 17 00:00:00 2001 From: jvc84 Date: Tue, 11 Feb 2025 20:48:20 +0300 Subject: [PATCH 08/10] Add network bandwidth tracker into wifinetworks centermodule --- .config/ags/scss/_sidebars.scss | 1 - 1 file changed, 1 deletion(-) diff --git a/.config/ags/scss/_sidebars.scss b/.config/ags/scss/_sidebars.scss index 07f4dc46f..dafc5b2b5 100644 --- a/.config/ags/scss/_sidebars.scss +++ b/.config/ags/scss/_sidebars.scss @@ -1002,4 +1002,3 @@ $waifu_image_overlay_transparency: 0.7; .sidebar-centermodules-scrollgradient-bottom { background: linear-gradient(to top, $layer1 0%, transparentize($layer1, 1) 1.023rem); } - From 236e45a1e447ec1f9d380254611f472ab8f319cc Mon Sep 17 00:00:00 2001 From: jvc84 <72560784+jvc84@users.noreply.github.com> Date: Tue, 11 Feb 2025 20:49:53 +0300 Subject: [PATCH 09/10] Update network_bandwidth.py --- .config/ags/scripts/network_scripts/network_bandwidth.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/ags/scripts/network_scripts/network_bandwidth.py b/.config/ags/scripts/network_scripts/network_bandwidth.py index 7f3c11ffb..fa4817a8e 100755 --- a/.config/ags/scripts/network_scripts/network_bandwidth.py +++ b/.config/ags/scripts/network_scripts/network_bandwidth.py @@ -28,7 +28,7 @@ match direction: sys.exit() i = 0 -divider = 1024 +divider = 1000 bandwidth = int((final_bytes - init_bytes)) units = ["B", "KB", "MB", "GB", "TB", "PB", "EB"] From 230b402a9a238a0160659484dec72a1b8385269a Mon Sep 17 00:00:00 2001 From: end-4 <97237370+end-4@users.noreply.github.com> Date: Wed, 12 Feb 2025 10:27:56 +0100 Subject: [PATCH 10/10] format --- .../sideright/centermodules/wifinetworks.js | 46 +++++++++---------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/.config/ags/modules/sideright/centermodules/wifinetworks.js b/.config/ags/modules/sideright/centermodules/wifinetworks.js index 533b64097..ca0e7da0c 100644 --- a/.config/ags/modules/sideright/centermodules/wifinetworks.js +++ b/.config/ags/modules/sideright/centermodules/wifinetworks.js @@ -59,24 +59,24 @@ const WifiNetwork = (accessPoint) => { const NetResource = (icon, command) => { const resourceLabel = Label({ - className: `txt-smaller txt-subtext`, - }); - const widget = Button({ - child: Box({ - hpack: 'start', - className: `spacing-h-4`, - children: [ - MaterialIcon(icon, 'very-small'), - resourceLabel, - ], - setup: (self) => self.poll(2000, () => execAsync(['bash', '-c', command]) - .then((output) => { - resourceLabel.label = output; - }).catch(print)) - , - }) - }); - return widget; + className: `txt-smaller txt-subtext`, + }); + const widget = Button({ + child: Box({ + hpack: 'start', + className: `spacing-h-4`, + children: [ + MaterialIcon(icon, 'very-small'), + resourceLabel, + ], + setup: (self) => self.poll(2000, () => execAsync(['bash', '-c', command]) + .then((output) => { + resourceLabel.label = output; + }).catch(print)) + , + }) + }); + return widget; } const CurrentNetwork = () => { @@ -109,10 +109,10 @@ const CurrentNetwork = () => { hexpand: true, hpack: 'center', className: 'sidebar-wifinetworks-bandwidth', - children: [ - NetResource('arrow_warm_up' , `${App.configDir}/scripts/network_scripts/network_bandwidth.py sent`), - NetResource('arrow_cool_down', `${App.configDir}/scripts/network_scripts/network_bandwidth.py recv`), - ] + children: [ + NetResource('arrow_warm_up', `${App.configDir}/scripts/network_scripts/network_bandwidth.py sent`), + NetResource('arrow_cool_down', `${App.configDir}/scripts/network_scripts/network_bandwidth.py recv`), + ] }); const networkStatus = Box({ children: [Label({ @@ -169,7 +169,7 @@ const CurrentNetwork = () => { children: [ MaterialIcon('language', 'hugerass'), networkName, - networkBandwidth, + networkBandwidth, networkStatus, ]