Sha256: bb951149cb7d91e40f0f0eed72604495871cd14e4ad79c4b920f8f03fab19c0f

Contents?: true

Size: 939 Bytes

Versions: 78

Compression:

Stored size: 939 Bytes

Contents

require 'glimmer-dsl-libui'
require 'bigdecimal'

include Glimmer

data = [
  ['CPU', '0%', 0],
]

Glimmer::LibUI.timer(1) do
  cpu_percentage_value = nil
  if OS.windows?
    cpu_percentage_raw_value = `wmic cpu get loadpercentage`
    cpu_percentage_value = cpu_percentage_raw_value.split("\n").map(&:strip).find {|l| l.match(/^\d+$/)}.to_i
  elsif OS.mac?
    cpu_percentage_value = `ps -A -o %cpu | awk '{s+=$1} END {print s}'`.to_i
  elsif OS.linux?
    stats = `top -n 1`
    idle_percentage = stats.split("\n")[2].match(/ni,.* (.*) .*id/)[1]
    cpu_percentage_value = (BigDecimal(100) - BigDecimal(idle_percentage)).to_i
  end
  data[0][1] = "#{cpu_percentage_value}%"
  data[0][2] = cpu_percentage_value
end

window('CPU Percentage', 400, 50) {
  vertical_box {
    table {
      text_column('Name')
      text_column('Value')
      progress_bar_column('Percentage')

      cell_rows data # implicit data-binding
    }
  }
}.show

Version data entries

78 entries across 78 versions & 1 rubygems

Version Path
glimmer-dsl-libui-0.12.7 examples/cpu_percentage.rb
glimmer-dsl-libui-0.12.6 examples/cpu_percentage.rb
glimmer-dsl-libui-0.12.5 examples/cpu_percentage.rb
glimmer-dsl-libui-0.12.4 examples/cpu_percentage.rb
glimmer-dsl-libui-0.12.3 examples/cpu_percentage.rb
glimmer-dsl-libui-0.12.2 examples/cpu_percentage.rb
glimmer-dsl-libui-0.12.1 examples/cpu_percentage.rb
glimmer-dsl-libui-0.12.0 examples/cpu_percentage.rb
glimmer-dsl-libui-0.11.10 examples/cpu_percentage.rb
glimmer-dsl-libui-0.11.9 examples/cpu_percentage.rb
glimmer-dsl-libui-0.11.8 examples/cpu_percentage.rb
glimmer-dsl-libui-0.11.7 examples/cpu_percentage.rb
glimmer-dsl-libui-0.11.6 examples/cpu_percentage.rb
glimmer-dsl-libui-0.11.5 examples/cpu_percentage.rb
glimmer-dsl-libui-0.11.4 examples/cpu_percentage.rb
glimmer-dsl-libui-0.11.3 examples/cpu_percentage.rb
glimmer-dsl-libui-0.11.2 examples/cpu_percentage.rb
glimmer-dsl-libui-0.11.1 examples/cpu_percentage.rb
glimmer-dsl-libui-0.11.0 examples/cpu_percentage.rb
glimmer-dsl-libui-0.10.2 examples/cpu_percentage.rb