app is:module

Does a pandoc conversion based on command-line options.
This module defines datastructures that encode the basic syntax formers used in What4.ExprBuilder.
This module describes a structure intermediate between a functor and a monad (technically, a strong lax monoidal functor). Compared with monads, this interface lacks the full power of the binding operation >>=, but
  • it has more instances.
  • it is sufficient for many uses, e.g. context-free parsing, or the Traversable class.
  • instances can perform analysis of computations before they are executed, and thus produce shared optimizations.
This interface was introduced for parsers by Niklas Röjemo, because it admits more sharing than the monadic interface. The names here are mostly based on parsing work by Doaitse Swierstra. For more details, see Applicative Programming with Effects, by Conor McBride and Ross Paterson.
Module that deals with expression application in JavaScript. In some cases we rely on pre-generated functions that are bundled with the RTS (see rtsApply).
Middleware for establishing the root of the application. Many application need the ability to create URLs referring back to the application itself. For example: generate RSS feeds or sitemaps, giving users copy-paste links, or sending emails. In many cases, the approot can be determined correctly from the request headers. However, some things can prevent this, especially reverse proxies. This module provides multiple ways of configuring approot discovery, and functions for applications to get that approot. Approots are structured such that they can be prepended to a string such as foobar?baz=bin. For example, if your application is hosted on example.com using HTTPS, the approot would be https://example.com. Note the lack of a trailing slash.
This module corresponds to section 3.8.15 (Texture Application) of the OpenGL 2.1 specs.
This module contains reexports of Applicative and related functional. Additionally, it provides convenient combinators to work with Applicative.
TextShow instances for Const and ZipList. Since: 2
Information about an installed application and methods to launch it (with file arguments). GAppInfo and GAppLaunchContext are used for describing and launching applications installed on the system. As of GLib 2.20, URIs will always be converted to POSIX paths (using fileGetPath) when using appInfoLaunch even if the application requested an URI and not a POSIX path. For example for a desktop-file based application with the following Exec key:
Exec=totem %U
and a single URI, sftp://foo/file.avi, then /home/user/.gvfs/sftp on foo/file.avi will be passed. This will only work if a set of suitable GIO extensions (such as GVfs 2.26 compiled with FUSE support), is available and operational; if this is not the case, the URI will be passed unmodified to the application. Some URIs, such as mailto:, of course cannot be mapped to a POSIX path (in GVfs there’s no FUSE mount for it); such URIs will be passed unmodified to the application. Specifically for GVfs 2.26 and later, the POSIX URI will be mapped back to the GIO URI in the File constructors (since GVfs implements the GVfs extension point). As such, if the application needs to examine the URI, it needs to use fileGetUri or similar on File. In other words, an application cannot assume that the URI passed to e.g. fileNewForCommandlineArg is equal to the result of fileGetUri. The following snippet illustrates this:

c code

GFile *f;
char *uri;

file = g_file_new_for_commandline_arg (uri_from_commandline);

uri = g_file_get_uri (file);
strcmp (uri, uri_from_commandline) == 0;
g_free (uri);

if (g_file_has_uri_scheme (file, "cdda"))
{
// do something special with uri
}
g_object_unref (file);
This code will work when both cdda://sr0/Track 1.wav and /home/user/.gvfs/cdda on sr0/Track 1.wav is passed to the application. It should be noted that it’s generally not safe for applications to rely on the format of a particular URIs. Different launcher applications (e.g. file managers) may have different ideas of what a given URI means.
GAppInfoMonitor monitors application information for changes. GAppInfoMonitor is a very simple object used for monitoring the app info database for changes (newly installed or removed applications). Call appInfoMonitorGet to get a GAppInfoMonitor and connect to the AppInfoMonitor::changed signal. The signal will be emitted once when the app info database changes, and will not be emitted again until after the next call to appInfoGetAll or another g_app_info_*() function. This is because monitoring the app info database for changes is expensive. The following functions will re-arm the AppInfoMonitor::changed signal so it can be emitted again: The latter functions are available if using `GDesktopAppInfo` from gio-unix-2.0.pc (GIR namespace GioUnix-2.0). In the usual case, applications should try to make note of the change (doing things like invalidating caches) but not act on it. In particular, applications should avoid making calls to GAppInfo APIs in response to the change signal, deferring these until the time that the updated data is actually required. The exception to this case is when application information is actually being displayed on the screen (for example, during a search or when the list of all applications is shown). The reason for this is that changes to the list of installed applications often come in groups (like during system updates) and rescanning the list on every change is pointless and expensive. Since: 2.40
Integrating the launch with the launching application. This is used to handle for instance startup notification and launching the new application on the same screen as the launching window.
GApplication is the core class for application support. A GApplication is the foundation of an application. It wraps some low-level platform-specific services and is intended to act as the foundation for higher-level application classes such as GtkApplication or MxApplication. In general, you should not use this class outside of a higher level framework. GApplication provides convenient life-cycle management by maintaining a "use count" for the primary application instance. The use count can be changed using applicationHold and applicationRelease. If it drops to zero, the application exits. Higher-level classes such as GtkApplication employ the use count to ensure that the application stays alive as long as it has any opened windows. Another feature that GApplication (optionally) provides is process uniqueness. Applications can make use of this functionality by providing a unique application ID. If given, only one application with this ID can be running at a time per session. The session concept is platform-dependent, but corresponds roughly to a graphical desktop login. When your application is launched again, its arguments are passed through platform communication to the already running program. The already running instance of the program is called the "primary instance"; for non-unique applications this is always the current instance. On Linux, the D-Bus session bus is used for communication. The use of GApplication differs from some other commonly-used uniqueness libraries (such as libunique) in important ways. The application is not expected to manually register itself and check if it is the primary instance. Instead, the main() function of a GApplication should do very little more than instantiating the application instance, possibly connecting signal handlers, then calling applicationRun. All checks for uniqueness are done internally. If the application is the primary instance then the startup signal is emitted and the mainloop runs. If the application is not the primary instance then a signal is sent to the primary instance and applicationRun promptly returns. See the code examples below. If used, the expected form of an application identifier is the same as that of a D-Bus well-known bus name. Examples include: com.example.MyApp, org.example.internal_apps.Calculator, org._7_zip.Archiver. For details on valid application identifiers, see applicationIdIsValid. On Linux, the application identifier is claimed as a well-known bus name on the user's session bus. This means that the uniqueness of your application is scoped to the current session. It also means that your application may provide additional services (through registration of other object paths) at that bus name. The registration of these object paths should be done with the shared GDBus session bus. Note that due to the internal architecture of GDBus, method calls can be dispatched at any time (even if a main loop is not running). For this reason, you must ensure that any object paths that you wish to register are registered before Application attempts to acquire the bus name of your application (which happens in applicationRegister). Unfortunately, this means that you cannot use Application:isRemote to decide if you want to register object paths. GApplication also implements the ActionGroup and ActionMap interfaces and lets you easily export actions by adding them with actionMapAddAction. When invoking an action by calling actionGroupActivateAction on the application, it is always invoked in the primary instance. The actions are also exported on the session bus, and GIO provides the DBusActionGroup wrapper to conveniently access them remotely. GIO provides a DBusMenuModel wrapper for remote access to exported MenuModels. Note: Due to the fact that actions are exported on the session bus, using maybe parameters is not supported, since D-Bus does not support maybe types. There is a number of different entry points into a GApplication:
  • via 'Activate' (i.e. just starting the application)
  • via 'Open' (i.e. opening some files)
  • by handling a command-line
  • via activating an action
The Application::startup signal lets you handle the application initialization for all of these in a single place. Regardless of which of these entry points is used to start the application, GApplication passes some ‘platform data’ from the launching instance to the primary instance, in the form of a GVariant dictionary mapping strings to variants. To use platform data, override the Application.before_emit() or Application.after_emit() virtual functions in your GApplication subclass. When dealing with ApplicationCommandLine objects, the platform data is directly available via applicationCommandLineGetCwd, applicationCommandLineGetEnviron and applicationCommandLineGetPlatformData. As the name indicates, the platform data may vary depending on the operating system, but it always includes the current directory (key cwd), and optionally the environment (ie the set of environment variables and their values) of the calling process (key environ). The environment is only added to the platform data if the G_APPLICATION_SEND_ENVIRONMENT flag is set. GApplication subclasses can add their own platform data by overriding the Application.add_platform_data() virtual function. For instance, GtkApplication adds startup notification data in this way. To parse commandline arguments you may handle the Application::commandLine signal or override the Application.local_command_line() virtual function, to parse them in either the primary instance or the local instance, respectively. For an example of opening files with a GApplication, see gapplication-example-open.c. For an example of using actions with GApplication, see gapplication-example-actions.c. For an example of using extra D-Bus hooks with GApplication, see gapplication-example-dbushooks.c. Since: 2.28