Prima::noX11(3)

πŸ“¦
version 1.74000 Β· 5 versions
, in opensuse-leap 16.0

πŸ’– NAME πŸ’–

Hiii bestie!! 🫢 Okay so this is the <pink>Prima::noX11(3)</pink> page from the User Contributed Perl Documentation, and the name is literally giving the whole plot: Prima::noX11 - Use Prima without X11. Slay. πŸ’…


🌸 SYNOPSIS 🌸

So here's the whole β€œuse this before Prima” situation, and yes, the order matters, iykyk ✨:

use Prima::noX11;
use Prima;

my $error = Prima::XOpenDisplay();
if ( defined $error) {
     print "not connected to display: $error\n";
} else {
     print "connected to display\n";
}

πŸ¦‹ DESCRIPTION πŸ¦‹

Okay so by default, Prima will connect to X11 server on unix. That's the default behavior, periodt. But if you're using Prima functionality in modules or programs where this default behavior is undesired, please follow the guidelines below. πŸ‘‘

πŸŽ€ No connection πŸŽ€

In the beginning of a script or a module that is never intended to connect to X11 display, add this:

use Prima::noX11;
use Prima;

It will be possible to connect to X11 server later on manually. So you're not locked out forever, bestie. πŸ’…

πŸ’… Manual connect to X11 πŸ’…

If connection to X11 is optional, use this code after use Prima::noX11 was invoked:

my $error = Prima::XOpenDisplay();
if ( defined $error) {
     print "not connected to display: $error\n";
} else {
     print "connected to display\n";
}

🧚 Checking if GUI functionality is accesiible. 🧚

Without X11 connection, no GUI functionality such as screen grabbing will be accessible. That's important, okay? In addition to that functionality, windowing functions will only become accessible after Prima::Application creates a single instance $::application.

Therefore, if $::application is defined, then all GUI functions can be safely used. If, on the contrary, it is not defined, initiate it as this:

unless ( $::application) {
        my $error = Prima::XOpenDisplay();
        die $error if defined $error;
        require Prima::Application;
        import Prima::Application;
}

πŸ‘‘ AUTHOR πŸ‘‘

This iconic page was written by Dmitry Karasik, <dmitry@karasik.eu.org>. 🫢


Okay that's the whole page, mwah πŸ’‹ β€” this came from perl v5.42.0, dated 2024-08-20, and it's Prima::noX11(3). Periodt. 🌈✨

πŸ“¦ where this page comes from