stackline
stackline copied to clipboard
[Bug] Stackline is not showing Icons on Stack mode
Hi,
I have Stackline installed and with the following config.
hs.inspect(stackline.config)
<1>{
__index = <table 1>,
autosuggestions = { "features.dynamicLuminosity", "appearance.offset.x", "appearance.iconDimmer", "appearance.shouldFade", "appearance.dimmer", "appearance.vertSpacing", "features.fzyFrameDetect.enabled", "appearance.fadeDuration", "paths.yabai", "features.winTitles", "appearance.color.white", "features.clickToFocus", "appearance.iconPadding", "appearance.pillThinness", "features.hsBugWorkaround", "features.fzyFrameDetect.fuzzFactor", "appearance.radius", "appearance.size", "appearance.alpha", "appearance.showIcons", "appearance.offset.y", "advanced.maxRefreshRate" },
conf = {
advanced = {
maxRefreshRate = 0.5
},
appearance = {
alpha = 1,
color = {
white = 0.9
},
dimmer = 2.5,
fadeDuration = 0.2,
iconDimmer = 1.1,
iconPadding = 4,
offset = {
x = 4,
y = 2
},
pillThinness = 6,
radius = 3,
shouldFade = true,
showIcons = true,
size = 32,
vertSpacing = 1.2
},
features = {
clickToFocus = true,
dynamicLuminosity = "not_implemented",
fzyFrameDetect = {
enabled = true,
fuzzFactor = 30
},
hsBugWorkaround = true,
winTitles = "not_implemented"
},
paths = {
yabai = "/opt/homebrew/opt/yabai"
}
},
events = {
advanced = {
maxRefreshRate = <function 1>
},
appearance = <function 2>,
features = {
clickToFocus = <function 3>
}
},
generateValidator = <function 4>,
get = <function 5>,
getOrSet = <function 6>,
getPathSchema = <function 7>,
init = <function 8>,
schema = {
advanced = {
maxRefreshRate = "number"
},
appearance = {
alpha = "number",
color = "color",
dimmer = "number",
fadeDuration = "number",
iconDimmer = "number",
iconPadding = "number",
offset = {
x = "number",
y = "number"
},
pillThinness = "number",
radius = "number",
shouldFade = "boolean",
showIcons = "boolean",
size = "number",
vertSpacing = "number"
},
features = {
clickToFocus = "boolean",
dynamicLuminosity = "dynamicLuminosity",
fzyFrameDetect = {
enabled = "boolean",
fuzzFactor = "number"
},
hsBugWorkaround = "boolean",
winTitles = "winTitles"
},
paths = {
yabai = "string"
}
},
set = <function 9>,
setLogLevel = <function 10>,
toggle = <function 11>,
types = {
boolean = {
coerce = <function 12>,
validator = <function 13>
},
color = {
coerce = <function 14>,
validator = <function 15>
},
dynamicLuminosity = {
coerce = <function 14>,
validator = <function 16>
},
number = {
coerce = <function 17>,
validator = <function 18>
},
string = {
coerce = <function 19>,
validator = <function 20>
},
table = {
coerce = <function 14>,
validator = <function 21>
},
winTitles = {
coerce = <function 14>,
validator = <function 22>
}
},
validate = <function 23>
}
In my init.lua I have
hs.ipc.cliInstall('/opt/homebrew') -- Install the command line tool
local log = hs.logger.new('init.lua', 'debug')
stackline_conf = require('stackline_conf')
stackline = require("stackline")
stackline:init(stackline_conf)
The yabai path is configured correctly.
I have created a Stack and there are no Icons on the Left.
When I debug the StackManager in Hammerspoon Console, I found the manager always returns empty table to me.
May I know how to have the App Icons Indicators shown??
Here is my yabai config
#!/usr/bin/env sh
# global settings
yabai -m config \
external_bar off \
mouse_follows_focus on \
focus_follows_mouse off \
window_origin_display default \
# New window spawns to the right if vertical split, or bottom if horizontal split
yabai -m config \
window_placement second_child \
window_zoom_persist on \
window_topmost off \
window_shadow on \
window_animation_duration 0.0 \
window_animation_frame_rate 120 \
yabai -m config \
window_opacity off \
window_opacity_duration 0.0 \
active_window_opacity 1.0 \
normal_window_opacity 0.95 \
window_border on \
window_border_width 6 \
window_border_radius 12 \
window_border_blur off \
window_border_hidpi on \
active_window_border_color 0xff008000 \
normal_window_border_color 0xff555555 \
insert_feedback_color 0xffd75f5f \
split_ratio 0.50 \
split_type auto \
auto_balance off \
# set modifier + left-click drag to resize window (default: move)
yabai -m config \
mouse_modifier fn \
mouse_action1 move \
# set modifier + right-click drag to resize window (default: resize)
yabai -m config \
mouse_action2 resize \
mouse_drop_action stack
# general space settings
yabai -m config \
layout bsp \
top_padding 0 \
bottom_padding 0 \
left_padding 5 \
right_padding 0 \
window_gap 06
# restore position of floating windows when they are manually unfloated
# ~/Scripts/yabai_restore.sh
yabai -m rule --add app="^System Preferences$" sticky=on layer=above manage=off
yabai -m rule --add app="^Karabiner-Elements$" sticky=on layer=above manage=off
yabai -m rule --add app="^Karabiner-EventViewer$" sticky=on layer=above manage=off
yabai -m rule --add app="^Finder$" sticky=on layer=above manage=off
yabai -m rule --add app="^Keka$" sticky=on layer=above manage=off
yabai -m rule --add app="^Alfred Preferences$" sticky=on layer=above manage=off
yabai -m rule --add app="^Disk Utility$" sticky=on layer=above manage=off
yabai -m rule --add app="^System Information$" sticky=on layer=above manage=off
yabai -m rule --add app="^Activity Monitor$" sticky=on layer=above manage=off
yabai -m rule --add app="^KeyCastr$" sticky=on layer=above manage=off
yabai -m rule --add app="^System Settings$" manage=off
yabai -m rule --add app="^Archive Utility$" manage=off
yabai -m rule --add app="^IINA$" sticky=on layer=above manage=off
yabai -m rule --add app="^Calculator$" sticky=on layer=above manage=off
yabai -m rule --add app="^Notion$" sticky=on layer=above manage=off
yabai -m rule --add app="^Hammerspoon" sticky=on layer=above manage=off
yabai -m rule --add app="^Music$" manage=off
yabai -m rule --add app="^Docker" manage=off
#find ~/Library/Parallels/Applications\ Menus/ -maxdepth 3 -type f | awk -F'/' '{ print $NF; }' | awk '{$1=$1};1' | sort | uniq | tr "\n" "\0" | xargs -0 -I{} yabai -m rule --add app="^{}\$" title=".*" manage=on
yabai -m rule --add app="^IntelliJ IDEA$" manage=off
yabai -m rule --add app="^PyCharm$" manage=off
yabai -m rule --add app="^GoLand$" manage=off
yabai -m rule --add app="^CLion$" manage=off
yabai -m rule --add app="^RubyMine$" manage=off
yabai -m rule --add app="^DataGrip$" manage=off
yabai -m rule --add app="^DataSpell$" manage=off
yabai -m rule --add app="^Aqua$" manage=off
yabai -m signal --add event=window_destroyed action="bash ~/.config/yabai/window-focus-on-destroy.sh"
# My custom space names for my 3 monitor setup. These names are used in some of my scripts.
yabai -m space 1 --label one
yabai -m space 2 --label two
yabai -m space 3 --label three
yabai -m space 4 --label four
yabai -m space 5 --label five
yabai -m space 6 --label six
echo "yabai configuration loaded.."
yabai = "/opt/homebrew/opt/yabai"
should probably be:
yabai = "/opt/homebrew/bin/yabai"
-- ^^^
I am seeing the same problem, even after fixing the yabai path to the correct one. In the README.md it states
Did the terminal window expand to cover the area previously occupied by Safari? Great! At this point, you should notice two app icons at the top-left corner of your terminal window, like this:
but it doesn't show any icon in my case either.
yabai = "/opt/homebrew/opt/yabai"should probably be:
yabai = "/opt/homebrew/bin/yabai" -- ^^^
My yabai is installed by homebrew in there, as shown in
@Isaacwhyuenac That seems to be a bug of some kind. I just reinstalled Stackline and was fixing the brew-based path in the config. Here are my results: