Merge remote-tracking branch 'origin/master'

This commit is contained in:
Vlad Doster 2020-01-20 19:07:51 -05:00
commit 6e4be70f80
38 changed files with 207 additions and 1557 deletions

View File

@ -16,8 +16,8 @@ alias \
# Colorize commands when possible.
alias \
ls="ls -hN --color=auto --group-directories-first" \
grep="grep --color=auto" \
ls="ls --literal -l --human-readable --color=auto --group-directories-first" \
grep="grep -n --color=auto" \
diff="diff --color=auto" \
ccat="highlight --out-format=ansi"
@ -32,9 +32,6 @@ alias \
e="$EDITOR" \
v="$EDITOR" \
p="sudo pacman" \
xi="sudo xbps-install" \
xr="sudo xbps-remove -R" \
xq="xbps-query"
# This alias is important. It enables the `pauseallmpv` command.
alias mpv="mpv --input-ipc-server=/tmp/mpvsoc$(date +%s)"

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

View File

Before

Width:  |  Height:  |  Size: 441 KiB

After

Width:  |  Height:  |  Size: 441 KiB

View File

@ -1,10 +1,9 @@
# You can add comments to these files with #
h ~/
cf ~/.config
d ~/downloads
gh ~/github
m ~/music
pp ~/pictures
vv ~/videos
cf ~/.config
sc ~/.local/bin
h ~/
mn /mnt
psc ~/.local/bin/polybar_scripts
pp ~/pictures
sc ~/.local/bin

View File

@ -1,15 +1,12 @@
bf ~/.config/files
bd ~/.config/directories
bw ~/.config/bookmarks
cfa ~/.config/aliasrc
cfz $ZDOTDIR/.zshrc
cfv ~/.config/nvim/init.vim
cfm ~/.config/mutt/muttrc
cfd ~/.Xdefaults
cfu ~/.config/newsboat/urls
cfn ~/.config/newsboat/config
cfmb ~/.config/ncmpcpp/bindings
cfmc ~/.config/ncmpcpp/config
cfk ~/.config/sxhkd/sxhkdrc
cfi ~/.config/i3/config
cfb ~/.config/i3blocks/config
bd ~/.config/directories
bf ~/.config/files
bw ~/.config/bookmarks
cfa ~/.config/aliasrc
cfd ~/.Xdefaults
cfi ~/.config/i3/config
cfk ~/.config/sxhkd/sxhkdrc
cfm ~/.config/mutt/muttrc
cfp ~/.config/polybar/config
cfs ~/.config/sxhkd/sxhkdrc
cfv ~/.config/nvim/init.vim
cfz $ZDOTDIR/.zshrc

View File

@ -1,13 +1,15 @@
# vim: filetype=i3
# File originally by Luke Smith <https://lukesmith.xyz>
# This config file will use environmental variables such as $BROWSER and $TERMINAL.
# You can set these variables in ~/.profile or ~/.bash_profile if you have it as below:
# Polybar
exec_always --no-startup-id launch_polybar
# #---Basic Definitions---# #
for_window [class="^.*"] border pixel 2
gaps inner 5
gaps outer 5
gaps inner 2
gaps outer 2
set $term --no-startup-id $TERMINAL
set $mod Mod4
set $stoprec --no-startup-id dmenurecord kill
@ -119,13 +121,6 @@ bindsym $mod+Ctrl+l move workspace to output right
bindsym $mod+z gaps outer current plus 5
bindsym $mod+Shift+z gaps outer current minus 5
bindsym $mod+x exec --no-startup-id mpc pause; exec --no-startup-id pauseallmpv ; exec --no-startup-id i3lock -e -f -c 1d2021 ; exec --no-startup-id xset dpms force off
bindsym $mod+Shift+x exec --no-startup-id prompt "Shutdown computer?" "$shutdown"
bindsym $mod+c exec --no-startup-id cabl
bindsym $mod+Shift+c exec --no-startup-id camtoggle
bindsym $mod+b bar mode toggle
bindsym $mod+Shift+b floating toggle; sticky toggle; exec --no-startup-id hover left
bindsym $mod+n exec $term -e newsboat && pkill -RTMIN+6 i3blocks

View File

@ -1,26 +0,0 @@
db_file "~/.config/mpd/database"
log_file "~/.config/mpd/log"
music_directory "~/Music"
playlist_directory "~/.config/mpd/playlists"
pid_file "~/.config/mpd/pid"
state_file "~/.config/mpd/state"
sticker_file "~/.config/mpd/sticker.sql"
auto_update "yes"
bind_to_address "127.0.0.1"
restore_paused "yes"
max_output_buffer_size "16384"
audio_output {
type "alsa"
name "alsa for audio soundcard"
mixer_type "software"
}
audio_output {
type "fifo"
name "toggle_visualizer"
path "/tmp/mpd.fifo"
format "44100:16:2"
}

View File

@ -1,5 +0,0 @@
l seek 5
h seek -5
j seek -60
k seek 60
S cycle sub

View File

@ -1,479 +0,0 @@
##############################################################
## This is the example bindings file. Copy it to ##
## ~/.ncmpcpp/bindings or $XDG_CONFIG_HOME/ncmpcpp/bindings ##
## and set up your preferences ##
##############################################################
#
#def_key "mouse"
# mouse_event
#
#def_key "up"
# scroll_up
#
#def_key "shift-up"
# select_item
# scroll_up
#
#def_key "down"
# scroll_down
#
#def_key "shift-down"
# select_item
# scroll_down
#
#def_key "["
# scroll_up_album
#
#def_key "]"
# scroll_down_album
#
#def_key "{"
# scroll_up_artist
#
#def_key "}"
# scroll_down_artist
#
#def_key "page_up"
# page_up
#
#def_key "page_down"
# page_down
#
#def_key "home"
# move_home
#
#def_key "end"
# move_end
#
#def_key "insert"
# select_item
#
#def_key "enter"
# enter_directory
#
#def_key "enter"
# toggle_output
#
#def_key "enter"
# run_action
#
#def_key "enter"
# play_item
#
#def_key "space"
# add_item_to_playlist
#
#def_key "space"
# toggle_lyrics_update_on_song_change
#
#def_key "space"
# toggle_visualization_type
#
#def_key "delete"
# delete_playlist_items
#
#def_key "delete"
# delete_browser_items
#
#def_key "delete"
# delete_stored_playlist
#
#def_key "right"
# next_column
#
#def_key "right"
# slave_screen
#
#def_key "right"
# volume_up
#
#def_key "+"
# volume_up
#
#def_key "left"
# previous_column
#
#def_key "left"
# master_screen
#
#def_key "left"
# volume_down
#
#def_key "-"
# volume_down
#
#def_key ":"
# execute_command
#
#def_key "tab"
# next_screen
#
#def_key "shift-tab"
# previous_screen
#
#def_key "f1"
# show_help
#
#def_key "1"
# show_playlist
#
#def_key "2"
# show_browser
#
#def_key "2"
# change_browse_mode
#
#def_key "3"
# show_search_engine
#
#def_key "3"
# reset_search_engine
#
#def_key "4"
# show_media_library
#
#def_key "4"
# toggle_media_library_columns_mode
#
#def_key "5"
# show_playlist_editor
#
#def_key "6"
# show_tag_editor
#
#def_key "7"
# show_outputs
#
#def_key "8"
# show_visualizer
#
#def_key "="
# show_clock
#
#def_key "@"
# show_server_info
#
#def_key "s"
# stop
#
#def_key "p"
# pause
#
#def_key ">"
# next
#
#def_key "<"
# previous
#
#def_key "ctrl-h"
# jump_to_parent_directory
#
#def_key "ctrl-h"
# replay_song
#
#def_key "backspace"
# jump_to_parent_directory
#
#def_key "backspace"
# replay_song
#
#def_key "f"
# seek_forward
#
#def_key "b"
# seek_backward
#
#def_key "r"
# toggle_repeat
#
#def_key "z"
# toggle_random
#
#def_key "y"
# save_tag_changes
#
#def_key "y"
# start_searching
#
#def_key "y"
# toggle_single
#
#def_key "R"
# toggle_consume
#
#def_key "Y"
# toggle_replay_gain_mode
#
#def_key "T"
# toggle_add_mode
#
#def_key "|"
# toggle_mouse
#
#def_key "#"
# toggle_bitrate_visibility
#
#def_key "Z"
# shuffle
#
#def_key "x"
# toggle_crossfade
#
#def_key "X"
# set_crossfade
#
#def_key "u"
# update_database
#
#def_key "ctrl-s"
# sort_playlist
#
#def_key "ctrl-s"
# toggle_browser_sort_mode
#
#def_key "ctrl-s"
# toggle_media_library_sort_mode
#
#def_key "ctrl-r"
# reverse_playlist
#
#def_key "ctrl-f"
# apply_filter
#
#def_key "ctrl-_"
# select_found_items
#
#def_key "/"
# find
#
#def_key "/"
# find_item_forward
#
#def_key "?"
# find
#
#def_key "?"
# find_item_backward
#
#def_key "."
# next_found_item
#
#def_key ","
# previous_found_item
#
#def_key "w"
# toggle_find_mode
#
#def_key "e"
# edit_song
#
#def_key "e"
# edit_library_tag
#
#def_key "e"
# edit_library_album
#
#def_key "e"
# edit_directory_name
#
#def_key "e"
# edit_playlist_name
#
#def_key "e"
# edit_lyrics
#
#def_key "i"
# show_song_info
#
#def_key "I"
# show_artist_info
#
#def_key "g"
# jump_to_position_in_song
#
#def_key "l"
# show_lyrics
#
#def_key "ctrl-v"
# select_range
#
#def_key "v"
# reverse_selection
#
#def_key "V"
# remove_selection
#
#def_key "B"
# select_album
#
#def_key "a"
# add_selected_items
#
#def_key "c"
# clear_playlist
#
#def_key "c"
# clear_main_playlist
#
#def_key "C"
# crop_playlist
#
#def_key "C"
# crop_main_playlist
#
#def_key "m"
# move_sort_order_up
#
#def_key "m"
# move_selected_items_up
#
#def_key "n"
# move_sort_order_down
#
#def_key "n"
# move_selected_items_down
#
#def_key "M"
# move_selected_items_to
#
#def_key "A"
# add
#
#def_key "S"
# save_playlist
#
#def_key "o"
# jump_to_playing_song
#
#def_key "G"
# jump_to_browser
#
#def_key "G"
# jump_to_playlist_editor
#
#def_key "~"
# jump_to_media_library
#
#def_key "E"
# jump_to_tag_editor
#
#def_key "U"
# toggle_playing_song_centering
#
#def_key "P"
# toggle_display_mode
#
#def_key "\\"
# toggle_interface
#
#def_key "!"
# toggle_separators_between_albums
#
#def_key "L"
# toggle_lyrics_fetcher
#
#def_key "F"
# fetch_lyrics_in_background
#
#def_key "alt-l"
# toggle_fetching_lyrics_in_background
#
#def_key "ctrl-l"
# toggle_screen_lock
#
#def_key "`"
# toggle_library_tag_type
#
#def_key "`"
# refetch_lyrics
#
#def_key "`"
# add_random_items
#
#def_key "ctrl-p"
# set_selected_items_priority
#
#def_key "q"
# quit
#
#
#def_key "f"
# find
#def_key "f"
# find_item_forward
def_key "+"
show_clock
def_key "="
volume_up
def_key "j"
scroll_down
def_key "k"
scroll_up
def_key "ctrl-u"
page_up
#push_characters "kkkkkkkkkkkkkkk"
def_key "ctrl-d"
page_down
#push_characters "jjjjjjjjjjjjjjj"
def_key "u"
page_up
#push_characters "kkkkkkkkkkkkkkk"
def_key "d"
page_down
#push_characters "jjjjjjjjjjjjjjj"
def_key "h"
previous_column
def_key "l"
next_column
def_key "."
show_lyrics
def_key "n"
next_found_item
def_key "N"
previous_found_item
# not used but bound
def_key "J"
move_sort_order_down
def_key "K"
move_sort_order_up
def_key "h"
jump_to_parent_directory
def_key "l"
enter_directory
def_key "l"
run_action
def_key "l"
play_item
def_key "m"
show_media_library
def_key "m"
toggle_media_library_columns_mode
def_key "t"
show_tag_editor
def_key "v"
show_visualizer
def_key "G"
move_end
def_key "g"
move_home
#jump_to_position_in_song
def_key "U"
update_database
def_key "s"
reset_search_engine
def_key "s"
show_search_engine
def_key "f"
show_browser
def_key "f"
change_browse_mode
def_key "x"
delete_playlist_items
def_key "P"
show_playlist

View File

@ -1,537 +0,0 @@
##############################################################################
## This is the example configuration file. Copy it to $HOME/.ncmpcpp/config ##
## or $XDG_CONFIG_HOME/ncmpcpp/config and set up your preferences. ##
##############################################################################
#
ncmpcpp_directory = ~/.config/ncmpcpp
#
##
## Directory for storing downloaded lyrics. It defaults to ~/.lyrics since other
## MPD clients (eg. ncmpc) also use that location.
##
#
lyrics_directory = ~/.local/share/lyrics
#
##### connection settings #####
#
#mpd_host = localhost
#
#mpd_port = 6600
#
#mpd_connection_timeout = 5
#
## Needed for tag editor and file operations to work.
##
mpd_music_dir = "~/Music"
#
#mpd_crossfade_time = 5
#
##### music visualizer #####
##
## Note: In order to make music visualizer work you'll need to use mpd fifo
## output, whose format parameter has to be set to 44100:16:1 for mono
## visualization or 44100:16:2 for stereo visualization. Example configuration
## (it has to be put into mpd.conf):
##
## audio_output {
## type "fifo"
## name "Visualizer feed"
## path "/tmp/mpd.fifo"
## format "44100:16:2"
## }
##
#
#visualizer_fifo_path = /tmp/mpd.fifo
#
##
## Note: Below parameter is needed for ncmpcpp to determine which output
## provides data for visualizer and thus allow syncing between visualization and
## sound as currently there are some problems with it.
##
#
#visualizer_output_name = Visualizer feed
#
##
## If you set format to 44100:16:2, make it 'yes'.
##
#visualizer_in_stereo = yes
#
##
## Note: Below parameter defines how often ncmpcpp has to "synchronize"
## visualizer and audio outputs. 30 seconds is optimal value, but if you
## experience synchronization problems, set it to lower value. Keep in mind
## that sane values start with >=10.
##
#
#visualizer_sync_interval = 30
#
##
## Note: To enable spectrum frequency visualization you need to compile ncmpcpp
## with fftw3 support.
##
#
## Available values: spectrum, wave, wave_filled, ellipse.
##
visualizer_type = spectrum
#
#visualizer_look = ●卐
#visualizer_look = 卐
#
#visualizer_color = blue, cyan, green, yellow, magenta, red
#
## Alternative subset of 256 colors for terminals that support it.
##
#visualizer_color = 41, 83, 119, 155, 185, 215, 209, 203, 197, 161
#
##### system encoding #####
##
## ncmpcpp should detect your charset encoding but if it failed to do so, you
## can specify charset encoding you are using here.
##
## Note: You can see whether your ncmpcpp build supports charset detection by
## checking output of `ncmpcpp --version`.
##
## Note: Since MPD uses UTF-8 by default, setting this option makes sense only
## if your encoding is different.
##
#
#system_encoding = ""
#
##### delays #####
#
## Time of inactivity (in seconds) after playlist highlighting will be disabled
## (0 = always on).
##
#playlist_disable_highlight_delay = 5
#
## Defines how long messages are supposed to be visible.
##
message_delay_time = 1
#
##### song format #####
##
## For a song format you can use:
##
## %l - length
## %f - filename
## %D - directory
## %a - artist
## %A - album artist
## %t - title
## %b - album
## %y - date
## %n - track number (01/12 -> 01)
## %N - full track info (01/12 -> 01/12)
## %g - genre
## %c - composer
## %p - performer
## %d - disc
## %C - comment
## %P - priority
## $R - begin right alignment
##
## If you want to make sure that a part of the format is displayed only when
## certain tags are present, you can archieve it by grouping them with brackets,
## e.g. '{%a - %t}' will be evaluated to 'ARTIST - TITLE' if both tags are
## present or '' otherwise. It is also possible to define a list of
## alternatives by providing several groups and separating them with '|',
## e.g. '{%t}|{%f}' will be evaluated to 'TITLE' or 'FILENAME' if the former is
## not present.
##
## Note: If you want to set limit on maximal length of a tag, just put the
## appropriate number between % and character that defines tag type, e.g. to
## make album take max. 20 terminal cells, use '%20b'.
##
## In addition, formats support markers used for text attributes. They are
## followed by character '$'. After that you can put:
##
## - 0 - default window color (discards all other colors)
## - 1 - black
## - 2 - red
## - 3 - green
## - 4 - yellow
## - 5 - blue
## - 6 - magenta
## - 7 - cyan
## - 8 - white
## - 9 - end of current color
## - b - bold text
## - u - underline text
## - r - reverse colors
## - a - use alternative character set
##
## If you don't want to use a non-color attribute anymore, just put it again,
## but this time insert character '/' between '$' and attribute character,
## e.g. {$b%t$/b}|{$r%f$/r} will display bolded title tag or filename with
## reversed colors.
##
## If you want to use 256 colors and/or background colors in formats (the naming
## scheme is described below in section about color definitions), it can be done
## with the syntax $(COLOR), e.g. to set the artist tag to one of the
## non-standard colors and make it have yellow background, you need to write
## $(197_yellow)%a$(end). Note that for standard colors this is interchangable
## with attributes listed above.
##
## Note: colors can be nested.
##
#
song_list_format = {$4%a - }{%t}|{$8%f$9}$R{$3(%l)$9}
#
song_status_format = $b{{$8"%t"}} $3by {$4%a{ $3in $7%b{ (%y)}} $3}|{$8%f}
#
song_library_format = {%n - }{%t}|{%f}
#
alternative_header_first_line_format = $b$1$aqqu$/a$9 {%t}|{%f} $1$atqq$/a$9$/b
#
alternative_header_second_line_format = {{$4$b%a$/b$9}{ - $7%b$9}{ ($4%y$9)}}|{%D}
#
current_item_prefix = $(cyan)$r$b
#
current_item_suffix = $/r$(end)$/b
#
current_item_inactive_column_prefix = $(magenta)$r
#
current_item_inactive_column_suffix = $/r$(end)
#
#now_playing_prefix = $b
#
#now_playing_suffix = $/b
#
#browser_playlist_prefix = "$2playlist$9 "
#
#selected_item_prefix = $6
#
#selected_item_suffix = $9
#
#modified_item_prefix = $3> $9
#
##
## Note: attributes are not supported for the following variables.
##
#song_window_title_format = {%a - }{%t}|{%f}
##
## Note: Below variables are used for sorting songs in browser. The sort mode
## determines how songs are sorted, and can be used in combination with a sort
## format to specify a custom sorting format. Available values for
## browser_sort_mode are "name", "mtime", "format" and "noop".
##
#
#browser_sort_mode = name
#
#browser_sort_format = {%a - }{%t}|{%f} {(%l)}
#
##### columns settings #####
##
## syntax of song columns list format is "column column etc."
##
## - syntax for each column is:
##
## (width of the column)[color of the column]{displayed tag}
##
## Note: Width is by default in %, if you want a column to have fixed size, add
## 'f' after the value, e.g. (10)[white]{a} will be the column that take 10% of
## screen (so the real width will depend on actual screen size), whereas
## (10f)[white]{a} will take 10 terminal cells, no matter how wide the screen
## is.
##
## - color is optional (if you want the default one, leave the field empty).
##
## Note: You can give a column additional attributes by putting appropriate
## character after displayed tag character. Available attributes are:
##
## - r - column will be right aligned
## - E - if tag is empty, empty tag marker won't be displayed
##
## You can also:
##
## - give a column custom name by putting it after attributes, separated with
## character ':', e.g. {lr:Length} gives you right aligned column of lengths
## named "Length".
##
## - define sequence of tags, that have to be displayed in case predecessor is
## empty in a way similar to the one in classic song format, i.e. using '|'
## character, e.g. {a|c|p:Owner} creates column named "Owner" that tries to
## display artist tag and then composer and performer if previous ones are not
## available.
##
#
#song_columns_list_format = (20)[]{a} (6f)[green]{NE} (50)[white]{t|f:Title} (20)[cyan]{b} (7f)[magenta]{l}
#
##### various settings #####
#
##
## Note: Custom command that will be executed each time song changes. Useful for
## notifications etc.
##
#execute_on_song_change = ""
#
##
## Note: Custom command that will be executed each time player state
## changes. The environment variable MPD_PLAYER_STATE is set to the current
## state (either unknown, play, pause, or stop) for its duration.
##
#
#execute_on_player_state_change = ""
#
#playlist_show_mpd_host = no
#
#playlist_show_remaining_time = no
#
#playlist_shorten_total_times = no
#
#playlist_separate_albums = no
#
##
## Note: Possible display modes: classic, columns.
##
playlist_display_mode = columns
#
browser_display_mode = columns
#
#search_engine_display_mode = classic
#
#playlist_editor_display_mode = classic
#
#discard_colors_if_item_is_selected = yes
#
#show_duplicate_tags = true
#
#incremental_seeking = yes
#
#seek_time = 1
#
#volume_change_step = 2
#
#autocenter_mode = no
#
#centered_cursor = no
#
##
## Note: You can specify third character which will be used to build 'empty'
## part of progressbar.
##
progressbar_look = ->
#
## Available values: database, playlist.
##
#default_place_to_search_in = database
#
## Available values: classic, alternative.
##
#user_interface = classic
#
#data_fetching_delay = yes
#
## Available values: artist, album_artist, date, genre, composer, performer.
##
media_library_primary_tag = album_artist
#
media_library_albums_split_by_date = no
#
## Available values: wrapped, normal.
##
#default_find_mode = wrapped
#
#default_tag_editor_pattern = %n - %t
#
#header_visibility = yes
#
#statusbar_visibility = yes
#
#titles_visibility = yes
#
#header_text_scrolling = yes
#
#cyclic_scrolling = no
#
#lines_scrolled = 2
#
#lyrics_fetchers = lyricwiki, azlyrics, genius, sing365, lyricsmania, metrolyrics, justsomelyrics, jahlyrics, plyrics, tekstowo, internet
#
#follow_now_playing_lyrics = no
#
#fetch_lyrics_for_current_song_in_background = no
#
#store_lyrics_in_song_dir = no
#
#generate_win32_compatible_filenames = yes
#
#allow_for_physical_item_deletion = no
#
##
## Note: If you set this variable, ncmpcpp will try to get info from last.fm in
## language you set and if it fails, it will fall back to english. Otherwise it
## will use english the first time.
##
## Note: Language has to be expressed as an ISO 639 alpha-2 code.
##
#lastfm_preferred_language = en
#
#space_add_mode = add_remove
#
#show_hidden_files_in_local_browser = no
#
##
## How shall screen switcher work?
##
## - "previous" - switch between the current and previous screen.
## - "screen1,...,screenN" - switch between given sequence of screens.
##
## Screens available for use: help, playlist, browser, search_engine,
## media_library, playlist_editor, tag_editor, outputs, visualizer, clock,
## lyrics, last_fm.
##
#screen_switcher_mode = playlist, browser
#
##
## Note: You can define startup screen by choosing screen from the list above.
##
startup_screen = media_library
#
##
## Note: You can define startup slave screen by choosing screen from the list
## above or an empty value for no slave screen.
##
#startup_slave_screen = ""
#
#startup_slave_screen_focus = no
#
##
## Default width of locked screen (in %). Acceptable values are from 20 to 80.
##
#
#locked_screen_width_part = 50
#
#ask_for_locked_screen_width_part = yes
#
#jump_to_now_playing_song_at_start = yes
#
#ask_before_clearing_playlists = yes
#
#clock_display_seconds = no
#
display_volume_level = no
#
#display_bitrate = no
#
#display_remaining_time = no
#
## Available values: none, basic, extended, perl.
##
#regular_expressions = perl
#
##
## Note: if below is enabled, ncmpcpp will ignore leading "The" word while
## sorting items in browser, tags in media library, etc.
##
ignore_leading_the = yes
#
##
## Note: if below is enabled, ncmpcpp will ignore diacritics while searching and
## filtering lists. This takes an effect only if boost was compiled with ICU
## support.
##
#ignore_diacritics = no
#
#block_search_constraints_change_if_items_found = yes
#
#mouse_support = yes
#
#mouse_list_scroll_whole_page = yes
#
#empty_tag_marker = <empty>
#
#tags_separator = " | "
#
#tag_editor_extended_numeration = no
#
#media_library_sort_by_mtime = no
#
#enable_window_title = yes
#
##
## Note: You can choose default search mode for search engine. Available modes
## are:
##
## - 1 - use mpd built-in searching (no regexes, pattern matching)
##
## - 2 - use ncmpcpp searching (pattern matching with support for regexes, but
## if your mpd is on a remote machine, downloading big database to process
## it can take a while
##
## - 3 - match only exact values (this mode uses mpd function for searching in
## database and local one for searching in current playlist)
##
#
#search_engine_default_search_mode = 1
#
external_editor = vim
#
## Note: set to yes if external editor is a console application.
##
use_console_editor = yes
#
##### colors definitions #####
##
## It is possible to set a background color by setting a color value
## "<foreground>_<background>", e.g. red_black will set foregound color to red
## and background color to black.
##
## In addition, for terminals that support 256 colors it is possible to set one
## of them by using a number in range [1, 256] instead of color name,
## e.g. numerical value corresponding to red_black is 2_1. To find out if the
## terminal supports 256 colors, run ncmpcpp and check out the bottom of the
## help screen for list of available colors and their numerical values.
##
## What is more, there are two special values for the background color:
## "transparent" and "current". The first one explicitly sets the background to
## be transparent, while the second one allows you to preserve current
## background color and change only the foreground one. It's used implicitly
## when background color is not specified.
##
## Moreover, it is possible to attach format information to selected color
## variables by appending to their end a colon followed by one or more format
## flags, e.g. black:b or red:ur. The following variables support this syntax:
## visualizer_color, color1, color2, empty_tag_color, volume_color,
## state_line_color, state_flags_color, progressbar_color,
## progressbar_elapsed_color, player_state_color, statusbar_time_color,
## alternative_ui_separator_color.
##
## Note: due to technical limitations of older ncurses version, if 256 colors
## are used there is a possibility that you'll be able to use only colors with
## transparent background.
#
#colors_enabled = yes
#
empty_tag_color = magenta
#
#header_window_color = magenta
#
#volume_color = default
#
#state_line_color = default
#
#state_flags_color = default:b
#
main_window_color = white
#
#color1 = white
#
#color2 = green
#
progressbar_color = black:b
#
progressbar_elapsed_color = blue:b
#
statusbar_color = red
#
statusbar_time_color = cyan:b
#
#player_state_color = default:b
#
#alternative_ui_separator_color = black:b
#
#window_border_color = green
#
#active_window_border = red
#

View File

@ -1,39 +0,0 @@
#show-read-feeds no
auto-reload yes
external-url-viewer "urlscan -dc -r 'linkhandler {}'"
bind-key j down
bind-key k up
bind-key j next articlelist
bind-key k prev articlelist
bind-key J next-feed articlelist
bind-key K prev-feed articlelist
bind-key G end
bind-key g home
bind-key d pagedown
bind-key u pageup
bind-key l open
bind-key h quit
bind-key a toggle-article-read
bind-key n next-unread
bind-key N prev-unread
bind-key D pb-download
bind-key U show-urls
bind-key x pb-delete
color listnormal cyan default
color listfocus black yellow standout bold
color listnormal_unread blue default
color listfocus_unread yellow default bold
color info red black bold
color article cyan default
browser linkhandler
macro , open-in-browser
macro t set browser "tsp youtube-dl --add-metadata -ic"; open-in-browser ; set browser linkhandler
macro a set browser "tsp youtube-dl --add-metadata -xic -f bestaudio/best"; open-in-browser ; set browser linkhandler
macro v set browser "setsid nohup mpv"; open-in-browser ; set browser linkhandler
macro w set browser "w3m"; open-in-browser ; set browser linkhandler
macro p set browser "dmenuhandler"; open-in-browser ; set browser linkhandler
macro c set browser "xsel -b <<<" ; open-in-browser ; set browser linkhandler

View File

@ -1,4 +0,0 @@
http://lukesmith.xyz/rss.xml
https://notrelated.libsyn.com/rss
https://www.youtube.com/feeds/videos.xml?channel_id=UC2eYFnH61tmytImy1mTYvhA "~Luke Smith (YouTube)"
https://www.archlinux.org/feeds/news/ "tech"

View File

@ -1,31 +1,24 @@
; vim:ft=dosini
[colors]
black = #1d2021
darkred = #cc241d
darkgreen = #98971a
darkyellow = #d79921
darkblue = #458588
darkmagenta = #b16286
darkcyan = #689d6a
lightgray = #a89984
gray = #928374
red = #fb4934
green = #b8bb26
yellow = #fabd2f
blue = #83a598
magenta = #d3869b
cyan = #8ec07c
white = #ebdbb2
background = #1d2021
black = #1d2021
blue = #83a598
darkyellow = #d79921
foreground = #ebdbb2
gray = #928374
green = #b8bb26
orange = #ffa500
red = #ff0000
white = #ebdbb2
yellow = #fabd2f
[bar/main]
monitor = ${env:MONITOR:eDP-1-1}
enable-ipc = true
width = 100%
height = 20
fixed-center = false
height = 20
monitor = ${env:MONITOR:}
width = 100%
; allow scrolling workspaces
scroll-up = i3wm-wsnext
@ -46,41 +39,63 @@ padding-right = 0
module-margin-left = 1
module-margin-right = 1
font-0 = mono:pixelsize=9;1
font-1 = Source Code Pro:size=8;1
font-2 = Source Code Pro:scale=10:style=Regular;2
font-3 = Source Code Pro:pixelsize=9;1
font-0 = "Sauce Code Pro:size=9;1"
font-1 = "Sauce Code Pro:size=8;1"
font-2 = "Sauce Code Pro:scale=10:style=Regular;2"
font-3 = "Sauce Code Pro:size=9;1"
wm-restack = i3
modules-left = i3
modules-center = xwindow
modules-right = cpu memory volume wifi ethernet battery date
modules-right = sys_updates sys_temp cpu memory volume wifi ethernet battery date
tray-position = right
tray-padding = 0
[module/sys_updates]
exec = ~/.local/bin/polybar_scripts/aur_updates
format = <label>
interval = 1000
label = %{A1:$TERMINAL -e yay >/dev/null 2>&1 &:}%output%%{A}
label-overline=${colors.red}
label-underline=${colors.red}
type = custom/script
°
[module/sys_temp]
exec = ~/.local/bin/polybar_scripts/sys_temp
format = <label>
interval = 5
label = Temp: %output%°F
type = custom/script
[module/battery]
type = internal/battery
battery = BAT0
adapter = ADP1
full-at = 98
time-format = %H:%M
format-charging = <label-charging>
label-charging = BAT: %percentage%%
; orange denotes charging
format-charging =<label-charging>
label-charging = Batt: %percentage%%
label-charging-overline=${colors.orange}
label-charging-underline=${colors.orange}
format-discharging = <label-discharging>
label-discharging = BAT: %percentage%%
format-discharging = <ramp-capacity><label-discharging>
label-discharging = Batt: %percentage%%
; changes color for which third battery is in
; red=0-33, yellow=34-66, green=67-100
ramp-capacity-0 = %{u#ff0000}%{+u}
ramp-capacity-1 = %{u#ffea00}%{+u}
ramp-capacity-2 = %{u#20c723}%{+u}
[module/cpu]
type = internal/cpu
; Seconds to sleep between updates
interval = 0.5
format = <label>
; %percentage% (default) - total cpu load averaged over all cores
format-prefix-foreground = ${colors.gray}
label = CPU: %percentage%%
interval = 0.5
label = %{A1:$TERMINAL -e htop >/dev/null 2>&1 &:}CPU: %percentage%%%{A}
type = internal/cpu
[module/date]
type = internal/date
@ -90,18 +105,11 @@ date = "%Y %b %d (%a)"
time = "%I:%M%p"
format-prefix-foreground = ${colors.gray}
label = %date% %time%
[module/email]
type = custom/script
exec = mailbox
interval = 5
format-prefix = " "
click-left = st -e neomutt
label = %{A1:google-chrome-stable https\://calendar.google.com >/dev/null 2>&1 &:}%date% %time%%{A}
[module/ethernet]
type = internal/network
interface = enp0s25
interface = eth1
interval = 3.0
format-connected-underline = ${colors.green}
@ -110,7 +118,7 @@ label-connected = %local_ip%
format-disconnected = <label-disconnected>
format-disconnected-underline = ${colors.red}
label-disconnected = %ifname%
label-disconnected = No Eth
label-disconnected-foreground = ${colors.gray}
[module/i3]
@ -119,6 +127,8 @@ format = <label-state> <label-mode>
index-sort = true
wrapping-scroll = false
pin-workspaces = true
label-mode-padding = 1
label-mode-foreground = ${colors.white}
label-mode-background = ${colors.darkyellow}
@ -146,10 +156,10 @@ label-urgent-background = #bd2c40
label-urgent-padding = 1
[module/memory]
type = internal/memory
interval = 2
format-prefix-foreground = ${colors.gray}
label = RAM: %gb_used%/%gb_free%
interval = 1
label = RAM: %gb_used%/%gb_total%
type = internal/memory
[settings]
screenchange-reload = true
@ -157,11 +167,12 @@ screenchange-reload = true
[module/volume]
type = internal/alsa
format-volume = <label-volume> <bar-volume>
format-volume = [<label-volume> <bar-volume>]
label-volume = %{A3:$TERMINAL -e alsamixer >/dev/null 2>&1 &:}%percentage%%%{A}
label-volume-foreground = ${colors.foreground}
format-muted-foreground = ${colors.gray}
label-muted = muted
label-muted = Muted
bar-volume-width = 10
bar-volume-foreground-0 = ${colors.blue}
@ -186,18 +197,18 @@ interface = wlp2s0
interval = 3.0
format-connected = <label-connected>
label-connected = Wifi: %essid%
label-connected = %{A1:$TERMINAL -e nmtui >/dev/null 2>&1 &:}Wifi: %essid%%{A}
format-disconnected = <label-disconnected>
format-disconnected-underline = ${colors.red}
label-disconnected = No wifi
label-disconnected = %{A1:$TERMINAL -e nmtui >/dev/null 2>&1 &:}No wifi%{A}
label-disconnected-foreground = ${colors.gray}
[global/wm]
margin-top = 5
margin-bottom = 5
margin-top = 5
[module/xwindow]
type = internal/xwindow
label = %title:0:100:...%
format-foreground = ${colors.blue}
label = %title:0:100:...%
type = internal/xwindow

View File

@ -0,0 +1,53 @@
map gcf cd ~/.config
map tcf tab_new ~/.config
map mcf shell mv -v %s ~/.config
map Ycf shell cp -rv %s ~/.config
map gd cd ~/downloads
map td tab_new ~/downloads
map md shell mv -v %s ~/downloads
map Yd shell cp -rv %s ~/downloads
map ggh cd ~/github
map tgh tab_new ~/github
map mgh shell mv -v %s ~/github
map Ygh shell cp -rv %s ~/github
map gh cd ~/
map th tab_new ~/
map mh shell mv -v %s ~/
map Yh shell cp -rv %s ~/
map gm cd ~/music
map tm tab_new ~/music
map mm shell mv -v %s ~/music
map Ym shell cp -rv %s ~/music
map gmn cd /mnt
map tmn tab_new /mnt
map mmn shell mv -v %s /mnt
map Ymn shell cp -rv %s /mnt
map gpp cd ~/pictures
map tpp tab_new ~/pictures
map mpp shell mv -v %s ~/pictures
map Ypp shell cp -rv %s ~/pictures
map gsc cd ~/.local/bin
map tsc tab_new ~/.local/bin
map msc shell mv -v %s ~/.local/bin
map Ysc shell cp -rv %s ~/.local/bin
map gvv cd ~/videos
map tvv tab_new ~/videos
map mvv shell mv -v %s ~/videos
map Yvv shell cp -rv %s ~/videos
map bd shell $EDITOR ~/.config/directories
map bf shell $EDITOR ~/.config/files
map bw shell $EDITOR ~/.config/bookmarks
map cfa shell $EDITOR ~/.config/aliasrc
map cfb shell $EDITOR ~/.config/i3blocks/config
map cfd shell $EDITOR ~/.Xdefaults
map cfi shell $EDITOR ~/.config/i3/config
map cfk shell $EDITOR ~/.config/sxhkd/sxhkdrc
map cfm shell $EDITOR ~/.config/mutt/muttrc
map cfmb shell $EDITOR ~/.config/ncmpcpp/bindings
map cfmc shell $EDITOR ~/.config/ncmpcpp/config
map cfn shell $EDITOR ~/.config/newsboat/config
map cfp shell $EDITOR ~/.config/polybar/config
map cfs shell $EDITOR ~/.config/sxhkd/sxhkdrc
map cfu shell $EDITOR ~/.config/newsboat/urls
map cfv shell $EDITOR ~/.config/nvim/init.vim
map cfz shell $EDITOR $ZDOTDIR/.zshrc

View File

@ -1,66 +1,53 @@
# The Simple X Hotkey Daemon is the program used by LARBS to map most of the
# dwm-independent commands. This file is pretty readable, so I'll let you read
# i3 independent commands. This file is pretty readable, so I'll let you read
# it.
# The keys NOT bound here by sxhkd, but by dwm or i3 are:
# The keys NOT bound here by sxhkd, but by i3 are:
# The t thru p keys on the top row
# The f thru ; keys on the home row
# The b key on the bottom row (hides the bar in either case)
# Basic binds
super + Return
$TERMINAL
$TERMINAL tmuxdd
super + shift + Return
samedir
super + shift + q
kill -9 `xdotool getwindowfocus getwindowpid`
super + d
dmenu_run
super + r
$TERMINAL -e $FILE
super + e
$TERMINAL -e neomutt; pkill -RTMIN+12 $STATUSBAR
super + m
spotify #$TERMINAL -e spt
super + n
nautilus
super + c
code
super + shift + a
$TERMINAL -e alsamixer; pkill -RTMIN+10 $STATUSBAR
super + b
polybar-msg cmd toggle
super + c
code
super + shift + c
mpv --no-osc --no-input-default-bindings --input-conf=/dev/null --title='mpvfloat' /dev/video0
super + d
dmenu_run
super + m
spotify
super + n
nautilus
super + shift + q
kill -9 `xdotool getwindowfocus getwindowpid`
super + r
$TERMINAL -e $FILE
super + w
$TERMINAL -e sudo nmtui
super + shift + w
$BROWSER
# Et cetera...
super + grave
dmenuunicode
super + Scroll_Lock
killall screenkey || screenkey
ifinstalled screenkey && (killall screenkey || screenkey)
super + Insert
showclip
super + x
ifinstalled i3lock && i3lock --color 000000 --show-failed-attempts --radius 120 --ring-width 10.0
super + shift + x
prompt "Shutdown computer?" "sudo -A shutdown -h now"
super + shift + BackSpace
prompt "Reboot computer?" "sudo -A reboot"
super + shift + Escape
prompt 'Leave Xorg?' 'killall Xorg'
super + x
ifinstalled slock && ( slock & xset dpms force off ; mpc pause ; pauseallmpv )
XF86Launch1
xset dpms force off
XF86TouchpadToggle
(synclient | grep "TouchpadOff.*1" && synclient TouchpadOff=0) || synclient TouchpadOff=1
XF86Touchpad{Off,On}
synclient TouchpadOff={1,0}
XF86MonBrightnessDown
xbacklight -dec 15
XF86MonBrightnessUp
xbacklight -inc 15
# Recording
# Take screenshot
@ -74,24 +61,10 @@ super + Print
dmenurecord
super + Delete
dmenurecord kill
alt + shift + escape
pkill -USR1 -x sxhkd
# Pause audio
super + p
mpc toggle
super + shift + p
mpc pause; pauseallmpv
# Changes to next/previous tracks
super + {comma,period}
mpc {prev,next}
# Restart track
super + shift + less
mpc seek 0%
# Seek foward in song
super + {_,shift +} bracketright
mpc seek +{10,120}
# Seek backward in song
super + {_,shift +} bracketleft
mpc seek -{10,120}
# Volume
# Increase volume
super {_,shift +} + plus
amixer sset Master {5,15}%+
@ -101,41 +74,6 @@ super {_,shift +} + minus
super + shift + m
amixer sset Master toggle
# Audiokeys
XF86AudioMute
amixer sset Master toggle
XF86Audio{Raise,Lower}Volume
amixer sset Master 5%{+,-}
XF86Audio{Next,Prev}
mpc {next,prev}
XF86Audio{Pause,Play,Stop}
mpc {pause,play,stop}
XF86Audio{Rewind,Forward}
mpc seek {-,+}10
XF86AudioRecord
dmenurecord
XF86AudioMedia
$TERMINAL -e ncmpcpp
XF86PowerOff
prompt "Shutdown computer?" "sudo -A shutdown -h now"
XF86Calculator
$TERMINAL -e bc
XF86Sleep
prompt 'Hibernate computer?' 'sudo -A zzz'
XF86WWW
$BROWSER
XF86DOS
$TERMINAL
XF86ScreenSaver
mpc pause; pauseallmpv; i3lock -e -f -c 1d2021; xset dpms force off
XF86TaskPane
$TERMINAL -e htop
XF86Mail
$TERMINAL -e neomutt
XF86MyComputer
$TERMINAL -e $FILE /
# Function keys
# Show readme
super + F1
@ -147,16 +85,8 @@ super + F3
# Hibernate
super + F4
prompt 'Hibernate computer?' 'sudo -A zzz -Z'
super + F5 is unbound.
# Start torrent daemon/open interface
super + F6
torwrap
# toggle torrent daemon
super + F7
td-toggle
# sync email
super + F8
mailsync
super + F5
killall screenkey || screenkey
# Mount a USB drive or Android device
super + {F9,F10}
{dmenumount,dmenuumount}

View File

@ -1,5 +1,3 @@
# Luke's config for the Zoomer Shell
autoload -U colors && colors
PS1="%B%{$fg[red]%}[%{$fg[yellow]%}%n%{$fg[green]%}@%{$fg[blue]%}%M %{$fg[magenta]%}%~%{$fg[red]%}]%{$reset_color%}$%b "

View File

@ -4,7 +4,7 @@
bare = false
logallrefupdates = true
editor = vim
excludesfile = ~/.gitignore_global
excludesfile = ~/.gitignore
[user]
name = Vlad Doster
email = mvdoster@gmail.com
@ -14,8 +14,7 @@
diff = auto
branch = auto
[alias]
st = status
st = status
st = status -uno
co = checkout
ci = commit
br = branch

View File

@ -3,9 +3,12 @@
# Terminate already running bar instances
killall -q polybar
# Wait until the processes have been shut down
while pgrep -x polybar >/dev/null; do sleep 1; done
for i in $(polybar -m | awk -F: '{print $1}'); do MONITOR=$i polybar main & done
if type "xrandr"; then
for m in $(xrandr --query | grep " connected" | cut -d" " -f1); do
MONITOR=$m polybar --reload main &
done
else
polybar --reload main &
fi
echo "Bars launched..."

View File

@ -0,0 +1,13 @@
#!/usr/bin/env sh
if ! updates=$(yay -Qum 2> /dev/null | wc -l); then
updates=0
fi
if [ "$updates" -eq 1 ]; then
echo "$updates update"
elif [ "$updates" -gt 1 ]; then
echo "$updates updates"
else
echo ""
fi

View File

@ -0,0 +1,4 @@
#!/usr/bin/env sh
sensors -f | awk '/Core / { gsub(/+|°|C/,""); {sum+=$3; n++} print sum/n; }' | tail -1

View File

@ -5,5 +5,5 @@
# argument sets ~/.config/wall.png as the wallpaper, which is required on login
# if you don't want a blakc screen.
[ ! -z "$1" ] && cp "$1" ~/.config/wall.png && notify-send -i "$HOME/.config/wall.png" "Wallpaper changed."
xwallpaper --zoom ~/.config/wall.png
[ ! -z "$1" ] && cp "$1" ~/.config/assets/wallpaper.png && notify-send -i "$HOME/.config/assets/wallpaper.png" "Wallpaper changed."
xwallpaper --zoom ~/.config/assets/wallpaper.png

View File

@ -1,32 +0,0 @@
#!/usr/bin/env sh
# Give a battery name (e.g. BAT0) as an argument.
case $BLOCK_BUTTON in
3) pgrep -x dunst >/dev/null && notify-send "🔋 Battery module" "🔋: discharging
🛑: not charging
♻: stagnant charge
🔌: charging
⚡: charged
❗: battery very low!
- Text color reflects charge left" ;;
esac
capacity=$(cat /sys/class/power_supply/"$1"/capacity) || exit
status=$(cat /sys/class/power_supply/"$1"/status)
if [ "$capacity" -ge 75 ]; then
color="#00ff00"
elif [ "$capacity" -ge 50 ]; then
color="#ffffff"
elif [ "$capacity" -ge 25 ]; then
color="#ffff00"
else
color="#ff0000"
warn="❗"
fi
[ -z $warn ] && warn=" "
[ "$status" = "Charging" ] && color="#ffffff"
printf "<span color='%s'>%s%s%s</span>\n" "$color" "$(echo "$status" | sed -e "s/,//;s/Discharging/🔋/;s/Not charging/🛑/;s/Charging/🔌/;s/Unknown/♻️/;s/Full/⚡/;s/ 0*/ /g;s/ :/ /g")" "$warn" "$(echo "$capacity" | sed -e 's/$/%/')"

View File

@ -1,10 +0,0 @@
#!/usr/bin/env sh
date '+%Y %b %d (%a) %I:%M%p'
case $BLOCK_BUTTON in
1) pgrep -x dunst >/dev/null && notify-send "This Month" "$(cal --color=always | sed "s/..7m/<b><span color=\"red\">/;s/..27m/<\/span><\/b>/")" && notify-send "Appointments" "$(calcurse -D ~/.config/calcurse -d3)" ;;
2) $TERMINAL -e calcurse -D ~/.config/calcurse ;;
3) pgrep -x dunst >/dev/null && notify-send "📅 Time/date module" "\- Left click to show upcoming appointments for the next three days via \`calcurse -d3\` and show the month via \`cal\`
- Middle click opens calcurse if installed" ;;
esac

View File

@ -1,10 +0,0 @@
#!/usr/bin/env sh
case $BLOCK_BUTTON in
1) notify-send "🖥 CPU hogs" "$(ps axch -o cmd:15,%cpu --sort=-%cpu | head)" ;;
3) notify-send "🖥 CPU module " "\- Shows CPU temperature.
- Click to show intensive processes.
- % is of single core." ;;
esac
sensors | awk '/Core 0/ {print $3}'

View File

@ -1,18 +0,0 @@
#!/usr/bin/env sh
# Status bar module for disk space
# $1 should be drive mountpoint
# $2 is optional icon, otherwise mountpoint will displayed
[ -z "$1" ] && exit
icon="$2"
[ -z "$2" ] && icon="$1"
case $BLOCK_BUTTON in
1) pgrep -x dunst >/dev/null && notify-send "💽 Disk space" "$(df -h --output=target,used,size)" ;;
3) pgrep -x dunst >/dev/null && notify-send "💽 Disk module" "\- Shows used hard drive space.
- Click to show all disk info." ;;
esac
printf "%s: %s\n" "$icon" "$(df -h "$1" | awk ' /[0-9]/ {print $3 "/" $2}')"

View File

@ -1,17 +0,0 @@
#!/usr/bin/env sh
case $BLOCK_BUTTON in
1) $TERMINAL -e nmtui ;;
3) pgrep -x dunst >/dev/null && notify-send "🌐 Internet module" "\- Click to connect
📡: no wifi connection
📶: wifi connection with quality
❎: no ethernet
🌐: ethernet working
" ;;
esac
[ "$(cat /sys/class/net/w*/operstate)" = 'down' ] && wifiicon="📡"
[ ! -n "${wifiicon+var}" ] && wifiicon=$(grep "^\s*w" /proc/net/wireless | awk '{ print "📶", int($3 * 100 / 70) "%" }')
printf "%s %s\n" "$wifiicon" "$(cat /sys/class/net/e*/operstate | sed "s/down/❎/;s/up/🌐/")"

View File

@ -1,9 +0,0 @@
#!/usr/bin/env sh
# Gets your public ip address checks which country you are in and
# displays that information in the statusbar
#
# https://www.maketecheasier.com/ip-address-geolocation-lookups-linux/
ifinstalled "geoiplookup" || exit
addr="$(curl ifconfig.me 2>/dev/null)" || exit
grep "flag: " ~/.config/emoji | grep "$(geoiplookup $addr | sed 's/.*, //')" | sed "s/flag: //;s/;.*//"

View File

@ -1,16 +0,0 @@
#!/usr/bin/env sh
# i3blocks mail module.
# Displays number of unread mail and an loading icon if updating.
# When clicked, brings up `neomutt`.
case $BLOCK_BUTTON in
1) "$TERMINAL" -e neomutt ;;
2) setsid mailsync >/dev/null & ;;
3) pgrep -x dunst >/dev/null && notify-send "📬 Mail module" "\- Shows unread mail
- Shows 🔃 if syncing mail
- Left click opens neomutt
- Middle click syncs mail" ;;
esac
echo "$(du -a ~/.local/share/mail/*/INBOX/new/* 2>/dev/null | sed -n '$=')$(cat /tmp/imapsyncicon_$USER 2>/dev/null)"

View File

@ -1,9 +0,0 @@
#!/usr/bin/env sh
case $BLOCK_BUTTON in
1) notify-send "🧠 Memory hogs" "$(ps axch -o cmd:15,%mem --sort=-%mem | head)" ;;
3) notify-send "🧠 Memory module" "\- Shows Memory Used/Total.
- Click to show memory hogs." ;;
esac
free -h | awk '/^Mem:/ {print $3 "/" $2}'

View File

@ -1,18 +0,0 @@
#!/usr/bin/env sh
filter() {
sed "/^volume:/d" | tac | sed -e "s/\\&/&amp;/g;s/\\[paused\\].*/<span color=\"gray\" font_style=\"italic\">/g;s/\\[playing\\].*/<span>/g" | tr -d '\n' | sed -e "s/$/<\\/span>\n/g"
}
case $BLOCK_BUTTON in
1) mpc status | filter && setsid "$TERMINAL" -e ncmpcpp & ;; # right click, pause/unpause
2) mpc toggle | filter ;; # right click, pause/unpause
3) mpc status | filter && pgrep -x dunst >/dev/null && notify-send "🎵 Music module" "\- Shows mpd song playing.
- Italic when paused.
- Left click opens ncmpcpp.
- Middle click pauses.
- Scroll changes track.";; # right click, pause/unpause
4) mpc prev | filter ;; # scroll up, previous
5) mpc next | filter ;; # scroll down, next
*) mpc status | filter ;;
esac; exit

View File

@ -1,17 +0,0 @@
#!/usr/bin/env sh
# i3blocks newsboat module.
# Displays number of unread news items and an loading icon if updating.
# When clicked, brings up `newsboat`.
case $BLOCK_BUTTON in
1) setsid "$TERMINAL" -e newsboat ;;
2) setsid newsup >/dev/null & exit ;;
3) pgrep -x dunst >/dev/null && notify-send "📰 News module" "\- Shows unread news items
- Shows 🔃 if updating with \`newsup\`
- Left click opens newsboat
- Middle click syncs RSS feeds
<b>Note:</b> Only one instance of newsboat (including updates) may be running at a time." ;;
esac
cat /tmp/newsupdate 2>/dev/null || echo "$(newsboat -x print-unread | awk '{ print $1}' | sed s/^0$//g)$(cat ~/.config/newsboat/.update 2>/dev/null)"

View File

@ -1,18 +0,0 @@
#!/usr/bin/env sh
# i3blocks module for pacman upgrades.
# Displays number of upgradeable packages.
# For this to work, have a `pacman -Sy` command run in the background as a
# cronjob every so often as root. This script will then read those packages.
# When clicked, it will run an upgrade via pacman.
case $BLOCK_BUTTON in
1) $TERMINAL -e popupgrade ;;
2) notify-send "$(/usr/bin/pacman -Qu)" ;;
3) pgrep -x dunst >/dev/null && notify-send "Upgrade module" "📦: number of upgradable packages
- Left click to upgrade packages
- Middle click to show upgradable packages" ;;
esac
pacman -Qu | grep -v "\[ignored\]" | wc -l | sed -e "s/^0$//g"

View File

@ -1,9 +0,0 @@
#!/usr/bin/env sh
printf "Beginning upgrade.\\n"
yay -Syu
pkill -RTMIN+8 "${STATUSBAR:?}"
printf "\\nUpgrade complete.\\nPress <Enter> to exit window.\\n\\n"
read -r

View File

@ -1,28 +0,0 @@
#!/usr/bin/env sh
transmission-remote -l | grep % |
sed " # This first sed command is to ensure a desirable order with sort
s/.*Stopped.*/A/g;
s/.*Seeding.*/Z/g;
s/.*100%.*/N/g;
s/.*Idle.*/B/g;
s/.*Uploading.*/L/g;
s/.*%.*/M/g" |
sort -h | uniq -c | sed " # Now we replace the standin letters with icons.
s/A/🛑/g;
s/B/⌛️/g;
s/L/🔼/g;
s/M/🔽/g;
s/N/✅/g;
s/Z/🌱/g" | awk '{print $2, $1}' | sed -e "s/ $//g"
case $BLOCK_BUTTON in
1) $TERMINAL -e transmission-remote-cli ;;
3) pgrep -x dunst >/dev/null && notify-send "Torrent module" "🛑: paused
⏳: idle (seeds needed)
🔼: uploading (unfinished)
🔽: downloading
✅: done
🌱: done and seeding" ;;
esac

View File

@ -1,27 +0,0 @@
#!/usr/bin/env sh
case $BLOCK_BUTTON in
1) setsid "$TERMINAL" -e alsamixer & ;;
2) amixer sset Master toggle ;;
4) amixer sset Master 5%+ >/dev/null 2>/dev/null ;;
5) amixer sset Master 5%- >/dev/null 2>/dev/null ;;
3) pgrep -x dunst >/dev/null && notify-send "📢 Volume module" "\- Shows volume 🔊, 🔇 if muted.
- Middle click to mute.
- Scroll to change."
esac
volstat="$(amixer get Master)"
echo "$volstat" | grep "\[off\]" >/dev/null && printf "🔇\\n" && exit
vol=$(echo "$volstat" | grep -o "\[[0-9]\+%\]" | sed 's/[^0-9]*//g')
if [ "$vol" -gt "70" ]; then
icon="🔊"
elif [ "$vol" -lt "30" ]; then
icon="🔈"
else
icon="🔉"
fi
printf "%s %s%%\\n" "$icon" "$vol"

View File

@ -1,23 +0,0 @@
#!/usr/bin/env sh
location="$1"; [ -z "$location" ] || { location="$location+" && rm -f "$HOME/.local/share/weatherreport" ;}
getforecast() { ping -q -c 1 1.1.1.1 >/dev/null || exit 1
curl -s "wttr.in/$location" > "$HOME/.local/share/weatherreport" || exit 1 ;}
showweather() { printf "%s" "$(sed '16q;d' "$HOME/.local/share/weatherreport" | grep -wo "[0-9]*%" | sort -n | sed -e '$!d' | sed -e "s/^/☔ /g" | tr -d '\n')"
sed '13q;d' "$HOME/.local/share/weatherreport" | grep -o "m\\(-\\)*[0-9]\\+" | sort -n -t 'm' -k 2n | sed -e 1b -e '$!d' | tr '\n|m' ' ' | awk '{print " ❄️",$1 "°","🌞",$2 "°"}' ;}
case $BLOCK_BUTTON in
1) $TERMINAL -e less -S "$HOME/.local/share/weatherreport" ;;
2) getforecast && showweather ;;
3) pgrep -x dunst >/dev/null && notify-send "🌈 Weather module" "\- Left click for full forecast.
- Middle click to update forecast.
☔: Chance of rain/snow
❄: Daily low
🌞: Daily high" ;;
esac
if [ "$(stat -c %y "$HOME/.local/share/weatherreport" >/dev/null 2>&1 | awk '{print $1}')" != "$(date '+%Y-%m-%d')" ]
then getforecast && showweather
else showweather
fi

View File

@ -2,7 +2,8 @@
# This file runs when a DM logs you into a graphical session.
# If you use startx/xinit like a Chad, this file will also be sourced.
autorandr --change
# Don't be a bash chad XD
autorandr -c
remaps & # run the remaps script, switching caps/esc and more; check it for more info
setbg & # set the background with the `setbg` script
xcompmgr & # xcompmgr for transparency
@ -11,5 +12,3 @@ sxhkd -m 1 & # Bind keys with sxhkd
xset r rate 300 50 & # Speed xrate up
unclutter & # Remove mouse when idle
mpd-module-update & # Check for when to update the mpd module
launch_polybar & # script for updating the status bar

View File

@ -1,14 +1,13 @@
## Config based upon (Luke Smith <https://lukesmith.xyz>'s dotfiles)
## Config based upon (Luke Smith <https://lukesmith.xyz>'s dotfiles), but heavily modified to fit my needs.
- Very useful scripts are in `~/.local/bin/`
- Settings for:
- vim/nvim (text editor)
- neovim/vim (text editor)
- zsh (shell)
- i3wm/i3-gaps (window manager)
- i3blocks (status bar)
- i3wm/i3-gaps/i3-lock (window manager)
- polybar (status bar)
- sxhkd (general key binder)
- ranger (file manager)
- mpd/ncmpcpp (music)
- sxiv (image/gif viewer)
- mpv (video player)
- calcurse (calendar program)
@ -16,7 +15,11 @@
- other stuff like xdg default programs, inputrc and more, etc.
- I try to minimize what's directly in `~` so:
- All configs that can be in `~/.config/` are.
- Some environmental variables have been set in `~/.zprofile` to move configs into `~/.config/`
- Bookmarks in text files used by various scripts (like `~/.local/bin/shortcuts`)
- Some environmental variables have been set in `~/.zprofile` to move configs into `~/.config/`
- Aliases in `~/.config/aliasrc`
- File bookmarks in `~/.config/files`
- Directory bookmarks in `~/.config/directories`
### Things to add
- [x] show/hide polybar using IPC (polybar-msg) fixed by `polybar-msg cmd toggle`
- [ ] Launch pycharm without Jetbrains toolbox (command will look like ``` ./`find .local -name pycharm.sh` ```