opencode-system-metrics-tui 0.1.16 → 0.1.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/install-hack-font.js +3 -1
- package/dist/tui.js +112 -76
- package/package.json +1 -1
|
@@ -48,6 +48,8 @@ function hasNerdFont(platform = process.platform, home = homedir(), env = proces
|
|
|
48
48
|
var hasHackNerdFont = hasNerdFont;
|
|
49
49
|
var nerdFontIcons = {
|
|
50
50
|
title: "\uDB80\uDF79",
|
|
51
|
+
clock: "",
|
|
52
|
+
calendar: "",
|
|
51
53
|
cpu: "\uDB83\uDEE0",
|
|
52
54
|
ram: "\uDB81\uDE1A",
|
|
53
55
|
gpu: "\uDB82\uDCAE",
|
|
@@ -55,7 +57,7 @@ var nerdFontIcons = {
|
|
|
55
57
|
thermometer: "",
|
|
56
58
|
network: "\uDB81\uDEF3"
|
|
57
59
|
};
|
|
58
|
-
var unicodeIcons = { title: "▦", cpu: "▣", ram: "▤", gpu: "◆", vram: "◈", thermometer: "♨", network: "⇅" };
|
|
60
|
+
var unicodeIcons = { title: "▦", clock: "◷", calendar: "▦", cpu: "▣", ram: "▤", gpu: "◆", vram: "◈", thermometer: "♨", network: "⇅" };
|
|
59
61
|
function getMetricIcons(useNerdFont) {
|
|
60
62
|
return useNerdFont ? nerdFontIcons : unicodeIcons;
|
|
61
63
|
}
|
package/dist/tui.js
CHANGED
|
@@ -787,6 +787,8 @@ function hasNerdFont(platform = process.platform, home = homedir(), env = proces
|
|
|
787
787
|
var hasHackNerdFont = hasNerdFont;
|
|
788
788
|
var nerdFontIcons = {
|
|
789
789
|
title: "\uDB80\uDF79",
|
|
790
|
+
clock: "",
|
|
791
|
+
calendar: "",
|
|
790
792
|
cpu: "\uDB83\uDEE0",
|
|
791
793
|
ram: "\uDB81\uDE1A",
|
|
792
794
|
gpu: "\uDB82\uDCAE",
|
|
@@ -794,7 +796,7 @@ var nerdFontIcons = {
|
|
|
794
796
|
thermometer: "",
|
|
795
797
|
network: "\uDB81\uDEF3"
|
|
796
798
|
};
|
|
797
|
-
var unicodeIcons = { title: "▦", cpu: "▣", ram: "▤", gpu: "◆", vram: "◈", thermometer: "♨", network: "⇅" };
|
|
799
|
+
var unicodeIcons = { title: "▦", clock: "◷", calendar: "▦", cpu: "▣", ram: "▤", gpu: "◆", vram: "◈", thermometer: "♨", network: "⇅" };
|
|
798
800
|
function getMetricIcons(useNerdFont) {
|
|
799
801
|
return useNerdFont ? nerdFontIcons : unicodeIcons;
|
|
800
802
|
}
|
|
@@ -872,9 +874,26 @@ function systemMetricsTitle() {
|
|
|
872
874
|
pt: "Métricas do sistema"
|
|
873
875
|
}[language] ?? "System metrics";
|
|
874
876
|
}
|
|
877
|
+
function formatClockDate(date) {
|
|
878
|
+
return new Intl.DateTimeFormat("es-ES", {
|
|
879
|
+
weekday: "long",
|
|
880
|
+
day: "numeric",
|
|
881
|
+
month: "long",
|
|
882
|
+
year: "numeric"
|
|
883
|
+
}).format(date).replace(",", "");
|
|
884
|
+
}
|
|
875
885
|
function MetricsPanel(props) {
|
|
886
|
+
const [clock, setClock] = createSignal(new Date);
|
|
887
|
+
let clockTimer;
|
|
876
888
|
onMount(startMetricsPolling);
|
|
877
|
-
|
|
889
|
+
onMount(() => {
|
|
890
|
+
clockTimer = setInterval(() => setClock(new Date), 1000);
|
|
891
|
+
});
|
|
892
|
+
onCleanup(() => {
|
|
893
|
+
stopMetricsPolling();
|
|
894
|
+
if (clockTimer !== undefined)
|
|
895
|
+
clearInterval(clockTimer);
|
|
896
|
+
});
|
|
878
897
|
const gpuMemory = createMemo(() => {
|
|
879
898
|
const metrics = metricsState.sharedMetrics();
|
|
880
899
|
const unified = metrics.gpuMemoryIsUnified === true;
|
|
@@ -887,112 +906,127 @@ function MetricsPanel(props) {
|
|
|
887
906
|
};
|
|
888
907
|
});
|
|
889
908
|
return (() => {
|
|
890
|
-
var _el$ = _$createElement("box"), _el$2 = _$createElement("text"), _el$3 = _$createTextNode(` `), _el$4 = _$createElement("
|
|
909
|
+
var _el$ = _$createElement("box"), _el$2 = _$createElement("text"), _el$3 = _$createTextNode(` `), _el$4 = _$createElement("text"), _el$5 = _$createTextNode(` `), _el$6 = _$createElement("text"), _el$7 = _$createTextNode(` `), _el$8 = _$createElement("box"), _el$9 = _$createElement("text"), _el$0 = _$createElement("text"), _el$10 = _$createElement("text"), _el$11 = _$createTextNode(` · `), _el$12 = _$createTextNode(` `), _el$13 = _$createElement("box"), _el$14 = _$createElement("text"), _el$15 = _$createElement("text"), _el$17 = _$createElement("text"), _el$18 = _$createTextNode(` / `), _el$19 = _$createTextNode(` (`), _el$20 = _$createTextNode(`)`), _el$21 = _$createElement("box"), _el$22 = _$createElement("text"), _el$23 = _$createElement("text"), _el$25 = _$createElement("text"), _el$26 = _$createTextNode(` · `), _el$27 = _$createTextNode(` `), _el$37 = _$createElement("box"), _el$38 = _$createElement("text"), _el$39 = _$createElement("text"), _el$41 = _$createElement("text"), _el$42 = _$createTextNode(`↓ `), _el$43 = _$createTextNode(` ↑ `);
|
|
891
910
|
_$insertNode(_el$, _el$2);
|
|
892
911
|
_$insertNode(_el$, _el$4);
|
|
893
|
-
_$insertNode(_el$, _el$
|
|
894
|
-
_$insertNode(_el$, _el$
|
|
895
|
-
_$insertNode(_el$, _el$
|
|
912
|
+
_$insertNode(_el$, _el$6);
|
|
913
|
+
_$insertNode(_el$, _el$8);
|
|
914
|
+
_$insertNode(_el$, _el$13);
|
|
915
|
+
_$insertNode(_el$, _el$21);
|
|
916
|
+
_$insertNode(_el$, _el$37);
|
|
896
917
|
_$setProp(_el$, "flexDirection", "column");
|
|
897
918
|
_$setProp(_el$, "paddingLeft", 0);
|
|
898
919
|
_$setProp(_el$, "paddingRight", 0);
|
|
899
920
|
_$insertNode(_el$2, _el$3);
|
|
900
|
-
_$insert(_el$2, () => icons.
|
|
901
|
-
_$insert(_el$2,
|
|
921
|
+
_$insert(_el$2, () => icons.clock, _el$3);
|
|
922
|
+
_$insert(_el$2, () => clock().toLocaleTimeString(undefined, {
|
|
923
|
+
hour: "2-digit",
|
|
924
|
+
minute: "2-digit",
|
|
925
|
+
second: "2-digit",
|
|
926
|
+
hour12: false
|
|
927
|
+
}), null);
|
|
902
928
|
_$insertNode(_el$4, _el$5);
|
|
903
|
-
_$
|
|
904
|
-
_$
|
|
905
|
-
_$
|
|
906
|
-
_$insert(_el$
|
|
907
|
-
_$
|
|
929
|
+
_$insert(_el$4, () => icons.calendar, _el$5);
|
|
930
|
+
_$insert(_el$4, () => formatClockDate(clock()), null);
|
|
931
|
+
_$insertNode(_el$6, _el$7);
|
|
932
|
+
_$insert(_el$6, () => icons.title, _el$7);
|
|
933
|
+
_$insert(_el$6, systemMetricsTitle, null);
|
|
908
934
|
_$insertNode(_el$8, _el$9);
|
|
909
935
|
_$insertNode(_el$8, _el$0);
|
|
910
|
-
_$
|
|
911
|
-
_$
|
|
912
|
-
_$insert(_el$
|
|
913
|
-
_$insertNode(_el$
|
|
914
|
-
_$insertNode(_el$
|
|
915
|
-
_$insertNode(_el$
|
|
916
|
-
_$
|
|
917
|
-
_$insert(_el$10, () => icons.
|
|
918
|
-
_$
|
|
936
|
+
_$insertNode(_el$8, _el$10);
|
|
937
|
+
_$setProp(_el$8, "flexDirection", "row");
|
|
938
|
+
_$insert(_el$9, () => icons.cpu);
|
|
939
|
+
_$insertNode(_el$0, _$createTextNode(` CPU `));
|
|
940
|
+
_$insertNode(_el$10, _el$11);
|
|
941
|
+
_$insertNode(_el$10, _el$12);
|
|
942
|
+
_$insert(_el$10, () => formatPercent(metricsState.sharedMetrics().cpuPercent), _el$11);
|
|
943
|
+
_$insert(_el$10, () => icons.thermometer, _el$12);
|
|
944
|
+
_$insert(_el$10, () => formatTemperature(metricsState.sharedMetrics().cpuTemperatureCelsius), null);
|
|
919
945
|
_$insertNode(_el$13, _el$14);
|
|
920
946
|
_$insertNode(_el$13, _el$15);
|
|
921
|
-
_$insertNode(_el$13, _el$
|
|
922
|
-
_$
|
|
923
|
-
_$insert(_el$
|
|
924
|
-
_$
|
|
947
|
+
_$insertNode(_el$13, _el$17);
|
|
948
|
+
_$setProp(_el$13, "flexDirection", "row");
|
|
949
|
+
_$insert(_el$14, () => icons.ram);
|
|
950
|
+
_$insertNode(_el$15, _$createTextNode(` RAM `));
|
|
925
951
|
_$insertNode(_el$17, _el$18);
|
|
926
952
|
_$insertNode(_el$17, _el$19);
|
|
927
|
-
_$insertNode(_el$17, _el$
|
|
928
|
-
_$
|
|
929
|
-
_$insert(_el$
|
|
930
|
-
_$
|
|
953
|
+
_$insertNode(_el$17, _el$20);
|
|
954
|
+
_$insert(_el$17, () => formatGiB(metricsState.sharedMetrics().memoryUsedBytes), _el$18);
|
|
955
|
+
_$insert(_el$17, () => formatGiB(metricsState.sharedMetrics().memoryTotalBytes), _el$19);
|
|
956
|
+
_$insert(_el$17, () => formatPercent(metricsState.sharedMetrics().memoryPercent), _el$20);
|
|
931
957
|
_$insertNode(_el$21, _el$22);
|
|
932
958
|
_$insertNode(_el$21, _el$23);
|
|
933
|
-
_$
|
|
934
|
-
_$
|
|
935
|
-
_$insert(_el$
|
|
959
|
+
_$insertNode(_el$21, _el$25);
|
|
960
|
+
_$setProp(_el$21, "flexDirection", "row");
|
|
961
|
+
_$insert(_el$22, () => icons.gpu);
|
|
962
|
+
_$insertNode(_el$23, _$createTextNode(` GPU `));
|
|
963
|
+
_$insertNode(_el$25, _el$26);
|
|
964
|
+
_$insertNode(_el$25, _el$27);
|
|
965
|
+
_$insert(_el$25, () => formatPercent(metricsState.sharedMetrics().gpuPercent), _el$26);
|
|
966
|
+
_$insert(_el$25, () => icons.thermometer, _el$27);
|
|
967
|
+
_$insert(_el$25, () => formatTemperature(metricsState.sharedMetrics().gpuTemperatureCelsius), null);
|
|
936
968
|
_$insert(_el$, _$createComponent(Show, {
|
|
937
969
|
get when() {
|
|
938
970
|
return metricsState.sharedMetrics().gpuMemoryIsUnified !== true;
|
|
939
971
|
},
|
|
940
972
|
get children() {
|
|
941
|
-
var _el$
|
|
942
|
-
_$insertNode(_el$
|
|
943
|
-
_$insertNode(_el$
|
|
944
|
-
_$insertNode(_el$
|
|
945
|
-
_$setProp(_el$
|
|
946
|
-
_$insert(_el$
|
|
947
|
-
_$insertNode(_el$
|
|
948
|
-
_$insertNode(_el$
|
|
949
|
-
_$insert(_el$
|
|
950
|
-
_$insertNode(_el$
|
|
951
|
-
_$insertNode(_el$
|
|
952
|
-
_$insertNode(_el$
|
|
953
|
-
_$insert(_el$
|
|
954
|
-
_$insert(_el$
|
|
955
|
-
_$insert(_el$
|
|
973
|
+
var _el$28 = _$createElement("box"), _el$29 = _$createElement("text"), _el$30 = _$createElement("text"), _el$31 = _$createTextNode(` `), _el$32 = _$createTextNode(` `), _el$33 = _$createElement("text"), _el$34 = _$createTextNode(` / `), _el$35 = _$createTextNode(` (`), _el$36 = _$createTextNode(`)`);
|
|
974
|
+
_$insertNode(_el$28, _el$29);
|
|
975
|
+
_$insertNode(_el$28, _el$30);
|
|
976
|
+
_$insertNode(_el$28, _el$33);
|
|
977
|
+
_$setProp(_el$28, "flexDirection", "row");
|
|
978
|
+
_$insert(_el$29, () => gpuMemory().icon);
|
|
979
|
+
_$insertNode(_el$30, _el$31);
|
|
980
|
+
_$insertNode(_el$30, _el$32);
|
|
981
|
+
_$insert(_el$30, () => gpuMemory().label, _el$32);
|
|
982
|
+
_$insertNode(_el$33, _el$34);
|
|
983
|
+
_$insertNode(_el$33, _el$35);
|
|
984
|
+
_$insertNode(_el$33, _el$36);
|
|
985
|
+
_$insert(_el$33, () => formatGiB(gpuMemory().usedBytes), _el$34);
|
|
986
|
+
_$insert(_el$33, () => formatGiB(gpuMemory().totalBytes), _el$35);
|
|
987
|
+
_$insert(_el$33, () => formatPercent(gpuMemory().percent), _el$36);
|
|
956
988
|
_$effect((_p$) => {
|
|
957
989
|
var _v$ = props.theme.success, _v$2 = props.theme.text, _v$3 = props.theme.textMuted;
|
|
958
|
-
_v$ !== _p$.e && (_p$.e = _$setProp(_el$
|
|
959
|
-
_v$2 !== _p$.t && (_p$.t = _$setProp(_el$
|
|
960
|
-
_v$3 !== _p$.a && (_p$.a = _$setProp(_el$
|
|
990
|
+
_v$ !== _p$.e && (_p$.e = _$setProp(_el$29, "fg", _v$, _p$.e));
|
|
991
|
+
_v$2 !== _p$.t && (_p$.t = _$setProp(_el$30, "fg", _v$2, _p$.t));
|
|
992
|
+
_v$3 !== _p$.a && (_p$.a = _$setProp(_el$33, "fg", _v$3, _p$.a));
|
|
961
993
|
return _p$;
|
|
962
994
|
}, {
|
|
963
995
|
e: undefined,
|
|
964
996
|
t: undefined,
|
|
965
997
|
a: undefined
|
|
966
998
|
});
|
|
967
|
-
return _el$
|
|
999
|
+
return _el$28;
|
|
968
1000
|
}
|
|
969
|
-
}), _el$
|
|
970
|
-
_$insertNode(_el$33, _el$34);
|
|
971
|
-
_$insertNode(_el$33, _el$35);
|
|
972
|
-
_$insertNode(_el$33, _el$37);
|
|
973
|
-
_$setProp(_el$33, "flexDirection", "row");
|
|
974
|
-
_$insert(_el$34, () => icons.network);
|
|
975
|
-
_$insertNode(_el$35, _$createTextNode(` NET `));
|
|
1001
|
+
}), _el$37);
|
|
976
1002
|
_$insertNode(_el$37, _el$38);
|
|
977
1003
|
_$insertNode(_el$37, _el$39);
|
|
978
|
-
_$
|
|
979
|
-
_$
|
|
1004
|
+
_$insertNode(_el$37, _el$41);
|
|
1005
|
+
_$setProp(_el$37, "flexDirection", "row");
|
|
1006
|
+
_$insert(_el$38, () => icons.network);
|
|
1007
|
+
_$insertNode(_el$39, _$createTextNode(` NET `));
|
|
1008
|
+
_$insertNode(_el$41, _el$42);
|
|
1009
|
+
_$insertNode(_el$41, _el$43);
|
|
1010
|
+
_$insert(_el$41, () => formatRate(metricsState.sharedMetrics().downloadBytesPerSecond), _el$43);
|
|
1011
|
+
_$insert(_el$41, () => formatRate(metricsState.sharedMetrics().uploadBytesPerSecond), null);
|
|
980
1012
|
_$effect((_p$) => {
|
|
981
|
-
var _v$4 = props.theme.
|
|
1013
|
+
var _v$4 = props.theme.textMuted, _v$5 = props.theme.textMuted, _v$6 = props.theme.text, _v$7 = TextAttributes.BOLD, _v$8 = props.theme.success, _v$9 = props.theme.text, _v$0 = props.theme.textMuted, _v$1 = props.theme.success, _v$10 = props.theme.text, _v$11 = props.theme.textMuted, _v$12 = props.theme.success, _v$13 = props.theme.text, _v$14 = props.theme.textMuted, _v$15 = props.theme.success, _v$16 = props.theme.text, _v$17 = props.theme.textMuted;
|
|
982
1014
|
_v$4 !== _p$.e && (_p$.e = _$setProp(_el$2, "fg", _v$4, _p$.e));
|
|
983
|
-
_v$5 !== _p$.t && (_p$.t = _$setProp(_el$
|
|
984
|
-
_v$6 !== _p$.a && (_p$.a = _$setProp(_el$
|
|
985
|
-
_v$7 !== _p$.o && (_p$.o = _$setProp(_el$6, "
|
|
986
|
-
_v$8 !== _p$.i && (_p$.i = _$setProp(_el$
|
|
987
|
-
_v$9 !== _p$.n && (_p$.n = _$setProp(_el$
|
|
988
|
-
_v$0 !== _p$.s && (_p$.s = _$setProp(_el$
|
|
989
|
-
_v$1 !== _p$.h && (_p$.h = _$setProp(_el$
|
|
990
|
-
_v$10 !== _p$.r && (_p$.r = _$setProp(_el$
|
|
991
|
-
_v$11 !== _p$.d && (_p$.d = _$setProp(_el$
|
|
992
|
-
_v$12 !== _p$.l && (_p$.l = _$setProp(_el$
|
|
993
|
-
_v$13 !== _p$.u && (_p$.u = _$setProp(_el$
|
|
994
|
-
_v$14 !== _p$.c && (_p$.c = _$setProp(_el$
|
|
995
|
-
_v$15 !== _p$.w && (_p$.w = _$setProp(_el$
|
|
1015
|
+
_v$5 !== _p$.t && (_p$.t = _$setProp(_el$4, "fg", _v$5, _p$.t));
|
|
1016
|
+
_v$6 !== _p$.a && (_p$.a = _$setProp(_el$6, "fg", _v$6, _p$.a));
|
|
1017
|
+
_v$7 !== _p$.o && (_p$.o = _$setProp(_el$6, "attributes", _v$7, _p$.o));
|
|
1018
|
+
_v$8 !== _p$.i && (_p$.i = _$setProp(_el$9, "fg", _v$8, _p$.i));
|
|
1019
|
+
_v$9 !== _p$.n && (_p$.n = _$setProp(_el$0, "fg", _v$9, _p$.n));
|
|
1020
|
+
_v$0 !== _p$.s && (_p$.s = _$setProp(_el$10, "fg", _v$0, _p$.s));
|
|
1021
|
+
_v$1 !== _p$.h && (_p$.h = _$setProp(_el$14, "fg", _v$1, _p$.h));
|
|
1022
|
+
_v$10 !== _p$.r && (_p$.r = _$setProp(_el$15, "fg", _v$10, _p$.r));
|
|
1023
|
+
_v$11 !== _p$.d && (_p$.d = _$setProp(_el$17, "fg", _v$11, _p$.d));
|
|
1024
|
+
_v$12 !== _p$.l && (_p$.l = _$setProp(_el$22, "fg", _v$12, _p$.l));
|
|
1025
|
+
_v$13 !== _p$.u && (_p$.u = _$setProp(_el$23, "fg", _v$13, _p$.u));
|
|
1026
|
+
_v$14 !== _p$.c && (_p$.c = _$setProp(_el$25, "fg", _v$14, _p$.c));
|
|
1027
|
+
_v$15 !== _p$.w && (_p$.w = _$setProp(_el$38, "fg", _v$15, _p$.w));
|
|
1028
|
+
_v$16 !== _p$.m && (_p$.m = _$setProp(_el$39, "fg", _v$16, _p$.m));
|
|
1029
|
+
_v$17 !== _p$.f && (_p$.f = _$setProp(_el$41, "fg", _v$17, _p$.f));
|
|
996
1030
|
return _p$;
|
|
997
1031
|
}, {
|
|
998
1032
|
e: undefined,
|
|
@@ -1008,7 +1042,9 @@ function MetricsPanel(props) {
|
|
|
1008
1042
|
l: undefined,
|
|
1009
1043
|
u: undefined,
|
|
1010
1044
|
c: undefined,
|
|
1011
|
-
w: undefined
|
|
1045
|
+
w: undefined,
|
|
1046
|
+
m: undefined,
|
|
1047
|
+
f: undefined
|
|
1012
1048
|
});
|
|
1013
1049
|
return _el$;
|
|
1014
1050
|
})();
|