def mutex; @mutex ||= Mutex.new; end
def sync &b; mutex.synchronize(&b); end
+ ## magically, this stuff seems to work now. i could swear it didn't
+ ## before. hm.
def nonblocking_getch
## INSANTIY
## it is NECESSARY to wrap Ncurses.getch in a select() otherwise all
def content_height; @height - 1; end
def content_width; @width; end
- def resize rows, cols
+ def resize rows, cols
return if cols == @width && rows == @height
@width = cols
@height = rows
@in_x = ENV["TERM"] =~ /(xterm|rxvt|screen)/
@sigwinch_happened = false
@sigwinch_mutex = Mutex.new
-
- self.class.i_am_the_instance self
end
def sigwinch_happened!; @sigwinch_mutex.synchronize { @sigwinch_happened = true } end
Ncurses.curs_set 0
Ncurses.refresh
@sigwinch_mutex.synchronize { @sigwinch_happened = false }
- Redwood::log "new screen size is #{Ncurses.rows} x #{Ncurses.cols}"
+ debug "new screen size is #{Ncurses.rows} x #{Ncurses.cols}"
status, title = get_status_and_title(@focus_buf) # must be called outside of the ncurses lock
end
if answer
- answer =
+ answer =
if answer.empty?
spawn_modal "file browser", FileBrowserMode.new
elsif File.directory?(answer)
return unless answer
- user_labels = answer.symbolistize
+ user_labels = answer.to_set_of_symbols
user_labels.each do |l|
if forbidden_labels.include?(l) || LabelManager::RESERVED_LABELS.include?(l)
BufferManager.flash "'#{l}' is a reserved label!"
def ask_for_contacts domain, question, default_contacts=[]
default = default_contacts.map { |s| s.to_s }.join(" ")
default += " " unless default.empty?
-
+
recent = Index.load_contacts(AccountManager.user_emails, :num => 10).map { |c| [c.full_address, c.email] }
contacts = ContactManager.contacts.map { |c| [ContactManager.alias_for(c), c.full_address, c.email] }