about summary refs log tree commit diff stats
path: root/code
diff options
context:
space:
mode:
Diffstat (limited to 'code')
-rw-r--r--code/bars.rb2
-rw-r--r--code/color.rb3
-rw-r--r--code/draw.rb9
-rw-r--r--code/fm.rb1
4 files changed, 10 insertions, 5 deletions
diff --git a/code/bars.rb b/code/bars.rb
index 8e176c01..08546a79 100644
--- a/code/bars.rb
+++ b/code/bars.rb
@@ -3,7 +3,7 @@ require 'thread'
 class Bar
 	def kill(evil = true)
 		Fm.bar_del(self)
-		Fm.force_update
+#		Fm.force_update
 
 		@thread.kill
 	end
diff --git a/code/color.rb b/code/color.rb
index 74dc3e73..6be8e44f 100644
--- a/code/color.rb
+++ b/code/color.rb
@@ -91,6 +91,9 @@ module Color
 	use %w{currentdir top}
 	use %w{currentfile top}
 
+	use %w{bar_done allowed}
+	use %w{bar_undone denied}
+
 	use %w{butt}
 	use %w{permissions butt}
 	use %w{allowed permissions butt}
diff --git a/code/draw.rb b/code/draw.rb
index 5a6380e7..693b941b 100644
--- a/code/draw.rb
+++ b/code/draw.rb
@@ -298,18 +298,19 @@ module Fm
 	end
 
 	def self.draw_bars()
-		@bars.each_with_index do |bar, ix|
+		l = CLI.lines
+		@bars.each do |bar|
 			bar.update
 
-			l = -ix - 1
+			l -= 1
 			puti l, bar.text[0..cols-1].ljust(cols)
 			done = bar.done
 			c = (done * cols).to_i
 			unless done == 0
-#				color_at l, 0, c, 0, 4
+				attr_at(l, 0, c, *Color.bar_done)
 			end
 			unless done == cols
-#				color_at l, c, -1, 0, 6
+				attr_at(l, c, -1, *Color.bar_undone)
 			end
 		end
 	end
diff --git a/code/fm.rb b/code/fm.rb
index 1b3e8b69..54608f09 100644
--- a/code/fm.rb
+++ b/code/fm.rb
@@ -274,6 +274,7 @@ module Fm
 		if @bars.empty?
 			@bars_thread.kill
 			@bars_thread = nil
+			draw
 		end
 	end