class Barabara::Modules::WindowName

Public Class Methods

limit(line) click to toggle source
# File lib/barabara/modules/wname.rb, line 11
def self.limit(line)
  line.length > 80 ? line[0..60].gsub(/\s\w+\s*$/, '…') : line
end
new() click to toggle source
# File lib/barabara/modules/wname.rb, line 7
def initialize
  @cmd = 'xtitle -sf "%s\n"'
end

Public Instance Methods

watch() click to toggle source
# File lib/barabara/modules/wname.rb, line 15
def watch
  PTY.spawn(@cmd) do |stdout, _stdin, pid|
    stdout.each do |line|
      title = WindowName.limit(line.chomp)
      publish(:event, 'window_title', title)
    end
    Process.wait pid
  end
end