This app provides monitoring and information features for the common freifunk user and the technical stuff of a freifunk community.
Code base is taken from a TUM Practical Course project and added here to see if Freifunk Altdorf can use it.
https://www.freifunk-altdorf.de
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
553 B
39 lines
553 B
'use strict'; |
|
const restoreCursor = require('restore-cursor'); |
|
|
|
let hidden = false; |
|
|
|
exports.show = stream => { |
|
const s = stream || process.stderr; |
|
|
|
if (!s.isTTY) { |
|
return; |
|
} |
|
|
|
hidden = false; |
|
s.write('\u001b[?25h'); |
|
}; |
|
|
|
exports.hide = stream => { |
|
const s = stream || process.stderr; |
|
|
|
if (!s.isTTY) { |
|
return; |
|
} |
|
|
|
restoreCursor(); |
|
hidden = true; |
|
s.write('\u001b[?25l'); |
|
}; |
|
|
|
exports.toggle = (force, stream) => { |
|
if (force !== undefined) { |
|
hidden = force; |
|
} |
|
|
|
if (hidden) { |
|
exports.show(stream); |
|
} else { |
|
exports.hide(stream); |
|
} |
|
};
|
|
|