Skip to content

Commit 976a0de

Browse files
committed
Enable using ClickGui keybind to close GUI
1 parent c5b05c8 commit 976a0de

File tree

3 files changed

+13
-1
lines changed

3 files changed

+13
-1
lines changed

src/main/kotlin/com/lambda/gui/components/QuickSearch.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import com.lambda.config.Configurable
2525
import com.lambda.config.Configuration
2626
import com.lambda.event.events.KeyboardEvent
2727
import com.lambda.event.listener.UnsafeListener.Companion.listenUnsafe
28+
import com.lambda.gui.LambdaScreen
2829
import com.lambda.gui.Layout
2930
import com.lambda.gui.dsl.ImGuiBuilder
3031
import com.lambda.module.Module
@@ -61,6 +62,7 @@ object QuickSearch {
6162

6263
init {
6364
listenUnsafe<KeyboardEvent.Press> { event ->
65+
if (mc.currentScreen !is LambdaScreen) return@listenUnsafe
6466
handleKeyPress(event)
6567
}
6668
}

src/main/kotlin/com/lambda/module/Module.kt

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,16 @@ import com.lambda.event.listener.Listener
3131
import com.lambda.event.listener.SafeListener
3232
import com.lambda.event.listener.SafeListener.Companion.listen
3333
import com.lambda.event.listener.UnsafeListener
34+
import com.lambda.gui.DearImGui
35+
import com.lambda.gui.LambdaScreen
36+
import com.lambda.module.modules.client.ClickGui
3437
import com.lambda.module.tag.ModuleTag
3538
import com.lambda.sound.LambdaSound
3639
import com.lambda.sound.SoundManager.play
3740
import com.lambda.util.Communication.info
3841
import com.lambda.util.KeyCode
3942
import com.lambda.util.Nameable
43+
import imgui.ImGui
4044

4145
/**
4246
* A [Module] is a feature or tool for the utility mod.
@@ -134,7 +138,12 @@ abstract class Module(
134138
if (!event.isPressed) return@listen
135139
if (keybind == KeyCode.UNBOUND) return@listen
136140
if (event.translated != keybind) return@listen
137-
if (mc.currentScreen != null) return@listen
141+
if (mc.currentScreen != null) {
142+
if (ClickGui.isEnabled && mc.currentScreen == LambdaScreen && !DearImGui.io.wantTextInput) {
143+
LambdaScreen.close()
144+
}
145+
return@listen
146+
}
138147

139148
toggle()
140149
}

src/main/kotlin/com/lambda/module/modules/client/ClickGui.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ object ClickGui : Module(
4141
description = "ImGui",
4242
tag = ModuleTag.CLIENT,
4343
defaultKeybind = KeyCode.Y,
44+
autoDisable = true
4445
) {
4546
private enum class Group(override val displayName: String) : NamedEnum {
4647
General("General"),

0 commit comments

Comments
 (0)