summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWayne-Cole <77279425+Wacky404@users.noreply.github.com>2025-03-29 22:25:19 -0500
committerWayne-Cole <77279425+Wacky404@users.noreply.github.com>2025-03-29 22:25:19 -0500
commit6c0663c74161044e1215fad4a1ad45acc1f64714 (patch)
tree49760fb79a56ae8fd8342704a037c9a70cf59bd8
parentaa45aafa2ae7fd7405627c1b7eb6f5623fd1dd1c (diff)
downloadwackys-dev-env-6c0663c74161044e1215fad4a1ad45acc1f64714.tar.xz
wackys-dev-env-6c0663c74161044e1215fad4a1ad45acc1f64714.zip
feat: updating files, but switched from yabai to aerospace + other updates
-rw-r--r--.config/aerospace/aerospace.toml15
-rw-r--r--.config/sketchybar/config/fonts.lua2
-rw-r--r--.config/sketchybar/config/icons.lua558
-rw-r--r--.config/sketchybar/constants.lua4
-rw-r--r--.config/sketchybar/items/front_apps.lua5
-rw-r--r--.config/sketchybar/items/menu_spaces_toggle.lua4
-rw-r--r--.config/sketchybar/items/spaces.lua135
7 files changed, 421 insertions, 302 deletions
diff --git a/.config/aerospace/aerospace.toml b/.config/aerospace/aerospace.toml
index c7c2dd4..567b6ce 100644
--- a/.config/aerospace/aerospace.toml
+++ b/.config/aerospace/aerospace.toml
@@ -6,6 +6,15 @@ after-login-command = []
# Available commands : https://nikitabobko.github.io/AeroSpace/commands
after-startup-command = []
+# notify Sketchybar about events
+exec-on-workspace-change = ['/bin/bash', '-c',
+ 'sketchybar --trigger aerospace_workspace_changed FOCUSED_WORKSPACE=$AEROSPACE_FOCUSED_WORKSPACE'
+]
+
+on-focus-changed = ['exec-and-forget /bin/bash -c /opt/homebrew/bin/sketchybar --trigger front_app_switched',
+ 'exec-and-forget sketchybar --trigger update_windows'
+]
+
# Start AeroSpace at login
start-at-login = true
@@ -38,6 +47,12 @@ on-focused-monitor-changed = ['move-mouse monitor-lazy-center']
# Also see: https://nikitabobko.github.io/AeroSpace/goodies#disable-hide-app
automatically-unhide-macos-hidden-apps = true
+# this is needed to inherit the enviroment vars from aerospace.app; homewbrew install
+[exec]
+ inherit-env-vars = true
+[exec.env-vars]
+ PATH = '/opt/homebrew/bin:/opt/homebrew/sbin:${PATH}'
+
# Possible values: (qwerty|dvorak)
# See https://nikitabobko.github.io/AeroSpace/guide#key-mapping
[key-mapping]
diff --git a/.config/sketchybar/config/fonts.lua b/.config/sketchybar/config/fonts.lua
index 51cb0ee..6d7af61 100644
--- a/.config/sketchybar/config/fonts.lua
+++ b/.config/sketchybar/config/fonts.lua
@@ -4,7 +4,7 @@ return {
text = "SpaceMono Nerd Font",
numbers = "SpaceMono Nerd Font",
icons = function(size)
- local font = "sketchybar-app-font:Regular"
+ local font = "Hack Nerd Font:Bold:14.0"
return size and font .. ":" .. size or font .. ":" .. dimens.text.icon
end,
styles = {
diff --git a/.config/sketchybar/config/icons.lua b/.config/sketchybar/config/icons.lua
index 9f367f1..bd94a31 100644
--- a/.config/sketchybar/config/icons.lua
+++ b/.config/sketchybar/config/icons.lua
@@ -1,283 +1,283 @@
local apps <const> = {
- ["Live"] = ":ableton:",
- ["Adobe Bridge 2024"] = ":adobe_bridge:",
- ["Affinity Designer"] = ":affinity_designer:",
- ["Affinity Designer 2"] = ":affinity_designer_2:",
- ["Affinity Photo"] = ":affinity_photo:",
- ["Affinity Photo 2"] = ":affinity_photo_2:",
- ["Affinity Publisher"] = ":affinity_publisher:",
- ["Affinity Publisher 2"] = ":affinity_publisher_2:",
- ["Airmail"] = ":airmail:",
- ["Alacritty"] = ":alacritty:",
- ["Alfred Preferences"] = ":alfred:",
- ["Android Messages"] = ":android_messages:",
- ["Android Studio"] = ":android_studio:",
- ["Anytype"] = ":anytype:",
- ["App Eraser"] = ":app_eraser:",
- ["App Store"] = ":app_store:",
- ["Arc"] = ":arc:",
- ["Atom"] = ":atom:",
- ["Audacity"] = ":audacity:",
- ["Bambu Studio"] = ":bambu_studio:",
- ["MoneyMoney"] = ":bank:",
- ["Bear"] = ":bear:",
- ["BetterTouchTool"] = ":bettertouchtool:",
- ["Bilibili"] = ":bilibili:",
- ["哔哩哔哩"] = ":bilibili:",
- ["Bitwarden"] = ":bit_warden:",
- ["Blender"] = ":blender:",
- ["BluOS Controller"] = ":bluos_controller:",
- ["Calibre"] = ":book:",
- ["Brave Browser"] = ":brave_browser:",
- ["Calculator"] = ":calculator:",
- ["Soulver 3"] = ":calculator:",
- ["Calculette"] = ":calculator:",
- ["Calendar"] = ":calendar:",
- ["日历"] = ":calendar:",
- ["Fantastical"] = ":calendar:",
- ["Cron"] = ":calendar:",
- ["Amie"] = ":calendar:",
- ["Calendrier"] = ":calendar:",
- ["Notion Calendar"] = ":calendar:",
- ["Caprine"] = ":caprine:",
- ["Citrix Workspace"] = ":citrix:",
- ["Citrix Viewer"] = ":citrix:",
- ["ClickUp"] = ":click_up:",
- ["Code"] = ":code:",
- ["Code - Insiders"] = ":code:",
- ["Color Picker"] = ":color_picker:",
- ["数码测色计"] = ":color_picker:",
- ["CotEditor"] = ":coteditor:",
- ["Cypress"] = ":cypress:",
- ["DataGrip"] = ":datagrip:",
- ["DataSpell"] = ":dataspell:",
- ["DaVinci Resolve"] = ":davinciresolve:",
- ["Default"] = ":default:",
- ["CleanMyMac X"] = ":desktop:",
- ["DEVONthink 3"] = ":devonthink3:",
- ["DingTalk"] = ":dingtalk:",
- ["钉钉"] = ":dingtalk:",
- ["阿里钉"] = ":dingtalk:",
- ["Discord"] = ":discord:",
- ["Discord Canary"] = ":discord:",
- ["Discord PTB"] = ":discord:",
- ["Docker"] = ":docker:",
- ["Docker Desktop"] = ":docker:",
- ["GrandTotal"] = ":dollar:",
- ["Receipts"] = ":dollar:",
- ["Double Commander"] = ":doublecmd:",
- ["Drafts"] = ":drafts:",
- ["Dropbox"] = ":dropbox:",
- ["Element"] = ":element:",
- ["Emacs"] = ":emacs:",
- ["Evernote Legacy"] = ":evernote_legacy:",
- ["FaceTime"] = ":face_time:",
- ["FaceTime 通话"] = ":face_time:",
- ["Figma"] = ":figma:",
- ["Final Cut Pro"] = ":final_cut_pro:",
- ["Finder"] = ":finder:",
- ["访达"] = ":finder:",
- ["Firefox"] = ":firefox:",
- ["Firefox Developer Edition"] = ":firefox_developer_edition:",
- ["Firefox Nightly"] = ":firefox_developer_edition:",
- ["Folx"] = ":folx:",
- ["Fusion"] = ":fusion:",
- ["System Preferences"] = ":gear:",
- ["System Settings"] = ":gear:",
- ["Systemeinstellungen"] = ":gear:",
- ["系统设置"] = ":gear:",
- ["Réglages Système"] = ":gear:",
- ["GitHub Desktop"] = ":git_hub:",
- ["Godot"] = ":godot:",
- ["GoLand"] = ":goland:",
- ["Chromium"] = ":google_chrome:",
- ["Google Chrome"] = ":google_chrome:",
- ["Google Chrome Canary"] = ":google_chrome:",
- ["Grammarly Editor"] = ":grammarly:",
- ["Home Assistant"] = ":home_assistant:",
- ["Hyper"] = ":hyper:",
- ["IntelliJ IDEA"] = ":idea:",
- ["Inkdrop"] = ":inkdrop:",
- ["Inkscape"] = ":inkscape:",
- ["Insomnia"] = ":insomnia:",
- ["Iris"] = ":iris:",
- ["iTerm"] = ":iterm:",
- ["iTerm2"] = ":iterm:",
- ["Jellyfin Media Player"] = ":jellyfin:",
- ["Joplin"] = ":joplin:",
- ["카카오톡"] = ":kakaotalk:",
- ["KakaoTalk"] = ":kakaotalk:",
- ["Kakoune"] = ":kakoune:",
- ["KeePassXC"] = ":kee_pass_x_c:",
- ["Secrets"] = ":one_password:",
- ["Keyboard Maestro"] = ":keyboard_maestro:",
- ["Keynote"] = ":keynote:",
- ["Keynote 讲演"] = ":keynote:",
- ["kitty"] = ":kitty:",
- ["League of Legends"] = ":league_of_legends:",
- ["LibreWolf"] = ":libre_wolf:",
- ["Adobe Lightroom"] = ":lightroom:",
- ["Lightroom Classic"] = ":lightroomclassic:",
- ["LINE"] = ":line:",
- ["Linear"] = ":linear:",
- ["LM Studio"] = ":lm_studio:",
- ["LocalSend"] = ":localsend:",
- ["Logic Pro"] = ":logicpro:",
- ["Logseq"] = ":logseq:",
- ["Canary Mail"] = ":mail:",
- ["HEY"] = ":mail:",
- ["Mail"] = ":mail:",
- ["Mailspring"] = ":mail:",
- ["MailMate"] = ":mail:",
- ["Superhuman"] = ":mail:",
- ["邮件"] = ":mail:",
- ["MAMP"] = ":mamp:",
- ["MAMP PRO"] = ":mamp:",
- ["Maps"] = ":maps:",
- ["Google Maps"] = ":maps:",
- ["Matlab"] = ":matlab:",
- ["Mattermost"] = ":mattermost:",
- ["Messages"] = ":messages:",
- ["信息"] = ":messages:",
- ["Nachrichten"] = ":messages:",
- ["Messenger"] = ":messenger:",
- ["Microsoft Edge"] = ":microsoft_edge:",
- ["Microsoft Excel"] = ":microsoft_excel:",
- ["Microsoft Outlook"] = ":microsoft_outlook:",
- ["Microsoft PowerPoint"] = ":microsoft_power_point:",
- ["Microsoft Remote Desktop"] = ":microsoft_remote_desktop:",
- ["Microsoft Teams"] = ":microsoft_teams:",
- ["Microsoft Teams (work or school)"] = ":microsoft_teams:",
- ["Microsoft Word"] = ":microsoft_word:",
- ["Min"] = ":min_browser:",
- ["Miro"] = ":miro:",
- ["MongoDB Compass"] = ":mongodb:",
- ["mpv"] = ":mpv:",
- ["Mullvad Browser"] = ":mullvad_browser:",
- ["Music"] = ":music:",
- ["音乐"] = ":music:",
- ["Musique"] = ":music:",
- ["Neovide"] = ":neovide:",
- ["neovide"] = ":neovide:",
- ["Neovim"] = ":neovim:",
- ["neovim"] = ":neovim:",
- ["nvim"] = ":neovim:",
- ["网易云音乐"] = ":netease_music:",
- ["Noodl"] = ":noodl:",
- ["Noodl Editor"] = ":noodl:",
- ["NordVPN"] = ":nord_vpn:",
- ["Notability"] = ":notability:",
- ["Notes"] = ":notes:",
- ["Notizen"] = ":notes:",
- ["备忘录"] = ":notes:",
- ["Notion"] = ":notion:",
- ["Nova"] = ":nova:",
- ["Numbers"] = ":numbers:",
- ["Numbers 表格"] = ":numbers:",
- ["Obsidian"] = ":obsidian:",
- ["OBS"] = ":obsstudio:",
- ["OmniFocus"] = ":omni_focus:",
- ["1Password"] = ":one_password:",
- ["ChatGPT"] = ":openai:",
- ["OpenVPN Connect"] = ":openvpn_connect:",
- ["Opera"] = ":opera:",
- ["OrcaSlicer"] = ":orcaslicer:",
- ["Orion"] = ":orion:",
- ["Orion RC"] = ":orion:",
- ["Pages"] = ":pages:",
- ["Pages 文稿"] = ":pages:",
- ["Parallels Desktop"] = ":parallels:",
- ["Parsec"] = ":parsec:",
- ["Preview"] = ":pdf:",
- ["预览"] = ":pdf:",
- ["Skim"] = ":pdf:",
- ["zathura"] = ":pdf:",
- ["Aperçu"] = ":pdf:",
- ["PDF Expert"] = ":pdf_expert:",
- ["Adobe Photoshop"] = ":photoshop:",
- ["Pi-hole Remote"] = ":pihole:",
- ["Pine"] = ":pine:",
- ["Podcasts"] = ":podcasts:",
- ["播客"] = ":podcasts:",
- ["PomoDone App"] = ":pomodone:",
- ["Postman"] = ":postman:",
- ["PrusaSlicer"] = ":prusaslicer:",
- ["SuperSlicer"] = ":prusaslicer:",
- ["PyCharm"] = ":pycharm:",
- ["QQ"] = ":qq:",
- ["QQ音乐"] = ":qqmusic:",
- ["QQMusic"] = ":qqmusic:",
- ["Quantumult X"] = ":quantumult_x:",
- ["qutebrowser"] = ":qute_browser:",
- ["Raindrop.io"] = ":raindrop_io:",
- ["Reeder"] = ":reeder5:",
- ["Reminders"] = ":reminders:",
- ["提醒事项"] = ":reminders:",
- ["Rappels"] = ":reminders:",
- ["Replit"] = ":replit:",
- ["Rider"] = ":rider:",
- ["JetBrains Rider"] = ":rider:",
- ["Safari"] = ":safari:",
- ["Safari浏览器"] = ":safari:",
- ["Safari Technology Preview"] = ":safari:",
- ["Sequel Ace"] = ":sequel_ace:",
- ["Sequel Pro"] = ":sequel_pro:",
- ["Setapp"] = ":setapp:",
- ["SF Symbols"] = ":sf_symbols:",
- ["Signal"] = ":signal:",
- ["Sketch"] = ":sketch:",
- ["Skype"] = ":skype:",
- ["Slack"] = ":slack:",
- ["Spark"] = ":spark:",
- ["Spotify"] = ":spotify:",
- ["Spotlight"] = ":spotlight:",
- ["Sublime Text"] = ":sublime_text:",
- ["Tana"] = ":tana:",
- ["TeamSpeak 3"] = ":team_speak:",
- ["Telegram"] = ":telegram:",
- ["Terminal"] = ":terminal:",
- ["终端"] = ":terminal:",
- ["Typora"] = ":text:",
- ["Microsoft To Do"] = ":things:",
- ["Things"] = ":things:",
- ["Thunderbird"] = ":thunderbird:",
- ["TickTick"] = ":tick_tick:",
- ["TIDAL"] = ":tidal:",
- ["Tiny RDM"] = ":tinyrdm:",
- ["Todoist"] = ":todoist:",
- ["Toggl Track"] = ":toggl_track:",
- ["Tor Browser"] = ":tor_browser:",
- ["Tower"] = ":tower:",
- ["Transmit"] = ":transmit:",
- ["Trello"] = ":trello:",
- ["Tweetbot"] = ":twitter:",
- ["Twitter"] = ":twitter:",
- ["MacVim"] = ":vim:",
- ["Vim"] = ":vim:",
- ["VimR"] = ":vim:",
- ["Vivaldi"] = ":vivaldi:",
- ["VLC"] = ":vlc:",
- ["VMware Fusion"] = ":vmware_fusion:",
- ["VSCodium"] = ":vscodium:",
- ["Warp"] = ":warp:",
- ["WebStorm"] = ":web_storm:",
- ["微信"] = ":wechat:",
- ["WeChat"] = ":wechat:",
- ["企业微信"] = ":wecom:",
- ["WeCom"] = ":wecom:",
- ["WezTerm"] = ":wezterm:",
- ["WhatsApp"] = ":whats_app:",
- ["‎WhatsApp"] = ":whats_app:",
- ["Xcode"] = ":xcode:",
- ["Яндекс Музыка"] = ":yandex_music:",
- ["Yuque"] = ":yuque:",
- ["语雀"] = ":yuque:",
- ["Zed"] = ":zed:",
- ["Zeplin"] = ":zeplin:",
- ["zoom.us"] = ":zoom:",
- ["Zotero"] = ":zotero:",
- ["Zulip"] = ":zulip:",
- ["default"] = ":default:",
+ ["Live"] = "\u{f26c}", -- Assuming Ableton Live, using a music-related icon (Font Awesome)
+ ["Adobe Bridge 2024"] = "\u{e65f}", -- Adobe generic or bridge-like icon (Devicons)
+ ["Affinity Designer"] = "\u{e65e}", -- Design-related icon (approximation)
+ ["Affinity Designer 2"] = "\u{e65e}", -- Same as above
+ ["Affinity Photo"] = "\u{f03e}", -- Photo icon (Font Awesome)
+ ["Affinity Photo 2"] = "\u{f03e}", -- Same as above
+ ["Affinity Publisher"] = "\u{f1ea}", -- Newspaper/book icon (Font Awesome)
+ ["Affinity Publisher 2"] = "\u{f1ea}", -- Same as above
+ ["Airmail"] = "\u{f0e0}", -- Envelope icon (Font Awesome)
+ ["Alacritty"] = "\u{f120}", -- Terminal icon (Font Awesome)
+ ["Alfred Preferences"] = "\u{f013}", -- Gear icon for settings (Font Awesome)
+ ["Android Messages"] = "\u{e624}", -- Android SMS icon (Devicons)
+ ["Android Studio"] = "\u{e70c}", -- Android Studio icon (Devicons)
+ ["Anytype"] = "\u{f15c}", -- Generic document icon (Font Awesome)
+ ["App Eraser"] = "\u{f2ed}", -- Trash icon (Font Awesome)
+ ["App Store"] = "\u{f3ab}", -- Store-like icon (Font Awesome)
+ ["Arc"] = "\u{f7a0}", -- Browser-like arc icon (approximation)
+ ["Atom"] = "\u{e764}", -- Atom icon (Devicons)
+ ["Audacity"] = "\u{f025}", -- Audio icon (Font Awesome)
+ ["Bambu Studio"] = "\u{f5ab}", -- 3D print-related icon (approximation)
+ ["MoneyMoney"] = "\u{f53a}", -- Bank icon (Font Awesome)
+ ["Bear"] = "\u{f1fc}", -- Writing/pencil icon (Font Awesome)
+ ["BetterTouchTool"] = "\u{f25a}", -- Tool icon (Font Awesome)
+ ["Bilibili"] = "\u{f167}", -- Video platform (YouTube-like, Font Awesome)
+ ["哔哩哔哩"] = "\u{f167}", -- Same as Bilibili
+ ["Bitwarden"] = "\u{f023}", -- Lock icon (Font Awesome)
+ ["Blender"] = "\u{e728}", -- Blender icon (Devicons)
+ ["BluOS Controller"] = "\u{f001}", -- Music icon (Font Awesome)
+ ["Calibre"] = "\u{f02d}", -- Book icon (Font Awesome)
+ ["Brave Browser"] = "\u{e77d}", -- Brave icon (Devicons)
+ ["Calculator"] = "\u{f1ec}", -- Calculator icon (Font Awesome)
+ ["Soulver 3"] = "\u{f1ec}", -- Same as above
+ ["Calculette"] = "\u{f1ec}", -- Same as above
+ ["Calendar"] = "\u{f073}", -- Calendar icon (Font Awesome)
+ ["日历"] = "\u{f073}", -- Same as above
+ ["Fantastical"] = "\u{f073}", -- Same as above
+ ["Cron"] = "\u{f073}", -- Same as above
+ ["Amie"] = "\u{f073}", -- Same as above
+ ["Calendrier"] = "\u{f073}", -- Same as above
+ ["Notion Calendar"] = "\u{f073}", -- Same as above
+ ["Caprine"] = "\u{f086}", -- Chat icon (Font Awesome)
+ ["Citrix Workspace"] = "\u{f0c2}", -- Cloud icon (Font Awesome)
+ ["Citrix Viewer"] = "\u{f0c2}", -- Same as above
+ ["ClickUp"] = "\u{f0ae}", -- Task list icon (Font Awesome)
+ ["Code"] = "\u{e71e}", -- VS Code icon (Devicons)
+ ["Code - Insiders"] = "\u{e71e}", -- Same as above
+ ["Color Picker"] = "\u{f1fb}", -- Eye dropper icon (Font Awesome)
+ ["数码测色计"] = "\u{f1fb}", -- Same as above
+ ["CotEditor"] = "\u{f044}", -- Edit icon (Font Awesome)
+ ["Cypress"] = "\u{e725}", -- Cypress icon (Devicons)
+ ["DataGrip"] = "\u{e7b4}", -- JetBrains DB icon (Devicons)
+ ["DataSpell"] = "\u{e7b2}", -- JetBrains Data icon (Devicons)
+ ["DaVinci Resolve"] = "\u{f03d}", -- Video icon (Font Awesome)
+ ["Default"] = "\u{f111}", -- Circle/default icon (Font Awesome)
+ ["CleanMyMac X"] = "\u{f2f9}", -- Broom/cleaning icon (Font Awesome)
+ ["DEVONthink 3"] = "\u{f15c}", -- Document icon (Font Awesome)
+ ["DingTalk"] = "\u{f075}", -- Comment/chat icon (Font Awesome)
+ ["钉钉"] = "\u{f075}", -- Same as above
+ ["阿里钉"] = "\u{f075}", -- Same as above
+ ["Discord"] = "\u{f392}", -- Discord icon (Font Awesome)
+ ["Discord Canary"] = "\u{f392}", -- Same as above
+ ["Discord PTB"] = "\u{f392}", -- Same as above
+ ["Docker"] = "\u{f395}", -- Docker icon (Font Awesome)
+ ["Docker Desktop"] = "\u{f395}", -- Same as above
+ ["GrandTotal"] = "\u{f155}", -- Dollar sign (Font Awesome)
+ ["Receipts"] = "\u{f155}", -- Same as above
+ ["Double Commander"] = "\u{f07b}", -- Folder icon (Font Awesome)
+ ["Drafts"] = "\u{f15b}", -- Draft icon (Font Awesome)
+ ["Dropbox"] = "\u{f16b}", -- Dropbox icon (Font Awesome)
+ ["Element"] = "\u{f086}", -- Chat icon (Font Awesome)
+ ["Emacs"] = "\u{e632}", -- Emacs icon (Devicons)
+ ["Evernote Legacy"] = "\u{f24d}", -- Evernote icon (Font Awesome)
+ ["FaceTime"] = "\u{f095}", -- Phone icon (Font Awesome)
+ ["FaceTime 通话"] = "\u{f095}", -- Same as above
+ ["Figma"] = "\u{f699}", -- Figma icon (Font Awesome)
+ ["Final Cut Pro"] = "\u{f03d}", -- Video icon (Font Awesome)
+ ["Finder"] = "\u{f07c}", -- Folder open icon (Font Awesome)
+ ["访达"] = "\u{f07c}", -- Same as above
+ ["Firefox"] = "\u{e75c}", -- Firefox icon (Devicons)
+ ["Firefox Developer Edition"] = "\u{e75c}", -- Same as above
+ ["Firefox Nightly"] = "\u{e75c}", -- Same as above
+ ["Folx"] = "\u{f019}", -- Download icon (Font Awesome)
+ ["Fusion"] = "\u{f126}", -- Code branch icon (Font Awesome)
+ ["System Preferences"] = "\u{f013}", -- Gear icon (Font Awesome)
+ ["System Settings"] = "\u{f013}", -- Same as above
+ ["Systemeinstellungen"] = "\u{f013}", -- Same as above
+ ["系统设置"] = "\u{f013}", -- Same as above
+ ["Réglages Système"] = "\u{f013}", -- Same as above
+ ["GitHub Desktop"] = "\u{f09b}", -- GitHub icon (Font Awesome)
+ ["Godot"] = "\u{e73b}", -- Godot icon (Devicons)
+ ["GoLand"] = "\u{e724}", -- GoLand icon (Devicons)
+ ["Chromium"] = "\u{e743}", -- Chromium icon (Devicons)
+ ["Google Chrome"] = "\u{e743}", -- Chrome icon (Devicons)
+ ["Google Chrome Canary"] = "\u{e743}", -- Same as above
+ ["Grammarly Editor"] = "\u{f044}", -- Edit icon (Font Awesome)
+ ["Home Assistant"] = "\u{f015}", -- Home icon (Font Awesome)
+ ["Hyper"] = "\u{f120}", -- Terminal icon (Font Awesome)
+ ["IntelliJ IDEA"] = "\u{e7b5}", -- IntelliJ icon (Devicons)
+ ["Inkdrop"] = "\u{f15c}", -- Note icon (Font Awesome)
+ ["Inkscape"] = "\u{e634}", -- Inkscape icon (Devicons)
+ ["Insomnia"] = "\u{f186}", -- Moon/sleep icon (Font Awesome)
+ ["Iris"] = "\u{f06e}", -- Eye icon (Font Awesome)
+ ["iTerm"] = "\u{f120}", -- Terminal icon (Font Awesome)
+ ["iTerm2"] = "\u{f120}", -- Same as above
+ ["Jellyfin Media Player"] = "\u{f144}", -- Play circle icon (Font Awesome)
+ ["Joplin"] = "\u{f15c}", -- Note icon (Font Awesome)
+ ["카카오톡"] = "\u{f075}", -- Chat icon (Font Awesome)
+ ["KakaoTalk"] = "\u{f075}", -- Same as above
+ ["Kakoune"] = "\u{f044}", -- Edit icon (Font Awesome)
+ ["KeePassXC"] = "\u{f084}", -- Key icon (Font Awesome)
+ ["Secrets"] = "\u{f023}", -- Lock icon (Font Awesome)
+ ["Keyboard Maestro"] = "\u{f11c}", -- Keyboard icon (Font Awesome)
+ ["Keynote"] = "\u{f1ea}", -- Presentation icon (Font Awesome)
+ ["Keynote 讲演"] = "\u{f1ea}", -- Same as above
+ ["kitty"] = "\u{f120}", -- Terminal icon (Font Awesome)
+ ["League of Legends"] = "\u{f11b}", -- Gamepad icon (Font Awesome)
+ ["LibreWolf"] = "\u{e75c}", -- Firefox-like icon (Devicons)
+ ["Adobe Lightroom"] = "\u{e65b}", -- Lightroom icon (Devicons)
+ ["Lightroom Classic"] = "\u{e65b}", -- Same as above
+ ["LINE"] = "\u{f3c0}", -- LINE icon (Font Awesome)
+ ["Linear"] = "\u{f0ae}", -- Task icon (Font Awesome)
+ ["LM Studio"] = "\u{f15c}", -- Generic studio icon (Font Awesome)
+ ["LocalSend"] = "\u{f019}", -- Download/share icon (Font Awesome)
+ ["Logic Pro"] = "\u{f001}", -- Music icon (Font Awesome)
+ ["Logseq"] = "\u{f15c}", -- Note icon (Font Awesome)
+ ["Canary Mail"] = "\u{f0e0}", -- Email icon (Font Awesome)
+ ["HEY"] = "\u{f0e0}", -- Same as above
+ ["Mail"] = "\u{f0e0}", -- Same as above
+ ["Mailspring"] = "\u{f0e0}", -- Same as above
+ ["MailMate"] = "\u{f0e0}", -- Same as above
+ ["Superhuman"] = "\u{f0e0}", -- Same as above
+ ["邮件"] = "\u{f0e0}", -- Same as above
+ ["MAMP"] = "\u{f233}", -- Server icon (Font Awesome)
+ ["MAMP PRO"] = "\u{f233}", -- Same as above
+ ["Maps"] = "\u{f3c5}", -- Map icon (Font Awesome)
+ ["Google Maps"] = "\u{f3c5}", -- Same as above
+ ["Matlab"] = "\u{f0ae}", -- Math/task icon (Font Awesome)
+ ["Mattermost"] = "\u{f086}", -- Chat icon (Font Awesome)
+ ["Messages"] = "\u{f0e5}", -- Comment dots icon (Font Awesome)
+ ["信息"] = "\u{f0e5}", -- Same as above
+ ["Nachrichten"] = "\u{f0e5}", -- Same as above
+ ["Messenger"] = "\u{f39f}", -- Messenger icon (Font Awesome)
+ ["Microsoft Edge"] = "\u{e77f}", -- Edge icon (Devicons)
+ ["Microsoft Excel"] = "\u{e67c}", -- Excel icon (Devicons)
+ ["Microsoft Outlook"] = "\u{e67e}", -- Outlook icon (Devicons)
+ ["Microsoft PowerPoint"] = "\u{e67f}", -- PowerPoint icon (Devicons)
+ ["Microsoft Remote Desktop"] = "\u{f108}", -- Desktop icon (Font Awesome)
+ ["Microsoft Teams"] = "\u{f4b7}", -- Teams icon (Font Awesome)
+ ["Microsoft Teams (work or school)"] = "\u{f4b7}", -- Same as above
+ ["Microsoft Word"] = "\u{e680}", -- Word icon (Devicons)
+ ["Min"] = "\u{f26a}", -- Browser-like icon (Font Awesome)
+ ["Miro"] = "\u{f12f}", -- Board icon (Font Awesome)
+ ["MongoDB Compass"] = "\u{e63e}", -- MongoDB icon (Devicons)
+ ["mpv"] = "\u{f144}", -- Play circle icon (Font Awesome)
+ ["Mullvad Browser"] = "\u{f503}", -- Shield/anon icon (Font Awesome)
+ ["Music"] = "\u{f001}", -- Music icon (Font Awesome)
+ ["音乐"] = "\u{f001}", -- Same as above
+ ["Musique"] = "\u{f001}", -- Same as above
+ ["Neovide"] = "\u{e7c5}", -- Vim-like icon (Devicons)
+ ["neovide"] = "\u{e7c5}", -- Same as above
+ ["Neovim"] = "\u{e7c5}", -- Neovim icon (Devicons)
+ ["neovim"] = "\u{e7c5}", -- Same as above
+ ["nvim"] = "\u{e7c5}", -- Same as above
+ ["网易云音乐"] = "\u{f001}", -- Music icon (Font Awesome)
+ ["Noodl"] = "\u{f0c5}", -- Nodes/connection icon (Font Awesome)
+ ["Noodl Editor"] = "\u{f0c5}", -- Same as above
+ ["NordVPN"] = "\u{f023}", -- Lock/VPN icon (Font Awesome)
+ ["Notability"] = "\u{f15c}", -- Note icon (Font Awesome)
+ ["Notes"] = "\u{f15c}", -- Note icon (Font Awesome)
+ ["Notizen"] = "\u{f15c}", -- Same as above
+ ["备忘录"] = "\u{f15c}", -- Same as above
+ ["Notion"] = "\u{e727}", -- Notion icon (Devicons)
+ ["Nova"] = "\u{f005}", -- Star/new icon (Font Awesome)
+ ["Numbers"] = "\u{f1ec}", -- Table/calc icon (Font Awesome)
+ ["Numbers 表格"] = "\u{f1ec}", -- Same as above
+ ["Obsidian"] = "\u{e73e}", -- Obsidian icon (Devicons)
+ ["OBS"] = "\u{f03d}", -- Video/stream icon (Font Awesome)
+ ["OmniFocus"] = "\u{f0ae}", -- Task icon (Font Awesome)
+ ["1Password"] = "\u{f023}", -- Lock icon (Font Awesome)
+ ["ChatGPT"] = "\u{f0c9}", -- AI/chat icon (Font Awesome)
+ ["OpenVPN Connect"] = "\u{f023}", -- Lock/VPN icon (Font Awesome)
+ ["Opera"] = "\u{e77e}", -- Opera icon (Devicons)
+ ["OrcaSlicer"] = "\u{f5ab}", -- 3D print icon (Font Awesome)
+ ["Orion"] = "\u{f135}", -- Rocket/browser icon (Font Awesome)
+ ["Orion RC"] = "\u{f135}", -- Same as above
+ ["Pages"] = "\u{f15b}", -- Document icon (Font Awesome)
+ ["Pages 文稿"] = "\u{f15b}", -- Same as above
+ ["Parallels Desktop"] = "\u{f108}", -- Desktop icon (Font Awesome)
+ ["Parsec"] = "\u{f11b}", -- Gamepad/remote icon (Font Awesome)
+ ["Preview"] = "\u{f1c1}", -- PDF icon (Font Awesome)
+ ["预览"] = "\u{f1c1}", -- Same as above
+ ["Skim"] = "\u{f1c1}", -- Same as above
+ ["zathura"] = "\u{f1c1}", -- Same as above
+ ["Aperçu"] = "\u{f1c1}", -- Same as above
+ ["PDF Expert"] = "\u{f1c1}", -- Same as above
+ ["Adobe Photoshop"] = "\u{e65d}", -- Photoshop icon (Devicons)
+ ["Pi-hole Remote"] = "\u{f0c2}", -- Cloud/network icon (Font Awesome)
+ ["Pine"] = "\u{f075}", -- Chat/email icon (Font Awesome)
+ ["Podcasts"] = "\u{f2ce}", -- Podcast icon (Font Awesome)
+ ["播客"] = "\u{f2ce}", -- Same as above
+ ["PomoDone App"] = "\u{f017}", -- Clock icon (Font Awesome)
+ ["Postman"] = "\u{f0ec}", -- API/send icon (Font Awesome)
+ ["PrusaSlicer"] = "\u{f5ab}", -- 3D print icon (Font Awesome)
+ ["SuperSlicer"] = "\u{f5ab}", -- Same as above
+ ["PyCharm"] = "\u{e706}", -- PyCharm icon (Devicons)
+ ["QQ"] = "\u{f075}", -- Chat icon (Font Awesome)
+ ["QQ音乐"] = "\u{f001}", -- Music icon (Font Awesome)
+ ["QQMusic"] = "\u{f001}", -- Same as above
+ ["Quantumult X"] = "\u{f0c2}", -- Network/proxy icon (Font Awesome)
+ ["qutebrowser"] = "\u{f26a}", -- Browser icon (Font Awesome)
+ ["Raindrop.io"] = "\u{f5c6}", -- Bookmark icon (Font Awesome)
+ ["Reeder"] = "\u{f09e}", -- RSS icon (Font Awesome)
+ ["Reminders"] = "\u{f0f3}", -- Bell/reminder icon (Font Awesome)
+ ["提醒事项"] = "\u{f0f3}", -- Same as above
+ ["Rappels"] = "\u{f0f3}", -- Same as above
+ ["Replit"] = "\u{f121}", -- Code icon (Font Awesome)
+ ["Rider"] = "\u{e7b7}", -- Rider icon (Devicons)
+ ["JetBrains Rider"] = "\u{e7b7}", -- Same as above
+ ["Safari"] = "\u{e74f}", -- Safari icon (Devicons)
+ ["Safari浏览器"] = "\u{e74f}", -- Same as above
+ ["Safari Technology Preview"] = "\u{e74f}", -- Same as above
+ ["Sequel Ace"] = "\u{f1c0}", -- Database icon (Font Awesome)
+ ["Sequel Pro"] = "\u{f1c0}", -- Same as above
+ ["Setapp"] = "\u{f019}", -- Download/app icon (Font Awesome)
+ ["SF Symbols"] = "\u{f12e}", -- Symbol/icon icon (Font Awesome)
+ ["Signal"] = "\u{f086}", -- Chat icon (Font Awesome)
+ ["Sketch"] = "\u{e735}", -- Sketch icon (Devicons)
+ ["Skype"] = "\u{f17e}", -- Skype icon (Font Awesome)
+ ["Slack"] = "\u{f198}", -- Slack icon (Font Awesome)
+ ["Spark"] = "\u{f0e0}", -- Email icon (Font Awesome)
+ ["Spotify"] = "\u{f1bc}", -- Spotify icon (Font Awesome)
+ ["Spotlight"] = "\u{f002}", -- Search icon (Font Awesome)
+ ["Sublime Text"] = "\u{e7aa}", -- Sublime Text icon (Devicons)
+ ["Tana"] = "\u{f15c}", -- Note icon (Font Awesome)
+ ["TeamSpeak 3"] = "\u{f4b6}", -- Teamspeak icon (Font Awesome)
+ ["Telegram"] = "\u{f2c6}", -- Telegram icon (Font Awesome)
+ ["Terminal"] = "\u{f120}", -- Terminal icon (Font Awesome)
+ ["终端"] = "\u{f120}", -- Same as above
+ ["Typora"] = "\u{f15c}", -- Text icon (Font Awesome)
+ ["Microsoft To Do"] = "\u{f0ae}", -- Task icon (Font Awesome)
+ ["Things"] = "\u{f0ae}", -- Same as above
+ ["Thunderbird"] = "\u{e716}", -- Thunderbird icon (Devicons)
+ ["TickTick"] = "\u{f017}", -- Clock/task icon (Font Awesome)
+ ["TIDAL"] = "\u{f001}", -- Music icon (Font Awesome)
+ ["Tiny RDM"] = "\u{f1c0}", -- Database icon (Font Awesome)
+ ["Todoist"] = "\u{f0ae}", -- Task icon (Font Awesome)
+ ["Toggl Track"] = "\u{f017}", -- Clock icon (Font Awesome)
+ ["Tor Browser"] = "\u{f503}", -- Anon/shield icon (Font Awesome)
+ ["Tower"] = "\u{f126}", -- Git branch icon (Font Awesome)
+ ["Transmit"] = "\u{f019}", -- Download/upload icon (Font Awesome)
+ ["Trello"] = "\u{f181}", -- Trello icon (Font Awesome)
+ ["Tweetbot"] = "\u{f099}", -- Twitter icon (Font Awesome)
+ ["Twitter"] = "\u{f099}", -- Same as above
+ ["MacVim"] = "\u{e7c5}", -- Vim icon (Devicons)
+ ["Vim"] = "\u{e7c5}", -- Same as above
+ ["VimR"] = "\u{e7c5}", -- Same as above
+ ["Vivaldi"] = "\u{e77b}", -- Vivaldi icon (Devicons)
+ ["VLC"] = "\u{f144}", -- Play circle icon (Font Awesome)
+ ["VMware Fusion"] = "\u{f108}", -- Desktop/VM icon (Font Awesome)
+ ["VSCodium"] = "\u{e71e}", -- VS Code-like icon (Devicons)
+ ["Warp"] = "\u{f120}", -- Terminal icon (Font Awesome)
+ ["WebStorm"] = "\u{e7b0}", -- WebStorm icon (Devicons)
+ ["微信"] = "\u{f1d7}", -- WeChat icon (Font Awesome)
+ ["WeChat"] = "\u{f1d7}", -- Same as above
+ ["企业微信"] = "\u{f1d7}", -- Same as above (WeCom)
+ ["WeCom"] = "\u{f1d7}", -- Same as above
+ ["WezTerm"] = "\u{f120}", -- Terminal icon (Font Awesome)
+ ["WhatsApp"] = "\u{f232}", -- WhatsApp icon (Font Awesome)
+ ["WhatsApp"] = "\u{f232}", -- Same as above
+ ["Xcode"] = "\u{e711}", -- Xcode icon (Devicons)
+ ["Яндекс Музыка"] = "\u{f001}", -- Music icon (Font Awesome)
+ ["Yuque"] = "\u{f15c}", -- Note icon (Font Awesome)
+ ["语雀"] = "\u{f15c}", -- Same as above
+ ["Zed"] = "\u{f044}", -- Edit icon (Font Awesome)
+ ["Zeplin"] = "\u{f280}", -- Design/board icon (Font Awesome)
+ ["zoom.us"] = "\u{f03d}", -- Video icon (Font Awesome)
+ ["Zotero"] = "\u{f02d}", -- Book/reference icon (Font Awesome)
+ ["Zulip"] = "\u{f086}", -- Chat icon (Font Awesome)
+ ["default"] = "\u{f111}", -- Circle/default icon (Font Awesome)
}
local text <const> = {
diff --git a/.config/sketchybar/constants.lua b/.config/sketchybar/constants.lua
index ef3af8d..38fa85a 100644
--- a/.config/sketchybar/constants.lua
+++ b/.config/sketchybar/constants.lua
@@ -1,9 +1,13 @@
local events <const> = {
AEROSPACE_WORKSPACE_CHANGED = "aerospace_workspace_changed",
+ AEROSPACE_WINDOWS_CHANGED = "aerospace_windows_changed",
+ SKETCHY_WINDOWS_CHANGED = "space_windows_changed",
AEROSPACE_SWITCH = "aerospace_switch",
SWAP_MENU_AND_SPACES = "swap_menu_and_spaces",
FRONT_APP_SWITCHED = "front_app_switched",
UPDATE_WINDOWS = "update_windows",
+ UPDATE_MOVED_WINDOWS = "update_moved_windows",
+ USER_TRIGGER_FRONTAPP = "manual_trigger_front_app",
SEND_MESSAGE = "send_message",
HIDE_MESSAGE = "hide_message",
}
diff --git a/.config/sketchybar/items/front_apps.lua b/.config/sketchybar/items/front_apps.lua
index 30fbd25..337053f 100644
--- a/.config/sketchybar/items/front_apps.lua
+++ b/.config/sketchybar/items/front_apps.lua
@@ -1,6 +1,8 @@
local constants = require("constants")
local settings = require("config.settings")
+M = {}
+
local frontApps = {}
sbar.add("bracket", constants.items.FRONT_APPS, {}, { position = "left" })
@@ -11,6 +13,7 @@ local frontAppWatcher = sbar.add("item", {
})
local function selectFocusedWindow(frontAppName)
+ M["frontapp"] = frontAppName
for appName, app in pairs(frontApps) do
local isSelected = appName == frontAppName
local color = isSelected and settings.colors.orange or settings.colors.white
@@ -67,3 +70,5 @@ frontAppWatcher:subscribe(constants.events.UPDATE_WINDOWS, function()
end)
getWindows()
+
+return M
diff --git a/.config/sketchybar/items/menu_spaces_toggle.lua b/.config/sketchybar/items/menu_spaces_toggle.lua
index 643336d..b77727b 100644
--- a/.config/sketchybar/items/menu_spaces_toggle.lua
+++ b/.config/sketchybar/items/menu_spaces_toggle.lua
@@ -4,10 +4,10 @@ local settings = require("config.settings")
sbar.add("event", constants.events.SWAP_MENU_AND_SPACES)
local function switchToggle(menuToggle)
- local isShowingMenu = menuToggle:query().icon.value == settings.icons.text.switch.on
+ local isShowingMenu = menuToggle:query().icon.value == settings.icons.text.nerdfont.switch.on
menuToggle:set({
- icon = isShowingMenu and settings.icons.text.switch.off or settings.icons.text.switch.on,
+ icon = isShowingMenu and settings.icons.text.nerdfont.switch.off or settings.icons.text.nerdfont.switch.on,
label = isShowingMenu and "Menus" or "Spaces",
})
diff --git a/.config/sketchybar/items/spaces.lua b/.config/sketchybar/items/spaces.lua
index 7595df5..28b1ebb 100644
--- a/.config/sketchybar/items/spaces.lua
+++ b/.config/sketchybar/items/spaces.lua
@@ -1,3 +1,4 @@
+-- TODO: Highlighting is kinda fixed, multiple windows in one space label is broken, last two things, but annoying
local constants = require("constants")
local settings = require("config.settings")
@@ -13,16 +14,6 @@ local currentWorkspaceWatcher = sbar.add("item", {
updates = true,
})
--- Modify this file with Visual Studio Code - at least vim does have problems with the icons
--- copy "Icons" from the nerd fonts cheat sheet and replace icon and name accordingly below
--- https://www.nerdfonts.com/cheat-sheet
-local spaceConfigs <const> = {
- ["1"] = { icon = "󱅝", name = "iTerm2" },
- ["2"] = { icon = "󰖟", name = "Firefox" },
- ["3"] = { icon = "󱞁", name = "Notes" },
- ["4"] = { icon = "󰌾", name = "Secrets" },
-}
-
local function selectCurrentWorkspace(focusedWorkspaceName)
for sid, item in pairs(spaces) do
if item ~= nil then
@@ -35,7 +26,7 @@ local function selectCurrentWorkspace(focusedWorkspaceName)
end
end
- sbar.trigger(constants.events.UPDATE_WINDOWS)
+ -- sbar.trigger(constants.events.UPDATE_WINDOWS)
end
local function findAndSelectCurrentWorkspace()
@@ -47,16 +38,16 @@ end
local function addWorkspaceItem(workspaceName)
local spaceName = constants.items.SPACES .. "." .. workspaceName
- local spaceConfig = spaceConfigs[workspaceName]
spaces[spaceName] = sbar.add("item", spaceName, {
label = {
width = 0,
padding_left = 0,
- string = spaceConfig.name,
+ string = "Empty",
},
icon = {
- string = spaceConfig.icon or settings.icons.apps["default"],
+ string = workspaceName,
+ font = settings.fonts.icons(),
color = settings.colors.white,
},
background = {
@@ -82,24 +73,128 @@ local function addWorkspaceItem(workspaceName)
})
end
-local function createWorkspaces()
+local function updateWorkspaceItem(workspaceWindows, spacePos)
+ local space = constants.items.SPACES .. "." .. spacePos
+ -- spaces[space] = nil
+ -- sbar.remove("/" .. constants.items.SPACES .. "\\." .. spacePos .. "/")
+ local foundWindows = {}
+ if workspaceWindows then
+ foundWindows = workspaceWindows:gmatch("[^\n]+")
+ end
+
+ local windowsInSpace = {}
+ local firstIcon = nil
+ local firstWinID = nil
+ local cnt = 0
+ if foundWindows ~= nil and foundWindows ~= "" then
+ for window in foundWindows do
+ cnt = cnt + 1
+ local parsedWindow = {}
+ for key, value in string.gmatch(window, "(%w+)=([%w%s]+)") do
+ parsedWindow[key] = value
+ end
+
+ local windowName = parsedWindow["name"]
+ local icon = settings.icons.apps[windowName] or settings.icons.apps["default"]
+ table.insert(windowsInSpace, windowName)
+
+ if cnt == 1 then
+ firstIcon = icon
+ firstWinID = parsedWindow["id"]
+ end
+ end
+ elseif foundWindows == "" then
+ print("!!! no windows in " .. space .. "moving along !!!")
+ else
+ print("nothing works anymore... and your gonna carry that weight")
+ end
+
+ spaces[space]:set("item", space, {
+ label = {
+ width = 0,
+ padding_left = 0,
+ string = table.concat(windowsInSpace, " ") or "Empty",
+ },
+ icon = {
+ string = firstIcon or settings.icons.apps["default"],
+ font = settings.fonts.icons(),
+ color = settings.colors.white,
+ },
+ background = {
+ color = settings.colors.bg1,
+ },
+ click_script = "aerospace focus --window-id " .. tostring(firstWinID),
+ })
+
+ spaces[space]:subscribe("mouse.entered", function(env)
+ sbar.animate("tanh", 30, function()
+ spaces[space]:set({ label = { width = "dynamic" } })
+ end)
+ end)
+
+ spaces[space]:subscribe("mouse.exited", function(env)
+ sbar.animate("tanh", 30, function()
+ spaces[space]:set({ label = { width = 0 } })
+ end)
+ end)
+
+ sbar.add("item", space .. ".padding", {
+ width = settings.dimensions.paddings.label,
+ })
+end
+
+local function triggerWorkspaceUpdates(focusedWorkSpace)
sbar.exec(constants.aerospace.LIST_ALL_WORKSPACES, function(workspacesOutput)
- for workspaceName in workspacesOutput:gmatch("[^\r\n]+") do
- addWorkspaceItem(workspaceName)
+ -- sbar.remove("/" .. constants.items.FRONT_APPS .. "\\.*/")
+ -- sbar.remove("/" .. constants.items.SPACES .. "\\.*/")
+ workspacesOutput = workspacesOutput:gmatch("[^\r\n]+")
+
+ for wpName in workspacesOutput do
+ addWorkspaceItem(wpName)
+ end
+
+ -- so sbar.exec() doesn't trigger the function if output is nothing from cmd; lazy workaround
+ for i = 1, 5, 1 do
+ sbar.exec(
+ "aerospace list-windows --workspace " .. i .. ' --format "id=%{window-id}, name=%{app-name}"',
+ function(workspaceWindows)
+ updateWorkspaceItem(workspaceWindows, i)
+ end
+ )
+ end
+
+ if focusedWorkSpace then
+ selectCurrentWorkspace(focusedWorkSpace)
end
+ end)
+end
- findAndSelectCurrentWorkspace()
+local function createWorkspaces()
+ sbar.exec(constants.aerospace.LIST_ALL_WORKSPACES, function(workspacesOutput)
+ sbar.exec('aerospace list-windows --all --format "id=%{window-id}, name=%{app-name}"', function(anyWindows)
+ triggerWorkspaceUpdates()
+ end)
+ -- if ~tableContains(sbar.query("items"), "workspaces.1") then
+ -- print()
+ -- for workspaceName in workspacesOutput:gmatch("[^\r\n]+") do
+ -- print("addWorkspaceItem(workspaceName)")
+ -- addWorkspaceItem(workspaceName)
+ -- end
+ -- end
end)
+ findAndSelectCurrentWorkspace()
end
+-- that button on the left side
swapWatcher:subscribe(constants.events.SWAP_MENU_AND_SPACES, function(env)
local isShowingSpaces = env.isShowingMenu == "off" and true or false
sbar.set("/" .. constants.items.SPACES .. "\\..*/", { drawing = isShowingSpaces })
end)
+-- highlighting
currentWorkspaceWatcher:subscribe(constants.events.AEROSPACE_WORKSPACE_CHANGED, function(env)
- selectCurrentWorkspace(env.FOCUSED_WORKSPACE)
- sbar.trigger(constants.events.UPDATE_WINDOWS)
+ triggerWorkspaceUpdates(env.FOCUSED_WORKSPACE)
end)
+-- entry point
createWorkspaces()