Skip to content

gtk: implement command palette #7167

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 25 additions & 17 deletions po/com.mitchellh.ghostty.pot
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: com.mitchellh.ghostty\n"
"Report-Msgid-Bugs-To: [email protected]\n"
"POT-Creation-Date: 2025-04-22 08:57-0700\n"
"POT-Creation-Date: 2025-04-23 16:58+0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <[email protected]>\n"
Expand Down Expand Up @@ -50,7 +50,7 @@ msgstr ""

#: src/apprt/gtk/ui/1.5/config-errors-dialog.blp:10
#: src/apprt/gtk/ui/1.0/menu-surface-context_menu.blp:97
#: src/apprt/gtk/ui/1.0/menu-window-titlebar_menu.blp:95
#: src/apprt/gtk/ui/1.0/menu-window-titlebar_menu.blp:100
msgid "Reload Configuration"
msgstr ""

Expand Down Expand Up @@ -78,6 +78,10 @@ msgstr ""
msgid "Split Right"
msgstr ""

#: src/apprt/gtk/ui/1.5/command-palette.blp:16
msgid "Execute a command…"
msgstr ""

#: src/apprt/gtk/ui/1.0/menu-surface-context_menu.blp:6
#: src/apprt/gtk/ui/1.0/menu-window-titlebar_menu.blp:6
msgid "Copy"
Expand Down Expand Up @@ -115,7 +119,7 @@ msgstr ""

#: src/apprt/gtk/ui/1.0/menu-surface-context_menu.blp:62
#: src/apprt/gtk/ui/1.0/menu-window-titlebar_menu.blp:30
#: src/apprt/gtk/Window.zig:248
#: src/apprt/gtk/Window.zig:255
msgid "New Tab"
msgstr ""

Expand Down Expand Up @@ -143,20 +147,24 @@ msgid "Config"
msgstr ""

#: src/apprt/gtk/ui/1.0/menu-surface-context_menu.blp:92
#: src/apprt/gtk/ui/1.0/menu-window-titlebar_menu.blp:90
#: src/apprt/gtk/ui/1.0/menu-window-titlebar_menu.blp:95
msgid "Open Configuration"
msgstr ""

#: src/apprt/gtk/ui/1.0/menu-window-titlebar_menu.blp:85
msgid "Command Palette"
msgstr ""

#: src/apprt/gtk/ui/1.0/menu-window-titlebar_menu.blp:90
msgid "Terminal Inspector"
msgstr ""

#: src/apprt/gtk/ui/1.0/menu-window-titlebar_menu.blp:102
#: src/apprt/gtk/Window.zig:1003
#: src/apprt/gtk/ui/1.0/menu-window-titlebar_menu.blp:107
#: src/apprt/gtk/Window.zig:1024
msgid "About Ghostty"
msgstr ""

#: src/apprt/gtk/ui/1.0/menu-window-titlebar_menu.blp:107
#: src/apprt/gtk/ui/1.0/menu-window-titlebar_menu.blp:112
msgid "Quit"
msgstr ""

Expand Down Expand Up @@ -197,31 +205,35 @@ msgid ""
"commands may be executed."
msgstr ""

#: src/apprt/gtk/Window.zig:201
#: src/apprt/gtk/Window.zig:208
msgid "Main Menu"
msgstr ""

#: src/apprt/gtk/Window.zig:222
#: src/apprt/gtk/Window.zig:229
msgid "View Open Tabs"
msgstr ""

#: src/apprt/gtk/Window.zig:249
#: src/apprt/gtk/Window.zig:256
msgid "New Split"
msgstr ""

#: src/apprt/gtk/Window.zig:312
#: src/apprt/gtk/Window.zig:319
msgid ""
"⚠️ You're running a debug build of Ghostty! Performance will be degraded."
msgstr ""

#: src/apprt/gtk/Window.zig:744
#: src/apprt/gtk/Window.zig:765
msgid "Reloaded the configuration"
msgstr ""

#: src/apprt/gtk/Window.zig:984
#: src/apprt/gtk/Window.zig:1005
msgid "Ghostty Developers"
msgstr ""

#: src/apprt/gtk/inspector.zig:144
msgid "Ghostty: Terminal Inspector"
msgstr ""

#: src/apprt/gtk/CloseDialog.zig:47
msgid "Close"
msgstr ""
Expand Down Expand Up @@ -261,7 +273,3 @@ msgstr ""
#: src/apprt/gtk/Surface.zig:1243
msgid "Copied to clipboard"
msgstr ""

#: src/apprt/gtk/inspector.zig:144
msgid "Ghostty: Terminal Inspector"
msgstr ""
44 changes: 26 additions & 18 deletions po/zh_CN.UTF-8.po
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: com.mitchellh.ghostty\n"
"Report-Msgid-Bugs-To: [email protected]\n"
"POT-Creation-Date: 2025-04-22 08:57-0700\n"
"POT-Creation-Date: 2025-04-23 16:58+0800\n"
"PO-Revision-Date: 2025-02-27 09:16+0100\n"
"Last-Translator: Leah <[email protected]>\n"
"Language-Team: Chinese (simplified) <[email protected]>\n"
Expand Down Expand Up @@ -51,7 +51,7 @@ msgstr "忽略"

#: src/apprt/gtk/ui/1.5/config-errors-dialog.blp:10
#: src/apprt/gtk/ui/1.0/menu-surface-context_menu.blp:97
#: src/apprt/gtk/ui/1.0/menu-window-titlebar_menu.blp:95
#: src/apprt/gtk/ui/1.0/menu-window-titlebar_menu.blp:100
msgid "Reload Configuration"
msgstr "重新加载配置"

Expand Down Expand Up @@ -79,6 +79,10 @@ msgstr "向左分屏"
msgid "Split Right"
msgstr "向右分屏"

#: src/apprt/gtk/ui/1.5/command-palette.blp:16
msgid "Execute a command…"
msgstr "选择要执行的命令……"

#: src/apprt/gtk/ui/1.0/menu-surface-context_menu.blp:6
#: src/apprt/gtk/ui/1.0/menu-window-titlebar_menu.blp:6
msgid "Copy"
Expand Down Expand Up @@ -116,7 +120,7 @@ msgstr "标签页"

#: src/apprt/gtk/ui/1.0/menu-surface-context_menu.blp:62
#: src/apprt/gtk/ui/1.0/menu-window-titlebar_menu.blp:30
#: src/apprt/gtk/Window.zig:248
#: src/apprt/gtk/Window.zig:255
msgid "New Tab"
msgstr "新建标签页"

Expand Down Expand Up @@ -144,20 +148,24 @@ msgid "Config"
msgstr "配置"

#: src/apprt/gtk/ui/1.0/menu-surface-context_menu.blp:92
#: src/apprt/gtk/ui/1.0/menu-window-titlebar_menu.blp:90
#: src/apprt/gtk/ui/1.0/menu-window-titlebar_menu.blp:95
msgid "Open Configuration"
msgstr "打开配置文件"

#: src/apprt/gtk/ui/1.0/menu-window-titlebar_menu.blp:85
msgid "Command Palette"
msgstr "命令面板"

#: src/apprt/gtk/ui/1.0/menu-window-titlebar_menu.blp:90
msgid "Terminal Inspector"
msgstr "终端调试器"

#: src/apprt/gtk/ui/1.0/menu-window-titlebar_menu.blp:102
#: src/apprt/gtk/Window.zig:1003
#: src/apprt/gtk/ui/1.0/menu-window-titlebar_menu.blp:107
#: src/apprt/gtk/Window.zig:1024
msgid "About Ghostty"
msgstr "关于 Ghostty"

#: src/apprt/gtk/ui/1.0/menu-window-titlebar_menu.blp:107
#: src/apprt/gtk/ui/1.0/menu-window-titlebar_menu.blp:112
msgid "Quit"
msgstr "退出"

Expand Down Expand Up @@ -198,31 +206,35 @@ msgid ""
"commands may be executed."
msgstr "将以下内容粘贴至终端内将可能执行有害命令。"

#: src/apprt/gtk/Window.zig:201
#: src/apprt/gtk/Window.zig:208
msgid "Main Menu"
msgstr "主菜单"

#: src/apprt/gtk/Window.zig:222
#: src/apprt/gtk/Window.zig:229
msgid "View Open Tabs"
msgstr "浏览标签页"

#: src/apprt/gtk/Window.zig:249
#: src/apprt/gtk/Window.zig:256
msgid "New Split"
msgstr ""
msgstr "新建分屏"

#: src/apprt/gtk/Window.zig:312
#: src/apprt/gtk/Window.zig:319
msgid ""
"⚠️ You're running a debug build of Ghostty! Performance will be degraded."
msgstr "⚠️ Ghostty 正在以调试模式运行!性能将大打折扣。"

#: src/apprt/gtk/Window.zig:744
#: src/apprt/gtk/Window.zig:765
msgid "Reloaded the configuration"
msgstr "已重新加载配置"

#: src/apprt/gtk/Window.zig:984
#: src/apprt/gtk/Window.zig:1005
msgid "Ghostty Developers"
msgstr "Ghostty 开发团队"

#: src/apprt/gtk/inspector.zig:144
msgid "Ghostty: Terminal Inspector"
msgstr "Ghostty 终端调试器"

#: src/apprt/gtk/CloseDialog.zig:47
msgid "Close"
msgstr "关闭"
Expand Down Expand Up @@ -262,7 +274,3 @@ msgstr "分屏内正在运行中的进程将被终止。"
#: src/apprt/gtk/Surface.zig:1243
msgid "Copied to clipboard"
msgstr "已复制至剪贴板"

#: src/apprt/gtk/inspector.zig:144
msgid "Ghostty: Terminal Inspector"
msgstr "Ghostty 终端调试器"
22 changes: 20 additions & 2 deletions src/apprt/gtk/App.zig
Original file line number Diff line number Diff line change
Expand Up @@ -485,10 +485,10 @@ pub fn performAction(
.toggle_quick_terminal => return try self.toggleQuickTerminal(),
.secure_input => self.setSecureInput(target, value),
.ring_bell => try self.ringBell(target),
.toggle_command_palette => try self.toggleCommandPalette(target),

// Unimplemented
.close_all_windows,
.toggle_command_palette,
.toggle_visibility,
.cell_size,
.key_sequence,
Expand Down Expand Up @@ -742,7 +742,7 @@ fn toggleWindowDecorations(
.surface => |v| {
const window = v.rt_surface.container.window() orelse {
log.info(
"toggleFullscreen invalid for container={s}",
"toggleWindowDecorations invalid for container={s}",
.{@tagName(v.rt_surface.container)},
);
return;
Expand Down Expand Up @@ -784,6 +784,23 @@ fn ringBell(_: *App, target: apprt.Target) !void {
}
}

fn toggleCommandPalette(_: *App, target: apprt.Target) !void {
switch (target) {
.app => {},
.surface => |surface| {
const window = surface.rt_surface.container.window() orelse {
log.info(
"toggleCommandPalette invalid for container={s}",
.{@tagName(surface.rt_surface.container)},
);
return;
};

window.toggleCommandPalette();
},
}
}

fn quitTimer(self: *App, mode: apprt.action.QuitTimer) void {
switch (mode) {
.start => self.startQuitTimer(),
Expand Down Expand Up @@ -1022,6 +1039,7 @@ fn syncActionAccelerators(self: *App) !void {
try self.syncActionAccelerator("app.open-config", .{ .open_config = {} });
try self.syncActionAccelerator("app.reload-config", .{ .reload_config = {} });
try self.syncActionAccelerator("win.toggle-inspector", .{ .inspector = .toggle });
try self.syncActionAccelerator("win.toggle-command-palette", .toggle_command_palette);
try self.syncActionAccelerator("win.close", .{ .close_window = {} });
try self.syncActionAccelerator("win.new-window", .{ .new_window = {} });
try self.syncActionAccelerator("win.new-tab", .{ .new_tab = {} });
Expand Down
Loading
Loading