{"id":815,"date":"2026-05-27T03:28:39","date_gmt":"2026-05-27T03:28:39","guid":{"rendered":"https:\/\/jackharvest.com\/?p=815"},"modified":"2026-09-13T23:04:04","modified_gmt":"2026-09-13T23:04:04","slug":"7sense-linux-archive-extraction-progress","status":"publish","type":"post","link":"https:\/\/jackharvest.com\/index.php\/2026\/05\/27\/7sense-linux-archive-extraction-progress\/","title":{"rendered":"7Sense \u2013 Real Extraction Progress Bars for Linux Archive Tools"},"content":{"rendered":"<div class=\"wp-block-image\">\n<figure class=\"alignleft size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"428\" height=\"428\" src=\"https:\/\/jackharvest.com\/wp-content\/uploads\/2026\/09\/7sense-icon.png\" alt=\"7Sense icon: a zipped folder with a progress bar\" class=\"wp-image-703\" style=\"width:128px\" srcset=\"https:\/\/jackharvest.com\/wp-content\/uploads\/2026\/09\/7sense-icon.png 428w, https:\/\/jackharvest.com\/wp-content\/uploads\/2026\/09\/7sense-icon-300x300.png 300w, https:\/\/jackharvest.com\/wp-content\/uploads\/2026\/09\/7sense-icon-150x150.png 150w\" sizes=\"auto, (max-width: 428px) 100vw, 428px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><strong>Your archive tool has known the percentage the whole time. It just wasn\u2019t telling you.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Extract a big <code>.rar<\/code> or <code>.7z<\/code> on Linux and you usually get a spinner, or a bar that sits at nothing and then jumps to done. 7Sense sits quietly in your system tray and watches for archive extractions. When one starts, it pre-scans the archive for its total uncompressed size, watches the destination folder grow in real time, and turns that into an actual percentage \u2014 with time remaining and the file being extracted.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"624\" height=\"478\" src=\"https:\/\/jackharvest.com\/wp-content\/uploads\/2026\/09\/7sense-preview.png\" alt=\"7Sense setup wizard showing a before\/after comparison of extraction progress\" class=\"wp-image-705\" srcset=\"https:\/\/jackharvest.com\/wp-content\/uploads\/2026\/09\/7sense-preview.png 624w, https:\/\/jackharvest.com\/wp-content\/uploads\/2026\/09\/7sense-preview-300x230.png 300w\" sizes=\"auto, (max-width: 624px) 100vw, 624px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">It works alongside whatever you already use. No patches to Ark, File Roller or anything else, no elevated permissions to run, and uninstalling is deleting one <code>.desktop<\/code> file.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/github.com\/jackharvest\/7sense\/releases\/latest\">Download 7Sense<\/a><\/div>\n\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/github.com\/jackharvest\/7sense\">View on GitHub<\/a><\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">What it looks like<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"389\" height=\"289\" src=\"https:\/\/jackharvest.com\/wp-content\/uploads\/2026\/09\/7sense-notification.png\" alt=\"7Sense progress notification during a RAR extraction, next to Dolphin\u2019s own\" class=\"wp-image-704\" srcset=\"https:\/\/jackharvest.com\/wp-content\/uploads\/2026\/09\/7sense-notification.png 389w, https:\/\/jackharvest.com\/wp-content\/uploads\/2026\/09\/7sense-notification-300x223.png 300w\" sizes=\"auto, (max-width: 389px) 100vw, 389px\" \/><figcaption class=\"wp-element-caption\">A real percentage and time remaining, sitting right above Dolphin\u2019s own \u201cExtracting Files.\u201d<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The look adapts to your desktop \u2014 KDE, GNOME, Xfce, whatever you\u2019re running, it fits in.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Embarrassingly small<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"222\" height=\"52\" src=\"https:\/\/jackharvest.com\/wp-content\/uploads\/2026\/09\/7sense-tray.png\" alt=\"7Sense sitting in the system tray\" class=\"wp-image-710\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">That\u2019s it up there. The whole app. The daemon is written in Rust and idles at <strong>about 4 MB of RAM<\/strong> with a <strong>1.3 MB binary<\/strong>. No Electron, no embedded browser, no 200 MB Python runtime parked in your tray for the rest of your session just to watch a folder grow. Three threads total.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Setup takes ten seconds<\/h2>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-2 wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"613\" height=\"471\" data-id=\"709\" src=\"https:\/\/jackharvest.com\/wp-content\/uploads\/2026\/09\/7sense-setup-prereqs.png\" alt=\"7Sense setup: dependency check\" class=\"wp-image-709\" srcset=\"https:\/\/jackharvest.com\/wp-content\/uploads\/2026\/09\/7sense-setup-prereqs.png 613w, https:\/\/jackharvest.com\/wp-content\/uploads\/2026\/09\/7sense-setup-prereqs-300x231.png 300w\" sizes=\"auto, (max-width: 613px) 100vw, 613px\" \/><figcaption class=\"wp-element-caption\">Installs anything missing for you<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"613\" height=\"471\" data-id=\"708\" src=\"https:\/\/jackharvest.com\/wp-content\/uploads\/2026\/09\/7sense-setup-formats.png\" alt=\"7Sense setup: choosing archive formats to watch\" class=\"wp-image-708\" srcset=\"https:\/\/jackharvest.com\/wp-content\/uploads\/2026\/09\/7sense-setup-formats.png 613w, https:\/\/jackharvest.com\/wp-content\/uploads\/2026\/09\/7sense-setup-formats-300x231.png 300w\" sizes=\"auto, (max-width: 613px) 100vw, 613px\" \/><figcaption class=\"wp-element-caption\">Pick which archive types to watch<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"613\" height=\"471\" data-id=\"706\" src=\"https:\/\/jackharvest.com\/wp-content\/uploads\/2026\/09\/7sense-setup-behavior.png\" alt=\"7Sense setup: behavior settings\" class=\"wp-image-706\" srcset=\"https:\/\/jackharvest.com\/wp-content\/uploads\/2026\/09\/7sense-setup-behavior.png 613w, https:\/\/jackharvest.com\/wp-content\/uploads\/2026\/09\/7sense-setup-behavior-300x231.png 300w\" sizes=\"auto, (max-width: 613px) 100vw, 613px\" \/><figcaption class=\"wp-element-caption\">A few sensible defaults<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"613\" height=\"471\" data-id=\"707\" src=\"https:\/\/jackharvest.com\/wp-content\/uploads\/2026\/09\/7sense-setup-done.png\" alt=\"7Sense setup complete\" class=\"wp-image-707\" srcset=\"https:\/\/jackharvest.com\/wp-content\/uploads\/2026\/09\/7sense-setup-done.png 613w, https:\/\/jackharvest.com\/wp-content\/uploads\/2026\/09\/7sense-setup-done-300x231.png 300w\" sizes=\"auto, (max-width: 613px) 100vw, 613px\" \/><figcaption class=\"wp-element-caption\">Done \u2014 4 MB in your tray<\/figcaption><\/figure>\n<\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Getting it<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">On Debian, Ubuntu or Mint, add the apt repository once and get updates forever with <code>sudo apt upgrade<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>curl -fsSL https:\/\/jackharvest.github.io\/7sense\/gpg.key | sudo gpg --dearmor -o \/etc\/apt\/keyrings\/7sense.gpg\necho \"deb [signed-by=\/etc\/apt\/keyrings\/7sense.gpg arch=amd64] https:\/\/jackharvest.github.io\/7sense stable main\" | sudo tee \/etc\/apt\/sources.list.d\/7sense.list\nsudo apt update\nsudo apt install 7sense<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">There are also <code>.deb<\/code>, <code>.rpm<\/code> (Fedora\/RHEL\/openSUSE), <code>.pkg.tar.zst<\/code> (Arch\/Manjaro) and a generic <code>.tar.gz<\/code> on the Releases page.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What it watches<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Archive<\/th><th>Tools detected<\/th><\/tr><\/thead><tbody><tr><td><code>.7z<\/code><\/td><td>7z, 7zz<\/td><\/tr><tr><td><code>.tar.gz<\/code> \/ <code>.tgz<\/code><\/td><td>tar, bsdtar<\/td><\/tr><tr><td><code>.tar.xz<\/code> \/ <code>.txz<\/code><\/td><td>tar, bsdtar<\/td><\/tr><tr><td><code>.zip<\/code><\/td><td>unzip<\/td><\/tr><tr><td><code>.rar<\/code><\/td><td>unar, unrar<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">How it works<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Watches <code>\/proc<\/code> for archive tool processes by name.<\/li>\n\n<li>Pre-scans the archive for the total uncompressed size \u2014 header reads only, no decompression. (For <code>.gz<\/code>, the size is in the stream\u2019s last four bytes; <code>.xz<\/code> uses <code>xz --list<\/code>; <code>.zip<\/code> uses <code>unzip -l<\/code>; <code>.7z<\/code> and <code>.rar<\/code> use <code>7z l -slt<\/code>.)<\/li>\n\n<li>Measures the destination folder growing as files come out.<\/li>\n\n<li>Reports the ratio as a real percentage, about every 1.5 seconds.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Settings (formats, whether the tray icon stays visible, and a minimum extraction time so tiny archives don\u2019t pop a notification) live in <code>~\/.config\/7sense\/config.json<\/code> and take effect without a restart. MIT licensed.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Free and open source, and it\u2019s staying that way. If it saved you some time, you can <a href=\"https:\/\/www.buymeacoffee.com\/jackharvest\">buy me a coffee<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Your archive tool knows the percentage the whole time \u2014 it just doesn\u2019t tell you. 7Sense watches for extractions, pre-scans the archive and turns the growing folder into a real percentage and time remaining. A Rust daemon that idles at 4 MB.<\/p>\n","protected":false},"author":1,"featured_media":842,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_seopress_titles_title":"7Sense \u2013 Real Archive Extraction Progress on Linux","_seopress_titles_desc":"See real percentage and time remaining when extracting .7z, .rar, .zip and .tar archives on Linux. 7Sense works with Ark, File Roller and more \u2014 4 MB of RAM.","_seopress_robots_index":"","_seopress_robots_follow":"","_seopress_robots_imageindex":"","_seopress_robots_snippet":"","_seopress_robots_primary_cat":"","_seopress_robots_breadcrumbs":"","_seopress_robots_freeze_modified_date":"","_seopress_robots_custom_modified_date":"","_seopress_robots_canonical":"","_seopress_social_fb_title":"","_seopress_social_fb_desc":"","_seopress_social_fb_img":"","_seopress_social_fb_img_attachment_id":0,"_seopress_social_fb_img_width":0,"_seopress_social_fb_img_height":0,"_seopress_social_twitter_title":"","_seopress_social_twitter_desc":"","_seopress_social_twitter_img":"","_seopress_social_twitter_img_attachment_id":0,"_seopress_social_twitter_img_width":0,"_seopress_social_twitter_img_height":0,"_seopress_redirections_value":"","_seopress_redirections_enabled":"","_seopress_redirections_enabled_regex":"","_seopress_redirections_logged_status":"","_seopress_redirections_param":"","_seopress_redirections_type":0,"_seopress_analysis_target_kw":"linux extraction progress,ark extraction progress,file roller progress bar,7z progress linux,unrar progress,archive extraction percentage linux","neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","footnotes":""},"categories":[152,77],"tags":[157,159,155,154,153,88,160,158,161,162,156],"class_list":["post-815","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux","category-projects","tag-7zip","tag-archive","tag-gnome","tag-kde","tag-linux","tag-open-source","tag-progress-bar","tag-rar","tag-rust","tag-system-tray","tag-xfce"],"_links":{"self":[{"href":"https:\/\/jackharvest.com\/index.php\/wp-json\/wp\/v2\/posts\/815","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jackharvest.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jackharvest.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jackharvest.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jackharvest.com\/index.php\/wp-json\/wp\/v2\/comments?post=815"}],"version-history":[{"count":1,"href":"https:\/\/jackharvest.com\/index.php\/wp-json\/wp\/v2\/posts\/815\/revisions"}],"predecessor-version":[{"id":816,"href":"https:\/\/jackharvest.com\/index.php\/wp-json\/wp\/v2\/posts\/815\/revisions\/816"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jackharvest.com\/index.php\/wp-json\/wp\/v2\/media\/842"}],"wp:attachment":[{"href":"https:\/\/jackharvest.com\/index.php\/wp-json\/wp\/v2\/media?parent=815"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jackharvest.com\/index.php\/wp-json\/wp\/v2\/categories?post=815"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jackharvest.com\/index.php\/wp-json\/wp\/v2\/tags?post=815"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}