fix: beep on Ubuntu (#16350)

beeps on Linux are made by writing BEL to /dev/console,
which requires elevated permissions on Ubuntu. So if
opening /dev/console fails, fall back to /dev/tty.
This commit is contained in:
Charles Kerr 2019-01-10 15:43:07 -06:00 committed by Shelley Vohr
parent d0ae89befa
commit 52852b963a

View file

@ -140,11 +140,14 @@ bool MoveItemToTrash(const base::FilePath& full_path) {
void Beep() {
// echo '\a' > /dev/console
FILE* console = fopen("/dev/console", "r");
if (console == NULL)
return;
fprintf(console, "\a");
fclose(console);
FILE* fp = fopen("/dev/console", "a");
if (fp == nullptr) {
fp = fopen("/dev/tty", "a");
}
if (fp != nullptr) {
fprintf(fp, "\a");
fclose(fp);
}
}
bool GetDesktopName(std::string* setme) {