[BUG]: Chromium Scroll Position Resets to Top when Tiling from Single Window #705

Open
opened 2026-01-05 14:52:28 +01:00 by adam · 0 comments
Owner

Originally created by @GhadiSaab on GitHub (Nov 29, 2025).

Summary

Description

I am experiencing a forced visual refresh (scroll position resets to top) in Chromium-based browsers when transitioning from a single window (occupying 100% of the workspace) to a split state (BSP).

The issue occurs specifically when a browser window goes from being the only window on screen to being tiled (~50% width). This does not appear to be an animation artifact, but rather a state-change conflict where the browser "crashes" its viewport and re-renders the page at coordinates (0,0).

Steps to Reproduce

  1. Open a single Chrome/Edge window (Occupies 100% of workspace).
  2. Scroll down on a long page (e.g., a GitHub issue or documentation).
  3. Open a second window (e.g., Terminal or another browser tab).
  4. Komorebi tiles them 50/50.
  5. The Bug: The original browser window visually "flashes" and the scroll position instantly resets to the very top of the page.

Environment

  • OS: Windows 11
  • Komorebi Version: [PASTE VERSION HERE]
  • Browser: Chrome / Edge (Latest Stable)
  • Hiding Behaviour: Cloak

Configuration

(Confirmed valid via komorebic check)

{
  "window_hiding_behaviour": "Cloak",
  "cross_monitor_move_behaviour": "Insert",
  "default_workspace_padding": 10,
  "border": true,
  "animation": {
    "enabled": true,
    "duration": 150,
    "fps": 144,
    "style": "EaseOutExpo"
  }
}

### Version Information

komorebic 0.1.38
tag:v0.1.38
commit_hash:ffa76ea2
build_time:2025-09-13 18:40:25 +00:00
build_env:rustc 1.89.0 (29483883e 2025-08-04),stable-x86_64-pc-windows-msvc

### Komorebi Configuration

```json
{
  "$schema": "https://raw.githubusercontent.com/LGUG2Z/komorebi/v0.1.38/schema.json",
  "app_specific_configuration_path": "$Env:USERPROFILE/applications.json",
  "window_hiding_behaviour": "Minimize",
  "cross_monitor_move_behaviour": "Insert",
  "default_workspace_padding": 10,
  "default_container_padding": 10,
  "border": true,
  "border_width": 2,
  "border_offset": -1,
  "border_style": "Rounded",
  "border_colours": {
    "single": "#0099ff",
    "stack": "#0099ff",
    "monocle": "#ff00ff",
    "unfocused": "#0b0f19"
  },
  "transparency": true,
  "transparency_alpha": 230,
  "animation": {
    "enabled": true,
    "duration": 150,
    "fps": 144,
    "style": "EaseOutExpo"
  },
  "monitors": [
    {
      "workspaces": [
        { "name": "Code", "layout": "BSP" },
        { "name": "Web", "layout": "BSP" },
        { "name": "Chat", "layout": "VerticalStack" },
        { "name": "Media", "layout": "BSP" },
        { "name": "V", "layout": "Rows" }
      ]
    }
  ]
}

Hotkey Configuration

.shell powershell

Reload whkd configuration

alt + o : taskkill /f /im whkd.exe && start /b whkd # if shell is cmd

alt + o : taskkill /f /im whkd.exe; Start-Process whkd -WindowStyle hidden # if shell is pwsh / powershell
alt + shift + o : komorebic reload-configuration

alt + i : komorebic toggle-shortcuts

App shortcuts - these require shell to be pwsh / powershell

The apps will be focused if open, or launched if not open

alt + f : if ($wshell.AppActivate('Firefox') -eq $False) { start firefox }

alt + b : if ($wshell.AppActivate('Chrome') -eq $False) { start chrome }

alt + q : komorebic close
alt + m : komorebic minimize

Focus windows

alt + h : komorebic focus left
alt + j : komorebic focus down
alt + k : komorebic focus up
alt + l : komorebic focus right
alt + shift + oem_4 : komorebic cycle-focus previous # oem_4 is [
alt + shift + oem_6 : komorebic cycle-focus next # oem_6 is ]

Move windows

alt + shift + h : komorebic move left
alt + shift + j : komorebic move down
alt + shift + k : komorebic move up
alt + shift + l : komorebic move right
alt + shift + return : komorebic promote

Stack windows

alt + left : komorebic stack left
alt + down : komorebic stack down
alt + up : komorebic stack up
alt + right : komorebic stack right
alt + oem_1 : komorebic unstack # oem_1 is ;
alt + oem_4 : komorebic cycle-stack previous # oem_4 is [
alt + oem_6 : komorebic cycle-stack next # oem_6 is ]

Resize

alt + oem_plus : komorebic resize-axis horizontal increase
alt + oem_minus : komorebic resize-axis horizontal decrease
alt + shift + oem_plus : komorebic resize-axis vertical increase
alt + shift + oem_minus : komorebic resize-axis vertical decrease

Manipulate windows

alt + t : komorebic toggle-float
alt + shift + f : komorebic toggle-monocle

Window manager options

alt + shift + r : komorebic retile
alt + p : komorebic toggle-pause

Layouts

alt + x : komorebic flip-layout horizontal
alt + y : komorebic flip-layout vertical

Workspaces

alt + 1 : komorebic focus-workspace 0
alt + 2 : komorebic focus-workspace 1
alt + 3 : komorebic focus-workspace 2
alt + 4 : komorebic focus-workspace 3
alt + 5 : komorebic focus-workspace 4
alt + 6 : komorebic focus-workspace 5
alt + 7 : komorebic focus-workspace 6
alt + 8 : komorebic focus-workspace 7

Move windows across workspaces

alt + shift + 1 : komorebic move-to-workspace 0
alt + shift + 2 : komorebic move-to-workspace 1
alt + shift + 3 : komorebic move-to-workspace 2
alt + shift + 4 : komorebic move-to-workspace 3
alt + shift + 5 : komorebic move-to-workspace 4
alt + shift + 6 : komorebic move-to-workspace 5
alt + shift + 7 : komorebic move-to-workspace 6
alt + shift + 8 : komorebic move-to-workspace 7

Output of komorebic check

No KOMOREBI_CONFIG_HOME detected, defaulting to C:\Users\ghadi

Looking for configuration files in C:\Users\ghadi

Found komorebi.json; this file can be passed to the start command with the --config flag

Found C:\Users\ghadi.config\whkdrc; key bindings will be loaded from here when whkd is started, and you can start it automatically using the --whkd flag

Originally created by @GhadiSaab on GitHub (Nov 29, 2025). ### Summary ### Description I am experiencing a forced visual refresh (scroll position resets to top) in Chromium-based browsers when transitioning from a single window (occupying 100% of the workspace) to a split state (BSP). The issue occurs specifically when a browser window goes from being the only window on screen to being tiled (~50% width). This does not appear to be an animation artifact, but rather a state-change conflict where the browser "crashes" its viewport and re-renders the page at coordinates (0,0). ### Steps to Reproduce 1. Open a single Chrome/Edge window (Occupies 100% of workspace). 2. Scroll down on a long page (e.g., a GitHub issue or documentation). 3. Open a second window (e.g., Terminal or another browser tab). 4. Komorebi tiles them 50/50. 5. **The Bug:** The original browser window visually "flashes" and the scroll position instantly resets to the very top of the page. ### Environment - **OS:** Windows 11 - **Komorebi Version:** [PASTE VERSION HERE] - **Browser:** Chrome / Edge (Latest Stable) - **Hiding Behaviour:** Cloak ### Configuration *(Confirmed valid via `komorebic check`)* ```json { "window_hiding_behaviour": "Cloak", "cross_monitor_move_behaviour": "Insert", "default_workspace_padding": 10, "border": true, "animation": { "enabled": true, "duration": 150, "fps": 144, "style": "EaseOutExpo" } } ### Version Information komorebic 0.1.38 tag:v0.1.38 commit_hash:ffa76ea2 build_time:2025-09-13 18:40:25 +00:00 build_env:rustc 1.89.0 (29483883e 2025-08-04),stable-x86_64-pc-windows-msvc ### Komorebi Configuration ```json { "$schema": "https://raw.githubusercontent.com/LGUG2Z/komorebi/v0.1.38/schema.json", "app_specific_configuration_path": "$Env:USERPROFILE/applications.json", "window_hiding_behaviour": "Minimize", "cross_monitor_move_behaviour": "Insert", "default_workspace_padding": 10, "default_container_padding": 10, "border": true, "border_width": 2, "border_offset": -1, "border_style": "Rounded", "border_colours": { "single": "#0099ff", "stack": "#0099ff", "monocle": "#ff00ff", "unfocused": "#0b0f19" }, "transparency": true, "transparency_alpha": 230, "animation": { "enabled": true, "duration": 150, "fps": 144, "style": "EaseOutExpo" }, "monitors": [ { "workspaces": [ { "name": "Code", "layout": "BSP" }, { "name": "Web", "layout": "BSP" }, { "name": "Chat", "layout": "VerticalStack" }, { "name": "Media", "layout": "BSP" }, { "name": "V", "layout": "Rows" } ] } ] } ``` ### Hotkey Configuration .shell powershell # Reload whkd configuration # alt + o : taskkill /f /im whkd.exe && start /b whkd # if shell is cmd alt + o : taskkill /f /im whkd.exe; Start-Process whkd -WindowStyle hidden # if shell is pwsh / powershell alt + shift + o : komorebic reload-configuration alt + i : komorebic toggle-shortcuts # App shortcuts - these require shell to be pwsh / powershell # The apps will be focused if open, or launched if not open # alt + f : if ($wshell.AppActivate('Firefox') -eq $False) { start firefox } # alt + b : if ($wshell.AppActivate('Chrome') -eq $False) { start chrome } alt + q : komorebic close alt + m : komorebic minimize # Focus windows alt + h : komorebic focus left alt + j : komorebic focus down alt + k : komorebic focus up alt + l : komorebic focus right alt + shift + oem_4 : komorebic cycle-focus previous # oem_4 is [ alt + shift + oem_6 : komorebic cycle-focus next # oem_6 is ] # Move windows alt + shift + h : komorebic move left alt + shift + j : komorebic move down alt + shift + k : komorebic move up alt + shift + l : komorebic move right alt + shift + return : komorebic promote # Stack windows alt + left : komorebic stack left alt + down : komorebic stack down alt + up : komorebic stack up alt + right : komorebic stack right alt + oem_1 : komorebic unstack # oem_1 is ; alt + oem_4 : komorebic cycle-stack previous # oem_4 is [ alt + oem_6 : komorebic cycle-stack next # oem_6 is ] # Resize alt + oem_plus : komorebic resize-axis horizontal increase alt + oem_minus : komorebic resize-axis horizontal decrease alt + shift + oem_plus : komorebic resize-axis vertical increase alt + shift + oem_minus : komorebic resize-axis vertical decrease # Manipulate windows alt + t : komorebic toggle-float alt + shift + f : komorebic toggle-monocle # Window manager options alt + shift + r : komorebic retile alt + p : komorebic toggle-pause # Layouts alt + x : komorebic flip-layout horizontal alt + y : komorebic flip-layout vertical # Workspaces alt + 1 : komorebic focus-workspace 0 alt + 2 : komorebic focus-workspace 1 alt + 3 : komorebic focus-workspace 2 alt + 4 : komorebic focus-workspace 3 alt + 5 : komorebic focus-workspace 4 alt + 6 : komorebic focus-workspace 5 alt + 7 : komorebic focus-workspace 6 alt + 8 : komorebic focus-workspace 7 # Move windows across workspaces alt + shift + 1 : komorebic move-to-workspace 0 alt + shift + 2 : komorebic move-to-workspace 1 alt + shift + 3 : komorebic move-to-workspace 2 alt + shift + 4 : komorebic move-to-workspace 3 alt + shift + 5 : komorebic move-to-workspace 4 alt + shift + 6 : komorebic move-to-workspace 5 alt + shift + 7 : komorebic move-to-workspace 6 alt + shift + 8 : komorebic move-to-workspace 7 ### Output of komorebic check No KOMOREBI_CONFIG_HOME detected, defaulting to C:\Users\ghadi Looking for configuration files in C:\Users\ghadi Found komorebi.json; this file can be passed to the start command with the --config flag Found C:\Users\ghadi\.config\whkdrc; key bindings will be loaded from here when whkd is started, and you can start it automatically using the --whkd flag
adam added the bug label 2026-01-05 14:52:28 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/komorebi#705