diff --git a/user/.bash_profile b/user/.bash_profile index 15d129992..408cc4abc 100644 --- a/user/.bash_profile +++ b/user/.bash_profile @@ -1,4 +1,4 @@ -#!/bin/bash + #!/bin/bash ## ____ __ ## / __ \_________ _/ /_____ ## / / / / ___/ __ `/ //_/ _ \ @@ -26,6 +26,7 @@ export GTK2_RC_FILES="$HOME/.config/gtk-2.0/gtkrc-2.0" export WGETRC="$HOME/.config/wget/wgetrc" export INPUTRC="$HOME/.config/inputrc" export GNUPGHOME="$HOME/.local/share/gnupg" +export LESSHISTFILE="-" # bashrc source "$HOME"/.bashrc diff --git a/user/.bashrc b/user/.bashrc index 0653638f9..62f9164b9 100644 --- a/user/.bashrc +++ b/user/.bashrc @@ -19,8 +19,8 @@ export MANPAGER="sh -c 'col -bx | bat -l man -p'" # if not running interactively, don't do anything [[ $- != *i* ]] && return -# use lunarvim for vim if present. -[ -x "$(command -v ~/.local/bin/lvim)" ] && alias vim="~/.local/bin/lvim" +# use emasc for vim if present. +[ -x "$(command -v emacs)" ] && alias vim="emacsclient -t -a ''" ### SET VI MODE ### # Comment this line out to enable default emacs-like bindings diff --git a/user/.config/Kvantum/Gruvbox-Dark-Brown/Gruvbox-Dark-Brown.kvconfig b/user/.config/Kvantum/Gruvbox-Dark-Brown/Gruvbox-Dark-Brown.kvconfig new file mode 100644 index 000000000..87cb82f5e --- /dev/null +++ b/user/.config/Kvantum/Gruvbox-Dark-Brown/Gruvbox-Dark-Brown.kvconfig @@ -0,0 +1,527 @@ +[%General] +author=sachnr, based on KvAdapta +comment=Gruvbox Dark theme with brown highlights +x11drag=menubar_and_primary_toolbar +alt_mnemonic=true +left_tabs=true +attach_active_tab=false +mirror_doc_tabs=true +group_toolbar_buttons=false +toolbar_item_spacing=0 +toolbar_interior_spacing=2 +spread_progressbar=true +composite=true +menu_shadow_depth=5 +tooltip_shadow_depth=2 +splitter_width=4 +scroll_width=9 +scroll_arrows=false +scroll_min_extent=60 +slider_width=2 +slider_handle_width=22 +slider_handle_length=22 +center_toolbar_handle=true +check_size=14 +textless_progressbar=false +progressbar_thickness=2 +menubar_mouse_tracking=true +toolbutton_style=1 +double_click=false +translucent_windows=false +blurring=false +popup_blurring=false +vertical_spin_indicators=false +spin_button_width=24 +fill_rubberband=false +merge_menubar_with_toolbar=true +small_icon_size=16 +large_icon_size=32 +button_icon_size=16 +toolbar_icon_size=22 +combo_as_lineedit=true +animate_states=true +button_contents_shift=false +combo_menu=true +hide_combo_checkboxes=true +combo_focus_rect=false +groupbox_top_label=true +inline_spin_indicators=true +joined_inactive_tabs=true +layout_spacing=6 +layout_margin=9 +scrollbar_in_view=true +transient_scrollbar=true +transient_groove=false +submenu_overlap=0 +tooltip_delay=-1 +tree_branch_line=true +no_window_pattern=false +opaque=kaffeine,kmplayer,subtitlecomposer,kdenlive,vlc,smplayer,smplayer2,avidemux,avidemux2_qt4,avidemux3_qt4,avidemux3_qt5,kamoso,QtCreator,VirtualBox,trojita,dragon,digikam +reduce_window_opacity=0 +respect_DE=true +scrollable_menu=false +submenu_delay=250 + +[GeneralColors] +window.color=#232323 +base.color=#282828 +alt.base.color=#282828 +button.color=#2e2e2e +light.color=#504945 +mid.light.color=#3f3f3f +dark.color=#1d2021 +mid.color=##202324 +highlight.color=#665c54cc +inactive.highlight.color=#665c54bb +text.color=#ebdbb2 +window.text.color=#ebdbb2 +button.text.color=#ebdbb2 +disabled.text.color=#a89984 +tooltip.text.color=#fbf1c7 +highlight.text.color=#3c3836 +link.color=#b8bb26 +link.visited.color=#98971a +progress.indicator.text.color=#fbf1c7 + +[Hacks] +transparent_ktitle_label=true +transparent_dolphin_view=false +transparent_pcmanfm_sidepane=true +blur_translucent=false +transparent_menutitle=true +respect_darkness=false +kcapacitybar_as_progressbar=true +force_size_grip=true +iconless_pushbutton=true +iconless_menu=false +disabled_icon_opacity=70 +lxqtmainmenu_iconsize=22 +normal_default_pushbutton=true +single_top_toolbar=true +tint_on_mouseover=0 +transparent_pcmanfm_view=false +no_selection_tint=true +transparent_arrow_button=true + +[PanelButtonCommand] +frame=true +frame.element=button +frame.top=4 +frame.bottom=4 +frame.left=4 +frame.right=4 +interior=true +interior.element=button +indicator.size=8 +text.normal.color=#ebdbb2 +text.focus.color=#3c3836 +text.press.color=#ebdbb2 +text.toggle.color=#fbf1c7 +text.shadow=0 +text.margin=1 +text.iconspacing=4 +indicator.element=arrow +text.margin.top=2 +text.margin.bottom=4 +text.margin.left=2 +text.margin.right=2 +min_width=+0.3font +min_height=+0.3font +frame.expansion=14 + +[PanelButtonTool] +inherits=PanelButtonCommand +text.normal.color=#ebdbb2 +text.bold=false +indicator.element=arrow +indicator.size=0 + +[ToolbarButton] +frame.element=tbutton +interior.element=tbutton +indicator.element=tarrow +text.normal.color=#ebdbb2 +text.focus.color=#fbf1c7 +text.press.color=#fbf1c7 +text.toggle.color=#fbf1c7 +text.bold=false + +[Dock] +inherits=PanelButtonCommand +interior.element=dock +frame.element=dock +frame.top=1 +frame.bottom=1 +frame.left=1 +frame.right=1 +text.normal.color=#ebdbb2 + +[DockTitle] +inherits=PanelButtonCommand +frame=false +interior=false +text.normal.color=#ebdbb2 +text.focus.color=#fbf1c7 +text.bold=false + +[IndicatorSpinBox] +inherits=PanelButtonCommand +frame=true +interior=true +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 +indicator.element=spin +indicator.size=8 +text.normal.color=#ebdbb2 +text.margin.top=2 +text.margin.bottom=2 +text.margin.left=2 +text.margin.right=2 + +[RadioButton] +inherits=PanelButtonCommand +frame=false +interior.element=radio +text.normal.color=#ebdbb2 +text.focus.color=#fbf1c7 +min_width=+0.3font +min_height=+0.3font + +[CheckBox] +inherits=PanelButtonCommand +frame=false +interior.element=checkbox +text.normal.color=#ebdbb2 +text.focus.color=#fbf1c7 +min_width=+0.3font +min_height=+0.3font + +[Focus] +inherits=PanelButtonCommand +frame=true +frame.element=focus +frame.top=1 +frame.bottom=1 +frame.left=1 +frame.right=1 +frame.patternsize=20 + +[GenericFrame] +inherits=PanelButtonCommand +frame=true +interior=false +frame.element=common +interior.element=common +frame.top=3 +frame.bottom=3 +frame.left=3 +frame.right=3 + +[LineEdit] +inherits=PanelButtonCommand +frame.element=lineedit +interior.element=lineedit +interior=false +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 +text.margin.top=2 +text.margin.bottom=2 +text.margin.left=2 +text.margin.right=2 +frame.expansion=0 + +[DropDownButton] +inherits=PanelButtonCommand +indicator.element=arrow-down + +[IndicatorArrow] +indicator.element=arrow +indicator.size=8 + +[ToolboxTab] +inherits=PanelButtonCommand +text.normal.color=#ebdbb2 +text.press.color=#ebdbb2 +text.focus.color=#fbf1c7 + +[Tab] +inherits=PanelButtonCommand +interior.element=tab +text.margin.left=8 +text.margin.right=8 +text.margin.top=2 +text.margin.bottom=2 +frame.element=tab +indicator.element=tab +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 +text.normal.color=#ebdbb2 +text.focus.color=#ebdbb2 +text.toggle.color=#ebdbb2 +frame.expansion=0 +text.bold=false + +[TabFrame] +inherits=PanelButtonCommand +frame.element=tabframe +interior.element=tabframe +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 + +[TreeExpander] +inherits=PanelButtonCommand +indicator.size=8 +indicator.element=tree + +[HeaderSection] +inherits=PanelButtonCommand +interior.element=header +frame.element=header +frame.top=1 +frame.bottom=1 +frame.left=1 +frame.right=1 +text.normal.color=#ebdbb2 +text.focus.color=#fbf1c7 +text.press.color=#fbf1c7 +text.toggle.color=#fbf1c7 +frame.expansion=0 + +[SizeGrip] +indicator.element=resize-grip + +[Toolbar] +inherits=PanelButtonCommand +indicator.element=toolbar +indicator.size=5 +text.margin=0 +interior.element=menubar +frame.element=menubar +text.normal.color=#ebdbb2 +text.focus.color=#fbf1c7 +frame.left=0 +frame.right=0 +frame.top=0 +frame.bottom=4 +frame.expansion=0 + +[Slider] +inherits=PanelButtonCommand +frame.element=slider +interior.element=slider +frame.top=3 +frame.bottom=3 +frame.left=3 +frame.right=3 + +[SliderCursor] +inherits=PanelButtonCommand +frame=false +interior.element=slidercursor + +[Progressbar] +inherits=PanelButtonCommand +frame.element=progress +interior.element=progress +text.margin=0 +text.normal.color=#ebdbb2 +text.focus.color=#ebdbb2 +text.press.color=#ebdbb2 +text.toggle.color=#cfd8dc +text.bold=false +frame.expansion=8 + +[ProgressbarContents] +inherits=PanelButtonCommand +frame=true +frame.element=progress-pattern +interior.element=progress-pattern + +[ItemView] +inherits=PanelButtonCommand +text.margin=0 +frame.element=itemview +interior.element=itemview +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 +text.margin.top=2 +text.margin.bottom=2 +text.margin.left=4 +text.margin.right=4 +text.normal.color=#ebdbb2 +text.focus.color=#fbf1c7 +text.press.color=#fbf1c7 +text.toggle.color=#fbf1c7 +min_width=+0.3font +min_height=+0.3font +frame.expansion=0 + +[Splitter] +indicator.size=48 + +[Scrollbar] +inherits=PanelButtonCommand +indicator.element=arrow +indicator.size=8 + +[ScrollbarSlider] +inherits=PanelButtonCommand +interior.element=scrollbarslider +interior=true +frame=false +indicator.element=grip +indicator.size=13 +frame.expansion=48 + +[ScrollbarGroove] +inherits=PanelButtonCommand +interior=false +frame=false + +[MenuItem] +inherits=PanelButtonCommand +frame=true +frame.element=menuitem +interior.element=menuitem +indicator.element=menuitem +text.normal.color=#ebdbb2 +text.focus.color=#fbf1c7 +text.margin.top=1 +text.margin.bottom=1 +text.margin.left=4 +text.margin.right=4 +frame.top=0 +frame.bottom=0 +frame.left=0 +frame.right=0 +text.bold=false +min_width=+0.3font +min_height=+0.3font +frame.expansion=0 + +[MenuBar] +inherits=PanelButtonCommand +frame.element=menubar +interior.element=menubar +frame.bottom=0 +text.normal.color=#ebdbb2 +frame.expansion=0 +text.bold=false + +[MenuBarItem] +inherits=PanelButtonCommand +interior=true +interior.element=menubaritem +frame.element=menubaritem +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 +text.margin.left=4 +text.margin.right=4 +text.margin.top=0 +text.margin.bottom=0 +text.normal.color=#ebdbb2 +text.focus.color=#fbf1c7 +text.bold=false +min_width=+0.3font +min_height=+0.3font +frame.expansion=0 + +[TitleBar] +inherits=PanelButtonCommand +frame=false +text.margin.top=2 +text.margin.bottom=2 +text.margin.left=2 +text.margin.right=2 +interior.element=titlebar +indicator.size=16 +indicator.element=mdi +text.normal.color=#d5c4a1 +text.focus.color=#ebdbb2 +text.bold=false +text.italic=true +frame.expansion=0 + +[ComboBox] +inherits=PanelButtonCommand +frame.element=combo +interior.element=combo +interior=false +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 +text.margin.top=2 +text.margin.bottom=2 +text.margin.left=2 +text.margin.right=2 +text.focus.color=#fbf1c7 +text.press.color=#ebdbb2 +text.toggle.color=#fbf1c7 +frame.expansion=0 + +[Menu] +inherits=PanelButtonCommand +frame.top=1 +frame.bottom=1 +frame.left=1 +frame.right=1 +frame.element=menu +interior.element=menu +text.normal.color=#ebdbb2 +text.shadow=false +frame.expansion=0 + +[GroupBox] +inherits=GenericFrame +frame=false +text.shadow=0 +text.margin=0 +text.normal.color=#ebdbb2 +text.focus.color=#fbf1c7 +text.bold=false +frame.expansion=0 + +[TabBarFrame] +inherits=GenericFrame +frame=true +frame.element=tabBarFrame +interior=false +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 + +[ToolTip] +inherits=GenericFrame +frame.top=3 +frame.bottom=3 +frame.left=3 +frame.right=3 +interior=true +text.shadow=0 +text.margin=0 +interior.element=tooltip +frame.element=tooltip +frame.expansion=0 + +[StatusBar] +inherits=GenericFrame +frame=false +interior=false + +[Window] +interior=true +interior.element=window diff --git a/user/.config/Kvantum/Gruvbox-Dark-Brown/Gruvbox-Dark-Brown.svg b/user/.config/Kvantum/Gruvbox-Dark-Brown/Gruvbox-Dark-Brown.svg new file mode 100644 index 000000000..3c29a5f27 --- /dev/null +++ b/user/.config/Kvantum/Gruvbox-Dark-Brown/Gruvbox-Dark-Brown.svg @@ -0,0 +1,5597 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/user/.config/Kvantum/kvantum.kvconfig b/user/.config/Kvantum/kvantum.kvconfig new file mode 100644 index 000000000..62defb799 --- /dev/null +++ b/user/.config/Kvantum/kvantum.kvconfig @@ -0,0 +1,2 @@ +[General] +theme=Gruvbox-Dark-Brown diff --git a/user/.config/suckless/dmenu/config.h b/user/.config/suckless/dmenu/config.h index 25a6a04d1..ddea5d661 100644 --- a/user/.config/suckless/dmenu/config.h +++ b/user/.config/suckless/dmenu/config.h @@ -4,9 +4,7 @@ static int topbar = 1; /* -b option; if 0, dmenu appears at bottom */ static int fuzzy = 1; /* -F option; if 0, dmenu doesn't use fuzzy matching */ /* -fn option overrides fonts[0]; default X11 font or font set */ -static const char *fonts[] = { - "mononoki Nerd Font Mono:size=12" -}; +static const char *fonts[] = {"Symbols Nerd Font Mono:size=12", "mononoki Nerd Font:size=12"}; static const char *prompt = NULL; /* -p option; prompt to the left of input field */ static const char *colors[SchemeLast][2] = { /* fg bg */ diff --git a/user/.config/suckless/dwm/config.h b/user/.config/suckless/dwm/config.h index 16543a1ed..63a185b5f 100644 --- a/user/.config/suckless/dwm/config.h +++ b/user/.config/suckless/dwm/config.h @@ -60,7 +60,7 @@ static Sp scratchpads[] = { /* tagging */ static const char *tags[] = { - "", // EDITOR + "", // EDITOR "󰙨", // TESTING "󰖟", // WEB BROWSER "󰭹", // CHAT @@ -194,7 +194,7 @@ static const Key keys[] = { // web browser { MODKEY, XK_w, spawn, SHCMD("firefox")}, // chat - { MODKEY, XK_s, spawn, SHCMD("org.signal.Signal")}, + { MODKEY, XK_s, spawn, SHCMD("signal-desktop")}, /* keyboard layout */ // set keyboard layout to es diff --git a/user/.config/vifm/scripts/vifmimg b/user/.config/vifm/scripts/vifmimg index e5d8763a0..5888bdd07 100755 --- a/user/.config/vifm/scripts/vifmimg +++ b/user/.config/vifm/scripts/vifmimg @@ -1,53 +1,56 @@ -#!/usr/bin/env bash -readonly ID_PREVIEW="preview" +#!/bin/sh -#AUTO_REMOVE="yes" -# By enabling this option the script will remove the preview file after it is drawn -# and by doing so the preview will always be up-to-date with the file. -# This however, requires more CPU and therefore affects the overall performance. +PCACHE="$HOME/.cache/vifm/thumbnail.$(stat --printf '%n\0%i\0%F\0%s\0%W\0%Y' -- "$(readlink -f "$PWD/$6")" | sha256sum)" +export PCACHE="${PCACHE%% *}" -if [ -e "$FIFO_UEBERZUG" ]; then - if [[ "$1" == "draw" ]]; then - declare -p -A cmd=([action]=add [identifier]="$ID_PREVIEW" - [x]="$2" [y]="$3" [width]="$4" [height]="$5" \ - [path]="${PWD}/$6") \ - > "$FIFO_UEBERZUG" +pclear() { + printf '{"action": "remove", "identifier": "vifm-preview"}\n' > "$FIFO_UEBERZUG" +} - elif [[ "$1" == "videopreview" ]]; then - echo -e "Loading preview..\nFile: $6" - [[ ! -d "/tmp${PWD}/$6/" ]] && mkdir -p "/tmp${PWD}/$6/" - [[ ! -f "/tmp${PWD}/$6.png" ]] && ffmpegthumbnailer -i "${PWD}/$6" -o "/tmp${PWD}/$6.png" -s 0 -q 10 - declare -p -A cmd=([action]=add [identifier]="$ID_PREVIEW" - [x]="$2" [y]="$3" [width]="$4" [height]="$5" \ - [path]="/tmp${PWD}/$6.png") \ - > "$FIFO_UEBERZUG" +image() { + printf '{"action": "add", "identifier": "vifm-preview", "x": "%s", "y": "%s", "width": "%s", "height": "%s", "scaler": "contain", "path": "%s"}\n' "$2" "$3" "$4" "$5" "$6" > "$FIFO_UEBERZUG" +} - elif [[ "$1" == "gifpreview" ]]; then - echo -e "Loading preview..\nFile: $6" - [[ ! -d "/tmp${PWD}/$6/" ]] && mkdir -p "/tmp${PWD}/$6/" && convert -coalesce "${PWD}/$6" "/tmp${PWD}/$6/$6.png" - for frame in $(ls -1 /tmp${PWD}/$6/$6*.png | sort -V); do - declare -p -A cmd=([action]=add [identifier]="$ID_PREVIEW" - [x]="$2" [y]="$3" [width]="$4" [height]="$5" \ - [path]="$frame") \ - > "$FIFO_UEBERZUG" - # Sleep between frames to make the animation smooth. - sleep .07 - done - - elif [[ "$1" == "pdfpreview" ]]; then - echo -e "Loading preview..\nFile: $6" - [[ ! -d "/tmp${PWD}/$6/" ]] && mkdir -p "/tmp${PWD}/$6/" - [[ ! -f "/tmp${PWD}/$6.png" ]] && pdftoppm -png -singlefile "$6" "/tmp${PWD}/$6" - declare -p -A cmd=([action]=add [identifier]="$ID_PREVIEW" - [x]="$2" [y]="$3" [width]="$4" [height]="$5" \ - [path]="/tmp${PWD}/$6.png") \ - > "$FIFO_UEBERZUG" - - elif [[ "$1" == "clear" ]]; then - declare -p -A cmd=([action]=remove [identifier]="$ID_PREVIEW") \ - > "$FIFO_UEBERZUG" - [[ ! -z $AUTO_REMOVE ]] && [[ -f "/tmp${PWD}/$6.png" ]] && rm -f "/tmp${PWD}/$6.png" - [[ ! -z $AUTO_REMOVE ]] && [[ -d "/tmp${PWD}/$6/" ]] && rm -rf "/tmp${PWD}/$6/" - - fi -fi +main() { + case "$1" in + "clear") + pclear "$@" + ;; + "draw") + FILE="$PWD/$6" + image "$1" "$2" "$3" "$4" "$5" "$FILE" + ;; + "video") + [ ! -f "$PCACHE" ] && \ + ffmpegthumbnailer -i "$6" -o "${PCACHE}.jpg" -s 0 -q 5 + image "$1" "$2" "$3" "$4" "$5" "${PCACHE}.jpg" + ;; + "epub") + [ ! -f "$PCACHE" ] && \ + epub-thumbnailer "$6" "$PCACHE" 1024 + image "$1" "$2" "$3" "$4" "$5" "$PCACHE" + ;; + "pdf") + [ ! -f "${PCACHE}.jpg" ] && \ + pdftoppm -jpeg -f 1 -singlefile "$6" "$PCACHE" + image "$1" "$2" "$3" "$4" "$5" "${PCACHE}.jpg" + ;; + "djvu") + [ ! -f "${PCACHE}.jpg" ] && \ + ddjvu -format=tiff -quality=90 -page=1 "$6" "$PCACHE.jpg" + image "$1" "$2" "$3" "$4" "$5" "${PCACHE}.jpg" + ;; + "audio") + [ ! -f "${PCACHE}.jpg" ] && \ + ffmpeg -hide_banner -i "$6" "${PCACHE}.jpg" -y >/dev/null + image "$1" "$2" "$3" "$4" "$5" "${PCACHE}.jpg" + ;; + "font") + [ ! -f "${PCACHE}.jpg" ] && \ + fontpreview -i "$6" -o "${PCACHE}.jpg" + image "$1" "$2" "$3" "$4" "$5" "${PCACHE}.jpg" + ;; + *) + esac +} +main "$@" diff --git a/user/.config/vifm/scripts/vifmrun b/user/.config/vifm/scripts/vifmrun index 9eda32a99..ce9af1770 100755 --- a/user/.config/vifm/scripts/vifmrun +++ b/user/.config/vifm/scripts/vifmrun @@ -1,15 +1,21 @@ -#!/usr/bin/env bash -export FIFO_UEBERZUG="/tmp/vifm-ueberzug-${PPID}" +#!/bin/sh -function cleanup { - rm "$FIFO_UEBERZUG" 2>/dev/null - pkill -P $$ 2>/dev/null -} - -rm "$FIFO_UEBERZUG" 2>/dev/null -mkfifo "$FIFO_UEBERZUG" -trap cleanup EXIT -tail --follow "$FIFO_UEBERZUG" | ueberzug layer --silent --parser bash & - -vifm -cleanup +if [ -z "$(command -v vifm)" ]; then + printf "vifm isn't installed on your system!\n" + exit 1 +elif [ -z "$(command -v ueberzug)" ]; then + exec vifm "$@" +else + cleanup() { + exec 3>&- + rm "$FIFO_UEBERZUG" + } + [ ! -d "$HOME/.cache/vifm" ] && mkdir -p "$HOME/.cache/vifm" + export FIFO_UEBERZUG="$HOME/.cache/vifm/ueberzug-${$}" + mkfifo "$FIFO_UEBERZUG" + ueberzug layer -s <"$FIFO_UEBERZUG" -p json & + exec 3>"$FIFO_UEBERZUG" + trap cleanup EXIT + vifm "$@" 3>&- + vifmimg clear +fi diff --git a/user/.config/vifm/vifmrc b/user/.config/vifm/vifmrc index c950c203e..2a51a5dc3 100644 --- a/user/.config/vifm/vifmrc +++ b/user/.config/vifm/vifmrc @@ -175,10 +175,9 @@ command! reload :write | restart " Pdf filextype *.pdf zathura %c %i &, apvlv %c, xpdf %c fileviewer *.pdf - \ vifmimg pdfpreview %px %py %pw %ph %c + \ vifmimg pdf %px %py %pw %ph %c \ %pc \ vifmimg clear - " \ pdftotext -nopgbrk %c - " PostScript filextype *.ps,*.eps,*.ps.gz @@ -193,18 +192,30 @@ filextype *.djvu \ zathura %f, \ {View in apvlv} \ apvlv %f, +fileviewer *.djvu + \ vifmimg djvu %px %py %pw %ph %c + \ %pc + \ vifmimg clear + +" Epub +fileviewer *.epub + \ vifmimg epub %px %py %pw %ph %c + \ %pc + \ vifmimg clear " Audio filetype *.wav,*.mp3,*.flac,*.m4a,*.wma,*.ape,*.ac3,*.og[agx],*.spx,*.opus \ {Play using mpv} \ mpv %f, -fileviewer *.mp3 mp3info -fileviewer *.flac soxi +filetype *.wav,*.mp3,*.flac,*.m4a,*.wma,*.ape,*.ac3,*.og[agx],*.spx,*.opus + \ vifmimg audio %px %py %pw %ph %c + \ %pc + \ vifmimg clearfileviewer *.mp3 mp3info " Video filextype *.avi,*.mp4,*.wmv,*.dat,*.3gp,*.ogv,*.mkv,*.mpg,*.mpeg,*.vob, - \*.fl[icv],*.m2v,*.mov,*.webm,*.ts,*.mts,*.m4v,*.r[am],*.qt,*.divx, - \*.as[fx] + \*.fl[icv],*.m2v,*.mov,*.webm,*.ts,*.mts,*.m4v,*.r[am],*.qt,*.divx, + \*.as[fx] \ {View using mpv} \ mpv %f, \ {View using ffplay} @@ -212,9 +223,9 @@ filextype *.avi,*.mp4,*.wmv,*.dat,*.3gp,*.ogv,*.mkv,*.mpg,*.mpeg,*.vob, \ {View using Dragon} \ dragon %f:p, fileviewer *.avi,*.mp4,*.wmv,*.dat,*.3gp,*.ogv,*.mkv,*.mpg,*.mpeg,*.vob, - \*.fl[icv],*.m2v,*.mov,*.webm,*.ts,*.mts,*.m4v,*.r[am],*.qt,*.divx, - \*.as[fx] - \ vifmimg videopreview %px %py %pw %ph %c + \*.fl[icv],*.m2v,*.mov,*.webm,*.ts,*.mts,*.m4v,*.r[am],*.qt,*.divx, + \*.as[fx] + \ vifmimg video %px %py %pw %ph %c \ %pc \ vifmimg clear " \ ffprobe -pretty %c 2>&1 @@ -250,14 +261,10 @@ filextype *.bmp,*.jpg,*.jpeg,*.png,*.gif,*.xpm \ feh %d &, \ {View in cacaview} \ cacaview %c &, -fileviewer *.bmp,*.jpg,*.jpeg,*.png,*.xpm +fileviewer *.bmp,*.jpg,*.jpeg,*.png,*.gif,*.xpm \ vifmimg draw %px %py %pw %ph %c \ %pc \ vifmimg clear -fileviewer *.gif - \ vifmimg gifpreview %px %py %pw %ph %c - \ %pc - \ vifmimg clear " OpenRaster filextype *.ora diff --git a/user/.config/zathura/zathurarc b/user/.config/zathura/zathurarc index 86a9afb9c..126e180bb 100644 --- a/user/.config/zathura/zathurarc +++ b/user/.config/zathura/zathurarc @@ -35,7 +35,7 @@ set notification-fg "#458588" #00 set recolor-lightcolor "#262626" #00 set recolor-darkcolor "#ebdbb2" #06 -set recolor "true" +set recolor "false" # setting recolor-keep true will keep any color your pdf has. # if it is false, it'll just be black and white diff --git a/user/.xinitrc b/user/.xinitrc index f724c16a6..d3242b9ff 100755 --- a/user/.xinitrc +++ b/user/.xinitrc @@ -6,13 +6,12 @@ ## /_____/_/ \__,_/_/|_|\___/ My custom xinitrc ## -userresources=$HOME/.config/Xresources -usermodmap=$HOME/.config/Xmodmap +userresources=$HOME/.Xresources +usermodmap=$HOME/.Xmodmap sysresources=/etc/X11/xinit/.Xresources sysmodmap=/etc/X11/xinit/.Xmodmap # merge in defaults and keymaps - if [ -f $sysresources ]; then xrdb -merge $sysresources fi @@ -29,20 +28,26 @@ if [ -f "$usermodmap" ]; then xmodmap "$usermodmap" fi -### ENVIRONMENT VARIABLES -export BROWSER="brave" -export TERMINAL="st" -export EDITOR="$HOME/.local/bin/lvim" - +# environment variables export MOZ_USE_XINPUT2=1 +export QT_STYLE_OVERRIDE=kvantum + +# clean home export XDG_DATA_HOME="$HOME/.local/share" export XDG_CACHE_HOME="$HOME/.cache" export XDG_CONFIG_HOME="$HOME/.config" +export W3M_DIR="$XDG_DATA_HOME/w3m" export GTK2_RC_FILES="$HOME/.config/gtk-2.0/gtkrc-2.0" export WGETRC="$HOME/.config/wget/wgetrc" export INPUTRC="$HOME/.config/inputrc" export GNUPGHOME="$HOME/.local/share/gnupg" export LESSHISTFILE="-" +# default apps +export EDITOR="emacsclient -t -a ''" +export VISUAL="emacsclient -c -a 'emacs'" +export BROWSER="firefox" +export VIEWER="zathura" + # start window manager / desktop environment exec dwm