制作文件大小相关的编辑器(对于相同的 mimetype)

use*_*952 6 default default-programs 14.04

我的驱动器中有一些非常大的文件作为数据。我的默认编辑器是 gedit。我想知道我是否可以将我的默认编辑器更改为其他内容,例如 glogg,对于超过特定大小阈值的文件。也就是说,我可以根据文件的大小选择我的默认应用程序,即使文件格式相同吗?

A.B*_*.B. 2

您需要一个desktop文件和一个包装脚本:

  1. 文件desktop

  2. 包装脚本

    • 创建一个新脚本

      mkdir -p ~/bin
      nano ~/bin/wrapper
      
      Run Code Online (Sandbox Code Playgroud)
    • 添加下面的代码

      #!/usr/bin/env bash
      LARGE_FILE_EDITOR="glogg"
      SMALL_FILE_EDITOR="gedit"
      
      MAX_SMALL_FILE_SIZE=1000000
      
      FILESIZE=$(stat -c%s "$1")
      
      if [ "$FILESIZE" -le $MAX_SMALL_FILE_SIZE ]; then
              "$SMALL_FILE_EDITOR" "$1"
      else
              "$LARGE_FILE_EDITOR" "$1"
      fi
      exit 0
      
      Run Code Online (Sandbox Code Playgroud)
    • 为 中的大文件定义编辑器LARGE_FILE_EDITOR,例如glogg

    • 为 中的小文件定义编辑器SMALL_FILE_EDITOR,例如gedit

    • $SMALL_FILE_EDITOR定义in的最大文件大小MAX_SMALL_FILE_SIZE,例如 1MB 为 1000000

    • 使您的包装脚本可执行

      chmod +x ~/bin/wrapper
      
      Run Code Online (Sandbox Code Playgroud)
  3. 重新启动 Unity/GNOME Shell,对于 GNOME Shell 例如Alt- F2,输入rEnter

  4. 将一种或多种文件类型与包装器关联

    • 打开文件管理器并右键单击要应用该决定的文件

    • 点击Open With Other Application

    • 单击按钮View All Applications

    • 选择条目File size dependent editor

  5. 享受;)