add waybar config, scripts, mic tweaks

This commit is contained in:
2025-09-03 14:48:51 -04:00
parent 0f7e79849d
commit 7431c5f191
9 changed files with 283 additions and 1 deletions

View File

@@ -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

View File

@@ -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!)

View File

@@ -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

View 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
}
}

View 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;
}

View 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"]
}
}

View 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')

View 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

View 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))