LGUG2Z / komorebi

A tiling window manager for Windows 🍉
https://lgug2z.github.io/komorebi/
Other
9.64k stars 200 forks source link

[BUG]: Komorebi does not load settings from komorebi.ps1 #391

Closed AntDavidLima closed 6 months ago

AntDavidLima commented 1 year ago

First of all, thank you for creating this tool.

Describe the bug When I start Komorebi with komorebic start --await-configuration it doesn't work. The windows only get tiled if I start it without the --await-configuration argument, but then, my configurations are not loaded.

To Reproduce Steps to reproduce the behavior:

  1. Save the latest generated app-specific config tweaks, fixes, the sample komorebi configuration file and the sample whkdrc file with key bindings to its respective directories with the commands available on the README.md.
  2. On a PowerShell, start Komorebi with komorebic start --await-configuration.

Expected behavior The windows should be tiled following the configurations on komorebi.ps1

Operating System

OS Name:                   Microsoft Windows 10 Pro
OS Version:                10.0.19045 N/A Build 19045

Additional context Komorebi and WHKD were downloaded using scoop, with the scripts provided on the README.md

AJolly commented 1 year ago

Oh, I was thinking I just messed something up when I installed. Can confirm I'm having the bug on a fresh install, but i used win-get. New user here. Also ran into issues with not finding komorebi on the path following the quickstart guide.

(also, would have been nice if the quick start then gave a commmand or two to verify that komorebi was working.

sudoCompetence commented 1 year ago

I am also having an issue of komorebi not recognizing the config directory despite changing environment variable by following the quickstart guide. Even with the env variable changed komorebi still looks for the config inside %Home% insdiead of %Home%/.config/komorebi

LGUG2Z commented 1 year ago

For those encountering this issue, please post here with the output of env (redact any sensitive information that may be there) when run in the shell that you would normally run komorebic start in. It should look something like this:

ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\LGUG2Z\AppData\Roaming
C_INCLUDE_PATH=C:\Users\LGUG2Z\scoop\apps\gcc\current\include
COMMONPROGRAMFILES=C:\Program Files (x86)\Common Files
COMMONPROGRAMFILES(X86)=C:\Program Files (x86)\Common Files
COMMONPROGRAMW6432=C:\Program Files\Common Files
COMPUTERNAME=WINNIX
COMSPEC=C:\Windows\system32\cmd.exe
CPLUS_INCLUDE_PATH=C:\Users\LGUG2Z\scoop\apps\gcc\current\include
DRIVERDATA=C:\Windows\System32\Drivers\DriverData
GIT_INSTALL_ROOT=C:\Users\LGUG2Z\scoop\apps\git\current
HOMEDRIVE=C:
HOMEPATH=\
KOMOREBI_CONFIG_HOME=C:\Users\LGUG2Z\.config\komorebi
LOCALAPPDATA=C:\Users\LGUG2Z\AppData\Local
LOGONSERVER=\\WINNIX
NUMBER_OF_PROCESSORS=8
NVAFX_SDK_DIR=C:\Program Files\NVIDIA Corporation\NVIDIA Audio Effects SDK
ONEDRIVE=C:\Users\LGUG2Z\OneDrive
OS=Windows_NT
PATH=/c/Program Files/PowerShell/7:/c/ProgramData/scoop/shims:/c/Windows/system32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0/:/c/Windows/System32/OpenSSH/:/c/Program Files (x86)/NVIDIA Corporation/PhysX/Common:/c/Program Files/GitHub CLI/:/c/Program Files/starship/bin/:/c/Program Files/dotnet/:/c/Program Files/NVIDIA Corporation/NVIDIA NvDLISR:/c/Program Files/PowerShell/7/:/c/Users/LGUG2Z/scoop/apps/gcc/current/bin:/c/Users/LGUG2Z/scoop/apps/nodejs/current/bin:/c/Users/LGUG2Z/scoop/apps/nodejs/current:/c/Users/LGUG2Z/.cargo/bin:/c/Users/LGUG2Z/scoop/shims:/c/Users/LGUG2Z/AppData/Local/Microsoft/WindowsApps:/c/Users/LGUG2Z/AppData/Local/Programs/Microsoft VS Code/bin
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.CPL
POWERSHELL_DISTRIBUTION_CHANNEL=MSI:Windows 10 Pro
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_ARCHITEW6432=AMD64
PROCESSOR_IDENTIFIER=AMD64 Family 23 Model 113 Stepping 0, AuthenticAMD
PROCESSOR_LEVEL=23
PROCESSOR_REVISION=7100
PROGRAMDATA=C:\ProgramData
PROGRAMFILES=C:\Program Files (x86)
PROGRAMFILES(X86)=C:\Program Files (x86)
PROGRAMW6432=C:\Program Files
PSMODULEPATH=C:\Users\LGUG2Z\Documents\PowerShell\Modules;C:\Program Files\PowerShell\Modules;c:\program files\powershell\7\Modules;C:\Program Files\WindowsPowerShell\Modules;C:\Windows\system32\WindowsPowerShell\v1.0\Modules
PUBLIC=C:\Users\Public
STARSHIP_SHELL=pwsh
SYSTEMDRIVE=C:
SYSTEMROOT=C:\Windows
TEMP=/tmp
TMP=/tmp
USERDOMAIN=WINNIX
USERDOMAIN_ROAMINGPROFILE=WINNIX
USERNAME=LGUG2Z
USERPROFILE=C:\Users\LGUG2Z
VIRTUAL_ENV_DISABLE_PROMPT=1
WINDIR=C:\Windows
WSLENV=WT_SESSION::WT_PROFILE_ID
WT_PROFILE_ID={574e775e-4f2a-5b96-ac1e-a2962a402336}
WT_SESSION=5daf8b22-6a84-4d23-be33-879365cf5511
TERM=cygwin

Please also post the full paths to your komorebi and whkd configuration files, and the logs output when running the komorebi and whkd commands directly (separately) in your shell.

AJolly commented 1 year ago

It's probably because the quickstart guide doesn't exit the terminal and restart it. Just changing the path within winget etc wont make the new path apply within the existing session, so the quickstart guide would need to fully qualify the path.

sudoCompetence commented 1 year ago

I think Ajolly is correct.

After reinstalling komorebi and whkd:

Note on my laptop I had to follow the steps above to get working properly (restarting system did not work) im not sure why but everything is working.

Thank your the great work; cannot live without this on my windows systems.

AntDavidLima commented 1 year ago

I had no success following the steps outlined by @sudoCompetence.

The env command only returns something when I run it in git bash, if I run it in PowerShell, it returns me env : The term 'env' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

When run in git bash the output is as follows:

ProgramFiles(x86)=C:\Program Files (x86)
!::=::\
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
SHELL=/usr/bin/bash
NUMBER_OF_PROCESSORS=12
FPS_BROWSER_USER_PROFILE_STRING=Default
PROCESSOR_LEVEL=25
TERM_PROGRAM_VERSION=3.6.3
MINGW_PREFIX=/mingw64
PKG_CONFIG_PATH=/mingw64/lib/pkgconfig:/mingw64/share/pkgconfig
USERDOMAIN_ROAMINGPROFILE=DESKTOP-QMGB6B5
HOSTNAME=DESKTOP-QMGB6B5
PROGRAMFILES=C:\Program Files
MSYSTEM=MINGW64
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
ORIGINAL_TEMP=/tmp
MINGW_CHOST=x86_64-w64-mingw32
OS=Windows_NT
HOMEDRIVE=C:
MSYSTEM_CARCH=x86_64
USERDOMAIN=DESKTOP-QMGB6B5
PWD=/c/Users/David Lima
USERPROFILE=C:\Users\David Lima
MANPATH=/mingw64/local/man:/mingw64/share/man:/usr/local/man:/usr/share/man:/usr/man:/share/man
MINGW_PACKAGE_PREFIX=mingw-w64-x86_64
ALLUSERSPROFILE=C:\ProgramData
ORIGINAL_PATH=/mingw64/bin:/usr/bin:/c/Users/David Lima/bin:/c/Windows/system32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0:/c/Windows/System32/OpenSSH:/c/Program Files (x86)/NVIDIA Corporation/PhysX/Common:/c/Program Files/NVIDIA Corporation/NVIDIA NvDLISR:/c/Program Files/PuTTY:/c/Users/David Lima/scoop/shims:/c/Users/David Lima/AppData/Local/Microsoft/WindowsApps
CommonProgramW6432=C:\Program Files\Common Files
HOME=/c/Users/David Lima
USERNAME=David Lima
SSH_ASKPASS=/mingw64/bin/git-askpass.exe
PLINK_PROTOCOL=ssh
OneDrive=C:\Users\David Lima\OneDrive
COMSPEC=C:\Windows\system32\cmd.exe
TMPDIR=/tmp
APPDATA=C:\Users\David Lima\AppData\Roaming
SYSTEMROOT=C:\Windows
LOCALAPPDATA=C:\Users\David Lima\AppData\Local
COMPUTERNAME=DESKTOP-QMGB6B5
INFOPATH=/mingw64/local/info:/mingw64/share/info:/usr/local/info:/usr/share/info:/usr/info:/share/info
TERM=xterm
LOGONSERVER=\\DESKTOP-QMGB6B5
ACLOCAL_PATH=/mingw64/share/aclocal:/usr/share/aclocal
PSModulePath=C:\Program Files\WindowsPowerShell\Modules;C:\Windows\system32\WindowsPowerShell\v1.0\Modules
TEMP=/tmp
MSYSTEM_CHOST=x86_64-w64-mingw32
DISPLAY=needs-to-be-defined
ORIGINAL_TMP=/tmp
SHLVL=1
PROCESSOR_REVISION=5000
DriverData=C:\Windows\System32\Drivers\DriverData
COMMONPROGRAMFILES=C:\Program Files\Common Files
LC_CTYPE=en_US.UTF-8
EXEPATH=C:\Users\David Lima\scoop\apps\git\2.40.0.windows.1
PROCESSOR_IDENTIFIER=AMD64 Family 25 Model 80 Stepping 0, AuthenticAMD
SESSIONNAME=Console
PS1=\[\033]0;$TITLEPREFIX:$PWD\007\]\n\[\033[32m\]\u@\h \[\033[35m\]$MSYSTEM \[\033[33m\]\w\[\033[36m\]`__git_ps1`\[\033[0m\]\n$
PKG_CONFIG_SYSTEM_LIBRARY_PATH=/mingw64/lib
HOMEPATH=\Users\David Lima
TMP=/tmp
CONFIG_SITE=/etc/config.site
PATH=/c/Users/David Lima/bin:/mingw64/bin:/usr/local/bin:/usr/bin:/bin:/mingw64/bin:/usr/bin:/c/Users/David Lima/bin:/c/Windows/system32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0:/c/Windows/System32/OpenSSH:/c/Program Files (x86)/NVIDIA Corporation/PhysX/Common:/c/Program Files/NVIDIA Corporation/NVIDIA NvDLISR:/c/Program Files/PuTTY:/c/Users/David Lima/scoop/shims:/c/Users/David Lima/AppData/Local/Microsoft/WindowsApps:/usr/bin/vendor_perl:/usr/bin/core_perl
ProgramW6432=C:\Program Files
MSYSTEM_PREFIX=/mingw64
GIT_INSTALL_ROOT=C:\Users\David Lima\scoop\apps\git\current
WINDIR=C:\Windows
FPS_BROWSER_APP_PROFILE_STRING=Internet Explorer
PROCESSOR_ARCHITECTURE=AMD64
PUBLIC=C:\Users\Public
PKG_CONFIG_SYSTEM_INCLUDE_PATH=/mingw64/include
SYSTEMDRIVE=C:
TERM_PROGRAM=mintty
ProgramData=C:\ProgramData
_=/usr/bin/env

The full path to my settings is: C:\Users\David Lima\.config\komorebi\komorebi.ps1 and C:\Users\David Lima\.config\komorebi\komorebi.generated.ps1.

When I run komorebi directly the return is ←[2m2023-04-15T21:49:05.726424Z←[0m ←[32m INFO←[0m ←[1minit←[0m←[2m:←[0m ←[2mkomorebi::window_manager←[]] 0m←[2m:←[0m initialising ←[2m2023-04-15T21:49:05.734334Z←[0m ←[32m INFO←[0m ←[2mkomorebi::process_command←[0m←[2m:←[0m listening on komorebi.sock ←[2m2023-04-15T21:49:05.734734Z←[0m ←[32m INFO←[0m ←[2mkomorebi←[0m←[2m:←[0m loading configuration file: C:\Users\David Lima\.config\ komorebi\komorebi.ps1 ←[2m2023-04-15T21:49:05.736405Z←[0m ←[32m INFO←[0m ←[2mkomorebi::process_event←[0m←[2m:←[0m listening]

When running whkd directly, no feedback is produced.

sudoCompetence commented 1 year ago

@AJolly When you open up powershell and type '$profile' it should return the path.

Edit the file addding the following

# Komorebi
$Env:KOMOREBI_CONFIG_HOME = 'C:\Users\David Lima\.config\komorebi'
if (!(Get-Process komorebi -ErrorAction SilentlyContinue)) {
    Start-Process komorebi -WindowStyle hidden
}
if (!(Get-Process whkd -ErrorAction SilentlyContinue)) {
    Start-Process whkd -WindowStyle hidden
}

NOTE: This will also start komorebi whenever the terminal opens (since I have my terminal open on start-up)

I would then close komorebi

komorebic stop

and reload the terminal and restart komorebi.

komorebic start
# OR if above does not work: komorebic start --await-configuration
AntDavidLima commented 1 year ago

@sudoCompetence Executing these steps, Komorebi and WHKD start whenever I open a Shell, but Komorebi's settings are still not being loaded.

NormTurtle commented 1 year ago

@AntDavidLima we need to clam down , it happend with me too , and its not a bug* maybe?

trimmed komorebi usage guide that no-body wants but , deserves

  1. make sure u have all komorebi.sample.ps1 , komorebi-generate.ps1, whkdrc
  2. put them on right PATH , copy and paste this one command for doing step 1, and settign things up u must run this on powershell latest

iwr https://raw.githubusercontent.com/LGUG2Z/komorebi/master/komorebi.generated.ps1 -OutFile $HOME/.config/komorebi/komorebi.generated.ps1 iwr https://raw.githubusercontent.com/LGUG2Z/komorebi/master/komorebi.sample.ps1 -OutFile $HOME/.config/komorebi/\komorebi.ps1 iwr https://raw.githubusercontent.com/LGUG2Z/komorebi/master/whkdrc.sample -OutFile $Env:USERPROFILE.config\whkdrc

3. u can now komorebi as normal and it should start as expected , 
4.  to see it **komorebi** & **whkd** started , u can do 

ps komorebi ps whkd


5. this will give u list of things

if you installed and run those command , komorebi should work , 
if anyerror please ask 

if worked ⭐  feel free to customize, and whkd is awesome i have made a docs for [key-codes ](https://omaru-ok.github.io/blogg/2023/04/17/whkd-Key-codes-komorebi.html)
wiggleforlife commented 1 year ago

I have this same issue and I can't seem to fix it. I get as far as this while waiting for the config -

2023-05-09T03:55:44.131650Z  INFO init: komorebi::window_manager: initialising
2023-05-09T03:55:44.141966Z  INFO komorebi::process_command: listening on komorebi.sock
2023-05-09T03:55:44.142935Z  INFO komorebi: loading configuration file: C:\Users\removed\.config\komorebi\komorebi.ps1

and it works if I start it without that argument. I'm on 10 Pro 19.0442846 with two displays.

Here are the minor changes I've made to the config, if it matters. I had the same issue before these:

# Permanently exlcude windows
komorebic float-rule exe "X-Plane.exe"
komorebic float-rule exe "anki.exe"
komorebic float-rule exe "Steam.exe"
LGUG2Z commented 6 months ago

Settings should now be loaded form komorebi.json.