Feel(1)

NAME
Feel - AfterStep feel configuration Feel WindowBox definition

CONFIGURATION OPTIONS

Popup
    Specifies a menu popup definition and is covered in the built-in command/function. See Also: AS Function for further details.

Function
    FIXME: add proper description here. See Also: AS Function for further details.

ClickToFocus
    Specifies that the keyboard input (aka focus) stays with one window until a new window's TitleBar is clicked on, or gains focus through Warping or de-iconification. AfterStep will not switch focus following mouse pointer, but instead will switch it when window is explicitely clicked. This is the same as before. The only difference is that AfterStep will not Raise window automagically, unless some other settings are set. Possible way to Raise window on focusing include: - set AutoRaise 0 in feel file ( delay of 0 ) - bind mouse clicks to Raise or RaiseLower function in feel file. - set ClickToRaise flag in feel file.

SloppyFocus
    Specifies that windows retain focus until the mouse moves to another window, or Warping causes another window to gain focus. SloppyFocus has no effect if ClickToFocus is also specified.

AutoFocus
    FIXME: add proper description here.

DecorateTransients
    Specifies that transient windows (pop-up dialog boxes), which are normally not decorated, should be given the usual title and low bars. Note: some pop-up windows and menus are not managed by the window manager, so do not get these decorations.

DontMoveOff
    Specifies that windows should not be moved off or initially placed off of the desktop. A few programs will not work cor- rectly if you use this option. This only keeps windows from being completely lost off the edge of the desktop. It insists on keeping 16 pixels on the desktop, but does not attempt to keep the entire window on the desk.

NoPPosition
    Species that afterstep should ignore the PPosition field when placing new windows, in other words, windows can't choose where to place themselves. Adherence to the PPosition field is required for some applications.

SmartPlacement
    Specifies that windows be placed in areas that no other windows occupy, otherwise user intervention becomes required for placement. Have fun, try specifying both. :-)

RandomPlacement
    Specifies that windows which would normally require user inter- vention for placement be automagically placed in ever-so- slightly random locations.

StubbornPlacement
    Specifies that new windows should avoid being placed over icons.

MenusHigh
    Specifies that any pop-up menu's submenu should appear at the top of the parent menu instead of starting at the point in the parent window where the submenu item lies.

CenterOnCirculate
    Specifies that when Warping (alt-tabbing), the desktop page containing the window to which the pointer is moving will be automatically selected and afterstep will attempt to center the target window in the desktop viewport, rather than just flipping to the desktop the window resides in.

SuppressIcons
    Specifies that no icon should be shown for any window being iconified, similar to NoIcon.

IconTitle
    Specifies that a title should be displayed under an iconified app. The colors used are the ForeColor and BackColor of the ButtonTitleFocus in the look.name file. Note: less space is left for the app's icon, so it will be resized acordingly. Only a portion of the icon title will be displayed until the icon gains focus, and then the title "box" will expand to reveal the window's entire name.

KeepIconWindows
    Specifies that applications should be allowed to specify their own icon windows.

StickyIcons
    Specifies that icons should stick to the screen's glass and fol- low it from desk/view to desk/view.

StubbornIcons
    Specifies that icons should uniconify to their original desk. By default, icons uniconify to the current desk.

StubbornIconPlacement
    Specifies that icons should avoid being hidden behind windows placed over the IconBox by moving themselves around (dancing icons).

CirculateSkipIcons
    Specifies that all icons should be skipped when Warping (alt- tabbing) between windows.

BackingStore
    Specifies that decorations should request backing store. Refer to AppsBackingStore for further details.

AppsBackingStore
    Specifies that app windows should request backing store. X-terminals and low memory systems should avoid this as redrawing will be quicker than pulling the saved image from swap space. Backing store will always be faster than redraw on machines that have enough memory. This causes non-ICCCM compliance.

SaveUnders
    Specifies that afterstep frames should request saveunders. This will cause afterstep to save those portions of windows that are not visible to system memory. This can significantly improve the performance during opaque moves, but it causes a significant increase in memory usage. This can also cause garbled display with some applications.

PagingDefault 0|1
    Specifies if Paging should be enabled (1) or disabled (0). Paging is set to enabled by default.

AutoTabThroughDesks
    In conjunction with AutoReverse, this will Warp (alt-tab) through windows on all desks.

ClickTime
    Specifies that afterstep should consider two mouse clicks made within delay milliseconds to be a double mouse click, and not two single mouse clicks. The default delay is 150 milliseconds.

OpaqueMove %
    Specifies the maximum size window where opaque window movement should be used. % is percent of the total screen area. Set to 0, all windows will be moved using the traditional rubber-band outline. Set to 100, all windows will be move as solid windows. The default is 5 which allows small windows to be moved in an opaque manner, but large windows to be moved as rubber-bands. Using this option with large values can slow down video response on slower systems.

OpaqueResize %
    Specifies the maximum size window where opaque resizing should be used. % is percent of the total screen area. Set to 0, all windows will be resized using the traditional rubber-band out- line. Set to 100, all windows will be resized as solid windows. The default is 5 which allows small windows to be resized in an opaque manner, but large windows to be resized as rubber-bands. Using this option with large values can slow down video response on slower systems.

AutoRaise delay
    Specifies the delay in milliseconds of focus a window must attain before being raised.

AutoReverse 0|1|2
    Specifies the window Warping (also called alt-tabbing) style. 0 (the default) causes switching among windows in one direction. 1 causes a closed loop switching - #1->#2->#3->#4 then #4->#3->#2->#1. 2 causes an open loop switching - #1->#2->#3->#4 then #4->#1->#2->#3 etc.

DeskAnimationType
    This requests particular type of animation to be rendered while switching desktops. Available values are in range of 0 to 12.

ShadeAnimationSteps
    Defines how many steps to use to render animation when window gets shaded/unshaded.

DeskAnimationSteps
    Specifies how many animation steps should be rendered while switching desktops/removing blue cover. Reduce that number to speedup animation.

XorValue value
    Specifies the value with which bits are XOR'ed when doing rubber-band window moving or resizing. Setting this value is a trial-and-error process.

Xzap number
    Specifies the horizontal offset of the cursor when warping. This offset is relative to the upper-left corner of the window being warped to.

Yzap number
    Specifies the vertical offset of the cursor when warping. This offset is relative to the upper-left corner of the window being warped to.

ClickToRaise
    Specifies that windows should be raised when a button is clicked in the titlebar, handle (low bar), or application area. buttons specifies the list of buttons which triggers this function. In AutoRaise mode this will simply raise the window if the click is before the delay specified in AutoRaise. In ClickToFocus mode, this will raise the window and give it focus.

EdgeScroll horizontal vertical
    Specifies the percentage of a page to scroll when the cursor hits the edge of a page. Setting EdgeScroll to 0 0 will disable scrolling. Setting this option to 100 100 will scroll whole pages. Set to 1000 1000, scrolling will wrap around at the edge of the desktop. Both horizontal and vertical should be positive numbers.

EdgeResistance delay pixels
    Specifies how hard it should be to change views within a desktop by moving the mouse over the edge of the screen, and how hard it hould be to move a window over the edge of a screen. The delay in milliseconds, defines how long the pointer must spend at the screen edge before that view becomes current. This is useful in conjunction with EdgeScroll 100 100, so the views don't get switched accidently. The pixels defines how far over the edge a window must "appear" to move before it actually moves partially off the screen. Note that with EdgeScroll 0 0, it is still possible to move or resize windows across the edge of the current screen. By setting the pixels parameter of EdgeResistance to 10000, this type of motion is impossible. However, with EdgeResistances less than 10000, but greater than 0, moving over pages becomes difficult but not impossible.

ShadeAnimationSteps
    Defines how many steps to use to render animation when window gets shaded/unshaded.

CoverAnimationSteps steps count
    CoverAnimationSteps is the number of animation steps to take while removing blue-tinted cover window.

CoverAnimationType type
    CoverAnimationType determines what type of animation to use while removing blue-tinted desktop cover - use values from 0 to 13.

FollowTitleChanges
    That will force AfterStep to reread and merge all the hints and settings from the database files, whenever window changes either its name or icon name.

PersistentMenus
    Right now if you try to open a menu when its already opened - that will cause menu to close. To disable this behaviour and instead pop-up a menu again - use this setting.

NoSnapKey key
    AfterStep now has a feature that "snaps" windows to different desktop features, such as edges of other windows and edge of the screen. To disable it temorarily you can press and hold Shift key. Use this setting to request different modifier key instead of Shift.

ScreenEdgeAttraction distance
    Defines distance from which window will be attracted to the screen edge, while being interactively moved/resized.

WindowEdgeAttraction distance
    Defines distance from which window will be attracted to the other window's edge, while being interactively moved/resized.

DontRestoreFocus
    Will not restore focus to the recently focused application wile switching desktops.

DefaultWindowBox "windowbox_name"
    Window boxes are processed in order they were listed in config. If suitable windowbox could not be found for the window in the database file - then windowbox named in DefaultWindowBox will be forced.

RecentSubmenuItems number_of_items
    Defines maximum number of recently used submenu items to be listed under menu item. Set to 0 to disable feature. Default is 4.

WinListSortOrder
    FIXME: add proper description here.

WinListHideIcons
    FIXME: add proper description here.

AnimateDeskChange
    That setting requests nice animation to be drawn over the desktop, during desktop switching.Comment it out to speed up desktop switching.

Cursor cursor_number cursor_type
    Specifies the cursor_type for the given cursor_number . Valid cursor_numbers are 0 though 10 and listed in all the shipped feel.name files. The cursor_types are listed in the /usr/include/X11/cursorfont.h file.

CustomCursor
    FIXME: add proper description here.

Mouse button  context  modifier  Command
    Specifies a mouse binding definition. button is the mouse button number [0, 1, 2, or 3]. If button is zero, then any mouse button invoked issues the Command . context describes where the mouse click occurred and can be any combination of the following:
       R = Root window (main background)
       F = Window Frame (the BottomBar handle corners)
       S = Window TitleBar or BottomBar
       I = Iconified Button (minimized window icon)
       T = Window TitleBar
       W = Application Window
       A = Any of the above except for TitleButtons
    1-10 = TitleButton number of the TitleBar, corresponds to the
           entry in the  look.name  file
    The action to be taken by the defined TitleButton is defined in the feel.name file. Defining a TitleButton without having a corresponding entry in the feel.name file will cause the TitleButton icon to be displayed, but not react when pressed.
     modifier is the key-stroke combination associated with the context entry, to issue the Command . Valid modifier 's are:
       N = No modifiers
       C = Control
       S = Shift
       M = Meta
       A = Any modifier
     Command can be any afterstep Built-in command/ function, Popup or user defined Function . See Also: AS Function for further details.

Key keyname  context  modifier  Command
    Specifies a key-stroke binding definition, similar to Mouse . keyname is the keyboard key name. Valid keyname 's are found in the /usr/X11/include/X11/keysymdef.h file and are specified here without the leading "XK_". The context describes where the mouse is resting when the keyname is pressed and can be any combination of the following: R = Root window (main background) F = Window Frame (the BottomBar handle corners) S = Window TitleBar or BottomBar I = Iconified Button (minimized window icon) T = Window TitleBar W = Application Window A = Any of the above except for TitleButtons 1-10 = TitleButton number of the TitleBar [ not very useful here ]
     modifier is the key-stroke combination associated with the context entry, to issue the Command . Valid modifier 's are:
       N = No modifiers
       C = Control
       S = Shift
       M = Meta
       A = Any modifier
     Command can be any afterstep Built-in command/ function, Popup or user defined Function . See Also: AS Function for further details.

WindowBox "windowbox_name"
    WindowBox defines an area on the screen/virtual desktop into which a window will be placed on startup. See Also: Feel WindowBox definition for further details. This is whole new thing to allow better window placement policy :
    WindowBox   "some_name"
          Area   WxH+X+Y
          Virtual
          MinWidth        width
          MinHeight       height
          MaxWidth        width
          MaxHeight       height
          FirstTry        SmartPlacement|RandomPlacement|Tile
          ThenTry         RandomPlacement|Cascade|Manual
          VerticalPriority
          ReverseOrder
          Desk        desk
          MinLayer    min_layer
          MaxLayer    max_layer
    ~WindowBox