added mac and nvim config, i should probs add screenshots at some point
This commit is contained in:
parent
0a71517682
commit
1b9762ff5e
1
configboth/nvim/README.md
Normal file
1
configboth/nvim/README.md
Normal file
|
@ -0,0 +1 @@
|
||||||
|
This requires nvchad to be install and be dropped in for nvchad install, see here: PLACEHOLDER
|
32
configboth/nvim/lua/custom/chadrc.lua
Normal file
32
configboth/nvim/lua/custom/chadrc.lua
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
-- Just an example, supposed to be placed in /lua/custom/
|
||||||
|
|
||||||
|
local M = {}
|
||||||
|
|
||||||
|
-- make sure you maintain the structure of `core/default_config.lua` here,
|
||||||
|
-- example of changing theme:
|
||||||
|
|
||||||
|
M.ui = {
|
||||||
|
theme = "rxyhn",
|
||||||
|
}
|
||||||
|
M.plugins = {
|
||||||
|
["glepnir/dashboard-nvim"] = {
|
||||||
|
disable = false,
|
||||||
|
config = function()
|
||||||
|
require "custom.dash"
|
||||||
|
end
|
||||||
|
},
|
||||||
|
['folke/which-key.nvim'] = {disable = false},
|
||||||
|
['goolord/alpha-nvim'] = {disable = true},
|
||||||
|
['kylechui/nvim-surround'] = {
|
||||||
|
tag = "*",
|
||||||
|
config = function()
|
||||||
|
require("nvim-surround").setup({
|
||||||
|
|
||||||
|
})
|
||||||
|
end
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
return M
|
51
configboth/nvim/lua/custom/dash.lua
Normal file
51
configboth/nvim/lua/custom/dash.lua
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
local present, db = pcall(require, "dashboard")
|
||||||
|
local home = os.getenv('HOME')
|
||||||
|
if present then
|
||||||
|
db.custom_header = {
|
||||||
|
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||||
|
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡔⠁⠀⠀",
|
||||||
|
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣴⠟⠀⠀⠀⠀",
|
||||||
|
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⡀⠠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣾⡿⠋⠀⠀⠀⠀⠀",
|
||||||
|
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡾⠚⠁⠀⠀⠈⠉⠙⠒⠢⢄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣴⣿⣿⠟⠀⠀⠀⠀⠀⠀⠀",
|
||||||
|
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠳⢄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣶⣿⣿⣿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||||
|
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣴⣾⣿⡿⢻⠿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||||
|
"⠀⠀⠀⠀⠀⠀⠠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡅⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣆⠀⠀⠀⠀⢀⣀⣤⣶⣿⣿⣿⠿⠛⣡⠶⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||||
|
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⡳⣤⣴⣾⣿⣿⣿⠿⠟⠋⢀⡤⠞⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||||
|
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣀⣀⣀⣀⡀⠀⠈⡇⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⢀⣠⣤⣴⣾⣿⣿⣮⢻⡟⠋⠉⠀⠀⢀⣴⣋⣀⣀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||||
|
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⠿⠿⠿⠿⢿⣿⡟⠀⠀⠸⣆⠀⣠⣦⣄⢀⠰⡱⢸⢼⣿⣿⠿⠿⠛⠋⠉⠀⠘⣏⠀⢀⠴⠊⠼⠿⠿⠿⠿⢻⣿⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||||
|
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⠏⠀⠀⢀⡀⣸⣾⣟⣝⠻⣷⣕⠈⠁⠈⠀⢠⣤⣤⣤⣤⣤⣤⣤⣬⣷⡅⠀⠀⠀⠀⠀⠀⢠⣿⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||||
|
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⡿⣿⣄⠲⠿⠏⢾⡿⠋⠻⣇⠀⠙⢿⣦⡀⠀⠀⠈⠛⠛⠛⣋⡭⠉⠛⠛⠛⠛⡆⠀⠀⠀⢀⣴⡟⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||||
|
"⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣶⡿⠋⠀⠈⠻⣷⣄⠀⠀⠁⠀⠀⠑⢅⠀⠀⠹⣿⠆⠀⠀⢀⠴⠚⠁⠀⠀⠀⠀⠀⠀⢸⣀⣤⣶⠿⠋⠀⠈⢻⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀",
|
||||||
|
"⠀⠀⠀⠀⠀⡀⠄⠒⠀⠛⠁⠀⠀⠀⠀⠀⠘⠁⠀⠀⠀⠀⠀⠀⠀⠢⣄⠀⠀⢀⠤⠊⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢯⠋⠁⠀⠀⠀⠀⠀⠙⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||||
|
"⠀⠀⠠⠀⠁⠀⠀⠀⠀⠀⠀⠀⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢘⠶⢊⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||||
|
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡤⠚⠁⠀⠈⠱⣄⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||||
|
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⠖⠉⠀⠀⠀⠀⠀⠀⠈⠲⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||||
|
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠴⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠢⡀⠀⠀⠀⠀⠀⠀⠀⢀⡎⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||||
|
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⠖⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠐⠐⠦⢤⣤⣀⣀⡤⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||||
|
" ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡰⠚⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠂⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||||
|
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠚⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||||
|
"⠀⠀⠀⠀⠀⠀⠀⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||||
|
}
|
||||||
|
db.custom_center = {
|
||||||
|
{icon = ' ',
|
||||||
|
desc = 'Recently opened files NOTWORKING ',
|
||||||
|
action = 'DashboardFindHistory',
|
||||||
|
shortcut = 'SPC f h'},
|
||||||
|
{icon = ' ',
|
||||||
|
desc = 'Find File ',
|
||||||
|
action = 'Telescope find_files find_command=rg,--hidden,--files',
|
||||||
|
shortcut = 'SPC f f'},
|
||||||
|
{icon = ' ',
|
||||||
|
desc = 'File Browser NOTWORKING ',
|
||||||
|
action = 'Telescope file_browser',
|
||||||
|
shortcut = 'SPC f b'},
|
||||||
|
{icon = ' ',
|
||||||
|
desc = 'Find word ',
|
||||||
|
action = 'Telescope live_grep',
|
||||||
|
shortcut = 'SPC f w'},
|
||||||
|
{icon = ' ',
|
||||||
|
desc = 'Open Personal dotfiles ',
|
||||||
|
action = 'Telescope fd search_dirs=' .. home ..'/.config',
|
||||||
|
shortcut = 'SPC f d'},
|
||||||
|
}
|
||||||
|
end
|
124
configboth/nvim/lua/custom/dashtemp.txt
Normal file
124
configboth/nvim/lua/custom/dashtemp.txt
Normal file
|
@ -0,0 +1,124 @@
|
||||||
|
local colorList = {
|
||||||
|
"#DF5B61",
|
||||||
|
"#78B892",
|
||||||
|
"#DE8F78",
|
||||||
|
"#6791C9",
|
||||||
|
"#BC83E3",
|
||||||
|
"#67AFC1",
|
||||||
|
"#F16269",
|
||||||
|
"#8CD7AA",
|
||||||
|
"#E9967E",
|
||||||
|
"#79AAEB",
|
||||||
|
"#C488EC",
|
||||||
|
"#7ACFE4",
|
||||||
|
}
|
||||||
|
local num = math.random(0,12)
|
||||||
|
|
||||||
|
val = {
|
||||||
|
" * ",
|
||||||
|
" &*/ ",
|
||||||
|
" % %*** ",
|
||||||
|
" * ( & ***** ",
|
||||||
|
" / ( * ******/ ",
|
||||||
|
" # * /******** ",
|
||||||
|
" & & ******** ** ",
|
||||||
|
" % *********/ ** ",
|
||||||
|
" & /******/**/ %*( ",
|
||||||
|
" ********* & ** %**********/ **%********* ",
|
||||||
|
" *** *********/ *********,** **/ ",
|
||||||
|
" ***********/ # *** (*# ****( ",
|
||||||
|
" #***/ *** %& *** %*/ /*** *** ",
|
||||||
|
" // %& ** ",
|
||||||
|
"/ / /*/ % & & ",
|
||||||
|
" #*( /*/ ",
|
||||||
|
" & ** % ",
|
||||||
|
" % */ # & % ",
|
||||||
|
" *# ",
|
||||||
|
" /& & ",
|
||||||
|
" ## ",
|
||||||
|
" / ",
|
||||||
|
},
|
||||||
|
' ⠀⠀⠀⠀⠀⠀⠀⡴⠞⠉⢉⣭⣿⣿⠿⣳⣤⠴⠖⠛⣛⣿⣿⡷⠖⣶⣤⡀⠀⠀⠀ ',
|
||||||
|
' ⠀⠀⠀⠀⠀⠀⠀⣼⠁⢀⣶⢻⡟⠿⠋⣴⠿⢻⣧⡴⠟⠋⠿⠛⠠⠾⢛⣵⣿⠀⠀⠀⠀ ',
|
||||||
|
' ⣼⣿⡿⢶⣄⠀⢀⡇⢀⡿⠁⠈⠀⠀⣀⣉⣀⠘⣿⠀⠀⣀⣀⠀⠀⠀⠛⡹⠋⠀⠀⠀⠀ ',
|
||||||
|
' ⣭⣤⡈⢑⣼⣻⣿⣧⡌⠁⠀⢀⣴⠟⠋⠉⠉⠛⣿⣴⠟⠋⠙⠻⣦⡰⣞⠁⢀⣤⣦⣤⠀ ',
|
||||||
|
' ⠀⠀⣰⢫⣾⠋⣽⠟⠑⠛⢠⡟⠁⠀⠀⠀⠀⠀⠈⢻⡄⠀⠀⠀⠘⣷⡈⠻⣍⠤⢤⣌⣀ ',
|
||||||
|
' ⢀⡞⣡⡌⠁⠀⠀⠀⠀⢀⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⢿⡀⠀⠀⠀⠸⣇⠀⢾⣷⢤⣬⣉ ',
|
||||||
|
' ⡞⣼⣿⣤⣄⠀⠀⠀⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡇⠀⠀⠀⠀⣿⠀⠸⣿⣇⠈⠻ ',
|
||||||
|
' ⢰⣿⡿⢹⠃⠀⣠⠤⠶⣼⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡇⠀⠀⠀⠀⣿⠀⠀⣿⠛⡄⠀ ',
|
||||||
|
' ⠈⠉⠁⠀⠀⠀⡟⡀⠀⠈⡗⠲⠶⠦⢤⣤⣤⣄⣀⣀⣸⣧⣤⣤⠤⠤⣿⣀⡀⠉⣼⡇⠀ ',
|
||||||
|
' ⣿⣴⣴⡆⠀⠀⠻⣄⠀⠀⠡⠀⠀⠀⠈⠛⠋⠀⠀⠀⡈⠀⠻⠟⠀⢀⠋⠉⠙⢷⡿⡇⠀ ',
|
||||||
|
' ⣻⡿⠏⠁⠀⠀⢠⡟⠀⠀⠀⠣⡀⠀⠀⠀⠀⠀⢀⣄⠀⠀⠀⠀⢀⠈⠀⢀⣀⡾⣴⠃⠀ ',
|
||||||
|
' ⢿⠛⠀⠀⠀⠀⢸⠁⠀⠀⠀⠀⠈⠢⠄⣀⠠⠼⣁⠀⡱⠤⠤⠐⠁⠀⠀⣸⠋⢻⡟⠀⠀ ',
|
||||||
|
' ⠈⢧⣀⣤⣶⡄⠘⣆⠀⠀⠀⠀⠀⠀⠀⢀⣤⠖⠛⠻⣄⠀⠀⠀⢀⣠⡾⠋⢀⡞⠀⠀⠀ ',
|
||||||
|
' ⠀⠀⠻⣿⣿⡇⠀⠈⠓⢦⣤⣤⣤⡤⠞⠉⠀⠀⠀⠀⠈⠛⠒⠚⢩⡅⣠⡴⠋⠀⠀⠀⠀ ',
|
||||||
|
' ⠀⠀⠀⠈⠻⢧⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⣻⠿⠋⠀⠀⠀⠀⠀⠀ ',
|
||||||
|
' ⠀⠀⠀⠀⠀⠀⠉⠓⠶⣤⣄⣀⡀⠀⠀⠀⠀⠀⢀⣀⣠⡴⠖⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀ ',
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||||
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||||
|
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||||
|
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡔⠁⠀⠀",
|
||||||
|
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣴⠟⠀⠀⠀⠀",
|
||||||
|
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⡀⠠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣾⡿⠋⠀⠀⠀⠀⠀",
|
||||||
|
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡾⠚⠁⠀⠀⠈⠉⠙⠒⠢⢄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣴⣿⣿⠟⠀⠀⠀⠀⠀⠀⠀",
|
||||||
|
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠳⢄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣶⣿⣿⣿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||||
|
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣴⣾⣿⡿⢻⠿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||||
|
"⠀⠀⠀⠀⠀⠀⠠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡅⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣆⠀⠀⠀⠀⢀⣀⣤⣶⣿⣿⣿⠿⠛⣡⠶⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||||
|
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⡳⣤⣴⣾⣿⣿⣿⠿⠟⠋⢀⡤⠞⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||||
|
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣀⣀⣀⣀⡀⠀⠈⡇⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⢀⣠⣤⣴⣾⣿⣿⣮⢻⡟⠋⠉⠀⠀⢀⣴⣋⣀⣀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||||
|
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⠿⠿⠿⠿⢿⣿⡟⠀⠀⠸⣆⠀⣠⣦⣄⢀⠰⡱⢸⢼⣿⣿⠿⠿⠛⠋⠉⠀⠘⣏⠀⢀⠴⠊⠼⠿⠿⠿⠿⢻⣿⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||||
|
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⠏⠀⠀⢀⡀⣸⣾⣟⣝⠻⣷⣕⠈⠁⠈⠀⢠⣤⣤⣤⣤⣤⣤⣤⣬⣷⡅⠀⠀⠀⠀⠀⠀⢠⣿⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||||
|
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⡿⣿⣄⠲⠿⠏⢾⡿⠋⠻⣇⠀⠙⢿⣦⡀⠀⠀⠈⠛⠛⠛⣋⡭⠉⠛⠛⠛⠛⡆⠀⠀⠀⢀⣴⡟⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||||
|
"⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣶⡿⠋⠀⠈⠻⣷⣄⠀⠀⠁⠀⠀⠑⢅⠀⠀⠹⣿⠆⠀⠀⢀⠴⠚⠁⠀⠀⠀⠀⠀⠀⢸⣀⣤⣶⠿⠋⠀⠈⢻⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀",
|
||||||
|
"⠀⠀⠀⠀⠀⡀⠄⠒⠀⠛⠁⠀⠀⠀⠀⠀⠘⠁⠀⠀⠀⠀⠀⠀⠀⠢⣄⠀⠀⢀⠤⠊⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢯⠋⠁⠀⠀⠀⠀⠀⠙⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||||
|
"⠀⠀⠠⠀⠁⠀⠀⠀⠀⠀⠀⠀⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢘⠶⢊⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||||
|
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡤⠚⠁⠀⠈⠱⣄⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||||
|
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⠖⠉⠀⠀⠀⠀⠀⠀⠈⠲⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||||
|
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠴⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠢⡀⠀⠀⠀⠀⠀⠀⠀⢀⡎⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||||
|
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⠖⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠐⠐⠦⢤⣤⣀⣀⡤⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||||
|
" ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡰⠚⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠂⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||||
|
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠚⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||||
|
"⠀⠀⠀⠀⠀⠀⠀⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||||
|
|
||||||
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||||
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡔⠁⠀⠀
|
||||||
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣴⠟⠀⠀⠀⠀
|
||||||
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⡀⠠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣾⡿⠋⠀⠀⠀⠀⠀
|
||||||
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡾⠚⠁⠀⠀⠈⠉⠙⠒⠢⢄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣴⣿⣿⠟⠀⠀⠀⠀⠀⠀⠀
|
||||||
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠳⢄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣶⣿⣿⣿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀
|
||||||
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣴⣾⣿⡿⢻⠿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||||
|
⠀⠀⠀⠀⠀⠀⠠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡅⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣆⠀⠀⠀⠀⢀⣀⣤⣶⣿⣿⣿⠿⠛⣡⠶⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||||
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⡳⣤⣴⣾⣿⣿⣿⠿⠟⠋⢀⡤⠞⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||||
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣀⣀⣀⣀⡀⠀⠈⡇⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⢀⣠⣤⣴⣾⣿⣿⣮⢻⡟⠋⠉⠀⠀⢀⣴⣋⣀⣀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||||
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⠿⠿⠿⠿⢿⣿⡟⠀⠀⠸⣆⠀⣠⣦⣄⢀⠰⡱⢸⢼⣿⣿⠿⠿⠛⠋⠉⠀⠘⣏⠀⢀⠴⠊⠼⠿⠿⠿⠿⢻⣿⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||||
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⠏⠀⠀⢀⡀⣸⣾⣟⣝⠻⣷⣕⠈⠁⠈⠀⢠⣤⣤⣤⣤⣤⣤⣤⣬⣷⡅⠀⠀⠀⠀⠀⠀⢠⣿⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||||
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⡿⣿⣄⠲⠿⠏⢾⡿⠋⠻⣇⠀⠙⢿⣦⡀⠀⠀⠈⠛⠛⠛⣋⡭⠉⠛⠛⠛⠛⡆⠀⠀⠀⢀⣴⡟⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||||
|
⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣶⡿⠋⠀⠈⠻⣷⣄⠀⠀⠁⠀⠀⠑⢅⠀⠀⠹⣿⠆⠀⠀⢀⠴⠚⠁⠀⠀⠀⠀⠀⠀⢸⣀⣤⣶⠿⠋⠀⠈⢻⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀
|
||||||
|
⠀⠀⠀⠀⠀⡀⠄⠒⠀⠛⠁⠀⠀⠀⠀⠀⠘⠁⠀⠀⠀⠀⠀⠀⠀⠢⣄⠀⠀⢀⠤⠊⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢯⠋⠁⠀⠀⠀⠀⠀⠙⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||||
|
⠀⠀⠠⠀⠁⠀⠀⠀⠀⠀⠀⠀⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢘⠶⢊⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||||
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡤⠚⠁⠀⠈⠱⣄⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||||
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⠖⠉⠀⠀⠀⠀⠀⠀⠈⠲⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||||
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠴⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠢⡀⠀⠀⠀⠀⠀⠀⠀⢀⡎⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||||
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⠖⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠐⠐⠦⢤⣤⣀⣀⡤⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||||
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡰⠚⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠂⠀⠀⠀⠀⠀⠀⠀⠀
|
||||||
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠚⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||||
|
⠀⠀⠀⠀⠀⠀⠀⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||||
|
|
||||||
|
⣿⣿⡿⣫⣾⠏⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⢀⣀⣀⣀⣀⠄⠄⠄⠄⠄⠄⠀
|
||||||
|
⣿⡇⠱⠉⠁⠄⠄⠄⠄⠄⠄⢀⣀⣤⣶⣶⣿⣿⣿⣿⣿⣿⣿⣦⠄⠄⠄⠄⠄⠀
|
||||||
|
⣿⡇⠄⠄⠄⠄⠄⢀⣠⣛⡩⣩⣭⡹⣿⣿⣿⣿⠞⣛⣛⣛⡲⣿⡇⠄⠄⠄⠄⠀
|
||||||
|
⣿⡇⠄⠄⠄⡾⣡⣾⣿⣷⣹⣿⣿⡿⣪⡻⠟⣱⣿⣿⣿⣿⣿⣷⡹⠄⠄⠄⠄⠀
|
||||||
|
⣿⡇⠄⠄⣼⡇⣿⣻⣿⠟⡛⢿⣿⣾⣿⡇⢰⣍⢻⡿⠛⢿⣿⡭⣿⣷⠄⠄⠄⠀
|
||||||
|
⣿⣧⣄⡀⣿⡇⣮⣽⣿⣮⣉⣾⣿⣿⣿⣇⡸⣿⣿⣆⠛⣰⣿⣾⡿⣿⠄⠄⠄⠀
|
||||||
|
⣿⣇⡼⣄⣿⣿⡄⠙⢿⣏⣿⣿⡮⠁⣉⣾⣷⡈⠃⢿⣿⣬⡭⠝⣀⣿⠄⠄⠐⠀
|
||||||
|
⡆⡇⣹⣿⣿⣿⣿⡿⠓⠛⣉⣉⣉⣉⣙⣛⠓⠾⣟⢿⣿⣿⣿⣿⣿⣿⣿⠇⠄⠙
|
||||||
|
⠁⡇⣞⣿⡿⠋⠁⠄⠄⠈⠉⠙⠛⠛⠻⠿⠿⠿⣶⣌⠻⣿⣿⣿⣿⣿⢗⢴⣆⢣
|
||||||
|
⠸⣇⡻⠈⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠈⢻⣷⡌⢿⣿⣿⣿⢸⠼⣣⣾
|
||||||
|
⣦⡀⠄⠄⠄⠄⠄⠄⠄⠄⠄⢀⠄⠄⠄⠄⠄⠄⠄⠄⠙⠛⠈⣿⡫⡼⢠⣾⣿⣿
|
||||||
|
⣿⣇⠄⣀⣠⡀⠄⠄⠴⠾⠿⠿⠶⠶⣦⣤⡀⠄⠄⠄⠄⠄⠄⢨⠯⢁⣿⣿⣿⣿
|
||||||
|
⣿⣿⣦⢒⠤⣅⡶⣶⣶⣾⣿⣿⣿⣷⣶⣮⣍⠢⠄⠄⠄⠄⠄⠐⢠⣾⣿⣿⣿⣿
|
||||||
|
⣿⣿⣿⣧⡐⠫⣉⡿⣬⡞⢿⣿⢯⠽⣶⡽⢟⣛⢖⣨⣛⠛⢃⣴⣿⣿⣿⣿⣿⣿
|
0
configmac/.lol
Normal file
0
configmac/.lol
Normal file
57
configmac/.yabairc
Executable file
57
configmac/.yabairc
Executable file
|
@ -0,0 +1,57 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
# the scripting-addition must be loaded manually if
|
||||||
|
# you are running yabai on macOS Big Sur. Uncomment
|
||||||
|
# the following line to have the injection performed
|
||||||
|
# when the config is executed during startup.
|
||||||
|
#
|
||||||
|
# for this to work you must configure sudo such that
|
||||||
|
# it will be able to run the command without password
|
||||||
|
#
|
||||||
|
# see this wiki page for information:
|
||||||
|
# - https://github.com/koekeishiya/yabai/wiki/Installing-yabai-(latest-release)
|
||||||
|
#
|
||||||
|
sudo yabai --load-sa
|
||||||
|
yabai -m signal --add event=dock_did_restart action="sudo yabai --load-sa"
|
||||||
|
|
||||||
|
# global settings
|
||||||
|
yabai -m config mouse_follows_focus off
|
||||||
|
yabai -m config focus_follows_mouse autoraise
|
||||||
|
yabai -m config window_origin_display default
|
||||||
|
yabai -m config window_placement second_child
|
||||||
|
yabai -m config window_topmost off
|
||||||
|
yabai -m config window_shadow on
|
||||||
|
yabai -m config window_opacity off
|
||||||
|
yabai -m config window_opacity_duration 0.0
|
||||||
|
yabai -m config active_window_opacity 1.0
|
||||||
|
yabai -m config normal_window_opacity 0.90
|
||||||
|
yabai -m config window_border off
|
||||||
|
yabai -m config window_border_width 6
|
||||||
|
yabai -m config active_window_border_color 0xff775759
|
||||||
|
yabai -m config normal_window_border_color 0xff555555
|
||||||
|
yabai -m config insert_feedback_color 0xffd75f5f
|
||||||
|
yabai -m config split_ratio 0.50
|
||||||
|
yabai -m config auto_balance off
|
||||||
|
yabai -m config mouse_modifier fn
|
||||||
|
yabai -m config mouse_action1 move
|
||||||
|
yabai -m config mouse_action2 resize
|
||||||
|
yabai -m config mouse_drop_action swap
|
||||||
|
|
||||||
|
# general space settings
|
||||||
|
yabai -m config layout bsp
|
||||||
|
yabai -m config top_padding 12
|
||||||
|
yabai -m config bottom_padding 12
|
||||||
|
yabai -m config left_padding 12
|
||||||
|
yabai -m config right_padding 12
|
||||||
|
yabai -m config window_gap 06
|
||||||
|
yabai -m config external_bar all:42:0
|
||||||
|
|
||||||
|
yabai -m signal --add event=space_changed \
|
||||||
|
action="osascript -e 'tell application \"Übersicht\" to refresh widget id \"yabar-workspace-jsx\"'"
|
||||||
|
yabai -m signal --add event=display_changed \
|
||||||
|
action="osascript -e 'tell application \"Übersicht\" to refresh widget id \"yabar-workspace-jsx\"'"
|
||||||
|
yabai -m signal --add event=application_front_switched \
|
||||||
|
action="osascript -e 'tell application \"Übersicht\" to refresh widget id \"yabar-workspace-jsx\"'"
|
||||||
|
echo "yabai configuration loaded.."
|
||||||
|
|
||||||
|
yabai -m rule --add title="^quake$" manage=off
|
115
configmac/.zshrc
Normal file
115
configmac/.zshrc
Normal file
|
@ -0,0 +1,115 @@
|
||||||
|
# If you come from bash you might have to change your $PATH.
|
||||||
|
export PATH=$HOME/bin:/usr/local/bin:$PATH:$HOME/.yarn/bin/:$HOME/.local/bin:$HOME/.emacs.d/bin:$HOME/.cargo/bin
|
||||||
|
export RUST_SRC_PATH=$(rustc --print sysroot)/lib/rustlib/src/rust/library
|
||||||
|
# Path to your oh-my-zsh installation.
|
||||||
|
export ZSH="$HOME/.oh-my-zsh"
|
||||||
|
|
||||||
|
# Set name of the theme to load --- if set to "random", it will
|
||||||
|
# load a random theme each time oh-my-zsh is loaded, in which case,
|
||||||
|
# to know which specific one was loaded, run: echo $RANDOM_THEME
|
||||||
|
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
|
||||||
|
ZSH_THEME="robbyrussell"
|
||||||
|
ZSH_DISABLE_COMPFIX="true"
|
||||||
|
# Set list of themes to pick from when loading at random
|
||||||
|
# Setting this variable when ZSH_THEME=random will cause zsh to load
|
||||||
|
# a theme from this variable instead of looking in $ZSH/themes/
|
||||||
|
# If set to an empty array, this variable will have no effect.
|
||||||
|
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
|
||||||
|
|
||||||
|
# Uncomment the following line to use case-sensitive completion.
|
||||||
|
# CASE_SENSITIVE="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to use hyphen-insensitive completion.
|
||||||
|
# Case-sensitive completion must be off. _ and - will be interchangeable.
|
||||||
|
# HYPHEN_INSENSITIVE="true"
|
||||||
|
|
||||||
|
# Uncomment one of the following lines to change the auto-update behavior
|
||||||
|
# zstyle ':omz:update' mode disabled # disable automatic updates
|
||||||
|
# zstyle ':omz:update' mode auto # update automatically without asking
|
||||||
|
# zstyle ':omz:update' mode reminder # just remind me to update when it's time
|
||||||
|
|
||||||
|
# Uncomment the following line to change how often to auto-update (in days).
|
||||||
|
# zstyle ':omz:update' frequency 13
|
||||||
|
|
||||||
|
# Uncomment the following line if pasting URLs and other text is messed up.
|
||||||
|
# DISABLE_MAGIC_FUNCTIONS="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to disable colors in ls.
|
||||||
|
# DISABLE_LS_COLORS="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to disable auto-setting terminal title.
|
||||||
|
# DISABLE_AUTO_TITLE="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to enable command auto-correction.
|
||||||
|
# ENABLE_CORRECTION="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to display red dots whilst waiting for completion.
|
||||||
|
# You can also set it to another string to have that shown instead of the default red dots.
|
||||||
|
# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f"
|
||||||
|
# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765)
|
||||||
|
# COMPLETION_WAITING_DOTS="true"
|
||||||
|
|
||||||
|
# Uncomment the following line if you want to disable marking untracked files
|
||||||
|
# under VCS as dirty. This makes repository status check for large repositories
|
||||||
|
# much, much faster.
|
||||||
|
# DISABLE_UNTRACKED_FILES_DIRTY="true"
|
||||||
|
|
||||||
|
# Uncomment the following line if you want to change the command execution time
|
||||||
|
# stamp shown in the history command output.
|
||||||
|
# You can set one of the optional three formats:
|
||||||
|
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
|
||||||
|
# or set a custom format using the strftime function format specifications,
|
||||||
|
# see 'man strftime' for details.
|
||||||
|
# HIST_STAMPS="mm/dd/yyyy"
|
||||||
|
|
||||||
|
# Would you like to use another custom folder than $ZSH/custom?
|
||||||
|
# ZSH_CUSTOM=/path/to/new-custom-folder
|
||||||
|
|
||||||
|
# Which plugins would you like to load?
|
||||||
|
# Standard plugins can be found in $ZSH/plugins/
|
||||||
|
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
|
||||||
|
# Example format: plugins=(rails git textmate ruby lighthouse)
|
||||||
|
# Add wisely, as too many plugins slow down shell startup
|
||||||
|
# plugins=(git zsh-autosuggestions)
|
||||||
|
|
||||||
|
source $ZSH/oh-my-zsh.sh
|
||||||
|
|
||||||
|
# User configuration
|
||||||
|
|
||||||
|
# export MANPATH="/usr/local/man:$MANPATH"
|
||||||
|
|
||||||
|
# You may need to manually set your language environment
|
||||||
|
# export LANG=en_US.UTF-8
|
||||||
|
|
||||||
|
# Preferred editor for local and remote sessions
|
||||||
|
# if [[ -n $SSH_CONNECTION ]]; then
|
||||||
|
# export EDITOR='vim'
|
||||||
|
# else
|
||||||
|
# export EDITOR='mvim'
|
||||||
|
# fi
|
||||||
|
|
||||||
|
# Compilation flags
|
||||||
|
# export ARCHFLAGS="-arch x86_64"
|
||||||
|
plugins=(zsh_codex)
|
||||||
|
zle -N create_completion
|
||||||
|
bindkey '^X' create_completion
|
||||||
|
# Set personal aliases, overriding those provided by oh-my-zsh libs,
|
||||||
|
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
|
||||||
|
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
|
||||||
|
# For a full list of active aliases, run `alias`.
|
||||||
|
#
|
||||||
|
# Example aliases
|
||||||
|
# alias zshconfig="mate ~/.zshrc"
|
||||||
|
# alias ohmyzsh="mate ~/.oh-my-zsh"
|
||||||
|
export EDITOR='emacs -nw'
|
||||||
|
|
||||||
|
#alias discord='discord --no-sandbox'
|
||||||
|
#alias em='emacs -nw'
|
||||||
|
#alias ssh="kitty +kitten ssh"
|
||||||
|
#alias icat="kitty +kitten icat"
|
||||||
|
alias cat="bat"
|
||||||
|
alias ls='lsd -A'
|
||||||
|
alias uploadsc='(cd ~/Pictures/ScreenshotsSHORTCUT && exec pb $(ls -Art | tail -n 1))'
|
||||||
|
alias connectssh='shuttle -HN --dns -r gallant@35.188.39.50'
|
||||||
|
|
||||||
|
source /usr/local/share/zsh-autosuggestions/zsh-autosuggestions.zsh
|
3
configmac/README.md
Normal file
3
configmac/README.md
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
gonna be honest here, i just copy and pasted here, if it doesn't work then make a issue please
|
||||||
|
|
||||||
|
for ease of access, i just decided to put my `ls /fontfolder/` here to make searching for the fonts easier
|
231
configmac/fonts.txt
Normal file
231
configmac/fonts.txt
Normal file
|
@ -0,0 +1,231 @@
|
||||||
|
all-the-icons.ttf
|
||||||
|
azuki.ttf
|
||||||
|
azukiB.ttf
|
||||||
|
azukiP.ttf
|
||||||
|
Blex Mono Bold Italic Nerd Font Complete Mono Windows Compatible.ttf
|
||||||
|
Blex Mono Bold Italic Nerd Font Complete Mono.ttf
|
||||||
|
Blex Mono Bold Italic Nerd Font Complete Windows Compatible.ttf
|
||||||
|
Blex Mono Bold Italic Nerd Font Complete.ttf
|
||||||
|
Blex Mono Bold Nerd Font Complete Mono Windows Compatible.ttf
|
||||||
|
Blex Mono Bold Nerd Font Complete Mono.ttf
|
||||||
|
Blex Mono Bold Nerd Font Complete Windows Compatible.ttf
|
||||||
|
Blex Mono Bold Nerd Font Complete.ttf
|
||||||
|
Blex Mono ExtraLight Italic Nerd Font Complete Mono Windows Compatible.ttf
|
||||||
|
Blex Mono ExtraLight Italic Nerd Font Complete Mono.ttf
|
||||||
|
Blex Mono ExtraLight Italic Nerd Font Complete Windows Compatible.ttf
|
||||||
|
Blex Mono ExtraLight Italic Nerd Font Complete.ttf
|
||||||
|
Blex Mono ExtraLight Nerd Font Complete Mono Windows Compatible.ttf
|
||||||
|
Blex Mono ExtraLight Nerd Font Complete Mono.ttf
|
||||||
|
Blex Mono ExtraLight Nerd Font Complete Windows Compatible.ttf
|
||||||
|
Blex Mono ExtraLight Nerd Font Complete.ttf
|
||||||
|
Blex Mono Italic Nerd Font Complete Mono Windows Compatible.ttf
|
||||||
|
Blex Mono Italic Nerd Font Complete Mono.ttf
|
||||||
|
Blex Mono Italic Nerd Font Complete Windows Compatible.ttf
|
||||||
|
Blex Mono Italic Nerd Font Complete.ttf
|
||||||
|
Blex Mono Light Italic Nerd Font Complete Mono Windows Compatible.ttf
|
||||||
|
Blex Mono Light Italic Nerd Font Complete Mono.ttf
|
||||||
|
Blex Mono Light Italic Nerd Font Complete Windows Compatible.ttf
|
||||||
|
Blex Mono Light Italic Nerd Font Complete.ttf
|
||||||
|
Blex Mono Light Nerd Font Complete Mono Windows Compatible.ttf
|
||||||
|
Blex Mono Light Nerd Font Complete Mono.ttf
|
||||||
|
Blex Mono Light Nerd Font Complete Windows Compatible.ttf
|
||||||
|
Blex Mono Light Nerd Font Complete.ttf
|
||||||
|
Blex Mono Medium Italic Nerd Font Complete Mono Windows Compatible.ttf
|
||||||
|
Blex Mono Medium Italic Nerd Font Complete Mono.ttf
|
||||||
|
Blex Mono Medium Italic Nerd Font Complete Windows Compatible.ttf
|
||||||
|
Blex Mono Medium Italic Nerd Font Complete.ttf
|
||||||
|
Blex Mono Medium Nerd Font Complete Mono Windows Compatible.ttf
|
||||||
|
Blex Mono Medium Nerd Font Complete Mono.ttf
|
||||||
|
Blex Mono Medium Nerd Font Complete Windows Compatible.ttf
|
||||||
|
Blex Mono Medium Nerd Font Complete.ttf
|
||||||
|
Blex Mono Nerd Font Complete Mono Windows Compatible.ttf
|
||||||
|
Blex Mono Nerd Font Complete Mono.ttf
|
||||||
|
Blex Mono Nerd Font Complete Windows Compatible.ttf
|
||||||
|
Blex Mono Nerd Font Complete.ttf
|
||||||
|
Blex Mono SemiBold Italic Nerd Font Complete Mono Windows Compatible.ttf
|
||||||
|
Blex Mono SemiBold Italic Nerd Font Complete Mono.ttf
|
||||||
|
Blex Mono SemiBold Italic Nerd Font Complete Windows Compatible.ttf
|
||||||
|
Blex Mono SemiBold Italic Nerd Font Complete.ttf
|
||||||
|
Blex Mono SemiBold Nerd Font Complete Mono Windows Compatible.ttf
|
||||||
|
Blex Mono SemiBold Nerd Font Complete Mono.ttf
|
||||||
|
Blex Mono SemiBold Nerd Font Complete Windows Compatible.ttf
|
||||||
|
Blex Mono SemiBold Nerd Font Complete.ttf
|
||||||
|
Blex Mono Text Italic Nerd Font Complete Mono Windows Compatible.ttf
|
||||||
|
Blex Mono Text Italic Nerd Font Complete Mono.ttf
|
||||||
|
Blex Mono Text Italic Nerd Font Complete Windows Compatible.ttf
|
||||||
|
Blex Mono Text Italic Nerd Font Complete.ttf
|
||||||
|
Blex Mono Text Nerd Font Complete Mono Windows Compatible.ttf
|
||||||
|
Blex Mono Text Nerd Font Complete Mono.ttf
|
||||||
|
Blex Mono Text Nerd Font Complete Windows Compatible.ttf
|
||||||
|
Blex Mono Text Nerd Font Complete.ttf
|
||||||
|
Blex Mono Thin Italic Nerd Font Complete Mono Windows Compatible.ttf
|
||||||
|
Blex Mono Thin Italic Nerd Font Complete Mono.ttf
|
||||||
|
Blex Mono Thin Italic Nerd Font Complete Windows Compatible.ttf
|
||||||
|
Blex Mono Thin Italic Nerd Font Complete.ttf
|
||||||
|
Blex Mono Thin Nerd Font Complete Mono Windows Compatible.ttf
|
||||||
|
Blex Mono Thin Nerd Font Complete Mono.ttf
|
||||||
|
Blex Mono Thin Nerd Font Complete Windows Compatible.ttf
|
||||||
|
Blex Mono Thin Nerd Font Complete.ttf
|
||||||
|
encodings.dir
|
||||||
|
file-icons.ttf
|
||||||
|
Fira Code Bold Nerd Font Complete Mono Windows Compatible.ttf
|
||||||
|
Fira Code Bold Nerd Font Complete Mono.ttf
|
||||||
|
Fira Code Bold Nerd Font Complete Windows Compatible.ttf
|
||||||
|
Fira Code Bold Nerd Font Complete.ttf
|
||||||
|
Fira Code Light Nerd Font Complete Mono Windows Compatible.ttf
|
||||||
|
Fira Code Light Nerd Font Complete Mono.ttf
|
||||||
|
Fira Code Light Nerd Font Complete Windows Compatible.ttf
|
||||||
|
Fira Code Light Nerd Font Complete.ttf
|
||||||
|
Fira Code Medium Nerd Font Complete Mono Windows Compatible.ttf
|
||||||
|
Fira Code Medium Nerd Font Complete Mono.ttf
|
||||||
|
Fira Code Medium Nerd Font Complete Windows Compatible.ttf
|
||||||
|
Fira Code Medium Nerd Font Complete.ttf
|
||||||
|
Fira Code Regular Nerd Font Complete Mono Windows Compatible.ttf
|
||||||
|
Fira Code Regular Nerd Font Complete Mono.ttf
|
||||||
|
Fira Code Regular Nerd Font Complete Windows Compatible.ttf
|
||||||
|
Fira Code Regular Nerd Font Complete.ttf
|
||||||
|
Fira Code Retina Nerd Font Complete Mono Windows Compatible.ttf
|
||||||
|
Fira Code Retina Nerd Font Complete Mono.ttf
|
||||||
|
Fira Code Retina Nerd Font Complete Windows Compatible.ttf
|
||||||
|
Fira Code Retina Nerd Font Complete.ttf
|
||||||
|
Fira Code SemiBold Nerd Font Complete Mono Windows Compatible.ttf
|
||||||
|
Fira Code SemiBold Nerd Font Complete Mono.ttf
|
||||||
|
Fira Code SemiBold Nerd Font Complete Windows Compatible.ttf
|
||||||
|
Fira Code SemiBold Nerd Font Complete.ttf
|
||||||
|
Font Awesome 6 Brands-Regular-400.otf
|
||||||
|
Font Awesome 6 Duotone-Solid-900.otf
|
||||||
|
Font Awesome 6 Free-Regular-400.otf
|
||||||
|
Font Awesome 6 Free-Solid-900.otf
|
||||||
|
Font Awesome 6 Pro-Light-300.otf
|
||||||
|
Font Awesome 6 Pro-Regular-400.otf
|
||||||
|
Font Awesome 6 Pro-Solid-900.otf
|
||||||
|
Font Awesome 6 Pro-Thin-100.otf
|
||||||
|
fontawesome.ttf
|
||||||
|
fonts.dir
|
||||||
|
fonts.list
|
||||||
|
fonts.scale
|
||||||
|
Hack Bold Italic Nerd Font Complete Mono.ttf
|
||||||
|
Hack Bold Italic Nerd Font Complete.ttf
|
||||||
|
Hack Bold Nerd Font Complete Mono.ttf
|
||||||
|
Hack Bold Nerd Font Complete.ttf
|
||||||
|
Hack Italic Nerd Font Complete Mono.ttf
|
||||||
|
Hack Italic Nerd Font Complete.ttf
|
||||||
|
Hack Regular Nerd Font Complete Mono.ttf
|
||||||
|
Hack Regular Nerd Font Complete.ttf
|
||||||
|
icomoon-feather.ttf
|
||||||
|
icomoon_Regular.ttf
|
||||||
|
iconic.ttf
|
||||||
|
Iosevka Bold Italic Nerd Font Complete Mono.ttf
|
||||||
|
Iosevka Bold Italic Nerd Font Complete.ttf
|
||||||
|
Iosevka Bold Nerd Font Complete Mono.ttf
|
||||||
|
Iosevka Bold Nerd Font Complete.ttf
|
||||||
|
Iosevka Bold Oblique Nerd Font Complete Mono.ttf
|
||||||
|
Iosevka Bold Oblique Nerd Font Complete.ttf
|
||||||
|
Iosevka Extralight Italic Nerd Font Complete Mono.ttf
|
||||||
|
Iosevka Extralight Italic Nerd Font Complete.ttf
|
||||||
|
Iosevka Extralight Nerd Font Complete Mono.ttf
|
||||||
|
Iosevka Extralight Nerd Font Complete.ttf
|
||||||
|
Iosevka Extralight Oblique Nerd Font Complete Mono.ttf
|
||||||
|
Iosevka Extralight Oblique Nerd Font Complete.ttf
|
||||||
|
Iosevka Heavy Italic Nerd Font Complete Mono.ttf
|
||||||
|
Iosevka Heavy Italic Nerd Font Complete.ttf
|
||||||
|
Iosevka Heavy Nerd Font Complete Mono.ttf
|
||||||
|
Iosevka Heavy Nerd Font Complete.ttf
|
||||||
|
Iosevka Heavy Oblique Nerd Font Complete Mono.ttf
|
||||||
|
Iosevka Heavy Oblique Nerd Font Complete.ttf
|
||||||
|
Iosevka Italic Nerd Font Complete Mono.ttf
|
||||||
|
Iosevka Italic Nerd Font Complete.ttf
|
||||||
|
Iosevka Light Italic Nerd Font Complete Mono.ttf
|
||||||
|
Iosevka Light Italic Nerd Font Complete.ttf
|
||||||
|
Iosevka Light Nerd Font Complete Mono.ttf
|
||||||
|
Iosevka Light Nerd Font Complete.ttf
|
||||||
|
Iosevka Light Oblique Nerd Font Complete Mono.ttf
|
||||||
|
Iosevka Light Oblique Nerd Font Complete.ttf
|
||||||
|
Iosevka Medium Italic Nerd Font Complete Mono.ttf
|
||||||
|
Iosevka Medium Italic Nerd Font Complete.ttf
|
||||||
|
Iosevka Medium Nerd Font Complete Mono.ttf
|
||||||
|
Iosevka Medium Nerd Font Complete.ttf
|
||||||
|
Iosevka Medium Oblique Nerd Font Complete Mono.ttf
|
||||||
|
Iosevka Medium Oblique Nerd Font Complete.ttf
|
||||||
|
Iosevka Nerd Font Complete Mono.ttf
|
||||||
|
Iosevka Nerd Font Complete.ttf
|
||||||
|
Iosevka Oblique Nerd Font Complete Mono.ttf
|
||||||
|
Iosevka Oblique Nerd Font Complete.ttf
|
||||||
|
Iosevka Term Bold Italic Nerd Font Complete Mono.ttf
|
||||||
|
Iosevka Term Bold Italic Nerd Font Complete.ttf
|
||||||
|
Iosevka Term Bold Nerd Font Complete Mono.ttf
|
||||||
|
Iosevka Term Bold Nerd Font Complete.ttf
|
||||||
|
Iosevka Term Bold Oblique Nerd Font Complete Mono.ttf
|
||||||
|
Iosevka Term Bold Oblique Nerd Font Complete.ttf
|
||||||
|
Iosevka Term Extralight Italic Nerd Font Complete Mono.ttf
|
||||||
|
Iosevka Term Extralight Italic Nerd Font Complete.ttf
|
||||||
|
Iosevka Term Extralight Nerd Font Complete Mono.ttf
|
||||||
|
Iosevka Term Extralight Nerd Font Complete.ttf
|
||||||
|
Iosevka Term Extralight Oblique Nerd Font Complete Mono.ttf
|
||||||
|
Iosevka Term Extralight Oblique Nerd Font Complete.ttf
|
||||||
|
Iosevka Term Heavy Italic Nerd Font Complete Mono.ttf
|
||||||
|
Iosevka Term Heavy Italic Nerd Font Complete.ttf
|
||||||
|
Iosevka Term Heavy Nerd Font Complete Mono.ttf
|
||||||
|
Iosevka Term Heavy Nerd Font Complete.ttf
|
||||||
|
Iosevka Term Heavy Oblique Nerd Font Complete Mono.ttf
|
||||||
|
Iosevka Term Heavy Oblique Nerd Font Complete.ttf
|
||||||
|
Iosevka Term Italic Nerd Font Complete Mono.ttf
|
||||||
|
Iosevka Term Italic Nerd Font Complete.ttf
|
||||||
|
Iosevka Term Light Italic Nerd Font Complete Mono.ttf
|
||||||
|
Iosevka Term Light Italic Nerd Font Complete.ttf
|
||||||
|
Iosevka Term Light Nerd Font Complete Mono.ttf
|
||||||
|
Iosevka Term Light Nerd Font Complete.ttf
|
||||||
|
Iosevka Term Light Oblique Nerd Font Complete Mono.ttf
|
||||||
|
Iosevka Term Light Oblique Nerd Font Complete.ttf
|
||||||
|
Iosevka Term Medium Italic Nerd Font Complete Mono.ttf
|
||||||
|
Iosevka Term Medium Italic Nerd Font Complete.ttf
|
||||||
|
Iosevka Term Medium Nerd Font Complete Mono.ttf
|
||||||
|
Iosevka Term Medium Nerd Font Complete.ttf
|
||||||
|
Iosevka Term Medium Oblique Nerd Font Complete Mono.ttf
|
||||||
|
Iosevka Term Medium Oblique Nerd Font Complete.ttf
|
||||||
|
Iosevka Term Nerd Font Complete Mono.ttf
|
||||||
|
Iosevka Term Nerd Font Complete.ttf
|
||||||
|
Iosevka Term Oblique Nerd Font Complete Mono.ttf
|
||||||
|
Iosevka Term Oblique Nerd Font Complete.ttf
|
||||||
|
Iosevka Term Thin Italic Nerd Font Complete Mono.ttf
|
||||||
|
Iosevka Term Thin Italic Nerd Font Complete.ttf
|
||||||
|
Iosevka Term Thin Nerd Font Complete Mono.ttf
|
||||||
|
Iosevka Term Thin Nerd Font Complete.ttf
|
||||||
|
Iosevka Term Thin Oblique Nerd Font Complete Mono.ttf
|
||||||
|
Iosevka Term Thin Oblique Nerd Font Complete.ttf
|
||||||
|
Iosevka Thin Italic Nerd Font Complete Mono.ttf
|
||||||
|
Iosevka Thin Italic Nerd Font Complete.ttf
|
||||||
|
Iosevka Thin Nerd Font Complete Mono.ttf
|
||||||
|
Iosevka Thin Nerd Font Complete.ttf
|
||||||
|
Iosevka Thin Oblique Nerd Font Complete Mono.ttf
|
||||||
|
Iosevka Thin Oblique Nerd Font Complete.ttf
|
||||||
|
iosevka-bold.ttc
|
||||||
|
iosevka-extrabold.ttc
|
||||||
|
iosevka-extralight.ttc
|
||||||
|
iosevka-heavy.ttc
|
||||||
|
iosevka-light.ttc
|
||||||
|
iosevka-medium.ttc
|
||||||
|
iosevka-regular.ttc
|
||||||
|
iosevka-semibold.ttc
|
||||||
|
iosevka-thin.ttc
|
||||||
|
material-design-icons.ttf
|
||||||
|
MaterialIcons-Regular.ttf
|
||||||
|
MaterialIconsOutlined-Regular.otf
|
||||||
|
MaterialIconsRound-Regular.otf
|
||||||
|
MaterialIconsSharp-Regular.otf
|
||||||
|
MaterialIconsTwoTone-Regular.otf
|
||||||
|
octicons.ttf
|
||||||
|
remix.ttf
|
||||||
|
Roboto-Black.ttf
|
||||||
|
Roboto-BlackItalic.ttf
|
||||||
|
Roboto-Bold.ttf
|
||||||
|
Roboto-BoldItalic.ttf
|
||||||
|
Roboto-Italic.ttf
|
||||||
|
Roboto-Light.ttf
|
||||||
|
Roboto-LightItalic.ttf
|
||||||
|
Roboto-Medium.ttf
|
||||||
|
Roboto-MediumItalic.ttf
|
||||||
|
Roboto-Regular.ttf
|
||||||
|
Roboto-Thin.ttf
|
||||||
|
Roboto-ThinItalic.ttf
|
||||||
|
weathericons.ttf
|
0
configmac/iterm2/AppSupport/SavedState/lock
Normal file
0
configmac/iterm2/AppSupport/SavedState/lock
Normal file
BIN
configmac/iterm2/AppSupport/SavedState/restorable-state.sqlite
Normal file
BIN
configmac/iterm2/AppSupport/SavedState/restorable-state.sqlite
Normal file
Binary file not shown.
Binary file not shown.
BIN
configmac/iterm2/AppSupport/iTermServer-3.4.15
Executable file
BIN
configmac/iterm2/AppSupport/iTermServer-3.4.15
Executable file
Binary file not shown.
BIN
configmac/iterm2/AppSupport/iTermServer-3.4.16
Executable file
BIN
configmac/iterm2/AppSupport/iTermServer-3.4.16
Executable file
Binary file not shown.
BIN
configmac/iterm2/AppSupport/iTermServer-3.4.18
Executable file
BIN
configmac/iterm2/AppSupport/iTermServer-3.4.18
Executable file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
1
configmac/iterm2/AppSupport/version.txt
Normal file
1
configmac/iterm2/AppSupport/version.txt
Normal file
|
@ -0,0 +1 @@
|
||||||
|
3.4.18
|
BIN
configmac/sketchybar/.DS_Store
vendored
Normal file
BIN
configmac/sketchybar/.DS_Store
vendored
Normal file
Binary file not shown.
29
configmac/sketchybar/colors.sh
Executable file
29
configmac/sketchybar/colors.sh
Executable file
|
@ -0,0 +1,29 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
# Color Palette
|
||||||
|
export BLACK=0xff181926
|
||||||
|
export WHITE=0xffD9D7D6
|
||||||
|
export RED=0xffed8796
|
||||||
|
export GREEN=0xffcad3f5
|
||||||
|
export BLUE=0xff8aadf4
|
||||||
|
export YELLOW=0xffeed49f
|
||||||
|
export ORANGE=0xfff5a97f
|
||||||
|
export MAGENTA=0xffc6a0f6
|
||||||
|
export GREY=0xff939ab7
|
||||||
|
export TRANSPARENT=0x00000000
|
||||||
|
|
||||||
|
# General bar colors
|
||||||
|
#export BAR_COLOR=0xcc24273a
|
||||||
|
#131e22
|
||||||
|
#export BAR_COLOR=0xff2a2f38 #grey
|
||||||
|
export BAR_COLOR=0xff131E22
|
||||||
|
export ICON_COLOR=$WHITE # Color of all icons
|
||||||
|
export LABEL_COLOR=$WHITE # Color of all labels
|
||||||
|
export SPACE_BACKGROUND=0xFF242831
|
||||||
|
export OPEN_APPS_BACKGROUND=0xff494d64
|
||||||
|
export CALENDAR_BACKGROUND=0xFF242831
|
||||||
|
|
||||||
|
export POPUP_BACKGROUND_COLOR=$BLACK
|
||||||
|
export POPUP_BORDER_COLOR=$WHITE
|
||||||
|
|
||||||
|
export SHADOW_COLOR=$BLACK
|
23
configmac/sketchybar/helper/clock.h
Normal file
23
configmac/sketchybar/helper/clock.h
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <time.h>
|
||||||
|
|
||||||
|
struct clock {
|
||||||
|
char command[128];
|
||||||
|
};
|
||||||
|
|
||||||
|
static inline void clock_init(struct clock* clock) {
|
||||||
|
snprintf(clock->command, 128, "");
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void clock_update(struct clock* clock) {
|
||||||
|
time_t t = time(NULL);
|
||||||
|
struct tm* tm = localtime(&t);
|
||||||
|
|
||||||
|
char time[8];
|
||||||
|
strftime(time, 8, "%H:%M", tm);
|
||||||
|
|
||||||
|
char date[16];
|
||||||
|
strftime(date, 16, "%a %d. %b", tm);
|
||||||
|
|
||||||
|
snprintf(clock->command, 128, "--set calendar icon=\"%s\" label=\"%s\"", date, time);
|
||||||
|
}
|
118
configmac/sketchybar/helper/cpu.h
Normal file
118
configmac/sketchybar/helper/cpu.h
Normal file
|
@ -0,0 +1,118 @@
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <mach/mach.h>
|
||||||
|
#include <stdbool.h>
|
||||||
|
#include <time.h>
|
||||||
|
|
||||||
|
static const char TOPPROC[32] = { "/bin/ps -Aceo pid,pcpu,comm -r" };
|
||||||
|
static const char FILTER_PATTERN[16] = { "com.apple." };
|
||||||
|
|
||||||
|
struct cpu {
|
||||||
|
host_t host;
|
||||||
|
mach_msg_type_number_t count;
|
||||||
|
host_cpu_load_info_data_t load;
|
||||||
|
host_cpu_load_info_data_t prev_load;
|
||||||
|
bool has_prev_load;
|
||||||
|
|
||||||
|
char command[256];
|
||||||
|
};
|
||||||
|
|
||||||
|
static inline void cpu_init(struct cpu* cpu) {
|
||||||
|
cpu->host = mach_host_self();
|
||||||
|
cpu->count = HOST_CPU_LOAD_INFO_COUNT;
|
||||||
|
cpu->has_prev_load = false;
|
||||||
|
snprintf(cpu->command, 100, "");
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void cpu_update(struct cpu* cpu) {
|
||||||
|
kern_return_t error = host_statistics(cpu->host,
|
||||||
|
HOST_CPU_LOAD_INFO,
|
||||||
|
(host_info_t)&cpu->load,
|
||||||
|
&cpu->count );
|
||||||
|
|
||||||
|
if (error != KERN_SUCCESS) {
|
||||||
|
printf("Error: Could not read cpu host statistics.\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (cpu->has_prev_load) {
|
||||||
|
uint32_t delta_user = cpu->load.cpu_ticks[CPU_STATE_USER]
|
||||||
|
- cpu->prev_load.cpu_ticks[CPU_STATE_USER];
|
||||||
|
|
||||||
|
uint32_t delta_system = cpu->load.cpu_ticks[CPU_STATE_SYSTEM]
|
||||||
|
- cpu->prev_load.cpu_ticks[CPU_STATE_SYSTEM];
|
||||||
|
|
||||||
|
uint32_t delta_idle = cpu->load.cpu_ticks[CPU_STATE_IDLE]
|
||||||
|
- cpu->prev_load.cpu_ticks[CPU_STATE_IDLE];
|
||||||
|
|
||||||
|
double user_perc = (double)delta_user / (double)(delta_system
|
||||||
|
+ delta_user
|
||||||
|
+ delta_idle);
|
||||||
|
|
||||||
|
double sys_perc = (double)delta_system / (double)(delta_system
|
||||||
|
+ delta_user
|
||||||
|
+ delta_idle);
|
||||||
|
|
||||||
|
double total_perc = user_perc + sys_perc;
|
||||||
|
|
||||||
|
FILE* file;
|
||||||
|
char line[1024];
|
||||||
|
|
||||||
|
file = popen(TOPPROC, "r");
|
||||||
|
if (!file) {
|
||||||
|
printf("Error: TOPPROC command errored out...\n" );
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
fgets(line, sizeof(line), file);
|
||||||
|
fgets(line, sizeof(line), file);
|
||||||
|
|
||||||
|
char* start = strstr(line, FILTER_PATTERN);
|
||||||
|
char topproc[32];
|
||||||
|
uint32_t caret = 0;
|
||||||
|
for (int i = 0; i < sizeof(line); i++) {
|
||||||
|
if (start && i == start - line) {
|
||||||
|
i+=9;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (i > 29) break;
|
||||||
|
if (i > 27) {
|
||||||
|
topproc[caret++] = '.';
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
topproc[caret++] = line[i];
|
||||||
|
if (line[i] == '\0') break;
|
||||||
|
}
|
||||||
|
|
||||||
|
pclose(file);
|
||||||
|
|
||||||
|
char color[16];
|
||||||
|
if (total_perc >= .7) {
|
||||||
|
snprintf(color, 16, "%s", getenv("RED"));
|
||||||
|
} else if (total_perc >= .3) {
|
||||||
|
snprintf(color, 16, "%s", getenv("ORANGE"));
|
||||||
|
} else if (total_perc >= .1) {
|
||||||
|
snprintf(color, 16, "%s", getenv("YELLOW"));
|
||||||
|
} else {
|
||||||
|
snprintf(color, 16, "%s", getenv("LABEL_COLOR"));
|
||||||
|
}
|
||||||
|
|
||||||
|
snprintf(cpu->command, 256, "--push cpu.sys %.2f "
|
||||||
|
"--push cpu.user %.2f "
|
||||||
|
"--set cpu.percent label=%.0f%% label.color=%s "
|
||||||
|
"--set cpu.top label=\"%s\"",
|
||||||
|
sys_perc,
|
||||||
|
user_perc,
|
||||||
|
total_perc*100.,
|
||||||
|
color,
|
||||||
|
topproc );
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
snprintf(cpu->command, 256, "");
|
||||||
|
}
|
||||||
|
|
||||||
|
cpu->prev_load = cpu->load;
|
||||||
|
cpu->has_prev_load = true;
|
||||||
|
}
|
BIN
configmac/sketchybar/helper/helper
Executable file
BIN
configmac/sketchybar/helper/helper
Executable file
Binary file not shown.
59
configmac/sketchybar/helper/helper.c
Normal file
59
configmac/sketchybar/helper/helper.c
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
#include "cpu.h"
|
||||||
|
#include "clock.h"
|
||||||
|
#include "sketchybar.h"
|
||||||
|
|
||||||
|
struct cpu g_cpu;
|
||||||
|
struct clock g_clock;
|
||||||
|
|
||||||
|
void handler(env env) {
|
||||||
|
// Environment variables passed from sketchybar can be accessed as seen below
|
||||||
|
char* name = env_get_value_for_key(env, "NAME");
|
||||||
|
char* sender = env_get_value_for_key(env, "SENDER");
|
||||||
|
char* info = env_get_value_for_key(env, "INFO");
|
||||||
|
char* selected = env_get_value_for_key(env, "SELECTED");
|
||||||
|
|
||||||
|
if (selected && strlen(selected) > 0) {
|
||||||
|
// Space items
|
||||||
|
char* width;
|
||||||
|
if (strcmp(selected, "true") == 0) {
|
||||||
|
width = "0";
|
||||||
|
} else {
|
||||||
|
width = "dynamic";
|
||||||
|
}
|
||||||
|
char command[256];
|
||||||
|
snprintf(command, 256, "--animate tanh 20 --set %s icon.highlight=%s label.width=%s", name, selected, width);
|
||||||
|
sketchybar(command);
|
||||||
|
}
|
||||||
|
else if (strcmp(sender, "front_app_switched") == 0) {
|
||||||
|
// front_app item
|
||||||
|
char command[256];
|
||||||
|
|
||||||
|
snprintf(command, 256, "--set %s label=\"%s\"", name, info);
|
||||||
|
sketchybar(command);
|
||||||
|
}
|
||||||
|
else if ((strcmp(sender, "routine") == 0)
|
||||||
|
|| (strcmp(sender, "forced") == 0)) {
|
||||||
|
// CPU and Clock routine updates
|
||||||
|
cpu_update(&g_cpu);
|
||||||
|
clock_update(&g_clock);
|
||||||
|
|
||||||
|
if (strlen(g_cpu.command) > 0 && strlen(g_clock.command) > 0) {
|
||||||
|
char command[512];
|
||||||
|
snprintf(command, 512, "%s %s", g_cpu.command, g_clock.command);
|
||||||
|
sketchybar(command);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int main (int argc, char** argv) {
|
||||||
|
cpu_init(&g_cpu);
|
||||||
|
clock_init(&g_clock);
|
||||||
|
|
||||||
|
if (argc < 2) {
|
||||||
|
printf("Usage: provider \"<bootstrap name>\"\n");
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
event_server_begin(handler, argv[1]);
|
||||||
|
return 0;
|
||||||
|
}
|
3
configmac/sketchybar/helper/makefile
Normal file
3
configmac/sketchybar/helper/makefile
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
|
||||||
|
helper: helper.c cpu.h clock.h sketchybar.h
|
||||||
|
clang -std=c17 -O3 helper.c -o helper
|
227
configmac/sketchybar/helper/sketchybar.h
Normal file
227
configmac/sketchybar/helper/sketchybar.h
Normal file
|
@ -0,0 +1,227 @@
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <mach/mach.h>
|
||||||
|
#include <mach/message.h>
|
||||||
|
#include <bootstrap.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <pthread.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
typedef char* env;
|
||||||
|
|
||||||
|
#define MACH_HANDLER(name) void name(env env)
|
||||||
|
typedef MACH_HANDLER(mach_handler);
|
||||||
|
|
||||||
|
struct mach_message {
|
||||||
|
mach_msg_header_t header;
|
||||||
|
mach_msg_size_t msgh_descriptor_count;
|
||||||
|
mach_msg_ool_descriptor_t descriptor;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct mach_buffer {
|
||||||
|
struct mach_message message;
|
||||||
|
mach_msg_trailer_t trailer;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct mach_server {
|
||||||
|
bool is_running;
|
||||||
|
mach_port_name_t task;
|
||||||
|
mach_port_t port;
|
||||||
|
mach_port_t bs_port;
|
||||||
|
|
||||||
|
pthread_t thread;
|
||||||
|
mach_handler* handler;
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct mach_server g_mach_server;
|
||||||
|
static mach_port_t g_mach_port = 0;
|
||||||
|
|
||||||
|
static inline char* env_get_value_for_key(env env, char* key) {
|
||||||
|
uint32_t caret = 0;
|
||||||
|
for(;;) {
|
||||||
|
if (!env[caret]) break;
|
||||||
|
if (strcmp(&env[caret], key) == 0)
|
||||||
|
return &env[caret + strlen(&env[caret]) + 1];
|
||||||
|
|
||||||
|
caret += strlen(&env[caret])
|
||||||
|
+ strlen(&env[caret + strlen(&env[caret]) + 1])
|
||||||
|
+ 2;
|
||||||
|
}
|
||||||
|
return (char*)"";
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline mach_port_t mach_get_bs_port() {
|
||||||
|
mach_port_name_t task = mach_task_self();
|
||||||
|
|
||||||
|
mach_port_t bs_port;
|
||||||
|
if (task_get_special_port(task,
|
||||||
|
TASK_BOOTSTRAP_PORT,
|
||||||
|
&bs_port ) != KERN_SUCCESS) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
mach_port_t port;
|
||||||
|
if (bootstrap_look_up(bs_port,
|
||||||
|
"git.felix.sketchybar",
|
||||||
|
&port ) != KERN_SUCCESS) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
return port;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void mach_receive_message(mach_port_t port, struct mach_buffer* buffer, bool timeout) {
|
||||||
|
*buffer = (struct mach_buffer) { 0 };
|
||||||
|
mach_msg_return_t msg_return;
|
||||||
|
if (timeout)
|
||||||
|
msg_return = mach_msg(&buffer->message.header,
|
||||||
|
MACH_RCV_MSG | MACH_RCV_TIMEOUT,
|
||||||
|
0,
|
||||||
|
sizeof(struct mach_buffer),
|
||||||
|
port,
|
||||||
|
100,
|
||||||
|
MACH_PORT_NULL );
|
||||||
|
else
|
||||||
|
msg_return = mach_msg(&buffer->message.header,
|
||||||
|
MACH_RCV_MSG,
|
||||||
|
0,
|
||||||
|
sizeof(struct mach_buffer),
|
||||||
|
port,
|
||||||
|
MACH_MSG_TIMEOUT_NONE,
|
||||||
|
MACH_PORT_NULL );
|
||||||
|
|
||||||
|
if (msg_return != MACH_MSG_SUCCESS) {
|
||||||
|
buffer->message.descriptor.address = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline char* mach_send_message(mach_port_t port, char* message, uint32_t len) {
|
||||||
|
if (!message || !port) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
mach_port_t response_port;
|
||||||
|
mach_port_name_t task = mach_task_self();
|
||||||
|
if (mach_port_allocate(task, MACH_PORT_RIGHT_RECEIVE,
|
||||||
|
&response_port ) != KERN_SUCCESS) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mach_port_insert_right(task, response_port,
|
||||||
|
response_port,
|
||||||
|
MACH_MSG_TYPE_MAKE_SEND)!= KERN_SUCCESS) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
struct mach_message msg = { 0 };
|
||||||
|
msg.header.msgh_remote_port = port;
|
||||||
|
msg.header.msgh_local_port = response_port;
|
||||||
|
msg.header.msgh_id = response_port;
|
||||||
|
msg.header.msgh_bits = MACH_MSGH_BITS_SET(MACH_MSG_TYPE_COPY_SEND,
|
||||||
|
MACH_MSG_TYPE_MAKE_SEND,
|
||||||
|
0,
|
||||||
|
MACH_MSGH_BITS_COMPLEX );
|
||||||
|
|
||||||
|
msg.header.msgh_size = sizeof(struct mach_message);
|
||||||
|
msg.msgh_descriptor_count = 1;
|
||||||
|
msg.descriptor.address = message;
|
||||||
|
msg.descriptor.size = len * sizeof(char);
|
||||||
|
msg.descriptor.copy = MACH_MSG_VIRTUAL_COPY;
|
||||||
|
msg.descriptor.deallocate = false;
|
||||||
|
msg.descriptor.type = MACH_MSG_OOL_DESCRIPTOR;
|
||||||
|
|
||||||
|
mach_msg(&msg.header,
|
||||||
|
MACH_SEND_MSG,
|
||||||
|
sizeof(struct mach_message),
|
||||||
|
0,
|
||||||
|
MACH_PORT_NULL,
|
||||||
|
MACH_MSG_TIMEOUT_NONE,
|
||||||
|
MACH_PORT_NULL );
|
||||||
|
|
||||||
|
struct mach_buffer buffer = { 0 };
|
||||||
|
mach_receive_message(response_port, &buffer, true);
|
||||||
|
if (buffer.message.descriptor.address)
|
||||||
|
return (char*)buffer.message.descriptor.address;
|
||||||
|
mach_msg_destroy(&buffer.message.header);
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
#pragma clang diagnostic push
|
||||||
|
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
|
||||||
|
static inline bool mach_server_begin(struct mach_server* mach_server, mach_handler handler, char* bootstrap_name) {
|
||||||
|
mach_server->task = mach_task_self();
|
||||||
|
|
||||||
|
if (mach_port_allocate(mach_server->task,
|
||||||
|
MACH_PORT_RIGHT_RECEIVE,
|
||||||
|
&mach_server->port ) != KERN_SUCCESS) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mach_port_insert_right(mach_server->task,
|
||||||
|
mach_server->port,
|
||||||
|
mach_server->port,
|
||||||
|
MACH_MSG_TYPE_MAKE_SEND) != KERN_SUCCESS) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (task_get_special_port(mach_server->task,
|
||||||
|
TASK_BOOTSTRAP_PORT,
|
||||||
|
&mach_server->bs_port) != KERN_SUCCESS) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (bootstrap_register(mach_server->bs_port,
|
||||||
|
bootstrap_name,
|
||||||
|
mach_server->port ) != KERN_SUCCESS) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
mach_server->handler = handler;
|
||||||
|
mach_server->is_running = true;
|
||||||
|
while (mach_server->is_running) {
|
||||||
|
struct mach_buffer* buffer = (struct mach_buffer*)malloc(sizeof(struct mach_buffer));
|
||||||
|
mach_receive_message(mach_server->port, buffer, false);
|
||||||
|
mach_server->handler((env)buffer->message.descriptor.address);
|
||||||
|
mach_msg_destroy(&buffer->message.header);
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
#pragma clang diagnostic pop
|
||||||
|
|
||||||
|
static inline char* sketchybar(char* message) {
|
||||||
|
uint32_t message_length = strlen(message) + 1;
|
||||||
|
char formatted_message[message_length + 1];
|
||||||
|
|
||||||
|
char quote = '\0';
|
||||||
|
uint32_t caret = 0;
|
||||||
|
for (int i = 0; i < message_length; ++i) {
|
||||||
|
if (message[i] == '"' || message[i] == '\'') {
|
||||||
|
if (quote == message[i]) quote = '\0';
|
||||||
|
else quote = message[i];
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
formatted_message[caret] = message[i];
|
||||||
|
if (message[i] == ' ' && !quote) formatted_message[caret] = '\0';
|
||||||
|
caret++;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (caret > 0 && formatted_message[caret] == '\0'
|
||||||
|
&& formatted_message[caret - 1] == '\0') {
|
||||||
|
caret--;
|
||||||
|
}
|
||||||
|
|
||||||
|
formatted_message[caret] = '\0';
|
||||||
|
if (!g_mach_port) g_mach_port = mach_get_bs_port();
|
||||||
|
char* response = mach_send_message(g_mach_port,
|
||||||
|
formatted_message,
|
||||||
|
caret + 1 );
|
||||||
|
|
||||||
|
if (response) return response;
|
||||||
|
else return (char*)"";
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void event_server_begin(mach_handler event_handler, char* bootstrap_name) {
|
||||||
|
mach_server_begin(&g_mach_server, event_handler, bootstrap_name);
|
||||||
|
}
|
31
configmac/sketchybar/icons.sh
Executable file
31
configmac/sketchybar/icons.sh
Executable file
|
@ -0,0 +1,31 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
# General Icons
|
||||||
|
LOADING=
|
||||||
|
APPLE=
|
||||||
|
PREFERENCES=
|
||||||
|
ACTIVITY=
|
||||||
|
LOCK=
|
||||||
|
BELL=
|
||||||
|
BELL_DOT=
|
||||||
|
|
||||||
|
# Git Icons
|
||||||
|
GIT_ISSUE=
|
||||||
|
GIT_DISCUSSION=
|
||||||
|
GIT_PULL_REQUEST=
|
||||||
|
GIT_COMMIT=
|
||||||
|
GIT_INDICATOR=
|
||||||
|
|
||||||
|
# Spotify Icons
|
||||||
|
SPOTIFY_BACK=
|
||||||
|
SPOTIFY_PLAY_PAUSE=
|
||||||
|
SPOTIFY_NEXT=
|
||||||
|
SPOTIFY_SHUFFLE=
|
||||||
|
SPOTIFY_REPEAT=
|
||||||
|
|
||||||
|
# Yabai Icons
|
||||||
|
YABAI_STACK=
|
||||||
|
YABAI_FULLSCREEN_ZOOM=
|
||||||
|
YABAI_PARENT_ZOOM=
|
||||||
|
YABAI_FLOAT=
|
||||||
|
YABAI_GRID=
|
32
configmac/sketchybar/items/apple.sh
Executable file
32
configmac/sketchybar/items/apple.sh
Executable file
|
@ -0,0 +1,32 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
POPUP_OFF="sketchybar --set apple.logo popup.drawing=off"
|
||||||
|
POPUP_CLICK_SCRIPT="sketchybar --set \$NAME popup.drawing=toggle"
|
||||||
|
|
||||||
|
sketchybar --add item apple.logo left \
|
||||||
|
\
|
||||||
|
--set apple.logo icon= \
|
||||||
|
icon.font="Font Awesome 6 Pro:Regular:16.0" \
|
||||||
|
icon.color=$GREEN \
|
||||||
|
background.padding_left=-8 \
|
||||||
|
background.padding_right=25 \
|
||||||
|
label.drawing=off \
|
||||||
|
click_script="$POPUP_CLICK_SCRIPT" \
|
||||||
|
\
|
||||||
|
--add item apple.prefs popup.apple.logo \
|
||||||
|
--set apple.prefs icon=$PREFERENCES \
|
||||||
|
label="Preferences" \
|
||||||
|
click_script="open -a 'System Preferences';
|
||||||
|
$POPUP_OFF" \
|
||||||
|
\
|
||||||
|
--add item apple.activity popup.apple.logo \
|
||||||
|
--set apple.activity icon=$ACTIVITY \
|
||||||
|
label="Activity" \
|
||||||
|
click_script="open -a 'Activity Monitor';
|
||||||
|
$POPUP_OFF"\
|
||||||
|
\
|
||||||
|
--add item apple.lock popup.apple.logo \
|
||||||
|
--set apple.lock icon=$LOCK \
|
||||||
|
label="Lock Screen" \
|
||||||
|
click_script="pmset displaysleepnow;
|
||||||
|
$POPUP_OFF"
|
16
configmac/sketchybar/items/calendar.sh
Executable file
16
configmac/sketchybar/items/calendar.sh
Executable file
|
@ -0,0 +1,16 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
sketchybar --add item calendar right \
|
||||||
|
--set calendar icon=cal \
|
||||||
|
icon.color=$WHITE \
|
||||||
|
icon.font="$FONT:Black:12.0" \
|
||||||
|
icon.padding_left=5 \
|
||||||
|
icon.padding_right=5 \
|
||||||
|
label.color=$WHITE \
|
||||||
|
label.padding_left=5 \
|
||||||
|
label.padding_right=5 \
|
||||||
|
width=140 \
|
||||||
|
align=center \
|
||||||
|
background.color=$CALENDAR_BACKGROUND \
|
||||||
|
background.height=26 \
|
||||||
|
background.corner_radius=11
|
41
configmac/sketchybar/items/cpu.sh
Executable file
41
configmac/sketchybar/items/cpu.sh
Executable file
|
@ -0,0 +1,41 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
sketchybar --add item cpu.top right \
|
||||||
|
--set cpu.top label.font="$FONT:Semibold:7" \
|
||||||
|
label=CPU \
|
||||||
|
icon.drawing=off \
|
||||||
|
width=0 \
|
||||||
|
y_offset=6 \
|
||||||
|
background.padding_right=23 \
|
||||||
|
\
|
||||||
|
--add item cpu.percent right \
|
||||||
|
--set cpu.percent label.font="$FONT:Heavy:12" \
|
||||||
|
label=CPU \
|
||||||
|
y_offset=-4 \
|
||||||
|
width=40 \
|
||||||
|
icon.drawing=off \
|
||||||
|
update_freq=2 \
|
||||||
|
mach_helper="$HELPER" \
|
||||||
|
background.padding_right=20 \
|
||||||
|
\
|
||||||
|
--add graph cpu.sys right 100 \
|
||||||
|
--set cpu.sys width=0 \
|
||||||
|
graph.color=$RED \
|
||||||
|
graph.fill_color=$RED \
|
||||||
|
label.drawing=off \
|
||||||
|
icon.drawing=off \
|
||||||
|
background.padding_right=20 \
|
||||||
|
background.padding_left=10 \
|
||||||
|
background.height=30 \
|
||||||
|
background.drawing=on \
|
||||||
|
background.color=$TRANSPARENT \
|
||||||
|
\
|
||||||
|
--add graph cpu.user right 100 \
|
||||||
|
--set cpu.user graph.color=$BLUE \
|
||||||
|
label.drawing=off \
|
||||||
|
icon.drawing=off \
|
||||||
|
background.padding_right=20 \
|
||||||
|
background.padding_left=10 \
|
||||||
|
background.height=30 \
|
||||||
|
background.drawing=on \
|
||||||
|
background.color=$TRANSPARENT
|
27
configmac/sketchybar/items/front_app.sh
Executable file
27
configmac/sketchybar/items/front_app.sh
Executable file
|
@ -0,0 +1,27 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
sketchybar --add event window_focus \
|
||||||
|
--add event windows_on_spaces \
|
||||||
|
--add item system.yabai left \
|
||||||
|
--set system.yabai script="$PLUGIN_DIR/yabai.sh" \
|
||||||
|
icon.font="$FONT:Bold:16.0" \
|
||||||
|
label.drawing=off \
|
||||||
|
icon.width=30 \
|
||||||
|
icon=$YABAI_GRID \
|
||||||
|
icon.color=$GREEN \
|
||||||
|
updates=on \
|
||||||
|
associated_display=active \
|
||||||
|
--subscribe system.yabai window_focus \
|
||||||
|
windows_on_spaces \
|
||||||
|
mouse.clicked \
|
||||||
|
\
|
||||||
|
--add item front_app left \
|
||||||
|
--set front_app mach_helper="$HELPER" \
|
||||||
|
icon.drawing=off \
|
||||||
|
background.padding_left=0 \
|
||||||
|
background.padding_right=10 \
|
||||||
|
label.color=$WHITE \
|
||||||
|
label.font="$FONT:Black:12.0" \
|
||||||
|
associated_display=active \
|
||||||
|
--subscribe front_app front_app_switched
|
||||||
|
|
26
configmac/sketchybar/items/github.sh
Executable file
26
configmac/sketchybar/items/github.sh
Executable file
|
@ -0,0 +1,26 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
sketchybar --add item github.bell right \
|
||||||
|
--set github.bell update_freq=180 \
|
||||||
|
icon.font="$FONT:Bold:15.0" \
|
||||||
|
icon=$BELL \
|
||||||
|
icon.color=$BLUE \
|
||||||
|
label=$LOADING \
|
||||||
|
label.highlight_color=$BLUE \
|
||||||
|
background.padding_left=10 \
|
||||||
|
popup.align=right \
|
||||||
|
script="$PLUGIN_DIR/github.sh" \
|
||||||
|
click_script="$POPUP_CLICK_SCRIPT" \
|
||||||
|
--subscribe github.bell mouse.entered \
|
||||||
|
mouse.exited \
|
||||||
|
mouse.exited.global \
|
||||||
|
\
|
||||||
|
--add item github.template popup.github.bell \
|
||||||
|
--set github.template drawing=off \
|
||||||
|
background.corner_radius=12 \
|
||||||
|
background.padding_left=7 \
|
||||||
|
background.padding_right=7 \
|
||||||
|
background.color=$BLACK \
|
||||||
|
background.drawing=off \
|
||||||
|
icon.background.height=2 \
|
||||||
|
icon.background.y_offset=-12
|
40
configmac/sketchybar/items/spaces.sh
Executable file
40
configmac/sketchybar/items/spaces.sh
Executable file
|
@ -0,0 +1,40 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
SPACE_ICONS=("" "" "" "" "" "" "" "")
|
||||||
|
|
||||||
|
sid=0
|
||||||
|
for i in "${!SPACE_ICONS[@]}"
|
||||||
|
do
|
||||||
|
sid=$(($i+1))
|
||||||
|
sketchybar --add space space.$sid left \
|
||||||
|
--set space.$sid associated_space=$sid \
|
||||||
|
icon=${SPACE_ICONS[i]} \
|
||||||
|
icon.padding_left=22 \
|
||||||
|
icon.padding_right=22 \
|
||||||
|
label.padding_right=33 \
|
||||||
|
icon.highlight_color=$RED \
|
||||||
|
background.padding_left=-8 \
|
||||||
|
background.padding_right=-8 \
|
||||||
|
background.height=26 \
|
||||||
|
background.corner_radius=9 \
|
||||||
|
background.color=$SPACE_BACKGROUND \
|
||||||
|
background.drawing=on \
|
||||||
|
icon.font="Font Awesome 6 Pro:Regular:16.0" \
|
||||||
|
label.background.height=26 \
|
||||||
|
label.background.drawing=on \
|
||||||
|
label.background.color=$OPEN_APPS_BACKGROUND \
|
||||||
|
label.background.corner_radius=9 \
|
||||||
|
label.drawing=off \
|
||||||
|
script="" \
|
||||||
|
mach_helper="$HELPER" \
|
||||||
|
click_script="$SPACE_CLICK_SCRIPT"
|
||||||
|
done
|
||||||
|
|
||||||
|
sketchybar --add item separator left \
|
||||||
|
--set separator icon= \
|
||||||
|
icon.font="Hack Nerd Font:Regular:16.0" \
|
||||||
|
background.padding_left=26 \
|
||||||
|
background.padding_right=15 \
|
||||||
|
label.drawing=off \
|
||||||
|
associated_display=active \
|
||||||
|
icon.color=$WHITE
|
131
configmac/sketchybar/items/spotify.sh
Executable file
131
configmac/sketchybar/items/spotify.sh
Executable file
|
@ -0,0 +1,131 @@
|
||||||
|
SPOTIFY_EVENT="com.spotify.client.PlaybackStateChanged"
|
||||||
|
POPUP_SCRIPT="sketchybar -m --set spotify.anchor popup.drawing=toggle"
|
||||||
|
|
||||||
|
sketchybar --add event spotify_change $SPOTIFY_EVENT \
|
||||||
|
--add item spotify.anchor center \
|
||||||
|
--set spotify.anchor script="$PLUGIN_DIR/spotify.sh" \
|
||||||
|
click_script="$POPUP_SCRIPT" \
|
||||||
|
width=170 \
|
||||||
|
align=left \
|
||||||
|
icon.background.drawing=on \
|
||||||
|
icon.background.color=$GREEN \
|
||||||
|
icon.background.height=3 \
|
||||||
|
icon.background.corner_radius=2 \
|
||||||
|
background.padding_left=1 \
|
||||||
|
background.drawing=on \
|
||||||
|
popup.horizontal=on \
|
||||||
|
popup.align=center \
|
||||||
|
popup.height=120 \
|
||||||
|
label= \
|
||||||
|
label.font="$FONT:Regular:19.0" \
|
||||||
|
label.drawing=off \
|
||||||
|
drawing=off \
|
||||||
|
--subscribe spotify.anchor mouse.entered mouse.exited \
|
||||||
|
mouse.exited.global \
|
||||||
|
\
|
||||||
|
--add item spotify.cover popup.spotify.anchor \
|
||||||
|
--set spotify.cover script="$PLUGIN_DIR/spotify.sh" \
|
||||||
|
label.drawing=off \
|
||||||
|
icon.drawing=off \
|
||||||
|
background.padding_left=12 \
|
||||||
|
background.padding_right=10 \
|
||||||
|
background.image.scale=0.15 \
|
||||||
|
background.image.drawing=on \
|
||||||
|
background.drawing=on \
|
||||||
|
\
|
||||||
|
--add item spotify.title popup.spotify.anchor \
|
||||||
|
--set spotify.title icon.drawing=off \
|
||||||
|
background.padding_left=0 \
|
||||||
|
background.padding_right=0 \
|
||||||
|
width=0 \
|
||||||
|
label.font="$FONT:Heavy:14.0" \
|
||||||
|
y_offset=40 \
|
||||||
|
\
|
||||||
|
--add item spotify.artist popup.spotify.anchor \
|
||||||
|
--set spotify.artist icon.drawing=off \
|
||||||
|
y_offset=20 \
|
||||||
|
background.padding_left=0 \
|
||||||
|
background.padding_right=0 \
|
||||||
|
width=0 \
|
||||||
|
\
|
||||||
|
--add item spotify.album popup.spotify.anchor \
|
||||||
|
--set spotify.album icon.drawing=off \
|
||||||
|
background.padding_left=0 \
|
||||||
|
background.padding_right=0 \
|
||||||
|
y_offset=3 \
|
||||||
|
width=0 \
|
||||||
|
\
|
||||||
|
--add item spotify.shuffle popup.spotify.anchor \
|
||||||
|
--set spotify.shuffle icon= \
|
||||||
|
icon.padding_left=5 \
|
||||||
|
icon.padding_right=5 \
|
||||||
|
icon.color=$BLACK \
|
||||||
|
icon.highlight_color=$MAGENTA \
|
||||||
|
label.drawing=off \
|
||||||
|
script="$PLUGIN_DIR/spotify.sh" \
|
||||||
|
y_offset=-30 \
|
||||||
|
--subscribe spotify.shuffle mouse.clicked \
|
||||||
|
\
|
||||||
|
--add item spotify.back popup.spotify.anchor \
|
||||||
|
--set spotify.back icon= \
|
||||||
|
icon.padding_left=5 \
|
||||||
|
icon.padding_right=5 \
|
||||||
|
icon.color=$BLACK \
|
||||||
|
script="$PLUGIN_DIR/spotify.sh" \
|
||||||
|
label.drawing=off \
|
||||||
|
y_offset=-30 \
|
||||||
|
--subscribe spotify.back mouse.clicked \
|
||||||
|
\
|
||||||
|
--add item spotify.play popup.spotify.anchor \
|
||||||
|
--set spotify.play icon= \
|
||||||
|
background.height=40 \
|
||||||
|
background.corner_radius=20 \
|
||||||
|
width=40 \
|
||||||
|
align=center \
|
||||||
|
background.color=$BLACK \
|
||||||
|
background.border_color=$WHITE \
|
||||||
|
background.border_width=0 \
|
||||||
|
background.drawing=on \
|
||||||
|
icon.padding_left=4 \
|
||||||
|
icon.padding_right=5 \
|
||||||
|
icon.color=$WHITE \
|
||||||
|
updates=on \
|
||||||
|
label.drawing=off \
|
||||||
|
script="$PLUGIN_DIR/spotify.sh" \
|
||||||
|
y_offset=-30 \
|
||||||
|
--subscribe spotify.play mouse.clicked spotify_change \
|
||||||
|
\
|
||||||
|
--add item spotify.next popup.spotify.anchor \
|
||||||
|
--set spotify.next icon= \
|
||||||
|
icon.padding_left=5 \
|
||||||
|
icon.padding_right=10 \
|
||||||
|
icon.color=$BLACK \
|
||||||
|
label.drawing=off \
|
||||||
|
script="$PLUGIN_DIR/spotify.sh" \
|
||||||
|
y_offset=-30 \
|
||||||
|
--subscribe spotify.next mouse.clicked \
|
||||||
|
\
|
||||||
|
--add item spotify.repeat popup.spotify.anchor \
|
||||||
|
--set spotify.repeat icon= \
|
||||||
|
icon.highlight_color=$MAGENTA \
|
||||||
|
icon.padding_left=5 \
|
||||||
|
icon.padding_right=10 \
|
||||||
|
icon.color=$BLACK \
|
||||||
|
label.drawing=off \
|
||||||
|
script="$PLUGIN_DIR/spotify.sh" \
|
||||||
|
y_offset=-30 \
|
||||||
|
--subscribe spotify.repeat mouse.clicked \
|
||||||
|
\
|
||||||
|
--add item spotify.spacer popup.spotify.anchor \
|
||||||
|
--set spotify.spacer width=5 \
|
||||||
|
\
|
||||||
|
--add bracket spotify spotify.shuffle \
|
||||||
|
spotify.back \
|
||||||
|
spotify.play \
|
||||||
|
spotify.next \
|
||||||
|
spotify.repeat \
|
||||||
|
--set spotify background.color=$GREEN \
|
||||||
|
background.corner_radius=11 \
|
||||||
|
background.drawing=on \
|
||||||
|
y_offset=-30 \
|
||||||
|
drawing=off
|
21
configmac/sketchybar/items/volume.sh
Executable file
21
configmac/sketchybar/items/volume.sh
Executable file
|
@ -0,0 +1,21 @@
|
||||||
|
sketchybar --add item volume right \
|
||||||
|
--set volume script="$PLUGIN_DIR/volume.sh" \
|
||||||
|
updates=on \
|
||||||
|
icon.background.drawing=on \
|
||||||
|
icon.background.color=$BLUE \
|
||||||
|
icon.background.height=8 \
|
||||||
|
icon.background.corner_radius=3 \
|
||||||
|
icon.width=0 \
|
||||||
|
icon.align=right \
|
||||||
|
label.drawing=off \
|
||||||
|
background.drawing=on \
|
||||||
|
background.color=$OPEN_APPS_BACKGROUND \
|
||||||
|
background.height=8 \
|
||||||
|
background.corner_radius=3 \
|
||||||
|
align=left \
|
||||||
|
--subscribe volume volume_change
|
||||||
|
|
||||||
|
sketchybar --add item volume_icon right \
|
||||||
|
--set volume_icon icon.font="$FONT:Regular:21.0" \
|
||||||
|
icon= \
|
||||||
|
label.drawing=off
|
87
configmac/sketchybar/plugins/github.sh
Executable file
87
configmac/sketchybar/plugins/github.sh
Executable file
|
@ -0,0 +1,87 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
update() {
|
||||||
|
source "$HOME/.config/sketchybar/colors.sh"
|
||||||
|
source "$HOME/.config/sketchybar/icons.sh"
|
||||||
|
|
||||||
|
NOTIFICATIONS="$(gh api notifications)"
|
||||||
|
COUNT="$(echo "$NOTIFICATIONS" | jq 'length')"
|
||||||
|
args=()
|
||||||
|
if [ "$NOTIFICATIONS" = "[]" ]; then
|
||||||
|
args+=(--set $NAME icon=$BELL label="0")
|
||||||
|
else
|
||||||
|
args+=(--set $NAME icon=$BELL_DOT label="$COUNT")
|
||||||
|
fi
|
||||||
|
|
||||||
|
PREV_COUNT=$(sketchybar --query github.bell | jq -r .label.value)
|
||||||
|
# For sound to play around with:
|
||||||
|
# afplay /System/Library/Sounds/Morse.aiff
|
||||||
|
|
||||||
|
args+=(--remove '/github.notification\.*/')
|
||||||
|
|
||||||
|
COUNTER=0
|
||||||
|
COLOR=$BLUE
|
||||||
|
args+=(--set github.bell icon.color=$COLOR)
|
||||||
|
|
||||||
|
while read -r repo url type title
|
||||||
|
do
|
||||||
|
COUNTER=$((COUNTER + 1))
|
||||||
|
IMPORTANT="$(echo "$title" | egrep -i "(deprecat|break|broke)")"
|
||||||
|
COLOR=$BLUE
|
||||||
|
PADDING=0
|
||||||
|
|
||||||
|
if [ "${repo}" = "" ] && [ "${title}" = "" ]; then
|
||||||
|
repo="Note"
|
||||||
|
title="No new notifications"
|
||||||
|
fi
|
||||||
|
case "${type}" in
|
||||||
|
"'Issue'") COLOR=$GREEN; ICON=$GIT_ISSUE; URL="$(gh api "$(echo "${url}" | sed -e "s/^'//" -e "s/'$//")" | jq .html_url)"
|
||||||
|
;;
|
||||||
|
"'Discussion'") COLOR=$WHITE; ICON=$GIT_DISCUSSION; URL="https://www.github.com/notifications"
|
||||||
|
;;
|
||||||
|
"'PullRequest'") COLOR=$MAGENTA; ICON=$GIT_PULL_REQUEST; URL="$(gh api "$(echo "${url}" | sed -e "s/^'//" -e "s/'$//")" | jq .html_url)"
|
||||||
|
;;
|
||||||
|
"'Commit'") COLOR=$WHITE; ICON=$GIT_COMMIT; URL="$(gh api "$(echo "${url}" | sed -e "s/^'//" -e "s/'$//")" | jq .html_url)"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ "$IMPORTANT" != "" ]; then
|
||||||
|
COLOR=$RED
|
||||||
|
ICON=
|
||||||
|
args+=(--set github.bell icon.color=$COLOR)
|
||||||
|
fi
|
||||||
|
|
||||||
|
args+=(--clone github.notification.$COUNTER github.template \
|
||||||
|
--set github.notification.$COUNTER label="$(echo "$title" | sed -e "s/^'//" -e "s/'$//")" \
|
||||||
|
icon="$ICON $(echo "$repo" | sed -e "s/^'//" -e "s/'$//"):" \
|
||||||
|
icon.padding_left="$PADDING" \
|
||||||
|
label.padding_right="$PADDING" \
|
||||||
|
icon.color=$COLOR \
|
||||||
|
position=popup.github.bell \
|
||||||
|
icon.background.color=$COLOR \
|
||||||
|
drawing=on \
|
||||||
|
click_script="open $URL;
|
||||||
|
sketchybar --set github.bell popup.drawing=off")
|
||||||
|
done <<< "$(echo "$NOTIFICATIONS" | jq -r '.[] | [.repository.name, .subject.latest_comment_url, .subject.type, .subject.title] | @sh')"
|
||||||
|
|
||||||
|
sketchybar -m "${args[@]}"
|
||||||
|
|
||||||
|
if [ $COUNT -gt $PREV_COUNT ] 2>/dev/null || [ "$SENDER" = "forced" ]; then
|
||||||
|
sketchybar --animate tanh 15 --set github.bell label.y_offset=5 label.y_offset=0
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
popup() {
|
||||||
|
sketchybar --set $NAME popup.drawing=$1
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$SENDER" in
|
||||||
|
"routine"|"forced") update
|
||||||
|
;;
|
||||||
|
"mouse.entered") popup on
|
||||||
|
;;
|
||||||
|
"mouse.exited"|"mouse.exited.global") popup off
|
||||||
|
;;
|
||||||
|
"mouse.clicked") popup toggle
|
||||||
|
;;
|
||||||
|
esac
|
381
configmac/sketchybar/plugins/icon_map.sh
Executable file
381
configmac/sketchybar/plugins/icon_map.sh
Executable file
|
@ -0,0 +1,381 @@
|
||||||
|
case "$1" in
|
||||||
|
"Brave Browser")
|
||||||
|
icon_result=":brave_browser:"
|
||||||
|
;;
|
||||||
|
"Keyboard Maestro")
|
||||||
|
icon_result=":keyboard_maestro:"
|
||||||
|
;;
|
||||||
|
"Min")
|
||||||
|
icon_result=":min_browser:"
|
||||||
|
;;
|
||||||
|
"Final Cut Pro")
|
||||||
|
icon_result=":final_cut_pro:"
|
||||||
|
;;
|
||||||
|
"FaceTime")
|
||||||
|
icon_result=":face_time:"
|
||||||
|
;;
|
||||||
|
"Affinity Publisher")
|
||||||
|
icon_result=":affinity_publisher:"
|
||||||
|
;;
|
||||||
|
"Messages" | "Nachrichten")
|
||||||
|
icon_result=":messages:"
|
||||||
|
;;
|
||||||
|
"Tweetbot" | "Twitter")
|
||||||
|
icon_result=":twitter:"
|
||||||
|
;;
|
||||||
|
"ClickUp")
|
||||||
|
icon_result=":click_up:"
|
||||||
|
;;
|
||||||
|
"KeePassXC")
|
||||||
|
icon_result=":kee_pass_x_c:"
|
||||||
|
;;
|
||||||
|
"Microsoft Edge")
|
||||||
|
icon_result=":microsoft_edge:"
|
||||||
|
;;
|
||||||
|
"VLC")
|
||||||
|
icon_result=":vlc:"
|
||||||
|
;;
|
||||||
|
"Emacs")
|
||||||
|
icon_result=":emacs:"
|
||||||
|
;;
|
||||||
|
"Thunderbird")
|
||||||
|
icon_result=":thunderbird:"
|
||||||
|
;;
|
||||||
|
"Notes")
|
||||||
|
icon_result=":notes:"
|
||||||
|
;;
|
||||||
|
"Caprine")
|
||||||
|
icon_result=":caprine:"
|
||||||
|
;;
|
||||||
|
"Zulip")
|
||||||
|
icon_result=":zulip:"
|
||||||
|
;;
|
||||||
|
"Spark")
|
||||||
|
icon_result=":spark:"
|
||||||
|
;;
|
||||||
|
"Microsoft To Do" | "Things")
|
||||||
|
icon_result=":things:"
|
||||||
|
;;
|
||||||
|
"DEVONthink 3")
|
||||||
|
icon_result=":devonthink3:"
|
||||||
|
;;
|
||||||
|
"GitHub Desktop")
|
||||||
|
icon_result=":git_hub:"
|
||||||
|
;;
|
||||||
|
"App Store")
|
||||||
|
icon_result=":app_store:"
|
||||||
|
;;
|
||||||
|
"Chromium" | "Google Chrome" | "Google Chrome Canary")
|
||||||
|
icon_result=":google_chrome:"
|
||||||
|
;;
|
||||||
|
"zoom.us")
|
||||||
|
icon_result=":zoom:"
|
||||||
|
;;
|
||||||
|
"MoneyMoney")
|
||||||
|
icon_result=":bank:"
|
||||||
|
;;
|
||||||
|
"Color Picker")
|
||||||
|
icon_result=":color_picker:"
|
||||||
|
;;
|
||||||
|
"Microsoft Word")
|
||||||
|
icon_result=":microsoft_word:"
|
||||||
|
;;
|
||||||
|
"Iris")
|
||||||
|
icon_result=":iris:"
|
||||||
|
;;
|
||||||
|
"WebStorm")
|
||||||
|
icon_result=":web_storm:"
|
||||||
|
;;
|
||||||
|
"Neovide" | "MacVim" | "Vim" | "VimR")
|
||||||
|
icon_result=":vim:"
|
||||||
|
;;
|
||||||
|
"Sublime Text")
|
||||||
|
icon_result=":sublime_text:"
|
||||||
|
;;
|
||||||
|
"PomoDone App")
|
||||||
|
icon_result=":pomodone:"
|
||||||
|
;;
|
||||||
|
"Setapp")
|
||||||
|
icon_result=":setapp:"
|
||||||
|
;;
|
||||||
|
"qutebrowser")
|
||||||
|
icon_result=":qute_browser:"
|
||||||
|
;;
|
||||||
|
"Mattermost")
|
||||||
|
icon_result=":mattermost:"
|
||||||
|
;;
|
||||||
|
"Notability")
|
||||||
|
icon_result=":notability:"
|
||||||
|
;;
|
||||||
|
"WhatsApp")
|
||||||
|
icon_result=":whats_app:"
|
||||||
|
;;
|
||||||
|
"OBS")
|
||||||
|
icon_result=":obsstudio:"
|
||||||
|
;;
|
||||||
|
"Parallels Desktop")
|
||||||
|
icon_result=":parallels:"
|
||||||
|
;;
|
||||||
|
"VMware Fusion")
|
||||||
|
icon_result=":vmware_fusion:"
|
||||||
|
;;
|
||||||
|
"Pine")
|
||||||
|
icon_result=":pine:"
|
||||||
|
;;
|
||||||
|
"Microsoft Excel")
|
||||||
|
icon_result=":microsoft_excel:"
|
||||||
|
;;
|
||||||
|
"Microsoft PowerPoint")
|
||||||
|
icon_result=":microsoft_power_point:"
|
||||||
|
;;
|
||||||
|
"Matlab")
|
||||||
|
icon_result=":matlab:"
|
||||||
|
;;
|
||||||
|
"Numbers")
|
||||||
|
icon_result=":numbers:"
|
||||||
|
;;
|
||||||
|
"Default")
|
||||||
|
icon_result=":default:"
|
||||||
|
;;
|
||||||
|
"Element")
|
||||||
|
icon_result=":element:"
|
||||||
|
;;
|
||||||
|
"Bear")
|
||||||
|
icon_result=":bear:"
|
||||||
|
;;
|
||||||
|
"TeamSpeak 3")
|
||||||
|
icon_result=":team_speak:"
|
||||||
|
;;
|
||||||
|
"Airmail")
|
||||||
|
icon_result=":airmail:"
|
||||||
|
;;
|
||||||
|
"Firefox Developer Edition" | "Firefox Nightly")
|
||||||
|
icon_result=":firefox_developer_edition:"
|
||||||
|
;;
|
||||||
|
"Trello")
|
||||||
|
icon_result=":trello:"
|
||||||
|
;;
|
||||||
|
"TickTick")
|
||||||
|
icon_result=":tick_tick:"
|
||||||
|
;;
|
||||||
|
"Notion")
|
||||||
|
icon_result=":notion:"
|
||||||
|
;;
|
||||||
|
"Live")
|
||||||
|
icon_result=":ableton:"
|
||||||
|
;;
|
||||||
|
"Evernote Legacy")
|
||||||
|
icon_result=":evernote_legacy:"
|
||||||
|
;;
|
||||||
|
"Calendar" | "Fantastical")
|
||||||
|
icon_result=":calendar:"
|
||||||
|
;;
|
||||||
|
"Android Studio")
|
||||||
|
icon_result=":android_studio:"
|
||||||
|
;;
|
||||||
|
"Xcode")
|
||||||
|
icon_result=":xcode:"
|
||||||
|
;;
|
||||||
|
"Slack")
|
||||||
|
icon_result=":slack:"
|
||||||
|
;;
|
||||||
|
"Sequel Pro")
|
||||||
|
icon_result=":sequel_pro:"
|
||||||
|
;;
|
||||||
|
"Bitwarden")
|
||||||
|
icon_result=":bit_warden:"
|
||||||
|
;;
|
||||||
|
"System Preferences")
|
||||||
|
icon_result=":gear:"
|
||||||
|
;;
|
||||||
|
"Discord" | "Discord Canary" | "Discord PTB")
|
||||||
|
icon_result=":discord:"
|
||||||
|
;;
|
||||||
|
"Vivaldi")
|
||||||
|
icon_result=":vivaldi:"
|
||||||
|
;;
|
||||||
|
"Firefox")
|
||||||
|
icon_result=":firefox:"
|
||||||
|
;;
|
||||||
|
"Skype")
|
||||||
|
icon_result=":skype:"
|
||||||
|
;;
|
||||||
|
"Dropbox")
|
||||||
|
icon_result=":dropbox:"
|
||||||
|
;;
|
||||||
|
"微信")
|
||||||
|
icon_result=":wechat:"
|
||||||
|
;;
|
||||||
|
"Typora")
|
||||||
|
icon_result=":text:"
|
||||||
|
;;
|
||||||
|
"Blender")
|
||||||
|
icon_result=":blender:"
|
||||||
|
;;
|
||||||
|
"Canary Mail" | "HEY" | "Mail" | "Mailspring" | "MailMate" | "邮件")
|
||||||
|
icon_result=":mail:"
|
||||||
|
;;
|
||||||
|
"Safari" | "Safari Technology Preview")
|
||||||
|
icon_result=":safari:"
|
||||||
|
;;
|
||||||
|
"Telegram")
|
||||||
|
icon_result=":telegram:"
|
||||||
|
;;
|
||||||
|
"Keynote")
|
||||||
|
icon_result=":keynote:"
|
||||||
|
;;
|
||||||
|
"Reeder")
|
||||||
|
icon_result=":reeder5:"
|
||||||
|
;;
|
||||||
|
"Spotify")
|
||||||
|
icon_result=":spotify:"
|
||||||
|
;;
|
||||||
|
"MAMP" | "MAMP PRO")
|
||||||
|
icon_result=":mamp:"
|
||||||
|
;;
|
||||||
|
"Figma")
|
||||||
|
icon_result=":figma:"
|
||||||
|
;;
|
||||||
|
"Joplin")
|
||||||
|
icon_result=":joplin:"
|
||||||
|
;;
|
||||||
|
"Spotlight")
|
||||||
|
icon_result=":spotlight:"
|
||||||
|
;;
|
||||||
|
"Music")
|
||||||
|
icon_result=":music:"
|
||||||
|
;;
|
||||||
|
"Insomnia")
|
||||||
|
icon_result=":insomnia:"
|
||||||
|
;;
|
||||||
|
"TIDAL")
|
||||||
|
icon_result=":tidal:"
|
||||||
|
;;
|
||||||
|
"Alfred")
|
||||||
|
icon_result=":alfred:"
|
||||||
|
;;
|
||||||
|
"Pages")
|
||||||
|
icon_result=":pages:"
|
||||||
|
;;
|
||||||
|
"Folx")
|
||||||
|
icon_result=":folx:"
|
||||||
|
;;
|
||||||
|
"Android Messages")
|
||||||
|
icon_result=":android_messages:"
|
||||||
|
;;
|
||||||
|
"mpv")
|
||||||
|
icon_result=":mpv:"
|
||||||
|
;;
|
||||||
|
"网易云音乐")
|
||||||
|
icon_result=":netease_music:"
|
||||||
|
;;
|
||||||
|
"Transmit")
|
||||||
|
icon_result=":transmit:"
|
||||||
|
;;
|
||||||
|
"Pi-hole Remote")
|
||||||
|
icon_result=":pihole:"
|
||||||
|
;;
|
||||||
|
"Nova")
|
||||||
|
icon_result=":nova:"
|
||||||
|
;;
|
||||||
|
"Affinity Designer")
|
||||||
|
icon_result=":affinity_designer:"
|
||||||
|
;;
|
||||||
|
"IntelliJ IDEA")
|
||||||
|
icon_result=":idea:"
|
||||||
|
;;
|
||||||
|
"Drafts")
|
||||||
|
icon_result=":drafts:"
|
||||||
|
;;
|
||||||
|
"Audacity")
|
||||||
|
icon_result=":audacity:"
|
||||||
|
;;
|
||||||
|
"Affinity Photo")
|
||||||
|
icon_result=":affinity_photo:"
|
||||||
|
;;
|
||||||
|
"Atom")
|
||||||
|
icon_result=":atom:"
|
||||||
|
;;
|
||||||
|
"Obsidian")
|
||||||
|
icon_result=":obsidian:"
|
||||||
|
;;
|
||||||
|
"CleanMyMac X")
|
||||||
|
icon_result=":desktop:"
|
||||||
|
;;
|
||||||
|
"Zotero")
|
||||||
|
icon_result=":zotero:"
|
||||||
|
;;
|
||||||
|
"Todoist")
|
||||||
|
icon_result=":todoist:"
|
||||||
|
;;
|
||||||
|
"LibreWolf")
|
||||||
|
icon_result=":libre_wolf:"
|
||||||
|
;;
|
||||||
|
"Grammarly Editor")
|
||||||
|
icon_result=":grammarly:"
|
||||||
|
;;
|
||||||
|
"OmniFocus")
|
||||||
|
icon_result=":omni_focus:"
|
||||||
|
;;
|
||||||
|
"Reminders")
|
||||||
|
icon_result=":reminders:"
|
||||||
|
;;
|
||||||
|
"Preview" | "Skim" | "zathura")
|
||||||
|
icon_result=":pdf:"
|
||||||
|
;;
|
||||||
|
"1Password 7")
|
||||||
|
icon_result=":one_password:"
|
||||||
|
;;
|
||||||
|
"Code" | "Code - Insiders")
|
||||||
|
icon_result=":code:"
|
||||||
|
;;
|
||||||
|
"VSCodium")
|
||||||
|
icon_result=":vscodium:"
|
||||||
|
;;
|
||||||
|
"Tower")
|
||||||
|
icon_result=":tower:"
|
||||||
|
;;
|
||||||
|
"Calibre")
|
||||||
|
icon_result=":book:"
|
||||||
|
;;
|
||||||
|
"Finder" | "访达")
|
||||||
|
icon_result=":finder:"
|
||||||
|
;;
|
||||||
|
"Linear")
|
||||||
|
icon_result=":linear:"
|
||||||
|
;;
|
||||||
|
"League of Legends")
|
||||||
|
icon_result=":league_of_legends:"
|
||||||
|
;;
|
||||||
|
"Zeplin")
|
||||||
|
icon_result=":zeplin:"
|
||||||
|
;;
|
||||||
|
"Signal")
|
||||||
|
icon_result=":signal:"
|
||||||
|
;;
|
||||||
|
"Podcasts")
|
||||||
|
icon_result=":podcasts:"
|
||||||
|
;;
|
||||||
|
"Alacritty" | "Hyper" | "iTerm2" | "kitty" | "Terminal" | "WezTerm")
|
||||||
|
icon_result=":terminal:"
|
||||||
|
;;
|
||||||
|
"Tor Browser")
|
||||||
|
icon_result=":tor_browser:"
|
||||||
|
;;
|
||||||
|
"Kakoune")
|
||||||
|
icon_result=":kakoune:"
|
||||||
|
;;
|
||||||
|
"GrandTotal" | "Receipts")
|
||||||
|
icon_result=":dollar:"
|
||||||
|
;;
|
||||||
|
"Sketch")
|
||||||
|
icon_result=":sketch:"
|
||||||
|
;;
|
||||||
|
"Sequel Ace")
|
||||||
|
icon_result=":sequel_ace:"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
icon_result=":default:"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
echo $icon_result
|
118
configmac/sketchybar/plugins/spotify.sh
Executable file
118
configmac/sketchybar/plugins/spotify.sh
Executable file
|
@ -0,0 +1,118 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
next ()
|
||||||
|
{
|
||||||
|
osascript -e 'tell application "Spotify" to play next track'
|
||||||
|
}
|
||||||
|
|
||||||
|
back ()
|
||||||
|
{
|
||||||
|
osascript -e 'tell application "Spotify" to play previous track'
|
||||||
|
}
|
||||||
|
|
||||||
|
play ()
|
||||||
|
{
|
||||||
|
osascript -e 'tell application "Spotify" to playpause'
|
||||||
|
}
|
||||||
|
|
||||||
|
repeat ()
|
||||||
|
{
|
||||||
|
REPEAT=$(osascript -e 'tell application "Spotify" to get repeating')
|
||||||
|
if [ "$REPEAT" = "false" ]; then
|
||||||
|
sketchybar -m --set spotify.repeat icon.highlight=on
|
||||||
|
osascript -e 'tell application "Spotify" to set repeating to true'
|
||||||
|
else
|
||||||
|
sketchybar -m --set spotify.repeat icon.highlight=off
|
||||||
|
osascript -e 'tell application "Spotify" to set repeating to false'
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
shuffle ()
|
||||||
|
{
|
||||||
|
SHUFFLE=$(osascript -e 'tell application "Spotify" to get shuffling')
|
||||||
|
if [ "$SHUFFLE" = "false" ]; then
|
||||||
|
sketchybar -m --set spotify.shuffle icon.highlight=on
|
||||||
|
osascript -e 'tell application "Spotify" to set shuffling to true'
|
||||||
|
else
|
||||||
|
sketchybar -m --set spotify.shuffle icon.highlight=off
|
||||||
|
osascript -e 'tell application "Spotify" to set shuffling to false'
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
update ()
|
||||||
|
{
|
||||||
|
PLAYING=1
|
||||||
|
if [ "$(echo "$INFO" | jq -r '.["Player State"]')" = "Playing" ]; then
|
||||||
|
PLAYING=0
|
||||||
|
TRACK="$(echo "$INFO" | jq -r .Name | sed 's/\(.\{20\}\).*/\1.../')"
|
||||||
|
ARTIST="$(echo "$INFO" | jq -r .Artist | sed 's/\(.\{20\}\).*/\1.../')"
|
||||||
|
ALBUM="$(echo "$INFO" | jq -r .Album | sed 's/\(.\{25\}\).*/\1.../')"
|
||||||
|
SHUFFLE=$(osascript -e 'tell application "Spotify" to get shuffling')
|
||||||
|
REPEAT=$(osascript -e 'tell application "Spotify" to get repeating')
|
||||||
|
COVER=$(osascript -e 'tell application "Spotify" to get artwork url of current track')
|
||||||
|
fi
|
||||||
|
|
||||||
|
args=()
|
||||||
|
if [ $PLAYING -eq 0 ]; then
|
||||||
|
curl -s --max-time 20 "$COVER" -o /tmp/cover.jpg
|
||||||
|
if [ "$ARTIST" == "" ]; then
|
||||||
|
args+=(--set spotify.title label="$TRACK" drawing=on \
|
||||||
|
--set spotify.album label="Podcast" drawing=on \
|
||||||
|
--set spotify.artist label="$ALBUM" drawing=on )
|
||||||
|
else
|
||||||
|
args+=(--set spotify.title label="$TRACK" drawing=on \
|
||||||
|
--set spotify.album label="$ALBUM" drawing=on \
|
||||||
|
--set spotify.artist label="$ARTIST" drawing=on)
|
||||||
|
fi
|
||||||
|
args+=(--set spotify.play icon= \
|
||||||
|
--set spotify.shuffle icon.highlight=$SHUFFLE \
|
||||||
|
--set spotify.repeat icon.highlight=$REPEAT \
|
||||||
|
--set spotify.cover background.image="/tmp/cover.jpg" \
|
||||||
|
background.color=0x00000000 \
|
||||||
|
--set spotify.anchor label.drawing=on \
|
||||||
|
icon.drawing=off \
|
||||||
|
y_offset=0 \
|
||||||
|
background.drawing=off \
|
||||||
|
align=center \
|
||||||
|
drawing=on \
|
||||||
|
--set spotify drawing=on )
|
||||||
|
else
|
||||||
|
args+=(--set spotify.title drawing=off \
|
||||||
|
--set spotify.artist drawing=off \
|
||||||
|
--set spotify.anchor drawing=off popup.drawing=off \
|
||||||
|
--set spotify.play icon= )
|
||||||
|
fi
|
||||||
|
sketchybar -m "${args[@]}"
|
||||||
|
}
|
||||||
|
|
||||||
|
mouse_clicked () {
|
||||||
|
case "$NAME" in
|
||||||
|
"spotify.next") next
|
||||||
|
;;
|
||||||
|
"spotify.back") back
|
||||||
|
;;
|
||||||
|
"spotify.play") play
|
||||||
|
;;
|
||||||
|
"spotify.shuffle") shuffle
|
||||||
|
;;
|
||||||
|
"spotify.repeat") repeat
|
||||||
|
;;
|
||||||
|
*) exit
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
popup () {
|
||||||
|
sketchybar --set spotify.anchor popup.drawing=$1
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$SENDER" in
|
||||||
|
"mouse.clicked") mouse_clicked
|
||||||
|
;;
|
||||||
|
"mouse.entered") popup on
|
||||||
|
;;
|
||||||
|
"mouse.exited"|"mouse.exited.global") popup off
|
||||||
|
;;
|
||||||
|
*) update
|
||||||
|
;;
|
||||||
|
esac
|
32
configmac/sketchybar/plugins/volume.sh
Executable file
32
configmac/sketchybar/plugins/volume.sh
Executable file
|
@ -0,0 +1,32 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
WIDTH=100
|
||||||
|
|
||||||
|
volume_change() {
|
||||||
|
case "$INFO" in
|
||||||
|
[1-9][0-9]|100) ICON=
|
||||||
|
;;
|
||||||
|
[1-9]) ICON=
|
||||||
|
;;
|
||||||
|
0) ICON=
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
sketchybar --set volume_icon icon=$ICON
|
||||||
|
INITIAL_WIDTH=$(sketchybar --query volume | jq ".icon.width")
|
||||||
|
if [ "$INITIAL_WIDTH" -eq "0" ]; then
|
||||||
|
sketchybar --animate tanh 30 --set volume width=$WIDTH icon.width=$INFO
|
||||||
|
else
|
||||||
|
sketchybar --set volume icon.width=$INFO width=$WIDTH
|
||||||
|
fi
|
||||||
|
|
||||||
|
sleep 2
|
||||||
|
FINAL_WIDTH=$(sketchybar --query volume | jq ".icon.width")
|
||||||
|
if [ "$FINAL_WIDTH" -eq "$INFO" ]; then
|
||||||
|
sketchybar --animate tanh 30 --set volume width=0 icon.width=0
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$SENDER" in
|
||||||
|
"volume_change") volume_change
|
||||||
|
;;
|
||||||
|
esac
|
77
configmac/sketchybar/plugins/yabai.sh
Executable file
77
configmac/sketchybar/plugins/yabai.sh
Executable file
|
@ -0,0 +1,77 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
window_state() {
|
||||||
|
source "$HOME/.config/sketchybar/colors.sh"
|
||||||
|
source "$HOME/.config/sketchybar/icons.sh"
|
||||||
|
|
||||||
|
WINDOW=$(yabai -m query --windows --window)
|
||||||
|
CURRENT=$(echo "$WINDOW" | jq '.["stack-index"]')
|
||||||
|
|
||||||
|
args=()
|
||||||
|
if [[ $CURRENT -gt 0 ]]; then
|
||||||
|
LAST=$(yabai -m query --windows --window stack.last | jq '.["stack-index"]')
|
||||||
|
args+=(--set $NAME icon=$YABAI_STACK icon.color=$RED label.drawing=on label=$(printf "[%s/%s]" "$CURRENT" "$LAST"))
|
||||||
|
yabai -m config active_window_border_color $RED > /dev/null 2>&1 &
|
||||||
|
|
||||||
|
else
|
||||||
|
args+=(--set $NAME label.drawing=off)
|
||||||
|
case "$(echo "$WINDOW" | jq '.["is-floating"]')" in
|
||||||
|
"false")
|
||||||
|
if [ "$(echo "$WINDOW" | jq '.["has-fullscreen-zoom"]')" = "true" ]; then
|
||||||
|
args+=(--set $NAME icon=$YABAI_FULLSCREEN_ZOOM icon.color=$GREEN)
|
||||||
|
yabai -m config active_window_border_color $GREEN > /dev/null 2>&1 &
|
||||||
|
elif [ "$(echo "$WINDOW" | jq '.["has-parent-zoom"]')" = "true" ]; then
|
||||||
|
args+=(--set $NAME icon=$YABAI_PARENT_ZOOM icon.color=$BLUE)
|
||||||
|
yabai -m config active_window_border_color $BLUE > /dev/null 2>&1 &
|
||||||
|
else
|
||||||
|
args+=(--set $NAME icon=$YABAI_GRID icon.color=0xfff0c6c6)
|
||||||
|
yabai -m config active_window_border_color $WHITE > /dev/null 2>&1 &
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
"true")
|
||||||
|
args+=(--set $NAME icon=$YABAI_FLOAT icon.color=$MAGENTA)
|
||||||
|
yabai -m config active_window_border_color $MAGENTA > /dev/null 2>&1 &
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
|
sketchybar -m "${args[@]}"
|
||||||
|
}
|
||||||
|
|
||||||
|
windows_on_spaces () {
|
||||||
|
DISPLAY_INFO="$(yabai -m query --displays)"
|
||||||
|
CURRENT_SPACES="$(yabai -m query --displays | jq -r '.[].spaces | @sh')"
|
||||||
|
|
||||||
|
args=()
|
||||||
|
while read -r line
|
||||||
|
do
|
||||||
|
for space in $line
|
||||||
|
do
|
||||||
|
icon_strip=" "
|
||||||
|
apps=$(yabai -m query --windows --space $space | jq -r ".[].app")
|
||||||
|
for app in $apps
|
||||||
|
do
|
||||||
|
icon_strip+=" $($HOME/.config/sketchybar/plugins/icon_map.sh "$app")"
|
||||||
|
done
|
||||||
|
args+=(--set space.$space label="$icon_strip" label.drawing=on)
|
||||||
|
done
|
||||||
|
done <<< "$CURRENT_SPACES"
|
||||||
|
|
||||||
|
sketchybar -m "${args[@]}"
|
||||||
|
}
|
||||||
|
|
||||||
|
mouse_clicked() {
|
||||||
|
yabai -m window --toggle float
|
||||||
|
update
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$SENDER" in
|
||||||
|
"mouse.clicked") mouse_clicked
|
||||||
|
;;
|
||||||
|
"forced") exit 0
|
||||||
|
;;
|
||||||
|
"window_focus") window_state
|
||||||
|
;;
|
||||||
|
"windows_on_spaces") windows_on_spaces
|
||||||
|
;;
|
||||||
|
esac
|
24
configmac/sketchybar/plugins/zen.sh
Executable file
24
configmac/sketchybar/plugins/zen.sh
Executable file
|
@ -0,0 +1,24 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
if [ $1 = "on" ]; then
|
||||||
|
sketchybar --set github.bell drawing=off \
|
||||||
|
--set apple.logo drawing=on \
|
||||||
|
--set '/cpu.*/' drawing=off \
|
||||||
|
--set calendar icon.drawing=off \
|
||||||
|
--set system.yabai drawing=off \
|
||||||
|
--set separator drawing=off \
|
||||||
|
--set front_app drawing=off \
|
||||||
|
--set spotify.play updates=off \
|
||||||
|
--set spotify.title drawing=off \
|
||||||
|
--set spotify.artist drawing=off
|
||||||
|
else
|
||||||
|
sketchybar --set github.bell drawing=on \
|
||||||
|
--set apple.logo drawing=on \
|
||||||
|
--set '/cpu.*/' drawing=on \
|
||||||
|
--set calendar icon.drawing=on \
|
||||||
|
--set separator drawing=on \
|
||||||
|
--set front_app drawing=on \
|
||||||
|
--set system.yabai drawing=on \
|
||||||
|
--set spotify.play updates=on
|
||||||
|
fi
|
||||||
|
|
73
configmac/sketchybar/sketchybarrc
Executable file
73
configmac/sketchybar/sketchybarrc
Executable file
|
@ -0,0 +1,73 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
source "$HOME/.config/sketchybar/colors.sh" # Loads all defined colors
|
||||||
|
source "$HOME/.config/sketchybar/icons.sh" # Loads all defined icons
|
||||||
|
|
||||||
|
ITEM_DIR="$HOME/.config/sketchybar/items" # Directory where the items are configured
|
||||||
|
PLUGIN_DIR="$HOME/.config/sketchybar/plugins" # Directory where all the plugin scripts are stored
|
||||||
|
|
||||||
|
FONT="SF Pro" # Needs to have Regular, Bold, Semibold, Heavy and Black variants
|
||||||
|
SPACE_CLICK_SCRIPT="yabai -m space --focus \$SID 2>/dev/null" # The script that is run for clicking on space components
|
||||||
|
|
||||||
|
PADDINGS=3 # All paddings use this value (icon, label, background)
|
||||||
|
|
||||||
|
POPUP_BORDER_WIDTH=2
|
||||||
|
POPUP_CORNER_RADIUS=11
|
||||||
|
|
||||||
|
SHADOW=on
|
||||||
|
|
||||||
|
HELPER=git.felix.helper
|
||||||
|
# Start the helper process
|
||||||
|
killall helper
|
||||||
|
# cd $HOME/.config/sketchybar/helper && make
|
||||||
|
$HOME/.config/sketchybar/helper/helper $HELPER > /dev/null 2>&1 &
|
||||||
|
|
||||||
|
# Setting up the general bar appearance and default values
|
||||||
|
sketchybar --bar height=39 \
|
||||||
|
color=$BAR_COLOR \
|
||||||
|
shadow=$SHADOW \
|
||||||
|
position=top \
|
||||||
|
sticky=on \
|
||||||
|
padding_right=$((10 - $PADDINGS)) \
|
||||||
|
padding_left=18 \
|
||||||
|
corner_radius=9 \
|
||||||
|
y_offset=10 \
|
||||||
|
margin=10 \
|
||||||
|
blur_radius=20 \
|
||||||
|
notch_width=0 \
|
||||||
|
\
|
||||||
|
--default updates=when_shown \
|
||||||
|
icon.font="$FONT:Bold:14.0" \
|
||||||
|
icon.color=$ICON_COLOR \
|
||||||
|
icon.padding_left=$PADDINGS \
|
||||||
|
icon.padding_right=$PADDINGS \
|
||||||
|
label.font="$FONT:Semibold:13.0" \
|
||||||
|
label.color=$LABEL_COLOR \
|
||||||
|
label.padding_left=$PADDINGS \
|
||||||
|
label.padding_right=$PADDINGS \
|
||||||
|
background.padding_right=$PADDINGS \
|
||||||
|
background.padding_left=$PADDINGS \
|
||||||
|
popup.background.border_width=2 \
|
||||||
|
popup.background.corner_radius=11 \
|
||||||
|
popup.background.border_color=$POPUP_BORDER_COLOR \
|
||||||
|
popup.background.color=$POPUP_BACKGROUND_COLOR \
|
||||||
|
popup.background.shadow.drawing=$SHADOW
|
||||||
|
|
||||||
|
# Left
|
||||||
|
source "$ITEM_DIR/apple.sh"
|
||||||
|
source "$ITEM_DIR/spaces.sh"
|
||||||
|
source "$ITEM_DIR/front_app.sh"
|
||||||
|
|
||||||
|
# Center
|
||||||
|
source "$ITEM_DIR/spotify.sh"
|
||||||
|
|
||||||
|
# Right
|
||||||
|
source "$ITEM_DIR/github.sh"
|
||||||
|
source "$ITEM_DIR/calendar.sh"
|
||||||
|
source "$ITEM_DIR/cpu.sh"
|
||||||
|
source "$ITEM_DIR/volume.sh"
|
||||||
|
|
||||||
|
############## FINALIZING THE SETUP ##############
|
||||||
|
sketchybar --update
|
||||||
|
|
||||||
|
echo "sketchybar configuation loaded.."
|
108
configmac/sketchybar/spaces.sh
Normal file
108
configmac/sketchybar/spaces.sh
Normal file
|
@ -0,0 +1,108 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
sketchybar --add space space_template left \
|
||||||
|
--set space_template icon.highlight_color=0xff9dd274 \
|
||||||
|
label.drawing=off \
|
||||||
|
drawing=off \
|
||||||
|
updates=on \
|
||||||
|
associated_display=1 \
|
||||||
|
label.font="SF Pro:Black:13.0" \
|
||||||
|
icon.font="Font Awesome 6 Pro:Regular:17.0" \
|
||||||
|
script="$PLUGIN_DIR/space.sh" \
|
||||||
|
icon.padding_right=6 \
|
||||||
|
icon.padding_left=2 \
|
||||||
|
background.padding_left=2 \
|
||||||
|
background.padding_right=2 \
|
||||||
|
icon.background.height=2 \
|
||||||
|
icon.background.color=$ICON_COLOR \
|
||||||
|
icon.background.color=$ICON_COLOR \
|
||||||
|
icon.background.y_offset=-13 \
|
||||||
|
click_script="$SPACE_CLICK_SCRIPT" \
|
||||||
|
\
|
||||||
|
--clone spaces_1.label label_template \
|
||||||
|
--set spaces_1.label label=spc \
|
||||||
|
label.width=38 \
|
||||||
|
label.align=center \
|
||||||
|
associated_display=1 \
|
||||||
|
position=left \
|
||||||
|
drawing=on \
|
||||||
|
\
|
||||||
|
--clone spaces_1.code space_template \
|
||||||
|
--set spaces_1.code associated_space=1 \
|
||||||
|
icon= \
|
||||||
|
icon.highlight_color=$GREEN \
|
||||||
|
icon.background.color=$GREEN \
|
||||||
|
drawing=on \
|
||||||
|
\
|
||||||
|
--clone spaces_1.tex space_template \
|
||||||
|
--set spaces_1.tex associated_space=2 \
|
||||||
|
icon=$SPACES_TEX \
|
||||||
|
icon.highlight_color=$ORANGE \
|
||||||
|
icon.background.color=$ORANGE \
|
||||||
|
drawing=on \
|
||||||
|
\
|
||||||
|
--clone spaces_1.web space_template \
|
||||||
|
--set spaces_1.web associated_space=3 \
|
||||||
|
icon=$SPACES_WEB \
|
||||||
|
icon.highlight_color=$BLUE \
|
||||||
|
icon.background.color=$BLUE \
|
||||||
|
drawing=on \
|
||||||
|
\
|
||||||
|
--clone spaces_1.idle space_template \
|
||||||
|
--set spaces_1.idle associated_space=4 \
|
||||||
|
icon=$SPACES_IDLE \
|
||||||
|
icon.highlight_color=$YELLOW \
|
||||||
|
icon.background.color=$YELLOW \
|
||||||
|
drawing=on \
|
||||||
|
\
|
||||||
|
--add bracket spaces_1 \
|
||||||
|
spaces_1.label \
|
||||||
|
spaces_1.code \
|
||||||
|
spaces_1.web \
|
||||||
|
spaces_1.tex \
|
||||||
|
spaces_1.idle \
|
||||||
|
\
|
||||||
|
--set space_template associated_display=2 \
|
||||||
|
\
|
||||||
|
--clone spaces_2.label label_template \
|
||||||
|
--set spaces_2.label label=spc \
|
||||||
|
associated_display=2 \
|
||||||
|
label.width=45 \
|
||||||
|
label.align=center \
|
||||||
|
position=left \
|
||||||
|
drawing=on \
|
||||||
|
\
|
||||||
|
--clone spaces_2.misc space_template \
|
||||||
|
--set spaces_2.misc associated_space=5 \
|
||||||
|
icon=$SPACES_MISC \
|
||||||
|
icon.highlight_color=$GREEN \
|
||||||
|
icon.background.color=$GREEN \
|
||||||
|
drawing=on \
|
||||||
|
\
|
||||||
|
--clone spaces_2.doc space_template \
|
||||||
|
--set spaces_2.doc associated_space=6 \
|
||||||
|
icon=$SPACES_DOC \
|
||||||
|
icon.highlight_color=$ORANGE \
|
||||||
|
icon.background.color=$ORANGE \
|
||||||
|
drawing=on \
|
||||||
|
\
|
||||||
|
--clone spaces_2.help space_template \
|
||||||
|
--set spaces_2.help associated_space=7 \
|
||||||
|
icon=$SPACES_HELP \
|
||||||
|
icon.highlight_color=$BLUE \
|
||||||
|
icon.background.color=$BLUE \
|
||||||
|
drawing=on \
|
||||||
|
\
|
||||||
|
--clone spaces_2.music space_template \
|
||||||
|
--set spaces_2.music associated_space=8 \
|
||||||
|
icon=$SPACES_MUSIC \
|
||||||
|
icon.highlight_color=$YELLOW \
|
||||||
|
icon.background.color=$YELLOW \
|
||||||
|
drawing=on \
|
||||||
|
\
|
||||||
|
--add bracket spaces_2 \
|
||||||
|
spaces_2.label \
|
||||||
|
spaces_2.misc \
|
||||||
|
spaces_2.doc \
|
||||||
|
spaces_2.help \
|
||||||
|
spaces_2.music
|
42
configmac/wezterm/wezterm.lua
Normal file
42
configmac/wezterm/wezterm.lua
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
--[[
|
||||||
|
_ _ _ _____ _____ _____ _____ _____ _____
|
||||||
|
| | | | __|__ |_ _| __| __ | |
|
||||||
|
| | | | __| __| | | | __| -| | | |
|
||||||
|
|_____|_____|_____| |_| |_____|__|__|_|_|_|
|
||||||
|
~ Aesthetic Wezterm ~
|
||||||
|
rxyhn
|
||||||
|
--]]
|
||||||
|
|
||||||
|
local wezterm = require 'wezterm';
|
||||||
|
|
||||||
|
return {
|
||||||
|
font_dirs = {"/home/gallant/.fonts"},
|
||||||
|
front_end = "OpenGL",
|
||||||
|
font = wezterm.font("Iosevka", {weight = "Regular", italic = false}),
|
||||||
|
harfbuzz_features = {"calt=0", "clig=0", "liga=0"},
|
||||||
|
font_size = 15,
|
||||||
|
colors = { -- aesthetic night colorscheme
|
||||||
|
foreground = "#d9d7d6",
|
||||||
|
background = "#061115",
|
||||||
|
cursor_bg = "#d9d7d6",
|
||||||
|
cursor_fg = "#d9d7d6",
|
||||||
|
cursor_border = "#d9d7d6",
|
||||||
|
selection_fg = "#061115",
|
||||||
|
selection_bg = "#d9d7d6",
|
||||||
|
scrollbar_thumb = "#d9d7d6",
|
||||||
|
split = "#16161a",
|
||||||
|
ansi = {"#061115", "#df5b61", "#78b892", "#de8f78", "#6791c9", "#bc83e3", "#67afc1", "#d9d7d6"},
|
||||||
|
brights = {"#484e5b", "#f16269", "#8cd7aa", "#e9967e", "#79aaeb", "#c488ec", "#7acfe4", "#e5e5e5"},
|
||||||
|
indexed = {[136] = "#d9d7d6"},
|
||||||
|
},
|
||||||
|
window_padding = {
|
||||||
|
left = 25,
|
||||||
|
right = 25,
|
||||||
|
top = 25,
|
||||||
|
bottom = 25,
|
||||||
|
},
|
||||||
|
enable_tab_bar = false,
|
||||||
|
default_cursor_style = "BlinkingUnderline",
|
||||||
|
exit_behavior = "CloseOnCleanExit",
|
||||||
|
window_background_opacity = 0.20
|
||||||
|
}
|
Loading…
Reference in a new issue