Move bell to main terminal

This commit is contained in:
Leroy Hopson 2021-07-13 08:16:34 +07:00
parent e8c27f2796
commit 6afaa55914
No known key found for this signature in database
GPG key ID: D2747312A6DB51AA
3 changed files with 29 additions and 31 deletions

View file

@ -2,31 +2,6 @@ extends "res://addons/godot_xterm/nodes/terminal/terminal.gd"
onready var pty = $PTY
var _next_bell := true
func _ready():
pty.fork(OS.get_environment("SHELL"))
func _on_Terminal_bell():
# Limit the rate at which bells can be rung in case the user does something crazy such as
# `while true; do echo -e "\a"; done`
# which causes a real mess if we keep adding AudioStreamPlayers.
if not _next_bell:
return
var player := AudioStreamPlayer.new()
player.stream = preload("res://addons/godot_xterm/themes/audio/bell.wav")
player.autoplay = true
player.connect("finished", self, "_on_player_finished", [player])
add_child(player)
_next_bell = false
func _on_player_finished(player: AudioStreamPlayer):
player.queue_free()
func _on_Timer_timeout():
_next_bell = true

View file

@ -21,9 +21,4 @@ env = {
"TERM": "xterm-256color"
}
[node name="Timer" type="Timer" parent="."]
wait_time = 0.1
autostart = true
[connection signal="bell" from="." to="." method="_on_Terminal_bell"]
[connection signal="timeout" from="Timer" to="." method="_on_Timer_timeout"]