Updated i3, fonts and ranger configurations
This commit is contained in:
		
							parent
							
								
									afa6ce6902
								
							
						
					
					
						commit
						4160f106b3
					
				| @ -29,7 +29,10 @@ | |||||||
|     <edit mode="assign" name="hintstyle"><const>hintnone</const></edit> |     <edit mode="assign" name="hintstyle"><const>hintnone</const></edit> | ||||||
|     <edit mode="assign" name="lcdfilter"><const>lcdlight</const></edit> |     <edit mode="assign" name="lcdfilter"><const>lcdlight</const></edit> | ||||||
|   </match> |   </match> | ||||||
| 
 |  <match target="pattern"> | ||||||
|  |    <test qual="any" name="family"><string>verdana</string></test> | ||||||
|  |    <edit name="family" mode="assign" binding="same"><string>Ubuntu</string></edit> | ||||||
|  |  </match> | ||||||
|   <!-- Prefer Liberation --> |   <!-- Prefer Liberation --> | ||||||
|   <alias> |   <alias> | ||||||
|     <family>sans-serif</family> |     <family>sans-serif</family> | ||||||
|  | |||||||
| @ -48,12 +48,17 @@ exec --no-startup-id "udiskie --notify --automount" # Automounter | |||||||
| # Background software | # Background software | ||||||
| exec --no-startup-id "blueman-manager" # Bluetooth | exec --no-startup-id "blueman-manager" # Bluetooth | ||||||
| exec --no-startup-id "cantata" | exec --no-startup-id "cantata" | ||||||
|  | exec --no-startup-id "boincmgr" | ||||||
| exec --no-startup-id "nextcloud" | exec --no-startup-id "nextcloud" | ||||||
| exec --no-startup-id "pavucontrol" | exec --no-startup-id "pavucontrol" | ||||||
|  | exec --no-startup-id "keepassxc" # Password manager | ||||||
| 
 | 
 | ||||||
| # Applications | # Applications | ||||||
| exec --no-startup-id "telegram-desktop" | exec --no-startup-id "telegram-desktop" | ||||||
| 
 | 
 | ||||||
|  | # Set manual layout for tray workspace | ||||||
|  | exec --no-startup-id "i3-msg 'workspace 10:tray; append_layout /home/lanxu/.config/i3/tray.json'" | ||||||
|  | 
 | ||||||
| set $refresh_i3status killall -SIGUSR1 i3status | set $refresh_i3status killall -SIGUSR1 i3status | ||||||
| bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5% && $refresh_i3status | bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5% && $refresh_i3status | ||||||
| bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5% && $refresh_i3status | bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5% && $refresh_i3status | ||||||
| @ -158,7 +163,7 @@ set $ws5 "5:steam" | |||||||
| set $ws6 "6:lutris" | set $ws6 "6:lutris" | ||||||
| set $ws7 "7" | set $ws7 "7" | ||||||
| set $ws8 "8" | set $ws8 "8" | ||||||
| set $ws9 "9" | set $ws9 "9:pw" | ||||||
| set $ws10 "10:tray" | set $ws10 "10:tray" | ||||||
| 
 | 
 | ||||||
| # switch to workspace | # switch to workspace | ||||||
| @ -235,8 +240,9 @@ for_window [class="Arandr"] floating enable | |||||||
| for_window [title="^Telegram$"] floating enable, move scratchpad | for_window [title="^Telegram$"] floating enable, move scratchpad | ||||||
| for_window [class="itch"] floating enable | for_window [class="itch"] floating enable | ||||||
| # for_window [class="Wine"] floating enable | # for_window [class="Wine"] floating enable | ||||||
| for_window [class="mpv"] floating enabler, move position center | for_window [class="mpv"] floating enable, move position center | ||||||
| for_window [class="vlc"] floating enable | for_window [class="vlc"] floating enable | ||||||
|  | for_window [class="Mumble"] floating enable, move position center | ||||||
| for_window [class="Sxiv"] floating enable | for_window [class="Sxiv"] floating enable | ||||||
| for_window [class="Lutris"] move container to workspace $ws6 | for_window [class="Lutris"] move container to workspace $ws6 | ||||||
| for_window [class="Gimp"] move container to workspace $ws4 | for_window [class="Gimp"] move container to workspace $ws4 | ||||||
| @ -249,6 +255,12 @@ for_window [class="Nextcloud"] floating disable, move container to workspace $ws | |||||||
| for_window [class="Blueman-manager"] move container to workspace $ws10 | for_window [class="Blueman-manager"] move container to workspace $ws10 | ||||||
| for_window [class="Pavucontrol"] move container to workspace $ws10e | for_window [class="Pavucontrol"] move container to workspace $ws10e | ||||||
| for_window [class="cantata"] floating disable, move container to workspace $ws10 | for_window [class="cantata"] floating disable, move container to workspace $ws10 | ||||||
|  | for_window [class="boincmgr"] floating disable, move container to workspace $ws10 | ||||||
|  | for_window [class="KeePassXC"] move container to workspace $ws9 | ||||||
|  | 
 | ||||||
|  | # Games | ||||||
|  | for_window [class="kfgame.exe"] floating enable | ||||||
|  | for_window [class="Wine"] floating enable | ||||||
| 
 | 
 | ||||||
| # Steam | # Steam | ||||||
| # https://github.com/ValveSoftware/steam-for-linux/issues/1040 | # https://github.com/ValveSoftware/steam-for-linux/issues/1040 | ||||||
| @ -276,19 +288,43 @@ smart_gaps on | |||||||
| gaps outer 0 | gaps outer 0 | ||||||
| gaps inner 10 | gaps inner 10 | ||||||
| 
 | 
 | ||||||
|  | # https://github.com/khamer/base16-i3/tree/master/colors | ||||||
|  | 
 | ||||||
| ## Base16 Solarized Light | ## Base16 Solarized Light | ||||||
| # Author: Ethan Schoonover (modified by aramisgithub) | # Author: Ethan Schoonover (modified by aramisgithub) | ||||||
| # | # | ||||||
| # You can use these variables anywhere in the i3 configuration file. | # You can use these variables anywhere in the i3 configuration file. | ||||||
| 
 | 
 | ||||||
| set $base00 #fdf6e3 | #set $base00 #fdf6e3 | ||||||
| set $base01 #eee8d5 | #set $base01 #eee8d5 | ||||||
| set $base02 #93a1a1 | #set $base02 #93a1a1 | ||||||
| set $base03 #839496 | #set $base03 #839496 | ||||||
| set $base04 #657b83 | #set $base04 #657b83 | ||||||
| set $base05 #586e75 | #set $base05 #586e75 | ||||||
| set $base06 #073642 | #set $base06 #073642 | ||||||
| set $base07 #002b36 | #set $base07 #002b36 | ||||||
|  | #set $base08 #dc322f | ||||||
|  | #set $base09 #cb4b16 | ||||||
|  | #set $base0A #b58900 | ||||||
|  | #set $base0B #859900 | ||||||
|  | #set $base0C #2aa198 | ||||||
|  | #set $base0D #268bd2 | ||||||
|  | #set $base0E #6c71c4 | ||||||
|  | #set $base0F #d33682 | ||||||
|  | 
 | ||||||
|  | ## Base16 Solarized Dark | ||||||
|  | # Author: Ethan Schoonover (modified by aramisgithub) | ||||||
|  | # | ||||||
|  | # You can use these variables anywhere in the i3 configuration file. | ||||||
|  | 
 | ||||||
|  | set $base00 #002b36 | ||||||
|  | set $base01 #073642 | ||||||
|  | set $base02 #586e75 | ||||||
|  | set $base03 #657b83 | ||||||
|  | set $base04 #839496 | ||||||
|  | set $base05 #93a1a1 | ||||||
|  | set $base06 #eee8d5 | ||||||
|  | set $base07 #fdf6e3 | ||||||
| set $base08 #dc322f | set $base08 #dc322f | ||||||
| set $base09 #cb4b16 | set $base09 #cb4b16 | ||||||
| set $base0A #b58900 | set $base0A #b58900 | ||||||
|  | |||||||
| @ -1,7 +1,8 @@ | |||||||
| general { | general { | ||||||
|     # These will be used if not supplied by a module |     # These will be used if not supplied by a module | ||||||
|     # Solarized |     # Solarized | ||||||
|     color = '#073642' |     #color = '#073642' # base0 | ||||||
|  |     color = '#93a1a1' # base1 | ||||||
|     color_good = '#859900' |     color_good = '#859900' | ||||||
|     color_degraded = '#b58900' |     color_degraded = '#b58900' | ||||||
|     color_bad = '#dc322f' |     color_bad = '#dc322f' | ||||||
| @ -12,8 +13,8 @@ py3status { | |||||||
|     min_width = 50 |     min_width = 50 | ||||||
|     separator = True |     separator = True | ||||||
|     separator_block_width = 20 |     separator_block_width = 20 | ||||||
|     # border = '#4c7899' |     border = '#4c7899' | ||||||
|     border = '#073642' |     #border = '#073642' | ||||||
|     border_bottom = 0 |     border_bottom = 0 | ||||||
|     border_left = 0 |     border_left = 0 | ||||||
|     border_right = 0 |     border_right = 0 | ||||||
|  | |||||||
| @ -11,8 +11,8 @@ class Py3status: | |||||||
|     format = 'GPU: {temp}℃' |     format = 'GPU: {temp}℃' | ||||||
|     thresholds = [ |     thresholds = [ | ||||||
|         (0, "good"), |         (0, "good"), | ||||||
|         (45, "degraded"), |         (50, "degraded"), | ||||||
|         (60, "bad") |         (70, "bad") | ||||||
|     ] |     ] | ||||||
| 
 | 
 | ||||||
|     def gpu_temp(self): |     def gpu_temp(self): | ||||||
|  | |||||||
| @ -1,50 +1,51 @@ | |||||||
| font_family      Fira Mono Medium | font_family      Fira Code Medium | ||||||
| bold_font        Fira Mono Bold | bold_font        Fira Code Bold | ||||||
| italic_font      Fira Mono Italic | italic_font      Fira Code Italic | ||||||
| bold_italic_font auto | bold_italic_font auto | ||||||
| font_size 11.0 | font_size 11.0 | ||||||
| window_padding_width 10.0 | window_padding_width 10.0 | ||||||
| window_padding_height 10.0 | window_padding_height 10.0 | ||||||
| 
 | 
 | ||||||
| # Base16 Solarized Light - kitty color config | # Base16 Solarized Dark - kitty color config | ||||||
| # Scheme by Ethan Schoonover (modified by aramisgithub) | # Scheme by Ethan Schoonover (modified by aramisgithub) | ||||||
| background #fdf6e3 | background #002b36 | ||||||
| foreground #586e75 | foreground #93a1a1 | ||||||
| selection_background #586e75 | selection_background #93a1a1 | ||||||
| selection_foreground #fdf6e3 | selection_foreground #002b36 | ||||||
| url_color #657b83 | url_color #839496 | ||||||
| cursor #586e75 | cursor #93a1a1 | ||||||
| active_border_color #839496 | active_border_color #657b83 | ||||||
| inactive_border_color #eee8d5 | inactive_border_color #073642 | ||||||
| active_tab_background #fdf6e3 | active_tab_background #002b36 | ||||||
| active_tab_foreground #586e75 | active_tab_foreground #93a1a1 | ||||||
| inactive_tab_background #eee8d5 | inactive_tab_background #073642 | ||||||
| inactive_tab_foreground #657b83 | inactive_tab_foreground #839496 | ||||||
|  | tab_bar_background #073642 | ||||||
| 
 | 
 | ||||||
| # normal | # normal | ||||||
| color0 #fdf6e3 | color0 #002b36 | ||||||
| color1 #dc322f | color1 #dc322f | ||||||
| color2 #859900 | color2 #859900 | ||||||
| color3 #b58900 | color3 #b58900 | ||||||
| color4 #268bd2 | color4 #268bd2 | ||||||
| color5 #6c71c4 | color5 #6c71c4 | ||||||
| color6 #2aa198 | color6 #2aa198 | ||||||
| color7 #586e75 | color7 #93a1a1 | ||||||
| 
 | 
 | ||||||
| # bright | # bright | ||||||
| color8 #839496 | color8 #657b83 | ||||||
| color9 #dc322f | color9 #dc322f | ||||||
| color10 #859900 | color10 #859900 | ||||||
| color11 #b58900 | color11 #b58900 | ||||||
| color12 #268bd2 | color12 #268bd2 | ||||||
| color13 #6c71c4 | color13 #6c71c4 | ||||||
| color14 #2aa198 | color14 #2aa198 | ||||||
| color15 #586e75 | color15 #fdf6e3 | ||||||
| 
 | 
 | ||||||
| # extended base16 colors | # extended base16 colors | ||||||
| color16 #cb4b16 | color16 #cb4b16 | ||||||
| color17 #d33682 | color17 #d33682 | ||||||
| color18 #eee8d5 | color18 #073642 | ||||||
| color19 #93a1a1 | color19 #586e75 | ||||||
| color20 #657b83 | color20 #839496 | ||||||
| color21 #073642 | color21 #eee8d5 | ||||||
|  | |||||||
| @ -1,9 +1,9 @@ | |||||||
| [xin_0] | [xin_0] | ||||||
| file=/home/lanxu/.config/i3/background.png | file=/home/lanxu/.config/i3/background.png | ||||||
| mode=2 | mode=5 | ||||||
| bgcolor=#000000 | bgcolor=#000000 | ||||||
| 
 | 
 | ||||||
| [xin_1] | [xin_1] | ||||||
| file=/home/lanxu/.config/i3/background.png | file=/home/lanxu/.config/i3/background.png | ||||||
| mode=2 | mode=5 | ||||||
| bgcolor=#000000 | bgcolor=#000000 | ||||||
|  | |||||||
| @ -1,12 +1,12 @@ | |||||||
| [geometry] | [geometry] | ||||||
| posx=616 | posx=3205 | ||||||
| posy=19 | posy=33 | ||||||
| sizex=638 | sizex=625 | ||||||
| sizey=1059 | sizey=1037 | ||||||
| 
 | 
 | ||||||
| [nitrogen] | [nitrogen] | ||||||
| view=icon | view=list | ||||||
| recurse=true | recurse=true | ||||||
| sort=alpha | sort=alpha | ||||||
| icon_caps=false | icon_caps=false | ||||||
| dirs= | dirs=/home/lanxu/.config/i3; | ||||||
|  | |||||||
| @ -67,6 +67,9 @@ set vcs_backend_hg disabled | |||||||
| set vcs_backend_bzr disabled | set vcs_backend_bzr disabled | ||||||
| set vcs_backend_svn disabled | set vcs_backend_svn disabled | ||||||
| 
 | 
 | ||||||
|  | # Truncate the long commit messages to this length when shown in the statusbar. | ||||||
|  | set vcs_msg_length 50 | ||||||
|  | 
 | ||||||
| # Use one of the supported image preview protocols | # Use one of the supported image preview protocols | ||||||
| set preview_images true | set preview_images true | ||||||
| 
 | 
 | ||||||
| @ -106,12 +109,20 @@ set preview_images true | |||||||
| #   while slower, this allows remote previews, | #   while slower, this allows remote previews, | ||||||
| #   for example during an ssh session. | #   for example during an ssh session. | ||||||
| #   Tmux is unsupported. | #   Tmux is unsupported. | ||||||
|  | # | ||||||
|  | # * ueberzug: | ||||||
|  | #   Preview images in full color with the external command "ueberzug". | ||||||
|  | #   Images are shown by using a child window. | ||||||
|  | #   Only for users who run X11 in GNU/Linux. | ||||||
| set preview_images_method kitty | set preview_images_method kitty | ||||||
| 
 | 
 | ||||||
| # Delay in seconds before displaying an image with the w3m method. | # Delay in seconds before displaying an image with the w3m method. | ||||||
| # Increase it in case of experiencing display corruption. | # Increase it in case of experiencing display corruption. | ||||||
| set w3m_delay 0.02 | set w3m_delay 0.02 | ||||||
| 
 | 
 | ||||||
|  | # Manually adjust the w3mimg offset when using a terminal which needs this | ||||||
|  | set w3m_offset 0 | ||||||
|  | 
 | ||||||
| # Default iTerm2 font size (see: preview_images_method: iterm2) | # Default iTerm2 font size (see: preview_images_method: iterm2) | ||||||
| set iterm2_font_width 8 | set iterm2_font_width 8 | ||||||
| set iterm2_font_height 11 | set iterm2_font_height 11 | ||||||
| @ -136,6 +147,9 @@ set preview_files true | |||||||
| set preview_directories true | set preview_directories true | ||||||
| set collapse_preview true | set collapse_preview true | ||||||
| 
 | 
 | ||||||
|  | # Wrap long lines in plain text previews? | ||||||
|  | set wrap_plaintext_previews false | ||||||
|  | 
 | ||||||
| # Save the console history on exit? | # Save the console history on exit? | ||||||
| set save_console_history true | set save_console_history true | ||||||
| 
 | 
 | ||||||
| @ -168,10 +182,10 @@ set display_free_space_in_status_bar true | |||||||
| # Display files tags in all columns or only in main column? | # Display files tags in all columns or only in main column? | ||||||
| set display_tags_in_all_columns true | set display_tags_in_all_columns true | ||||||
| 
 | 
 | ||||||
| # Set a title for the window? | # Set a title for the window? Updates both `WM_NAME` and `WM_ICON_NAME` | ||||||
| set update_title false | set update_title false | ||||||
| 
 | 
 | ||||||
| # Set the title to "ranger" in the tmux program? | # Set the tmux/screen window-name to "ranger"? | ||||||
| set update_tmux_title true | set update_tmux_title true | ||||||
| 
 | 
 | ||||||
| # Shorten the title if it gets long?  The number defines how many | # Shorten the title if it gets long?  The number defines how many | ||||||
| @ -290,6 +304,14 @@ set global_inode_type_filter | |||||||
| # should be 'false' during start-up, but you can toggle it by pressing F. | # should be 'false' during start-up, but you can toggle it by pressing F. | ||||||
| set freeze_files false | set freeze_files false | ||||||
| 
 | 
 | ||||||
|  | # Print file sizes in bytes instead of the default human-readable format. | ||||||
|  | set size_in_bytes false | ||||||
|  | 
 | ||||||
|  | # Warn at startup if RANGER_LEVEL env var is greater than 0, in other words | ||||||
|  | # give a warning when you nest ranger in a subshell started by ranger. | ||||||
|  | # Special value "error" makes the warning more visible. | ||||||
|  | set nested_ranger_warning true | ||||||
|  | 
 | ||||||
| # =================================================================== | # =================================================================== | ||||||
| # == Local Options | # == Local Options | ||||||
| # =================================================================== | # =================================================================== | ||||||
| @ -337,6 +359,8 @@ map <esc> change_mode normal | |||||||
| map ~ set viewmode! | map ~ set viewmode! | ||||||
| 
 | 
 | ||||||
| map i display_file | map i display_file | ||||||
|  | map <A-j> scroll_preview 1 | ||||||
|  | map <A-k> scroll_preview -1 | ||||||
| map ? help | map ? help | ||||||
| map W display_log | map W display_log | ||||||
| map w taskview_open | map w taskview_open | ||||||
| @ -348,9 +372,8 @@ map !  console shell%space | |||||||
| map @  console -p6 shell  %%s | map @  console -p6 shell  %%s | ||||||
| map #  console shell -p%space | map #  console shell -p%space | ||||||
| map s  console shell%space | map s  console shell%space | ||||||
| map r  chain draw_possible_programs; console open_with%%space | map r  chain draw_possible_programs; console open_with%space | ||||||
| # map f  console find%space | map f  console find%space | ||||||
| map f console scout -ftsea%space |  | ||||||
| map cd console cd%space | map cd console cd%space | ||||||
| 
 | 
 | ||||||
| map <C-p> chain console; eval fm.ui.console.history_move(-1) | map <C-p> chain console; eval fm.ui.console.history_move(-1) | ||||||
| @ -359,8 +382,10 @@ map <C-p> chain console; eval fm.ui.console.history_move(-1) | |||||||
| map Mf linemode filename | map Mf linemode filename | ||||||
| map Mi linemode fileinfo | map Mi linemode fileinfo | ||||||
| map Mm linemode mtime | map Mm linemode mtime | ||||||
|  | map Mh linemode humanreadablemtime | ||||||
| map Mp linemode permissions | map Mp linemode permissions | ||||||
| map Ms linemode sizemtime | map Ms linemode sizemtime | ||||||
|  | map MH linemode sizehumanreadablemtime | ||||||
| map Mt linemode metatitle | map Mt linemode metatitle | ||||||
| 
 | 
 | ||||||
| # Tagging / Marking | # Tagging / Marking | ||||||
| @ -382,6 +407,7 @@ map <F5> copy | |||||||
| map <F6> cut | map <F6> cut | ||||||
| map <F7> console mkdir%space | map <F7> console mkdir%space | ||||||
| map <F8> console delete | map <F8> console delete | ||||||
|  | #map <F8> console trash | ||||||
| map <F10> exit | map <F10> exit | ||||||
| 
 | 
 | ||||||
| # In case you work on a keyboard with dvorak layout | # In case you work on a keyboard with dvorak layout | ||||||
| @ -464,8 +490,12 @@ map pl paste_symlink relative=False | |||||||
| map pL paste_symlink relative=True | map pL paste_symlink relative=True | ||||||
| map phl paste_hardlink | map phl paste_hardlink | ||||||
| map pht paste_hardlinked_subtree | map pht paste_hardlinked_subtree | ||||||
|  | map pd console paste dest= | ||||||
|  | map p`<any> paste dest=%any_path | ||||||
|  | map p'<any> paste dest=%any_path | ||||||
| 
 | 
 | ||||||
| map dD console delete | map dD console delete | ||||||
|  | map dT console trash | ||||||
| 
 | 
 | ||||||
| map dd cut | map dd cut | ||||||
| map ud uncut | map ud uncut | ||||||
| @ -566,15 +596,18 @@ map zf    console filter%space | |||||||
| copymap zf zz | copymap zf zz | ||||||
| 
 | 
 | ||||||
| # Filter stack | # Filter stack | ||||||
| map .n console filter_stack add name%space |  | ||||||
| map .m console filter_stack add mime%space |  | ||||||
| map .d filter_stack add type d | map .d filter_stack add type d | ||||||
| map .f filter_stack add type f | map .f filter_stack add type f | ||||||
| map .l filter_stack add type l | map .l filter_stack add type l | ||||||
|  | map .m console filter_stack add mime%space | ||||||
|  | map .n console filter_stack add name%space | ||||||
|  | map .# console filter_stack add hash%space | ||||||
|  | map ." filter_stack add duplicate | ||||||
|  | map .' filter_stack add unique | ||||||
| map .| filter_stack add or | map .| filter_stack add or | ||||||
| map .& filter_stack add and | map .& filter_stack add and | ||||||
| map .! filter_stack add not | map .! filter_stack add not | ||||||
| map .r console filter_stack rotate | map .r filter_stack rotate | ||||||
| map .c filter_stack clear | map .c filter_stack clear | ||||||
| map .* filter_stack decompose | map .* filter_stack decompose | ||||||
| map .p filter_stack pop | map .p filter_stack pop | ||||||
| @ -724,3 +757,6 @@ tmap <delete>   eval -q fm.ui.taskview.task_remove() | |||||||
| tmap <C-l> redraw_window | tmap <C-l> redraw_window | ||||||
| tmap <ESC> taskview_close | tmap <ESC> taskview_close | ||||||
| copytmap <ESC> q Q w <C-c> | copytmap <ESC> q Q w <C-c> | ||||||
|  | 
 | ||||||
|  | # Drag'n'Drop using dragon https://github.com/mwh/dragon | ||||||
|  | map <C-d> shell dragon -a -x %p | ||||||
|  | |||||||
| @ -26,7 +26,7 @@ | |||||||
| #   directory      | $1 is a directory | #   directory      | $1 is a directory | ||||||
| #   number <n>     | change the number of this command to n | #   number <n>     | change the number of this command to n | ||||||
| #   terminal       | stdin, stderr and stdout are connected to a terminal | #   terminal       | stdin, stderr and stdout are connected to a terminal | ||||||
| #   X              | $DISPLAY is not empty (i.e. Xorg runs) | #   X              | A graphical environment is available (darwin, Xorg, or Wayland) | ||||||
| # | # | ||||||
| # There are also pseudo-conditions which have a "side effect": | # There are also pseudo-conditions which have a "side effect": | ||||||
| #   flag <flags>  | Change how the program is run. See below. | #   flag <flags>  | Change how the program is run. See below. | ||||||
| @ -48,7 +48,7 @@ | |||||||
| # Note: When using rifle in ranger, there is an additional flag "c" for | # Note: When using rifle in ranger, there is an additional flag "c" for | ||||||
| # only running the current file even if you have marked multiple files. | # only running the current file even if you have marked multiple files. | ||||||
| 
 | 
 | ||||||
| has xdg-open, flag f = xdg-open "$1" | # has xdg-open, flag f = xdg-open "$1" | ||||||
| #------------------------------------------- | #------------------------------------------- | ||||||
| # Websites | # Websites | ||||||
| #------------------------------------------- | #------------------------------------------- | ||||||
| @ -67,13 +67,13 @@ ext x?html?, has uzbl-tabbed,      X, flag f = uzbl-tabbed -- "$@" | |||||||
| ext x?html?, has uzbl-browser,     X, flag f = uzbl-browser -- "$@" | ext x?html?, has uzbl-browser,     X, flag f = uzbl-browser -- "$@" | ||||||
| ext x?html?, has uzbl-core,        X, flag f = uzbl-core -- "$@" | ext x?html?, has uzbl-core,        X, flag f = uzbl-core -- "$@" | ||||||
| ext x?html?, has midori,           X, flag f = midori -- "$@" | ext x?html?, has midori,           X, flag f = midori -- "$@" | ||||||
| ext x?html?, has chromium-browser, X, flag f = chromium-browser -- "$@" |  | ||||||
| ext x?html?, has chromium,         X, flag f = chromium -- "$@" |  | ||||||
| ext x?html?, has google-chrome,    X, flag f = google-chrome -- "$@" |  | ||||||
| ext x?html?, has opera,            X, flag f = opera -- "$@" | ext x?html?, has opera,            X, flag f = opera -- "$@" | ||||||
| ext x?html?, has firefox,          X, flag f = firefox -- "$@" | ext x?html?, has firefox,          X, flag f = firefox -- "$@" | ||||||
| ext x?html?, has seamonkey,        X, flag f = seamonkey -- "$@" | ext x?html?, has seamonkey,        X, flag f = seamonkey -- "$@" | ||||||
| ext x?html?, has iceweasel,        X, flag f = iceweasel -- "$@" | ext x?html?, has iceweasel,        X, flag f = iceweasel -- "$@" | ||||||
|  | ext x?html?, has chromium-browser, X, flag f = chromium-browser -- "$@" | ||||||
|  | ext x?html?, has chromium,         X, flag f = chromium -- "$@" | ||||||
|  | ext x?html?, has google-chrome,    X, flag f = google-chrome -- "$@" | ||||||
| ext x?html?, has epiphany,         X, flag f = epiphany -- "$@" | ext x?html?, has epiphany,         X, flag f = epiphany -- "$@" | ||||||
| ext x?html?, has konqueror,        X, flag f = konqueror -- "$@" | ext x?html?, has konqueror,        X, flag f = konqueror -- "$@" | ||||||
| ext x?html?, has elinks,            terminal = elinks "$@" | ext x?html?, has elinks,            terminal = elinks "$@" | ||||||
| @ -99,7 +99,7 @@ ext exe                       = wine "$1" | |||||||
| name ^[mM]akefile$            = make | name ^[mM]akefile$            = make | ||||||
| 
 | 
 | ||||||
| #-------------------------------------------- | #-------------------------------------------- | ||||||
| # Code | # Scripts | ||||||
| #------------------------------------------- | #------------------------------------------- | ||||||
| ext py  = python -- "$1" | ext py  = python -- "$1" | ||||||
| ext pl  = perl -- "$1" | ext pl  = perl -- "$1" | ||||||
| @ -168,8 +168,13 @@ ext djvu, has atril,  X, flag f = atril -- "$@" | |||||||
| ext djvu, has djview, X, flag f = djview -- "$@" | ext djvu, has djview, X, flag f = djview -- "$@" | ||||||
| 
 | 
 | ||||||
| ext epub, has ebook-viewer, X, flag f = ebook-viewer -- "$@" | ext epub, has ebook-viewer, X, flag f = ebook-viewer -- "$@" | ||||||
|  | ext epub, has zathura,      X, flag f = zathura -- "$@" | ||||||
|  | ext epub, has mupdf,        X, flag f = mupdf -- "$@" | ||||||
| ext mobi, has ebook-viewer, X, flag f = ebook-viewer -- "$@" | ext mobi, has ebook-viewer, X, flag f = ebook-viewer -- "$@" | ||||||
| 
 | 
 | ||||||
|  | ext cbr,  has zathura,      X, flag f = zathura -- "$@" | ||||||
|  | ext cbz,  has zathura,      X, flag f = zathura -- "$@" | ||||||
|  | 
 | ||||||
| #------------------------------------------- | #------------------------------------------- | ||||||
| # Images | # Images | ||||||
| #------------------------------------------- | #------------------------------------------- | ||||||
| @ -186,6 +191,7 @@ mime ^image, has eog,       X, flag f = eog -- "$@" | |||||||
| mime ^image, has eom,       X, flag f = eom -- "$@" | mime ^image, has eom,       X, flag f = eom -- "$@" | ||||||
| mime ^image, has nomacs,    X, flag f = nomacs -- "$@" | mime ^image, has nomacs,    X, flag f = nomacs -- "$@" | ||||||
| mime ^image, has geeqie,    X, flag f = geeqie -- "$@" | mime ^image, has geeqie,    X, flag f = geeqie -- "$@" | ||||||
|  | mime ^image, has gpicview,  X, flag f = gpicview -- "$@" | ||||||
| mime ^image, has gwenview,  X, flag f = gwenview -- "$@" | mime ^image, has gwenview,  X, flag f = gwenview -- "$@" | ||||||
| mime ^image, has gimp,      X, flag f = gimp -- "$@" | mime ^image, has gimp,      X, flag f = gimp -- "$@" | ||||||
| ext xcf,                    X, flag f = gimp -- "$@" | ext xcf,                    X, flag f = gimp -- "$@" | ||||||
| @ -254,10 +260,29 @@ label wallpaper, number 12, mime ^image, has feh, X = feh --bg-tile "$1" | |||||||
| label wallpaper, number 13, mime ^image, has feh, X = feh --bg-center "$1" | label wallpaper, number 13, mime ^image, has feh, X = feh --bg-center "$1" | ||||||
| label wallpaper, number 14, mime ^image, has feh, X = feh --bg-fill "$1" | label wallpaper, number 14, mime ^image, has feh, X = feh --bg-fill "$1" | ||||||
| 
 | 
 | ||||||
|  | #------------------------------------------- | ||||||
|  | # Generic file openers | ||||||
|  | #------------------------------------------- | ||||||
|  | label open, has xdg-open = xdg-open -- "$@" | ||||||
|  | label open, has open     = open -- "$@" | ||||||
|  | 
 | ||||||
| # Define the editor for non-text files + pager as last action | # Define the editor for non-text files + pager as last action | ||||||
|               !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php  = ask |               !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php  = ask | ||||||
| label editor, !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php  = ${VISUAL:-$EDITOR} -- "$@" | label editor, !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php  = ${VISUAL:-$EDITOR} -- "$@" | ||||||
| label pager,  !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php  = "$PAGER" -- "$@" | label pager,  !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php  = "$PAGER" -- "$@" | ||||||
| 
 | 
 | ||||||
| # The very last action, so that it's never triggered accidentally, is to execute a program: | 
 | ||||||
|  | ###################################################################### | ||||||
|  | # The actions below are left so low down in this file on purpose, so # | ||||||
|  | # they are never triggered accidentally.                             # | ||||||
|  | ###################################################################### | ||||||
|  | 
 | ||||||
|  | # Execute a file as program/script. | ||||||
| mime application/x-executable = "$1" | mime application/x-executable = "$1" | ||||||
|  | 
 | ||||||
|  | # Move the file to trash using trash-cli. | ||||||
|  | label trash, has trash-put = trash-put -- "$@" | ||||||
|  | label trash = mkdir -p -- ${XDG_DATA_DIR:-$HOME/.ranger}/ranger-trash; mv -- "$@" ${XDG_DATA_DIR:-$HOME/.ranger}/ranger-trash | ||||||
|  | 
 | ||||||
|  | # Drag'n'Drop using dragon https://github.com/mwh/dragon | ||||||
|  | has dragon, X, flag f = dragon -a -x "$@" | ||||||
|  | |||||||
| @ -3,29 +3,34 @@ | |||||||
| set -o noclobber -o noglob -o nounset -o pipefail | set -o noclobber -o noglob -o nounset -o pipefail | ||||||
| IFS=$'\n' | IFS=$'\n' | ||||||
| 
 | 
 | ||||||
| # If the option `use_preview_script` is set to `true`, | ## If the option `use_preview_script` is set to `true`, | ||||||
| # then this script will be called and its output will be displayed in ranger. | ## then this script will be called and its output will be displayed in ranger. | ||||||
| # ANSI color codes are supported. | ## ANSI color codes are supported. | ||||||
| # STDIN is disabled, so interactive scripts won't work properly | ## STDIN is disabled, so interactive scripts won't work properly | ||||||
| 
 | 
 | ||||||
| # This script is considered a configuration file and must be updated manually. | ## This script is considered a configuration file and must be updated manually. | ||||||
| # It will be left untouched if you upgrade ranger. | ## It will be left untouched if you upgrade ranger. | ||||||
| 
 | 
 | ||||||
| # Meanings of exit codes: | ## Because of some automated testing we do on the script #'s for comments need | ||||||
| # code | meaning    | action of ranger | ## to be doubled up. Code that is commented out, because it's an alternative for | ||||||
| # -----+------------+------------------------------------------- | ## example, gets only one #. | ||||||
| # 0    | success    | Display stdout as preview |  | ||||||
| # 1    | no preview | Display no preview at all |  | ||||||
| # 2    | plain text | Display the plain content of the file |  | ||||||
| # 3    | fix width  | Don't reload when width changes |  | ||||||
| # 4    | fix height | Don't reload when height changes |  | ||||||
| # 5    | fix both   | Don't ever reload |  | ||||||
| # 6    | image      | Display the image `$IMAGE_CACHE_PATH` points to as an image preview |  | ||||||
| # 7    | image      | Display the file directly as an image |  | ||||||
| 
 | 
 | ||||||
| # Script arguments | ## Meanings of exit codes: | ||||||
|  | ## code | meaning    | action of ranger | ||||||
|  | ## -----+------------+------------------------------------------- | ||||||
|  | ## 0    | success    | Display stdout as preview | ||||||
|  | ## 1    | no preview | Display no preview at all | ||||||
|  | ## 2    | plain text | Display the plain content of the file | ||||||
|  | ## 3    | fix width  | Don't reload when width changes | ||||||
|  | ## 4    | fix height | Don't reload when height changes | ||||||
|  | ## 5    | fix both   | Don't ever reload | ||||||
|  | ## 6    | image      | Display the image `$IMAGE_CACHE_PATH` points to as an image preview | ||||||
|  | ## 7    | image      | Display the file directly as an image | ||||||
|  | 
 | ||||||
|  | ## Script arguments | ||||||
| FILE_PATH="${1}"         # Full path of the highlighted file | FILE_PATH="${1}"         # Full path of the highlighted file | ||||||
| PV_WIDTH="${2}"          # Width of the preview pane (number of fitting characters) | PV_WIDTH="${2}"          # Width of the preview pane (number of fitting characters) | ||||||
|  | ## shellcheck disable=SC2034 # PV_HEIGHT is provided for convenience and unused | ||||||
| PV_HEIGHT="${3}"         # Height of the preview pane (number of fitting characters) | PV_HEIGHT="${3}"         # Height of the preview pane (number of fitting characters) | ||||||
| IMAGE_CACHE_PATH="${4}"  # Full path that should be used to cache image preview | IMAGE_CACHE_PATH="${4}"  # Full path that should be used to cache image preview | ||||||
| PV_IMAGE_ENABLED="${5}"  # 'True' if image previews are enabled, 'False' otherwise. | PV_IMAGE_ENABLED="${5}"  # 'True' if image previews are enabled, 'False' otherwise. | ||||||
| @ -33,71 +38,93 @@ PV_IMAGE_ENABLED="${5}"  # 'True' if image previews are enabled, 'False' otherwi | |||||||
| FILE_EXTENSION="${FILE_PATH##*.}" | FILE_EXTENSION="${FILE_PATH##*.}" | ||||||
| FILE_EXTENSION_LOWER="$(printf "%s" "${FILE_EXTENSION}" | tr '[:upper:]' '[:lower:]')" | FILE_EXTENSION_LOWER="$(printf "%s" "${FILE_EXTENSION}" | tr '[:upper:]' '[:lower:]')" | ||||||
| 
 | 
 | ||||||
| # Settings | ## Settings | ||||||
| HIGHLIGHT_SIZE_MAX=262143  # 256KiB | HIGHLIGHT_SIZE_MAX=262143  # 256KiB | ||||||
| HIGHLIGHT_TABWIDTH=${HIGHLIGHT_TABWIDTH:-8} | HIGHLIGHT_TABWIDTH=${HIGHLIGHT_TABWIDTH:-8} | ||||||
| HIGHLIGHT_STYLE=${HIGHLIGHT_STYLE:-pablo} | HIGHLIGHT_STYLE=${HIGHLIGHT_STYLE:-pablo} | ||||||
| HIGHLIGHT_OPTIONS="--replace-tabs=${HIGHLIGHT_TABWIDTH} --style=${HIGHLIGHT_STYLE} ${HIGHLIGHT_OPTIONS:-}" | HIGHLIGHT_OPTIONS="--replace-tabs=${HIGHLIGHT_TABWIDTH} --style=${HIGHLIGHT_STYLE} ${HIGHLIGHT_OPTIONS:-}" | ||||||
| PYGMENTIZE_STYLE=${PYGMENTIZE_STYLE:-autumn} | PYGMENTIZE_STYLE=${PYGMENTIZE_STYLE:-autumn} | ||||||
| 
 | OPENSCAD_IMGSIZE=${RNGR_OPENSCAD_IMGSIZE:-1000,1000} | ||||||
|  | OPENSCAD_COLORSCHEME=${RNGR_OPENSCAD_COLORSCHEME:-Tomorrow Night} | ||||||
| 
 | 
 | ||||||
| handle_extension() { | handle_extension() { | ||||||
|     case "${FILE_EXTENSION_LOWER}" in |     case "${FILE_EXTENSION_LOWER}" in | ||||||
|         # Archive |         ## Archive | ||||||
|         a|ace|alz|arc|arj|bz|bz2|cab|cpio|deb|gz|jar|lha|lz|lzh|lzma|lzo|\ |         a|ace|alz|arc|arj|bz|bz2|cab|cpio|deb|gz|jar|lha|lz|lzh|lzma|lzo|\ | ||||||
|         rpm|rz|t7z|tar|tbz|tbz2|tgz|tlz|txz|tZ|tzo|war|xpi|xz|Z|zip) |         rpm|rz|t7z|tar|tbz|tbz2|tgz|tlz|txz|tZ|tzo|war|xpi|xz|Z|zip) | ||||||
|             atool --list -- "${FILE_PATH}" && exit 5 |             atool --list -- "${FILE_PATH}" && exit 5 | ||||||
|             bsdtar --list --file "${FILE_PATH}" && exit 5 |             bsdtar --list --file "${FILE_PATH}" && exit 5 | ||||||
|             exit 1;; |             exit 1;; | ||||||
|         rar) |         rar) | ||||||
|             # Avoid password prompt by providing empty password |             ## Avoid password prompt by providing empty password | ||||||
|             unrar lt -p- -- "${FILE_PATH}" && exit 5 |             unrar lt -p- -- "${FILE_PATH}" && exit 5 | ||||||
|             exit 1;; |             exit 1;; | ||||||
|         7z) |         7z) | ||||||
|             # Avoid password prompt by providing empty password |             ## Avoid password prompt by providing empty password | ||||||
|             7z l -p -- "${FILE_PATH}" && exit 5 |             7z l -p -- "${FILE_PATH}" && exit 5 | ||||||
|             exit 1;; |             exit 1;; | ||||||
| 
 | 
 | ||||||
|         # PDF |         ## PDF | ||||||
|         #pdf) |         pdf) | ||||||
|         #    # Preview as text conversion |             ## Preview as text conversion | ||||||
|         #    pdftotext -l 10 -nopgbrk -q -- "${FILE_PATH}" - | fmt -w ${PV_WIDTH} && exit 5 |             pdftotext -l 10 -nopgbrk -q -- "${FILE_PATH}" - | \ | ||||||
|         #    mutool draw -F txt -i -- "${FILE_PATH}" 1-10 | fmt -w ${PV_WIDTH} && exit 5 |               fmt -w "${PV_WIDTH}" && exit 5 | ||||||
|         #    exiftool "${FILE_PATH}" && exit 5 |             mutool draw -F txt -i -- "${FILE_PATH}" 1-10 | \ | ||||||
| 	#    exit 1;; |               fmt -w "${PV_WIDTH}" && exit 5 | ||||||
|  |             exiftool "${FILE_PATH}" && exit 5 | ||||||
|  |             exit 1;; | ||||||
| 
 | 
 | ||||||
|         # BitTorrent |         ## BitTorrent | ||||||
|         torrent) |         torrent) | ||||||
|             transmission-show -- "${FILE_PATH}" && exit 5 |             transmission-show -- "${FILE_PATH}" && exit 5 | ||||||
|             exit 1;; |             exit 1;; | ||||||
| 
 | 
 | ||||||
|         # OpenDocument |         ## OpenDocument | ||||||
|         odt|ods|odp|sxw) |         odt|ods|odp|sxw) | ||||||
|             # Preview as text conversion |             ## Preview as text conversion | ||||||
|             odt2txt "${FILE_PATH}" && exit 5 |             odt2txt "${FILE_PATH}" && exit 5 | ||||||
|  |             ## Preview as markdown conversion | ||||||
|  |             pandoc -s -t markdown -- "${FILE_PATH}" && exit 5 | ||||||
|             exit 1;; |             exit 1;; | ||||||
| 
 | 
 | ||||||
|         # HTML |         ## XLSX | ||||||
|  |         xlsx) | ||||||
|  |             ## Preview as csv conversion | ||||||
|  |             ## Uses: https://github.com/dilshod/xlsx2csv | ||||||
|  |             xlsx2csv -- "${FILE_PATH}" && exit 5 | ||||||
|  |             exit 1;; | ||||||
|  | 
 | ||||||
|  |         ## HTML | ||||||
|         htm|html|xhtml) |         htm|html|xhtml) | ||||||
|             # Preview as text conversion |             ## Preview as text conversion | ||||||
|             w3m -dump "${FILE_PATH}" && exit 5 |             w3m -dump "${FILE_PATH}" && exit 5 | ||||||
|             lynx -dump -- "${FILE_PATH}" && exit 5 |             lynx -dump -- "${FILE_PATH}" && exit 5 | ||||||
|             elinks -dump "${FILE_PATH}" && exit 5 |             elinks -dump "${FILE_PATH}" && exit 5 | ||||||
|             ;; # Continue with next handler on failure |             pandoc -s -t markdown -- "${FILE_PATH}" && exit 5 | ||||||
|  |             ;; | ||||||
| 
 | 
 | ||||||
| 	# JSON |         ## JSON | ||||||
|         json) |         json) | ||||||
|             jq --color-output . "${FILE_PATH}" && exit 5 |             jq --color-output . "${FILE_PATH}" && exit 5 | ||||||
|             python -m json.tool -- "${FILE_PATH}" && exit 5 |             python -m json.tool -- "${FILE_PATH}" && exit 5 | ||||||
| ;; |             ;; | ||||||
|  | 
 | ||||||
|  |         ## Direct Stream Digital/Transfer (DSDIFF) and wavpack aren't detected | ||||||
|  |         ## by file(1). | ||||||
|  |         dff|dsf|wv|wvc) | ||||||
|  |             mediainfo "${FILE_PATH}" && exit 5 | ||||||
|  |             exiftool "${FILE_PATH}" && exit 5 | ||||||
|  |             ;; # Continue with next handler on failure | ||||||
|     esac |     esac | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| handle_image() { | handle_image() { | ||||||
|     # Size of the preview if there are multiple options or it has to be rendered |     ## Size of the preview if there are multiple options or it has to be | ||||||
|     # from vector graphics. If the conversion program allows specifying only one |     ## rendered from vector graphics. If the conversion program allows | ||||||
|     # dimension while keeping the aspect ratio, the width will be used. |     ## specifying only one dimension while keeping the aspect ratio, the width | ||||||
|  |     ## will be used. | ||||||
|     local DEFAULT_SIZE="1920x1080" |     local DEFAULT_SIZE="1920x1080" | ||||||
|  | 
 | ||||||
|     local mimetype="${1}" |     local mimetype="${1}" | ||||||
| 
 | 
 | ||||||
|     case "${FILE_EXTENSION_LOWER}" in |     case "${FILE_EXTENSION_LOWER}" in | ||||||
| @ -134,33 +161,32 @@ handle_image() { | |||||||
|             # but might fail for unsupported types. |             # but might fail for unsupported types. | ||||||
|             exit 7;; |             exit 7;; | ||||||
| 
 | 
 | ||||||
|         # Video |         ## Video | ||||||
|         video/*) |         # video/*) | ||||||
|             # Thumbnail |         #     # Thumbnail | ||||||
|             ffmpegthumbnailer -i "${FILE_PATH}" -o "${IMAGE_CACHE_PATH}" -s 0 && exit 6 |         #     ffmpegthumbnailer -i "${FILE_PATH}" -o "${IMAGE_CACHE_PATH}" -s 0 && exit 6 | ||||||
|             exit 1;; |         #     exit 1;; | ||||||
| 
 | 
 | ||||||
|         # PDF |         ## PDF | ||||||
|         application/pdf) |         # application/pdf) | ||||||
|             pdftoppm -f 1 -l 1 \ |         #     pdftoppm -f 1 -l 1 \ | ||||||
|                      -scale-to-x "${DEFAULT_SIZE%x*}" \ |         #              -scale-to-x "${DEFAULT_SIZE%x*}" \ | ||||||
|                      -scale-to-y -1 \ |         #              -scale-to-y -1 \ | ||||||
|                      -singlefile \ |         #              -singlefile \ | ||||||
|                      -jpeg -tiffcompression jpeg \ |         #              -jpeg -tiffcompression jpeg \ | ||||||
|                      -- "${FILE_PATH}" "${IMAGE_CACHE_PATH%.*}" \ |         #              -- "${FILE_PATH}" "${IMAGE_CACHE_PATH%.*}" \ | ||||||
| 	        && exit 6 || exit 1;; |  | ||||||
|         # ePub, MOBI, FB2 (using Calibre) |  | ||||||
|         # application/epub+zip|application/x-mobipocket-ebook|application/x-fictionbook+xml) |  | ||||||
|         #     ebook-meta --get-cover="${IMAGE_CACHE_PATH}" -- "${FILE_PATH}" > /dev/null \ |  | ||||||
|         #         && exit 6 || exit 1;; |         #         && exit 6 || exit 1;; | ||||||
|  |         ## ePub, MOBI, FB2 (using Calibre) | ||||||
|  |         # application/epub+zip|application/x-mobipocket-ebook|\ | ||||||
|  |         # application/x-fictionbook+xml) | ||||||
|  |         #     # ePub (using https://github.com/marianosimone/epub-thumbnailer) | ||||||
|  |         #     epub-thumbnailer "${FILE_PATH}" "${IMAGE_CACHE_PATH}" \ | ||||||
|  |         #         "${DEFAULT_SIZE%x*}" && exit 6 | ||||||
|  |         #     ebook-meta --get-cover="${IMAGE_CACHE_PATH}" -- "${FILE_PATH}" \ | ||||||
|  |         #         >/dev/null && exit 6 | ||||||
|  |         #     exit 1;; | ||||||
| 
 | 
 | ||||||
|         # ePub (using <https://github.com/marianosimone/epub-thumbnailer>) |         ## Font | ||||||
|         # application/epub+zip) |  | ||||||
|         #     epub-thumbnailer \ |  | ||||||
|         #         "${FILE_PATH}" "${IMAGE_CACHE_PATH}" "${DEFAULT_SIZE%x*}" \ |  | ||||||
|         #         && exit 6 || exit 1;; |  | ||||||
| 
 |  | ||||||
|         # Font |  | ||||||
|         application/font*|application/*opentype) |         application/font*|application/*opentype) | ||||||
|             preview_png="/tmp/$(basename "${IMAGE_CACHE_PATH%.*}").png" |             preview_png="/tmp/$(basename "${IMAGE_CACHE_PATH%.*}").png" | ||||||
|             if fontimage -o "${preview_png}" \ |             if fontimage -o "${preview_png}" \ | ||||||
| @ -181,8 +207,8 @@ handle_image() { | |||||||
|             fi |             fi | ||||||
|             ;; |             ;; | ||||||
| 
 | 
 | ||||||
|         # Preview archives using the first image inside. |         ## Preview archives using the first image inside. | ||||||
|         # (Very useful for comic book collections for example.) |         ## (Very useful for comic book collections for example.) | ||||||
|         # application/zip|application/x-rar|application/x-7z-compressed|\ |         # application/zip|application/x-rar|application/x-7z-compressed|\ | ||||||
|         #     application/x-xz|application/x-bzip2|application/x-gzip|application/x-tar) |         #     application/x-xz|application/x-bzip2|application/x-gzip|application/x-tar) | ||||||
|         #     local fn=""; local fe="" |         #     local fn=""; local fe="" | ||||||
| @ -218,14 +244,60 @@ handle_image() { | |||||||
|         #     [ "$rar" ] || [ "$zip" ] && rm -- "${IMAGE_CACHE_PATH}" |         #     [ "$rar" ] || [ "$zip" ] && rm -- "${IMAGE_CACHE_PATH}" | ||||||
| 	#     ;; | 	#     ;; | ||||||
|     esac |     esac | ||||||
|  | 
 | ||||||
|  |     # openscad_image() { | ||||||
|  |     #     TMPPNG="$(mktemp -t XXXXXX.png)" | ||||||
|  |     #     openscad --colorscheme="${OPENSCAD_COLORSCHEME}" \ | ||||||
|  |     #         --imgsize="${OPENSCAD_IMGSIZE/x/,}" \ | ||||||
|  |     #         -o "${TMPPNG}" "${1}" | ||||||
|  |     #     mv "${TMPPNG}" "${IMAGE_CACHE_PATH}" | ||||||
|  |     # } | ||||||
|  | 
 | ||||||
|  |     # case "${FILE_EXTENSION_LOWER}" in | ||||||
|  |     #     ## 3D models | ||||||
|  |     #     ## OpenSCAD only supports png image output, and ${IMAGE_CACHE_PATH} | ||||||
|  |     #     ## is hardcoded as jpeg. So we make a tempfile.png and just | ||||||
|  |     #     ## move/rename it to jpg. This works because image libraries are | ||||||
|  |     #     ## smart enough to handle it. | ||||||
|  |     #     csg|scad) | ||||||
|  |     #         openscad_image "${FILE_PATH}" && exit 6 | ||||||
|  |     #         ;; | ||||||
|  |     #     3mf|amf|dxf|off|stl) | ||||||
|  |     #         openscad_image <(echo "import(\"${FILE_PATH}\");") && exit 6 | ||||||
|  |     #         ;; | ||||||
|  |     # esac | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| handle_mime() { | handle_mime() { | ||||||
|     local mimetype="${1}" |     local mimetype="${1}" | ||||||
|     case "${mimetype}" in |     case "${mimetype}" in | ||||||
|         # Text |         ## RTF and DOC | ||||||
|  |         text/rtf|*msword) | ||||||
|  |             ## Preview as text conversion | ||||||
|  |             ## note: catdoc does not always work for .doc files | ||||||
|  |             ## catdoc: http://www.wagner.pp.ru/~vitus/software/catdoc/ | ||||||
|  |             catdoc -- "${FILE_PATH}" && exit 5 | ||||||
|  |             exit 1;; | ||||||
|  | 
 | ||||||
|  |         ## DOCX, ePub, FB2 (using markdown) | ||||||
|  |         ## You might want to remove "|epub" and/or "|fb2" below if you have | ||||||
|  |         ## uncommented other methods to preview those formats | ||||||
|  |         *wordprocessingml.document|*/epub+zip|*/x-fictionbook+xml) | ||||||
|  |             ## Preview as markdown conversion | ||||||
|  |             pandoc -s -t markdown -- "${FILE_PATH}" && exit 5 | ||||||
|  |             exit 1;; | ||||||
|  | 
 | ||||||
|  |         ## XLS | ||||||
|  |         *ms-excel) | ||||||
|  |             ## Preview as csv conversion | ||||||
|  |             ## xls2csv comes with catdoc: | ||||||
|  |             ##   http://www.wagner.pp.ru/~vitus/software/catdoc/ | ||||||
|  |             xls2csv -- "${FILE_PATH}" && exit 5 | ||||||
|  |             exit 1;; | ||||||
|  | 
 | ||||||
|  |         ## Text | ||||||
|         text/* | */xml) |         text/* | */xml) | ||||||
|             # Syntax highlight |             ## Syntax highlight | ||||||
|             if [[ "$( stat --printf='%s' -- "${FILE_PATH}" )" -gt "${HIGHLIGHT_SIZE_MAX}" ]]; then |             if [[ "$( stat --printf='%s' -- "${FILE_PATH}" )" -gt "${HIGHLIGHT_SIZE_MAX}" ]]; then | ||||||
|                 exit 2 |                 exit 2 | ||||||
|             fi |             fi | ||||||
| @ -239,26 +311,27 @@ handle_mime() { | |||||||
|             env HIGHLIGHT_OPTIONS="${HIGHLIGHT_OPTIONS}" highlight \ |             env HIGHLIGHT_OPTIONS="${HIGHLIGHT_OPTIONS}" highlight \ | ||||||
|                 --out-format="${highlight_format}" \ |                 --out-format="${highlight_format}" \ | ||||||
|                 --force -- "${FILE_PATH}" && exit 5 |                 --force -- "${FILE_PATH}" && exit 5 | ||||||
|  |             env COLORTERM=8bit bat --color=always --style="plain" \ | ||||||
|  |                 -- "${FILE_PATH}" && exit 5 | ||||||
|             pygmentize -f "${pygmentize_format}" -O "style=${PYGMENTIZE_STYLE}"\ |             pygmentize -f "${pygmentize_format}" -O "style=${PYGMENTIZE_STYLE}"\ | ||||||
|                 -- "${FILE_PATH}" && exit 5 |                 -- "${FILE_PATH}" && exit 5 | ||||||
|             exit 2;; |             exit 2;; | ||||||
| 
 | 
 | ||||||
|         # DjVu |         ## DjVu | ||||||
|         image/vnd.djvu) |         image/vnd.djvu) | ||||||
|             # Preview as text conversion (requires djvulibre) |             ## Preview as text conversion (requires djvulibre) | ||||||
|             djvutxt "${FILE_PATH}" | fmt -w ${PV_WIDTH} && exit 5 |             djvutxt "${FILE_PATH}" | fmt -w "${PV_WIDTH}" && exit 5 | ||||||
|             exiftool "${FILE_PATH}" && exit 5 |             exiftool "${FILE_PATH}" && exit 5 | ||||||
| 	    exit 1;; | 	    exit 1;; | ||||||
| 
 | 
 | ||||||
|         # Image |         ## Image | ||||||
|         image/*) |         image/*) | ||||||
|             # Preview as text conversion |             ## Preview as text conversion | ||||||
|             img2txt --format=utf8 --gamma=0.6 --width="${PV_WIDTH}" -- "${FILE_PATH}" && exit 4 |             img2txt --gamma=0.6 --width="${PV_WIDTH}" -- "${FILE_PATH}" && exit 4 | ||||||
| 	    #catimg -w "${PV_WIDTH}" -- "${FILE_PATH}" && exit 4 |  | ||||||
|             #exiftool "${FILE_PATH}" && exit 5 |             #exiftool "${FILE_PATH}" && exit 5 | ||||||
|             exit 1;; |             exit 1;; | ||||||
| 
 | 
 | ||||||
|         # Video and audio |         ## Video and audio | ||||||
|         video/* | audio/*) |         video/* | audio/*) | ||||||
|             mediainfo "${FILE_PATH}" && exit 5 |             mediainfo "${FILE_PATH}" && exit 5 | ||||||
|             exiftool "${FILE_PATH}" && exit 5 |             exiftool "${FILE_PATH}" && exit 5 | ||||||
|  | |||||||
							
								
								
									
										5
									
								
								.vimrc
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								.vimrc
									
									
									
									
									
								
							| @ -17,6 +17,7 @@ Plug 'rust-lang/rust.vim', {'for': 'rust'} | |||||||
| " Syntax checking | " Syntax checking | ||||||
| "Plug 'Valloric/YouCompleteMe' " alternative #1, full-blown | "Plug 'Valloric/YouCompleteMe' " alternative #1, full-blown | ||||||
| Plug 'w0rp/ale', | Plug 'w0rp/ale', | ||||||
|  | Plug 'neoclide/coc.nvim', {'branch': 'release'} | ||||||
| 
 | 
 | ||||||
| " Useful plugins | " Useful plugins | ||||||
| Plug 'Raimondi/delimitMate' | Plug 'Raimondi/delimitMate' | ||||||
| @ -56,7 +57,7 @@ syntax on | |||||||
| set t_Co=256 | set t_Co=256 | ||||||
| set background=light | set background=light | ||||||
| let base16colorspace=256 | let base16colorspace=256 | ||||||
| colorscheme base16-solarized-light | colorscheme base16-solarized-dark | ||||||
| 
 | 
 | ||||||
| " Other | " Other | ||||||
| set encoding=utf-8 | set encoding=utf-8 | ||||||
| @ -83,7 +84,7 @@ if has("gui_running") | |||||||
| 	set guioptions-=T  " remove toolbar | 	set guioptions-=T  " remove toolbar | ||||||
| 	set guioptions-=r  " remove right-hand scroll bar | 	set guioptions-=r  " remove right-hand scroll bar | ||||||
| 	set guioptions-=L  " remove left-hand scroll bar | 	set guioptions-=L  " remove left-hand scroll bar | ||||||
| 	set guifont=Fira\ Code\ 11 | 	set guifont=Fira\ Code\ Medium\ 11 | ||||||
| 	"set guifont=Fura\ Code\ Nerd\ Font\ 11 | 	"set guifont=Fura\ Code\ Nerd\ Font\ 11 | ||||||
| 	set guiheadroom=0 | 	set guiheadroom=0 | ||||||
| endif | endif | ||||||
|  | |||||||
| @ -66,3 +66,4 @@ export TERMCMD=$TERMINAL | |||||||
| if systemctl -q is-active graphical.target && [[ ! $DISPLAY && $XDG_VTNR -eq 1 ]]; then | if systemctl -q is-active graphical.target && [[ ! $DISPLAY && $XDG_VTNR -eq 1 ]]; then | ||||||
|   exec startx |   exec startx | ||||||
| fi | fi | ||||||
|  | 
 | ||||||
|  | |||||||
							
								
								
									
										6
									
								
								.zshrc
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								.zshrc
									
									
									
									
									
								
							| @ -41,7 +41,7 @@ source ~/.zplugins | |||||||
| alias top=htop | alias top=htop | ||||||
| alias ll="ls -lh" | alias ll="ls -lh" | ||||||
| alias la="ls -a" | alias la="ls -a" | ||||||
| alias lp="lastpass.sh" | alias lp="keepass.sh" | ||||||
| alias ranger="ranger" | alias ranger="ranger" | ||||||
| alias search="search.sh" | alias search="search.sh" | ||||||
| #alias ls="ls -N --time-style=long-iso --color=auto" | #alias ls="ls -N --time-style=long-iso --color=auto" | ||||||
| @ -56,10 +56,12 @@ alias runwinesteam="MESA_GL_VERSION_OVERRIDE=3.3COMPAT PULSE_LATENCY_MSEC=60 run | |||||||
| alias rbackup="restic -r rclone:hubic:ChimeraLinux" | alias rbackup="restic -r rclone:hubic:ChimeraLinux" | ||||||
| alias bat="bat --theme base16" | alias bat="bat --theme base16" | ||||||
| alias wine32="WINEPREFIX=~/.wine32 wine" | alias wine32="WINEPREFIX=~/.wine32 wine" | ||||||
|  | alias steam="DBUS_SESSION_BUS_ADDRESS=unix:abstract=/dev/null steam" | ||||||
| # https://github.com/chriskempson/base16-shell | # https://github.com/chriskempson/base16-shell | ||||||
| # git clone https://github.com/chriskempson/base16-shell.git ~/.config/base16-shell | # git clone https://github.com/chriskempson/base16-shell.git ~/.config/base16-shell | ||||||
| #source $HOME/.config/base16-shell/scripts/base16-default-dark.sh | #source $HOME/.config/base16-shell/scripts/base16-default-dark.sh | ||||||
| source $HOME/.config/base16-shell/scripts/base16-solarized-light.sh | #source $HOME/.config/base16-shell/scripts/base16-solarized-light.sh | ||||||
|  | source $HOME/.config/base16-shell/scripts/base16-solarized-dark.sh | ||||||
| 
 | 
 | ||||||
| # Emscripten | # Emscripten | ||||||
| #source /home/lanxu/Koodit/github/emsdk/emsdk_env.sh | #source /home/lanxu/Koodit/github/emsdk/emsdk_env.sh | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user