diff options
Diffstat (limited to 'home')
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 |