Skip to content

Add Qt-based Linux GUI for 7-Zip ZS#1

Draft
Copilot wants to merge 3 commits intomasterfrom
copilot/add-linux-support-for-gui
Draft

Add Qt-based Linux GUI for 7-Zip ZS#1
Copilot wants to merge 3 commits intomasterfrom
copilot/add-linux-support-for-gui

Conversation

Copy link
Copy Markdown

Copilot AI commented Mar 20, 2026

The 7-Zip ZS GUI was entirely Win32-native with no Linux equivalent. This adds a Qt5/Qt6 archive manager (7zz-gui) for Linux that shells out to the existing 7zz binary for all archive operations, keeping it fully decoupled from Windows-specific internals.

New: CPP/7zip/UI/QtGUI/

  • MainWindowQMainWindow with toolbar, menus, drag-and-drop; supports open, extract-all, extract-selected, add files, create archive, and integrity test
  • ArchiveModelQAbstractTableModel parsing 7zz l -slt output into a sortable table (name, size, compressed size, method, modified, CRC)
  • main.cpp — entry point; accepts an optional archive path as a positional argument
  • 7zz-gui.desktop — XDG desktop entry with MIME-type associations for system integration

Build system

  • CMakeLists.txt (repo root) — auto-detects Qt6 then falls back to Qt5; no-ops on Windows
  • CPP/7zip/UI/QtGUI/CMakeLists.txt7zz-gui target; version string injected via compile definition from the top-level project(VERSION …) to avoid skew

CI (build.yml)

Adds a linux-gui matrix job (x64 + arm64) that installs qtbase5-dev, builds with CMake/Ninja, and uploads 7zz-gui as an artifact. Job scoped to permissions: contents: read.

Usage

cmake -S . -B build-gui -G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build build-gui --parallel
# open an archive directly:
build-gui/CPP/7zip/UI/QtGUI/7zz-gui archive.7z

⚡ Quickly spin up Copilot coding agent tasks from anywhere on your macOS or Windows machine with Raycast.

Co-authored-by: GrassBlock1 <46253950+GrassBlock1@users.noreply.github.com>
Copilot AI changed the title [WIP] Add 7zip gui application support for Linux Add Qt-based Linux GUI for 7-Zip ZS Mar 20, 2026
Copilot AI requested a review from GrassBlock1 March 20, 2026 15:41
@GrassBlock1
Copy link
Copy Markdown

@copilot can you send me a screenshotof the application here

Co-authored-by: GrassBlock1 <46253950+GrassBlock1@users.noreply.github.com>
Copy link
Copy Markdown
Author

Copilot AI commented Mar 20, 2026

@copilot can you send me a screenshotof the application here

Here's the screenshot of 7zz-gui running on Linux with a test archive open (commit 2dd9d5a):

7-Zip ZS Linux GUI

The window shows the main table listing the archive contents (name, size, compressed size, method, modified date, CRC), the toolbar (Open, Extract All, Add Files, Create Archive, Test), and the status bar showing the item count. Drag-and-drop of archive files onto the window is also supported.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants