add waybar config, scripts, mic tweaks
This commit is contained in:
@@ -28,6 +28,9 @@ bindd = SUPER SHIFT, X, X Post, exec, omarchy-launch-webapp "https://x.com/compo
|
||||
# unbind = SUPER, Space
|
||||
# bindd = SUPER, SPACE, Omarchy menu, exec, omarchy-menu
|
||||
|
||||
# create a new workspace
|
||||
bindd = SUPER, grave, Create a mew workspace, exec, ~/.local/bin/new-workspace
|
||||
|
||||
# keybinds for special workspaces
|
||||
bindd = SUPER, S, Show/hide Slack, togglespecialworkspace, slack
|
||||
bindd = SUPER, period, Show/hide 1Password, togglespecialworkspace, 1password
|
||||
|
@@ -4,7 +4,7 @@
|
||||
# You must relaunch Hyprland after changing any envs (use Super+Esc, then Relaunch)
|
||||
|
||||
# Optimized for retina-class 2x displays, like 13" 2.8K, 27" 5K, 32" 6K.
|
||||
env = GDK_SCALE,2
|
||||
env = GDK_SCALE,1.5
|
||||
monitor = , preferred, auto, auto
|
||||
|
||||
# Good compromise for 27" or 32" 4K monitors (but fractional!)
|
||||
|
@@ -1,5 +1,6 @@
|
||||
[settings]
|
||||
idiomatic_version_file_enable_tools = ["ruby"]
|
||||
experimental = true
|
||||
|
||||
[settings.ruby]
|
||||
ruby_build_opts = "CC=gcc-14 CXX=g++-14"
|
||||
@@ -17,3 +18,6 @@ yay = "latest"
|
||||
version = "latest"
|
||||
extras = "postgres,odbc"
|
||||
|
||||
[settings.python]
|
||||
uv_venv_auto = true
|
||||
|
||||
|
111
dot_config/waybar/config.jsonc
Normal file
111
dot_config/waybar/config.jsonc
Normal file
@@ -0,0 +1,111 @@
|
||||
{
|
||||
"reload_style_on_change": true,
|
||||
"layer": "top",
|
||||
"position": "top",
|
||||
"spacing": 0,
|
||||
"height": 26,
|
||||
"modules-left": ["custom/omarchy", "hyprland/workspaces"],
|
||||
"modules-center": ["clock", "custom/update"],
|
||||
"modules-right": [
|
||||
"group/tray-expander",
|
||||
"bluetooth",
|
||||
"network",
|
||||
"pulseaudio",
|
||||
"cpu",
|
||||
"battery"
|
||||
],
|
||||
"hyprland/workspaces": {
|
||||
"on-click": "activate",
|
||||
"format": "{id}",
|
||||
},
|
||||
"custom/omarchy": {
|
||||
"format": "<span font='omarchy'>\ue900</span>",
|
||||
"on-click": "omarchy-menu",
|
||||
"tooltip-format": "Omarchy Menu\n\nSuper + Alt + Space"
|
||||
},
|
||||
"custom/update": {
|
||||
"format": "",
|
||||
"exec": "omarchy-update-available",
|
||||
"on-click": "omarchy-launch-floating-terminal-with-presentation omarchy-update",
|
||||
"tooltip-format": "Omarchy update available",
|
||||
"interval": 3600
|
||||
},
|
||||
|
||||
"cpu": {
|
||||
"interval": 5,
|
||||
"format": "",
|
||||
"on-click": "alacritty -e btop"
|
||||
},
|
||||
"clock": {
|
||||
"format": "{:%A %H:%M}",
|
||||
"format-alt": "{:%d %B W%V %Y}",
|
||||
"tooltip": false,
|
||||
"on-click-right": "omarchy-cmd-tzupdate"
|
||||
},
|
||||
"network": {
|
||||
"format-icons": ["", "", "", "", ""],
|
||||
"format": "{icon}",
|
||||
"format-wifi": "{icon}",
|
||||
"format-ethernet": "",
|
||||
"format-disconnected": "",
|
||||
"tooltip-format-wifi": "{essid} ({frequency} GHz)\n⇣{bandwidthDownBytes} ⇡{bandwidthUpBytes}",
|
||||
"tooltip-format-ethernet": "⇣{bandwidthDownBytes} ⇡{bandwidthUpBytes}",
|
||||
"tooltip-format-disconnected": "Disconnected",
|
||||
"interval": 3,
|
||||
"spacing": 1,
|
||||
"on-click": "alacritty --class=Impala -e impala"
|
||||
},
|
||||
"battery": {
|
||||
"format": "{capacity}% {icon}",
|
||||
"format-discharging": "{icon}",
|
||||
"format-charging": "{icon}",
|
||||
"format-plugged": "",
|
||||
"format-icons": {
|
||||
"charging": ["", "", "", "", "", "", "", "", "", ""],
|
||||
"default": ["", "", "", "", "", "", "", "", "", ""]
|
||||
},
|
||||
"format-full": "",
|
||||
"tooltip-format-discharging": "{power:>1.0f}W↓ {capacity}%",
|
||||
"tooltip-format-charging": "{power:>1.0f}W↑ {capacity}%",
|
||||
"interval": 5,
|
||||
"on-click": "omarchy-menu power",
|
||||
"states": {
|
||||
"warning": 20,
|
||||
"critical": 10
|
||||
}
|
||||
},
|
||||
"bluetooth": {
|
||||
"format": "",
|
||||
"format-disabled": "",
|
||||
"format-connected": "",
|
||||
"tooltip-format": "Devices connected: {num_connections}",
|
||||
"on-click": "blueberry"
|
||||
},
|
||||
"pulseaudio": {
|
||||
"format": "{icon}",
|
||||
"on-click": "alacritty --class=Wiremix -e wiremix",
|
||||
"on-click-right": "pamixer -t",
|
||||
"tooltip-format": "Playing at {volume}%",
|
||||
"scroll-step": 5,
|
||||
"format-muted": "",
|
||||
"format-icons": {
|
||||
"default": ["", "", ""]
|
||||
}
|
||||
},
|
||||
"group/tray-expander": {
|
||||
"orientation": "inherit",
|
||||
"drawer": {
|
||||
"transition-duration": 600,
|
||||
"children-class": "tray-group-item"
|
||||
},
|
||||
"modules": ["custom/expand-icon", "tray"]
|
||||
},
|
||||
"custom/expand-icon": {
|
||||
"format": " ",
|
||||
"tooltip": false
|
||||
},
|
||||
"tray": {
|
||||
"icon-size": 12,
|
||||
"spacing": 12
|
||||
}
|
||||
}
|
67
dot_config/waybar/style.css
Normal file
67
dot_config/waybar/style.css
Normal file
@@ -0,0 +1,67 @@
|
||||
@import "../omarchy/current/theme/waybar.css";
|
||||
|
||||
* {
|
||||
background-color: @background;
|
||||
/* color: @foreground; */
|
||||
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
min-height: 0;
|
||||
font-family: CaskaydiaMono Nerd Font;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.modules-left {
|
||||
margin-left: 8px;
|
||||
}
|
||||
|
||||
.modules-right {
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
all: initial;
|
||||
padding: 0 6px;
|
||||
margin: 0 1.5px;
|
||||
min-width: 9px;
|
||||
}
|
||||
|
||||
#workspaces button.empty {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
color: #bfe28c;
|
||||
}
|
||||
|
||||
#tray,
|
||||
#cpu,
|
||||
#battery,
|
||||
#network,
|
||||
#bluetooth,
|
||||
#pulseaudio,
|
||||
#custom-omarchy,
|
||||
#custom-update {
|
||||
min-width: 12px;
|
||||
margin: 0 7.5px;
|
||||
}
|
||||
|
||||
#custom-expand-icon {
|
||||
margin-right: 7px;
|
||||
}
|
||||
|
||||
tooltip {
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
#custom-update {
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
#clock {
|
||||
margin-left: 8.75px;
|
||||
}
|
||||
|
||||
.hidden {
|
||||
opacity: 0;
|
||||
}
|
51
dot_config/zed/settings.json
Normal file
51
dot_config/zed/settings.json
Normal file
@@ -0,0 +1,51 @@
|
||||
// Zed settings
|
||||
//
|
||||
// For information on how to configure Zed, see the Zed
|
||||
// documentation: https://zed.dev/docs/configuring-zed
|
||||
//
|
||||
// To see all of Zed's default settings without changing your
|
||||
// custom settings, run `zed: open default settings` from the
|
||||
// command palette (cmd-shift-p / ctrl-shift-p)
|
||||
{
|
||||
"agent": {
|
||||
"model_parameters": [],
|
||||
"default_profile": "write"
|
||||
},
|
||||
// "features": {
|
||||
// "edit_prediction_provider": "none"
|
||||
// },
|
||||
"always_treat_brackets_as_autoclosed": true,
|
||||
"tab_size": 4,
|
||||
"base_keymap": "SublimeText",
|
||||
"format_on_save": "off",
|
||||
"ui_font_size": 16,
|
||||
"buffer_font_size": 15,
|
||||
"theme": {
|
||||
"mode": "system",
|
||||
"light": "One Light",
|
||||
"dark": "One Dark"
|
||||
},
|
||||
"languages": {
|
||||
"JSON": {
|
||||
"tab_size": 2
|
||||
},
|
||||
"JSONC": {
|
||||
"tab_size": 2
|
||||
},
|
||||
"Elixir": {
|
||||
"tab_size": 2
|
||||
},
|
||||
"Markdown": {
|
||||
"soft_wrap": "editor_width"
|
||||
},
|
||||
"Jinja2": {
|
||||
"remove_trailing_whitespace_on_save": false
|
||||
},
|
||||
"YAML": {
|
||||
"tab_size": 2
|
||||
}
|
||||
},
|
||||
"file_types": {
|
||||
"Markdown": ["svx"]
|
||||
}
|
||||
}
|
35
dot_local/bin/executable_assign-workspace-monitors
Normal file
35
dot_local/bin/executable_assign-workspace-monitors
Normal file
@@ -0,0 +1,35 @@
|
||||
#!/usr/bin/python
|
||||
|
||||
import json
|
||||
import subprocess
|
||||
|
||||
CONFIG = {
|
||||
'Samsung Electric Company LS27A800U HCJW301093': 1,
|
||||
'Seanix Technology Inc NX-EDG27X C6F0K3CN07UL': 2,
|
||||
'BOE 0x0BCA': 3
|
||||
}
|
||||
|
||||
|
||||
p = subprocess.run(
|
||||
['hyprctl', 'monitors', '-j'],
|
||||
capture_output=True,
|
||||
check=True,
|
||||
encoding='utf-8'
|
||||
)
|
||||
monitors = json.loads(p.stdout)
|
||||
print('monitors:', monitors)
|
||||
|
||||
if set(m['description'] for m in monitors) == CONFIG.keys():
|
||||
print('config matched, assigning:')
|
||||
dispatches = []
|
||||
for m in monitors:
|
||||
workspace = CONFIG[m['description']]
|
||||
# move workspace to desired monitor
|
||||
dispatches.append(f"dispatch moveworkspacetomonitor {workspace} {m['name']}")
|
||||
# focus the workspace so that it's visible after moving
|
||||
dispatches.append(f"workspace {workspace}")
|
||||
cmd = ['hyprctl', '--batch', ' ; '.join(dispatches)]
|
||||
print('\n'.join(cmd))
|
||||
subprocess.run(cmd, check=True)
|
||||
else:
|
||||
print('config not matched')
|
4
dot_local/bin/executable_clear-downloads
Normal file
4
dot_local/bin/executable_clear-downloads
Normal file
@@ -0,0 +1,4 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# clear all files in ~/Downloads older than 24h
|
||||
fd --changed-before 1d --full-path ~/Downloads --exec-batch rm -rf
|
7
dot_local/bin/executable_new-workspace
Normal file
7
dot_local/bin/executable_new-workspace
Normal file
@@ -0,0 +1,7 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# current highest-numbered workspace
|
||||
MAX_WORKSPACE=$(hyprctl workspaces -j | jq 'sort_by(.id) | reverse | .[0].id')
|
||||
|
||||
hyprctl dispatch workspace $(($MAX_WORKSPACE + 1))
|
||||
|
Reference in New Issue
Block a user