wez / wezterm

A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust
https://wezfurlong.org/wezterm/
Other
18.1k stars 808 forks source link

Ctrl+Scrolllock crashes Wezterm #6006

Open thievish-coffee-trio-comrade opened 3 months ago

thievish-coffee-trio-comrade commented 3 months ago

What Operating System(s) are you seeing this problem on?

Windows

Which Wayland compositor or X11 Window manager(s) are you using?

No response

WezTerm version

20240203-110809-5046fc22

Did you try the latest nightly build to see if the issue is better (or worse!) than your current version?

No, and I'll explain why below

Describe the bug

Hello,

first of all, thank you very much for Wezterm. I really enjoy using it.

I think my bug is a very niche thing. Basically I have to use Windows at work. To still keep my workflow I use a i3-clone called GlazeWM. And I remap my Win-Key -> Scroll-lock (with Sharpkeys), so I can use it like in i3.

Everything works fine, except of Wezterm.

When I "fat-finger" Ctrl+Win (now Scroll) together, it crashes immediatelly.

No other program, terminal, etc. does this.

I already quickly tried to disable key raw:3, like it is mentioned in the docs. https://wezfurlong.org/wezterm/config/keys.html#configuring-key-assignments But the issue persists.

I tried using alacritty or some other terminal, but (at least on Windows) emacs -nw sucks in them. In Wezterm I get the best experience.

Again, I don't think is an urgent bug.

Thanks in advance.

To Reproduce

No response

Configuration

I almost use no config. Only changed theme and font, etc. nothing special.

Expected Behavior

No response

Logs

13:54:31.907  INFO   wezterm_gui::termwindow::keyevent      > win32: Encoded input as "\u{1b}[17;29;0;1;8;1_"
13:54:32.180  DEBUG  wezterm_gui::termwindow                > RawKeyEvent(RawKeyEvent { key: RawCode(3), modifiers: CTRL | LEFT_CTRL, leds: (empty), phys_code: None, raw_code: 3, scan_code: 70, repeat_count:
1, key_is_down: true, handled: Handled(false) })
13:54:32.184  INFO   wezterm_gui::termwindow::keyevent      > key_event RawKeyEvent { key: RawCode(3), modifiers: CTRL | LEFT_CTRL, leds: (empty), phys_code: None, raw_code: 3, scan_code: 70, repeat_count: 1,
 key_is_down: true, handled: Handled(false) }
13:54:32.185  DEBUG  wezterm_gui::termwindow                > KeyEvent(KeyEvent { key: Char('\u{3}'), modifiers: CTRL | LEFT_CTRL, leds: (empty), repeat_count: 1, key_is_down: true, raw: Some(RawKeyEvent { ke
y: RawCode(3), modifiers: CTRL | LEFT_CTRL, leds: (empty), phys_code: None, raw_code: 3, scan_code: 70, repeat_count: 1, key_is_down: true, handled: Handled(false) }), win32_uni_char: Some('\u{3}') })
13:54:32.187  INFO   wezterm_gui::termwindow::keyevent      > key_event KeyEvent { key: Char('\u{3}'), modifiers: CTRL | LEFT_CTRL, leds: (empty), repeat_count: 1, key_is_down: true, raw: Some(RawKeyEvent { k
ey: RawCode(3), modifiers: CTRL | LEFT_CTRL, leds: (empty), phys_code: None, raw_code: 3, scan_code: 70, repeat_count: 1, key_is_down: true, handled: Handled(false) }), win32_uni_char: Some('\u{3}') }
13:54:32.188  INFO   wezterm_gui::termwindow::keyevent      > win32: Encoded input as "\u{1b}[3;70;3;1;8;1_"
13:54:32.189  DEBUG  wezterm_gui::termwindow                > NeedRepaint
13:54:32.191  DEBUG  wezterm_gui::termwindow::render::paint > paint_impl before call_draw elapsed=131.6µs
13:54:32.192  DEBUG  wezterm_gui::termwindow::render::paint > paint_impl elapsed=1.6917ms, fps=0.44986764
13:54:32.194  DEBUG  mux::localpane                         > child terminated, new state is Dead
13:54:32.197  DEBUG  mux                                    > remove_tab_internal tab 0
13:54:32.198  DEBUG  mux                                    > panes to remove: []
13:54:32.200  DEBUG  mux                                    > remove_window_internal 0
13:54:32.203  DEBUG  mux                                    > removing pane 0
13:54:32.205  DEBUG  mux                                    > killing pane 0
13:54:32.207  DEBUG  mux::localpane                         > killing process in pane 0, state is Dead
13:54:32.215  DEBUG  wezterm_gui::frontend                  > workspace is default, fixup windows
13:54:32.216  DEBUG  wezterm_gui::termwindow                > PaneOutput: wanted mux_window_id=0 from mux, but was not found, cancel mux subscription
13:54:32.217  DEBUG  mux                                    > removing pane 0
13:54:32.219  DEBUG  wezterm_gui::termwindow                > Notification(Any { .. })
13:54:32.220  DEBUG  wezterm_gui::termwindow                > Notification(Any { .. })
13:54:32.224  DEBUG  wezterm_gui::termwindow                > FocusChanged(false)
13:54:32.232  DEBUG  wezterm_gui::termwindow                > Destroyed
13:54:32.235  DEBUG  wezterm_gui::termwindow                > Notification(Any { .. })
13:54:32.238  DEBUG  wezterm_gui::frontend                  > workspace is default, fixup windows

Anything else?

No response

thievish-coffee-trio-comrade commented 1 month ago

I wanted to add, that Ctrl+Scrolllock does not "crash" wezterm. But rather closes the current tab.