Ticket #9 (new defect)

Opened 6 years ago

Last modified 6 years ago

Finish bell implementation

Reported by: judah Owned by:
Priority: minor Milestone:
Version: Keywords:
Cc:

Description

Finish the bell implementation:

  • Get visual/audio bells working on Windows
  • Get visual bell working on some POSIX terminal with the flash capability

Change History

Changed 6 years ago by judah

  • priority changed from major to minor
  • type changed from enhancement to defect

Changed 6 years ago by judah

OK, the reason that the visual bell doesn't work on my machine is that when terminfo uses putChar it doesn't prevent buffering, which messes up the timing. Problem is, Haskeline wants stdout to be line buffered to prevent cursor flickers.

One possibility: tPuts checks whether the output string has a delay in it, and if so either:

  • flushes after each character, or
  • temporarily sets the console to NoBuffering?.

Note: I should test this against both my current ncurses and a different one that doesn't use time delays (instead outputs characters based on ostream).

Also: maybe terminfo should substitute a flash capability if the terminal doesn't provide one itself?

Changed 6 years ago by judah

  • milestone set to 0.2.2

Changed 6 years ago by judah

On Windows, the audible beep from outputting "\a" seems so annoying that I'm not sure it's even worth having.

Changed 6 years ago by judah

OK, the visual bell now works on POSIX.

Changed 6 years ago by anonymous

Audible bell works on Win32 now. Using the MessageBeep? function produces a much nicer effect that's configurable in the Sound Control Panel.

Changed 6 years ago by judah

  • milestone changed from 0.2.2 to 0.3 branch

Changed 6 years ago by judah

The relevant Win32 functions for implementing a visual bell "flash" manually appear to be:

FillConsoleAttribute
ReadConsoleOutputAttribute

Changed 6 years ago by judah

  • milestone 0.3.* deleted
Note: See TracTickets for help on using tickets.