AdamWagner / stackline

Visualize yabai window stacks on macOS. Works with yabai & hammerspoon.
956 stars 47 forks source link

stackline.stackline.configManager not found #50

Closed nodgear closed 3 years ago

nodgear commented 3 years ago

Hello, that's my first attempt at yabai + stackline.

i'm getting this output from Hammerspoon Console 2020-11-28 19:29:55: -- Lazy extension loading enabled 2020-11-28 19:29:55: -- Loading ~/.hammerspoon/init.lua 2020-11-28 19:29:55: -- Loading extension: logger 2020-11-28 19:29:55: 19:29:55 utils: Loading module 2020-11-28 19:29:55: -- Loading extension: fnutils 2020-11-28 19:29:55: -- Loading extension: window 2020-11-28 19:29:55: -- Loading extensions: window.filter 2020-11-28 19:29:55: -- Loading extension: timer 2020-11-28 19:29:55: -- Loading extension: eventtap 2020-11-28 19:29:55: stackline: Loading module 2020-11-28 19:29:55: *** ERROR: ...app/Contents/Resources/extensions/hs/_coresetup/init.lua:651: module 'stackline.stackline.configManager' not found: no field package.preload['stackline.stackline.configManager'] no file '/Users/nodge/.hammerspoon/stackline/stackline/configManager.lua' no file '/Users/nodge/.hammerspoon/stackline/stackline/configManager/init.lua' no file '/Users/nodge/.hammerspoon/Spoons/stackline/stackline/configManager.spoon/init.lua' no file '/usr/local/share/lua/5.4/stackline/stackline/configManager.lua' no file '/usr/local/share/lua/5.4/stackline/stackline/configManager/init.lua' no file '/usr/local/lib/lua/5.4/stackline/stackline/configManager.lua' no file '/usr/local/lib/lua/5.4/stackline/stackline/configManager/init.lua' no file './stackline/stackline/configManager.lua' no file './stackline/stackline/configManager/init.lua' no file '/Applications/Hammerspoon.app/Contents/Resources/extensions/stackline/stackline/configManager.lua' no file '/Applications/Hammerspoon.app/Contents/Resources/extensions/stackline/stackline/configManager/init.lua' no file '/Users/nodge/.hammerspoon/stackline/stackline/configManager.so' no file '/usr/local/lib/lua/5.4/stackline/stackline/configManager.so' no file '/usr/local/lib/lua/5.4/loadall.so' no file './stackline/stackline/configManager.so' no file '/Applications/Hammerspoon.app/Contents/Resources/extensions/stackline/stackline/configManager.so' no file '/Users/nodge/.hammerspoon/stackline.so' no file '/usr/local/lib/lua/5.4/stackline.so' no file '/usr/local/lib/lua/5.4/loadall.so' no file './stackline.so' no file '/Applications/Hammerspoon.app/Contents/Resources/extensions/stackline.so' stack traceback: [C]: in function 'rawrequire' ...app/Contents/Resources/extensions/hs/_coresetup/init.lua:651: in function 'require' /Users/nodge/.hammerspoon/stackline/stackline/stackline.lua:13: in main chunk [C]: in function 'rawrequire' ...app/Contents/Resources/extensions/hs/_coresetup/init.lua:651: in function 'require' /Users/nodge/.hammerspoon/init.lua:1: in main chunk [C]: in function 'xpcall' ...app/Contents/Resources/extensions/hs/_coresetup/init.lua:702: in function 'hs._coresetup.setup' (...tail calls...)

nodgear commented 3 years ago

changed configmanager.lua to configManager.lua after remembering lua is caseSensitive, seems to solve the problem.

But why is the configManager file lowercase? 2020-11-28 19:42:42: ======================================== 2020-11-28 19:42:42: T2 ========== 2020-11-28 19:42:42: ======================================== 2020-11-28 19:42:42: {} 2020-11-28 19:42:42: sline.conf: Initializing configmanager… 2020-11-28 19:42:42: sline.conf: schemaType: 0.3 2020-11-28 19:42:42: sline.conf: schemaType: winTitles 2020-11-28 19:42:42: sline.conf: schemaType: boolean 2020-11-28 19:42:42: sline.conf: schemaType: number 2020-11-28 19:42:42: sline.conf: schemaType: boolean 2020-11-28 19:42:42: sline.conf: schemaType: boolean 2020-11-28 19:42:42: sline.conf: schemaType: dynamicLuminosity 2020-11-28 19:42:42: sline.conf: schemaType: string 2020-11-28 19:42:42: sline.conf: schemaType: string 2020-11-28 19:42:42: sline.conf: schemaType: string 2020-11-28 19:42:42: sline.conf: schemaType: number 2020-11-28 19:42:42: sline.conf: schemaType: number 2020-11-28 19:42:42: sline.conf: schemaType: boolean 2020-11-28 19:42:42: sline.conf: schemaType: number 2020-11-28 19:42:42: sline.conf: schemaType: number 2020-11-28 19:42:42: sline.conf: schemaType: boolean 2020-11-28 19:42:42: sline.conf: schemaType: number 2020-11-28 19:42:42: sline.conf: schemaType: number 2020-11-28 19:42:42: sline.conf: schemaType: color 2020-11-28 19:42:42: sline.conf: schemaType: number 2020-11-28 19:42:42: sline.conf: schemaType: number 2020-11-28 19:42:42: sline.conf: schemaType: number 2020-11-28 19:42:42: sline.conf: schemaType: number 2020-11-28 19:42:42: sline.conf: schemaType: number 2020-11-28 19:42:42: sline.conf: Not validating: nil 2020-11-28 19:42:42: sline.conf: ✓ Conf validated successfully 2020-11-28 19:42:42: -- Loading extension: ipc 2020-11-28 19:42:42: -- Loading extension: task 2020-11-28 19:42:42: stackline: FEAT: ClickTracker starting 2020-11-28 19:42:42: -- Done. 2020-11-28 19:42:42: -- Loading extension: json 2020-11-28 19:42:42: -- Loading extension: geometry 2020-11-28 19:42:42: -- Loading extension: canvas 2020-11-28 19:42:42: -- Loading extension: appfinder 2020-11-28 19:42:42: -- Some applications have alternate names which can also be checked if you enable Spotlight support withhs.application.enableSpotlightForNameSearches(true). 2020-11-28 19:42:42: -- Loading extension: image

AdamWagner commented 3 years ago

@nodgear Nice find!

But why is the configManager file lowercase?

That's an oversight on my part.

What I don't quite understand is why it doesn't also fail for me (or, apparently, at least some others)? That is really curious.

Nevertheless, it's definitely an error. I just pushed a quick fix to master: https://github.com/AdamWagner/stackline/blob/master/stackline/stackline.lua#L13

Note that I took a different approach: I changed the source to stackline.config = require 'stackline.stackline.configmanager' instead of capitalizing the filename (so that it's consistent with other filenames).

Thanks for creating the issue!

Hello, that's my first attempt at yabai + stackline.

I'm excited for you! It's like when I hear someone is watching one of my favorite movies for the first time… I expect you'll be pretty happy with yabai :-) Feel free to ping me if you have any questions while setting everything up.

nodgear commented 3 years ago

Thanks, and yes, renaming the file would be inconsistent. I also don't know how this didn't happen with someone else.

I'm having fun setting things up but noticed some things that might be happening just with me: Using mouse to click on indicators doesn't work most of the time (when it does, goes to the a different window than the one i intended to). I made this thing to toggle stacking

hyper - 0x43 : window=$(yabai -m query --windows --window | jq -r '.id') && yabai -m window east --stack $window || (yabai -m window $window --toggle float && yabai -m window $window --toggle float)

But i'm noticing the indicators not changing while alternating focus (if i run yabai -m window --stack ) the indicators works as intended (except for the mouse part).

Kudos for building this amazing tool.

AdamWagner commented 3 years ago

Hey @nodgear ! Sorry for the super late response:

I made this thing to toggle stacking

That is _neat_!

Using mouse to click on indicators doesn't work most of the time

It's definitely not just you. Check out #41 Unfortunately, there is lots of evidence that the "Click indicator to focus window" feature just… doesn't work very well 🙁️

That said, I just merged a couple of minor guardrails against common crashes that seem to have helped some people who reported issues with clicking indicators in #41. Mind pulling master to see if there's any improvement?

Using mouse to click on indicators […] goes to the a different window than the one i intended to

Hmm… well that is something I haven't heard before, and I can't imagine how that would happen 🤔️ If you continue to notice that clicking an indicator focuses a window other than the one associated with what you clicked, could you open a new issue for this? If you can, please attach a screen recording demonstrating the problem to the new issue.

But i'm noticing the indicators not changing while alternating focus (if i run yabai -m window --stack ) the indicators works as intended (except for the mouse part).

I'm sorry, but I'm having trouble understanding what you mean here. Under what conditions do the indicators not change as expected? Or, what action are you taking to focus a different window when the indicators don't change as expected? I think probably a new issue (and ideally another screen recording – sorry!) is the way to go here.