-
Notifications
You must be signed in to change notification settings - Fork 0
Application
Wire name application — but never built with new
The application object is the connection itself, seen from the display's
side. Every connection has one already, so there is no new application:
the handshake reports its object id, and a client addresses it like any
other object.
conn.SetApp("multiwindow contextonly")which sends set <appID> multiwindow contextonly.
| Property | Type | Meaning |
|---|---|---|
name |
string | The application's name, as shown to the user and used in authorization. |
multiwindow |
flag | The application manages more than one primary window. |
contextonly |
flag | Suppress the automatic graphical Edit menu. |
There is no generated table here: the application is not a registered
trinket type, so describe does not report it. Anything else is rejected
with application has no property "…".
The object exists before the connection does. The host registers its existing instance into the session and hands the id over in the handshake, so:
-
new applicationdoes not exist. Address the id the handshake gave you. - An application takes no children. Windows join it by being built top-level, not by being appended to it.
-
In-process connections have no app id at all, and
SetAppreports that rather than guessing one.
An application that has not declared multiwindow may only create its main
window. type="normal" windows are refused until it does:
conn.SetApp("multiwindow")Declaring it also gets the application a Window menu for free — its
windows listed with Tile and Cascade, on the desktop bar and on a detached
main window's bar. An application may still contribute its own items to
that menu by tagging one wellknown="window"; they are merged in between
the system's Tile/Cascade and the window list.
See Window for the roles this gates.
Suppresses the Edit menu the graphical host otherwise adds automatically. For an application that provides its own editing commands, or has no text to edit and does not want the menu.
The name a connection was approved under is the authorized one. A later change to a different name is rejected:
name change to "Something Else" is not authorized for this connection
Setting the name to its current value always succeeds. The restriction lifts for connections whose trust is not name-specific — a local application, or a client approved as "Always for All Apps" — where the display marks the connection as allowed to rename itself.
This exists because the name is what the user saw when they approved the connection. See Transports and Security.
KittyTK — image/tty Trinket Kit · MIT licensed · alpha, 0.1.x
Repository · Issues · Support on ko-fi
Sibling projects: PurfecTerm (terminal emulator) · mew (text editor) · PawScript (language)
Getting Started
Installation Building from Source Running a Display Host Your First Application Examples
Protocol
Protocol Overview Object Model Properties and Values Events Templates and Aliases Common Properties Introspection Transports and Security
Clients
Go Client Python Client C Client
Application Objects
Application · MenuBar · Window · MessageBox
Output Trinkets
Label · ProgressBar · StatusBar
Input Trinkets
TextInput · Editor · Terminal
Button · CheckBox · RadioButton
ListView · ComboBox · TreeView
Layout Trinkets
TabTrinket · Panel
ScrollArea · MDIPane
Separator · Spacer · Splitter
Other Trinkets
Layout Helpers