Used to enter documentation among bindings so that other programs
- can read it. Does nothing.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
ioncore.chdir_for(reg, dir)
-
-
-
Description:
-
Change default working directory for new programs started in reg.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
ioncore.compile_cmd(cmd, guard)
-
-
-
Description:
-
Compile string cmd into a bindable function. Within cmd, the
- variable ''_'' (underscore) can be used to refer to the object
- that was selecting for the bound action and chosen to handle it.
- The variable ''_sub'' refers to a ''currently active'' sub-object
- of _, or a sub-object where the action loading to the binding
- being called actually occured.
-
-
-The string guard maybe set to pose limits on _sub. Currently
- supported guards are _sub:non-nil and _sub:WFoobar, where
- WFoobar is a class.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
WTimer ioncore.create_timer()
-
-
-
Description:
-
Create a new timer.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
ioncore.create_ws(scr, tmpl, layout)
-
-
-
Description:
-
Create new workspace on screen scr. The table tmpl
- may be used to override parts of the layout named with layout.
- If no layout is given, "default" is used.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
ioncore.defbindings(context, bindings)
-
-
-
Description:
-
Define bindings for context context. Here binding is
- a table composed of entries created with ioncore.kpress,
- etc.; see Section 3.3 for details.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
ioncore.defctxmenu(ctx, ...)
-
-
-
Description:
-
Define context menu for context ctx, tab being a table
- of menu entries.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
ioncore.deflayout(name, tab)
-
-
-
Description:
-
Define a new workspace layout with name name, and
- attach/creation parameters given in tab. The layout
- "empty" may not be defined.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
ioncore.defmenu(name, tab)
-
-
-
Description:
-
Define a new menu with name being the menu's name and tab
- being a table of menu entries. If tab.append is set, the entries
- are appended to previously-defined ones, if possible.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
ioncore.defwinprop(list)
-
-
-
Description:
-
Define a winprop. For more information, see section 3.5.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
ioncore.exec_on(reg, cmd, merr_internal)
-
-
-
Description:
-
Run cmd with the environment variable DISPLAY set to point to the
- root window of the X screen reg is on. If cmd is prefixed
- by a colon (:), the following command is executed in an xterm
- (or other terminal emulator) with the help of the ion-runinxterm
- script. If the command is prefixed by two colons, ion-runinxterm
- will ask you to press enter after the command is finished, even if it
- returns succesfully.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
table ioncore.read_savefile(string basename)
-
-
-
Description:
-
Read a savefile.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
string ioncore.get_savefile(string basename)
-
-
-
Description:
-
Get a file name to save (session) data in. The string basename
- should contain no path or extension components.
-
-
Add a rule describing how too long titles should be shortened to fit in tabs.
- The regular expression rx (POSIX, not Lua!) is used to match titles
- and when rx matches, rule is attempted to use as a replacement
- for title. If always is set, the rule is used even if no shortening
- is necessary.
-
-
-Similarly to sed's 's' command, rule may contain characters that are
- inserted in the resulting string and specials as follows:
-
-
-
-
Special
-
Description
-
-
$0
-
Place the original string here.
-
-
$1 to $9
-
Insert n:th capture here (as usual,captures are surrounded
- by parentheses in the regex).
-
-
$|
-
Alternative shortening separator. The shortening described
- before the first this kind of separator is tried first and
- if it fails to make the string short enough, the next is
- tried, and so on.
-
-
$<
-
Remove characters on the left of this marker to shorten the
- string.
-
-
$>
-
Remove characters on the right of this marker to shorten the
- string. Only the first $< or $> within an alternative
- shortening is used.
-
-
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
bool ioncore.detach(WRegion reg, string how)
-
-
-
Description:
-
Detach or reattach reg, depending on whether how
- is `set', `unset' or `toggle'. (Detaching
- means making reg managed by its nearest ancestor WGroup,
- framed if reg is not itself WFrame. Reattaching means
- making it managed where it used to be managed, if a return-placeholder
- exists.)
- If reg is the `bottom' of some group, the whole group is
- detached. If reg is a WWindow, it is put into a
- frame.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
integer ioncore.exec(string cmd)
-
-
-
Description:
-
Run cmd with the environment variable DISPLAY set to point to the
- X display the WM is running on. No specific screen is set unlike with
- WRootWin.exec_on. The PID of the (shell executing the) new
- process is returned.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
WScreen ioncore.find_screen_id(integer id)
-
-
-
Description:
-
Find the screen with numerical id id.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
bool ioncore.focushistory_i(function iterfn)
-
-
-
Description:
-
Iterate over focus history until iterfn returns false.
- The function itself returns true if it reaches the end of list
- without this happening.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
table ioncore.get()
-
-
-
Description:
-
Get ioncore basic settings. For details see ioncore.set.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
table ioncore.get_paths(table tab)
-
-
-
Description:
-
Get important directories (the fields userdir,
- sessiondir, searchpath in the returned table).
-
-
Go to first region within reg in direction dirstr.
- For information on param, see ioncore.navi_next.
- Additionally this function supports the boolean nofront field,
- for not bringing the object to front.
-
-
Go to region next from reg in direction dirstr.
- For information on param, see ioncore.navi_next.
- Additionally this function supports the boolean nofront
- field, for not bringing the object to front.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
WScreen ioncore.goto_next_screen()
-
-
-
Description:
-
Switch focus to the next screen and return it.
-
-
-Note that this function is asynchronous; the screen will not
- actually have received the focus when this function returns.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
WScreen ioncore.goto_nth_screen(integer id)
-
-
-
Description:
-
Switch focus to the screen with id id and return it.
-
-
-Note that this function is asynchronous; the screen will not
- actually have received the focus when this function returns.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
WScreen ioncore.goto_prev_screen()
-
-
-
Description:
-
Switch focus to the previous screen and return it.
-
-
-Note that this function is asynchronous; the screen will not
- actually have received the focus when this function returns.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
WRegion ioncore.goto_previous()
-
-
-
Description:
-
Go to and return to a previously active region (if any).
-
-
-Note that this function is asynchronous; the region will not
- actually have received the focus when this function returns.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
bool ioncore.is_i18n()
-
-
-
Description:
-
Is Ion supporting locale-specifically multibyte-encoded strings?
-
-
Find region next from reg in direction dirstr
- (`up', `down', `left', `right',
- `next', `prev', or `any'). The table param
- may contain the boolean field nowrap, instructing not to wrap
- around, and the WRegions no_ascend and no_descend,
- and boolean functions ascend_filter and descend_filter
- on WRegion pairs (to, from), are used to decide when
- to descend or ascend into another region.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
integer ioncore.popen_bgread(string cmd, function h, function errh)
-
-
-
Description:
-
Run cmd with a read pipe connected to its stdout and stderr.
- When data is received through one of these pipes, h or errh
- is called with that data. When the pipe is closed, the handler is called
- with nil argument. The PID of the new process is returned, or
- -1 on error.
-
-
Iterate over all non-client window regions with (inherited) class
- typenam until iterfn returns false.
- The function itself returns true if it reaches the end of list
- without this happening.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
void ioncore.request_selection(function fn)
-
-
-
Description:
-
Request (string) selection. The function fn will be called
- with the selection when and if it is received.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
void ioncore.resign()
-
-
-
Description:
-
Causes the window manager to simply exit without saving
- state/session.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
void ioncore.restart()
-
-
-
Description:
-
Restart, saving session first.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
void ioncore.restart_other(string cmd)
-
-
-
Description:
-
Attempt to restart another window manager cmd.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
void ioncore.set(table tab)
-
-
-
Description:
-
Set ioncore basic settings. The table tab may contain the
- following fields.
-
-
-
-
Field
-
Description
-
-
opaque_resize
-
(boolean) Controls whether interactive move and
- resize operations simply draw a rubberband during
- the operation (false) or immediately affect the
- object in question at every step (true).
-
-
warp
-
(boolean) Should focusing operations move the
- pointer to the object to be focused?
-
-
switchto
-
(boolean) Should a managing WMPlex switch
- to a newly mapped client window?
-
-
screen_notify
-
(boolean) Should notification tooltips be displayed
- for hidden workspaces with activity?
-
-
frame_default_index
-
(string) Specifies where to add new regions
- on the mutually exclusive list of a frame. One of
- `last', `next', (for after current),
- or `next-act'
- (for after current and anything with activity right
- after it).
-
-
dblclick_delay
-
(integer) Delay between clicks of a double click.
-
-
kbresize_delay
-
(integer) Delay in milliseconds for ending keyboard
- resize mode after inactivity.
-
-
kbresize_t_max
-
(integer) Controls keyboard resize acceleration.
- See description below for details.
-
-
kbresize_t_min
-
(integer) See below.
-
-
kbresize_step
-
(floating point) See below.
-
-
kbresize_maxacc
-
(floating point) See below.
-
-
framed_transients
-
(boolean) Put transients in nested frames.
-
-
float_placement_method
-
(string) How to place floating frames.
- One of `udlr' (up-down, then left-right),
- `lrud' (left-right, then up-down), or
- `random'.
-
-
mousefocus
-
(string) Mouse focus mode:
- `disable' or `sloppy'.
-When a keyboard resize function is called, and at most kbresize_t_max
- milliseconds has passed from a previous call, acceleration factor is reset
- to 1.0. Otherwise, if at least kbresize_t_min milliseconds have
- passed from the from previous acceleration update or reset the squere root
- of the acceleration factor is incremented by kbresize_step. The
- maximum acceleration factor (pixels/call modulo size hints) is given by
- kbresize_maxacc. The default values are (200, 50, 30, 100).
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
bool ioncore.set_paths(table tab)
-
-
-
Description:
-
Set important directories (the fields sessiondir, searchpath
- of tab).
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
void ioncore.set_selection(string p)
-
-
-
Description:
-
Set primary selection and cutbuffer0 to p.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
void ioncore.shutdown()
-
-
-
Description:
-
End session saving it first.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
void ioncore.snapshot()
-
-
-
Description:
-
Save session.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
void ioncore.tagged_clear()
-
-
-
Description:
-
Untag all regions.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
WRegion ioncore.tagged_first(bool untag)
-
-
-
Description:
-
Returns first tagged object, untagging it as well if untag is set.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
bool ioncore.tagged_i(function iterfn)
-
-
-
Description:
-
Iterate over tagged regions until iterfn returns false.
- The function itself returns true if it reaches the end of list
- without this happening.
-
-
Try to detach reg if it fits poorly in its
- current location. This function does not do anything,
- unless override is set or the unsqueeze option
- of ioncore.set is set.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
string ioncore.version()
-
-
-
Description:
-
Returns Ioncore version string.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
void ioncore.warn(string str)
-
-
-
Description:
-
Issue a warning. How the message is displayed depends on the current
- warning handler.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
void ioncore.warn_traced(string str)
-
-
-
Description:
-
Similar to ioncore.warn, but also print Lua stack trace.
-
-
Modify a window property. The mode is one of
- `replace', `prepend' or `append', and format
- is either 8, 16 or 32. Also see ioncore.x_get_window_property
- and the XChangeProperty(3) manual page.
-
-
Get a text property for a window. The fields in the returned
- table (starting from 1) are the null-separated parts of the property.
- See the XGetTextProperty(3) manual page for more information.
-
-
Get a property atom of type atom_type for window win.
- The n32expected parameter indicates the expected number of 32bit
- words, and more indicates whether all or just this amount of data
- should be fetched. Each 8, 16 or 32bit element of the property, as
- deciphered from atom_type is a field in the returned table.
- See XGetWindowProperty(3) manual page for more information.
-
-
Set a text property for a window. The fields of tab starting from
- 1 should be the different null-separated parts of the property.
- See the XSetTextProperty(3) manual page for more information.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
ioncore.kpress(keyspec, cmd, guard)
-
-
-
Description:
-
Creates a binding description table for the action of pressing a key given
- by keyspec (with possible modifiers) to the function cmd.
- The guard controls when the binding can be called.
- For more informationp see Section 3.3.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
ioncore.kpress_wait(keyspec, cmd, guard)
-
-
-
Description:
-
This is similar to ioncore.kpress but after calling cmd,
- Ioncore waits for all modifiers to be released before processing
- any further actions.
- For more information on bindings, see Section 3.3.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
bool ioncore.defer(function fn)
-
-
-
Description:
-
Defer execution of fn until the main loop.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
WHook ioncore.get_hook(string name)
-
-
-
Description:
-
Find named hook name.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
ioncore.match_winprop_dflt(prop, cwin, id)
-
-
-
Description:
-
The basic name-based winprop matching criteria.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
ioncore.mclick(buttonspec, cmd, guard)
-
-
-
Description:
-
Creates a binding description table for the action of clicking a mouse
- button while possible modifier keys are pressed,
- both given by buttonspec, to the function cmd.
- For more information, see Section 3.3.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
ioncore.mdblclick(buttonspec, cmd, guard)
-
-
-
Description:
-
Similar to ioncore.mclick but for double-click.
- Also see Section 3.3.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
ioncore.mdrag(buttonspec, cmd, guard)
-
-
-
Description:
-
Creates a binding description table for the action of moving the mouse
- (or other pointing device) while the button given by buttonspec
- is held pressed and the modifiers given by buttonspec were pressed
- when the button was initially pressed.
- Also see section 3.3.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
ioncore.menuentry(name, cmd, guard_or_opts)
-
-
-
Description:
-
Use this function to define normal menu entries. The string name
- is the string shown in the visual representation of menu. The
- parameter cmd and guard_or_opts (when string) are similar
- to those of ioncore.defbindings. If guard_or_opts is
- a table, it may contains the guard field, and the priority
- field, for controlling positioning of entries in context menus.
- (The default priority is 1 for most entries, and -1 for auto-generated
- submenus.)
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
ioncore.mpress(buttonspec, cmd, guard)
-
-
-
Description:
-
Similar to ioncore.mclick but for just pressing the mouse button.
- Also see Section 3.3.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
ioncore.refresh_stylelist()
-
-
-
Description:
-
Refresh list of known style files.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
ioncore.submap(keyspec, list)
-
-
-
Description:
-
Returns a function that creates a submap binding description table.
- When the key press action keyspec occurs, Ioncore will wait for
- a further key presse and act according to the submap.
- For details, see Section 3.3.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
ioncore.submap_enter(cmd, guard)
-
-
-
Description:
-
Submap enter event for bindings.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
ioncore.submap_wait(cmd, guard)
-
-
-
Description:
-
Submap modifier release event for bindings.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
ioncore.submenu(name, sub_or_name, options)
-
-
-
Description:
-
Use this function to define menu entries for submenus. The parameter
- sub_or_name is either a table of menu entries or the name
- of an already defined menu. The initial menu entry to highlight can be
- specified by options.initial as either an integer starting from 1,
- or a function that returns such a number. Another option supported is
- options.noautoexpand that will cause mod_query.query_menu
- to not automatically expand this submenu.
-
-
Show tab numbers on frame, clearing them when submap
- grab is released the next time. If delay is given, in
- milliseconds, the numbers are not actually displayed until this
- time has passed.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
ioncore.tagged_attach(reg, param)
-
-
-
Description:
-
Attach tagged regions to reg. The method of attach
- depends on the types of attached regions and whether reg
- implements attach_framed and attach. If param
- is not set, the default of {switchto=true} is used.
- The function returns true if all tagged regions were
- succesfully attached, and false otherwisse.
-
-
Returns a table containing the properties WM_CLASS (table entries
- instance and class) and WM_WINDOW_ROLE (role)
- properties for cwin. If a property is not set, the corresponding
- field(s) are unset in the table.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
void WClientWin.kill(WClientWin cwin)
-
-
-
Description:
-
Attempt to kill (with XKillWindow) the client that owns
- the X window correspoding to cwin.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
void WClientWin.nudge(WClientWin cwin)
-
-
-
Description:
-
Attempts to fix window size problems with non-ICCCM compliant
- programs.
-
-
Attempt to toggle horizontal maximisation of frame.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
void WFrame.maximize_vert(WFrame frame)
-
-
-
Description:
-
Attempt to toggle vertical maximisation of frame.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
string WFrame.mode(WFrame frame)
-
-
-
Description:
-
Get frame mode.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
void WFrame.p_switch_tab(WFrame frame)
-
-
-
Description:
-
Display the region corresponding to the tab that the user pressed on.
- This function should only be used by binding it to a mouse action.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
void WFrame.p_tabdrag(WFrame frame)
-
-
-
Description:
-
Start dragging the tab that the user pressed on with the pointing device.
- This function should only be used by binding it to mpress or
- mdrag action with area `tab'.
-
-
Set shading state according to the parameter how
- (`set', `unset', or `toggle').
- Resulting state is returned, which may not be
- what was requested.
-
-
Attach and reparent existing region reg to ws.
- The table param may contain the fields index and
- switchto that are interpreted as for WMPlex.attach_new.
-
-
(boolean) Mark the attached region as the
- ``bottom'' of ws.
-
-
-
-
-In addition parameters to the region to be created are passed in this
- same table.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
WRegion WGroup.bottom(WGroup ws)
-
-
-
Description:
-
Returns the `bottom' of ws.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
bool WGroup.is_fullscreen(WGroup grp)
-
-
-
Description:
-
Is reg in full screen mode?
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
bool WGroup.managed_i(WGroup ws, function iterfn)
-
-
-
Description:
-
Iterate over managed regions of ws until iterfn returns
- false.
- The function itself returns true if it reaches the end of list
- without this happening.
-
-
Set client window reg full screen state according to the
- parameter how (one of `set', `unset', or
- `toggle'). Resulting state is returned, which may not be
- what was requested.
-
-
Attach region reg on ws.
- At least the following fields in t are supported:
-
-
-
-
Field
-
Description
-
-
switchto
-
Should the region be switched to (boolean)? Optional.
-
-
geom
-
Geometry; x and y, if set, indicates top-left of
- the frame to be created while width and height, if set, indicate
- the size of the client window within that frame. Optional.
Attach and reparent existing region reg to mplex.
- The table param may contain the fields index and
- switchto that are interpreted as for WMPlex.attach_new.
-
-
(boolean) Attach hidden, if not prevented
- by e.g. the mutually exclusive list being empty.
- This option overrides switchto.
-
-
passive
-
(boolean) Skip in certain focusing operations.
-
-
pseudomodal
-
(boolean) The attached region is ``pseudomodal''
- if the stacking level dictates it to be modal.
- This means that the region may be hidden to display
- regions with lesser stacking levels.
bool WMPlex.managed_i(WMPlex mplex, function iterfn)
-
-
-
Description:
-
Iterate over managed regions of mplex until iterfn returns
- false.
- The function itself returns true if it reaches the end of list
- without this happening.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
integer WMPlex.mx_count(WMPlex mplex)
-
-
-
Description:
-
Returns the number of objects on the mutually exclusive list of mplex.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
WRegion WMPlex.mx_current(WMPlex mplex)
-
-
-
Description:
-
Returns the managed object currently active within the mutually exclusive
- list of mplex.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
bool WMPlex.mx_i(WMPlex mplex, function iterfn)
-
-
-
Description:
-
Iterate over numbered/mutually exclusive region list of mplex
- until iterfn returns false.
- The function itself returns true if it reaches the end of list
- without this happening.
-
-
Set the visibility of the region reg on mplex
- as specified with the parameter how
- (one of `set', `unset', or `toggle').
- The resulting state is returned.
-
-
Set/create status display for mplex. Table is a standard
- description of the object to be created (as passed to e.g.
- WMPlex.attach_new). In addition, the following fields are
- recognised:
-
-
-
-
Field
-
Description
-
-
pos
-
(string) The corner of the screen to place the status
- display in: one of `tl', `tr', `bl'
- or `br'.
-
-
fullsize
-
(boolean) Waste all available space.
-
-
action
-
(string) If this field is set to `keep',
- pos and fullsize are changed for the existing
- status display. If this field is set to `remove',
- the existing status display is removed. If this
- field is not set or is set to `replace', a
- new status display is created and the old, if any,
- removed.
-
-
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
void WMPlex.switch_next(WMPlex mplex)
-
-
-
Description:
-
Have mplex display next (wrt. currently selected) object managed
- by it.
-
-
Shrink or grow resize mode target one step in each direction.
- Acceptable values for the parameters left, right, top
- and bottom are as follows: -1: shrink along,
- 0: do not change, 1: grow along corresponding border.
-
-
Attempt to close/destroy reg. Whether this operation works
- depends on whether the particular type of region in question has
- implemented the feature and, in case of client windows, whether
- the client supports the WM_DELETE protocol (see also
- WClientWin.kill). The region will not be destroyed when
- this function returns. To find out if and when it is destroyed,
- use the `deinit' notification. If relocate is not set,
- and reg manages other regions, it will not be closed. Otherwise
- the managed regions will be attempted to be relocated.
-
-
Recursively attempt to close a region or one of the regions managed by
- it. If sub is set, it will be used as the managed region, otherwise
- WRegion.current(reg). The object to be closed is
- returned, or NULL if nothing can be closed. For further details, see
- notes for WRegion.rqclose.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
table WRegion.rqgeom(WRegion reg, table g)
-
-
-
Description:
-
Attempt to resize and/or move reg. The table g is a usual
- geometry specification (fields x, y, w and h),
- but may contain missing fields, in which case, reg's manager may
- attempt to leave that attribute unchanged.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
bool WRegion.rqorder(WRegion reg, string ord)
-
-
-
Description:
-
Request ordering. Currently supported values for ord
- are `front' and `back'.
-
-
Set activity flag of reg. The how parameter must be
- one of `set', `unset' or `toggle'.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
bool WRegion.set_name(WRegion reg, string p)
-
-
-
Description:
-
Set the name of reg to p. If the name is already in use,
- an instance number suffix `<n>' will be attempted. If p has
- such a suffix, it will be modified, otherwise such a suffix will be
- added. Setting p to nil will cause current name to be removed.
-
-
Similar to WRegion.set_name except if the name is already in use,
- other instance numbers will not be attempted. The string p should
- not contain a `<n>' suffix or this function will fail.
-
-
Change tagging state of reg as defined by how
- (one of `set', `unset', or `toggle').
- The resulting state is returned.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
table WRegion.size_hints(WRegion reg)
-
-
-
Description:
-
Returns size hints for reg. The returned table always contains the
- fields min_?, base_? and sometimes the fields max_?,
- base_? and inc_?, where ?=w, h.
-
-
Set offset of objects managed by the screen from actual screen geometry.
- The table offset should contain the entries x, y,
- w and h indicating offsets of that component of screen
- geometry.
-
-
Refresh objects' brushes to update them to use newly loaded style.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
bool gr.select_engine(string engine)
-
-
-
Description:
-
Future requests for ``brushes'' are to be forwarded to the drawing engine
- engine. If no engine of such name is known, a module with that name
- is attempted to be loaded. This function is only intended to be called from
- colour scheme etc. configuration files and can not be used to change the
- look of existing objects; for that use gr.read_config.
-
-
Returns the area of workspace used by the regions under split.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
WSplitInner WSplit.parent(WSplit split)
-
-
-
Description:
-
Return parent split for split.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
table WSplit.rqgeom(WSplit node, table g)
-
-
-
Description:
-
Attempt to resize and/or move the split tree starting at node.
- Behaviour and the g parameter are as for WRegion.rqgeom
- operating on node (if it were a WRegion).
-
-
Return the most previously active region on ws with no
- other regions next to it in direction dirstr
- (`left', `right', `up', or `down').
- If any is not set, the status display is not considered.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
bool WTiling.managed_i(WTiling ws, function iterfn)
-
-
-
Description:
-
Iterate over managed regions of ws until iterfn returns
- false.
- The function itself returns true if it reaches the end of list
- without this happening.
-
-
Return the most previously active region next to reg in
- direction dirstr (`left', `right', `up',
- or `down'). The region reg
- must be managed by ws. If any is not set, the status display
- is not considered.
-
-
Toggle floating of the sides of a split containin reg as indicated
- by the parameters how (`set', `unset', or
- `toggle') and dirstr (`left', `right',
- `up', or `down'). The new status is returned
- (and false also on error).
-
-
Toggle floating of a split's sides at split as indicated by the
- parameter how (`set', `unset', or `toggle').
- A split of the appropriate is returned, if there was a change.
-
-
Create a new frame on ws `above', `below'
- `left' of, or `right' of node as indicated
- by dirstr. If dirstr is prefixed with
- `floating:' a floating split is created.
-
-
Split frame creating a new frame to direction dirstr
- (one of `left', `right', `top' or
- `bottom') of frame.
- If attach_current is set, the region currently displayed in
- frame, if any, is moved to thenew frame.
- If dirstr is prefixed with `floating:', a floating
- split is created.
-
-
Try to find matching history entry. Returns -1 if none was
- found. The parameter from specifies where to start
- searching from, and bwd causes backward search from
- that point. If exact is not set, s only required
- to be a prefix of the match.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
table mod_query.history_table()
-
-
-
Description:
-
Return table of history entries.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
void mod_query.set(table tab)
-
-
-
Description:
-
Set module configuration. The following are supported:
-
-
-
-
Field
-
Description
-
-
autoshowcompl
-
(boolean) Is auto-show-completions enabled?
- (default: true).
-
-
autoshowcompl_delay
-
(integer) auto-show-completions delay
- in milliseconds (default: 250).
-
-
caseicompl
-
(boolean) Turn some completions case-insensitive
- (default: false).
This function can be used to read completions from an external source.
- The parameter cp is the completion proxy to be used,
- and the string cmd the shell command to be executed. To its stdout,
- the command should on the first line write the common_beg
- parameter of WComplProxy.set_completions (which fn maybe used
- to override) and a single actual completion on each of the successive lines.
- The function reshnd may be used to override a result table
- building routine.
-
-
Low-level query routine. mplex is the WMPlex to display
- the query in, prompt the prompt string, and initvalue
- the initial contents of the query box. handler is a function
- that receives (mplex, result string) as parameter when the
- query has been succesfully completed, completor the completor
- routine which receives a (cp, str, point) as parameters.
- The parameter str is the string to be completed and point
- cursor's location within it. Completions should be eventually,
- possibly asynchronously, set with WComplProxy.set_completions
- on cp.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
mod_query.query_attachclient(mplex)
-
-
-
Description:
-
This query asks for the name of a client window and attaches
- it to the frame the query was opened in. It uses the completion
- function ioncore.complete_clientwin.
-
-
Asks for a file to be edited. This script uses
- run-mailcap -mode=edit by default, but you may provide an
- alternative script to use. The default prompt is "Edit file:" (translated).
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
mod_query.query_exec(mplex)
-
-
-
Description:
-
This function asks for a command to execute with /bin/sh.
- If the command is prefixed with a colon (':'), the command will
- be run in an XTerm (or other terminal emulator) using the script
- ion-runinxterm. Two colons ('::') will ask you to press
- enter after the command has finished.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
mod_query.query_gotoclient(mplex)
-
-
-
Description:
-
This query asks for the name of a client window and switches
- focus to the one entered. It uses the completion function
- ioncore.complete_clientwin.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
mod_query.query_lua(mplex)
-
-
-
Description:
-
This query asks for Lua code to execute. It sets the variable '_'
- in the local environment of the string to point to the mplex where the
- query was created. It also sets the table arg in the local
- environment to {_, _:current()}.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
mod_query.query_man(mplex, prog)
-
-
-
Description:
-
This query asks for a manual page to display. By default it runs the
- man command in an xterm using ion-runinxterm,
- but it is possible to pass another program as the prog argument.
-
-
This query can be used to create a query of a defined menu.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
mod_query.query_renameframe(frame)
-
-
-
Description:
-
This function asks for a name new for the frame where the query
- was created.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
mod_query.query_renameworkspace(mplex, ws)
-
-
-
Description:
-
This function asks for a name new for the workspace ws,
- or the one on which mplex resides, if it is not set.
- If mplex is not set, one is looked for.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
mod_query.query_restart(mplex)
-
-
-
Description:
-
This query asks whether the user wants restart Ioncore.
- If the answer is 'y', 'Y' or 'yes', so will happen.
-
-
Asks for a file to be viewed. This script uses
- run-mailcap -action=view by default, but you may provide an
- alternative script to use. The default prompt is "View file:" (translated).
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
mod_query.query_shutdown(mplex)
-
-
-
Description:
-
This query asks whether the user wants to exit Ion (no session manager)
- or close the session (running under a session manager that supports such
- requests). If the answer is 'y', 'Y' or 'yes', so will happen.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
mod_query.query_ssh(mplex, ssh)
-
-
-
Description:
-
This query asks for a host to connect to with SSH.
- Hosts to tab-complete are read from ~/.ssh/known_hosts.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
mod_query.query_workspace(mplex)
-
-
-
Description:
-
This query asks for the name of a workspace. If a workspace
- (an object inheriting WGroupWS) with such a name exists,
- it will be switched to. Otherwise a new workspace with the
- entered name will be created and the user will be queried for
- the type of the workspace.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
mod_query.query_yesno(mplex, prompt, handler)
-
-
-
Description:
-
This function query will display a query with prompt prompt in
- mplex and if the user answers affirmately, call handler
- with mplex as parameter.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
mod_query.show_about_ion(mplex)
-
-
-
Description:
-
Display an "About Ion" message in mplex.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
mod_query.show_tree(mplex, reg, max_depth)
-
-
-
Description:
-
Show information about a region tree
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
mod_query.warn(mplex, str)
-
-
-
Description:
-
Display an error message box in the multiplexer mplex.
-
-
Set completion list of the WEdln that proxy refers to to
- compls, if it is still waiting for this completion run. The
- numerical indexes of compls list the found completions. If the
- entry common_beg (common_end) exists, it gives an extra
- common prefix (suffix) of all found completions.
-
-
Starting from the previous characters, delete possible whitespace and
- preceding alphanumeric characters until previous non-alphanumeric character.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
void WEdln.bol(WEdln wedln)
-
-
-
Description:
-
Go to the beginning of line.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
void WEdln.bskip_word(WEdln wedln)
-
-
-
Description:
-
Go to to beginning of current sequence of alphanumeric characters
- followed by whitespace.
-
-
Call completion handler with the text between the beginning of line and
- current cursor position, or select next/previous completion from list if in
- auto-show-completions mode and cycle is set to `next' or
- `prev', respectively.
- The mode may be `history' or `normal'. If it is
- not set, the previous mode is used. Normally next entry is not cycled to
- despite the setting of cycle if mode switch occurs. To override
- this, use `next-always' and `prev-always' for cycle.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
string WEdln.contents(WEdln wedln)
-
-
-
Description:
-
Get line editor contents.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
string WEdln.context(WEdln wedln)
-
-
-
Description:
-
Get history context for wedln.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
void WEdln.copy(WEdln wedln)
-
-
-
Description:
-
Copy text between mark and current cursor position to clipboard.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
void WEdln.cut(WEdln wedln)
-
-
-
Description:
-
Copy text between mark and current cursor position to clipboard
- and then delete that sequence.
-
-
Replace line editor contents with next entry in history if one exists.
- If match is true, the initial part of the history entry
- must match the current line from beginning to point.
-
-
Replace line editor contents with previous in history if one exists.
- If match is true, the initial part of the history entry
- must match the current line from beginning to point.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
void WEdln.insstr(WEdln wedln, string str)
-
-
-
Description:
-
Input str in wedln at current editing point.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
bool WEdln.is_histcompl(WEdln wedln)
-
-
-
Description:
-
Get history completion mode.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
void WEdln.kill_line(WEdln wedln)
-
-
-
Description:
-
Delete the whole line.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
void WEdln.kill_to_bol(WEdln wedln)
-
-
-
Description:
-
Delete all characters from previous to beginning of line.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
void WEdln.kill_to_eol(WEdln wedln)
-
-
-
Description:
-
Delete all characters from current to end of line.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
void WEdln.kill_word(WEdln wedln)
-
-
-
Description:
-
Starting from the current point, delete possible whitespace and
- following alphanumeric characters until next non-alphanumeric character.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
integer WEdln.mark(WEdln wedln)
-
-
-
Description:
-
Get current mark (start of selection) for wedln.
- Return value of -1 indicates that there is no mark, and
- 0 is the beginning of the line.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
bool WEdln.next_completion(WEdln wedln)
-
-
-
Description:
-
Select next completion.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
void WEdln.paste(WEdln wedln)
-
-
-
Description:
-
Request selection from application holding such.
-
-
-Note that this function is asynchronous; the selection will not
- actually be inserted before Ion receives it. This will be no
- earlier than Ion return to its main loop.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
integer WEdln.point(WEdln wedln)
-
-
-
Description:
-
Get current editing point.
- Beginning of the edited line is point 0.
-
-
Display a menu in the lower-left corner of mplex.
- The variable menu_or_name is either the name of a menu
- defined with mod_menu.defmenu or directly a table similar
- to ones passesd to this function. When this function is
- called from a binding handler, sub should be set to
- the second argument of to the binding handler (_sub)
- so that the menu handler will get the same parameters as the
- binding handler. Extra options can be passed in the table
- param. The initial entry can be specified as the field
- initial as an integer starting from 1. Menus can be made
- to use a bigger style by setting the field big to true.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
table mod_menu.get()
-
-
-
Description:
-
Get module basic settings. For details, see mod_menu.set.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
void mod_menu.set(table tab)
-
-
-
Description:
-
Set module basic settings. The parameter table may contain the
- following fields:
-
-
-
-
Field
-
Description
-
-
scroll_amount
-
Number of pixels to scroll at a time
- pointer-controlled menus when one extends
- beyond a border of the screen and the pointer
- touches that border.
-
-
scroll_delay
-
Time between such scrolling events in
- milliseconds.
-
-
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
mod_menu.pmenu(win, sub, menu_or_name)
-
-
-
Description:
-
This function displays a drop-down menu and should only
- be called from a mouse press handler. The parameters are
- similar to those of mod_menu.menu.
-
-
Change displayed status of some scratchpad on mplex if one is
- found. The parameter how is one of
- `set', `unset', or `toggle'.
- The resulting status is returned.
-
-
-
-
-
-
-
-
-
-6.7 Functions defined in mod_statusbar
-
-
-
-
-
-
Synopsis:
-
mod_statusbar.create(param)
-
-
-
Description:
-
Create a statusbar. The possible parameters in the
- table param are:
-
-
Position: `tl', `tr',
- `bl' or `br'
- (for the obvious combinations of
- top/left/bottom/right).
-
-
screen
-
integer
-
Screen number to create the statusbar on.
-
-
fullsize
-
boolean
-
If set, the statusbar will waste
- space instead of adapting to layout.
-
-
systray
-
boolaen
-
Swallow (KDE protocol) systray icons.
-
-
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
mod_statusbar.inform(name, value)
-
-
-
Description:
-
Inform of a value.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
mod_statusbar.launch_statusd(cfg)
-
-
-
Description:
-
Load modules and launch ion-statusd with configuration
- table cfg. The options for each ion-statusd monitor
- script should be contained in the corresponding sub-table of cfg.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
table mod_statusbar.statusbars()
-
-
-
Description:
-
Returns a list of all statusbars.
-
-
-
-
-
-
-
-
-
-
Synopsis:
-
mod_statusbar.update(update_templates)
-
-
-
Description:
-
Update statusbar contents. To be called after series
- of mod_statusbar.inform calls.
-
-
Called when we want to manage a new client window.
- The table argument contains the following fields:
-
-
-
-
Field
-
Type
-
Description
-
-
switchto
-
bool
-
Do we want to switch to the client window.
-
-
jumpto
-
bool
-
Do we want to jump to the client window.
-
-
userpos
-
bool
-
Geometry set by user.
-
-
dockapp
-
bool
-
Client window is a dock-app.
-
-
maprq
-
bool
-
Map request (and not initialisation scan).
-
-
gravity
-
number
-
Window gravity.
-
-
geom
-
table
-
Requested geometry; x, y, w, h.
-
-
tfor
-
WClientWin
-
Transient for window.
-
-
-
-
-This hook is not called in protected mode and can be used for
- arbitrary placement policies (deciding in which workspace a new
- WClientWin should go). In this case, you can call
-
-reg:attach(cwin)
-
- where reg is the region where the window should go, and
- cwin is the first argument of the function added to the
- hook.
-
-
-
-
-
-
-
-
-
-
-
Hook name:
-
clientwin_mapped_hook
-
-
-
Parameters:
-
WClientWin
-
-
-
Description:
-
Called when we have started to manage a client window.
-
-
-
-
-
-
-
-
-
-
-
Hook name:
-
clientwin_property_change_hook
-
-
-
Parameters:
-
(WClientWin, integer)
-
-
-
Description:
-
Called when the property identified by the parameter atom id
- (integer) has changed on a client window.
-
-
-
-
-
-
-
-
-
-
-
Hook name:
-
clientwin_unmapped_hook
-
-
-
Parameters:
-
number
-
-
-
Description:
-
Called when we no longer manage a client window. The parameter
- is the X ID of the window; see WClientWin.xid.
-
-
-
-
-
-
-
-
-
-
-
Hook name:
-
frame_managed_changed_hook
-
-
-
Parameters:
-
table
-
-
-
Description:
-
Called when there are changes in the objects managed by a frame
- or their order. The table parameter has the following fields:
-
-
-
-
Field
-
Type
-
Description
-
-
reg
-
WFrame
-
The frame in question
-
-
mode
-
string
-
`switchonly', `reorder',
- `add' or `remove'
-
-
sw
-
bool
-
Switch occurred
-
-
sub
-
WRegion
-
The managed region (primarily) affected
-
-
-
-
-
-
-
-
-
-
-
-
-
Hook name:
-
ioncore_sigchld_hook
-
-
-
Parameters:
-
integer
-
-
-
Description:
-
Called when a child process has exited. The parameter
- is the PID of the process.
-
-
-
-
-
-
-
-
-
-
-
Hook name:
-
ioncore_deinit_hook
-
-
-
Parameters:
-
()
-
-
-
Description:
-
Called when Ion is deinitialising and about to quit.
-
-
-
-
-
-
-
-
-
-
-
Hook name:
-
ioncore_post_layout_setup_hook
-
-
-
Parameters:
-
()
-
-
-
Description:
-
Called when Ion has done all initialisation and is almost ready to
- enter the main-loop, except no windows are yet being managed.
-
-
-
-
-
-
-
-
-
-
-
Hook name:
-
ioncore_snapshot_hook
-
-
-
Parameters:
-
()
-
-
-
Description:
-
Called to signal scripts and modules to save their state (if any).
-
-
-
-
-
-
-
-
-
-
-
Hook name:
-
ioncore_submap_ungrab_hook
-
-
-
Parameters:
-
()
-
-
-
Description:
-
This hook is used to signal whenever Ion leaves the submap grab mode.
-
-
-
-
-
-
-
-
-
-
-
Hook name:
-
tiling_placement_alt
-
-
-
Parameters:
-
table
-
-
-
Description:
-
Called when a client window is about to be managed by a WTiling
- to allow for alternative placement policies. The table has the
- following fields:
-
-
Field
-
Type
-
Description
-
-
tiling
-
WTiling
-
The tiling
-
-
reg
-
WRegion
-
The region (always a WClientWin at
- the moment) to be placed
A successful handler should
- return the target frame here.
-
-
- This hook is just for placing within a given workspace after the
- workspace has been decided by the default workspace selection
- policy. It is called in protected mode. For arbitrary placement
- policies, clientwin_do_manage_alt should be used; it
- isn't called in protected mode,
-
-
-
-
-
-
-
-
-
-
-
Hook name:
-
region_do_warp_alt
-
-
-
Parameters:
-
WRegion
-
-
-
Description:
-
This alt-hook exist to allow for alternative pointer warping
- implementations.
-
-
-
-
-
-
-
-
-
-
-
Hook name:
-
screen_managed_changed_hook
-
-
-
Parameters:
-
table
-
-
-
Description:
-
Called when there are changes in the objects managed by a screen
- or their order. The table parameter is similar to that of
- frame_managed_changed_hook.
-
-
-
-
-
-
-
-
-
-
-
Hook name:
-
region_notify_hook
-
-
-
Parameters:
-
(WRegion, string)
-
-
-
Description:
-
Signalled when something (minor) has changed in relation to
- the first parameter region. The string argument gives the
- change:
-
-
-
-
String
-
Description
-
-
deinit
-
The region is about to be deinitialised.
-
-
activated
-
The region has received focus.
-
-
inactivated
-
The region has lost focus.
-
-
activity
-
There's been activity in the region itself.
-
-
sub_activity
-
There's been activity in some sub-region.
-
-
name
-
The name of the region has changed.
-
-
unset_manager
-
The region no longer has a manager.
-
-
set_manager
-
The region now has a manager.
-
-
tag
-
Tagging state has changed.
-
-
pseudoactivated
-
The region has become pseudo-active
- (see below).
-
-
pseudoinactivated
-
The region is no longer pseudo-active.
-
-
-
-
-A region is pseudo-active, when a) it is itself not active (does
- not not have the focus, and may not even have a window that could
- have it), but b) some region managed by it is active.
-
-
-
-
-
-
-
-
-
-
-
-6.10 Miscellaneous
-
-
-
-
-
-
-
-6.10.1 Size policies
-
-
-
-Some functions accept a sizepolicy parameter. The possible
-values are:
-
-
-The ``free'' policies allow the managed
-object to be moved around, whereas the other versions do not.
-The ``glue'' policies glue the object to some border, while allowing
-it to be moved away from it by user action, but not automatically.
-The ``stretch'' policies stretch the object along the given border,
-while the coordinate-based policies simply place the object along
-that border.
-
-