mikedee
January 6th, 2007, 06:20 PM
This is just a post so I can manage a draft netwm api. This is hopefully going to be added to the dbus plugin so that scripts can get information from the window manager. It will mean that you can easilly write a pager (for example) in any language that supports dbus.
/org/freedesktop/netwm
getVersion () - return the version of the EWMH spec supported (1.4.draft-1 in this case)
/org/freedesktop/netwm/root
The following methods are called asynchronously they are requests and any script will need to be notified if and when the request is actioned.
closeWindow ()
moveresizeWindow ()
wmMoveresize ()
restackWindow ()
requestFrameExtents ()
The following are all sub objects of root. All of them support a get method which will return the information, every get method must include the root window id as a parameter. Some of them also support a set method, these are marked as rw, and the basic set function prototype in in brackets.
/supported - low ro
/client_list - high ro
/number_of_desktops - high rw (root_id, new_number_of_desktops)
/desktop_geometry - medium rw (root_id, new_width, new_height)
/desktop_viewport - high rw (root_id, new_vx, new_vy) - get current viewports, set set current viewport
/current_desktop - high rw (root_id, new_index)
/desktop_names - medium rw (root_id, index, new_desktop_name)
/active_window - high rw (root_id, window)
/workarea - medium ro
/supporting_wm_check - low ro
/virtual_roots - unused by compiz?
/desktop_layout - medium rw (root_id, desktop_index, orientation, columns, rows, starting_corner)
/showing_desktop - medium rw (root_id, showing)
/org/freedesktop/netwm/client
Same as above but on client windows.
/wm_name - high ro
/wm_visible_icon - high ro
/wm_visible_icon_name - high ro
/wm_desktop - high rw (window_id, new_desktop)
/wm_window_type - high ro
/wm_state - high ro
/wm_allowed_actions - low ro
/wm_strut - medium ro
/wm_strut_partial - medium ro
/wm_icon_geometry - medium ro
/wm_icon - medium ro
/wm_pid - high ro
/wm_handled_icons - low ro
/wm_user_time - low ro
/frame_extents - high ro
get(window_id)
set() - depends on object
/org/freedesktop/netwm
getVersion () - return the version of the EWMH spec supported (1.4.draft-1 in this case)
/org/freedesktop/netwm/root
The following methods are called asynchronously they are requests and any script will need to be notified if and when the request is actioned.
closeWindow ()
moveresizeWindow ()
wmMoveresize ()
restackWindow ()
requestFrameExtents ()
The following are all sub objects of root. All of them support a get method which will return the information, every get method must include the root window id as a parameter. Some of them also support a set method, these are marked as rw, and the basic set function prototype in in brackets.
/supported - low ro
/client_list - high ro
/number_of_desktops - high rw (root_id, new_number_of_desktops)
/desktop_geometry - medium rw (root_id, new_width, new_height)
/desktop_viewport - high rw (root_id, new_vx, new_vy) - get current viewports, set set current viewport
/current_desktop - high rw (root_id, new_index)
/desktop_names - medium rw (root_id, index, new_desktop_name)
/active_window - high rw (root_id, window)
/workarea - medium ro
/supporting_wm_check - low ro
/virtual_roots - unused by compiz?
/desktop_layout - medium rw (root_id, desktop_index, orientation, columns, rows, starting_corner)
/showing_desktop - medium rw (root_id, showing)
/org/freedesktop/netwm/client
Same as above but on client windows.
/wm_name - high ro
/wm_visible_icon - high ro
/wm_visible_icon_name - high ro
/wm_desktop - high rw (window_id, new_desktop)
/wm_window_type - high ro
/wm_state - high ro
/wm_allowed_actions - low ro
/wm_strut - medium ro
/wm_strut_partial - medium ro
/wm_icon_geometry - medium ro
/wm_icon - medium ro
/wm_pid - high ro
/wm_handled_icons - low ro
/wm_user_time - low ro
/frame_extents - high ro
get(window_id)
set() - depends on object