diff --git a/flumi/Scripts/Browser/Tab.gd b/flumi/Scripts/Browser/Tab.gd index 2a58f02..9c1c68f 100644 --- a/flumi/Scripts/Browser/Tab.gd +++ b/flumi/Scripts/Browser/Tab.gd @@ -60,6 +60,23 @@ func _process(_delta): else: close_button.add_theme_stylebox_override("normal", CLOSE_BUTTON_NORMAL) +func _input(event): + # make sure we are hovering over the tab + if mouse_over_tab: + if event is InputEventMouseButton and event.button_index == MOUSE_BUTTON_MIDDLE and event.pressed: + var close_tween = create_tween() + close_tween.set_ease(Tween.EASE_IN) + close_tween.set_trans(Tween.TRANS_CUBIC) + + close_tween.parallel().tween_property(self, "custom_minimum_size:x", 0.0, 0.15) + close_tween.parallel().tween_property(self, "size:x", 0.0, 0.15) + close_tween.parallel().tween_property(button, "custom_minimum_size:x", 0.0, 0.15) + close_tween.parallel().tween_property(button, "size:x", 0.0, 0.15) + + await close_tween.finished + tab_closed.emit() + queue_free() + func set_title(title: String) -> void: button.text = title button.set_meta("original_text", title)