Compare commits

...

2 Commits
1.0.17 ... main

Author SHA1 Message Date
Srar
b499667cbb fix: copy hotkey conflicts with ctrlc 2025-12-12 09:28:29 +08:00
hstyi
1d596e18df chore: disable opengl 2025-07-03 08:48:48 +08:00
3 changed files with 11 additions and 11 deletions

View File

@@ -141,10 +141,6 @@ application {
args.add("-Dapp-version=${project.version}") args.add("-Dapp-version=${project.version}")
if (os.isLinux) {
args.add("-Dsun.java2d.opengl=true")
}
applicationDefaultJvmArgs = args applicationDefaultJvmArgs = args
mainClass = "app.termora.MainKt" mainClass = "app.termora.MainKt"
} }
@@ -392,10 +388,6 @@ tasks.register<Exec>("jpackage") {
options.add("--add-exports java.desktop/com.apple.eawt=ALL-UNNAMED") options.add("--add-exports java.desktop/com.apple.eawt=ALL-UNNAMED")
} }
if (os.isLinux) {
options.add("-Dsun.java2d.opengl=true")
}
val arguments = mutableListOf("${Jvm.current().javaHome}/bin/jpackage") val arguments = mutableListOf("${Jvm.current().javaHome}/bin/jpackage")
arguments.addAll(listOf("--runtime-image", "${buildDir}/jlink")) arguments.addAll(listOf("--runtime-image", "${buildDir}/jlink"))
arguments.addAll(listOf("--name", project.name.uppercaseFirstChar())) arguments.addAll(listOf("--name", project.name.uppercaseFirstChar()))

View File

@@ -20,6 +20,10 @@ class TerminalCopyAction : AnAction() {
override fun actionPerformed(evt: AnActionEvent) { override fun actionPerformed(evt: AnActionEvent) {
val terminalPanel = evt.getData(DataProviders.TerminalPanel) ?: return val terminalPanel = evt.getData(DataProviders.TerminalPanel) ?: return
val selectionModel = terminalPanel.terminal.getSelectionModel()
if (!selectionModel.hasSelection()) {
return
}
val text = terminalPanel.copy() val text = terminalPanel.copy()
val systemClipboard = terminalPanel.toolkit.systemClipboard val systemClipboard = terminalPanel.toolkit.systemClipboard
@@ -53,4 +57,4 @@ class TerminalCopyAction : AnAction() {
} }
} }

View File

@@ -1,5 +1,6 @@
package app.termora.terminal.panel package app.termora.terminal.panel
import app.termora.actions.TerminalCopyAction
import app.termora.keymap.KeyShortcut import app.termora.keymap.KeyShortcut
import app.termora.keymap.KeymapManager import app.termora.keymap.KeymapManager
import app.termora.terminal.ControlCharacters import app.termora.terminal.ControlCharacters
@@ -69,6 +70,7 @@ class TerminalPanelKeyAdapter(
} }
val keyStroke = KeyStroke.getKeyStrokeForEvent(e) val keyStroke = KeyStroke.getKeyStrokeForEvent(e)
val keymapActions = activeKeymap.getActionIds(KeyShortcut(keyStroke))
for (action in terminalPanel.getTerminalActions()) { for (action in terminalPanel.getTerminalActions()) {
if (action.test(keyStroke, e)) { if (action.test(keyStroke, e)) {
action.actionPerformed(e) action.actionPerformed(e)
@@ -100,7 +102,9 @@ class TerminalPanelKeyAdapter(
} }
// 如果命中了全局快捷键,那么不处理 // 如果命中了全局快捷键,那么不处理
if (keyStroke.modifiers != 0 && activeKeymap.getActionIds(KeyShortcut(keyStroke)).isNotEmpty()) { val copyShortcutWithoutSelection =
keymapActions.contains(TerminalCopyAction.COPY) && terminal.getSelectionModel().hasSelection().not()
if (keyStroke.modifiers != 0 && keymapActions.isNotEmpty() && !copyShortcutWithoutSelection) {
return return
} }
@@ -155,4 +159,4 @@ class TerminalPanelKeyAdapter(
return Character.toLowerCase(e.keyCode.toChar()) return Character.toLowerCase(e.keyCode.toChar())
} }
} }