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
This commit is contained in:
+253
@@ -0,0 +1,253 @@
|
||||
#![enable(implicit_some)]
|
||||
#![enable(unwrap_newtypes)]
|
||||
#![enable(unwrap_variant_newtypes)]
|
||||
(
|
||||
address: "127.0.0.1:6600",
|
||||
password: None,
|
||||
theme: "def",
|
||||
cache_dir: None,
|
||||
on_song_change: None,
|
||||
volume_step: 5,
|
||||
max_fps: 30,
|
||||
scrolloff: 0,
|
||||
wrap_navigation: false,
|
||||
enable_mouse: true,
|
||||
scroll_amount: 1,
|
||||
enable_config_hot_reload: true,
|
||||
enable_lyrics_hot_reload: false,
|
||||
status_update_interval_ms: 1000,
|
||||
rewind_to_start_sec: None,
|
||||
keep_state_on_song_change: true,
|
||||
reflect_changes_to_playlist: false,
|
||||
select_current_song_on_change: false,
|
||||
ignore_leading_the: true,
|
||||
browser_song_sort: [Disc, Track, Artist, Title],
|
||||
directories_sort: SortFormat(group_by_type: true, reverse: false),
|
||||
auto_open_downloads: true,
|
||||
album_art: (
|
||||
method: Auto,
|
||||
max_size_px: (width: 1200, height: 1200),
|
||||
disabled_protocols: ["http://", "https://"],
|
||||
vertical_align: Center,
|
||||
horizontal_align: Center,
|
||||
),
|
||||
keybinds: (
|
||||
global: {
|
||||
"q": Quit,
|
||||
"?": ShowHelp,
|
||||
":": CommandMode,
|
||||
"oI": ShowCurrentSongInfo,
|
||||
"oo": ShowOutputs,
|
||||
"op": ShowDecoders,
|
||||
"od": ShowDownloads,
|
||||
"oP": Partition(),
|
||||
"z": ToggleRepeat,
|
||||
"x": ToggleRandom,
|
||||
"c": ToggleConsume,
|
||||
"v": ToggleSingle,
|
||||
"p": TogglePause,
|
||||
"s": Stop,
|
||||
">": NextTrack,
|
||||
"<": PreviousTrack,
|
||||
"f": SeekForward,
|
||||
"b": SeekBack,
|
||||
".": VolumeUp,
|
||||
",": VolumeDown,
|
||||
"<Tab>": NextTab,
|
||||
"gt": NextTab,
|
||||
"<S-Tab>": PreviousTab,
|
||||
"gT": PreviousTab,
|
||||
"1": SwitchToTab("Queue"),
|
||||
"2": SwitchToTab("Directories"),
|
||||
//"3": SwitchToTab("Artists"),
|
||||
"3": SwitchToTab("Album Artists"),
|
||||
//"5": SwitchToTab("Albums"),
|
||||
"4": SwitchToTab("Playlists"),
|
||||
"5": SwitchToTab("Search"),
|
||||
"<C-u>": Update,
|
||||
"<C-U>": Rescan,
|
||||
"R": AddRandom,
|
||||
},
|
||||
navigation: {
|
||||
"<C-c>": Close,
|
||||
"<Esc>": Close,
|
||||
"<CR>": Confirm,
|
||||
"k": Up,
|
||||
"<Up>": Up,
|
||||
"j": Down,
|
||||
"<Down>": Down,
|
||||
"h": Left,
|
||||
"<Left>": Left,
|
||||
"l": Right,
|
||||
"<Right>": Right,
|
||||
"<C-w>k": PaneUp,
|
||||
"<C-Up>": PaneUp,
|
||||
"<C-w>j": PaneDown,
|
||||
"<C-Down>": PaneDown,
|
||||
"<C-w>h": PaneLeft,
|
||||
"<C-Left>": PaneLeft,
|
||||
"<C-w>l": PaneRight,
|
||||
"<C-Right>": PaneRight,
|
||||
"K": MoveUp,
|
||||
"J": MoveDown,
|
||||
"<C-u>": UpHalf,
|
||||
"<C-d>": DownHalf,
|
||||
"<C-b>": PageUp,
|
||||
"<PageUp>": PageUp,
|
||||
"<C-f>": PageDown,
|
||||
"<PageDown>": PageDown,
|
||||
"gg": Top,
|
||||
"G": Bottom,
|
||||
"<Space>": Select,
|
||||
"<C-Space>": InvertSelection,
|
||||
"/": EnterSearch,
|
||||
"n": NextResult,
|
||||
"N": PreviousResult,
|
||||
"a": Add,
|
||||
"A": AddAll,
|
||||
"D": Delete,
|
||||
"<C-r>": Rename,
|
||||
"i": FocusInput,
|
||||
"oi": ShowInfo,
|
||||
"<C-z>": ContextMenu(),
|
||||
"<C-s>s": Save(kind: Modal(all: false, duplicates_strategy: Ask)),
|
||||
"<C-s>a": Save(kind: Modal(all: true, duplicates_strategy: Ask)),
|
||||
"r": Rate(),
|
||||
},
|
||||
queue: {
|
||||
"d": Delete,
|
||||
"D": DeleteAll,
|
||||
"<CR>": Play,
|
||||
"C": JumpToCurrent,
|
||||
"X": Shuffle,
|
||||
},
|
||||
),
|
||||
search: (
|
||||
case_sensitive: false,
|
||||
ignore_diacritics: false,
|
||||
search_button: true,
|
||||
mode: Contains,
|
||||
tags: [
|
||||
(value: "any", label: "any tag"),
|
||||
(value: "artist", label: "artist"),
|
||||
(value: "album", label: "album"),
|
||||
(value: "albumartist", label: "album artist"),
|
||||
(value: "title", label: "title"),
|
||||
(value: "filename", label: "filename"),
|
||||
(value: "genre", label: "genre"),
|
||||
],
|
||||
),
|
||||
artists: (
|
||||
album_display_mode: SplitByDate,
|
||||
album_sort_by: Date,
|
||||
album_date_tags: [Date],
|
||||
),
|
||||
tabs: [
|
||||
(
|
||||
name: "queue",
|
||||
pane: Split(
|
||||
direction: Vertical,
|
||||
panes: [
|
||||
(
|
||||
size: "100%",
|
||||
pane: Split(
|
||||
direction: Vertical,
|
||||
panes: [
|
||||
(
|
||||
size: "1",
|
||||
//borders: "ALL",
|
||||
//border_symbols: Inherited(parent: Rounded, bottom_left: "├", bottom_right: "┤",),
|
||||
pane: Split(
|
||||
direction: Horizontal,
|
||||
panes: [
|
||||
/*(
|
||||
size: "1",
|
||||
pane: Pane(Empty())
|
||||
),*/
|
||||
(
|
||||
size: "100%",
|
||||
pane: Pane(QueueHeader())
|
||||
),
|
||||
]
|
||||
)
|
||||
),
|
||||
(
|
||||
size: "100%",
|
||||
//borders: "LEFT | RIGHT | BOTTOM",
|
||||
//border_symbols: Rounded,
|
||||
pane: Split(
|
||||
direction: Horizontal,
|
||||
panes: [
|
||||
/*(
|
||||
size: "1",
|
||||
pane: Pane(Empty())
|
||||
),*/
|
||||
(
|
||||
size: "100%",
|
||||
pane: Pane(Queue)
|
||||
),
|
||||
]
|
||||
)
|
||||
),
|
||||
],
|
||||
)
|
||||
),
|
||||
(
|
||||
size: "8",
|
||||
pane: Split(
|
||||
direction: Horizontal,
|
||||
panes: [
|
||||
(
|
||||
size: "19",
|
||||
//borders: "", //LEFT | RIGHT | TOP",
|
||||
//border_symbols: Rounded,
|
||||
pane: Pane(AlbumArt)
|
||||
),
|
||||
(
|
||||
size: "100%",
|
||||
//borders: "", //ALL",
|
||||
//border_symbols: Inherited(parent: Rounded, top_left: "├", top_right: "┤",),
|
||||
//border_title: [(kind: Text(" Lyrics "))],
|
||||
//border_title_alignment: Right,
|
||||
pane: Component("column1"),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
(
|
||||
name: "directories",
|
||||
pane: Split(
|
||||
size: "100%",
|
||||
direction: Vertical,
|
||||
panes: [(pane: Pane(Directories), size: "100%")] //, borders: "ALL", border_symbols: Rounded)],
|
||||
)
|
||||
),
|
||||
(
|
||||
name: "album artists",
|
||||
pane: Split(
|
||||
size: "100%",
|
||||
direction: Vertical,
|
||||
panes: [(pane: Pane(AlbumArtists), size: "100%")] //, borders: "ALL", border_symbols: Rounded)],
|
||||
)
|
||||
),
|
||||
(
|
||||
name: "playlists",
|
||||
pane: Split(
|
||||
size: "100%",
|
||||
direction: Vertical,
|
||||
panes: [(pane: Pane(Playlists), size: "100%")] //, borders: "ALL", border_symbols: Rounded)],
|
||||
)
|
||||
),
|
||||
(
|
||||
name: "search",
|
||||
pane: Split(
|
||||
size: "100%",
|
||||
direction: Vertical,
|
||||
panes: [(pane: Pane(Search), size: "100%")] //, borders: "ALL", border_symbols: Rounded)],
|
||||
)
|
||||
),
|
||||
],
|
||||
)
|
||||
Reference in New Issue
Block a user