diff options
| author | xyz <gky44px1999@gmail.com> | 2023-10-23 22:16:29 -0700 | 
|---|---|---|
| committer | xyz <gky44px1999@gmail.com> | 2023-10-23 22:16:29 -0700 | 
| commit | 28e4f59d9af025e4ca53d4653063162ba0210cc4 (patch) | |
| tree | c09abfcb2117a5a860a19dd3d216acd0200414a4 /home/xyz | |
| parent | 258b37a79afed83152f315d7e7139a274ca2e318 (diff) | |
rm useless
Diffstat (limited to 'home/xyz')
36 files changed, 0 insertions, 1432 deletions
| diff --git a/home/xyz/.Xresources b/home/xyz/.Xresources deleted file mode 100644 index 7f045804..00000000 --- a/home/xyz/.Xresources +++ /dev/null @@ -1,11 +0,0 @@ -! studio ture dpi -!Xft.dpi: 131 -! studio fake dpi -!Xft.dpi: 96 - -! nsxiv, fnune/base16-vim base16-tomorrow-night colorscheme -Nsxiv.bar.font:monospace:size=11 -Nsxiv.window.foreground:#c5c8c6 -Nsxiv.window.background:#1d1f21 -Nsxiv.bar.foreground:#b4b7b4 -Nsxiv.bar.background:#282a2e diff --git a/home/xyz/.config/Mullvad VPN/gui_settings.json b/home/xyz/.config/Mullvad VPN/gui_settings.json deleted file mode 100644 index 3300fc6a..00000000 --- a/home/xyz/.config/Mullvad VPN/gui_settings.json +++ /dev/null @@ -1 +0,0 @@ -{"preferredLocale":"system","autoConnect":true,"enableSystemNotifications":true,"monochromaticIcon":false,"startMinimized":false,"unpinnedWindow":true,"browsedForSplitTunnelingApplications":[],"changelogDisplayedForVersion":"2022.1"}
\ No newline at end of file diff --git a/home/xyz/.config/alacritty/alacritty.yml b/home/xyz/.config/alacritty/alacritty.yml deleted file mode 100644 index 9ffc2f2e..00000000 --- a/home/xyz/.config/alacritty/alacritty.yml +++ /dev/null @@ -1,66 +0,0 @@ -cursor: -  vi_mode_style: Block - -# 1. when set TERM use alacritty on windows, syntax is very bad -# 2. need to set xterm-256color if want ls show color when use ssh -env: -  TERM: xterm-256color - -font: -# for cataclysm dda game, use this font, kinda square font, recommended from web -#  normal: -#    family: White Rabbit -  size: 9.0 - -window: -  dynamic_padding: true - -key_bindings: -  # Vi Mode -  - { key: Space,  mods: Shift|Control, mode: ~Search,    action: ToggleViMode            } -  - { key: Space,  mods: Shift|Control, mode: Vi|~Search, action: ScrollToBottom          } -  - { key: Escape,                      mode: Vi|~Search, action: ClearSelection          } -  - { key: I,                           mode: Vi|~Search, action: ToggleViMode            } -  - { key: I,                           mode: Vi|~Search, action: ScrollToBottom          } -  - { key: C,      mods: Control,       mode: Vi|~Search, action: ToggleViMode            } -  - { key: Y,      mods: Control,       mode: Vi|~Search, action: ScrollLineUp            } -  - { key: E,      mods: Control,       mode: Vi|~Search, action: ScrollLineDown          } -  - { key: G,                           mode: Vi|~Search, action: ScrollToTop             } -  - { key: G,      mods: Shift,         mode: Vi|~Search, action: ScrollToBottom          } -  - { key: B,      mods: Control,       mode: Vi|~Search, action: ScrollPageUp            } -  - { key: F,      mods: Control,       mode: Vi|~Search, action: ScrollPageDown          } -  - { key: U,      mods: Control,       mode: Vi|~Search, action: ScrollHalfPageUp        } -  - { key: D,      mods: Control,       mode: Vi|~Search, action: ScrollHalfPageDown      } -  - { key: Y,                           mode: Vi|~Search, action: Copy                    } -  - { key: Y,                           mode: Vi|~Search, action: ClearSelection          } -  - { key: Copy,                        mode: Vi|~Search, action: ClearSelection          } -  - { key: V,                           mode: Vi|~Search, action: ToggleNormalSelection   } -  - { key: V,      mods: Shift,         mode: Vi|~Search, action: ToggleLineSelection     } -  - { key: V,      mods: Control,       mode: Vi|~Search, action: ToggleBlockSelection    } -  - { key: V,      mods: Alt,           mode: Vi|~Search, action: ToggleSemanticSelection } -  - { key: Return,                      mode: Vi|~Search, action: Open                    } -  - { key: K,                           mode: Vi|~Search, action: Up                      } -  - { key: J,                           mode: Vi|~Search, action: Down                    } -  - { key: H,                           mode: Vi|~Search, action: Left                    } -  - { key: L,                           mode: Vi|~Search, action: Right                   } -  - { key: Up,                          mode: Vi|~Search, action: Up                      } -  - { key: Down,                        mode: Vi|~Search, action: Down                    } -  - { key: Left,                        mode: Vi|~Search, action: Left                    } -  - { key: Right,                       mode: Vi|~Search, action: Right                   } -  - { key: Key0,                        mode: Vi|~Search, action: First                   } -  - { key: Key4,   mods: Shift,         mode: Vi|~Search, action: Last                    } -  - { key: Key6,   mods: Shift,         mode: Vi|~Search, action: FirstOccupied           } -  - { key: H,      mods: Shift,         mode: Vi|~Search, action: High                    } -  - { key: M,      mods: Shift,         mode: Vi|~Search, action: Middle                  } -  - { key: L,      mods: Shift,         mode: Vi|~Search, action: Low                     } -  - { key: B,                           mode: Vi|~Search, action: SemanticLeft            } -  - { key: W,                           mode: Vi|~Search, action: SemanticRight           } -  - { key: E,                           mode: Vi|~Search, action: SemanticRightEnd        } -  - { key: B,      mods: Shift,         mode: Vi|~Search, action: WordLeft                } -  - { key: W,      mods: Shift,         mode: Vi|~Search, action: WordRight               } -  - { key: E,      mods: Shift,         mode: Vi|~Search, action: WordRightEnd            } -  - { key: Key5,   mods: Shift,         mode: Vi|~Search, action: Bracket                 } -  - { key: Slash,                       mode: Vi|~Search, action: SearchForward           } -  - { key: Slash,  mods: Shift,         mode: Vi|~Search, action: SearchBackward          } -  - { key: N,                           mode: Vi|~Search, action: SearchNext              } -  - { key: N,      mods: Shift,         mode: Vi|~Search, action: SearchPrevious          } diff --git a/home/xyz/.config/aria2/aria2.conf b/home/xyz/.config/aria2/aria2.conf deleted file mode 100644 index 11d508c5..00000000 --- a/home/xyz/.config/aria2/aria2.conf +++ /dev/null @@ -1,4 +0,0 @@ -# max hardcoded to 16, see https://github.com/aria2/aria2/issues/1039 -max-connection-per-server=16 -# from yt-dlp --dump-user-agent -#user-agent='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36' diff --git a/home/xyz/.config/dunst/dunstrc b/home/xyz/.config/dunst/dunstrc deleted file mode 100644 index 7d0fea5a..00000000 --- a/home/xyz/.config/dunst/dunstrc +++ /dev/null @@ -1,432 +0,0 @@ -# See dunst(5) for all configuration options - -[global] -    ### Display ### - -    # Which monitor should the notifications be displayed on. -    monitor = 0 - -    # Display notification on focused monitor.  Possible modes are: -    #   mouse: follow mouse pointer -    #   keyboard: follow window with keyboard focus -    #   none: don't follow anything -    # -    # "keyboard" needs a window manager that exports the -    # _NET_ACTIVE_WINDOW property. -    # This should be the case for almost all modern window managers. -    # -    # If this option is set to mouse or keyboard, the monitor option -    # will be ignored. -    follow = mouse - -    ### Geometry ### - -    # dynamic width from 0 to 300 -    # width = (0, 300) -    # constant width of 300 -    width = (0,300) - -    # The maximum height of a single notification, excluding the frame. -    height = 300 - -    # Position the notification in the top right corner -    origin = top-right - -    # Offset from the origin -    offset = 0x21 - -    # Scale factor. It is auto-detected if value is 0. -    scale = 0 - -    # Maximum number of notification (0 means no limit) -    notification_limit = 5 - -    ### Progress bar ### - -    # Turn on the progess bar. It appears when a progress hint is passed with -    # for example dunstify -h int:value:12 -    progress_bar = true - -    # Set the progress bar height. This includes the frame, so make sure -    # it's at least twice as big as the frame width. -    progress_bar_height = 10 - -    # Set the frame width of the progress bar -    progress_bar_frame_width = 1 - -    # Set the minimum width for the progress bar -    progress_bar_min_width = 150 - -    # Set the maximum width for the progress bar -    progress_bar_max_width = 300 - - -    # Show how many messages are currently hidden (because of -    # notification_limit). -    indicate_hidden = yes - -    # The transparency of the window.  Range: [0; 100]. -    # This option will only work if a compositing window manager is -    # present (e.g. xcompmgr, compiz, etc.). (X11 only) -    transparency = 0 - -    # Draw a line of "separator_height" pixel height between two -    # notifications. -    # Set to 0 to disable. -    separator_height = 1 - -    # Padding between text and separator. -    padding = 8 - -    # Horizontal padding. -    horizontal_padding = 8 - -    # Padding between text and icon. -    text_icon_padding = 0 - -    # Defines width in pixels of frame around the notification window. -    # Set to 0 to disable. -    frame_width = 1 - -    # Defines color of the frame around the notification window. -    frame_color = "#c5c8c6" - -    # Define a color for the separator. -    # possible values are: -    #  * auto: dunst tries to find a color fitting to the background; -    #  * foreground: use the same color as the foreground; -    #  * frame: use the same color as the frame; -    #  * anything else will be interpreted as a X color. -    separator_color = frame - -    # Sort messages by urgency. -    sort = yes - -    # Don't remove messages, if the user is idle (no mouse or keyboard input) -    # for longer than idle_threshold seconds. -    # Set to 0 to disable. -    # A client can set the 'transient' hint to bypass this. See the rules -    # section for how to disable this if necessary -    idle_threshold = 120 - -    ### Text ### - -    font = Monospace 10 - -    # The spacing between lines.  If the height is smaller than the -    # font height, it will get raised to the font height. -    line_height = 0 - -    # Possible values are: -    # full: Allow a small subset of html markup in notifications: -    #        <b>bold</b> -    #        <i>italic</i> -    #        <s>strikethrough</s> -    #        <u>underline</u> -    # -    #        For a complete reference see -    #        <https://developer.gnome.org/pango/stable/pango-Markup.html>. -    # -    # strip: This setting is provided for compatibility with some broken -    #        clients that send markup even though it's not enabled on the -    #        server. Dunst will try to strip the markup but the parsing is -    #        simplistic so using this option outside of matching rules for -    #        specific applications *IS GREATLY DISCOURAGED*. -    # -    # no:    Disable markup parsing, incoming notifications will be treated as -    #        plain text. Dunst will not advertise that it has the body-markup -    #        capability if this is set as a global setting. -    # -    # It's important to note that markup inside the format option will be parsed -    # regardless of what this is set to. -    markup = full - -    # The format of the message.  Possible variables are: -    #   %a  appname -    #   %s  summary -    #   %b  body -    #   %i  iconname (including its path) -    #   %I  iconname (without its path) -    #   %p  progress value if set ([  0%] to [100%]) or nothing -    #   %n  progress value if set without any extra characters -    #   %%  Literal % -    # Markup is allowed -    format = "<b>%s</b>\n%b" - -    # Alignment of message text. -    # Possible values are "left", "center" and "right". -    alignment = left - -    # Vertical alignment of message text and icon. -    # Possible values are "top", "center" and "bottom". -    vertical_alignment = center - -    # Show age of message if message is older than show_age_threshold -    # seconds. -    # Set to -1 to disable. -    show_age_threshold = 60 - -    # Specify where to make an ellipsis in long lines. -    # Possible values are "start", "middle" and "end". -    ellipsize = middle - -    # Ignore newlines '\n' in notifications. -    ignore_newline = no - -    # Stack together notifications with the same content -    stack_duplicates = true - -    # Hide the count of stacked notifications with the same content -    hide_duplicate_count = false - -    # Display indicators for URLs (U) and actions (A). -    show_indicators = yes - -    ### Icons ### - -    # Align icons left/right/off -    icon_position = left - -    # Scale small icons up to this size, set to 0 to disable. Helpful -    # for e.g. small files or high-dpi screens. In case of conflict, -    # max_icon_size takes precedence over this. -    min_icon_size = 0 - -    # Scale larger icons down to this size, set to 0 to disable -    max_icon_size = 32 - -    # Paths to default icons. -    icon_path = /usr/share/icons/Papirus-Dark/16x16/actions:/usr/share/icons/Papirus-Dark/16x16/categories:/usr/share/icons/Papirus-Dark/16x16/emblems:/usr/share/icons/Papirus-Dark/16x16/mimetypes:/usr/share/icons/Papirus-Dark/16x16/places:/usr/share/icons/Papirus-Dark/16x16/apps:/usr/share/icons/Papirus-Dark/16x16/devices:/usr/share/icons/Papirus-Dark/16x16/emotes:/usr/share/icons/Papirus-Dark/16x16/panel:/usr/share/icons/Papirus-Dark/16x16/status - -    ### History ### - -    # Should a notification popped up from history be sticky or timeout -    # as if it would normally do. -    sticky_history = yes - -    # Maximum amount of notifications kept in history -    history_length = 20 - -    ### Misc/Advanced ### - -    # dmenu path. -    dmenu = /usr/bin/dmenu -p dunst: - -    # Browser for opening urls in context menu. -    browser = /usr/bin/xdg-open - -    # Always run rule-defined scripts, even if the notification is suppressed -    always_run_script = true - -    # Define the title of the windows spawned by dunst -    title = Dunst - -    # Define the class of the windows spawned by dunst -    class = Dunst - -    # Define the corner radius of the notification window -    # in pixel size. If the radius is 0, you have no rounded -    # corners. -    # The radius will be automatically lowered if it exceeds half of the -    # notification height to avoid clipping text and/or icons. -    corner_radius = 0 - -    # Ignore the dbus closeNotification message. -    # Useful to enforce the timeout set by dunst configuration. Without this -    # parameter, an application may close the notification sent before the -    # user defined timeout. -    ignore_dbusclose = false - -    ### Wayland ### -    # These settings are Wayland-specific. They have no effect when using X11 - -    # Uncomment this if you want to let notications appear under fullscreen -    # applications (default: overlay) -    # layer = top - -    # Set this to true to use X11 output on Wayland. -    force_xwayland = false - -    ### Legacy - -    # Use the Xinerama extension instead of RandR for multi-monitor support. -    # This setting is provided for compatibility with older nVidia drivers that -    # do not support RandR and using it on systems that support RandR is highly -    # discouraged. -    # -    # By enabling this setting dunst will not be able to detect when a monitor -    # is connected or disconnected which might break follow mode if the screen -    # layout changes. -    force_xinerama = false - -    ### mouse - -    # Defines list of actions for each mouse event -    # Possible values are: -    # * none: Don't do anything. -    # * do_action: Invoke the action determined by the action_name rule. If there is no -    #              such action, open the context menu. -    # * open_url: If the notification has exactly one url, open it. If there are multiple -    #             ones, open the context menu. -    # * close_current: Close current notification. -    # * close_all: Close all notifications. -    # * context: Open context menu for the notification. -    # * context_all: Open context menu for all notifications. -    # These values can be strung together for each mouse event, and -    # will be executed in sequence. -    mouse_left_click = close_current -    mouse_middle_click = do_action, close_current -    mouse_right_click = close_all - -# Experimental features that may or may not work correctly. Do not expect them -# to have a consistent behaviour across releases. -[experimental] -    # Calculate the dpi to use on a per-monitor basis. -    # If this setting is enabled the Xft.dpi value will be ignored and instead -    # dunst will attempt to calculate an appropriate dpi value for each monitor -    # using the resolution and physical size. This might be useful in setups -    # where there are multiple screens with very different dpi values. -    per_monitor_dpi = false - - -[urgency_low] -    # IMPORTANT: colors have to be defined in quotation marks. -    # Otherwise the "#" and following would be interpreted as a comment. -    background = "#1d1f21" -    foreground = "#81a2be" -    frame_color = "#81a2be" -    timeout = 10 -    # Icon for notifications with low urgency, uncomment to enable -    #icon = /path/to/icon - -[urgency_normal] -    background = "#1d1f21" -    foreground = "#b5bd68" -    frame_color  = "#b5bd68" -    timeout = 10 -    # Icon for notifications with normal urgency, uncomment to enable -    #icon = /path/to/icon - -[urgency_critical] -    background = "#1d1f21" -    foreground = "#cc6666" -    frame_color = "#cc6666" -    timeout = 0 -    # Icon for notifications with critical urgency, uncomment to enable -    #icon = /path/to/icon - -# Every section that isn't one of the above is interpreted as a rules to -# override settings for certain messages. -# -# Messages can be matched by -#    appname (discouraged, see desktop_entry) -#    body -#    category -#    desktop_entry -#    icon -#    match_transient -#    msg_urgency -#    stack_tag -#    summary -# -# and you can override the -#    background -#    foreground -#    format -#    frame_color -#    fullscreen -#    new_icon -#    set_stack_tag -#    set_transient -#    timeout -#    urgency -#    action_name -# -# Shell-like globbing will get expanded. -# -# Instead of the appname filter, it's recommended to use the desktop_entry filter. -# GLib based applications export their desktop-entry name. In comparison to the appname, -# the desktop-entry won't get localized. -# -# SCRIPTING -# You can specify a script that gets run when the rule matches by -# setting the "script" option. -# The script will be called as follows: -#   script appname summary body icon urgency -# where urgency can be "LOW", "NORMAL" or "CRITICAL". -# -# NOTE: It might be helpful to run dunst -print in a terminal in order -# to find fitting options for rules. - -# Disable the transient hint so that idle_threshold cannot be bypassed from the -# client -#[transient_disable] -#    match_transient = yes -#    set_transient = no -# -# Make the handling of transient notifications more strict by making them not -# be placed in history. -#[transient_history_ignore] -#    match_transient = yes -#    history_ignore = yes - -# fullscreen values -# show: show the notifications, regardless if there is a fullscreen window opened -# delay: displays the new notification, if there is no fullscreen window active -#        If the notification is already drawn, it won't get undrawn. -# pushback: same as delay, but when switching into fullscreen, the notification will get -#           withdrawn from screen again and will get delayed like a new notification -#[fullscreen_delay_everything] -#    fullscreen = delay -#[fullscreen_show_critical] -#    msg_urgency = critical -#    fullscreen = show - -#[espeak] -#    summary = "*" -#    script = dunst_espeak.sh - -#[script-test] -#    summary = "*script*" -#    script = dunst_test.sh - -#[ignore] -#    # This notification will not be displayed -#    summary = "foobar" -#    skip_display = true - -#[history-ignore] -#    # This notification will not be saved in history -#    summary = "foobar" -#    history_ignore = yes - -#[skip-display] -#    # This notification will not be displayed, but will be included in the history -#    summary = "foobar" -#    skip_display = yes - -#[signed_on] -#    appname = Pidgin -#    summary = "*signed on*" -#    urgency = low -# -#[signed_off] -#    appname = Pidgin -#    summary = *signed off* -#    urgency = low -# -#[says] -#    appname = Pidgin -#    summary = *says* -#    urgency = critical -# -#[twitter] -#    appname = Pidgin -#    summary = *twitter.com* -#    urgency = normal -# -#[stack-volumes] -#    appname = "some_volume_notifiers" -#    set_stack_tag = "volume" -# -# vim: ft=cfg diff --git a/home/xyz/.config/fontconfig/fonts.conf b/home/xyz/.config/fontconfig/fonts.conf deleted file mode 100644 index c8b6287f..00000000 --- a/home/xyz/.config/fontconfig/fonts.conf +++ /dev/null @@ -1,44 +0,0 @@ -<?xml version="1.0"?> -<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd"> -<fontconfig> - -	<!-- more details: http://www.jinbuguo.com/gui/linux_fontconfig.html --> - -	<alias> -		<family>serif</family> -		<prefer> -			<family>Noto Serif</family> -			<family>Noto Serif CJK SC</family> -			<family>Noto Color Emoji</family> -		</prefer> -	</alias> -	<alias> -		<family>sans-serif</family> -		<prefer> -			<family>Noto Sans</family> -			<family>Noto Sans CJK SC</family> -			<family>Noto Color Emoji</family> -		</prefer> -	</alias> -	<alias> -		<family>monospace</family> -		<prefer> -			<family>Noto Sans Mono</family> -			<family>Noto Sans Mono CJK SC</family> -			<family>Noto Color Emoji</family> -		</prefer> -	</alias> - -	<!-- man fonts-conf example approach --> -	<!-- -	<match> -		<test name="lang" compare="contains"> -			<string>zh</string> -		</test> -		<edit name="family" mode="prepend"> -			<string>Adobe Kaiti Std</string> -		</edit> -	</match> -	--> - -</fontconfig> diff --git a/home/xyz/.config/git/ignore b/home/xyz/.config/git/ignore deleted file mode 100644 index b2e6e394..00000000 --- a/home/xyz/.config/git/ignore +++ /dev/null @@ -1,5 +0,0 @@ -*.exe -*.log -*.o -*.so -.qmake.stash diff --git a/home/xyz/.config/mimeapps.list b/home/xyz/.config/mimeapps.list deleted file mode 100644 index 6d9dcdf1..00000000 --- a/home/xyz/.config/mimeapps.list +++ /dev/null @@ -1,16 +0,0 @@ -[Default Applications] -application/pdf=org.pwmt.zathura.desktop; -application/epub+zip=org.pwmt.zathura.desktop; -image/gif=nsxiv.desktop; -image/jpeg=nsxiv.desktop; -image/png=nsxiv.desktop; -inode/directory=file.desktop; -x-scheme-handler/tg=userapp-Telegram Desktop-1MFXF1.desktop -x-scheme-handler/zoommtg=ZoomFirejail.desktop -x-scheme-handler/zoomus=ZoomFirejail.desktop -x-scheme-handler/tel=ZoomFirejail.desktop -x-scheme-handler/callto=ZoomFirejail.desktop -x-scheme-handler/zoomphonecall=ZoomFirejail.desktop - -[Added Associations] -x-scheme-handler/tg=userapp-Telegram Desktop-1MFXF1.desktop; diff --git a/home/xyz/.config/mpv/mpv.conf b/home/xyz/.config/mpv/mpv.conf deleted file mode 100644 index f9dd01d4..00000000 --- a/home/xyz/.config/mpv/mpv.conf +++ /dev/null @@ -1,145 +0,0 @@ -sub-auto=fuzzy -script-opts=ytdl_hook-ytdl_path=yt-dlp -# scaletempo and scaletempo2 are super buggy -# I don't understand rubberband tho, steal from: -# https://www.rockyourcode.com/til-how-to-watch-youtube-videos-with-mpv-and-keyboard-shortcuts/ -# https://github.com/mpv-player/mpv/issues/7792 -af=rubberband=pitch-scale=0.981818181818181 - -# Example mpv configuration file -# -# Warning: -# -# The commented example options usually do _not_ set the default values. Call -# mpv with --list-options to see the default values for most options. There is -# no builtin or example mpv.conf with all the defaults. -# -# -# Configuration files are read system-wide from /usr/local/etc/mpv.conf -# and per-user from ~/.config/mpv/mpv.conf, where per-user settings override -# system-wide settings, all of which are overridden by the command line. -# -# Configuration file settings and the command line options use the same -# underlying mechanisms. Most options can be put into the configuration file -# by dropping the preceding '--'. See the man page for a complete list of -# options. -# -# Lines starting with '#' are comments and are ignored. -# -# See the CONFIGURATION FILES section in the man page -# for a detailed description of the syntax. -# -# Profiles should be placed at the bottom of the configuration file to ensure -# that settings wanted as defaults are not restricted to specific profiles. - -################## -# video settings # -################## - -# Start in fullscreen mode by default. -#fs=yes - -# force starting with centered window -#geometry=50%:50% - -# don't allow a new window to have a size larger than 90% of the screen size -#autofit-larger=90%x90% - -# Do not close the window on exit. -#keep-open=yes - -# Do not wait with showing the video window until it has loaded. (This will -# resize the window once video is loaded. Also always shows a window with -# audio.) -#force-window=immediate - -# Disable the On Screen Controller (OSC). -#osc=no - -# Keep the player window on top of all other windows. -#ontop=yes - -# Specify high quality video rendering preset (for --vo=gpu only) -# Can cause performance problems with some drivers and GPUs. -#profile=gpu-hq - -# Force video to lock on the display's refresh rate, and change video and audio -# speed to some degree to ensure synchronous playback - can cause problems -# with some drivers and desktop environments. -#video-sync=display-resample - -# Enable hardware decoding if available. Often, this does not work with all -# video outputs, but should work well with default settings on most systems. -# If performance or energy usage is an issue, forcing the vdpau or vaapi VOs -# may or may not help. -hwdec=auto-safe - -################## -# audio settings # -################## - -# Specify default audio device. You can list devices with: --audio-device=help -# The option takes the device string (the stuff between the '...'). -#audio-device=alsa/default - -# Do not filter audio to keep pitch when changing playback speed. -#audio-pitch-correction=no - -# Output 5.1 audio natively, and upmix/downmix audio with a different format. -#audio-channels=5.1 -# Disable any automatic remix, _if_ the audio output accepts the audio format. -# of the currently played file. See caveats mentioned in the manpage. -# (The default is "auto-safe", see manpage.) -#audio-channels=auto - -################## -# other settings # -################## - -# Pretend to be a web browser. Might fix playback with some streaming sites, -# but also will break with shoutcast streams. -#user-agent="Mozilla/5.0" - -# cache settings -# -# Use a large seekable RAM cache even for local input. -#cache=yes -# -# Use extra large RAM cache (needs cache=yes to make it useful). -#demuxer-max-bytes=500M -#demuxer-max-back-bytes=100M -# -# Disable the behavior that the player will pause if the cache goes below a -# certain fill size. -#cache-pause=no -# -# Store cache payload on the hard disk instead of in RAM. (This may negatively -# impact performance unless used for slow input such as network.) -#cache-dir=~/.cache/ -#cache-on-disk=yes - -# Display English subtitles if available. -slang=zh-Hans,zh-CN,zh-Hant,zh-SG,zh-TW,zh-HK,en,en-US,en-GB - -# Play Finnish audio if available, fall back to English otherwise. -#alang=fi,en - -# Change subtitle encoding. For Arabic subtitles use 'cp1256'. -# If the file seems to be valid UTF-8, prefer UTF-8. -# (You can add '+' in front of the codepage to force it.) -#sub-codepage=cp1256 - -# You can also include other configuration files. -#include=/path/to/the/file/you/want/to/include - -############ -# Profiles # -############ - -# The options declared as part of profiles override global default settings, -# but only take effect when the profile is active. - -# The following profile can be enabled on the command line with: --profile=eye-cancer - -#[eye-cancer] -#sharpen=5 diff --git a/home/xyz/.config/mpv/scripts/sponsorblock-minimal.lua b/home/xyz/.config/mpv/scripts/sponsorblock-minimal.lua deleted file mode 120000 index cb3390f8..00000000 --- a/home/xyz/.config/mpv/scripts/sponsorblock-minimal.lua +++ /dev/null @@ -1 +0,0 @@ -/usr/lib/mpv/sponsorblock-minimal.lua
\ No newline at end of file diff --git a/home/xyz/.config/myconf/gallery_urls b/home/xyz/.config/myconf/gallery_urls deleted file mode 100644 index 0f128ec3..00000000 --- a/home/xyz/.config/myconf/gallery_urls +++ /dev/null @@ -1,5 +0,0 @@ -# input file format see https://github.com/mikf/gallery-dl/blob/13d4045a8a5a6fd45cb20df399f44055b25f5cca/gallery_dl/__init__.py#L33-L58 -#https://www.pixiv.net/users/13379747/artworks -https://www.deviantart.com/wlop/gallery -https://www.deviantart.com/minimalistic-animoo/gallery/ -https://www.deviantart.com/theminimalists/gallery/ diff --git a/home/xyz/.config/myconf/surfingkeys_config.js b/home/xyz/.config/myconf/surfingkeys_config.js deleted file mode 100644 index 896f526a..00000000 --- a/home/xyz/.config/myconf/surfingkeys_config.js +++ /dev/null @@ -1,122 +0,0 @@ -// https://github.com/brookhong/Surfingkeys/wiki/Migrate-your-settings-from-0.9.74-to-1.0 -const { -	aceVimMap, -	mapkey, -	imap, -	imapkey, -	getClickableElements, -	vmapkey, -	map, -	unmap, -	vunmap, -	cmap, -	addSearchAlias, -	removeSearchAlias, -	tabOpenLink, -	readText, -	Clipboard, -	Front, -	Hints, -	Visual, -	RUNTIME, - -	iunmap, -} = api; - -// old example config, may not work. also, I change ctrl-y to Ctrl-y -// an example to create a new mapping `ctrl-y` -//mapkey('<Ctrl-y>', 'Show me the money', function() { -//	Front.showPopup('a well-known phrase uttered by characters in the 1996 film Jerry Maguire (Escape to close).'); -//}); -// an example to replace `T` with `gt`, click `Default mappings` to see how `T` works. -//map('gt', 'T'); - -// I choose to use <Alt-i>, <Alt-s>, or <p> instead. I prefer <p> -//settings.blacklistPattern = /.*youtube\.com.*|.*mail\.google\.com.*/i; - -//unmap('<Ctrl-j>'); -map('<Ctrl-Alt-h>','<Ctrl-h>'); -unmap('<Ctrl-h>'); -// ctrl-alt-s not working now (12/09/2021), not sure why, maybe arkenfox user.js problem? -map('<Ctrl-Alt-s>','<Alt-s>'); -unmap('<Alt-s>'); - -// on firefox, firenvim default Ctrl-e will be overwirted by github issue hotkey, see: -// https://github.com/glacambre/firenvim/issues/1046 -// https://bugzilla.mozilla.org/show_bug.cgi?id=1713794 -// currently seems no good solution but to use another hotkey, I choose Ctrl+, -// current surfingkeys version 0.9.74 is outdated and doesn't contain firenvim integration, wait for author to update -// I tried to run the source code as temp extension in about:debugging or with web-ext cli tool but no luck -// update: surfingkeys 1.0 is out, but it integrate neovim in another way, and firefox is not supported?  -// https://github.com/brookhong/Surfingkeys/issues/1542#:~:text=side%20is%20not-,necessary,-now%2C%20please%20help -// some more links: -// https://github.com/brookhong/Surfingkeys/tree/master/src/nvim/server -settings.useNeovim = true; - -// disable all insert mode hotkeys except Ctrl-i for future neovim integration -//iunmap('<Ctrl-i>'); -iunmap('<Alt-b>'); -iunmap('<Alt-d>'); -iunmap('<Alt-f>'); -iunmap('<Alt-w>'); -iunmap("<Ctrl-'>"); -iunmap('<Ctrl-e>'); -iunmap('<Ctrl-f>'); -iunmap('<Ctrl-u>'); -// disable emoj -iunmap(':'); - -// following code of map n to nzz not working in 1.0 -// I guess it may because Visual.next and Visual.feedkeys is not supported in new api, see below source code permalink -// https://github.com/brookhong/Surfingkeys/blob/3d1de8cab8584209cc6fec3ed7025e8ebab476d8/src/content_scripts/common/api.js#L774-L776 -//mapkey('n','Find next then center cursor', function(){ -//	Visual.next(false); -//	Visual.feedkeys('zz'); -//}); -//mapkey('N','Find previous then center cursor', function(){ -//	Visual.next(true); -//	Visual.feedkeys('zz'); -//}); - -// with firefox RFP enabled in user.js, smooth scroll and gg/G do not work, firefox RFP's feature -settings.smoothScroll = false; - -// set theme -settings.theme = ` -.sk_theme { -	font-family: Input Sans Condensed, Charcoal, sans-serif; -	font-size: 10pt; -	background: #24272e; -	color: #abb2bf; -} -.sk_theme tbody { -	color: #fff; -} -.sk_theme input { -	color: #d0d0d0; -} -.sk_theme .url { -	color: #61afef; -} -.sk_theme .annotation { -	color: #56b6c2; -} -.sk_theme .omnibar_highlight { -	color: #528bff; -} -.sk_theme .omnibar_timestamp { -	color: #e5c07b; -} -.sk_theme .omnibar_visitcount { -	color: #98c379; -} -.sk_theme #sk_omnibarSearchResult ul li:nth-child(odd) { -	background: #303030; -} -.sk_theme #sk_omnibarSearchResult ul li.focused { -	background: #3e4452; -} -#sk_status, #sk_find { -	font-size: 16pt; -}`; -// click `Save` button to make above settings to take effect.</ctrl-i></ctrl-y> diff --git a/home/xyz/.config/newsboat/config b/home/xyz/.config/newsboat/config deleted file mode 100644 index 8b31ecb8..00000000 --- a/home/xyz/.config/newsboat/config +++ /dev/null @@ -1,27 +0,0 @@ -auto-reload yes - -bind-key h quit -bind-key j down -bind-key k up -bind-key l open -bind-key g home -bind-key G end -bind-key ^F pagedown -bind-key ^B pageup - -# open-in-browser-noninteractively may be useful -macro y set browser "echo %u | xsel -ib"; open-in-browser; set browser "$BROWSER %u &" - -# https://newsboat.org/releases/2.24/docs/newsboat.html#_killfiles -# https://newsboat.org/releases/2.24/docs/newsboat.html#_filter_language - -# not sure if all following arch linux rss feed ignore-article will work as expected -# maybe aur rss feed is broken; maybe arch linux feeds are updated very fast so I can't get the wanted news?  -# not fully understand the rss feed -ignore-article "https://aur.archlinux.org/rss/" "title !~\"youtube-dlp|yt-dlp\"" -# arch linux development feeds: all project -ignore-article "https://bugs.archlinux.org/feed.php?feed_type=rss2&project=0" "title !~ \"wildmidi|aur.*(rss|feed)|(rss|feed).*aur\"" -ignore-article "https://bugs.archlinux.org/feed.php?feed_type=rss2&topic=edit&project=0" "title !~ \"FS#(47508|71501|71453|70113|69492)|wildmidi|aur.*(rss|feed)|(rss|feed).*aur\"" -ignore-article "https://bugs.archlinux.org/feed.php?feed_type=rss2&topic=clo&project=0" "title !~ \"FS#(47508|71501|71453|70113|69492)|wildmidi|aur.*(rss|feed)|(rss|feed).*aur\"" - -# vim: ft=sh diff --git a/home/xyz/.config/newsboat/urls b/home/xyz/.config/newsboat/urls deleted file mode 100644 index 3aa4608a..00000000 --- a/home/xyz/.config/newsboat/urls +++ /dev/null @@ -1,26 +0,0 @@ -# https://newsboat.org/releases/2.24/docs/newsboat.html#_tagging - -# computer misc -https://suckless.org/atom.xml -https://ryf.fsf.org/news/rss.xml -https://ryf.fsf.org/products/rss.xml -https://git.savannah.gnu.org/cgit/gsl.git/atom/NEWS?h=master -https://mullvad.net/blog/feed/atom -https://frame.work/blog.rss -https://libreboot.org/feed.xml - -# arch linux -https://archlinux.org/feeds/news/ -https://bbs.archlinux.org/extern.php?action=feed&tid=260286&type=atom -https://aur.archlinux.org/rss/ -# arch linux development feeds: all projects -https://bugs.archlinux.org/feed.php?feed_type=rss2&project=0 -https://bugs.archlinux.org/feed.php?feed_type=rss2&topic=edit&project=0 -https://bugs.archlinux.org/feed.php?feed_type=rss2&topic=clo&project=0 - -# qmmp -https://sourceforge.net/p/qmmp-dev/tickets/590/feed.atom -https://sourceforge.net/p/qmmp-dev/tickets/714/feed.atom - -# recreation -http://keygenmusic.net/rss.php diff --git a/home/xyz/.config/nsxiv/exec/key-handler b/home/xyz/.config/nsxiv/exec/key-handler deleted file mode 100755 index a24b89b0..00000000 --- a/home/xyz/.config/nsxiv/exec/key-handler +++ /dev/null @@ -1,65 +0,0 @@ -#!/bin/sh - -# Example for $XDG_CONFIG_HOME/sxiv/exec/key-handler -# Called by sxiv(1) after the external prefix key (C-x by default) is pressed. -# The next key combo is passed as its first argument. Passed via stdin are the -# images to act upon, one path per line: all marked images, if in thumbnail -# mode and at least one image has been marked, otherwise the current image. -# sxiv(1) blocks until this script terminates. It then checks which images -# have been modified and reloads them. - -# The key combo argument has the following form: "[C-][M-][S-]KEY", -# where C/M/S indicate Ctrl/Meta(Alt)/Shift modifier states and KEY is the X -# keysym as listed in /usr/include/X11/keysymdef.h without the "XK_" prefix. - -# my dependency notes -# jpegtran is owned by libjpeg-turbo -# mogrify is owned by imagemagick -# exiv2 is owned by exiv2 -# rawtherapee is owned by rawtherapee - -rotate() { -	tr '\n' '\0' | xargs -0 realpath | sort | uniq | while read -r file; do -		case "$(file -b -i "$file")" in -			image/jpeg*) jpegtran -rotate 90 -copy all -outfile "$file" "$file" ;; -			*)           mogrify  -rotate 90 "$file" ;; -		esac -	done -} - -flip() { -	tr '\n' '\0' | xargs -0 realpath | sort | uniq | while read -r file; do -		case "$(file -b -i "$file")" in -			image/jpeg*) jpegtran -flip vertical -copy all -outfile "$file" "$file" ;; -			*)           mogrify -flip "$file" ;; -		esac -	done -} - -linkwall() { -	tr '\n' '\0' | xargs -0 realpath | sort | uniq | while read -r file; do -		walldir="$XDG_PICTURES_DIR/wallpapers/" -		name=$(basename "$file") -		if [ ! -e "$walldir$name" ]; then -			convwall "$file" "$walldir$name" || ln -s "$file" "$walldir"  -		else -			notify-send 'error' "$name exist" -		fi -	done -} - -# I choose not to put case nested in while read file loop -# because it can pipe multiple files to one command? -case "$1" in -	"d") [ "$(printf 'No\nYes' | dmenu -i -p 'delete?')" = "Yes" ] && tr '\n' '\0' | xargs -0 rm ;; -	"e") while read -r file; do alacritty -e sh -c "exiv2 pr -q -pa '$file' | less" & done ;; -	"f") flip ;; -	"g") tr '\n' '\0' | xargs -0 setsid -f gimp ;; -	"l") linkwall ;; -	"p") tr '\n' '\0' | xargs -0 sh -c 'convert "$@" $(time.uuid).pdf' shell ;; -	"r") rotate ;; -	"w") tr '\n' '\0' | xargs -0 shufwall ;; -	# alternative using `xclip -in -selection clipboard` -	"y") tr '\n' '\0' | xargs -0 realpath | tr '\n' '\0' | xargs -0 printf '%q ' | xsel -ib ;; -esac - diff --git a/home/xyz/.config/sdcv_ordering b/home/xyz/.config/sdcv_ordering deleted file mode 100644 index 8eef92e5..00000000 --- a/home/xyz/.config/sdcv_ordering +++ /dev/null @@ -1,9 +0,0 @@ -朗道英汉字典5.0 -牛津英汉双解美化版 -CEDICT汉英辞典 -朗道汉英字典5.0 -WordNet -Moby Thesaurus II -wikt-en-ALL-2021-05-02 -Urban Dictionary P1 (En-En) -Urban Dictionary P2 (En-En) diff --git a/home/xyz/.config/yt-dlp/config b/home/xyz/.config/yt-dlp/config deleted file mode 100644 index 4ed6c4a7..00000000 --- a/home/xyz/.config/yt-dlp/config +++ /dev/null @@ -1,11 +0,0 @@ -# --external-downloader also works for youtube-dl ---external-downloader aria2c - -# workaround youtube throttle -# mar 17 2022 if use this command download is very slow, not sure why -#--throttled-rate 100K -# player_client=android,web seems become default since 2021.07.21 version -#--extractor-args youtube:player_client=android - -# manpage says yt-dlp use --sub-langs, youtube-dl use --sub-lang, but experiment shows yt-dlp also use --sub-lang ---sub-lang zh-Hans,zh-CN,zh-Hant,zh-SG,zh-TW,zh-HK,en,en-US,en-GB diff --git a/home/xyz/.config/zathura/zathurarc b/home/xyz/.config/zathura/zathurarc deleted file mode 100644 index 2c49960e..00000000 --- a/home/xyz/.config/zathura/zathurarc +++ /dev/null @@ -1,2 +0,0 @@ -# mouse selection copy to clipboard instead of primary -set selection-clipboard clipboard diff --git a/home/xyz/.local/bin/alacritty b/home/xyz/.local/bin/alacritty deleted file mode 100755 index 64cedfcc..00000000 --- a/home/xyz/.local/bin/alacritty +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh - -# https://github.com/MithicSpirit/dotfiles/blob/master/.local/bin/alacritty -/usr/bin/alacritty msg create-window "$@" || /usr/bin/alacritty "$@" diff --git a/home/xyz/.local/bin/alarm b/home/xyz/.local/bin/alarm deleted file mode 100755 index 9b366e19..00000000 --- a/home/xyz/.local/bin/alarm +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh - -printf 'notify-send -u critical "%s"; bell' "${2:-alarm}" | at now + "$1" minutes && notify-send "Successfully Scheduled" - -# at used to not like string like 'Boiling Water!', don't know why now it works, if see similar issue, use folllowing codes -#at now + "$1" minutes << EOF && notify-send 'Successfully Scheduled' -#notify-send -u critical "${2:-alarm}" -#bell -#EOF diff --git a/home/xyz/.local/bin/bell b/home/xyz/.local/bin/bell deleted file mode 100755 index c8bebd5e..00000000 --- a/home/xyz/.local/bin/bell +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh - -bef="$(amixer get Master | awk -F '[][]' 'END{print $2}')" -amixer set Master 20% -# code steal from https://unix.stackexchange.com/a/163716/459013 -speaker-test -t sine -f 1000 -l 1 -amixer set Master "$bef" diff --git a/home/xyz/.local/bin/ccgsl b/home/xyz/.local/bin/ccgsl deleted file mode 100755 index 31bd3256..00000000 --- a/home/xyz/.local/bin/ccgsl +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -# steal codes from https://github.com/LukeSmithxyz/voidrice/blob/master/.local/bin/compiler - -base="${1%.*}" -# -lm link math library? needed for sqrt(). not sure -# https://stackoverflow.com/questions/44175151/what-is-the-meaning-of-lm-in-gcc -cc -Wall -lgsl -lgslcblas -lm -o "$base" "$1" && ./"$base" diff --git a/home/xyz/.local/bin/convwall b/home/xyz/.local/bin/convwall deleted file mode 100755 index dff9c43b..00000000 --- a/home/xyz/.local/bin/convwall +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/sh - -# target image aspect ratio -wratio=$SCR_WIDTH -hratio=$SCR_HEIGHT -# chop how much from center -chopnum=99% - -# my benchmark shows -ping is much faster than default -# https://github.com/ImageMagick/ImageMagick/issues/3183#issuecomment-800955241 -width=$(identify -ping -format '%w' "$1") -height=$(identify -ping -format '%h' "$1") - -ratio=$((wratio*100/hratio)) -dim=$((width*100/height)) - -if [ "$dim" -ne "$ratio" ]; then -	if [ "$dim" -lt "$ratio" ]; then -		chopgeom="${chopnum}x0"	 -		width=$((height*wratio/hratio)) -	else -		chopgeom="0x$chopnum"	 -		height=$((width*hratio/wratio)) -	fi -	# may throw error "sort: write failed: 'standard output': Broken pipe \n sort: write error" -	# caused by head exit (or close stdin) before sort output complete, can ignore -	# https://stackoverflow.com/questions/46202653/bash-error-in-sort-sort-write-failed-standard-output-broken-pipe -	bgcolor=$(convert "$1" -gravity center -chop "$chopgeom" -define histogram:unique-colors=true -format %c histogram:info:- | sort -rn | head -n1 | awk \{print\ \$3\} | cut -c1-7) -	# another approach is to use "$width" or "x$height" for geometry, current approach is more readable -	convert "$1" -gravity center -background "$bgcolor" -extent "${width}x$height" "$2" -else -	echo 'same aspect ratio, no need to convert' >&2 -	exit 1 -fi diff --git a/home/xyz/.local/bin/curlkg b/home/xyz/.local/bin/curlkg deleted file mode 100755 index 4276e820..00000000 --- a/home/xyz/.local/bin/curlkg +++ /dev/null @@ -1,52 +0,0 @@ -#!/bin/sh - -# references: -# https://blog.csdn.net/qq_41730930/article/details/79327757 -# https://blog.csdn.net/u011112876/article/details/89634505 -# https://github.com/pystardust/ytfzf - -homepage_url='https://node.kg.qq.com/cgi/fcgi-bin/kg_ugc_get_homepage' -music_url='https://node.kg.qq.com/cgi/fcgi-bin/fcg_get_play_url' -# num seems only 8 and 15 works -num=15 -tmp_file="$(mktemp)" - -get_json () { -	curl -s -G --data-urlencode type=get_uinfo -d outCharset=utf-8 -d start="$1" -d num=$num -d share_uid="$uid" "$homepage_url" | sed 's/.*({\(.*\)}).*/{\1}/' -} - -# concurrent file append with less than 4096 bytes will be atomic on arch linux ext4 -# so need to process json data before append to the file, to append less than 4096 bytes for each process -# another appraoch is to use a loop to write to several files each corresponding to one process -# https://stackoverflow.com/questions/1154446/is-file-append-atomic-in-unix -# https://unix.stackexchange.com/questions/458653/parallel-processes-appending-outputs-to-an-array-in-a-bash-script -process_json() { -	jq -r '.data.ugclist[]|"'"$music_url"'?shareid=\(.shareid)\n out=\(.title)_\(.time).m4a"' >> "$tmp_file" -} - -while getopts u: opt; do -	case $opt in -		u) uid="$OPTARG";; -		\?) exit 1;; -	esac -done -# for lan lan, uid=649b9e82272a348b -# for cheng ruan, uid=64949d822c25328c -[ -z "$uid" ] && echo 'error: must provide share_uid -ex: curlkg -u 649b9e82272a348b ./' >&2 && exit 1  -shift $((OPTIND-1)) -download_dir="${1:-"$PWD"}" -[ -d "$download_dir" ] || mkdir -p "$download_dir" - -first_json="$(get_json 1)" -ugc_total_count=$(echo "$first_json" | jq '.data.ugc_total_count') -echo "$first_json" | process_json -# can also use while loop with i=$((i+1)) -# the calculation considers both ugc_total_count%num==0 and ugc_total_count%num>0 -for i in $(seq 2 $(((ugc_total_count+num-1)/num))); do -	get_json "$i" | process_json & -done - -wait -aria2c -d "$download_dir" --auto-file-renaming=false --console-log-level=warn -i "$tmp_file" -rm "$tmp_file" diff --git a/home/xyz/.local/bin/curlncm b/home/xyz/.local/bin/curlncm deleted file mode 100755 index 25f39aa9..00000000 --- a/home/xyz/.local/bin/curlncm +++ /dev/null @@ -1,75 +0,0 @@ -#!/bin/sh -# rewrite TianyiShi2001's python script which rewrite NeteaseCloudMusicApi node.js api - -# references: -# https://github.com/ytdl-org/youtube-dl/issues/18051#issuecomment-859964832 -# https://github.com/Binaryify/NeteaseCloudMusicApi -# info about encrytion and api:  -# https://github.com/metowolf/NeteaseCloudMusicApi/wiki -# https://github.com/darknessomi/musicbox/wiki - -# lan lan, aid=48860966, rid=793052426, example id=1397315179,1817498734 -# cheng ruan, aid=46703185, rid=792968433 - -# trial and error to get dj_max, don't know why, maybe because it is 2^31 and it is the size limit of whatever type of the variable -dj_max=2147483647 -dl_urls_tmp="$(mktemp)" -# printf 'e82ckenh8dichen8' | hexdump -ve '/1 "%02x"' -key='653832636b656e683864696368656e38' -url='/api/song/enhance/player/url' -request_id=$(date +'%s%3N')_$(seq -w 1 1000 | shuf -n1) -user_agent='Mozilla/5.0 (Linux; U; Android 9; zh-cn; Redmi Note 8 Build/PKQ1.190616.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/71.0.3578.141 Mobile Safari/537.36 XiaoMi/MiuiBrowser/12.5.22' -cookie="$(printf '"appver":"8.0.0","versioncode":"140","buildver":"1623455100","resolution":"1920x1080","__csrf":"","os":"pc","requestId":"%s"' "$request_id")" - -die () { -	echo "error: $*" >&2 -	exit 1 -} - -# artist, song, djradio id -while getopts a:i:r: opt; do -	case $opt in -		a) aid="$OPTARG";; -		i) ids="$OPTARG";; -		r) rid="$OPTARG";; -		\?) exit 1;; -	esac -done -shift $((OPTIND-1)) -download_dir="${1:-"$PWD"}" -[ -d "$download_dir" ] || mkdir -p "$download_dir" - -if [ "$ids" ]; then -	# temporary solution, can improve by auto curl names -	data="$(echo "$ids" | tr ',' '\n' | awk '{printf("%s\t%s\n",$0,"songname")}')" -else -	if [ "$rid" ]; then -		data="$(curl -s -G --data-urlencode id="$rid" -d limit="$dj_max" 'https://music.163.com/djradio' | grep 'songlist\|tt f-thide' | sed -e 's/.*songlist-\(.*\)" class.*/\1/g' -e 's/.*title="\(.*\)".*/\1/g' | paste -sd '\t\n' | sort | tr '/' '_')" -	# can only curl featured 50 songs for the artist, can improve -	elif [ "$aid" ]; then -		data="$(curl -s -G --data-urlencode id="$aid" 'https://music.163.com/artist' | grep '\[{.*}\]' | sed -e 's/.*>\[{/\[{/' -e 's/}\]<.*/}\]/' | jq -r '.[]|[.id,.name]|@tsv' | sort | tr '/' '_')" -	fi -	# awk code not print separator at beginning and end steal from: -	# https://unix.stackexchange.com/a/581785/459013 -	# not sure awk one-liner or paste way which is better, need benchmark -	ids="$(echo "$data" | awk -F'\t' '{printf "%s%s",sep,$1;sep=","}')" -	#ids="$(echo "$data" | awk -F'\t' '{print $1}' | paste -sd ',')" -fi - -# I don't fully understand following several lines of code -# I rewrite TianyiShi2001's python script, he rewrites NeteaseCloudMusicApi -text="$(printf '{"ids":"[%s]","br":999000,"header":{%s}}' "$ids" "$cookie")" -message="nobody${url}use${text}md5forencrypt" -digest="$(printf '%s' "$message" | openssl dgst -md5 -hex | awk '{print $2}')" -params="$(printf '%s-36cd479b6b5-%s-36cd479b6b5-%s' "$url" "$text" "$digest")" -encrypted_params="$(printf '%s' "$params" | openssl enc -aes-128-ecb -K "$key" | hexdump -ve '/1 "%02X"')" -# curl default user agent header seems not working -curl -s -A "$user_agent" -d params="$encrypted_params" 'https://interface3.music.163.com/eapi/song/enhance/player/url' | jq -r '.data|sort_by(.id)|.[].url' > "$dl_urls_tmp" -[ "$(echo "$data" | wc -l)" -ne "$(wc -l < "$dl_urls_tmp")" ] && die "number of download urls doesn't match request" - -# can't download some music if live abroad, may need proxy or vpn -# using user_agent, content-type header, cookie header, referer are not necessary? but feels faster -# not sure about cookie header format for aria2c, this link shows that it's kinda messy, so I didn't use it -# https://github.com/aria2/aria2/issues/545#issuecomment-650070869 -echo "$data" | awk -F'\t' '{printf(" out=%s_%s.mp3\n",$2,$1)}' | paste "$dl_urls_tmp" - -d '\n' | aria2c -U "$user_agent" --header='Content-Type: application/x-www-form-urlencoded' --referer='https://music.163.com' -d "$download_dir" --auto-file-renaming=false --console-log-level=warn -i- -rm "$dl_urls_tmp" diff --git a/home/xyz/.local/bin/curlqb b/home/xyz/.local/bin/curlqb deleted file mode 100755 index c3f6871b..00000000 --- a/home/xyz/.local/bin/curlqb +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh - -curl -s 'https://github.com/qbittorrent/search-plugins/wiki/Unofficial-search-plugins' | awk -F'"' ' -/require an account/ {exit} -/\.py/ { -	url=$2 -	getline -	getline -	getline -	if($0 !~ /❗|✖/) -		print url -} -' | xargs curl -s -Z -L --remote-name-all --create-dirs --output-dir "$1" -- diff --git a/home/xyz/.local/bin/mpva b/home/xyz/.local/bin/mpva deleted file mode 100755 index a54dfa99..00000000 --- a/home/xyz/.local/bin/mpva +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# MPV Audio - -# fzf has --read0, maybe useful -# use --loop-file for single file, better performance maybe - -if [ $# -eq 0 ]; then -	find "$XDG_MUSIC_DIR" | fzf -m --print0 -fi | xargs -0 sh -c ' -if [ $# -eq 1 ] && ! [ -d "$1" ]; then -	mpv --af= --loop-file=inf --video=no "$1" -else -	mpv --af= --shuffle --loop-playlist=inf --video=no "$@" -fi -' shell "$@" diff --git a/home/xyz/.local/bin/mpvy b/home/xyz/.local/bin/mpvy deleted file mode 100755 index 880d1ffa..00000000 --- a/home/xyz/.local/bin/mpvy +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh -# MPV Yank/Youtube videos -# references: -# https://www.rockyourcode.com/til-how-to-watch-youtube-videos-with-mpv-and-keyboard-shortcuts/ - -fps=30 -height=$SCR_HEIGHT -url="$(xsel -ob)" -flag=s - -# option f and h may do nothing if redownload? since same filename exist. yt-dlp won't download same file even without --auto-file-renameing=false. how improve? pass argument to aria2c? -while getopts Aabd:f:h:su: opt; do -	case $opt in -		# s: streaming, a: aria2c then mpv, A: aria2c -		A|a|s) flag=$opt;; -		b) format='bestvideo+bestaudio/best';; -		d) download_dir="$OPTARG";; -		f) fps="$OPTARG";; -		h) height="$OPTARG";; -		u) url="$OPTARG";; -		\?) exit 1;; -	esac -done -if [ -z "$format" ]; then -	vformat="[height<=?$height][fps<=?$fps][vcodec!^=?vp9][vcodec!^=?av01]" -	# usually get .mp4 video + .webm audio on youtube, yt-dlp needs to merge them to .mkv -	# it used to cause problem, but I forget -	format="bestvideo$vformat+bestaudio/best$vformat" -fi - -case $flag in -	# here if use --write-sub, mpv doesn't recognize subtitles?  -	# --embed-subs is a little bit better, but still worse then direct streaming -	A) yt-dlp -f "$format" --embed-subs -P "${download_dir:-"$XDG_DOWNLOAD_DIR/mpvy/"}" --sponsorblock-remove all "$url";; -	a) yt-dlp -f "$format" --embed-subs -P "${download_dir:-"$XDG_DOWNLOAD_DIR/mpvy/"}" --sponsorblock-remove all "$url" --exec 'mpv --fs --speed=2';; -	s) mpv --ytdl-format="$format" --ytdl-raw-options='write-sub=' --fs --speed=2 "$url";; -esac -# not sure if this is the best practice, but it seems working ;) -status=$? -[ $status -ne 0 ] && notify-send 'mpvsel failed' -exit $status diff --git a/home/xyz/.local/bin/news b/home/xyz/.local/bin/news deleted file mode 100755 index bfcf283f..00000000 --- a/home/xyz/.local/bin/news +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh - -o "$BROWSER" github.com/notifications mail.google.com -# --hold must be before -e -# full window: -w156, am and pm in one line: -w114 -o alacritty --hold -e rem -c+2 -@ -w114 -o alacritty --hold -e wtr -o alacritty -e newsboat -o alacritty -e weechat -o telegram-desktop diff --git a/home/xyz/.local/bin/reco b/home/xyz/.local/bin/reco deleted file mode 100755 index 068e6ad8..00000000 --- a/home/xyz/.local/bin/reco +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/sh - -# useful urls: -# https://github.com/LukeSmithxyz/voidrice/blob/master/.local/bin/dmenurecord -# https://wiki.archlinux.org/title/FFmpeg#Screen_capture -# https://trac.ffmpeg.org/wiki/Capture/Desktop - -infofile="/tmp/recoinfo" -recodir="$XDG_VIDEOS_DIR/recordings/" -tmpdir="$recodir/tmp/" -mkdir -p "$recodir" "$tmpdir" - -if [ -e "$infofile" ]; then -	read -r pid tmpfile < "$infofile" -	kill "$pid" -	notify-send 'finish recording, start converting' -	ffmpeg -i "$tmpfile" "$recodir/$(time.uuid).mkv" -	notify-send 'finish converting' -	rm "$tmpfile" "$infofile" -else -	tmpfile="$tmpdir/$(time.uuid).mkv" -	notify-send 'prepare recording' -	# arch wiki way, no audio, less cpu use during capturing (fast?), large file size, need convert afterward -	xrectsel '%w %h %x %y' | xargs sh -c 'ffmpeg -y -loglevel quiet -f x11grab -framerate 25 -s "$2x$3" -i "$DISPLAY+$4,$5" -c:v ffvhuff "$1" & echo $!' shell "$tmpfile" | xargs -I {} printf '%s\t%s' '{}' "$tmpfile" > "$infofile" -	# another way to get subshell ffmpeg child pid -	#xrectsel '%w %h %x %y' | xargs sh -c 'ffmpeg -y -f x11grab -framerate 25 -s "$2x$3" -i "$DISPLAY+$4,$5" -c:v ffvhuff "$1"' shell "$tmpfile" & -	#printf '%s\t%s' "$(ps -o pid= --ppid $!)" "$tmpfile" > "$infofile" -fi diff --git a/home/xyz/.local/bin/sbar b/home/xyz/.local/bin/sbar deleted file mode 100755 index 19789091..00000000 --- a/home/xyz/.local/bin/sbar +++ /dev/null @@ -1,65 +0,0 @@ -#!/bin/sh -# modified from pystardust, GPLv3 license: https://github.com/pystardust/sbar - -# INIT -sec=0 - -# MODULES -update_time () {  -	time="$(date '+%a %m/%d %H:%M') $(TZ=Asia/Shanghai date '+/%d %H:')" -} - -update_cap () {  -	cap="$(if xset q | grep -q "Caps Lock: *on"; then echo A; else echo a; fi)" -} - -update_net () {  -	net="$(if nmcli -t --fields type,state device | grep -q '\(ethernet\|wifi\):connected'; then echo 1; else echo 0; fi)" -	vpn="$(if nmcli -t --fields type,state device | grep -q 'tun:connected'; then echo 1; else echo 0; fi)" -} - -update_vol () {  -	# $(NF-1) for both alsa and pulseaudio -	vol="$(amixer get Master | awk -F'[][]' 'END{printf("%d %s",($(NF-1)=="on")?1:0,$2)}')" -} - -update_mic () {  -	# $(NF-1) for both alsa and pulseaudio -	mic="$(amixer get Capture | awk -F '[][]' 'END{print ($(NF-1)=="on")?1:0}')" -} - -update_bat () {  -	bat="$(cat /sys/class/power_supply/BAT1/capacity)%" -} - -display () { -	xsetroot -name "$time | N $net V $vpn | M $vol C $mic | $cap | $bat" -} - -# modules that don't update on their own need to be run at the start for getting their initial value -update_net -update_vol -update_mic - -# SIGNALLING -# trap	"<function>;display"	"RTMIN+n" -trap	"update_mic;display" 	"RTMIN" -trap	"update_vol;display"	"RTMIN+1" -# xev can't read my toggle internet keyboard key, don't know what key to use in sxhkd to send signal -trap	"update_net;display"	"RTMIN+2" -trap	"update_cap;display"	"RTMIN+3" -# to update it from external commands -## kill -m $(pidof -x sbar) -# where m = 34 + n - -while :; do -	sleep 1 & -	wait -	[ $((sec % 5 )) -eq 0 ] && update_time 	# update time every 5 seconds -	[ $((sec % 60)) -eq 0 ] && update_net -	update_cap -	[ $((sec % 60)) -eq 0 ] && update_bat -	# how often the display updates ( 5 seconds ) -	[ $((sec % 5 )) -eq 0 ] && display -	sec=$((sec + 1)) -done diff --git a/home/xyz/.local/bin/shufwall b/home/xyz/.local/bin/shufwall deleted file mode 100755 index 5b249e12..00000000 --- a/home/xyz/.local/bin/shufwall +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh - -if [ -z "$1" ]; then -	file=$(find -L "$XDG_PICTURES_DIR/wallpapers" -type f | shuf -n 1) -else -	file=$(find -L "$@" -maxdepth 1 -type f | shuf -n 1) -fi - -display -resize "${SCR_WIDTH}x$SCR_HEIGHT" -backdrop -window root "$file" diff --git a/home/xyz/.local/bin/topa b/home/xyz/.local/bin/topa deleted file mode 100755 index e921bc31..00000000 --- a/home/xyz/.local/bin/topa +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -o alacritty -e htop -o alacritty -e radeontop -c -o alacritty -e sudo iotop -o alacritty -e sudo nethogs diff --git a/home/xyz/.local/bin/zoom b/home/xyz/.local/bin/zoom deleted file mode 120000 index c81c2c75..00000000 --- a/home/xyz/.local/bin/zoom +++ /dev/null @@ -1 +0,0 @@ -/usr/bin/zoom-firejail
\ No newline at end of file diff --git a/home/xyz/.local/share/applications/file.desktop b/home/xyz/.local/share/applications/file.desktop deleted file mode 100644 index 5429fcc7..00000000 --- a/home/xyz/.local/share/applications/file.desktop +++ /dev/null @@ -1,4 +0,0 @@ -[Desktop Entry] -Type=Application -Name=File Manager -Exec=alacritty --working-directory %u diff --git a/home/xyz/.xinitrc b/home/xyz/.xinitrc deleted file mode 100644 index 97bbe93d..00000000 --- a/home/xyz/.xinitrc +++ /dev/null @@ -1,60 +0,0 @@ -#!/bin/sh - -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 - -if [ -f $sysmodmap ]; then -	xmodmap $sysmodmap -fi - -if [ -f "$userresources" ]; then -	xrdb -merge "$userresources" -fi - -if [ -f "$usermodmap" ]; then -	xmodmap "$usermodmap" -fi - -# start some nice programs - -if [ -d /etc/X11/xinit/xinitrc.d ] ; then -	for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do -		[ -x "$f" ] && . "$f" -	done -	unset f -fi - -#if [ -e "$XDG_PICTURES_DIR/wallpapers/wallpaper" ]; then -#	display -window root "$XDG_PICTURES_DIR/wallpapers/wallpaper" & -#else  -#	shufwall & -#fi - -#clipmenud & -fcitx5 -d -redshift & -sbar & -# udiskie recommanded to auto start here in .xinitrc, see: -# https://github.com/coldfix/udiskie/issues/93 -# https://github.com/coldfix/udiskie/issues/226 -udiskie & -# xorg-server 21.1.1-2 set correct dpi for my computer, but I choose to take the blue pill -# Attention, don't use & at the end otherwise dwm status bar won't have proper dpi. -# xorg-server 21.1.1-3 "fixed" it, so no need now -#xrandr --dpi 96 -# default fastest windows 10 keyboard repeat delay and rate -# without editing registry, using filter key, or other third party program -# see http://stereopsis.com/keyrepeat/ -xset r rate 250 30 -# https://dianne.skoll.ca/wiki/Remind_FAQ#How_can_I_generate_popup_windows_to_warn_me_of_timed_reminders.3F -rem -z -k'notify-send -u critical "reminder" %s &' & -alacritty & -exec dwm | 
