ddterm / gnome-shell-extension-ddterm

Another drop down terminal extension for GNOME Shell. With tabs. Works on Wayland natively
https://extensions.gnome.org/extension/3780/ddterm/
GNU General Public License v3.0
318 stars 27 forks source link

ddterm slow when switching monitors #1083

Open amezin opened 1 month ago

amezin commented 1 month ago

GNOME Shell version

GNOME Shell 47.1

Linux distro

Arch Linux

ddterm version

ddterm 56 revision 8c6103ba69f914cf5bb264f573a2fcf5171bcd3a Extension 56 revision 8c6103ba69f914cf5bb264f573a2fcf5171bcd3a

Session type

Wayland (echo $WAYLAND_DISPLAY output is non-empty)

Special configuration

All installed extensions

lockkeys@vaina.lt
  Name: Lock Keys
  Description: Numlock & Capslock status on the panel.
  Path: /home/amezin/.local/share/gnome-shell/extensions/lockkeys@vaina.lt
  URL: https://github.com/kazysmaster/gnome-shell-extension-lockkeys
  Version: 59
  Enabled: Yes
  State: ACTIVE

dash-to-dock@micxgx.gmail.com
  Name: Dash to Dock
  Description: A dock for the Gnome Shell. This extension moves the dash out of the overview transforming it in a dock for an easier launching of applications and a faster switching between windows and desktops. Side and bottom placement options are available.
  Path: /home/amezin/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com
  URL: https://micheleg.github.io/dash-to-dock/
  Original author: micxgx@gmail.com
  Version: 99
  Enabled: No
  State: INITIALIZED

blur-my-shell@aunetx
  Name: Blur my Shell
  Description: Adds a blur look to different parts of the GNOME Shell, including the top panel, dash and overview.

You can support my work by sponsoring me on:
- github: https://github.com/sponsors/aunetx
- ko-fi: https://ko-fi.com/aunetx

If you use Ubuntu, you may want to change the radius of the corner effect for Dash-to-Dock in preferences, else you may see unpleasantly mixed radii in your dock.

Note: if the extension shows an error after updating, please make sure to restart your session to see if it persists. This is due to a bug in gnome shell, which I can't fix by myself.
  Path: /home/amezin/.local/share/gnome-shell/extensions/blur-my-shell@aunetx
  URL: https://github.com/aunetx/blur-my-shell
  Version: 67
  Enabled: No
  State: INITIALIZED

activate_gnome@isjerryxiao
  Name: Activate GNOME
  Description: Shows Activate GNOME watermark on your screen. Migrating from Windows has never been easier!
  Path: /home/amezin/.local/share/gnome-shell/extensions/activate_gnome@isjerryxiao
  URL: https://github.com/isjerryxiao/gnome-shell-extension-activate-gnome
  Version: 12
  Enabled: No
  State: INITIALIZED

ddterm@amezin.github.com
  Name: ddterm
  Description: Another drop down terminal extension for GNOME Shell. With tabs. Works on Wayland natively
  Path: /home/amezin/.local/share/gnome-shell/extensions/ddterm@amezin.github.com
  URL: https://github.com/ddterm/gnome-shell-extension-ddterm
  Version: 56
  Enabled: Yes
  State: ACTIVE

apps-menu@gnome-shell-extensions.gcampax.github.com
  Name: Apps Menu
  Description: Add a category-based menu for apps.
This extension is part of Classic Mode and is officially supported by GNOME. Please do not report bugs using the form below, use GNOME's GitLab instance instead.
  Path: /usr/share/gnome-shell/extensions/apps-menu@gnome-shell-extensions.gcampax.github.com
  URL: https://gitlab.gnome.org/GNOME/gnome-shell-extensions
  Enabled: No
  State: INITIALIZED

auto-move-windows@gnome-shell-extensions.gcampax.github.com
  Name: Auto Move Windows
  Description: Move applications to specific workspaces when they create windows.
  Path: /usr/share/gnome-shell/extensions/auto-move-windows@gnome-shell-extensions.gcampax.github.com
  URL: https://gitlab.gnome.org/GNOME/gnome-shell-extensions
  Enabled: No
  State: INITIALIZED

drive-menu@gnome-shell-extensions.gcampax.github.com
  Name: Removable Drive Menu
  Description: A status menu for accessing and unmounting removable devices.
  Path: /usr/share/gnome-shell/extensions/drive-menu@gnome-shell-extensions.gcampax.github.com
  URL: https://gitlab.gnome.org/GNOME/gnome-shell-extensions
  Enabled: Yes
  State: ACTIVE

launch-new-instance@gnome-shell-extensions.gcampax.github.com
  Name: Launch new instance
  Description: Always launch a new instance when clicking in the dash or the application view.
This extension is part of Classic Mode and is officially supported by GNOME. Please do not report bugs using the form below, use GNOME's GitLab instance instead.
  Path: /usr/share/gnome-shell/extensions/launch-new-instance@gnome-shell-extensions.gcampax.github.com
  URL: https://gitlab.gnome.org/GNOME/gnome-shell-extensions
  Enabled: No
  State: INITIALIZED

native-window-placement@gnome-shell-extensions.gcampax.github.com
  Name: Native Window Placement
  Description: Arrange windows in overview in a more compact way.
  Path: /usr/share/gnome-shell/extensions/native-window-placement@gnome-shell-extensions.gcampax.github.com
  URL: https://gitlab.gnome.org/GNOME/gnome-shell-extensions
  Enabled: No
  State: INITIALIZED

places-menu@gnome-shell-extensions.gcampax.github.com
  Name: Places Status Indicator
  Description: Add a menu for quickly navigating places in the system.
This extension is part of Classic Mode and is officially supported by GNOME. Please do not report bugs using the form below, use GNOME's GitLab instance instead.
  Path: /usr/share/gnome-shell/extensions/places-menu@gnome-shell-extensions.gcampax.github.com
  URL: https://gitlab.gnome.org/GNOME/gnome-shell-extensions
  Enabled: No
  State: INITIALIZED

screenshot-window-sizer@gnome-shell-extensions.gcampax.github.com
  Name: Screenshot Window Sizer
  Description: Resize windows for GNOME Software screenshots
  Path: /usr/share/gnome-shell/extensions/screenshot-window-sizer@gnome-shell-extensions.gcampax.github.com
  URL: https://gitlab.gnome.org/GNOME/gnome-shell-extensions
  Enabled: No
  State: INITIALIZED

user-theme@gnome-shell-extensions.gcampax.github.com
  Name: User Themes
  Description: Load shell themes from user directory.
  Path: /usr/share/gnome-shell/extensions/user-theme@gnome-shell-extensions.gcampax.github.com
  URL: https://gitlab.gnome.org/GNOME/gnome-shell-extensions
  Enabled: No
  State: INITIALIZED

window-list@gnome-shell-extensions.gcampax.github.com
  Name: Window List
  Description: Display a window list at the bottom of the screen.
This extension is part of Classic Mode and is officially supported by GNOME. Please do not report bugs using the form below, use GNOME's GitLab instance instead.
  Path: /usr/share/gnome-shell/extensions/window-list@gnome-shell-extensions.gcampax.github.com
  URL: https://gitlab.gnome.org/GNOME/gnome-shell-extensions
  Enabled: No
  State: INITIALIZED

windowsNavigator@gnome-shell-extensions.gcampax.github.com
  Name: windowNavigator
  Description: Allow keyboard selection of windows and workspaces in overlay mode. <Ctrl>number selects a workspace, and <Alt>number selects a window.
  Path: /usr/share/gnome-shell/extensions/windowsNavigator@gnome-shell-extensions.gcampax.github.com
  URL: https://gitlab.gnome.org/GNOME/gnome-shell-extensions
  Original author: zaspire@rambler.ru
  Enabled: No
  State: INITIALIZED

workspace-indicator@gnome-shell-extensions.gcampax.github.com
  Name: Workspace Indicator
  Description: Put an indicator on the panel signaling in which workspace you are, and give you the possibility of switching to another one.
  Path: /usr/share/gnome-shell/extensions/workspace-indicator@gnome-shell-extensions.gcampax.github.com
  URL: https://gitlab.gnome.org/GNOME/gnome-shell-extensions
  Enabled: No
  State: INITIALIZED

light-style@gnome-shell-extensions.gcampax.github.com
  Name: Light Style
  Description: Switch default to light style
  Path: /usr/share/gnome-shell/extensions/light-style@gnome-shell-extensions.gcampax.github.com
  URL: https://gitlab.gnome.org/GNOME/gnome-shell-extensions
  Enabled: No
  State: INITIALIZED

appindicatorsupport@rgcjonas.gmail.com
  Name: AppIndicator and KStatusNotifierItem Support
  Description: Adds AppIndicator, KStatusNotifierItem and legacy Tray icons support to the Shell
  Path: /usr/share/gnome-shell/extensions/appindicatorsupport@rgcjonas.gmail.com
  URL: https://github.com/ubuntu/gnome-shell-extension-appindicator
  Enabled: Yes
  State: ACTIVE

arcmenu@arcmenu.com
  Name: ArcMenu
  Description: Application Menu Extension for GNOME
  Path: /usr/share/gnome-shell/extensions/arcmenu@arcmenu.com
  URL: https://gitlab.com/arcmenu/ArcMenu
  Version: 61 (61)
  Enabled: No
  State: INITIALIZED

caffeine@patapon.info
  Name: Caffeine
  Description: Disable the screensaver and auto suspend
  Path: /usr/share/gnome-shell/extensions/caffeine@patapon.info
  URL: https://github.com/eonpatapon/gnome-shell-extension-caffeine
  Version: 55
  Enabled: Yes
  State: ACTIVE

system-monitor@gnome-shell-extensions.gcampax.github.com
  Name: System Monitor
  Description: Monitor system from the top bar
  Path: /usr/share/gnome-shell/extensions/system-monitor@gnome-shell-extensions.gcampax.github.com
  URL: https://gitlab.gnome.org/GNOME/gnome-shell-extensions
  Enabled: No
  State: INITIALIZED

dash-to-panel@jderose9.github.com
  Name: Dash to Panel
  Description: An icon taskbar for the Gnome Shell. This extension moves the dash into the gnome main panel so that the application launchers and system tray are combined into a single panel, similar to that found in KDE Plasma and Windows 7+. A separate dock is no longer needed for easy access to running and favorited applications.

For a more traditional experience, you may also want to use Tweak Tool to enable Windows > Titlebar Buttons > Minimize & Maximize.

For the best support, please report any issues on Github. Dash-to-panel is developed and maintained by @jderose9 and @charlesg99.
  Path: /usr/share/gnome-shell/extensions/dash-to-panel@jderose9.github.com
  URL: https://github.com/home-sweet-gnome/dash-to-panel
  Version: 64
  Enabled: Yes
  State: ACTIVE

accerciser@accerciser.gnome.org
  Name: Accerciser
  Description: Provides information to Accerciser Accessibility Explorer
  Path: /usr/share/gnome-shell/extensions/accerciser@accerciser.gnome.org
  Enabled: No
  State: INITIALIZED

status-icons@gnome-shell-extensions.gcampax.github.com
  Name: Status Icons
  Description: Show status icons in the top bar
  Path: /usr/share/gnome-shell/extensions/status-icons@gnome-shell-extensions.gcampax.github.com
  URL: https://gitlab.gnome.org/GNOME/gnome-shell-extensions
  Enabled: No
  State: INITIALIZED

ddterm settings dump

[/]
audible-bell=true
background-color='rgb(23,20,33)'
background-opacity=0.90000000000000002
bold-color='#000000'
bold-color-same-as-fg=true
bold-is-bright=true
command='user-shell'
cursor-background-color='#000000'
cursor-colors-set=false
cursor-foreground-color='#ffffff'
custom-command='ssh localhost'
custom-font='Ubuntu Mono 10'
ddterm-activate-hotkey=@as []
ddterm-toggle-hotkey=['F12']
detect-urls=true
detect-urls-as-is=true
detect-urls-file=true
force-x11-gdk-backend=false
foreground-color='rgb(208,207,204)'
hide-animation='linear'
hide-animation-duration=0.20000000000000001
hide-when-focus-lost=false
hide-window-on-esc=false
highlight-background-color='#000000'
highlight-colors-set=false
highlight-foreground-color='#ffffff'
new-tab-button=true
new-tab-front-button=true
notebook-border=true
override-window-animation=true
palette=['rgb(23,20,33)', 'rgb(192,28,40)', 'rgb(38,162,105)', 'rgb(162,115,76)', 'rgb(18,72,139)', 'rgb(163,71,186)', 'rgb(42,161,179)', 'rgb(208,207,204)', 'rgb(94,92,100)', 'rgb(246,97,81)', 'rgb(51,209,122)', 'rgb(233,173,12)', 'rgb(42,123,222)', 'rgb(192,97,203)', 'rgb(51,199,222)', 'rgb(255,255,255)']
panel-icon-type='toggle-and-menu-button'
preserve-working-directory=true
scroll-on-output=false
scrollback-unlimited=true
shortcut-focus-other-pane=@as []
shortcut-terminal-copy-html=@as []
show-animation='linear'
show-animation-duration=0.10000000000000001
show-scrollbar=true
tab-close-buttons=true
tab-expand=false
tab-label-ellipsize-mode='none'
tab-label-width=0.10000000000000001
tab-policy='always'
tab-position='bottom'
tab-show-shortcuts=true
tab-switcher-popup=true
theme-variant='dark'
transparent-background=true
use-system-font=true
use-theme-colors=false
window-above=true
window-maximize=false
window-monitor='current'
window-monitor-connector='DP-2'
window-position='top'
window-size=0.82129277566539927
window-skip-taskbar=true
window-stick=true
window-type-hint='normal'

Description

ddterm is unresponsive for ~5 seconds when switching between monitors

Steps to reproduce:

  1. Set window-monitor to current
  2. Move mouse cursor to another monitor (not the one where ddterm was shown previously)
amezin commented 1 month ago
gnome-shell[47314]: Spurious clutter_actor_allocate called for actor 0x56222c50f700/unnamed [ClutterActor] which isn't a descendent of the stage!
gnome-shell[47314]: Spurious clutter_actor_allocate called for actor 0x562234105760/unnamed [ClutterActor] which isn't a descendent of the stage!
...
gnome-shell[47314]: surface_state_changed: assertion 'wl_window->has_last_sent_configuration' failed
amezin commented 1 month ago

Maybe window geometry updates should cause delayed move/resize (i.e. from Meta.idle_add), not immediate

magnetik commented 1 month ago

Not sure if related but since a recent update (I guess), ddterm is frequently killed with signal 15 while it never happened before. My laptop is connected to two monitors and the kill always happen when the two monitors goes to sleep

amezin commented 1 month ago

@magnetik Please, create a separate bug report. And please try to collect logs when the issue occurs - i.e. start journalctl -f in GNOME Terminal/Console, and wait or make the monitors go to sleep.

magnetik commented 1 month ago

Will do, sorry if it added some confusion!

amezin commented 3 weeks ago

Not reproducible anymore - not sure what changed

amezin commented 3 weeks ago

Incomplete steps to reproduce:

  1. Run a game using gamescope
  2. Set window-monitor to current
  3. Move mouse cursor to another monitor (not the one where ddterm was shown previously)

Persists until ddterm app is restarted. Maybe a Gtk 3 issue.