komorebi icon indicating copy to clipboard operation
komorebi copied to clipboard

[BUG]: Visual Studio 2022 isnt managed

Open SebbeJohansson opened this issue 8 months ago • 9 comments

Summary

Hi! I cant get Visual Studio 2022 to be managed by komorebi. Ive tried with the auto generated applications.json file, and with my own rules.

Version Information

OS Name: Microsoft Windows 11 Business OS Version: 10.0.26100 N/A Build 26100

komorebic 0.1.36 tag:v0.1.36 commit_hash:8ef1bcf2 build_time:2025-04-13 03:10:57 +00:00 build_env:rustc 1.86.0 (05f9846f8 2025-03-31),stable-x86_64-pc-windows-msvc

Komorebi Configuration

{
  "$schema": "https://raw.githubusercontent.com/LGUG2Z/komorebi/v0.1.36/schema.json",
  "app_specific_configuration_path": "C:/Users/DragonSebastianJohan/applications.json",
  "manage_rules": [
    {
      "kind": "Title",
      "id": "Microsoft Visual Studio",
      "matching_strategy": "Contains"
    },
    {
        "kind": "Exe",
        "id": "devenv.exe",
        "matching_strategy": "Equals"
    }
  ],
  "window_hiding_behaviour": "Cloak",
  "cross_monitor_move_behaviour": "Insert",
  "default_workspace_padding": 0,
  "default_container_padding": 0,
  "border": true,
  "border_width": 4,
  "border_offset": -1,
  "theme": {
    "palette": "Base16",
    "name": "Ashes",
    "unfocused_border": "Base03",
    "bar_accent": "Base0D"
  },
  "display_index_preferences": {
    "0": "JK5B0N3",
    "1": "LEN41B5-4&2c4d2617&0&UID8388688",
    "2": "GQ6MMY3"
  },
    {
      "workspaces": [
        {
          "name": "I",
          "layout": "VerticalStack"
        },
        {
          "name": "II",
          "layout": "VerticalStack"
        },
        {
          "name": "III",
          "layout": "VerticalStack"
        },
        {
          "name": "IV",
          "layout": "VerticalStack"
        }
      ]
    },
    {
      "workspaces": [
        {
          "name": "I",
          "layout": "VerticalStack"
        },
        {
          "name": "II",
          "layout": "VerticalStack"
        },
        {
          "name": "III",
          "layout": "VerticalStack"
        },
        {
          "name": "IV",
          "layout": "VerticalStack"
        }
      ]
    },
    {
      "workspaces": [
        {
          "name": "I",
          "layout": "HorizontalStack"
        }
      ]
    }
  ]
}

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

# 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\DragonSebastianJohan

Looking for configuration files in C:\Users\DragonSebastianJohan

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

Application specific configuration file path has not been set. Try running 'komorebic fetch-asc'

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

SebbeJohansson avatar May 07 '25 09:05 SebbeJohansson

OS Name: Microsoft Windows 11 Business

Reminder: If you are using komorebi at work you are required to purchase a license

As for VS, are you running the process as a regular user process or as an elevated administrator process?

LGUG2Z avatar May 07 '25 12:05 LGUG2Z

@LGUG2Z very nice catch with the business license, but this is on my personal laptop which runs Business. But! The idea is to run it in my work laptop too when I get everything to work.

I'm running vs as an elevated admin process. Is that not possible? I'm gonna check if that's required for my personal project. But I know it is for one of the projects at work, so if I wanna use this across all my devices I'd need it to work with admin processes too!

SebbeJohansson avatar May 08 '25 06:05 SebbeJohansson

@LGUG2Z since you were such a hawk and because I thought it was funny that you noticed the windows license, I have donated to the PCRF and sponsored the project!

SebbeJohansson avatar May 08 '25 07:05 SebbeJohansson

I'm running vs as an elevated admin process. Is that not possible?

It's possible but then you also need to run komorebi as an elevated admin process - part of Windows' security model at the operating system level is to not allow user-level processes to manipulate the windows of administrator-level processes 🔒

LGUG2Z avatar May 08 '25 14:05 LGUG2Z

@LGUG2Z interesting! So just run it from the terminal with the terminal being in elevated administrator?

SebbeJohansson avatar May 08 '25 16:05 SebbeJohansson

Yeah exactly, just make sure to komorebic stop with all the various flags for the components you have started first before calling komorebic start from an admin terminal

LGUG2Z avatar May 08 '25 17:05 LGUG2Z

Running the terminal as administrator did not work. Changing visual studio to not run as administrator works, but means that I wont be able to use this on my work laptop. I tried setting run as administrator on the komorebi exe's, and that didn't help either.

Any ideas?

SebbeJohansson avatar May 09 '25 07:05 SebbeJohansson

@SebbeJohansson I use the community version, not business, but I run komorebi as admin, vs does not get managed if opened as admin.

What I need to do is to minimize vs and when I restore it (un-minimize) it gets managed but as a floating window for some reason. However now it is managed fine, just need to minimize it, restore it and then "de-float" it

CtByte avatar May 09 '25 13:05 CtByte

From the sounds of it, it looks like the app isn't sending a SHOW event on launch and is probably sending OBJECT_NAMECHANGE instead like Intellij and Firefox to - it's worth adding an object_name_change rule to see if this workaround helps

LGUG2Z avatar May 09 '25 15:05 LGUG2Z