Skip to content

Latest commit

 

History

History
126 lines (106 loc) · 4.9 KB

TODO

File metadata and controls

126 lines (106 loc) · 4.9 KB

adwm — todo file. 2017-12-19

General tasks:

  • ✓ bug reports

  • ✓ fix GNOME (and other DE’s) compatibility

  • ✓ fix issues with tagging on multihead (anything left?)

  • ✓ fix focus problems

  • ✓ do code cleanup

  • ✓ better X11 extension handling

Window resize grips:

  • ✓ remove need for title and grips sub-windows and just draw these on the frame window. (Can’t do this and support 32 deep visuals.)

  • ✓ add ability to have resize grips all the way around the window in DTWM/MWM/TWM/CTWM/VTWM fashion

  • ❏ test resize grips all the way around

Decoration styles:

  • ✓ use ximage/xrender to draw title and resize grips

  • ✓ use ximage/xrender to optimally update exposures on the frame

  • ❏ convert as many gradients as possible to use ximage/xrender

  • ✓ make xrender a prerequisite

  • ✓ display icons in title bar

  • ✓ provide a different button pressed pixmap for each mouse button.

  • ✓ handle colormaps correctly

  • ❏ provide transparency management model for instructing compositors

  • ❏ add full composite manager function to window manager

  • ✓ support shaped windows

  • ❏ add shaped borders to shaped windows

  • ✓ undecorate shaped windows with reduced extents by default

  • ✓ used 32-deep ARGB visuals for all frame components when available

  • ❏ render client and frame elements on frame

  • ✓ load themerc file in addition to stylerc file

Internal layout mechanism:

  • ✓ make layouts loadable modules

  • ❏ convert layouts to tree format and support i3/herbstluftwm, bspwm and vim modes

  • ❏ apply tree format to floating windows and floating window placement.

  • ❏ use a freeform tree for mimic floating window placement

  • ❏ add ability to float from any layout without disturbing tree model for tiled layout

  • ❏ add a tree per layout type to the view

  • ❏ provide ability to drag dock apps around to reorder them.

User feedback:

  • ✓ add window menu (use xde-winmenu(1))

  • ✓ add root menu (use xde-menu(1))

  • ✓ add window list menu (use xde-winlist(1))

  • ✓ add desktop cycle display (use xde-pager(1))

  • ✓ add per-desktop (per-view) background (use xde-setbg(1))

  • ✓ add window cycle display (use xde-cycle(1))

Session control:

  • ✓ fixup restart behaviour

  • ❏ add session management

  • ❏ implement separate file for dock app list.

  • ❏ implement function to save dock app list.

  • ❏ do not load all resources on reload (only those that are cannot be changed by the user after startup.

Behaviour:

  • ✓ showing desktop mode in fluxbox(1) is per desktop, we should do the same and make showing desktop mode only apply to a view.

  • ✓ when resizing windows frame is resizing faster than the client (due to synchronization). Change resizing behaviour to not resize the frame until the client responds to the resize request. (Not sure I want to do this one: current behaviour is ok.)

  • ✓ implement lhalf and rhalf button functions.

  • ✓ switch to lhalf or rhalf at screen/monitor edges (no Ctrl).

  • ✓ defeat snap when moving with Ctrl key.

  • ✓ fix snapping while moving

  • ✓ fix snapping while resizing

  • ❏ move window to adjacent desktop at screen/monitor edges (Ctrl key depressed.

  • ✓ implement kill behavior with Button2 and Button3 on close button.

  • ❏ fix broken rollup function (maybe using XShape).

  • ✓ fix broken key chains.

  • ✓ fix auto-hide struts behavior

  • ✓ add delay to auto-hide struts exposures

  • ✓ add support for OB_WM{ACTION,STATE}_UNDECORATE

  • ✓ always focus last selected window per view when possible

  • ✓ fix resizing from maximized

  • ✓ support WM_ICON_SIZE

  • ✓ handle _NET_WM_WINDOW_OPACITY

  • ✓ support WM_COLORMAP_{WINDOWS,NOTIFY}

  • ❏ get keyboard-based move working

  • ❏ get keyboard-based resize working

  • ❏ support _NET_WM_FULL_PLACEMENT

  • ❏ support _NET_WM_OPAQUE_REGION

  • ❏ support _NET_WM_BYPASS_COMPOSITOR

Configuration:

  • ❏ Provide external mechanism for setting configuration items. Possibly use manager selection: do not set property on the conversion window when getting the configuration item; set the property on the conversion window to set the configuration item. Another possibility is to use RESOURCE_MANAGER.

  • ❏ Provide external mechanism for invoking keyboard actions: at least those that are not supported by EWMH and other extensions. Possibly use client message with action id and up to 4 parameters.

  • ❏ Provide external mechanism for redefining key bindings.

  • ✓ Make mouse button action bindings configurable.

  • ❏ Have default key bindings invoke xde-preferred for default terminal, browser, file manager and editor.

  • ❏ Consider using xde-preferred for screenshot, brighness and backlight controls, and audio controls. Either have defined defaults, or use smart scripts (debian way) to find something usable.