termclock 0.5.3 → 0.6.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '098660e91498baced640456738b0e3d4ec38f00fd386c50f97e4ae24327b8ac1'
4
- data.tar.gz: c120438c0609d8a725f58ff32105300f79f531dfebea552726069fe2ceb0f36d
3
+ metadata.gz: 3fcea2cc01afe31bc00a62ed5438657612e909bb4db2510b56a2371a5fa4ecd1
4
+ data.tar.gz: 662d05beb745b1e3fc046f6ddfc2b53f3781dd8dc06efd74228321390bdc5d1f
5
5
  SHA512:
6
- metadata.gz: 42707afa6c2cdd329b0f14d174b94ce74d52dbcf8aeea6423d71d7b7848c398661d5b6f1367d9dc649eda5a561c9dc85cee3414152993adc40c617ebb5a75a0d
7
- data.tar.gz: 1ad86795402c131050e1513376d014378efc632cb7c45da2d4e8dafab11fed43e81bb7adb9cf2133a13f3bcfca646bd461fe6fe810207f5614963a66344dc59b
6
+ metadata.gz: d57447038d164806c56090fd13716100612bc04d946fd5be2cdefc7ee32d683ff06171af1ef33df73541d207b9244c6e47e93a4b674b82b40165b78d2ca114e0
7
+ data.tar.gz: e9044dd6e002d119c260119ac2e74d2ed770371448eca3100d88f147f7c0246b6f8cdd075736058f72dc843ae5ca78d7d10b64f834c86ba5e56d313b447aac9f
@@ -1,8 +1,10 @@
1
1
  module Termclock
2
- FILESYSTEM = if LS::FS.stat('/')[:blocks].to_i == 0
3
- ?.
2
+ FILESYSTEM, FILESYSTEM_LABEL = if LS::FS.stat('/')[:blocks].to_i == 0
3
+ _pwd = Dir.pwd
4
+ pwd = _pwd.length > 8 ? _pwd[0..5] + '...' : _pwd
5
+ [?..freeze, pwd]
4
6
  else
5
- ?/
7
+ [?/.freeze, ?/.freeze]
6
8
  end.freeze
7
9
 
8
10
  @@cpu_usage = 0
@@ -16,9 +18,7 @@ module Termclock
16
18
  unless @@cpu_usage_t.alive?
17
19
  @@cpu_usage_t = Thread.new {
18
20
  _cpu_usage = LS::CPU.usage(0.25)
19
- _cpu_usage_i = _cpu_usage.to_i
20
-
21
- @@cpu_usage = "%0.2f" % _cpu_usage
21
+ @@cpu_usage = _cpu_usage ? "%0.2f".freeze % _cpu_usage : nil
22
22
  }
23
23
  end
24
24
 
@@ -26,14 +26,25 @@ module Termclock
26
26
  @@current_net_usage_t = Thread.new do
27
27
  _m = LS::Net.current_usage(0.25)
28
28
 
29
- _dl = LS::PrettifyBytes.convert_short_decimal(_m[:received])
30
- _ul = LS::PrettifyBytes.convert_short_decimal(_m[:transmitted])
29
+ _dl = _m[:received]
30
+ _ul = _m[:transmitted]
31
+
32
+ @@current_net_usage = if _dl && _ul
33
+ dl = LS::PrettifyBytes.convert_short_decimal(_dl)
34
+ ul = LS::PrettifyBytes.convert_short_decimal(_ul)
31
35
 
32
- @@current_net_usage = "\u{1F4CA} Curr. DL/UL: #{"%-9s" % _dl} | #{ "%9s" % _ul}"
36
+ "\u{1F4CA} Curr. DL/UL: #{"%-9s" % dl} | #{ "%9s" % ul}"
37
+ else
38
+ EMPTY
39
+ end
33
40
  end
34
41
  end
35
42
 
36
- cpu = "\u{1F9E0} CPU: #{"%6s" % @@cpu_usage}% (#{LS::CPU.count_online}/#{LS::CPU.count})"
43
+ cpu = if @@cpu_usage
44
+ "\u{1F9E0} CPU: #{"%6s" % @@cpu_usage}% (#{LS::CPU.count_online}/#{LS::CPU.count})"
45
+ else
46
+ EMPTY
47
+ end
37
48
 
38
49
  battery = if LS::Battery.present?
39
50
  stat = LS::Battery.stat
@@ -58,8 +69,17 @@ module Termclock
58
69
  _m = LS::Net.total_bytes
59
70
  ip = "\u{1F30F} IP Addr: #{LS::Net.ipv4_private}"
60
71
 
61
- net_usage = "\u{1F4C8} Totl. DL/UL: #{"%-9s" % LS::PrettifyBytes.convert_short_decimal(_m[:received])}"\
62
- " | #{"%9s" % LS::PrettifyBytes.convert_short_decimal(_m[:transmitted])}"
72
+ _received = _m[:received]
73
+ _transmitted = _m[:transmitted]
74
+
75
+ tot_received = _received ? "\u{1F4C8} Totl. DL/UL: #{'%-9s'.freeze % LS::PrettifyBytes.convert_short_decimal(_m[:received])}" : nil
76
+ tot_transmitted = _transmitted ? " | #{'%9s'.freeze % LS::PrettifyBytes.convert_short_decimal(_transmitted)}" : nil
77
+
78
+ net_usage = if tot_received && tot_transmitted
79
+ tot_received + tot_transmitted
80
+ else
81
+ EMPTY
82
+ end
63
83
 
64
84
  _m = LS::Memory.stat
65
85
  _m.default = 0
@@ -78,7 +98,7 @@ module Termclock
78
98
  _m = LS::Filesystem.stat(FILESYSTEM)
79
99
  _m.default = 0
80
100
 
81
- fs = "\u{1F4BD} FS: #{LS::PrettifyBytes.convert_short_decimal(_m[:used])}"\
101
+ fs = "\u{1F4BD} FS (#{FILESYSTEM_LABEL}): #{LS::PrettifyBytes.convert_short_decimal(_m[:used])}"\
82
102
  " / #{LS::PrettifyBytes.convert_short_decimal(_m[:total])}"\
83
103
  " (#{"%.2f" % _m[:used].*(100).fdiv(_m[:total]).round(2)}%)"
84
104
 
@@ -101,7 +121,20 @@ module Termclock
101
121
 
102
122
  @@os ||= "\u{1F427} Distrib: #{LS::OS.distribution} #{LS::OS.machine}#{@@os_v}"
103
123
 
104
- _uptime = LS::OS.uptime
124
+ _temp_uptime = LS::OS.uptime
125
+
126
+ _uptime = unless _temp_uptime.empty?
127
+ _temp_uptime
128
+ else
129
+ _u = LS::OS.uptime_i
130
+ {
131
+ hour: _u / 3600,
132
+ minute: _u % 3600 / 60,
133
+ second: _u % 3600 % 60,
134
+ jiffy: 0
135
+ }
136
+ end
137
+
105
138
  _second = _uptime[:second]
106
139
  _second_i = _second.to_i
107
140
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Termclock
4
- VERSION = "0.5.3"
4
+ VERSION = "0.6.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: termclock
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.3
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sourav Goswami
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-02-06 00:00:00.000000000 Z
11
+ date: 2021-03-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: linux_stat
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 2.2.0
19
+ version: 2.2.2
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 2.2.0
26
+ version: 2.2.2
27
27
  description: A clock for Linux VTE
28
28
  email:
29
29
  - souravgoswami@protonmail.com
@@ -59,7 +59,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
59
59
  - !ruby/object:Gem::Version
60
60
  version: '0'
61
61
  requirements: []
62
- rubygems_version: 3.2.7
62
+ rubygems_version: 3.2.13
63
63
  signing_key:
64
64
  specification_version: 4
65
65
  summary: A clock for Linux VTE