@@ -1,16 +1,12 @@
|
||||
# vim: ft=ruby
|
||||
|
||||
class ModBspwmPager < ModBasic
|
||||
@@mod_name = 'bspwm_pager'
|
||||
|
||||
def data_loop()
|
||||
class BspwmPager < Worker
|
||||
def mainloop()
|
||||
while true do
|
||||
pipe = IO.popen("bspc subscribe")
|
||||
$children << pipe.pid
|
||||
|
||||
pipe.each do |line|
|
||||
$panel_data[@@mod_name.to_sym] = parse_data(line.chomp)
|
||||
$queue << 1
|
||||
@pipe_in.puts "bspwm_pager" + "\0" + parse_data(line)
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -22,21 +18,21 @@ class ModBspwmPager < ModBasic
|
||||
string.split(":").each do |part|
|
||||
n = part[1..-1]
|
||||
|
||||
if $config['mod']['bspwm_pager']['blacklist'] != nil
|
||||
if $config['mod']['bspwm_pager']['blacklist'].include? n
|
||||
if @config['mod']['bspwm_pager']['blacklist'] != nil
|
||||
if @config['mod']['bspwm_pager']['blacklist'].include? n
|
||||
next
|
||||
end
|
||||
end
|
||||
|
||||
case part
|
||||
when /^(O|F|U).+/
|
||||
out << "%{B#{$config['colours']['bg_focused']}} #{n} %{B-}"
|
||||
out << "%{B#{@config['colours']['bg_focused']}} #{n} %{B-}"
|
||||
when /^u.+/
|
||||
out << "%{A:bspc desktop -f #{n}:}%{R} #{n} %{R}%{A}"
|
||||
when /^o.+/
|
||||
out << "%{A:bspc desktop -f #{n}:} #{n} %{A}"
|
||||
when /^f.+/
|
||||
if $config['mod']['bspwm_pager']['show_empty_desktops']
|
||||
if @config['mod']['bspwm_pager']['show_empty_desktops']
|
||||
out << " #{n} "
|
||||
end
|
||||
when /^L.+/
|
||||
@@ -57,4 +53,4 @@ class ModBspwmPager < ModBasic
|
||||
end
|
||||
end
|
||||
|
||||
ModBspwmPager.new.mainloop()
|
||||
Modules.add("bspwm_pager", "BspwmPager")
|
||||
|
Reference in New Issue
Block a user