Giter Club home page Giter Club logo

lxqt-archiver's Introduction

LXQt Archiver

Overview

A simple & lightweight Qt file archiver.

The core I/O functions are ported from Engrampa (a Gnome File Roller fork).

  • Git revision: c96c85f6d2ff939eeb295e24b699a32262c09151 (2018-06-20)

This is only a front-end (a graphical interface) to archiving programs like tar and zip. The supported file types are :

  • 7-Zip Compressed File (.7z)
  • WinAce Compressed File (.ace)
  • ALZip Compressed File (.alz)
  • AIX Small Indexed Archive (.ar)
  • ARJ Compressed Archive (.arj)
  • Cabinet File (.cab)
  • UNIX CPIO Archive (.cpio)
  • Debian Linux Package (.deb) [Read-only mode]
  • ISO-9660 CD Disc Image (.iso) [Read-only mode]
  • Java Archive (.jar)
  • Java Enterprise archive (.ear)
  • Java Web Archive (.war)
  • LHA Archive (.lzh, .lha)
  • WinRAR Compressed Archive (.rar)
  • RAR Archived Comic Book (.cbr)
  • RPM Linux Package (.rpm) [Read-only mode]
  • Tape Archive File: * uncompressed (.tar) or compressed with: * gzip (.tar.gz , .tgz) * bzip (.tar.bz , .tbz) * bzip2 (.tar.bz2 , .tbz2) * compress (.tar.Z , .taz) * lrzip (.tar.lrz , .tlrz) * lzip (.tar.lz , .tlz) * lzop (.tar.lzo , .tzo) * 7zip (.tar.7z) * xz (.tar.xz)
  • Stuffit Archives (.bin, .sit)
  • ZIP Archive (.zip)
  • ZIP Archived Comic Book (.cbz)
  • ZOO Compressed Archive File (.zoo)
  • Single files compressed with gzip, bzip, bzip2, compress, lrzip, lzip, lzop, rzip, xz.

Binary packages

Official binary packages are provided by most major Linux and BSD distributions. Just use your package manager to search for string lxqt-archiver.

Translation

Translations can be done in LXQt-Weblate

Translation status

lxqt-archiver's People

Contributors

agaida avatar atalanttore avatar ayhanyalcinsoy avatar chiitoo avatar dglent avatar dothanhtrung avatar eltonfabricio10 avatar fat-zer avatar iamthesenate1 avatar ito32bit avatar jubalh avatar luis-pereira avatar lxqtbot avatar mbouzada avatar micrococo avatar mkljczk avatar oliverburkardt avatar p-bo avatar pan93412 avatar parknert avatar pcman avatar rbuj avatar safaalfulaij avatar shlyakpavel avatar smarquespt avatar stefonarch avatar tsujan avatar weblate avatar yarons avatar zoli111 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lxqt-archiver's Issues

Allow choosing libarchive binary outside Linux

Under Linux, it's bsdtar but, under some *BSD systems, it may be tar.

I think we'll use bsdtar in more cases in future (for now, it's used only for rpm archives). So, it's better to add an option for choosing it outside Linux. The option shouldn't be visible inside Linux.

Build for Windows?

Hello, will there be an assembly for Windows? The program will be a console or a graphical interface?

Zstd Support

Recently, AUR has started to make use of zstd (Zstandard-compressed). I think it'll be used more and more in other places too.

For Arqiver, its support can be easily added (because tar covers it) but I still don't know about lxqt-archiver, although it should be possible theoretically.

Remember last settings

Hi

is it possible that lxqt-archiver can remember the last settings?

And why isn't the archive deleted beforehand if I want to overwrite it? It is constantly adding new files.

The version of lxqt-archiver is 0.2.0
LXQt version: 0.15.0
Qt: 5.15.0
PCLInuxOS 2020 up to date
Kernel: 5.7.2

Regards
Daniel

Empty filename when creating an archive

Expected Behavior

Filename input to be filled with an appropiate filename for the case.

Current Behavior

Empty filename box. Also, its need to type the file extension. Selecting from dropdown is not working.

image

Possible Solution

If a file or directory is selected, its name. If a group of file inside a directory selected, the name of the parent directory holding them.

Steps to Reproduce (for bugs)
  1. Right click a file on pcmanfm-qt, select compress
Context

The idea is not having to select the directory to create the archive nor type its name.

System Information

lxqt-0.1.0 latest git changes, the same for pcmanfm-qt and libfm-qt

lxqt-archiver doesn't show that an item is a symlink

Expected Behavior

Show whether an item is a symlink.

Current Behavior

There's no info on symlinks.

Possible Solution

I don't know yet.

Steps to Reproduce (for bugs)
  1. Open an archive containing some symlinks in lxqt-archiver.
  2. In the left pane, go to a dir containing symlink(s) (you should have extracted the archive in the first place to know that).
  3. Look at the right pane.

No info about symlinks.

lxqt-archiver's file dialog doesn't follow the settings of LXQt file dialog

The reason is that lxqt-archiver uses its own, customized file dialog.

Possible Solution

There are two solutions:

  1. lxqt-archiver's file dialog should read its config from and writes them to LXQt file dialog's config file; or
  2. It should have a separate config file.

1 has two problems, at least. lxqt-archiver's file dialog has more settings than LXQt file dialog. And its size may be bigger (we don't want to increase the size whenever we use lxqt-archiver).

2 has the obvious problem that the user expects to see the common settings respected by lxqt-archiver's file dialog.

I think a mixture of 1 and 2 may be the solution. It needs to be examined in more detail.

Make the side-pane scrollable horizontally

Currently, the text is elided when there's no space for it and the user needs to move the split-view handle to see it. With some archives, that may not be enough either, as they may contain too many nested folders.

Instead, it's better to add a horizontal scrollbar when needed.

DND a folder drops an empty one

Expected Behavior

According to #87 dropping a folder should be supported

Current Behavior

only dropping files, when DND a folder the result dropped folder is empty

Steps to Reproduce (for bugs)
  1. Drag and drop a folder into anywhere in pcmanfm
  2. The dropped folder is empty
System Information
  • Distribution & Version: Void Linux, latest
  • Kernel: 5.11.18_1
  • Package version: 0.4.0

Core dump when saving test.zip without zip installed.

Steps to Reproduce (for bugs)
  1. Uninstall zip, archiver will not show it in the dropdown list
  2. Create an archive named "test.zip"
  3. hit "save"
  4. it will crash and not save

It should warn about missing zip install instead.

Sorry for the hurry I'm in.

EDIT: the above is true for any suffix - existing or not - you choose, so test.xu test.pq, test.mp3

No icons in toolbar

lxqt-archiver has no icons in toolbar.

x2

System Information
  • Distribution & Version: Arch Linux
  • Kernel: 5.7.6-arch1-1
  • DM: dwm-6.2
  • Package version: lxqt-archiver 0.2.0
$ yay lxqt | grep Installed
42 aur/breeze-lxqt 1.4-1 (+15 0.00) (Installed)
22 community/qterminal 0.15.0-1 (222.4 KiB 932.6 KiB) [lxqt] (Installed)
21 community/pcmanfm-qt 0.15.1-1 (345.5 KiB 1.7 MiB) [lxqt] (Installed)
18 community/lxqt-themes 0.15.0-1 (3.1 MiB 3.6 MiB) [lxqt] (Installed)
5 community/lxqt-archiver 0.2.0-1 (200.6 KiB 784.5 KiB) [lxqt] (Installed)
2 community/lximage-qt 0.15.0-1 (158.4 KiB 664.5 KiB) [lxqt] (Installed)

$ yay icon | grep Installed
33 community/lxqt-themes 0.15.0-1 (3.1 MiB 3.6 MiB) [lxqt] (Installed)
7 extra/hicolor-icon-theme 0.17-2 (10.2 KiB 54.2 KiB) (Installed)
6 extra/gtk-update-icon-cache 1:3.24.21-1 (15.3 KiB 38.7 KiB) (Installed)
1 extra/adwaita-icon-theme 3.36.1-1 (10.7 MiB 22.3 MiB) (Installed)

$ yay theme | grep Installed
53 community/lxqt-themes 0.15.0-1 (3.1 MiB 3.6 MiB) [lxqt] (Installed)
50 community/lxappearance 0.6.3-2 (80.1 KiB 405.0 KiB) [lxde] (Installed)
43 community/gtk-chtheme 0.3.1-9 (10.8 KiB 35.0 KiB) (Installed)
22 extra/sound-theme-freedesktop 0.8-4 (370.0 KiB 461.2 KiB) (Installed)
15 extra/libcanberra 0.30+2+gc0620e4-3 (83.8 KiB 403.3 KiB) (Installed)
12 extra/hicolor-icon-theme 0.17-2 (10.2 KiB 54.2 KiB) (Installed)
11 extra/gtk-engines 2.21.0-5 (266.0 KiB 1.2 MiB) (Installed)
8 extra/gnome-themes-extra 3.28-2 (2.5 MiB 4.4 MiB) [gnome] (Installed)
4 extra/breeze-gtk 5.19.2-1 (237.6 KiB 7.4 MiB) [plasma] (Installed)
1 extra/adwaita-icon-theme 3.36.1-1 (10.7 MiB 22.3 MiB) (Installed)

$ yay qt5 | grep Installed
69 extra/qt5-x11extras 5.15.0-1 (14.5 KiB 40.6 KiB) [qt qt5] (Installed)
66 extra/qt5-webkit 5.212.0alpha4-6 (12.2 MiB 46.7 MiB) (Installed)
64 extra/qt5-webengine 5.15.0-2 (44.1 MiB 144.7 MiB) [qt qt5] (Installed)
63 extra/qt5-webchannel 5.15.0-1 (72.5 KiB 222.9 KiB) [qt qt5] (Installed)
58 extra/qt5-svg 5.15.0-1 (146.0 KiB 490.4 KiB) [qt qt5] (Installed)
54 extra/qt5-sensors 5.15.0-1 (177.1 KiB 908.8 KiB) [qt qt5] (Installed)
41 extra/qt5-location 5.15.0-1 (2.9 MiB 11.0 MiB) [qt qt5] (Installed)
40 extra/qt5-imageformats 5.15.0-1 (52.7 KiB 208.1 KiB) [qt qt5] (Installed)
35 extra/qt5-declarative 5.15.0-1 (4.8 MiB 24.7 MiB) [qt qt5] (Installed)
31 extra/qt5-base 5.15.0-3 (12.9 MiB 64.1 MiB) [qt qt5] (Installed)
15 extra/poppler-qt5 0.88.0-1 (187.7 KiB 666.0 KiB) (Installed)
6 extra/libdbusmenu-qt5 0.9.3+16.04.20160218-5 (159.2 KiB 600.9 KiB) (Installed)
2 extra/avahi 0.8+15+ge8a3dd0-1 (435.9 KiB 1.8 MiB) (Installed)


Icon file

Currently In our desktop file we have Icon=application-x-archive.
The problem is that not all icon themes will provide this. And many distributions use hicolor as their fallback icon theme, which also doesn't provide this.
So one way would be to add a general archiver icon to hicolor, or our own icon to hicolor.

Another way would be to have our own archiver related icon, and ship that in the lxqt-archiver package and rely on this. Then we are not dependand on the icon theme.

To my knowledge application-x-archive is provided by:
breeze-icon-theme, oxygen-icon-theme and paper-icon theme.

Hangs when contents of to-be-extracted archive exist

Expected Behavior

If all root files of an archive exist in the extraction directory and lxqt-archiver isn't supposed to overwrite them, it should close its progressbar immediately.

Current Behavior

It hangs, showing a busy progressbar and taking a lot of CPU time. But, fortunately, it exits once the progressbar dialog is closed.

Steps to Reproduce (for bugs)
  1. Create an archive from a file in its parent directory by using pcmanfm-qt's right-click menu.
  2. Try to extract that archive in the same directory by using pcmanfm-qt's right-click menu ("Extract Here").

Decrypt of .7z archive failing

Expected Behavior

Decrypting a password protected .7z archive with an encrypted file list should work as expected.

Current Behavior

When trying to decrypt such an archive you're prompted with the error message 'password required' but it is not possible to insert the password. Unpacking fails. (The same archive can be unpacked with arqiver, xarchiver or file-roller.)

Steps to Reproduce (for bugs)
  1. Create a .7z archive, protect it with a password, check 'encrypt file list'
  2. Open the archive with lxqt-archiver
  3. No insertion of password possible
System Information
  • Distribution & Version: Arch Linux
  • Kernel: 5.12.6-arch1-1
  • Qt Version: 5.15.2
  • libqtxdg Version: 3.7.1-1
  • lxqt-build-tools Version: 0.9.0-1
  • Package version: 0.4.0-1

Error in unace file listing parser

Expected Behavior

Scrubbed output below in the "Context" section. Sorry, private data.
Listing of ACE files should only show "real" files, without including a "file" named "bytes (compressed x.xxxX)".

Current Behavior

A "file" named "bytes (compressed x.xxxX)" is shown in the file listing UI.

Possible Solution

Fix process_line function in fr-command-ace.c to stop when it encounters a line that starts with "listed: "

Steps to Reproduce (for bugs)
  1. Get a .ace compressed archive somehow, or download WinAce Trial (like from softpedia.com) and make an archive. Calling this "test.ace".
  2. Run unace v test.ace from a terminal and observe the output
  3. Open "test.ace" from lxqt-archiver and observe the file listing
  4. Observe that bytes (compressed x.xxxx) is shown as a filename
Context

Tried opening an ancient ACE archive from early 2000s with lxqt-archiver in 2020.
Output with filenames and numbers scrubbed:

UNACE v2.5     Copyright by ACE Compression Software       Jan 25 2020 21:01:27

processing archive /tmp/scrubbed.ace
created on xx.xx.xxxx with ver 2.0 by
*UNREGISTERED VERSION*
Contents of archive scrubbed.ace

  Date    Time     Packed      Size  Ratio  File

xx.xx.xx xx:xx     xxxxxxx   xxxxxxx   xx%  filename1
xx.xx.xx xx:xx     xxxxxxx   xxxxxxx   xx%  filename2
xx.xx.xx xx:xx     xxxxxxx   xxxxxxx   xx%  filename3

listed: 3 files, totaling x.xxxX bytes (compressed x.xxxX)

Using "unace 2.5-11" package from ArchLinux, which is "non-free" version

System Information
  • Distribution & Version: ArchLinux
  • Kernel: Irrelevant
  • Qt Version: Irrelevant
  • libqtxdg Version: Irrelevant
  • lxqt-build-tools Version: Irrelevant
  • Package version: lxqt-archiver 0.2.0

Best Regards

Duplicated assignment

xfer_data->dest_dir = g_strdup (dest_dir);
xfer_data->update = update;
xfer_data->dest_dir = g_strdup (dest_dir);

It is possible that removing one of the repeating assignments is enough. It as also possible, that the author meant to set another field of xfer_data. Fields source_id, action and uri are not set, sooo.. I really hope someone more familiar with the code investigates it. Have a nice day!

Current sources FTBFS

lxqt-archiver/snapshot/src/core/fr-archive.c: In function ‘copy_remote_file’:
lxqt-archiver/snapshot/src/core/fr-archive.c:1246:9: error: format not a string literal and no format arguments [-Werror=format-security]
         error = g_error_new (G_IO_ERROR, G_IO_ERROR_NOT_FOUND, _("Archive not found"));
         ^~~~~
lxqt-archiver/snapshot/src/core/fr-archive.c: In function ‘fr_archive_add’:
lxqt-archiver/snapshot/src/core/fr-archive.c:1579:32: warning: format ‘%s’ expects argument of type ‘char *’, but argument 2 has type ‘gpointer’ {aka ‘void *’} [-Wformat=]
             g_print(" dst_fn: %s\n", new_file_list->data);
                               ~^     ~~~~~~~~~~~~~~~~~~~
                               %p
cc1: some warnings being treated as errors

[RFE] Please add a column "file permissions"

Sometimes it can be helpful. In particular, I just experienced a problem with extracted script not having an executable bit set, which I almost deemed to be a bug in lxqt-archiver, but then I figured it's that the original archive didn't have it for some reason. Being able to look at file permissions inside an archive would've helped.

For example, here's what the column looks like for ark:

Screenshot_20191128_165731

Latest lxqt-archiver, built from commit 5fbc6f7 only has these:

Screenshot_20191128_165843

FTBFS on reconfigure

Configure runs Ok. Reconfigure fails

Expected Behavior

Successful reconfigure.

Current Behavior
CMake Error at /usr/share/cmake/lxqt-build-tools/find-modules/FindGLIB.cmake:56 (get_filename_component):
  get_filename_component unknown component gio-2.0
Call Stack (most recent call first):
  CMakeLists.txt:34 (find_package)


-- Found GLIB: /usr/include/glib-2.0;/usr/lib/i386-linux-gnu/glib-2.0/include (found suitable version "2.56.3", minimum required is "2.50.0") 
-- Configuring incomplete, errors occurred!
See also "/home/lpereira/src/lxqt/lxqt-archiver/build/CMakeFiles/CMakeOutput.log".
Steps to Reproduce (for bugs)
  1. cmake ..
  2. cmake ..
System Information
  • Distribution & Version: git
  • Kernel:
  • Qt Version:
  • libqtxdg Version: git
  • lxqt-build-tools Version: git
  • Package version: git

cannot open RPM

Followup to #158

Expected Behavior

Package content is visible (readonly).

Current Behavior

Generic dialog appears: "Command cannot be executed."

Possible Solution
Steps to Reproduce (for bugs)

Open any RPM archive.

Context
System Information
  • Distribution & Version: Manjaro 20.1
  • Kernel: 5.4
  • Qt Version: 5.15.1
  • libqtxdg Version: 3.5.0-3
  • lxqt-build-tools Version: not relevant
  • Package version: 0.2.0

src/archiveritem.cpp: reference to local variable ‘results’ returned [-Wreturn-local-addr]

Expected Behavior

Compiler warning via '-Wreturn-local-addr' probably shouldn't be triggered.

Current Behavior
src/archiveritem.cpp:82:39: warning: reference to local variable
  ‘results’ returned [-Wreturn-local-addr]
     std::vector<const ArchiverItem *> results;
                                       ^~~~~~~
Steps to Reproduce (for bugs)
  1. Should probably happen during a normal build, in all currently available build configurations?
Context

At least on Gentoo, this triggers QA notices like so:

 * QA Notice: Package triggers severe warnings which indicate that it
 *            may exhibit random runtime failures.
 * [...]/work/lxqt-archiver-9999/src/archiveritem.cpp:82:39: warning:
  reference to local variable ‘results’ returned [-Wreturn-local-addr]
System Information
  • Distribution & Version: Gentoo (Chiitoo Edition)
  • Kernel: Linux 4.18.8 with Gentoo Patchset
  • Qt Version: 5.12.0 (b7a123a6)
  • libqtxdg Version: 374f4184
  • lxqt-build-tools Version: c2c6539d
  • Package version: f03bfe3

File filtering

File filtering is a useful feature, especially with heavy archives and "Show All Files".

Expected Behavior

An easy-to-use file filtering.

Possible Solution

I've made one but should polish it.

Why is it needed?
  1. Open Qt's source archive without extracting it.
  2. Select "Show All Files".
  3. Try to find qwidget.cpp in it.

You couldn't.

System Information

Latest git LXQt.

Make it part of LXQt

As a forgetful person, I needed this reminder to dedicate some time to lxqt-archiver to get familiar with its Qt code (the C code is too huge), find and fix its (probable) issues, and add features to it.

The goal: Make it an active component of the next release!

Choose the current folder when extracting/compressing

Expected Behavior

When extracting/compressing, especially from pcmanfm-qt, the current folder should be chosen; the user could change it later if he/she wants.

Current Behavior

lxqt-archiver shows the home folder.

Possible Solution

Will look into the code. It should be easy to implement; Arqiver does it.

First release needed

@agaida
I think lxqt-archiver is quite stable and feature-rich now. But users may have not heard of it yet. So, a release could be good for users (they could get rid of alien apps like Ark) and developers alike (they'll receive more feedback).

Doesn't open RPM packages

Expected Behavior

lxqt-archiver should have read-only support for RPM archives.

Current Behavior

It can't open RPM packages.

System Information

Latest git version

Allow opening disk images

7-Zip on Windows allows users to open .img disk images as regular archive files, including FAT and NTFS partitions. This is convenient for users that work often with disk images and would allow LXQt users to easily open disk images without requiring additional software.

I think viewing/extracting disk images is already supported by 7z, so this could be easy to add to lxqt-archiver.

Dependency for source;

I am trying to build from source and cmake cant find fm-qt, is fm-qt pcmanfm-qt?

System Information

Distribution & Version: Ubuntu (Lubuntu) 19.04 (Disco Dingo)
Kernel: 5.0.0-31-generic
Qt Version: 0.14.1

rpm2cpio

Building lxqt-archiver also builds rpm2cpio.
On rpm based distros this binary will be already provided by the rpm package AFAIK.

I think in this case we shouldn't install our own build of it but rely on the system version. Probably just adding a flag to not install it will help.

Package maintainers on RPM based distros can then add a build requirement on rpm / /usr/bin/rpm2cpio.

No archive modification by DND

It seems that I am unable to add a file to an archive by dragging & dropping a file into the lxqt-archiver window/folder, file-roller allows you to do this using PcManFm-Qt although since this is based on the Engrampa it may be missing.

LXQt archiver: set password always possibile

When creating for example a tar.gz archive it's possible to set an passwd even if neither .tar nor .gz has this feature afaik. Probably true for others too.

Expected Behavior

Passwd field should be deactivated if archive format doesn't support it.

Possible Solution

Check for features when selecting suffix/format

System Information

git checkout of lxqt-archiver, arch

lxqt-archiver fails to build with new glib2 2.61.2

hi,

I tried on Mageia Cauldron (linux) to build lxqt-archiver 0.0.96 but it fails to build with recent glib2 2.61.2:

In file included from /home/pterjan/rpmbuild/BUILD/lxqt-archiver-0.0.96/src/core/fr-command-ace.c:31:
/home/pterjan/rpmbuild/BUILD/lxqt-archiver-0.0.96/src/core/glib-utils.h:69:21: error: conflicting types for 'g_ptr_array_copy'
GPtrArray * g_ptr_array_copy (GPtrArray *array);
^~~~~~~~~~~~~~~~
In file included from /usr/include/glib-2.0/glib.h:31,
from /home/pterjan/rpmbuild/BUILD/lxqt-archiver-0.0.96/src/core/fr-command-ace.c:27:
/usr/include/glib-2.0/glib/garray.h:141:12: note: previous declaration of 'g_ptr_array_copy' was here
GPtrArray *g_ptr_array_copy (GPtrArray *array,
^~~~~~~~~~~~~~~~
make[2]: *** [src/core/CMakeFiles/lxqt-archiver-core.dir/build.make:144: src/core/CMakeFiles/lxqt-archiver-core.dir/fr-command-ace.c.o] Error 1
make[2]: Leaving directory '/home/pterjan/rpmbuild/BUILD/lxqt-archiver-0.0.96/build'
make[2]: *** Waiting for unfinished jobs....

build.0.20190812145901.log

Regards,
David

Drag-and-drop support

Expected Behavior
Current Behavior
Possible Solution
Steps to Reproduce (for bugs)
  1. Drag files or folder from archive using lxqt-archiver
  2. Try to drop them to file manager's window
  3. No files from archive are extracted
    Implementing drag-and-drop will make decompressing much more easy.
Context
System Information
  • Distribution & Version: Antergos x86_64
  • Kernel: 4.20.13-arch1-1-ARCH
  • Qt Version: 5.12
  • libqtxdg Version: 3.3.1
  • lxqt-build-tools Version: 0.6
  • Package version: g941f586

Remember some window settings

Like win size and splitter position. Remembering can be optional and values can be saved on exiting or they can be set by the user.

Not asking for password

When opening a protected archive the program doesn't ask for a password, instead a warning saying it's password protected.

Core dump when creating new archive

Selecting from Menu → File → New Archiver dumps core when saving. No matter what kind of archive is selected.

System Information
  • Distribution & Version: Arch Linux up to date, latest master LXQt

Sorting is sometimes wrong

Expected Behavior

Sorting should be in the ascending order, with folders coming before files.

Current Behavior

It isn't so sometimes, like in this screenshot:

sorting

System Information
  • Package version: Latest git

Never extract an archive by mixing its file with other files

Expected Behavior

It can be very annoying to see extracted files being mixed with other files; there would be no easy way to find them. Unfortunately, most archive managers don't care.

Current Behavior

If the archive doesn't have a parent folder, make a directory inside the extraction folder and extract files inside it. If the user really wants to put them into the extraction folder, he/she could copy and paste them.

Possible Solution

I should look into the code. I've done it in Arqiver; so, I don't think it's hard to do here.

System Information
  • Latest git

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.