Files
dotfiles-sway/rmpc/def.ron
T
pyrschtjag a213b10a88 Initial commit: sway + uwsm desktop dotfiles
Nord-themed Wayland setup on sway (via uwsm), including:

- sway/swayidle/swaylock/swaddle — WM, idle/lock/inhibit
- waybar, rofi — bar and launcher
- dunst — notifications
- foot — terminal
- zsh (+fzf, syntax highlighting, autosuggestions) — shell
- mpd/rmpc/mpc, mpv — music and video
- nvim — editor (lazy.nvim)
- ly — login manager
- rbw + pinentry-rofi wrapper — Bitwarden/Vaultwarden CLI
- per-window-layout, clipvault — helper systemd services
2026-08-11 10:30:07 +04:00

312 lines
12 KiB
Plaintext

#![enable(implicit_some)]
#![enable(unwrap_newtypes)]
#![enable(unwrap_variant_newtypes)]
(
default_album_art_path: None,
format_tag_separator: " | ",
browser_column_widths: [0,30,70],
background_color: None,
text_color: None,
header_background_color: None,
modal_background_color: None,
modal_backdrop: false,
preview_label_style: (fg: "#88c0d0"),
preview_metadata_group_style: (fg: "#88c0d0", modifiers: "Bold"),
highlighted_item_style: (fg: "#88c0d0", modifiers: "Bold"),
current_item_style: (fg: "#2e3440", bg: "#88c0d0", modifiers: "Bold"),
borders_style: (fg: "#88c0d0"),
highlight_border_style: (fg: "#88c0d0"),
symbols: (
song: "S",
dir: "D",
playlist: "P",
marker: "M",
ellipsis: "...",
song_style: (fg: "#88c0d0"),
dir_style: (fg: "#ebcb8b"),
playlist_style: (fg: "#b48ead"),
),
level_styles: (
info: (fg: "blue", bg: "black"),
warn: (fg: "yellow", bg: "black"),
error: (fg: "red", bg: "black"),
debug: (fg: "light_green", bg: "black"),
trace: (fg: "magenta", bg: "black"),
),
progress_bar: (
symbols: ["█", "█", "█", "█", "█"],
track_style: (fg: "#4c566a"),
elapsed_style: (fg: "#88c0d0"),
thumb_style: (fg: "#5e81ac"),
use_track_when_empty: true,
),
scrollbar: (
symbols: ["│", "█", "", ""],
track_style: (),
ends_style: (),
thumb_style: (fg: "#88c0d0"),
),
tab_bar: (
active_style: (fg: "#2e3440", bg: "#88c0d0"),
inactive_style: (fg: "#eceff4", bg: "#2e3440"),),
lyrics: (
timestamp: false
),
browser_song_format: [
(
kind: Group([
(kind: Property(Track)),
(kind: Text(" ")),
])
),
(
kind: Group([
(kind: Property(Artist)),
(kind: Text(" - ")),
(kind: Property(Title)),
]),
default: (kind: Property(Filename))
),
],
song_table_format: [
(
prop: (kind: Property(Artist), style: (fg: "#eceff4"),
default: (kind: Text("unknown"), style: (fg: "#eceff4"))
),
label_prop: (kind: Text("artist"), style: (fg: "#8fbcbb", modifiers: "Bold")),
width: "20%",
),
(
prop: (kind: Property(Title), style: (fg: "#eceff4"),
default: (kind: Text("unknown"), style: (fg: "#eceff4"))
),
label_prop: (kind: Text("title"), style: (fg: "#a3be8c", modifiers: "Bold")),
width: "35%",
),
(
prop: (kind: Property(Album), style: (fg: "#eceff4"),
default: (kind: Text("unknown"), style: (fg: "#eceff4"))
),
label_prop: (kind: Text("album"), style: (fg: "#b48ead", modifiers: "Bold")),
width: "30%",
),
(
prop: (kind: Property(Duration), style: (fg: "#eceff4"),
default: (kind: Text("-"), style: (fg: "#eceff4"))
),
label_prop: (kind: Text("duration"), style: (fg: "#ebcb8b", modifiers: "Bold")),
width: "15%",
alignment: Right,
),
],
layout: Split(
direction: Vertical,
panes: [
(
size: "1",
pane: Split(
direction: Horizontal,
panes: [
( pane: Pane(Tabs), size: "70" ),
( pane: Pane(Empty()), size: "100%" ),
],
),
),
(
pane: Pane(TabContent),
size: "100%",
),
(
size: "1",
pane: Split(
direction: Horizontal,
panes: [
(
size: "8",
pane: Component("input_mode")
),
(
size: "100%",
pane: Component("progress_bar"),
),
(
size: "20",
pane: Component("volume_and_state"),
)
]
),
),
],
),
components: {
"volume_and_state": Split(
direction: Horizontal,
panes: [
(size: "100%", pane: Component("volume")),
(size: "7", pane: Component("states")),
]
),
"column1": Split(
direction: Vertical,
panes: [
(size: "1", pane: Component("state")),
(size: "1", pane: Component("artist")),
(size: "1", pane: Component("album")),
(size: "1", pane: Component("track")),
(size: "1", pane: Component("title")),
(size: "1", pane: Component("date")),
(size: "1", pane: Component("elapsed")),
(size: "1", pane: Component("bitrate")),
]
),
"state": Pane(Property(
content: [
(kind: Text("state: "), style: (fg: "#88c0d0", modifiers: "Bold")),
(kind: Property(Status(StateV2( ))), style: (fg: "#eceff4")),
], align: Left, scroll_speed: 1
)),
"artist": Pane(Property(
content: [
(kind: Text("artist: "), style: (fg: "#88c0d0", modifiers: "Bold")),
(kind: Property(Song(Artist)), style: (fg: "#eceff4"),
default: (kind: Text("unknown"), style: (fg: "#eceff4"))),
], align: Left, scroll_speed: 1
)),
"album": Pane(Property(
content: [
(kind: Text("album: "), style: (fg: "#88c0d0", modifiers: "Bold")),
(kind: Property(Song(Album)), style: (fg: "#eceff4"),
default: (kind: Text("unknown"), style: (fg: "#eceff4"))),
], align: Left, scroll_speed: 1
)),
"track": Pane(Property(
content: [
(kind: Text("track: "), style: (fg: "#88c0d0", modifiers: "Bold")),
(kind: Property(Song(Track)), style: (fg: "#eceff4"),
default: (kind: Text("unknown"), style: (fg: "#eceff4"))),
], align: Left, scroll_speed: 1
)),
"title": Pane(Property(
content: [
(kind: Text("title: "), style: (fg: "#88c0d0", modifiers: "Bold")),
(kind: Property(Song(Title)), style: (fg: "#eceff4"),
default: (kind: Text("unknown"), style: (fg: "#eceff4"))),
], align: Left, scroll_speed: 1
)),
"date": Pane(Property(
content: [
(kind: Text("date: "), style: (fg: "#88c0d0", modifiers: "Bold")),
(kind: Property(Song(Other("date"))), style: (fg: "#eceff4"),
default: (kind: Text("unknown"), style: (fg: "#eceff4"))),
], align: Left, scroll_speed: 1
)),
"elapsed": Pane(Property(
content: [
(kind: Text("elapsed: "), style: (fg: "#88c0d0", modifiers: "Bold")),
(kind: Property(Status(Elapsed)), style: (fg: "#eceff4")),
(kind: Text(" / ")),
(kind: Property(Status(Duration)), style: (fg: "#eceff4")),
],
align: Left, scroll_speed: 1
)),
"bitrate": Pane(Property(
content: [
(kind: Text("bitrate: "), style: (fg: "#88c0d0", modifiers: "Bold")),
(kind: Property(Status(Bitrate)), style: (fg: "#eceff4")),
(kind: Text(" kbps"), style: (fg: "#eceff4")),
],
align: Left, scroll_speed: 1
)),
"volume": Split(
direction: Horizontal,
panes: [
(size: "100%", pane: Pane(Volume(kind: Slider(
symbols: (filled: "█", thumb: "█", track: "█"),
filled_style: (fg: "#d08770"),
track_style: (fg: "#4c566a"),
thumb_style: (fg: "#bf616a"),
)))),
], align: Right
),
"states": Split(
direction: Horizontal,
panes: [
(
size: "1",
pane: Pane(Empty())
),
(
size: "100%",
pane: Pane(Property(content: [(kind: Property(Status(InputBuffer())), style: (fg: "blue"), align: Right)]))
),
(
size: "1",
pane: Pane(Empty())
),
(
size: "6",
pane: Pane(Property(content: [
(kind: Text(" "), style: (bg: "#4c566a")),
(kind: Property(Status(RepeatV2(
on_label: "z",
off_label: "z",
on_style: (fg: "#ebcb8b", bg: "#4c566a", modifiers: "Bold"),
off_style: (fg: "#eceff4", bg: "#4c566a"),
)))),
(kind: Property(Status(RandomV2(
on_label: "x",
off_label: "x",
on_style: (fg: "#ebcb8b", bg: "#4c566a", modifiers: "Bold"),
off_style: (fg: "#eceff4", bg: "#4c566a"),
)))),
(kind: Property(Status(ConsumeV2(
on_label: "c",
off_label: "c",
oneshot_label: "c",
on_style: (fg: "#ebcb8b", bg: "#4c566a", modifiers: "Bold"),
off_style: (fg: "#eceff4", bg: "#4c566a"),
oneshot_style: (fg: "#d08770", bg: "#4c566a", modifiers: "Bold"),
)))),
(kind: Property(Status(SingleV2(
on_label: "v",
off_label: "v",
oneshot_label: "v",
on_style: (fg: "#ebcb8b", bg: "#4c566a", modifiers: "Bold"),
off_style: (fg: "#eceff4", bg: "#4c566a"),
oneshot_style: (fg: "#d08770", bg: "#4c566a", modifiers: "Bold"),
)))),
(kind: Text(" "), style: (bg: "#4c566a")),
],
align: Right
))
),
]
),
"input_mode": Pane(Property(
content: [
(kind: Transform(Replace(content: (kind: Property(Status(InputMode()))), replacements: [
(match: "Normal", replace: (kind: Text(" normal "), style: (fg: "#eceff4", bg: "#4c566a"))),
(match: "Insert", replace: (kind: Text(" insert "), style: (fg: "#2e3440", bg: "#a3be8c"))),
])))
], align: Left
)),
"progress_bar": Split(
direction: Horizontal,
panes: [
(
size: "1",
pane: Pane(Empty())
),
(
size: "100%",
pane: Pane(ProgressBar)
),
(
size: "1",
pane: Pane(Empty())
),
]
)
},
)