Some other shit
This commit is contained in:
		| @@ -5,7 +5,10 @@ class ModBspwmPager < ModBasic | ||||
|  | ||||
| 	def data_loop() | ||||
| 		while true do | ||||
| 			IO.popen("bspc subscribe").each do |line| | ||||
| 			pipe = IO.popen("bspc subscribe") | ||||
| 			$children << pipe.pid | ||||
| 	 | ||||
| 			pipe.each do |line| | ||||
| 				$panel_data[@@mod_name.to_sym] = parse_data(line.chomp) | ||||
| 				$queue << 1 | ||||
| 			end | ||||
|   | ||||
| @@ -5,8 +5,16 @@ class ModBspwmTaskbar < ModBasic | ||||
|  | ||||
| 	def data_loop() | ||||
| 		while true do | ||||
| 			IO.popen("xtitle -s -f '%s'").each do |line| | ||||
| 				$panel_data[@@mod_name.to_sym] = line.chomp | ||||
| 			pipe = IO.popen("xtitle -s -f '%s'") | ||||
| 			$children << pipe.pid | ||||
|  | ||||
| 			pipe.each do |line| | ||||
| 				if line == "\n" | ||||
| 					$panel_data[@@mod_name.to_sym] = "" | ||||
| 				else | ||||
| 					$panel_data[@@mod_name.to_sym] = $config['mod']['bspwm_taskbar']['begin'].erb + line.chomp + $config['mod']['bspwm_taskbar']['end'].erb | ||||
| 				end | ||||
|  | ||||
| 				$queue << 1 | ||||
| 			end | ||||
| 		end | ||||
|   | ||||
							
								
								
									
										47
									
								
								moltenbar
									
									
									
									
									
								
							
							
						
						
									
										47
									
								
								moltenbar
									
									
									
									
									
								
							| @@ -5,6 +5,7 @@ require 'erb' | ||||
|  | ||||
| $queue = Queue.new | ||||
| $panel_data = Hash.new("") | ||||
| $children = [] | ||||
|  | ||||
| class ModBasic | ||||
| 	def mainloop() | ||||
| @@ -25,6 +26,23 @@ class ModBasic | ||||
| 	end | ||||
| end | ||||
|  | ||||
| class ::String | ||||
| 	def erb | ||||
| 		return ERB.new(self).result | ||||
| 	end | ||||
| end | ||||
|  | ||||
| def get_x_dims | ||||
| 	return `xrandr`.scan(/current (\d+) x (\d+)/).flatten | ||||
| end | ||||
|  | ||||
| at_exit do | ||||
| 	$children.each do |pid| | ||||
| 		puts "Killing pid: #{pid}" | ||||
| 		Process.kill("TERM", pid) | ||||
| 	end | ||||
| end | ||||
|  | ||||
| argv = ARGV | ||||
| while argv[0] != nil | ||||
| 	case argv[0] | ||||
| @@ -35,12 +53,35 @@ while argv[0] != nil | ||||
| 	argv.shift() | ||||
| end | ||||
|  | ||||
| $config = YAML.load_file('./rc.yaml') | ||||
| if ENV["XDG_CONFIG_HOME"] == nil | ||||
| 	conf_dir = ENV["HOME"] + "/.config/moltenbar" | ||||
| else | ||||
| 	conf_dir = ENV["XDG_CONFIG_HOME"] + "/moltenbar" | ||||
| end | ||||
|  | ||||
| Dir["./mod/*"].each do |file| | ||||
| config_file = conf_dir + "/rc.yaml" | ||||
| mod_dir = conf_dir + "/mod" | ||||
|  | ||||
| $config = YAML.load_file(config_file) | ||||
|  | ||||
| Dir["#{mod_dir}/*"].each do |file| | ||||
| 	load file | ||||
| end | ||||
|  | ||||
| if $config['geometry'] == nil | ||||
| 	$config['gap'] ||= 0 | ||||
| 	$config['height'] ||= 14 | ||||
| 	 | ||||
| 	gap = $config['gap'].to_i | ||||
|  | ||||
| 	if $config['width'] == nil | ||||
| 		y, x = get_x_dims() | ||||
| 		$config['width'] = y.to_i - (gap * 2) | ||||
| 	end | ||||
|  | ||||
| 	$config['geometry'] = "#{$config['width']}x#{$config['height']}+#{gap}+#{gap}" | ||||
| end | ||||
|  | ||||
| lemonbar_cmd = [ | ||||
| 	"lemonbar", | ||||
| 	"-g", $config['geometry'], | ||||
| @@ -59,6 +100,6 @@ trap("SIGUSR1") { $queue << 1 } | ||||
| IO.popen(lemonbar_cmd, "w") do |pipe| | ||||
| 	while true do | ||||
| 		data = $queue.pop | ||||
| 		pipe.puts ERB.new($config['format']).result | ||||
| 		pipe.puts $config['format'].erb | ||||
| 	end | ||||
| end | ||||
|   | ||||
| @@ -1,10 +1,12 @@ | ||||
| # vim: ft=yaml sw=2 et | ||||
| 
 | ||||
| geometry: '1902x14+9+9' | ||||
| #geometry: '1902x14+9+9' | ||||
| height: 14 | ||||
| gap: 9 | ||||
| fontspec: '-*-terminesspowerline-medium-*-normal-*-14-*-*-*-*-*-iso10646-*' | ||||
| window_name: 'moltenbar' | ||||
| active_areas: '128' | ||||
| format: "<%= $panel_data[:bspwm_pager] %>%{F<%= $config['colours']['bg'] %>}%{B<%= $config['colours']['bg_focused'] %>}%{F-} <%= $panel_data[:bspwm_taskbar] %>%{F<%= $config['colours']['bg_focused'] %>} %{B-} %{r}%{F<%= $config['colours']['bg_focused'] %>}%{F-}%{B<%= $config['colours']['bg_focused'] %>}  LA: <%= $panel_data[:load_average] %>  Network: <%= $panel_data[:network] %>  <%= $panel_data[:date] %>  %{B-}" | ||||
| format: "<%= $panel_data[:bspwm_pager] %><%= $panel_data[:bspwm_taskbar] %>%{r}%{F<%= $config['colours']['bg_focused'] %>}%{F-}%{B<%= $config['colours']['bg_focused'] %>}  LA: <%= $panel_data[:load_average] %>  Network: <%= $panel_data[:network] %>  <%= $panel_data[:date] %>  %{B-}" | ||||
| colours: | ||||
|   fg: '#f9f9f9' | ||||
|   fg_focused: '#f9f9f9' | ||||
| @@ -16,6 +18,9 @@ mod: | ||||
|     show_empty_desktops: false | ||||
|     blacklist: | ||||
|       -h | ||||
|   bspwm_taskbar: | ||||
|     begin: "%{F<%= $config['colours']['bg'] %>}%{B<%= $config['colours']['bg_focused'] %>}%{F-} " | ||||
|     end: "%{F<%= $config['colours']['bg_focused'] %>} %{B-} " | ||||
|   date: | ||||
|     format: '%A, %Y.%m.%d %H:%M:%S' | ||||
|   load_average: | ||||
		Reference in New Issue
	
	Block a user