xaizek / vifm (License: GPLv2+) (since 2018-12-07)
Vifm is a file manager with curses interface, which provides Vi[m]-like environment for managing objects within file systems, extended with some useful ideas from mutt.
Commit d64281faf5a826a8efd20fc63930c307120585d8

Make vifm-media not offer partitioned drives
Because they aren't mountable as a whole, you should mount their
partitions instead.

Also renamed a variable in udisks2 part of the script because `hint` was
a terrible name for `HintSystem` value.
Author: xaizek
Author date (UTC): 2024-04-18 11:32
Committer name: xaizek
Committer date (UTC): 2024-04-25 16:27
Parent(s): 71e30c9b2830129dc4359c0128b53ad259d97dd3
Signing key: 99DC5E4DB05F6BE2
Tree: d84bce4f14ba99bbe961e62f16df5df30b261052
File Lines added Lines deleted
ChangeLog 3 0
data/vifm-media 11 2
File ChangeLog changed (mode: 100644) (index 2f19aa01d..be0d2ca4f)
106 106 Commented out one of MC-like shortcuts in sample vifmrc files, Ctrl-U, to Commented out one of MC-like shortcuts in sample vifmrc files, Ctrl-U, to
107 107 avoid confusing Vim users with default configuration. Thanks to midrare. avoid confusing Vim users with default configuration. Thanks to midrare.
108 108
109 Make vifm-media not offer partitioned drives as they aren't mountable as a
110 whole.
111
109 112 Fixed line number column not including padding to the left of it. Fixed line number column not including padding to the left of it.
110 113
111 114 Fixed local options not being loaded on Ctrl-W x. Fixed local options not being loaded on Ctrl-W x.
File data/vifm-media changed (mode: 100755) (index 9b6f7338b..a6d1743c4)
... ... function list() {
19 19
20 20 local out=$(info "$dev") local out=$(info "$dev")
21 21
22 if grep -qe '^\s*partition table:\s*$' <<< "$out"; then
23 # can't mount the whole drive
24 continue
25 fi
26
22 27 if grep -qe '^\s*removable:\s*0\s*$' <<< "$out"; then if grep -qe '^\s*removable:\s*0\s*$' <<< "$out"; then
23 28 continue continue
24 29 fi fi
 
... ... def devs():
85 90 om = dbus.Interface(ud_manager_obj, 'org.freedesktop.DBus.ObjectManager') om = dbus.Interface(ud_manager_obj, 'org.freedesktop.DBus.ObjectManager')
86 91 for v in om.GetManagedObjects().values(): for v in om.GetManagedObjects().values():
87 92 drive_info = v.get('org.freedesktop.UDisks2.Block', {}) drive_info = v.get('org.freedesktop.UDisks2.Block', {})
93 part_table = v.get('org.freedesktop.UDisks2.PartitionTable')
88 94 usage = drive_info.get('IdUsage') usage = drive_info.get('IdUsage')
89 hint = drive_info.get('HintSystem')
95 system = drive_info.get('HintSystem')
90 96 ro = drive_info.get('ReadOnly') ro = drive_info.get('ReadOnly')
91 if usage == "filesystem" and not hint and not ro:
97 if usage == "filesystem" and \
98 not system and \
99 not ro and \
100 part_table is None:
92 101 device = drive_info.get('Device') device = drive_info.get('Device')
93 102 if device is not None: if device is not None:
94 103 device = decode(device) device = decode(device)
Hints

Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://code.reversed.top/user/xaizek/vifm

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@code.reversed.top/user/xaizek/vifm

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a pull request:
... clone the repository ...
... make some changes and some commits ...
git push origin master