LinuxCommandLibrary

exo

Open files with default applications

TLDR

Configure the exo command-line

$ exo config
copy

Generate the exo autocompletion script for a specified shell
$ exo completion [zsh]
copy

List all of the available zones and output them as json
$ exo zone [[-O|--output-format]] [json]
copy

Quietly create a Compute instance in a specific zone (disables the non-essential command output)
$ exo compute instance create [instance_name] --zone [zone] [[-Q|--quiet]]
copy

List just the name of all of the buckets in the Organization
$ exo storage list [[-O|--output-template]] '\{\{ .Name \}\}
copy

Display help for a specific sub-command
$ exo [iam] [[-h|--help]]
copy

SYNOPSIS

exo-open [OPTIONS] [URI | FILE...]

PARAMETERS

--launch category
    Launch the preferred application for a specific category. Valid categories include WebBrowser, MailReader, TerminalEmulator, FileManager, and Editor.

--web-browser [URI]
    Open the preferred web browser. If a URI is specified, it will be opened by the browser. If no URI, the browser is launched to its default page.

--mail-reader [URI]
    Open the preferred mail reader. If a URI (e.g., mailto:) is specified, it will be opened. Otherwise, the mail reader is simply launched.

--terminal-emulator [directory]
    Open the preferred terminal emulator, optionally setting the initial working directory.

--file-manager [path]
    Open the preferred file manager, optionally navigating to the specified path.

--editor file
    Open the specified file using the preferred text editor configured in Xfce.

--query URI | path
    Query and print the preferred application (its executable path) that would be used to open the given URI or path.

--show-menu
    Display the 'Open With...' menu for the given URI or file, allowing the user to select an application manually.

--new-window
    Attempt to open the application in a new window, if supported by the application.

--tab
    Attempt to open the application in a new tab (primarily for terminal emulators or file managers that support tabs).

--working-directory path
    Set the working directory for the launched application.

--daemon
    Start the exo-open daemon process. This is typically handled automatically by the Xfce session and not usually invoked directly by users.

--help
    Display a help message and exit.

--version
    Display version information and exit.

DESCRIPTION

The exo-open command is a utility provided by the exo library, an essential component of the Xfce desktop environment. Its primary purpose is to launch applications and open files, directories, or URIs (Uniform Resource Identifiers) using the user's preferred applications as configured within Xfce.

Unlike general-purpose tools, exo-open is deeply integrated with Xfce's settings, ensuring a consistent user experience for handling various content types, such as web links, mail addresses, and local files. It abstracts the underlying mechanisms for application invocation, providing a unified interface for Xfce applications to interact with the broader system.

CAVEATS

The exo-open command is primarily designed for the Xfce desktop environment. While it might function in other environments if exo-utils are installed, its behavior and reliance on Xfce-specific configurations (like preferred applications) may lead to unexpected results or limited functionality outside of a full Xfce session.

CONFIGURATION OF PREFERRED APPLICATIONS

exo-open respects and utilizes the preferred application settings configured through Xfce's 'Preferred Applications' panel (typically found in the xfce4-settings-manager). This allows users to easily customize which web browser, mail client, terminal, or file manager is launched by default for various actions.

MIME TYPE INTEGRATION

When opening files, exo-open relies on the system's MIME type database in conjunction with Xfce's application associations to determine the most appropriate application. This ensures that files are opened with the correct program based on their content type.

HISTORY

The exo library, which includes exo-open, is a foundational component of the Xfce desktop environment. It was developed to provide common utility functions and abstractions for Xfce applications, ensuring consistent handling of URIs, files, and preferred applications across the desktop. Its development is tied to the evolution of Xfce itself, aiming to offer a robust and integrated solution for application launching within the Xfce ecosystem.

SEE ALSO

xdg-open(1), gvfs-open(1), mimeopen(1)

Copied to clipboard