• banner-01

Membersihkan History atau Recent Files via Command Line

Table of Contents

  Info

The AsciiDoc format is a useful presentation format in its own right: AsciiDoc markup is simple, intuitive and as such is easily proofed and edited.

Sudah bukan rahasia lagi dikalangan GNU/Linux user bahwa menggunakan command line untuk mencapai sesuatu adalah jalan tersingkat dan tercepat.

Latar Belakang Masalah

Kenapa recent file tidak di-disable aja, bang?

Karena sangat praktis untuk dapat memanfaatkan file-file yang tersimpan di recent history. Namun, di akhir work hour saya ingin membersihkan semuanya, agar lebih rapi.

Kalau menggunakan GNOME, untuk membersihkan history atau recent files dapat melalui Settings > File History & Trash, lalu Clear History…​.

gambar-01

Namun, cara ini tidak cukup praktis bagi pengguna window manager seperti saya yang terbiasa menggunakan Terminal dan memanfaatkan dmenu untuk mencapai tujuan.

Skenario

  1. Saya ingin menghapus recent files melalui command line.

  2. Saya ingin menghapus recent files melalui dmenu.

Pemecahan Masalah

Saya mendapati, collection dari daftar recent files tersimpan pada sebuah file bernama,

$HOME/.local/share/recently-used.xbel

File ini mengikuti spesifikasi XML 1.0 document, ASCII text.

$HOME/.local/share/recently-used.xbel
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?xml version="1.0" encoding="UTF-8"?>
<xbel version="1.0"
      xmlns:bookmark="http://www.freedesktop.org/standards/desktop-bookmarks"
      xmlns:mime="http://www.freedesktop.org/standards/shared-mime-info"
>
  <bookmark href="file:///home/bandithijo/pic/ss/Screenshot_2021-07-27_06-46-16X.png" added="2021-07-26T22:47:12.390127Z" modified="2021-07-26T22:47:12.426438Z" visited="2021-07-26T22:47:12.390134Z">
    <info>
      <metadata owner="http://freedesktop.org">
        <mime:mime-type type="image/png"/>
        <bookmark:applications>
          <bookmark:application name="xdg-desktop-portal-gtk" exec="&apos;xdg-desktop-portal-gtk %u&apos;" modified="2021-07-26T22:47:12.426425Z" count="2"/>
        </bookmark:applications>
      </metadata>
    </info>
  </bookmark>
  <bookmark href="file:///home/bandithijo/pic/ScreenShots/Screenshot_2021-07-27_06-47-28.png" added="2021-07-26T22:47:53.001336Z" modified="2021-07-26T22:47:53.028202Z" visited="2021-07-26T22:47:53.001347Z">
    <info>
      <metadata owner="http://freedesktop.org">
        <mime:mime-type type="image/png"/>
        <bookmark:applications>
          <bookmark:application name="xdg-desktop-portal-gtk" exec="&apos;xdg-desktop-portal-gtk %u&apos;" modified="2021-07-26T22:47:53.028188Z" count="2"/>
        </bookmark:applications>
      </metadata>
    </info>
  </bookmark>
</xbel>

Dapat dilihat, bahwa terdapat 2 buah recent files yang dapat kita identifikasi dengan mengetahui isi yang terdapat di dalam tag <bookmark>…​</bookmark>.

  1. Filename: Screenshot_2021-07-27_06-46-16X.png
    Type: image/png

  2. Filename: Screenshot_2021-07-27_06-47-28.png
    Type: image/png

Nah, dengan begini, akan lebih mudah untuk menghapusnya.

(1) Menghapus recent files melalui command line

Tinggal echoing dengan string kosong saja ke dalam file tersebut.

$ echo > ~/.local/share/recently-used.xbel

Isi dari file recently-used.xbel akan menjadi kosong.

Jangan khawatir! Karena akan terisi kembali sesuai spesifikasi XML 1.0 document ketika kita melakukan aktivitas open file.

(2) Menghapus recent files melalui dmenu

Agar mudah diakses, selain menambahkan command tersebut ke dalam deretan alias, saya memilih memanfaatkan dmenu.

Saya buatkan file desktop entry specification. Penamaannya bebas, sesuai selera.

$HOME/.local/share/applications/clear-recent-file.desktop
1
2
3
[Desktop Entry]
Name=Clear Recent Files  (1)
Exec=echo > ~/.local/share/recently-used.xbel  (2)
1 Nilai dari entry keys Name=, bebas berikan nama menu sesuai keinginian.
2 Nilai dari entry keys Exec=, masukkan command untuk menghapus recent files pada tahap pertama di atas.

Pesan Penulis

Sepertinya, segini dulu yang dapat saya tuliskan.

Selanjutnya, saya serahkan kepada imajinasi dan kreatifitas teman-teman. Hehe.

Mudah-mudahan dapat bermanfaat.

Terima kasih.

(^_^)

***