Skip to content

MX-Linux/mx-viewer

 
 

Repository files navigation

MX Viewer

latest packaged version(s) build result

A lightweight Qt6 WebEngine-based browser designed for displaying web content in standalone windows. Built specifically for MX Linux, this tool provides a secure, minimal browser interface with multi-tab support image

Features

  • Multi-tab browsing with tab management
  • Security-focused design with privilege dropping and sandbox options
  • Bookmark and history management via persistent settings
  • Full-screen mode support
  • Download management with dedicated interface
  • Command-line interface with extensive options
  • WebEngine integration for modern web standards support

Usage

mx-viewer [OPTIONS] URL [title]

Basic Examples

# Open a website
mx-viewer https://google.com

# Open with custom window title
mx-viewer https://example.com "My Custom Title"

# Open local file
mx-viewer file:///home/user/document.html

# Open in full-screen mode
mx-viewer -f https://example.com

# Disable JavaScript for security
mx-viewer -j https://untrusted-site.com

Command-Line Options

  • -f, --full-screen - Start in full-screen mode
  • -i, --disable-images - Disable automatic image loading
  • -j, --disable-js - Disable JavaScript execution
  • -s, --enable-spatial-navigation - Enable keyboard spatial navigation
  • -n, --force-nobody - Drop privileges to 'nobody' user (root only)
  • -h, --help - Display help information
  • -v, --version - Show version information

Security Features

MX Viewer implements several security measures:

  • Privilege dropping: Automatically drops root privileges to regular user or 'nobody'
  • Sandbox options: Disable JavaScript and images for untrusted content
  • Working directory isolation: Changes to /tmp after privilege drop
  • Secure execution: Prevents privilege escalation after rights are dropped

Building

Requirements

  • Qt6 (Core, GUI, Widgets, WebEngineWidgets, LinguistTools)
  • CMake 3.16+
  • C++20 compatible compiler
  • dpkg-dev (for version extraction from changelog)

Build Commands

# Standard build
mkdir build && cd build
cmake ..
make

# Debug build
cmake -DCMAKE_BUILD_TYPE=Debug ..
make

# Release build with optimizations
cmake -DCMAKE_BUILD_TYPE=Release ..
make

# Using Clang compiler
cmake -DUSE_CLANG=ON ..
make

Debian Package Build

# Build Debian package
dpkg-buildpackage -b -uc -us

Architecture

  • MainWindow: Primary application window with toolbar and tab management
  • WebView: Custom QWebEngineView with history logging and security features
  • TabWidget: Multi-tab container for managing multiple web views
  • AddressBar: URL input field with focus handling
  • DownloadWidget: Download management interface

Translation Contributions

License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

About

small browser for viewing MX tools help files

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 89.0%
  • Shell 7.1%
  • CMake 3.9%