automate/020_rox-filer.sh

269 lines
10 KiB
Bash
Executable File

#!/usr/bin/env bash
# ROX-Filer settings
apt-get -y install rox-filer
apt-get -y install xmlstarlet
ROXFILER_HOME=$HOME/.config/rox.sourceforce.net
MIMETYPES=${ROXFILER_HOME}/MIME-types
mkdir -p ${ROXFILER_HOME}/ROX-Filer/
mkdir -p ${MIMETYPES}
# Mime types
cat > $MIMETYPES/application_msword <<EOF
#! /bin/sh
exec libreoffice "$@"
EOF
cat > $MIMETYPES/application_pdf <<EOF
#! /bin/sh
exec atril "$@"
EOF
cat > $MIMETYPES/application_vnd.openxmlformats-officedocument.spreadsheetml.sheet <<EOF
#! /bin/sh
exec libreoffice "$@"
EOF
cat > $MIMETYPES/application_vnd.openxmlformats-officedocument.wordprocessingml.document <<EOF
#! /bin/sh
exec libreoffice "$@"
EOF
cat > $MIMETYPES/application_vnd.rar <<EOF
#! /bin/sh
exec xarchiver "$@"
EOF
cat > $MIMETYPES/application_x-kicad-pcb <<EOF
#! /bin/sh
exec kicad "$@"
EOF
cat > $MIMETYPES/application_x-kicad-project <<EOF
#! /bin/sh
exec kicad "$@"
EOF
cat > $MIMETYPES/application_zip <<EOF
#! /bin/sh
exec xarchiver "$@"
EOF
cat > $MIMETYPES/audio_mp4 <<EOF
#! /bin/sh
exec mpv --force-window "$@"
EOF
cat > $MIMETYPES/audio_mpeg <<EOF
#! /bin/sh
exec mpv --force-window "$@"
EOF
cat > $MIMETYPES/audio_x-m4b <<EOF
#! /bin/sh
exec mpv --force-window "$@"
EOF
cat > $MIMETYPES/image_jpeg <<EOF
#! /bin/sh
exec geeqie "$@"
EOF
cat > $MIMETYPES/image_png <<EOF
#! /bin/sh
exec geeqie "$@"
EOF
cat > $MIMETYPES/text_x-csrc <<EOF
#! /bin/sh
exec /opt/arduino/arduino-1.8.10 "$@"
EOF
cat > $MIMETYPES/video_mp4 <<EOF
#! /bin/sh
exec mpv --force-window "$@"
EOF
cat > $MIMETYPES/video_webm <<EOF
#! /bin/sh
exec mpv --force-window "$@"
EOF
cat > $MIMETYPES/video_x-matroska <<EOF
#! /bin/sh
exec mpv --force-window "$@"
EOF
cat > $MIMETYPES/video_x-ms-wmv <<EOF
#! /bin/sh
exec mpv --force-window "$@"
EOF
cat > $MIMETYPES/video_x-msvideo <<EOF
#! /bin/sh
exec mpv --force-window "$@"
EOF
# Options
# The Options and menus2 file are not created until first run
cat > ${ROXFILER_HOME}/ROX-Filer/Options <<'EOF'
<?xml version="1.0"?>
<Options>
<Option name="display_dir_colour">#000080</Option>
<Option name="display_unkn_colour">#000000</Option>
<Option name="display_pipe_colour">#444444</Option>
<Option name="display_cdev_colour">#000000</Option>
<Option name="display_adir_colour">#006000</Option>
<Option name="display_exec_colour">#006000</Option>
<Option name="display_err_colour">#ff0000</Option>
<Option name="display_bdev_colour">#000000</Option>
<Option name="display_sock_colour">#ff00ff</Option>
<Option name="display_file_colour">#000000</Option>
<Option name="display_door_colour">#ff00ff</Option>
<Option name="pinboard_fg_colour">#fff</Option>
<Option name="pinboard_shadow_colour">#000</Option>
<Option name="pinboard_bg_colour">#888</Option>
<Option name="display_colour_types">1</Option>
<Option name="toolbar_show_info">1</Option>
<Option name="display_show_headers">1</Option>
<Option name="pinboard_right_margin">0</Option>
<Option name="filer_beep_fail">1</Option>
<Option name="bind_single_click">0</Option>
<Option name="blackbox_hack">0</Option>
<Option name="action_delete">0</Option>
<Option name="display_caps_first">0</Option>
<Option name="bind_single_pinboard">1</Option>
<Option name="action_link">1</Option>
<Option name="pinboard_clamp_icons">1</Option>
<Option name="bind_dclick_resizes">1</Option>
<Option name="panel_style">1</Option>
<Option name="pinboard_tasklist_per_workspace">0</Option>
<Option name="panel_on_top">0</Option>
<Option name="toolbar_min_width">1</Option>
<Option name="panel_avoid">1</Option>
<Option name="dnd_drag_to_icons">1</Option>
<Option name="menu_quick">0</Option>
<Option name="toolbar_disable">gtk-close</Option>
<Option name="filer_change_size_num">30</Option>
<Option name="action_mount_command">mount</Option>
<Option name="action_mount">1</Option>
<Option name="action_brief">0</Option>
<Option name="display_inherit_options">1</Option>
<Option name="filer_auto_resize">1</Option>
<Option name="pinboard_image_scaling">0</Option>
<Option name="panel_width">52</Option>
<Option name="pinboard_top_margin">0</Option>
<Option name="action_newer">0</Option>
<Option name="session_panel_name">Default</Option>
<Option name="filer_unique_windows">0</Option>
<Option name="session_pinboard_name">Default</Option>
<Option name="dnd_left_menu">1</Option>
<Option name="panel_monitor">0</Option>
<Option name="bind_new_button_1">0</Option>
<Option name="pinboard_tasklist">1</Option>
<Option name="display_large_width">155</Option>
<Option name="dnd_no_hostnames">1</Option>
<Option name="display_dirs_first">1</Option>
<Option name="filer_view_type">1</Option>
<Option name="display_show_full_type">0</Option>
<Option name="display_icon_size">3</Option>
<Option name="vertical_order_small">0</Option>
<Option name="display_sort_by">0</Option>
<Option name="action_copy">1</Option>
<Option name="dnd_uri_handler">x-terminal-emulator -e wget -c $1</Option>
<Option name="dnd_spring_delay">400</Option>
<Option name="menu_iconsize">1</Option>
<Option name="action_move">1</Option>
<Option name="pinboard_bottom_margin">0</Option>
<Option name="menu_xterm">terminology</Option>
<Option name="display_show_hidden">0</Option>
<Option name="dnd_middle_menu">1</Option>
<Option name="vertical_order_large">0</Option>
<Option name="panel_is_dock">1</Option>
<Option name="filer_size_limit">75</Option>
<Option name="xattr_show">1</Option>
<Option name="toolbar_type">1</Option>
<Option name="action_umount_command">umount</Option>
<Option name="pinboard_grid_step">32</Option>
<Option name="session_panel_or_pin">2</Option>
<Option name="icon_theme">ROX</Option>
<Option name="filer_beep_multi">1</Option>
<Option name="pinboard_shadow_labels">1</Option>
<Option name="label_font"></Option>
<Option name="iconify_dir">1</Option>
<Option name="pinboard_forward_buttons_13">0</Option>
<Option name="panel_obey_workarea">0</Option>
<Option name="action_eject_command">eject</Option>
<Option name="pinboard_left_margin">0</Option>
<Option name="panel_xinerama">0</Option>
<Option name="action_force">0</Option>
<Option name="display_small_width">250</Option>
<Option name="xattr_ignore">0</Option>
<Option name="action_recurse">0</Option>
<Option name="override_redirect">0</Option>
<Option name="iconify_start">1</Option>
<Option name="display_details">0</Option>
<Option name="display_show_thumbs">0</Option>
<Option name="dnd_spring_open">0</Option>
<Option name="filer_short_flag_names">0</Option>
</Options>
EOF
cat > ${ROXFILER_HOME}/ROX-Filer/menus2 <<'EOF'
; rox GtkAccelMap rc-file -*- scheme -*-
; this file is an automated accelerator map dump
;
; (gtk_accel_path "<filer>/Window/Home Directory" "<Primary>Home")
; (gtk_accel_path "<filer>/Help/Manual" "")
; (gtk_accel_path "<filer>/Window/Shell Command..." "<Shift>exclam")
; (gtk_accel_path "<filer>/Display/Reversed" "")
; (gtk_accel_path "<filer>/Display/Sort by Group" "")
; (gtk_accel_path "<filer>/File/Link..." "")
; (gtk_accel_path "<filer>/Display/Show Thumbnails" "")
; (gtk_accel_path "<filer>/Display/Smaller Icons" "minus")
; (gtk_accel_path "<filer>/Window/Follow Symbolic Links" "")
; (gtk_accel_path "<filer>/File/" "")
; (gtk_accel_path "<filer>/File/Shift Open" "")
; (gtk_accel_path "<filer>/Window/" "")
; (gtk_accel_path "<filer>/Window/Switch to Terminal" "")
; (gtk_accel_path "<filer>/New/Blank file" "<Primary>n")
; (gtk_accel_path "<filer>/Display/Sort by Date" "")
; (gtk_accel_path "<filer>/Display/Icons, With.../Times" "")
; (gtk_accel_path "<filer>/Window/Show Log" "")
; (gtk_accel_path "<filer>/Display/Refresh" "")
; (gtk_accel_path "<filer>/File/Send To..." "")
; (gtk_accel_path "<filer>/File/Copy..." "<Primary>c")
; (gtk_accel_path "<filer>/Window/Close Window" "<Primary>q")
; (gtk_accel_path "<filer>/Display/Bigger Icons" "equal")
; (gtk_accel_path "<filer>/Display/Sort by Owner" "")
; (gtk_accel_path "<filer>/Display/Filter Directories With Files" "")
; (gtk_accel_path "<filer>/Window/Enter Path..." "slash")
; (gtk_accel_path "<filer>/File/Set Icon..." "")
; (gtk_accel_path "<filer>/Display/Sort by Name" "")
; (gtk_accel_path "<filer>/Display/Icons, With.../Permissions" "")
; (gtk_accel_path "<filer>/Window/Parent, New Window" "")
; (gtk_accel_path "<filer>/Display/List View" "")
; (gtk_accel_path "<filer>/File/Customise Menu..." "")
; (gtk_accel_path "<filer>/File/Permissions" "")
; (gtk_accel_path "<filer>/Help/Show Help Files" "F1")
; (gtk_accel_path "<filer>/File/Find" "<Primary>f")
; (gtk_accel_path "<filer>/File/Delete" "<Primary>x")
; (gtk_accel_path "<filer>/Display/Sort by Size" "")
; (gtk_accel_path "<filer>/New/Directory" "")
; (gtk_accel_path "<filer>/Display/Icons, With.../Sizes" "")
; (gtk_accel_path "<filer>/Display/Automatic" "")
; (gtk_accel_path "<filer>/Select/Clear Selection" "")
; (gtk_accel_path "<filer>/Window/Resize Window" "<Primary>e")
; (gtk_accel_path "<filer>/Window/Show Bookmarks" "<Primary>b")
; (gtk_accel_path "<filer>/Select/Invert Selection" "")
; (gtk_accel_path "<filer>/File/Properties" "<Primary>p")
; (gtk_accel_path "<filer>/File/Set Type..." "")
; (gtk_accel_path "<filer>/Window/New Window" "")
; (gtk_accel_path "<filer>/Display/Show Hidden" "<Primary>h")
; (gtk_accel_path "<filer>/Window/Terminal Here" "grave")
; (gtk_accel_path "<filer>/Display/Save Current Display Settings..." "")
; (gtk_accel_path "<filer>/Display/Filter Files..." "")
; (gtk_accel_path "<filer>/New/Customise Menu..." "")
; (gtk_accel_path "<filer>/Select/Select If..." "<Shift>question")
; (gtk_accel_path "<filer>/Window/Parent, Same Window" "")
; (gtk_accel_path "<filer>/Options..." "")
; (gtk_accel_path "<filer>/Display/Icons View" "")
; (gtk_accel_path "<filer>/Help/About ROX-Filer..." "")
; (gtk_accel_path "<filer>/File/Set Run Action..." "asterisk")
; (gtk_accel_path "<filer>/Select/Select All" "<Primary>a")
; (gtk_accel_path "<filer>/Display/Sort by Type" "")
; (gtk_accel_path "<filer>/Select/Select by Name..." "period")
; (gtk_accel_path "<filer>/Display/" "")
; (gtk_accel_path "<filer>/Display/Icons, With.../Types" "")
; (gtk_accel_path "<filer>/File/Rename..." "")
; (gtk_accel_path "<filer>/File/Count" "")
EOF
xmlstarlet edit -L -u "/Options/Option[@name='display_inherit_options']" -v '1' ${ROXFILER_HOME}/ROX-Filer/Options
xmlstarlet edit -L -u "/Options/Option[@name='display_dirs_first']" -v '1' ${ROXFILER_HOME}/ROX-Filer/Options
xmlstarlet edit -L -u "/Options/Option[@name='filer_view_type']" -v '1' ${ROXFILER_HOME}/ROX-Filer/Options
xmlstarlet edit -L -u "/Options/Option[@name='menu_xterm']" -v 'xfce4-terminal' ${ROXFILER_HOME}/ROX-Filer/Options