From 2ffa49fe41faffff406f13378c012c018c764de9 Mon Sep 17 00:00:00 2001 From: iceyrazor Date: Thu, 23 Oct 2025 20:28:51 -0500 Subject: [PATCH] Squashed commit of the following: - updated mimes - added mpd and rmpc - added mpd to autostart - removed delays from autostart - install script for i3, i3blocks, and i3blocks config from repo - i3 - pango font and nerd font for bar - switched to i3blocks - colors :3 --- env/.config/i3/config | 31 ++- env/.config/i3blocks/config | 163 ++++++++++++ env/.config/i3blocks/volume2/volume2 | 1 + env/.config/mpd/mpd.conf | 11 + env/.config/rmpc/config.ron | 244 ++++++++++++++++++ .../bin/system/start-scripts/autostart.sh | 7 +- runs-all/get-reqs-arch/i3.sh | 6 + runs-all/mimes.sh | 2 + 8 files changed, 457 insertions(+), 8 deletions(-) create mode 100644 env/.config/i3blocks/config create mode 100755 env/.config/i3blocks/volume2/volume2 create mode 100644 env/.config/mpd/mpd.conf create mode 100644 env/.config/rmpc/config.ron create mode 100755 runs-all/get-reqs-arch/i3.sh diff --git a/env/.config/i3/config b/env/.config/i3/config index 5d0393f..9ce955a 100644 --- a/env/.config/i3/config +++ b/env/.config/i3/config @@ -14,7 +14,7 @@ exec ~/.local/bin/system/start-scripts/autostart.sh # Font for window titles. Will also be used by the bar unless a different font # is used in the bar {} block below. -font b612:monospace 8 +font pango:b612:monospace 7, "JetBrainsMono Nerd Font" 7 # This font is widely installed, provides lots of unicode glyphs, right-to-left # text rendering and scalability on retina/hidpi displays (thanks to pango). @@ -270,14 +270,35 @@ client.unfocused #222222 #222222 #8568e6 #e598ff #222222 default_border pixel 1 default_floating_border pixel 1 +set $trans #00000000 +set $inactive-bg-color #1e1e2e +set $text-color #cdd6f4 +set $urbg-color #f38ba8 +set $color #8568ef +set $ws_color #d37340 +set $ws_bord #8568ef + # Start i3bar to display a workspace bar (plus the system information i3status # finds out, if available) bar { - output primary - status_command i3status + separator_symbol "" + output primary + status_command SCRIPT_DIR=~/.config/i3blocks i3blocks + + colors { + statusline #FFFFFF + background $trans + separator #757575 + # border background text + focused_workspace $ws_bord $color $text-color + inactive_workspace $trans $trans #676E7D + active_workspace $trans $trans $text-color + urgent_workspace $urbg-color $urbg-color $text-color + + } } bar { - output nonprimary - status_command i3status + separator_symbol "" + output nonprimary } diff --git a/env/.config/i3blocks/config b/env/.config/i3blocks/config new file mode 100644 index 0000000..eff5ddb --- /dev/null +++ b/env/.config/i3blocks/config @@ -0,0 +1,163 @@ +# i3blocks config file +# +# Please see man i3blocks for a complete reference! +# The man page is also hosted at http://vivien.github.io/i3blocks +# +# List of valid properties: +# +# align +# color +# command +# full_text +# instance +# interval +# label +# min_width +# name +# separator +# separator_block_width +# short_text +# signal +# urgent + +# Global properties +# +# The top properties below are applied to every block, but can be overridden. +# Each block command defaults to the script name to avoid boilerplate. +# Change $SCRIPT_DIR to the location of your scripts! +command=$SCRIPT_DIR/$BLOCK_NAME/$BLOCK_NAME +separator_block_width=15 +markup=pango + +# Volume indicator +# +# The first parameter sets the step (and units to display) +# The second parameter overrides the mixer selection +# See the script for details. + +[volume2] +label=  +interval=1 +signal=10 +#STEP=5% + +# Memory usage +# +# The type defaults to "mem" if the instance is not specified. +[memory] +label=  +separator=false +interval=30 + +[memory] +label=SWAP +instance=swap +separator=false +interval=30 + +# Disk usage +# +# The directory defaults to $HOME if the instance is not specified. +# The script may be called with a optional argument to set the alert +# (defaults to 10 for 10%). +[disk] +label=  +#DIR=/mnt/data +interval=30 + +# Network interface monitoring +# +# If the instance is not specified, use the interface used for default route. +# The address can be forced to IPv4 or IPv6 with -4 or -6 switches. +# [iface] +# #IFACE=wlan0 +# color=#00FF00 +# interval=10 +# separator=false + +[wifi] +#INTERFACE=wlp3s0 +label=wifi: +interval=10 +separator=false + +[bandwidth] +#INTERFACE=eth0 +interval=5 + +# CPU usage +# +# The script may be called with -w and -c switches to specify thresholds, +# see the script for details. +[cpu_usage] +label=  +interval=10 +min_width=  100.00% +#separator=false + +[load_average] +label=LOAD +interval=10 + +# Battery indicator +# +# The battery instance defaults to 0. +[battery] +label=BAT +#label=⚡ +interval=30 + +[rss] +label= +command=/usr/bin/newsboat -x print-unread|sed 's/\s.*//; s/Error:/E/' +interval=20 + +# Date Time +# +[time] +command=date '+%a %m/%d/%Y %I:%M%p' +interval=5 + +# Generic media player support +# +# This displays "ARTIST - SONG" if a music is playing. +# Supported players are: spotify, vlc, audacious, xmms2, mplayer, and others. +# Set to %any to automatically pick (Requires playerctl >=2.1.1) +#[mediaplayer] +# This picks any player, with vlc as first, and spotify as last choice +#instance=vlc,%any,spotify +#interval=5 +#signal=10 + +# OpenVPN support +# +# Support multiple VPN, with colors. +#[openvpn] +#interval=20 + +# Temperature +# +# Support multiple chips, though lm-sensors. +# The script may be called with -w and -c switches to specify thresholds, +# see the script for details. +#[temperature] +#label=TEMP +#interval=10 + +# Key indicators +# +# Add the following bindings to i3 config file: +# +# bindsym --release Caps_Lock exec pkill -SIGRTMIN+11 i3blocks +# bindsym --release Num_Lock exec pkill -SIGRTMIN+11 i3blocks +#[keyindicator] +#KEY=CAPS +#markup=pango +#interval=once +#signal=11 + +#[keyindicator] +#KEY=NUM +#markup=pango +#interval=once +#signal=11 diff --git a/env/.config/i3blocks/volume2/volume2 b/env/.config/i3blocks/volume2/volume2 new file mode 100755 index 0000000..83c4a28 --- /dev/null +++ b/env/.config/i3blocks/volume2/volume2 @@ -0,0 +1 @@ +pactl -f json get-sink-volume @DEFAULT_SINK@ | sed -e 's/.*value_percent":"//' -e 's/".*//' diff --git a/env/.config/mpd/mpd.conf b/env/.config/mpd/mpd.conf new file mode 100644 index 0000000..82e6708 --- /dev/null +++ b/env/.config/mpd/mpd.conf @@ -0,0 +1,11 @@ +music_directory "~/stuff/media/music/main" +playlist_directory "$XDG_CONFIG_HOME/mpd/playlists" +db_file "$XDG_CACHE_HOME/mpd/database" + +bind_to_address "127.0.0.1" +port "6600" + +audio_output { + type "pipewire" + name "PipeWire Sound" +} diff --git a/env/.config/rmpc/config.ron b/env/.config/rmpc/config.ron new file mode 100644 index 0000000..25a0b6b --- /dev/null +++ b/env/.config/rmpc/config.ron @@ -0,0 +1,244 @@ +#![enable(implicit_some)] + +#![enable(unwrap_newtypes)] + +#![enable(unwrap_variant_newtypes)] + +( + + default_album_art_path: None, + + draw_borders: false, + + show_song_table_header: false, + + symbols: (song: "🎵", dir: "📁", playlist: "🎼", marker: "\u{e0b0}"), + + layout: Split( + + direction: Vertical, + + panes: [ + + ( + + pane: Pane(Header), + + size: "1", + + ), + + ( + + pane: Pane(TabContent), + + size: "100%", + + ), + + ( + + pane: Pane(ProgressBar), + + size: "1", + + ), + + ], + + ), + + progress_bar: ( + + symbols: ["", "", "⭘", " ", " "], + + track_style: (bg: "#1e2030"), + + elapsed_style: (fg: "#c6a0f6", bg: "#1e2030"), + + thumb_style: (fg: "#c6a0f6", bg: "#1e2030"), + + ), + + scrollbar: ( + + symbols: ["│", "█", "▲", "▼"], + + track_style: (), + + ends_style: (), + + thumb_style: (fg: "#b7bdf8"), + + ), + + browser_column_widths: [20, 38, 42], + + text_color: "#cad3f5", + + background_color: "#24273a", + + header_background_color: "#1e2030", + + modal_background_color: None, + + modal_backdrop: false, + + tab_bar: (active_style: (fg: "black", bg: "#c6a0f6", modifiers: "Bold"), inactive_style: ()), + + borders_style: (fg: "#6e738d"), + + highlighted_item_style: (fg: "#c6a0f6", modifiers: "Bold"), + + current_item_style: (fg: "black", bg: "#b7bdf8", modifiers: "Bold"), + + highlight_border_style: (fg: "#b7bdf8"), + + song_table_format: [ + + ( + + prop: (kind: Property(Artist), style: (fg: "#b7bdf8"), default: (kind: Text("Unknown"))), + + width: "50%", + + alignment: Right, + + ), + + ( + + prop: (kind: Text("-"), style: (fg: "#b7bdf8"), default: (kind: Text("Unknown"))), + + width: "1", + + alignment: Center, + + ), + + ( + + prop: (kind: Property(Title), style: (fg: "#7dc4e4"), default: (kind: Text("Unknown"))), + + width: "50%", + + ), + + ], + + header: ( + + rows: [ + + ( + + left: [ + + (kind: Text("["), style: (fg: "#b7bdf8", modifiers: "Bold")), + + (kind: Property(Status(State)), style: (fg: "#b7bdf8", modifiers: "Bold")), + + (kind: Text("]"), style: (fg: "#b7bdf8", modifiers: "Bold")) + + ], + + center: [ + + (kind: Property(Song(Artist)), style: (fg: "#eed49f", modifiers: "Bold"), + + default: (kind: Text("Unknown"), style: (fg: "#eed49f", modifiers: "Bold")) + + ), + + (kind: Text(" - ")), + + (kind: Property(Song(Title)), style: (fg: "#7dc4e4", modifiers: "Bold"), + + default: (kind: Text("No Song"), style: (fg: "#7dc4e4", modifiers: "Bold")) + + ) + + ], + + right: [ + + (kind: Text("Vol: "), style: (fg: "#b7bdf8", modifiers: "Bold")), + + (kind: Property(Status(Volume)), style: (fg: "#b7bdf8", modifiers: "Bold")), + + (kind: Text("% "), style: (fg: "#b7bdf8", modifiers: "Bold")) + + ] + + ) + + ], + + ), + +) +tabs: [ + + ( + + name: "Queue", + + pane: Split( + + direction: Horizontal, + + panes: [(size: "60%", pane: Pane(Queue)), (size: "40%", pane: Pane(AlbumArt))], + + ), + + ), + + ( + + name: "Directories", + + pane: Pane(Directories), + + ), + + ( + + name: "Artists", + + pane: Pane(Artists), + + ), + + ( + + name: "Album Artists", + + pane: Pane(AlbumArtists), + + ), + + ( + + name: "Albums", + + pane: Pane(Albums), + + ), + + ( + + name: "Playlists", + + pane: Pane(Playlists), + + ), + + ( + + name: "Search", + + pane: Pane(Search), + + ), + +], diff --git a/env/.local/bin/system/start-scripts/autostart.sh b/env/.local/bin/system/start-scripts/autostart.sh index 1c33dae..8fe5653 100755 --- a/env/.local/bin/system/start-scripts/autostart.sh +++ b/env/.local/bin/system/start-scripts/autostart.sh @@ -51,21 +51,22 @@ fi if [ "$(cat /etc/hostname)" == "Kasino" ]; then if [ -z "$(pgrep vesktop)" ]; then - sleep 2s dbus-run-session vesktop & disown fi if [ -z "$(pgrep gajim)" ]; then - sleep 2s gajim & disown fi if [ -z "$(pgrep steam)" ]; then - sleep 3s steam & disown fi if [ -z "$(pgrep mumble)" ]; then mumble & disown fi + + if [ -z "$(pgrep mpd)" ]; then + mpd & disown + fi fi diff --git a/runs-all/get-reqs-arch/i3.sh b/runs-all/get-reqs-arch/i3.sh new file mode 100755 index 0000000..873ba51 --- /dev/null +++ b/runs-all/get-reqs-arch/i3.sh @@ -0,0 +1,6 @@ +$sudo pacman -S --noconfirm i3 i3blocks + +git clone --depth 1 https://github.com/vivien/i3blocks-contrib "$DEV_ENV/.config/i3blocks/git-dir" + +mv $DEV_ENV/.config/i3blocks/git-dir/* "$DEV_ENV/.config/i3blocks/" +$sudo rm -r "$DEV_ENV/.config/i3blocks/git-dir" diff --git a/runs-all/mimes.sh b/runs-all/mimes.sh index c6f4114..a7a68b0 100755 --- a/runs-all/mimes.sh +++ b/runs-all/mimes.sh @@ -8,4 +8,6 @@ xdg-mime default pinta.desktop image/jpeg xdg-mime default pinta.desktop image/png xdg-mime default pinta.desktop image/webp xdg-mime default pinta.desktop image/gif +xdg-mime default mpv.desktop video/webm +xdg-mime default mpv.desktop video/mp4 echo --------