diff options
| author | Syndamia <kamen@syndamia.com> | 2022-08-05 12:30:29 +0300 |
|---|---|---|
| committer | Syndamia <kamen@syndamia.com> | 2022-08-05 12:30:29 +0300 |
| commit | c91d299887d93d6e8940b80442bf6c2f10fe6a64 (patch) | |
| tree | 4669e410707026952d56f2cdae7764bf0a39773d | |
| parent | 80b4c81b618d4e75b301ac1dd5adfb47f91deca7 (diff) | |
| download | dotfiles-c91d299887d93d6e8940b80442bf6c2f10fe6a64.tar dotfiles-c91d299887d93d6e8940b80442bf6c2f10fe6a64.tar.gz dotfiles-c91d299887d93d6e8940b80442bf6c2f10fe6a64.zip | |
Added a lot of untracked files and updated other files
| -rw-r--r-- | .bash_profile | 8 | ||||
| -rw-r--r-- | .claws-mail/colorlabelrc | 7 | ||||
| -rw-r--r-- | .claws-mail/pagesetuprc | 10 | ||||
| -rw-r--r-- | .claws-mail/toolbar_compose.xml | 11 | ||||
| -rw-r--r-- | .claws-mail/toolbar_main.xml | 18 | ||||
| -rw-r--r-- | .config/flameshot/flameshot.ini | 10 | ||||
| -rw-r--r-- | .config/gtk-3.0/settings.ini | 2 | ||||
| -rw-r--r-- | .config/jgmenu/append.csv | 2 | ||||
| -rw-r--r-- | .dmrc | 3 | ||||
| -rw-r--r-- | .gitignore | 32 | ||||
| -rw-r--r-- | .gtkrc-2.0 | 19 | ||||
| -rw-r--r-- | .screenrc | 13 | ||||
| -rw-r--r-- | .sylpheed-2.0/actionsrc | 1 | ||||
| -rw-r--r-- | .sylpheed-2.0/colorlabelrc | 7 | ||||
| -rw-r--r-- | .sylpheed-2.0/pagesetuprc | 10 | ||||
| -rw-r--r-- | .sylpheed-2.0/sylpheedrc | 250 | ||||
| -rw-r--r-- | .tmux.conf | 1 | ||||
| -rw-r--r-- | .xtimidity | 16 | ||||
| m--------- | .zsh/alien | 0 | ||||
| -rw-r--r-- | .zsh/homelander.zsh | 4 | ||||
| -rw-r--r-- | .zsh/omz/README.txt | 2 | ||||
| -rw-r--r-- | .zsh/omz/compfix.zsh | 40 | ||||
| -rw-r--r-- | .zsh/omz/history.zsh | 40 | ||||
| -rw-r--r-- | .zsh/omz/key-bindings.zsh | 138 | ||||
| -rw-r--r-- | .zsh/omz/spectrum.zsh | 35 | ||||
| -rw-r--r-- | .zsh/omz/termsupport.zsh | 137 | ||||
| m--------- | .zsh/zsh-history-substring-search | 0 | ||||
| m--------- | .zsh/zsh-syntax-highlighting | 0 |
28 files changed, 804 insertions, 12 deletions
diff --git a/.bash_profile b/.bash_profile new file mode 100644 index 0000000..55136b9 --- /dev/null +++ b/.bash_profile @@ -0,0 +1,8 @@ +# .bash_profile + +# Get the aliases and functions +if [ -f ~/.bashrc ]; then + . ~/.bashrc +fi + +# User specific environment and startup programs diff --git a/.claws-mail/colorlabelrc b/.claws-mail/colorlabelrc new file mode 100644 index 0000000..9e5f5f8 --- /dev/null +++ b/.claws-mail/colorlabelrc @@ -0,0 +1,7 @@ + + + + + + + diff --git a/.claws-mail/pagesetuprc b/.claws-mail/pagesetuprc new file mode 100644 index 0000000..e9374d8 --- /dev/null +++ b/.claws-mail/pagesetuprc @@ -0,0 +1,10 @@ +[Page Setup] +PPDName=A4 +DisplayName=A4 +Width=210 +Height=297 +MarginTop=6.3499999999999996 +MarginBottom=14.224 +MarginLeft=6.3499999999999996 +MarginRight=6.3499999999999996 +Orientation=portrait diff --git a/.claws-mail/toolbar_compose.xml b/.claws-mail/toolbar_compose.xml new file mode 100644 index 0000000..0dc3c87 --- /dev/null +++ b/.claws-mail/toolbar_compose.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<toolbar> + <item file="mail_send" text="Send" action="A_SEND"/> + <item file="mail_send_queue" text="Send later" action="A_SEND_LATER"/> + <item file="mail_draft" text="Draft" action="A_DRAFT"/> + <separator/> + <item file="insert_file" text="Insert" action="A_INSERT"/> + <item file="mail_attach" text="Attach" action="A_ATTACH"/> + <separator/> + <item file="address_book" text="Address" action="A_ADDRBOOK"/> +</toolbar> diff --git a/.claws-mail/toolbar_main.xml b/.claws-mail/toolbar_main.xml new file mode 100644 index 0000000..e67d25f --- /dev/null +++ b/.claws-mail/toolbar_main.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<toolbar> + <item file="mail_receive_all" text="Get Mail" action="A_RECEIVE_ALL"/> + <separator/> + <item file="mail_send_queue" text="Send" action="A_SEND_QUEUED"/> + <item file="mail_compose" text="Compose" action="A_COMPOSE_EMAIL"/> + <item file="notice_note" text="Proc" action="A_RUN_PROCESSING"/> + <separator/> + <item file="mail_reply" text="Reply" action="A_REPLY_MESSAGE"/> + <item file="mail_reply_to_all" text="All" action="A_REPLY_ALL"/> + <item file="mail_reply_to_author" text="Sender" action="A_REPLY_SENDER"/> + <item file="mail_forward" text="Forward" action="A_FORWARD"/> + <separator/> + <item file="trash_btn" text="Wastebin" action="A_TRASH"/> + <item file="spam_btn" text="Spam" action="A_LEARN_SPAM"/> + <separator/> + <item file="down_arrow" text="Next" action="A_GOTO_NEXT"/> +</toolbar> diff --git a/.config/flameshot/flameshot.ini b/.config/flameshot/flameshot.ini index 2c26675..58e243f 100644 --- a/.config/flameshot/flameshot.ini +++ b/.config/flameshot/flameshot.ini @@ -1,14 +1,14 @@ [General] -buttons=@Variant(\0\0\0\x7f\0\0\0\vQList<int>\0\0\0\0\v\0\0\0\0\0\0\0\x1\0\0\0\x2\0\0\0\x3\0\0\0\x6\0\0\0\x12\0\0\0\a\0\0\0\b\0\0\0\n\0\0\0\v\0\0\0\f) +buttons=@Variant(\0\0\0\x7f\0\0\0\vQList<int>\0\0\0\0\r\0\0\0\0\0\0\0\x1\0\0\0\x2\0\0\0\x3\0\0\0\x6\0\0\0\x12\0\0\0\a\0\0\0\b\0\0\0\t\0\0\0\x10\0\0\0\n\0\0\0\v\0\0\0\f) contrastOpacity=76 disabledTrayIcon=false drawColor=#ff0000 -drawThickness=4 +drawFontSize=8 +drawThickness=9 filenamePattern=%H-%M_%d-%m-%Y -ignoreUpdateToVersion=0.10.1 -savePath=/home/kamen/Pictures +ignoreUpdateToVersion=12.0.0 +savePath=/home/kamen/Downloads savePathFixed=false -setSaveAsFileExtension=Portable Network Graphic file (PNG) (*.png) showDesktopNotification=false showHelp=false showSidePanelButton=false diff --git a/.config/gtk-3.0/settings.ini b/.config/gtk-3.0/settings.ini index 7031aba..427b900 100644 --- a/.config/gtk-3.0/settings.ini +++ b/.config/gtk-3.0/settings.ini @@ -12,5 +12,5 @@ gtk-enable-event-sounds=1 gtk-enable-input-feedback-sounds=1 gtk-xft-antialias=1 gtk-xft-hinting=1 -gtk-xft-hintstyle=hintmedium +gtk-xft-hintstyle=hintfull gtk-xft-rgba=rgb diff --git a/.config/jgmenu/append.csv b/.config/jgmenu/append.csv index 5205ea4..3124551 100644 --- a/.config/jgmenu/append.csv +++ b/.config/jgmenu/append.csv @@ -2,6 +2,6 @@ Log Out,~/.a/sys/on-wm-logout.sh && pkill -KILL -u $USER,system-log-out Lock Now,~/.i3lock/lock.sh now,system-lock-screen ^sep() -Suspend,~/.i3lock/lock.sh suspend,system-suspend +Suspend,~/.a/sys/lock.sh suspend,system-suspend Reboot,~/.a/sys/on-wm-logout.sh && loginctl reboot,system-reboot Shutdown,~/.a/sys/on-wm-logout.sh && loginctl poweroff,system-shutdown @@ -0,0 +1,3 @@ +[Desktop] +Language=en_GB.utf8 +Session=openbox @@ -3,21 +3,34 @@ !.gitignore !.angular-config.json !.bashrc +!.bash_profile !.fehbg !.globalgitignore -!.gtkrc-2 +!.gtkrc-2.0 !.lwarc !.Xresources !.xsession - -!bin -bin/* -!bin/ramwolf +!.xtimidity +!.tmux.conf +!.screenrc +!.dmrc !.a .a/sys/lockscreen.png .a/sys/suspend-history +!.claws-mail +.claws-mail/* +!.claws-mail/colorlabelrc +!.claws-mail/pagesetuprc +!.claws-mail/toolbar_compose.xml +!.claws-mail/toolbar_main.xml +!.claws-mail/toolabr_msgview.xml + +!bin +bin/* +!bin/ramwolf + !.local/ .local/* !.local/share/ @@ -68,3 +81,12 @@ bin/* !.runelite/ .runelite/* !.runelite/settings.properties + +!.sylpheed-2.0 +.sylpheed-2.0/* +!.sylpheed-2.0/actionsrc +!.sylpheed-2.0/colorlabelrc +!.sylpheed-2.0/pagesetuprc +!.sylpheed-2.0/sylpheedrc + +!.zsh diff --git a/.gtkrc-2.0 b/.gtkrc-2.0 new file mode 100644 index 0000000..8de8b93 --- /dev/null +++ b/.gtkrc-2.0 @@ -0,0 +1,19 @@ +# DO NOT EDIT! This file will be overwritten by LXAppearance. +# Any customization should be done in ~/.gtkrc-2.0.mine instead. + +include "/home/kamen/.gtkrc-2.0.mine" +gtk-theme-name="Mint-Y-Dark-Blue" +gtk-icon-theme-name="Mint-Y-Dark-Blue" +gtk-font-name="Noto Sans 10" +gtk-cursor-theme-name="oreo_black_bordered_cursors" +gtk-cursor-theme-size=0 +gtk-toolbar-style=GTK_TOOLBAR_BOTH +gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR +gtk-button-images=1 +gtk-menu-images=1 +gtk-enable-event-sounds=1 +gtk-enable-input-feedback-sounds=1 +gtk-xft-antialias=1 +gtk-xft-hinting=1 +gtk-xft-hintstyle="hintfull" +gtk-xft-rgba="rgb" diff --git a/.screenrc b/.screenrc new file mode 100644 index 0000000..543e198 --- /dev/null +++ b/.screenrc @@ -0,0 +1,13 @@ +# no welcome message +startup_message off + +# the following two lines give a two-line status, with the current window highlighted +hardstatus alwaysfirstline +hardstatus string '%{= g} %{= w}%-Lw%{=r}%n%f* %t%{-}%+LW' + +# huge scrollback buffer +defscrollback 10000 + +# mouse tracking allows to switch region focus by clicking +mousetrack on +defmousetrack on diff --git a/.sylpheed-2.0/actionsrc b/.sylpheed-2.0/actionsrc new file mode 100644 index 0000000..a1fc2ff --- /dev/null +++ b/.sylpheed-2.0/actionsrc @@ -0,0 +1 @@ +Render: brave-bin --app="%f" diff --git a/.sylpheed-2.0/colorlabelrc b/.sylpheed-2.0/colorlabelrc new file mode 100644 index 0000000..9e5f5f8 --- /dev/null +++ b/.sylpheed-2.0/colorlabelrc @@ -0,0 +1,7 @@ + + + + + + + diff --git a/.sylpheed-2.0/pagesetuprc b/.sylpheed-2.0/pagesetuprc new file mode 100644 index 0000000..e9374d8 --- /dev/null +++ b/.sylpheed-2.0/pagesetuprc @@ -0,0 +1,10 @@ +[Page Setup] +PPDName=A4 +DisplayName=A4 +Width=210 +Height=297 +MarginTop=6.3499999999999996 +MarginBottom=14.224 +MarginLeft=6.3499999999999996 +MarginRight=6.3499999999999996 +Orientation=portrait diff --git a/.sylpheed-2.0/sylpheedrc b/.sylpheed-2.0/sylpheedrc new file mode 100644 index 0000000..f192ea0 --- /dev/null +++ b/.sylpheed-2.0/sylpheedrc @@ -0,0 +1,250 @@ +[Common] +autochk_newmail=1 +autochk_interval=1 +check_on_startup=1 +scan_all_after_inc=0 +enable_newmsg_notify=1 +newmsg_notify_command=notify-send Test +enable_newmsg_notify_sound=0 +newmsg_notify_sound= +enable_newmsg_notify_window=1 +notify_window_period=10 +inc_local=0 +filter_on_inc_local=1 +spool_path=/var/mail +save_message=1 +filter_sent_message=1 +recipients_autoreg=1 +show_send_dialog=1 +encoding_method=0 +mime_filename_encoding_method=0 +check_attach=0 +check_attach_str= +check_recipients=0 +check_recp_exclude= +allow_jisx0201_kana=0 +auto_signature=1 +signature_separator=-- +auto_ext_editor=0 +undo_level=50 +linewrap_length=72 +linewrap_quotation=0 +linewrap_auto=0 +enable_autosave=0 +autosave_interval=5 +reply_with_quote=1 +reply_account_autoselect=1 +default_reply_list=1 +inherit_recipient_on_self_reply=0 +reply_address_only=0 +show_ruler=1 +reply_quote_mark=> +reply_quote_format=On %d\n%f wrote:\n\n%Q +forward_quote_mark=> +forward_quote_format=\n\nBegin forwarded message:\n\n?d{Date: %d\n}?f{From: %f\n}?t{To: %t\n}?c{Cc: %c\n}?n{Newsgroups: %n\n}?s{Subject: %s\n}\n\n%M +check_spell=0 +spell_lang=en +message_font_name=Monospace 12 +display_folder_unread_num=1 +display_folder_num_columns=0 +folder_col_show_new=0 +folder_col_show_unread=0 +folder_col_show_total=0 +newsgroup_abbrev_len=16 +translate_header=1 +enable_swap_from=0 +date_format=%y/%m/%d(%a) %H:%M +expand_thread=1 +enable_rules_hint=1 +bold_unread=1 +persist_qsearch_filter=1 +toolbar_style=4 +show_searchbar=1 +show_statusbar=1 +main_toolbar_setting=get,get-all,separator,send-queue,separator,compose,reply,reply-all,forward,separator,delete,junk,separator,next,separator,search,print,address-book +compose_toolbar_setting= +layout_type=1 +summary_col_show_mark=1 +summary_col_show_unread=1 +summary_col_show_mime=1 +summary_col_show_subject=1 +summary_col_show_from=1 +summary_col_show_date=1 +summary_col_show_size=1 +summary_col_show_number=0 +summary_col_show_to=0 +summary_col_pos_mark=0 +summary_col_pos_unread=1 +summary_col_pos_mime=2 +summary_col_pos_subject=3 +summary_col_pos_from=4 +summary_col_pos_date=5 +summary_col_pos_size=6 +summary_col_pos_number=7 +summary_col_pos_to=8 +summary_sent_col_show_mark=1 +summary_sent_col_show_unread=1 +summary_sent_col_show_mime=1 +summary_sent_col_show_subject=1 +summary_sent_col_show_from=0 +summary_sent_col_show_date=1 +summary_sent_col_show_size=1 +summary_sent_col_show_number=0 +summary_sent_col_show_to=1 +summary_sent_col_pos_mark=0 +summary_sent_col_pos_unread=1 +summary_sent_col_pos_mime=2 +summary_sent_col_pos_subject=3 +summary_sent_col_pos_from=8 +summary_sent_col_pos_date=5 +summary_sent_col_pos_size=6 +summary_sent_col_pos_number=7 +summary_sent_col_pos_to=4 +summary_col_size_mark=21 +summary_col_size_unread=24 +summary_col_size_mime=19 +summary_col_size_subject=558 +summary_col_size_from=139 +summary_col_size_date=158 +summary_col_size_size=45 +summary_col_size_number=40 +summary_col_size_to=120 +folderwin_x=16 +folderwin_y=16 +folderview_width=179 +folderview_height=950 +folderview_visible=1 +folder_col_folder=177 +folder_col_new=32 +folder_col_unread=32 +folder_col_total=32 +summaryview_width=600 +summaryview_height=404 +summaryview_vwidth=979 +summaryview_vheight=912 +main_messagewin_x=256 +main_messagewin_y=210 +messageview_width=600 +messageview_height=300 +messageview_vwidth=750 +messageview_vheight=912 +messageview_visible=1 +mainview_x=0 +mainview_y=0 +mainview_width=600 +mainview_height=1051 +mainwin_x=0 +mainwin_y=0 +mainwin_width=1918 +mainwin_height=1051 +messagewin_width=1118 +messagewin_height=688 +mainwin_maximized=0 +sourcewin_width=600 +sourcewin_height=500 +compose_x=566 +compose_y=225 +compose_width=600 +compose_height=560 +compose_maximized=0 +addressbook_x=32 +addressbook_y=32 +addressbook_width=620 +addressbook_height=360 +addressbook_folder_width=190 +addressbook_col_name=164 +addressbook_col_addr=156 +addressbook_col_nickname=120 +addressbook_col_rem=100 +enable_color=1 +quote_level1_color=179 +quote_level2_color=179 +quote_level3_color=179 +uri_color=32512 +signature_color=0 +recycle_quote_colors=0 +convert_mb_alnum=0 +display_header_pane=1 +show_attach_tab=0 +show_attached_files_first=1 +attach_toolbutton_pos=0 +display_header=1 +render_html=0 +alt_prefer_html=0 +html_only_as_attach=0 +line_space=2 +textview_cursor_visible=0 +enable_smooth_scroll=0 +scroll_step=1 +scroll_half_page=0 +resize_image=1 +inline_image=1 +default_encoding= +outgoing_charset= +show_other_header=0 +mime_image_viewer= +mime_audio_player= +mime_open_command=gedit '%s' +mime_command= +enable_junk=0 +junk_learn_command=bogofilter -N -s -I +nojunk_learn_command=bogofilter -n -S -I +junk_classify_command=bogofilter -I +junk_folder= +filter_junk_on_receive=0 +filter_junk_before=0 +delete_junk_on_receive=1 +nofilter_junk_sender_in_book=1 +mark_junk_as_read=0 +auto_check_signatures=1 +gpg_signature_popup=0 +store_passphrase=0 +store_passphrase_timeout=0 +passphrase_grab=0 +show_gpg_warning=1 +separate_folder=0 +separate_message=0 +always_show_message_when_selected=1 +open_unread_on_enter=0 +always_mark_read_on_show_msg=1 +remember_last_selected=0 +mark_as_read_on_new_window=0 +open_inbox_on_inc=0 +open_inbox_on_startup=0 +change_account_on_folder_selection=1 +immediate_execution=1 +comply_gnome_hig=1 +show_trayicon=1 +minimize_to_tray=1 +toggle_window_on_trayicon_click=1 +receive_dialog_mode=1 +no_receive_error_panel=0 +close_receive_dialog=1 +add_address_by_click=0 +enable_address_completion=1 +fullauto_completion_mode=1 +always_add_address_only=0 +confirm_on_exit=0 +clean_trash_on_exit=0 +ask_on_cleaning=1 +warn_queued_on_exit=1 +logwindow_line_limit=1000 +online_mode=1 +startup_online_mode=1 +uri_open_command=xdg-open '%s' +ext_editor_command=gedit %s +use_print_command=0 +print_command=lpr %s +use_ext_inc=0 +ext_inc_path=/usr/bin/mh/inc +use_ext_sendmail=0 +ext_sendmail_cmd=/usr/sbin/sendmail -t -i +auto_update_check=1 +use_http_proxy=0 +http_proxy_host= +strict_cache_check=0 +io_timeout_secs=60 +filesel_prev_open_dir= +filesel_prev_save_dir= +filesel_prev_folder_dir= +filesel_save_file_type=0 diff --git a/.tmux.conf b/.tmux.conf new file mode 100644 index 0000000..207d7e8 --- /dev/null +++ b/.tmux.conf @@ -0,0 +1 @@ +set -g mouse on diff --git a/.xtimidity b/.xtimidity new file mode 100644 index 0000000..661f0de --- /dev/null +++ b/.xtimidity @@ -0,0 +1,16 @@ +set RepeatPlay 0 +set ShufflePlay 0 +set ExtOptions 47 +set ChorusOption 1 +set CurVol 70 +set Showdotfiles 0 +set DefaultDir /home/kamen +set Disp:trace 0 +set Disp:text 1 +set Tooltips 1 +set AutoStart 1 +set AutoExit 0 +set ConfirmExit 0 +set SaveList 1 +set SaveConfigOnExit 1 +set File /mnt/Svalbard/Music/Music 2.3/Pre-1999/dragonsfunk.mod diff --git a/.zsh/alien b/.zsh/alien new file mode 160000 +Subproject 0c94df198a907c410c953a989ced3cd159efe80 diff --git a/.zsh/homelander.zsh b/.zsh/homelander.zsh new file mode 100644 index 0000000..f2a3dc1 --- /dev/null +++ b/.zsh/homelander.zsh @@ -0,0 +1,4 @@ +precmd() { + print ">" +} +export PROMPT=" " diff --git a/.zsh/omz/README.txt b/.zsh/omz/README.txt new file mode 100644 index 0000000..109ffd2 --- /dev/null +++ b/.zsh/omz/README.txt @@ -0,0 +1,2 @@ +Library/Plugins from ohmyzsh +https://github.com/ohmyzsh/ohmyzsh/tree/master/lib diff --git a/.zsh/omz/compfix.zsh b/.zsh/omz/compfix.zsh new file mode 100644 index 0000000..290760e --- /dev/null +++ b/.zsh/omz/compfix.zsh @@ -0,0 +1,40 @@ +# Handle completions insecurities (i.e., completion-dependent directories with +# insecure ownership or permissions) by: +# +# * Human-readably notifying the user of these insecurities. +function handle_completion_insecurities() { + # List of the absolute paths of all unique insecure directories, split on + # newline from compaudit()'s output resembling: + # + # There are insecure directories: + # /usr/share/zsh/site-functions + # /usr/share/zsh/5.0.6/functions + # /usr/share/zsh + # /usr/share/zsh/5.0.6 + # + # Since the ignorable first line is printed to stderr and thus not captured, + # stderr is squelched to prevent this output from leaking to the user. + local -aU insecure_dirs + insecure_dirs=( ${(f@):-"$(compaudit 2>/dev/null)"} ) + + # If no such directories exist, get us out of here. + [[ -z "${insecure_dirs}" ]] && return + + # List ownership and permissions of all insecure directories. + print "[oh-my-zsh] Insecure completion-dependent directories detected:" + ls -ld "${(@)insecure_dirs}" + + cat <<EOD +[omz] For safety, we will not load completions from these directories until +[omz] you fix their permissions and ownership and restart zsh. +[omz] See the above list for directories with group or other writability. +[omz] To fix your permissions you can do so by disabling +[omz] the write permission of "group" and "others" and making sure that the +[omz] owner of these directories is either root or your current user. +[omz] The following command may help: +[omz] compaudit | xargs chmod g-w,o-w +[omz] If the above didn't help or you want to skip the verification of +[omz] insecure directories you can set the variable ZSH_DISABLE_COMPFIX to +[omz] "true" before oh-my-zsh is sourced in your zshrc file. +EOD +} diff --git a/.zsh/omz/history.zsh b/.zsh/omz/history.zsh new file mode 100644 index 0000000..7940769 --- /dev/null +++ b/.zsh/omz/history.zsh @@ -0,0 +1,40 @@ +## History wrapper +function omz_history { + local clear list + zparseopts -E c=clear l=list + + if [[ -n "$clear" ]]; then + # if -c provided, clobber the history file + echo -n >| "$HISTFILE" + fc -p "$HISTFILE" + echo >&2 History file deleted. + elif [[ -n "$list" ]]; then + # if -l provided, run as if calling `fc' directly + builtin fc "$@" + else + # unless a number is provided, show all history events (starting from 1) + [[ ${@[-1]-} = *[0-9]* ]] && builtin fc -l "$@" || builtin fc -l "$@" 1 + fi +} + +# Timestamp format +case ${HIST_STAMPS-} in + "mm/dd/yyyy") alias history='omz_history -f' ;; + "dd.mm.yyyy") alias history='omz_history -E' ;; + "yyyy-mm-dd") alias history='omz_history -i' ;; + "") alias history='omz_history' ;; + *) alias history="omz_history -t '$HIST_STAMPS'" ;; +esac + +## History file configuration +[ -z "$HISTFILE" ] && HISTFILE="$HOME/.zsh_history" +[ "$HISTSIZE" -lt 50000 ] && HISTSIZE=50000 +[ "$SAVEHIST" -lt 10000 ] && SAVEHIST=10000 + +## History command configuration +setopt extended_history # record timestamp of command in HISTFILE +setopt hist_expire_dups_first # delete duplicates first when HISTFILE size exceeds HISTSIZE +setopt hist_ignore_dups # ignore duplicated commands history list +setopt hist_ignore_space # ignore commands that start with space +setopt hist_verify # show command with history expansion to user before running it +setopt share_history # share command history data diff --git a/.zsh/omz/key-bindings.zsh b/.zsh/omz/key-bindings.zsh new file mode 100644 index 0000000..aaa7304 --- /dev/null +++ b/.zsh/omz/key-bindings.zsh @@ -0,0 +1,138 @@ +# http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html +# http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Zle-Builtins +# http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Standard-Widgets + +# Make sure that the terminal is in application mode when zle is active, since +# only then values from $terminfo are valid +if (( ${+terminfo[smkx]} )) && (( ${+terminfo[rmkx]} )); then + function zle-line-init() { + echoti smkx + } + function zle-line-finish() { + echoti rmkx + } + zle -N zle-line-init + zle -N zle-line-finish +fi + +# Use emacs key bindings +bindkey -e + +# [PageUp] - Up a line of history +if [[ -n "${terminfo[kpp]}" ]]; then + bindkey -M emacs "${terminfo[kpp]}" up-line-or-history + bindkey -M viins "${terminfo[kpp]}" up-line-or-history + bindkey -M vicmd "${terminfo[kpp]}" up-line-or-history +fi +# [PageDown] - Down a line of history +if [[ -n "${terminfo[knp]}" ]]; then + bindkey -M emacs "${terminfo[knp]}" down-line-or-history + bindkey -M viins "${terminfo[knp]}" down-line-or-history + bindkey -M vicmd "${terminfo[knp]}" down-line-or-history +fi + +# Start typing + [Up-Arrow] - fuzzy find history forward +if [[ -n "${terminfo[kcuu1]}" ]]; then + autoload -U up-line-or-beginning-search + zle -N up-line-or-beginning-search + + bindkey -M emacs "${terminfo[kcuu1]}" up-line-or-beginning-search + bindkey -M viins "${terminfo[kcuu1]}" up-line-or-beginning-search + bindkey -M vicmd "${terminfo[kcuu1]}" up-line-or-beginning-search +fi +# Start typing + [Down-Arrow] - fuzzy find history backward +if [[ -n "${terminfo[kcud1]}" ]]; then + autoload -U down-line-or-beginning-search + zle -N down-line-or-beginning-search + + bindkey -M emacs "${terminfo[kcud1]}" down-line-or-beginning-search + bindkey -M viins "${terminfo[kcud1]}" down-line-or-beginning-search + bindkey -M vicmd "${terminfo[kcud1]}" down-line-or-beginning-search +fi + +# [Home] - Go to beginning of line +if [[ -n "${terminfo[khome]}" ]]; then + bindkey -M emacs "${terminfo[khome]}" beginning-of-line + bindkey -M viins "${terminfo[khome]}" beginning-of-line + bindkey -M vicmd "${terminfo[khome]}" beginning-of-line +fi +# [End] - Go to end of line +if [[ -n "${terminfo[kend]}" ]]; then + bindkey -M emacs "${terminfo[kend]}" end-of-line + bindkey -M viins "${terminfo[kend]}" end-of-line + bindkey -M vicmd "${terminfo[kend]}" end-of-line +fi + +# [Shift-Tab] - move through the completion menu backwards +if [[ -n "${terminfo[kcbt]}" ]]; then + bindkey -M emacs "${terminfo[kcbt]}" reverse-menu-complete + bindkey -M viins "${terminfo[kcbt]}" reverse-menu-complete + bindkey -M vicmd "${terminfo[kcbt]}" reverse-menu-complete +fi + +# [Backspace] - delete backward +bindkey -M emacs '^?' backward-delete-char +bindkey -M viins '^?' backward-delete-char +bindkey -M vicmd '^?' backward-delete-char +# [Delete] - delete forward +if [[ -n "${terminfo[kdch1]}" ]]; then + bindkey -M emacs "${terminfo[kdch1]}" delete-char + bindkey -M viins "${terminfo[kdch1]}" delete-char + bindkey -M vicmd "${terminfo[kdch1]}" delete-char +else + bindkey -M emacs "^[[3~" delete-char + bindkey -M viins "^[[3~" delete-char + bindkey -M vicmd "^[[3~" delete-char + + bindkey -M emacs "^[3;5~" delete-char + bindkey -M viins "^[3;5~" delete-char + bindkey -M vicmd "^[3;5~" delete-char +fi + +# [Ctrl-Delete] - delete whole forward-word +bindkey -M emacs '^[[3;5~' kill-word +bindkey -M viins '^[[3;5~' kill-word +bindkey -M vicmd '^[[3;5~' kill-word + +# [Ctrl-RightArrow] - move forward one word +bindkey -M emacs '^[[1;5C' forward-word +bindkey -M viins '^[[1;5C' forward-word +bindkey -M vicmd '^[[1;5C' forward-word +# [Ctrl-LeftArrow] - move backward one word +bindkey -M emacs '^[[1;5D' backward-word +bindkey -M viins '^[[1;5D' backward-word +bindkey -M vicmd '^[[1;5D' backward-word + + +bindkey '\ew' kill-region # [Esc-w] - Kill from the cursor to the mark +bindkey -s '\el' 'ls\n' # [Esc-l] - run command: ls +bindkey '^r' history-incremental-search-backward # [Ctrl-r] - Search backward incrementally for a specified string. The string may begin with ^ to anchor the search to the beginning of the line. +bindkey ' ' magic-space # [Space] - don't do history expansion + + +# Edit the current command line in $EDITOR +autoload -U edit-command-line +zle -N edit-command-line +bindkey '\C-x\C-e' edit-command-line + +# file rename magick +bindkey "^[m" copy-prev-shell-word + +# consider emacs keybindings: + +#bindkey -e ## emacs key bindings +# +#bindkey '^[[A' up-line-or-search +#bindkey '^[[B' down-line-or-search +#bindkey '^[^[[C' emacs-forward-word +#bindkey '^[^[[D' emacs-backward-word +# +#bindkey -s '^X^Z' '%-^M' +#bindkey '^[e' expand-cmd-path +#bindkey '^[^I' reverse-menu-complete +#bindkey '^X^N' accept-and-infer-next-history +#bindkey '^W' kill-region +#bindkey '^I' complete-word +## Fix weird sequence that rxvt produces +#bindkey -s '^[[Z' '\t' +# diff --git a/.zsh/omz/spectrum.zsh b/.zsh/omz/spectrum.zsh new file mode 100644 index 0000000..d5c22a8 --- /dev/null +++ b/.zsh/omz/spectrum.zsh @@ -0,0 +1,35 @@ +# A script to make using 256 colors in zsh less painful. +# P.C. Shyamshankar <sykora@lucentbeing.com> +# Copied from https://github.com/sykora/etc/blob/master/zsh/functions/spectrum/ + +typeset -AHg FX FG BG + +FX=( + reset "%{[00m%}" + bold "%{[01m%}" no-bold "%{[22m%}" + italic "%{[03m%}" no-italic "%{[23m%}" + underline "%{[04m%}" no-underline "%{[24m%}" + blink "%{[05m%}" no-blink "%{[25m%}" + reverse "%{[07m%}" no-reverse "%{[27m%}" +) + +for color in {000..255}; do + FG[$color]="%{[38;5;${color}m%}" + BG[$color]="%{[48;5;${color}m%}" +done + +# Show all 256 colors with color number +function spectrum_ls() { + local ZSH_SPECTRUM_TEXT=${ZSH_SPECTRUM_TEXT:-Arma virumque cano Troiae qui primus ab oris} + for code in {000..255}; do + print -P -- "$code: $FG[$code]$ZSH_SPECTRUM_TEXT%{$reset_color%}" + done +} + +# Show all 256 colors where the background is set to specific color +function spectrum_bls() { + local ZSH_SPECTRUM_TEXT=${ZSH_SPECTRUM_TEXT:-Arma virumque cano Troiae qui primus ab oris} + for code in {000..255}; do + print -P -- "$code: $BG[$code]$ZSH_SPECTRUM_TEXT%{$reset_color%}" + done +} diff --git a/.zsh/omz/termsupport.zsh b/.zsh/omz/termsupport.zsh new file mode 100644 index 0000000..ef0d788 --- /dev/null +++ b/.zsh/omz/termsupport.zsh @@ -0,0 +1,137 @@ +# Set terminal window and tab/icon title +# +# usage: title short_tab_title [long_window_title] +# +# See: http://www.faqs.org/docs/Linux-mini/Xterm-Title.html#ss3.1 +# Fully supports screen, iterm, and probably most modern xterm and rxvt +# (In screen, only short_tab_title is used) +# Limited support for Apple Terminal (Terminal can't set window and tab separately) +function title { + emulate -L zsh + setopt prompt_subst + + # Don't set the title if inside emacs, unless using vterm + [[ -n "$INSIDE_EMACS" && "$INSIDE_EMACS" != vterm ]] && return + + # if $2 is unset use $1 as default + # if it is set and empty, leave it as is + : ${2=$1} + + case "$TERM" in + cygwin|xterm*|putty*|rxvt*|konsole*|ansi|mlterm*|alacritty|st*) + print -Pn "\e]2;${2:q}\a" # set window name + print -Pn "\e]1;${1:q}\a" # set tab name + ;; + screen*|tmux*) + print -Pn "\ek${1:q}\e\\" # set screen hardstatus + ;; + *) + if [[ "$TERM_PROGRAM" == "iTerm.app" ]]; then + print -Pn "\e]2;${2:q}\a" # set window name + print -Pn "\e]1;${1:q}\a" # set tab name + else + # Try to use terminfo to set the title if the feature is available + if (( ${+terminfo[fsl]} && ${+terminfo[tsl]} )); then + print -Pn "${terminfo[tsl]}$1${terminfo[fsl]}" + fi + fi + ;; + esac +} + +ZSH_THEME_TERM_TAB_TITLE_IDLE="%15<..<%~%<<" #15 char left truncated PWD +ZSH_THEME_TERM_TITLE_IDLE="%n@%m:%~" +# Avoid duplication of directory in terminals with independent dir display +if [[ "$TERM_PROGRAM" == Apple_Terminal ]]; then + ZSH_THEME_TERM_TITLE_IDLE="%n@%m" +fi + +# Runs before showing the prompt +function omz_termsupport_precmd { + [[ "${DISABLE_AUTO_TITLE:-}" == true ]] && return + title $ZSH_THEME_TERM_TAB_TITLE_IDLE $ZSH_THEME_TERM_TITLE_IDLE +} + +# Runs before executing the command +function omz_termsupport_preexec { + [[ "${DISABLE_AUTO_TITLE:-}" == true ]] && return + + emulate -L zsh + setopt extended_glob + + # split command into array of arguments + local -a cmdargs + cmdargs=("${(z)2}") + # if running fg, extract the command from the job description + if [[ "${cmdargs[1]}" = fg ]]; then + # get the job id from the first argument passed to the fg command + local job_id jobspec="${cmdargs[2]#%}" + # logic based on jobs arguments: + # http://zsh.sourceforge.net/Doc/Release/Jobs-_0026-Signals.html#Jobs + # https://www.zsh.org/mla/users/2007/msg00704.html + case "$jobspec" in + <->) # %number argument: + # use the same <number> passed as an argument + job_id=${jobspec} ;; + ""|%|+) # empty, %% or %+ argument: + # use the current job, which appears with a + in $jobstates: + # suspended:+:5071=suspended (tty output) + job_id=${(k)jobstates[(r)*:+:*]} ;; + -) # %- argument: + # use the previous job, which appears with a - in $jobstates: + # suspended:-:6493=suspended (signal) + job_id=${(k)jobstates[(r)*:-:*]} ;; + [?]*) # %?string argument: + # use $jobtexts to match for a job whose command *contains* <string> + job_id=${(k)jobtexts[(r)*${(Q)jobspec}*]} ;; + *) # %string argument: + # use $jobtexts to match for a job whose command *starts with* <string> + job_id=${(k)jobtexts[(r)${(Q)jobspec}*]} ;; + esac + + # override preexec function arguments with job command + if [[ -n "${jobtexts[$job_id]}" ]]; then + 1="${jobtexts[$job_id]}" + 2="${jobtexts[$job_id]}" + fi + fi + + # cmd name only, or if this is sudo or ssh, the next cmd + local CMD=${1[(wr)^(*=*|sudo|ssh|mosh|rake|-*)]:gs/%/%%} + local LINE="${2:gs/%/%%}" + + title '$CMD' '%100>...>$LINE%<<' +} + +autoload -Uz add-zsh-hook + +if [[ -z "$INSIDE_EMACS" || "$INSIDE_EMACS" = vterm ]]; then + add-zsh-hook precmd omz_termsupport_precmd + add-zsh-hook preexec omz_termsupport_preexec +fi + +# Keep Apple Terminal.app's current working directory updated +# Based on this answer: https://superuser.com/a/315029 +# With extra fixes to handle multibyte chars and non-UTF-8 locales + +if [[ "$TERM_PROGRAM" == "Apple_Terminal" ]] && [[ -z "$INSIDE_EMACS" ]]; then + # Emits the control sequence to notify Terminal.app of the cwd + # Identifies the directory using a file: URI scheme, including + # the host name to disambiguate local vs. remote paths. + function update_terminalapp_cwd() { + emulate -L zsh + + # Percent-encode the host and path names. + local URL_HOST URL_PATH + URL_HOST="$(omz_urlencode -P $HOST)" || return 1 + URL_PATH="$(omz_urlencode -P $PWD)" || return 1 + + # Undocumented Terminal.app-specific control sequence + printf '\e]7;%s\a' "file://$URL_HOST$URL_PATH" + } + + # Use a precmd hook instead of a chpwd hook to avoid contaminating output + add-zsh-hook precmd update_terminalapp_cwd + # Run once to get initial cwd set + update_terminalapp_cwd +fi diff --git a/.zsh/zsh-history-substring-search b/.zsh/zsh-history-substring-search new file mode 160000 +Subproject 4abed97b6e67eb5590b39bcd59080aa23192f25 diff --git a/.zsh/zsh-syntax-highlighting b/.zsh/zsh-syntax-highlighting new file mode 160000 +Subproject 1a9264bc661b3d52756916bf9ec3f41687d64db |
