forge icon indicating copy to clipboard operation
forge copied to clipboard

bug: some windows cannot be tiled (neovide, blackbox so far)

Open mystilleef opened this issue 2 years ago • 6 comments

Description

Neovide is a GUI frontend for the Neovim text editor.

Unfortunately, Forge forces Neovide to launch in a permanent floating window that can't be toggled.

Overriding Neovide's wmclass and mode in $XDG_CONFIG/forge/windows.json doesn't work.

Is there a way to force Neovide to launch tiled instead of floated?

Problem Explanation

The problem is that Forge insists on launching Neovide in a floating window. Floating mode also cannot be toggled.

Expected Behavior

Forge should launch Neovide in a tiled window. Or provide a way to force Neovide to launch tiled.

Reprodution

Install Neovide. Launch Neovide on Wayland in Gnome Shell with the following command.

env -u WYALAND_DISPLAY neovide --frame="none" --multigrid

Details

Mark with [ ] all that applies:

It happens with any application?

  • [ ] Yes, it applies to any application.
  • [x] No. Only with the following applications:
    • VSCode, Terminal, ...
  • [ ] It works with the following applications that I have tried:
    • Fill in a list with any application that applies

It happens only on one computer?

  • [x] I don't know.
  • [ ] No. I have tried it on more than one computer.

It happens only with some specific gnome configuration?

  • [x] I don't think that the configuration matters.
  • [ ] Yes. Only if the following config is set up:
    • Fill in a list with any configuration tha applies.

It happens only with some specific extension installed?

  • [x] I don't think that the installed extensions affect the bug/behavior.
  • [ ] Yes. Only if the following gnome extension is installed:
    • Fill in a list with any extension tha applies.
    • Fill in also any detail about the extensions that applies.

Diagnostics

It happens at all times in Gnome Shell on Wayland.

Fill in all information that applies:

Environment

  • Distro version : ... (Fedora Linux 38 (Workstation Edition))
  • GNOME Shell version: ... (GNOME Shell 44.5)
  • Forge source : ... (extensions.gnome.org)
  • Forge version : ... (Version 72)

Display Setup

Displays:

  1. 1 ultra-widescreen monitor
  2. 3440x1440 (21:) 100hz + 4k monitor

Extension Configuration

Command: dconf dump /org/gnome/shell/extensions/forge/

[/]
auto-split-enabled=true
css-last-update=uint32 37
css-updated='1696197313142'
focus-border-toggle=true
quick-settings-enabled=false
showtab-decoration-enabled=false
stacked-tiling-mode-enabled=false
tabbed-tiling-mode-enabled=true
tiling-mode-enabled=true
window-gap-size=uint32 4
window-gap-size-increment=uint32 2
workspace-skip-tile=''

[keybindings]
con-split-horizontal=['<Control><Alt><Super>h']
con-split-layout-toggle=['<Super>c']
con-split-vertical=['<Control><Alt><Super>v']
con-stacked-layout-toggle=['<Control><Alt><Super>s']
con-tabbed-layout-toggle=['<Control><Alt><Super>t']
con-tabbed-showtab-decoration-toggle=['<Shift><Control><Alt><Super>t']
focus-border-toggle=@as []
mod-mask-mouse-tile='None'
prefs-tiling-toggle=@as []
window-focus-down=['<Control><Alt>j']
window-focus-left=['<Control><Alt>h']
window-focus-right=['<Control><Alt>l']
window-focus-up=['<Control><Alt>k']
window-gap-size-decrease=@as []
window-gap-size-increase=@as []
window-move-down=@as []
window-move-left=@as []
window-move-right=@as []
window-move-up=@as []
window-resize-bottom-decrease=@as []
window-resize-bottom-increase=@as []
window-resize-left-decrease=@as []
window-resize-left-increase=@as []
window-resize-right-decrease=@as []
window-resize-right-increase=@as []
window-resize-top-decrease=@as []
window-resize-top-increase=@as []
window-snap-center=['<Super>Return']
window-snap-one-third-left=@as []
window-snap-one-third-right=@as []
window-snap-two-third-left=@as []
window-snap-two-third-right=@as []
window-swap-down=['<Super>j']
window-swap-last-active=@as []
window-swap-left=['<Super>h']
window-swap-right=['<Super>l']
window-swap-up=['<Super>k']
window-toggle-always-float=['<Control><Super>o']
window-toggle-float=['<Super>o']
workspace-active-tile-toggle=@as []

Enabled Extensions

Command: gnome-extensions list --enabled --details

[email protected]
  Name: Hot Edge
  Description: Add a hot edge that activates the overview to the bottom of the screen. This minimizes the pointer travel required to access the dash when using the new GNOME Shell 40 overview layout.

Now with preference dialog!

You can find more documentation at https://github.com/jdoda/hotedge/blob/main/README.md and report issues at https://github.com/jdoda/hotedge/issues .
  Path: /home/lateef/.local/share/gnome-shell/extensions/[email protected]
  URL: https://github.com/jdoda/hotedge
  Version: 17
  State: ENABLED

[email protected]
  Name: Forge
  Description: Tiling and window manager for GNOME

Please report bugs/issues on https://github.com/forge-ext/forge/issues
  Path: /home/lateef/.local/share/gnome-shell/extensions/[email protected]
  URL: https://github.com/forge-ext/forge
  Version: 72
  State: ENABLED

[email protected]
  Name: GSConnect
  Description: GSConnect is a complete implementation of KDE Connect especially for GNOME Shell with Nautilus, Chrome and Firefox integration. It does not rely on the KDE Connect desktop application and will not work with it installed.

KDE Connect allows devices to securely share content like notifications or files and other features like SMS messaging and remote control. The KDE Connect team has applications for Linux, BSD, Android, Sailfish, iOS, macOS and Windows.

Please report issues on Github!
  Path: /home/lateef/.local/share/gnome-shell/extensions/[email protected]
  URL: https://github.com/GSConnect/gnome-shell-extension-gsconnect/wiki
  Version: 55
  State: ENABLED

rounded-window-corners@yilozt
  Name: Rounded Window Corners
  Description: Add rounded corners for all windows
  Path: /home/lateef/.local/share/gnome-shell/extensions/rounded-window-corners@yilozt
  URL: https://github.com/yilozt/rounded-window-corners
  Version: 11
  State: ENABLED

[email protected]
  Name: Background Logo
  Description: Overlay a tasteful logo on the background to enhance the user experience
  Path: /usr/share/gnome-shell/extensions/[email protected]
  URL: https://pagure.io/background-logo-extension
  State: ENABLED

[email protected]
  Name: GPaste
  Description: Clipboard management system
  Path: /usr/share/gnome-shell/extensions/[email protected]
  URL: http://github.com/Keruspe/GPaste
  State: ENABLED

Graphics information

Command: lshw -C display

 *-display
       description: VGA compatible controller
       product: Iris Graphics 540
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       logical name: /dev/fb0
       version: 0a
       width: 64 bits
       clock: 33MHz
       capabilities: pciexpress msi pm vga_controller bus_master cap_list rom fb
       configuration: depth=32 driver=i915 latency=0 resolution=3440,1440
       resources: irq:132 memory:de000000-deffffff memory:80000000-bfffffff ioport:f000(size=64) memory:c0000-dffff

mystilleef avatar Oct 03 '23 07:10 mystilleef

Hi @mystilleef, will it run by removing the extra params?

env -u WYALAND_DISPLAY neovide

jmmaranan avatar Oct 04 '23 19:10 jmmaranan

Hi @mystilleef, will it run by removing the extra params?

env -u WYALAND_DISPLAY neovide

Same issue without the parameters.

mystilleef avatar Oct 04 '23 20:10 mystilleef

The same thing happened to me but with Black Box terminal installed via flatpak. I tried some keyboard shortcut to use for tmux and suddenly the tiling mode turned off. I thought that I somehow turned off the extension, but that was not the case.. I restarted the computer, installed and uninstalled the Black Box and the extension, but since then, whenever I open the Black Box, it is in floating mode..

grey4owl avatar Oct 19 '23 17:10 grey4owl

Hi @grey4owl - I am using BlackBox as my terminal in Silverblue. Does pressing Ctrl + Shift + C help? The windows.json can also be edited to remove them from floating. https://github.com/forge-ext/forge#forge-override-paths

jmmaranan avatar Oct 19 '23 21:10 jmmaranan

@jmmaranan Still not working, I knew about windows.json but it is not in the file at all..

grey4owl avatar Oct 20 '23 15:10 grey4owl

Hi @grey4owl - there is an issue with reading the $HOME/.config/forge/config/windows.json path. It is reading from the .local/share/gnome-shell/extensions/[email protected]/config/windows.json instead. While that issue is not fixed, can you check that other file instead?

jmmaranan avatar Oct 21 '23 21:10 jmmaranan