Browse Source

rm old dots

canon
Hazel Levine 2 years ago
parent
commit
438081b1e1
Signed by: hazel
GPG Key ID: 1884029A28789A62
  1. 36
      config/X/Xresources
  2. 2
      config/bat/config
  3. BIN
      config/gitea/public/img/cats.png
  4. BIN
      config/gitea/public/img/karmacircle.png
  5. BIN
      config/gitea/public/img/kotlc.png
  6. 135
      config/gitea/templates/base/head_navbar.tmpl
  7. 58
      config/gitea/templates/home.tmpl
  8. 118
      config/gitea/templates/repo/header.tmpl
  9. 9
      config/ncmpcpp/config
  10. 284
      config/qutebrowser/colors.py
  11. 62
      config/qutebrowser/config.py
  12. 302
      config/qutebrowser/userscripts/qute-bitwarden
  13. 3
      config/startpage/README.md
  14. 177
      config/startpage/index.html
  15. 31
      config/tridactyl/tridactylrc
  16. 68
      config/waybar/config
  17. 74
      config/waybar/style.css
  18. 31
      config/zathura/zathurarc

36
config/X/Xresources

@ -1,36 +0,0 @@
! xft font rendering
Xft.antialias: 1
Xft.hinting: 1
Xft.hintstyle: hintfull
Xft.lcdfilter: lcddefault
Xft.rgba: rgb
! gruvbox
! hard contrast: *background: #f9f5d7
*background: #fbf1c7
! soft contrast: *background: #f2e5bc
*foreground: #3c3836
! Black + DarkGrey
*color0: #fdf4c1
*color8: #928374
! DarkRed + Red
*color1: #cc241d
*color9: #9d0006
! DarkGreen + Green
*color2: #98971a
*color10: #79740e
! DarkYellow + Yellow
*color3: #d79921
*color11: #b57614
! DarkBlue + Blue
*color4: #458588
*color12: #076678
! DarkMagenta + Magenta
*color5: #b16286
*color13: #8f3f71
! DarkCyan + Cyan
*color6: #689d6a
*color14: #427b58
! LightGrey + White
*color7: #7c6f64
*color15: #3c3836

2
config/bat/config

@ -1,2 +1,2 @@
--theme="ansi-dark"
--theme="ansi"
--style="numbers,changes,header"

BIN
config/gitea/public/img/cats.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 KiB

BIN
config/gitea/public/img/karmacircle.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

BIN
config/gitea/public/img/kotlc.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 146 KiB

135
config/gitea/templates/base/head_navbar.tmpl

@ -1,135 +0,0 @@
<div class="ui container" id="navbar">
<div class="item brand" style="justify-content: space-between;">
<a href="{{AppSubUrl}}/">
<img class="ui mini image" src="{{StaticUrlPrefix}}/img/kotlc.png">
</a>
<div class="ui basic icon button mobile-only" id="navbar-expand-toggle">
<i class="sidebar icon"></i>
</div>
</div>
{{if .IsSigned}}
<a class="item {{if .PageIsDashboard}}active{{end}}" href="{{AppSubUrl}}/">{{.i18n.Tr "dashboard"}}</a>
<a class="item {{if .PageIsIssues}}active{{end}}" href="{{AppSubUrl}}/issues">{{.i18n.Tr "issues"}}</a>
<a class="item {{if .PageIsPulls}}active{{end}}" href="{{AppSubUrl}}/pulls">{{.i18n.Tr "pull_requests"}}</a>
{{if .ShowMilestonesDashboardPage}}<a class="item {{if .PageIsMilestonesDashboard}}active{{end}}" href="{{AppSubUrl}}/milestones">{{.i18n.Tr "milestones"}}</a>{{end}}
<a class="item {{if .PageIsExplore}}active{{end}}" href="{{AppSubUrl}}/explore/repos">{{.i18n.Tr "explore"}}</a>
{{else if .IsLandingPageHome}}
<a class="item {{if .PageIsHome}}active{{end}}" href="{{AppSubUrl}}/">{{.i18n.Tr "home"}}</a>
<a class="item {{if .PageIsExplore}}active{{end}}" href="{{AppSubUrl}}/explore/repos">{{.i18n.Tr "explore"}}</a>
{{else if .IsLandingPageExplore}}
<a class="item {{if .PageIsExplore}}active{{end}}" href="{{AppSubUrl}}/explore/repos">{{.i18n.Tr "home"}}</a>
{{else if .IsLandingPageOrganizations}}
<a class="item {{if .PageIsExplore}}active{{end}}" href="{{AppSubUrl}}/explore/organizations">{{.i18n.Tr "home"}}</a>
{{end}}
{{template "custom/extra_links" .}}
{{/*
<div class="item">
<div class="ui icon input">
<input class="searchbox" type="text" placeholder="{{.i18n.Tr "search_project"}}">
<i class="search icon"></i>
</div>
</div>
*/}}
{{if .IsSigned}}
<div class="right stackable menu">
<a href="{{AppSubUrl}}/notifications" class="item poping up" data-content='{{.i18n.Tr "notifications"}}' data-variation="tiny inverted">
<span class="text">
<i class="fitted octicon octicon-bell"></i>
<span class="sr-mobile-only">{{.i18n.Tr "notifications"}}</span>
{{if .NotificationUnreadCount}}
<span class="ui red label">
{{.NotificationUnreadCount}}
</span>
{{end}}
</span>
</a>
<div class="ui dropdown jump item poping up" data-content="{{.i18n.Tr "create_new"}}" data-variation="tiny inverted">
<span class="text">
<i class="fitted octicon octicon-plus"></i>
<span class="sr-mobile-only">{{.i18n.Tr "create_new"}}</span>
<i class="fitted octicon octicon-triangle-down not-mobile"></i>
</span>
<div class="menu">
<a class="item" href="{{AppSubUrl}}/repo/create">
<i class="octicon octicon-plus"></i> {{.i18n.Tr "new_repo"}}
</a>
<a class="item" href="{{AppSubUrl}}/repo/migrate">
<i class="octicon octicon-repo-clone"></i> {{.i18n.Tr "new_migrate"}}
</a>
{{if .SignedUser.CanCreateOrganization}}
<a class="item" href="{{AppSubUrl}}/org/create">
<i class="octicon octicon-organization"></i> {{.i18n.Tr "new_org"}}
</a>
{{end}}
</div><!-- end content create new menu -->
</div><!-- end dropdown menu create new -->
<div class="ui dropdown jump item poping up" tabindex="-1" data-content="{{.i18n.Tr "user_profile_and_more"}}" data-variation="tiny inverted">
<span class="text">
<img class="ui tiny avatar image" src="{{.SignedUser.RelAvatarLink}}">
<span class="sr-only">{{.i18n.Tr "user_profile_and_more"}}</span>
<span class="mobile-only">{{.SignedUser.Name}}</span>
<i class="fitted octicon octicon-triangle-down not-mobile" tabindex="-1"></i>
</span>
<div class="menu user-menu" tabindex="-1">
<div class="ui header">
{{.i18n.Tr "signed_in_as"}} <strong>{{.SignedUser.Name}}</strong>
</div>
<div class="divider"></div>
<a class="item" href="{{AppSubUrl}}/{{.SignedUser.Name}}">
<i class="octicon octicon-person"></i>
{{.i18n.Tr "your_profile"}}<!-- Your profile -->
</a>
<a class="item" href="{{AppSubUrl}}/{{.SignedUser.Name}}?tab=stars">
<i class="octicon octicon-star"></i>
{{.i18n.Tr "your_starred"}}
</a>
<a class="{{if .PageIsUserSettings}}active{{end}} item" href="{{AppSubUrl}}/user/settings">
<i class="octicon octicon-settings"></i>
{{.i18n.Tr "your_settings"}}<!-- Your settings -->
</a>
<a class="item" target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io">
<i class="octicon octicon-question"></i>
{{.i18n.Tr "help"}}<!-- Help -->
</a>
{{if .IsAdmin}}
<div class="divider"></div>
<a class="{{if .PageIsAdmin}}active{{end}} item" href="{{AppSubUrl}}/admin">
<i class="icon settings"></i>
{{.i18n.Tr "admin_panel"}}<!-- Admin Panel -->
</a>
{{end}}
<div class="divider"></div>
<a class="item" href="{{AppSubUrl}}/user/logout">
<i class="octicon octicon-sign-out"></i>
{{.i18n.Tr "sign_out"}}<!-- Sign Out -->
</a>
</div><!-- end content avatar menu -->
</div><!-- end dropdown avatar menu -->
</div><!-- end signed user right menu -->
{{else}}
<a class="item" target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io">{{.i18n.Tr "help"}}</a>
<div class="right stackable menu">
{{if .ShowRegistrationButton}}
<a class="item{{if .PageIsSignUp}} active{{end}}" href="{{AppSubUrl}}/user/sign_up">
<i class="octicon octicon-person"></i> {{.i18n.Tr "register"}}
</a>
{{end}}
<a class="item{{if .PageIsSignIn}} active{{end}}" rel="nofollow" href="{{AppSubUrl}}/user/login?redirect_to={{.Link}}">
<i class="octicon octicon-sign-in"></i> {{.i18n.Tr "sign_in"}}
</a>
</div><!-- end anonymous right menu -->
{{end}}
</div>

58
config/gitea/templates/home.tmpl

@ -1,58 +0,0 @@
{{template "base/head" .}}
<div class="home">
<div class="ui stackable middle very relaxed page grid">
<div class="sixteen wide center aligned centered column">
<div>
<img class="logo" src="{{StaticUrlPrefix}}/img/cats.png" />
</div>
<div class="hero">
<h1 class="ui icon header title">
{{AppName}}
</h1>
<h2>real source code by real people</h2>
</div>
</div>
</div>
<div class="ui stackable middle very relaxed page grid">
<div class="eight wide center column">
<h1 class="hero ui icon header">
<i class="octicon octicon-flame"></i> oof ow ouch hot
</h1>
<p class="large">
we put a fork in the microwave again it really hurts
</p>
</div>
<div class="eight wide center column">
<h1 class="hero ui icon header">
<i class="octicon octicon-device-desktop"></i> computers
</h1>
<p class="large">
they do the beep and the boop, but not really anything else
</p>
</div>
</div>
<div class="ui stackable middle very relaxed page grid">
<div class="eight wide center column">
<h1 class="hero ui icon header">
<i class="octicon octicon-rocket"></i> mars for the rich
</h1>
<p class="large">
deetya iyer has watched interstellar 15.5 times and counting
</p>
</div>
<div class="eight wide center column">
<h1 class="hero ui icon header">
<i class="octicon octicon-code"></i> angle brackets
</h1>
<p class="large">
what
</p>
</div>
<div class="sixteen wide center aligned centered column">
<p class="large">you're probably looking for my <a href="/hazel">actual code</a></p>
</div>
</div>
</div>
{{template "base/footer" .}}

118
config/gitea/templates/repo/header.tmpl

@ -1,118 +0,0 @@
<div class="header-wrapper">
{{with .Repository}}
<div class="ui container">
<div class="repo-header">
<div class="ui huge breadcrumb repo-title">
{{if .RelAvatarLink}}
<img class="ui avatar image" src="{{.RelAvatarLink}}">
{{else}}
<i class="mega-octicon octicon-{{if .IsPrivate}}lock{{else if .IsMirror}}repo-clone{{else if .IsFork}}repo-forked{{else}}repo{{end}}"></i>
{{end}}
<a href="{{AppSubUrl}}/{{.Owner.Name}}">{{.Owner.Name}}</a>
<div class="divider"> / </div>
<a href="{{$.RepoLink}}">{{.Name}}</a>
{{if and .RelAvatarLink .IsPrivate}}<i class="mega-octicon octicon-lock"></i>{{end}}
{{if .IsTemplate}}<i class="icon fa-copy"></i>{{end}}
{{if .IsArchived}}<i class="archive icon archived-icon"></i>{{end}}
{{if .IsMirror}}<div class="fork-flag">{{$.i18n.Tr "repo.mirror_from"}} <a target="_blank" rel="noopener noreferrer" href="{{if .SanitizedOriginalURL}}{{.SanitizedOriginalURL}}{{else}}{{MirrorAddress $.Mirror}}{{end}}">{{if .SanitizedOriginalURL}}{{.SanitizedOriginalURL}}{{else}}{{MirrorAddress $.Mirror}}{{end}}</a></div>{{end}}
{{if .IsFork}}<div class="fork-flag">{{$.i18n.Tr "repo.forked_from"}} <a href="{{.BaseRepo.Link}}">{{SubStr .BaseRepo.RelLink 1 -1}}</a></div>{{end}}
{{if .IsGenerated}}<div class="fork-flag">{{$.i18n.Tr "repo.generated_from"}} <a href="{{.TemplateRepo.Link}}">{{SubStr .TemplateRepo.RelLink 1 -1}}</a></div>{{end}}
</div>
{{if not .IsBeingCreated}}
<div class="repo-buttons">
<form method="post" action="{{$.RepoLink}}/action/{{if $.IsWatchingRepo}}un{{end}}watch?redirect_to={{$.Link}}">
{{$.CsrfTokenHtml}}
<div class="ui labeled button" tabindex="0">
<button type="submit" class="ui compact basic button">
<i class="icon fa-eye{{if not $.IsWatchingRepo}}-slash{{end}}"></i>{{if $.IsWatchingRepo}}{{$.i18n.Tr "repo.unwatch"}}{{else}}{{$.i18n.Tr "repo.watch"}}{{end}}
</button>
<a class="ui basic label" href="{{.Link}}/watchers">
{{.NumWatches}}
</a>
</div>
</form>
<form method="post" action="{{$.RepoLink}}/action/{{if $.IsStaringRepo}}un{{end}}star?redirect_to={{$.Link}}">
{{$.CsrfTokenHtml}}
<div class="ui labeled button" tabindex="0">
<button type="submit" class="ui compact basic button">
<i class="icon star{{if not $.IsStaringRepo}} outline{{end}}"></i>{{if $.IsStaringRepo}}{{$.i18n.Tr "repo.unstar"}}{{else}}{{$.i18n.Tr "repo.star"}}{{end}}
</button>
<a class="ui basic label" href="{{.Link}}/stars">
{{.NumStars}}
</a>
</div>
</form>
{{if and (not .IsEmpty) ($.Permission.CanRead $.UnitTypeCode)}}
<div class="ui labeled button {{if and ($.IsSigned) (not $.CanSignedUserFork)}}disabled-repo-button{{end}}" tabindex="0">
<a class="ui compact basic button {{if or (not $.IsSigned) (not $.CanSignedUserFork)}}poping up{{end}}" {{if $.CanSignedUserFork}}href="{{AppSubUrl}}/repo/fork/{{.ID}}"{{else if $.IsSigned}} data-content="{{$.i18n.Tr "repo.fork_from_self"}}" {{ else }} data-content="{{$.i18n.Tr "repo.fork_guest_user" }}" rel="nofollow" href="{{AppSubUrl}}/user/login?redirect_to={{AppSubUrl}}/repo/fork/{{.ID}}" {{end}} data-position="top center" data-variation="tiny">
<i class="octicon octicon-repo-forked"></i>{{$.i18n.Tr "repo.fork"}}
</a>
<a class="ui basic label" href="{{.Link}}/forks">
{{.NumForks}}
</a>
</div>
{{end}}
</div>
{{end}}
</div><!-- end grid -->
</div><!-- end container -->
{{end}}
<div class="ui tabs container">
{{if not .Repository.IsBeingCreated}}
<div class="ui tabular stackable menu navbar">
{{if .Permission.CanRead $.UnitTypeCode}}
<a class="{{if .PageIsViewCode}}active{{end}} item" href="{{.RepoLink}}{{if (ne .BranchName .Repository.DefaultBranch)}}/src/{{.BranchNameSubURL | EscapePound}}{{end}}">
<i class="octicon octicon-code"></i> {{.i18n.Tr "repo.code"}}
</a>
{{end}}
{{if .Permission.CanRead $.UnitTypeIssues}}
<a class="{{if .PageIsIssueList}}active{{end}} item" href="{{.RepoLink}}/issues">
<i class="octicon octicon-issue-opened"></i> {{.i18n.Tr "repo.issues"}} <span class="ui {{if not .Repository.NumOpenIssues}}gray{{else}}blue{{end}} small label">{{.Repository.NumOpenIssues}}</span>
</a>
{{end}}
{{if .Permission.CanRead $.UnitTypeExternalTracker}}
<a class="{{if .PageIsIssueList}}active{{end}} item" href="{{.RepoExternalIssuesLink}}" target="_blank" rel="noopener noreferrer">
<i class="octicon octicon-link-external"></i> {{.i18n.Tr "repo.issues"}} </span>
</a>
{{end}}
{{if and .Repository.CanEnablePulls (.Permission.CanRead $.UnitTypePullRequests)}}
<a class="{{if .PageIsPullList}}active{{end}} item" href="{{.RepoLink}}/pulls">
<i class="octicon octicon-git-pull-request"></i> Fanfics <span class="ui {{if not .Repository.NumOpenPulls}}gray{{else}}blue{{end}} small label">{{.Repository.NumOpenPulls}}</span>
</a>
{{end}}
{{if and (.Permission.CanRead $.UnitTypeReleases) (not .IsEmptyRepo) }}
<a class="{{if .PageIsReleaseList}}active{{end}} item" href="{{.RepoLink}}/releases">
<i class="octicon octicon-tag"></i> {{.i18n.Tr "repo.releases"}} <span class="ui {{if not .NumReleases}}gray{{else}}blue{{end}} small label">{{.NumReleases}}</span>
</a>
{{end}}
{{if or (.Permission.CanRead $.UnitTypeWiki) (.Permission.CanRead $.UnitTypeExternalWiki)}}
<a class="{{if .PageIsWiki}}active{{end}} item" href="{{.RepoLink}}/wiki" {{if (.Permission.CanRead $.UnitTypeExternalWiki)}} target="_blank" rel="noopener noreferrer" {{end}}>
<i class="octicon octicon-book"></i> {{.i18n.Tr "repo.wiki"}}
</a>
{{end}}
{{if and (.Permission.CanReadAny $.UnitTypePullRequests $.UnitTypeIssues $.UnitTypeReleases) (not .IsEmptyRepo)}}
<a class="{{if .PageIsActivity}}active{{end}} item" href="{{.RepoLink}}/activity">
<i class="octicon octicon-pulse"></i> {{.i18n.Tr "repo.activity"}}
</a>
{{end}}
{{template "custom/extra_tabs" .}}
{{if .Permission.IsAdmin}}
<div class="right menu">
<a class="{{if .PageIsSettings}}active{{end}} item" href="{{.RepoLink}}/settings">
<i class="octicon octicon-tools"></i> {{.i18n.Tr "repo.settings"}}
</a>
</div>
{{end}}
</div>
{{end}}
</div>
<div class="ui tabs divider"></div>
</div>

9
config/ncmpcpp/config

@ -1,8 +1,3 @@
#######################################################################
## This is configuration file. Copy it to $HOME/.ncmpcpp/config ##
## or $XDG_CONFIG_HOME/ncmpcpp/config and set up your preferences ##
#######################################################################
### directories ###
ncmpcpp_directory = ~/.ncmpcpp
@ -18,9 +13,9 @@ lyrics_directory = ~/.lyrics
% egrep -v '^#' .ncmpcpp/config
visualizer_in_stereo = "no"
visualizer_fifo_path = "~/.local/share/mpd/fifo"
visualizer_data_source = "~/.local/share/mpd/fifo"
visualizer_output_name = "my_fifo"
visualizer_sync_interval = "10"
#visualizer_sync_interval = "10"
visualizer_type = "ellipse"
#visualizer_look = "▋▋"
visualizer_look = "▀▋"

284
config/qutebrowser/colors.py

@ -1,284 +0,0 @@
base00 = "#fbf1c7"
base01 = "#ebdbb2"
base02 = "#d5c4a1"
base03 = "#bdae93"
base04 = "#665c54"
base05 = "#504945"
base06 = "#3c3836"
base07 = "#282828"
base08 = "#9d0006"
base09 = "#af3a03"
base0A = "#b57614"
base0B = "#79740e"
base0C = "#427b58"
base0D = "#076678"
base0E = "#8f3f71"
base0F = "#d65d0e"
# Text color of the completion widget. May be a single color to use for
# all columns or a list of three colors, one for each column.
c.colors.completion.fg = base05
# Background color of the completion widget for odd rows.
c.colors.completion.odd.bg = base00
# Background color of the completion widget for even rows.
c.colors.completion.even.bg = base00
# Foreground color of completion widget category headers.
c.colors.completion.category.fg = base0A
# Background color of the completion widget category headers.
c.colors.completion.category.bg = base00
# Top border color of the completion widget category headers.
c.colors.completion.category.border.top = base00
# Bottom border color of the completion widget category headers.
c.colors.completion.category.border.bottom = base00
# Foreground color of the selected completion item.
c.colors.completion.item.selected.fg = base01
# Background color of the selected completion item.
c.colors.completion.item.selected.bg = base0A
# Top border color of the selected completion item.
c.colors.completion.item.selected.border.top = base0A
# Bottom border color of the selected completion item.
c.colors.completion.item.selected.border.bottom = base0A
# Foreground color of the matched text in the selected completion item.
c.colors.completion.item.selected.match.fg = base08
# Foreground color of the matched text in the completion.
c.colors.completion.match.fg = base0B
# Color of the scrollbar handle in the completion view.
c.colors.completion.scrollbar.fg = base05
# Color of the scrollbar in the completion view.
c.colors.completion.scrollbar.bg = base00
# Background color of the context menu. If set to null, the Qt default is used.
c.colors.contextmenu.menu.bg = base00
# Foreground color of the context menu. If set to null, the Qt default is used.
c.colors.contextmenu.menu.fg = base05
# Background color of the context menu’s selected item. If set to null, the Qt default is used.
c.colors.contextmenu.selected.bg = base0A
# Foreground color of the context menu’s selected item. If set to null, the Qt default is used.
c.colors.contextmenu.selected.fg = base01
# Background color for the download bar.
c.colors.downloads.bar.bg = base00
# Color gradient start for download text.
c.colors.downloads.start.fg = base00
# Color gradient start for download backgrounds.
c.colors.downloads.start.bg = base0D
# Color gradient end for download text.
c.colors.downloads.stop.fg = base00
# Color gradient stop for download backgrounds.
c.colors.downloads.stop.bg = base0C
# Foreground color for downloads with errors.
c.colors.downloads.error.fg = base08
# Font color for hints.
c.colors.hints.fg = base00
# Background color for hints. Note that you can use a `rgba(...)` value
# for transparency.
c.colors.hints.bg = base0A
# Font color for the matched part of hints.
c.colors.hints.match.fg = base05
# Text color for the keyhint widget.
c.colors.keyhint.fg = base05
# Highlight color for keys to complete the current keychain.
c.colors.keyhint.suffix.fg = base05
# Background color of the keyhint widget.
c.colors.keyhint.bg = base00
# Foreground color of an error message.
c.colors.messages.error.fg = base00
# Background color of an error message.
c.colors.messages.error.bg = base08
# Border color of an error message.
c.colors.messages.error.border = base08
# Foreground color of a warning message.
c.colors.messages.warning.fg = base00
# Background color of a warning message.
c.colors.messages.warning.bg = base0E
# Border color of a warning message.
c.colors.messages.warning.border = base0E
# Foreground color of an info message.
c.colors.messages.info.fg = base05
# Background color of an info message.
c.colors.messages.info.bg = base00
# Border color of an info message.
c.colors.messages.info.border = base00
# Foreground color for prompts.
c.colors.prompts.fg = base05
# Border used around UI elements in prompts.
c.colors.prompts.border = base00
# Background color for prompts.
c.colors.prompts.bg = base00
# Background color for the selected item in filename prompts.
c.colors.prompts.selected.bg = base0A
# Foreground color of the statusbar.
c.colors.statusbar.normal.fg = base0B
# Background color of the statusbar.
c.colors.statusbar.normal.bg = base00
# Foreground color of the statusbar in insert mode.
c.colors.statusbar.insert.fg = base00
# Background color of the statusbar in insert mode.
c.colors.statusbar.insert.bg = base0D
# Foreground color of the statusbar in passthrough mode.
c.colors.statusbar.passthrough.fg = base00
# Background color of the statusbar in passthrough mode.
c.colors.statusbar.passthrough.bg = base0C
# Foreground color of the statusbar in private browsing mode.
c.colors.statusbar.private.fg = base00
# Background color of the statusbar in private browsing mode.
c.colors.statusbar.private.bg = base03
# Foreground color of the statusbar in command mode.
c.colors.statusbar.command.fg = base05
# Background color of the statusbar in command mode.
c.colors.statusbar.command.bg = base00
# Foreground color of the statusbar in private browsing + command mode.
c.colors.statusbar.command.private.fg = base05
# Background color of the statusbar in private browsing + command mode.
c.colors.statusbar.command.private.bg = base00
# Foreground color of the statusbar in caret mode.
c.colors.statusbar.caret.fg = base00
# Background color of the statusbar in caret mode.
c.colors.statusbar.caret.bg = base0E
# Foreground color of the statusbar in caret mode with a selection.
c.colors.statusbar.caret.selection.fg = base00
# Background color of the statusbar in caret mode with a selection.
c.colors.statusbar.caret.selection.bg = base0D
# Background color of the progress bar.
c.colors.statusbar.progress.bg = base0D
# Default foreground color of the URL in the statusbar.
c.colors.statusbar.url.fg = base05
# Foreground color of the URL in the statusbar on error.
c.colors.statusbar.url.error.fg = base08
# Foreground color of the URL in the statusbar for hovered links.
c.colors.statusbar.url.hover.fg = base05
# Foreground color of the URL in the statusbar on successful load
# (http).
c.colors.statusbar.url.success.http.fg = base0C
# Foreground color of the URL in the statusbar on successful load
# (https).
c.colors.statusbar.url.success.https.fg = base0B
# Foreground color of the URL in the statusbar when there's a warning.
c.colors.statusbar.url.warn.fg = base0E
# Background color of the tab bar.
c.colors.tabs.bar.bg = base00
# Color gradient start for the tab indicator.
c.colors.tabs.indicator.start = base0D
# Color gradient end for the tab indicator.
c.colors.tabs.indicator.stop = base0C
# Color for the tab indicator on errors.
c.colors.tabs.indicator.error = base08
# Foreground color of unselected odd tabs.
c.colors.tabs.odd.fg = base05
# Background color of unselected odd tabs.
c.colors.tabs.odd.bg = base00
# Foreground color of unselected even tabs.
c.colors.tabs.even.fg = base05
# Background color of unselected even tabs.
c.colors.tabs.even.bg = base00
# Background color of pinned unselected even tabs.
c.colors.tabs.pinned.even.bg = base03
# Foreground color of pinned unselected even tabs.
c.colors.tabs.pinned.even.fg = base05
# Background color of pinned unselected odd tabs.
c.colors.tabs.pinned.odd.bg = base03
# Foreground color of pinned unselected odd tabs.
c.colors.tabs.pinned.odd.fg = base05
# Background color of pinned selected even tabs.
c.colors.tabs.pinned.selected.even.bg = "#cc241d"
# Foreground color of pinned selected even tabs.
c.colors.tabs.pinned.selected.even.fg = base00
# Background color of pinned selected odd tabs.
c.colors.tabs.pinned.selected.odd.bg = "#cc241d"
# Foreground color of pinned selected odd tabs.
c.colors.tabs.pinned.selected.odd.fg = base00
# Foreground color of selected odd tabs.
c.colors.tabs.selected.odd.fg = base00
# Background color of selected odd tabs.
c.colors.tabs.selected.odd.bg = "#cc241d"
# Foreground color of selected even tabs.
c.colors.tabs.selected.even.fg = base00
# Background color of selected even tabs.
c.colors.tabs.selected.even.bg = "#cc241d"
# Background color for webpages if unset (or empty to use the theme's color).
c.colors.webpage.bg = base00

62
config/qutebrowser/config.py

@ -1,62 +0,0 @@
# pylint: disable=C0111
import os, operator
from qutebrowser.api import interceptor, message
config = config # noqa: F821 pylint: disable=E0602,C0103,W0127
c = c # noqa: F821 pylint: disable=E0602,C0103,W0127
### ricing
config.source("/etc/nixos/config/qutebrowser/colors.py")
c.fonts.default_family = "IBM Plex Mono"
c.tabs.position = 'top'
c.tabs.show = 'multiple'
c.tabs.title.format = '{current_title}'
c.tabs.title.alignment = 'center'
c.downloads.position = 'bottom'
c.tabs.favicons.show = 'never'
c.tabs.indicator.width = 0
def make_padding(top, bottom, left, right):
return {
'top': top,
'bottom': bottom,
'left': left,
'right': right
}
c.tabs.padding = make_padding(3, 3, 0, 0)
c.tabs.indicator.padding = make_padding(0, 0, 0, 0)
### behavior
if 'EDITOR' in os.environ:
c.editor.command = [os.environ['EDITOR'] + ' "{}"']
# trick some stupid apps
c.content.headers.user_agent = "Mozilla/5.0 ({os_info}) AppleWebKit/{webkit_version} (KHTML, like Gecko) {qt_key}/{qt_version} {upstream_browser_key}/{upstream_browser_version} Safari/{webkit_version}"
REDIRECT_MAP = {
"reddit.com": operator.methodcaller('setHost', 'old.reddit.com'),
"www.reddit.com": operator.methodcaller('setHost', 'old.reddit.com'),
}
def redirect_intercept(info):
"""Block the given request if necessary."""
if (info.resource_type != interceptor.ResourceType.main_frame
or info.request_url.scheme() in {"data", "blob"}):
return
url = info.request_url
redir = REDIRECT_MAP.get(url.host())
if redir is not None and redir(url) is not False:
message.info("Redirecting to " + url.toString())
info.redirect(url)
interceptor.register(redirect_intercept)
### bindings
def nmap(key, command):
"""Bind key to command in normal mode."""
config.bind(key, command, mode='normal')
nmap(',m', 'spawn mpv {url}')
nmap(',M', 'hint links spawn mpv {hint-url}')

302
config/qutebrowser/userscripts/qute-bitwarden

@ -1,302 +0,0 @@
#!/usr/bin/env cached-nix-shell
#! nix-shell -p keyutils -p python37Packages.pyperclip -p python37Packages.tldextract -i python3
# Copyright 2017 Chris Braun (cryzed) <cryzed@googlemail.com>
# Adapted for Bitwarden by Jonathan Haylett (JonnyHaystack) <jonathan@haylett.dev>
#
# This file is part of qutebrowser.
#
# qutebrowser is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published bjy
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# qutebrowser is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with qutebrowser. If not, see <http://www.gnu.org/licenses/>.
"""
Insert login information using Bitwarden CLI and a dmenu-compatible application
(e.g. dmenu, rofi -dmenu, ...).
"""
USAGE = """The domain of the site has to be in the name of the Bitwarden entry, for example: "github.com/cryzed" or
"websites/github.com". The login information is inserted by emulating key events using qutebrowser's fake-key command in this manner:
[USERNAME]<Tab>[PASSWORD], which is compatible with almost all login forms.
If enabled, with the `--totp` flag, it will also move the TOTP code to the
clipboard, much like the Firefox add-on.
You must log into Bitwarden CLI using `bw login` prior to use of this script.
The session key will be stored using keyctl for the number of seconds passed to
the --auto-lock option.
To use in qutebrowser, run: `spawn --userscript qute-bitwarden`
"""
EPILOG = """Dependencies: tldextract (Python 3 module), pyperclip (optional
Python module, used for TOTP codes), Bitwarden CLI (1.7.4 is known to work
but older versions may well also work)
WARNING: The login details are viewable as plaintext in qutebrowser's debug log
(qute://log) and might be shared if you decide to submit a crash report!"""
import argparse
import enum
import functools
import os
import shlex
import subprocess
import sys
import json
import tldextract
argument_parser = argparse.ArgumentParser(
description=__doc__,
usage=USAGE,
epilog=EPILOG,
)
argument_parser.add_argument('url', nargs='?', default=os.getenv('QUTE_URL'))
argument_parser.add_argument('--dmenu-invocation', '-d', default='rofi -dmenu -i -p Bitwarden',
help='Invocation used to execute a dmenu-provider')
argument_parser.add_argument('--no-insert-mode', '-n', dest='insert_mode', action='store_false',
help="Don't automatically enter insert mode")
argument_parser.add_argument('--totp', '-t', action='store_true',
help="Copy TOTP key to clipboard")
argument_parser.add_argument('--io-encoding', '-i', default='UTF-8',
help='Encoding used to communicate with subprocesses')
argument_parser.add_argument('--merge-candidates', '-m', action='store_true',
help='Merge pass candidates for fully-qualified and registered domain name')
argument_parser.add_argument('--auto-lock', type=int, default=900,
help='Automatically lock the vault after this many seconds')
group = argument_parser.add_mutually_exclusive_group()
group.add_argument('--username-only', '-e',
action='store_true', help='Only insert username')
group.add_argument('--password-only', '-w',
action='store_true', help='Only insert password')
group.add_argument('--totp-only', '-T',
action='store_true', help='Only insert totp code')
stderr = functools.partial(print, file=sys.stderr)
class ExitCodes(enum.IntEnum):
SUCCESS = 0
FAILURE = 1
# 1 is automatically used if Python throws an exception
NO_PASS_CANDIDATES = 2
COULD_NOT_MATCH_USERNAME = 3
COULD_NOT_MATCH_PASSWORD = 4
def qute_command(command):
with open(os.environ['QUTE_FIFO'], 'w') as fifo:
fifo.write(command + '\n')
fifo.flush()
def ask_password():
process = subprocess.run([
'rofi',
'-dmenu',
'-p',
'Master Password',
'-password',
'-lines',
'0',
], universal_newlines=True, stdout=subprocess.PIPE)
if process.returncode > 0:
raise Exception('Could not unlock vault')
master_pass = process.stdout.strip()
return subprocess.check_output(
['bw', 'unlock', '--raw', master_pass],
universal_newlines=True,
).strip()
def get_session_key(auto_lock):
if auto_lock == 0:
subprocess.call(['keyctl', 'purge', 'user', 'bw_session'])
return ask_password()
else:
process = subprocess.run(
['keyctl', 'request', 'user', 'bw_session'],
universal_newlines=True,
stdout=subprocess.PIPE,
)
key_id = process.stdout.strip()
if process.returncode > 0:
session = ask_password()
if not session:
raise Exception('Could not unlock vault')
key_id = subprocess.check_output(
['keyctl', 'add', 'user', 'bw_session', session, '@u'],
universal_newlines=True,
).strip()
if auto_lock > 0:
subprocess.call(['keyctl', 'timeout', str(key_id), str(auto_lock)])
return subprocess.check_output(
['keyctl', 'pipe', str(key_id)],
universal_newlines=True,
).strip()
def pass_(domain, encoding, auto_lock):
session_key = get_session_key(auto_lock)
process = subprocess.run(
['bw', 'list', 'items', '--session', session_key, '--url', domain],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
)
err = process.stderr.decode(encoding).strip()
if err:
msg = 'Bitwarden CLI returned for {:s} - {:s}'.format(domain, err)
stderr(msg)
return '[]'
out = process.stdout.decode(encoding).strip()
return out
def get_totp_code(selection_id, domain_name, encoding, auto_lock):
session_key = get_session_key(auto_lock)
process = subprocess.run(
['bw', 'get', 'totp', '--session', session_key, selection_id],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
)
err = process.stderr.decode(encoding).strip()
if err:
# domain_name instead of selection_id to make it more user-friendly
msg = 'Bitwarden CLI returned for {:s} - {:s}'.format(domain_name, err)
stderr(msg)
return '[]'
out = process.stdout.decode(encoding).strip()
return out
def dmenu(items, invocation, encoding):
command = shlex.split(invocation)
process = subprocess.run(command, input='\n'.join(
items).encode(encoding), stdout=subprocess.PIPE)
return process.stdout.decode(encoding).strip()
def fake_key_raw(text):
for character in text:
# Escape all characters by default, space requires special handling
sequence = '" "' if character == ' ' else '\{}'.format(character)
qute_command('fake-key {}'.format(sequence))
def main(arguments):
if not arguments.url:
argument_parser.print_help()
return ExitCodes.FAILURE
extract_result = tldextract.extract(arguments.url)
# Try to find candidates using targets in the following order: fully-qualified domain name (includes subdomains),
# the registered domain name and finally: the IPv4 address if that's what
# the URL represents
candidates = []
for target in filter(None, [
extract_result.fqdn,
extract_result.registered_domain,
extract_result.subdomain + extract_result.domain,
extract_result.domain,
extract_result.ipv4]):
target_candidates = json.loads(
pass_(
target,
arguments.io_encoding,
arguments.auto_lock,
)
)
if not target_candidates:
continue
candidates = candidates + target_candidates
if not arguments.merge_candidates:
break
else:
if not candidates:
stderr('No pass candidates for URL {!r} found!'.format(
arguments.url))
return ExitCodes.NO_PASS_CANDIDATES
if len(candidates) == 1:
selection = candidates.pop()
else:
choices = ['{:s} | {:s}'.format(c['name'], c['login']['username']) for c in candidates]
choice = dmenu(choices, arguments.dmenu_invocation, arguments.io_encoding)
choice_tokens = choice.split('|')
choice_name = choice_tokens[0].strip()
choice_username = choice_tokens[1].strip()
selection = next((c for (i, c) in enumerate(candidates)
if c['name'] == choice_name
and c['login']['username'] == choice_username),
None)
# Nothing was selected, simply return
if not selection:
return ExitCodes.SUCCESS
username = selection['login']['username']
password = selection['login']['password']
totp = selection['login']['totp']
if arguments.username_only:
fake_key_raw(username)
elif arguments.password_only:
fake_key_raw(password)
elif arguments.totp_only:
# No point in moving it to the clipboard in this case
fake_key_raw(
get_totp_code(
selection['id'],
selection['name'],
arguments.io_encoding,
arguments.auto_lock
)
)
else:
# Enter username and password using fake-key and <Tab> (which seems to work almost universally), then switch
# back into insert-mode, so the form can be directly submitted by
# hitting enter afterwards
fake_key_raw(username)
qute_command('fake-key <Tab>')
fake_key_raw(password)
if arguments.insert_mode:
qute_command('enter-mode insert')
# If it finds a TOTP code, it copies it to the clipboard,
# which is the same behaviour as the Firefox add-on.
if not arguments.totp_only and totp and arguments.totp:
# The import is done here, to make pyperclip an optional dependency
import pyperclip
pyperclip.copy(
get_totp_code(
selection['id'],
selection['name'],
arguments.io_encoding,
arguments.auto_lock
)
)
return ExitCodes.SUCCESS
if __name__ == '__main__':
arguments = argument_parser.parse_args()
sys.exit(main(arguments))

3
config/startpage/README.md

@ -1,3 +0,0 @@
_a basic term-like startpage with tree structure_
https://notabug.org/nytly/home lightly modified

177
config/startpage/index.html

@ -1,177 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<!-- new tab override ext -->
<style>
:root {
--font: "IBM Plex Mono";
--background: #fbf1c7;
--foreground: #3c3836;
--aqua: #689d6a;
--yellow: #d79921;
--green: #98971a;
--red: #cc241d;
--branch: 1px solid #928374;
}
html {
font-size: 18px;
}
body {
background: var(--background);
}
.container {
position: absolute;
top: 50%;
left: 45%;
transform: translate(-50%, -50%);
}
.prompt {
font-family: var(--font);
color: var(--foreground);
}
.prompt~.prompt {
padding: 1.3rem 0 0.3125rem;
}
span {
color: var(--yellow);
}
.hostname {
color: var(--green);
}
.dir {
color: var(--aqua);
}
h1 {
display: inline;
font-family: var(--font);
font-size: 1rem;
font-weight: normal;
color: var(--aqua);
}
.tree > ul {
margin: 0;
padding-left: 1rem;
}
ul {
list-style: none;
padding-left: 2.5rem;
}
li {
position: relative;
}
li::before, li::after {
content: "";
position: absolute;
left: -0.75rem;
}
li::before {
border-top: var(--branch);
top: 0.75rem;
width: 0.5rem;
}
li::after {
border-left: var(--branch);
height: 100%;
top: 0.25rem;
}
li:last-child::after {
height: 0.5rem;
}
a {
font-family: var(--font);
font-size: 1rem;
color: var(--foreground);
text-decoration: none;
outline: none;
}
a:hover {
color: var(--background);
background: var(--red);
}
form h1 {
padding-left: 0.125rem;
}
input {
font-family: var(--font);
font-size: 1rem;
color: var(--foreground);
background-color: var(--background);
border: none;
}
</style>
<title>~</title>
</head>
<body>
<div class="container">
<div class="prompt"><span>hazel</span> on <span class="hostname">lucy</span> in <span class="dir">~</span>
<br>
<span>λ</span> tree</div>
<div class="tree">
<h1>.</h1>
<ul>
<li>
<h1>school</h1>
<ul>
<li><a href="https://one.iu.edu">oneiu</a></li>
<li><a href="https://iu.instructure.com">canvas</a></li>
<li><a href="https://sci-hub.se">sci-hub</a></li>
</ul>
</li>
<li>
<h1>social</h1>
<ul>
<li><a href="https://is.nota.live">mastodon</a></li>
<li><a href="https://discord.com/channels/@me">gamersite</a></li>
<li><a href="https://lobste.rs">lobsters</a></li>
<li><a href="https://beta.protonmail.com">protonmail</a></li>
</ul>
</li>
<li>
<h1>code</h1>
<ul>
<li><a href="https://git.knightsofthelambdacalcul.us">gitea</a></li>
<li><a href="https://github.com">github</a></li>
<li><a href="https://nixos.org/nixos/options.html">options</a></li>
<li><a href="https://hackthebox.eu">htb</a></li>
</ul>
</li>
<li>
<h1>misc</h1>
<ul>
<li><a href="https://cloud.knightsofthelambdacalcul.us">nextcloud</a></li>
<li><a href="https://youtube.com">timewaster</a></li>
</ul>
</li>
</ul>
</div>
<div class="prompt"><span>hazel</span> on <span class="hostname">lucy</span> in <span class="dir">~</span>
<br>
<span>λ</span> ddg</div>
<form action="https://duckduckgo.com/" method="GET">
<h1>search: </h1>
<input type="text" name="q" autofocus="autofocus">
</form>
</div>
</body>
</html>

31
config/tridactyl/tridactylrc

@ -1,31 +0,0 @@
" nice
colors shydactyl
" self-explanatory
set searchengine duckduckgo
set historyresults 10
" the irony is not lost on me
js tri.browserBg.runtime.getPlatformInfo().then(os=>{const editorcmd = os.os=="linux" ? "emacs" : "auto"; tri.config.set("editorcmd", editorcmd)})
" only hint search results on google & ddg
bindurl www.google.com f hint -Jc .rc > .r > a
bindurl www.google.com F hint -Jbc .rc>.r>a
bindurl ^https://duckduckgo.com f hint -Jc [class=result__a]
bindurl ^https://duckduckgo.com F hint -Jbc [class=result__a]
" better hinting
set hintfiltermode vimperator-reflow
set hintnames numeric
" inject google translate upon `:translate` cmd
" again, irony not lost on me.
" also, for the record, Tridactyl doesn't support multi-line JS
command translate js let googleTranslateCallback = document.createElement('script'); googleTranslateCallback.innerHTML = "function googleTranslateElementInit(){ new google.translate.TranslateElement(); }"; document.body.insertBefore(googleTranslateCallback, document.body.firstChild); let googleTranslateScript = document.createElement('script'); googleTranslateScript.charset="UTF-8"; googleTranslateScript.src = "https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit&tl=&sl=&hl="; document.body.insertBefore(googleTranslateScript, document.body.firstChild);
" quickref: https://quickref.dev
set searchurls.qrf https://quickref.dev/search?type=all&q=
" new reddit is bad
autocmd DocStart ^http(s?)://www.reddit.com js tri.excmds.urlmodify("-t", "www", "old")

68
config/waybar/config

@ -1,68 +0,0 @@
{
"layer": "top",
"position": "top",
"modules-left": ["sway/window"],
"modules-right": ["network", "custom/vpn", "battery", "battery#BAT0", "clock"],
"sway/window": {
"max-length": 50
},
"battery": {
"states": {
"good": 95,
"warning": 30,
"critical": 15
},
"bat":"BAT1",
"format": "{icon} {capacity}%",
"format-charging": " {capacity}%",
"format-plugged": " {capacity}%",
"format-discharging": "{icon} {capacity}%",
"format-alt": "{icon} {time}",
"format-icons": ["", "", "", "", ""]
},
"battery#BAT0": {
"states": {
"good": 95,
"warning": 30,
"critical": 15
},
"bat":"BAT0",
"format": "{icon} {capacity}%",
"format-charging": " {capacity}%",
"format-plugged": " {capacity}%",
"format-discharging": "{icon} {capacity}%",
"format-alt": "{icon} {time}",
"format-icons": ["", "", "", "", ""]
},
"network": {
"format": "{ifname}",
"format-wifi": " {essid}",
"format-ethernet": " {ifname}",
"format-disconnected": "Disconnected",
"tooltip-format-wifi": "{signalStrength}%",
"max-length": 20
},
"clock": {
"format": "{:%I:%M}",
"format-alt": "{:%Y-%m-%d %I:%M}"
},
"mpd": {
"format": "{stateIcon} {artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S})",
"format-disconnected": "Disconnected",
"format-stopped": "Stopped",
"interval": 2,
"state-icons": {
"paused": "",
"playing": ""
},
"tooltip-format": "MPD (connected)",
"tooltip-format-disconnected": "MPD (disconnected)"
},
"custom/vpn": {
"format": "",
"exec": "echo '{\"class\": \"connected\"}'",
"exec-if": "$HOME/bin/vpn status",
"return-type": "json",
"interval": 5
}
}

74
config/waybar/style.css

@ -1,74 +0,0 @@
* {
font-size: 12px;
font-family: "IBM Plex Sans", "FontAwesome";
}
window#waybar {
background: rgba(0,0,0,0);
}
#window {
margin: 3px;
padding: 5px 7px 5px 7px;
border-radius: 10px;
background: #ebdbb2;
color: #3c3836;
}
#battery {
margin: 3px 0px 3px 0px;
background: #ebdbb2;
padding: 5px;
color: #3c3836;
}
#custom-vpn {
margin: 3px 0px 3px 0px;
background: #ebdbb2;
padding: 5px;
color: #3c3836;
}
#battery.BAT0 {
margin: 3px 0px 3px 0px;
background: #ebdbb2;
padding: 5px;
border-top-right-radius: 10px;
border-bottom-right-radius: 10px;
color: #3c3836;
}
#clock {
margin: 3px;
color: #FFF;
background: #ebdbb2;
border-radius: 10px;
padding: 5px 7px 5px 7px;
color: #3c3836;
}
#mpd {
margin: 3px;
padding: 5px 7px 5px 7px;
border-radius: 10px;
background: #ebdbb2;
color: #3c3836;
}
#network {
background: #ebdbb2;
color: #3c3836;
margin: 3px 0px 3px 0px;
padding: 5px;
border-top-left-radius: 10px;
border-bottom-left-radius: 10px;
}
#tray {
margin: 3px;
color: #FFF;
background: #ebdbb2;
border-radius: 10px;
padding: 5px 7px 5px 7px;
color: #3c3836;
}

31
config/zathura/zathurarc

@ -1,31 +0,0 @@
set window-title-home-tilde true
set statusbar-basename true
set selection-clipboard clipboard
set font "Julia Mono 10"
set completion-bg "#fbf1c7"
set completion-fg "#3c3836"
set completion-group-bg "#fbf1c7"
set completion-group-fg "#8f6f8f"
set completion-highlight-bg "#3c3836"
set completion-highlight-fg "#fbf1c7"
set recolor-lightcolor "#fbf1c7"
set recolor-darkcolor "#3c3836"
set default-bg "#fbf1c7"
set inputbar-bg "#fbf1c7"
set inputbar-fg "#3c3836"
set notification-bg "#fbf1c7"
set notification-fg "#3c3836"
set notification-error-bg "aa4450"
set notification-error-fg "#3c3836"
set notification-warning-bg "aa4450"
set notification-warning-fg "#3c3836"
set statusbar-bg "#fbf1c7"
set statusbar-fg "#3c3836"
set index-bg "#fbf1c7"
set index-fg "#3c3836"
set index-active-bg "#3c3836"
set index-active-fg "#fbf1c7"
set render-loading-bg "#fbf1c7"
set render-loading-fg "#3c3836"
Loading…
Cancel
Save