forge-ext / forge

Forge - Tiling and Window Manager for Gnome-Shell
GNU General Public License v3.0
921 stars 49 forks source link

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

Open mystilleef opened 1 year ago

mystilleef commented 1 year ago

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?

It happens only on one computer?

It happens only with some specific gnome configuration?

It happens only with some specific extension installed?

Diagnostics

It happens at all times in Gnome Shell on Wayland.

Fill in all information that applies:

Environment

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

hotedge@jonathan.jdoda.ca
  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/hotedge@jonathan.jdoda.ca
  URL: https://github.com/jdoda/hotedge
  Version: 17
  State: ENABLED

forge@jmmaranan.com
  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/forge@jmmaranan.com
  URL: https://github.com/forge-ext/forge
  Version: 72
  State: ENABLED

gsconnect@andyholmes.github.io
  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/gsconnect@andyholmes.github.io
  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

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

GPaste@gnome-shell-extensions.gnome.org
  Name: GPaste
  Description: Clipboard management system
  Path: /usr/share/gnome-shell/extensions/GPaste@gnome-shell-extensions.gnome.org
  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
jmmaranan commented 1 year ago

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

env -u WYALAND_DISPLAY neovide
mystilleef commented 1 year ago

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

env -u WYALAND_DISPLAY neovide

Same issue without the parameters.

grey4owl commented 1 year ago

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..

jmmaranan commented 1 year ago

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

grey4owl commented 1 year ago

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

jmmaranan commented 1 year ago

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/forge@jmmaranan.com/config/windows.json instead. While that issue is not fixed, can you check that other file instead?