news download themes documentation links










  1. Getting Started
  2. Ultimate Guide to fluxbox Tabs
  3. Keybindings
  4. Setting Backgrounds
  5. The Slit
  6. Editing Your Menu
  7. The Basics of themes (styles) in Fluxbox


Fluxbox Keybinding

  • The native fluxbox keygrabber
    It works very similar to bbkeys, which is an excellent tool but had some limitations (and was license incompatible), but with a totally new syntax for the config file, and a couple of new features which makes fluxbox even more powerful.

    For one, the new keygrabber supports chains of key sequences (think emacs)... so you could for example have; Mod1 + M + Mod1 + F to switch to the next workspace (not that anyone would actually use that particular key sequence;).

    And if you've typed in a part of the sequence but decides not to continue (abort) then you can hit another key sequence (that you configured in you keys file) to simply abort (with: AbortChain).
    In addition to this you can now also bind a key sequence to switch between joined/docked windows in a group (with: NextTab and PrevTab)!

    Finally, for your convienience we (or rather vlaad and tarzeau) has supplied you with two scripts (they both do the same thing) to convert a bbkeys conf-file to a fluxbox keys-file. (usage of the scripts is described in them).
    Download: converkeys or convertkeys2.

    Here is a example of a fluxbox keysfile:
        Mod1 Tab :NextWindow
        Mod1 F1 :Workspace1
        Mod1 F2 :Workspace2
        Mod1 F3 :Workspace3
        Mod1 F4 :Workspace4
        Control n Mod1 n :NextTab
    
    So, as you can see, First there is a modifier, then a key (then a modifier and key again if you wish to have a longer sequence) and finally a colon with an action.

    For list of valid keys actions read a little Further down in this document. :)

    And why this is good for you? Well, now you can master your xmms, eg.
        Mod1 P :ExecCommand xmms -p
        Mod1 F :execCommand xmms -f
    
    If you'd have some additional keys (e.g multimedia keys), you could control xmms this way:
        None XF86AudioPlay :execCommand xmms -u
        None XF86AudioStop :execCommand xmms -s
    
    I would say check xmms --help for more info, but you are doing this right now probably...


    How To Detect Key Name
    Run xev, press a key and see what it says about it.
    Here is the example after pressing the Right Arrow key:
        KeyPress event, serial 18, synthetic NO, window 0x2c00001,
        root 0x60, subw 0x0, time 3745737930, (373,380), root:(504,526),
        state 0x10, keycode 102 (keysym 0xff53, Right), same_screen YES,
        XLookupString gives 0 characters:  ""
    


  • Special Keys
        Control = Control
        Alt = Mod1
        Super, Meta (Windows Keys) = Mod4
    


  • Actions which can be assigned to the keys
    Navigation
    WorkspaceGo to a particular workspace. use :Workspace 1, :Workspace 2, etc.
    WorkspaceNNKept for compatibility only. Will dissappear soon. Example :Workspace1. Use :Workspace 1 instead.
    NextTabSwitches to the next Tab in the current group.
    PrevTabSwitches to the previous Tab in the current group.
    NextWindowGo to Next Window. See note 1.
    PrevWindowGo to previous window. Again, see note 1.
    NextWorkspaceGo to the Next Workspace
    PrevWorkspaceGo to the Previous Workspace
    LeftWorkspacesame as PrevWorkspace
    RightWorkspacesame as NextWorkspace
    Window Operations
    CloseCloses the Window
    KillWindowThe equivalent of calling xkill and clicking on the window.
    MinimizeAlso known as "iconify". Makes the window Iconified.
    ShadeWindowputs window in the 'Shaded' State, or restores from the 'shaded' state.
    StickWindowToggles a Window's 'Sticky' State.
    ToggleDecorToggles whether or not current window has a border, buttons, and titlebar.
    ToggleTabToggles the tab on or off for a window.
    RaiseBrings the window to the 'Top', it will appear 'above' windows that it overlaps.
    LowerOpposite of Raise
    Window Sizing
    HorizontalIncrementMakes the window one unit Wider (See note 2)
    HorizontalDecrementOpposite of Horizontal Increment
    VerticalIncrementMakes the window one unit Taller (See note 2)
    VerticalDecrementOpposite of Vertical Increment
    MaximizeHorizontalMaximize the window by Horizontal dimensions only.
    MaximizeVerticalMaximize the window by Vertical dimensions only.
    MaximizeWindowMaximizes the Window.
    Window Movement
    SendToWorkspaceSends current window to a specified workspace. :SendToWorkspace 1
    NudgeDownThe nudge options all move windows around.
    NudgeLeftThe nudge options all move windows around.
    NudgeRightThe nudge options all move windows around.
    NudgeUpThe nudge options all move windows around.
    BigNudgeDownThe Bignudge options all move windows around By larger amounts.
    BigNudgeLeftThe Bignudge options all move windows around By larger amounts.
    BigNudgeRightThe Bignudge options all move windows around By larger amounts.
    BigNudgeUpThe Bignudge options all move windows around By larger amounts.
    Miscellaneous
    AbortKeychainIn Multi-binding keychains, this cancels the keybinding
    ExecCommandExecutes a command. Example :ExecCommand xmms -t
    RootMenuSummons the Root Menu.


    Notes:
    1. NextWindow / PrevWindow
      The NextWindow / PrevWindow has a numerical Argument, which was best described in an Email by the author of the patch that added this functionality: (I have truncated this Email by a little bit, but you can find it in the archives.)

      
      
      Hello all,
      
      A little history...  The starting point was a patch posted by
      kitaj.no-ip.com for skipping stuck windows.  He added a global option
      that changed PrevWindow/NextWindow behavior.  I originally followed
      that strategy for supporting better cycling of tabbed window groups.
      However Rando Christensen suggested rather than creating new options
      it should be new functions.  His goal was greater flexibility.  It
      made sense to me.
      
      What I finally decided to do was parameterize NextWindow/PrevWindow.
      In the patched code these functions take an optional integer parameter
      that specifies the options listed at the top.  The options are
      implemented as an or'd bit mask:
      
          1 = Skip lower tabs (treat tabbed groups as a single window)
          2 = Skip stuck windows
          4 = Skip shaded windows
      
      Sum the above numbers to specify multiple options.  Zero provides the
      default/current behavior.  Redundantly here's the combinations:
      
          0 or unspecified = Default/current behavior - no skipping
          1 = Skip: lower tabs
          2 = Skip: stuck windows
          3 = Skip: lower tabs/stuck windows
          4 = Skip: shaded windows
          5 = Skip: lower tabs/shaded windows
          6 = Skip: stuck windows/shaded windows
          7 = Skip: lower tabs/stuck windows/shaded windows
      
      Entries in the keys file might look like this:
      
      Mod1 Tab :NextWindow 7
      Mod1 Shift Tab :PrevWindow 7
      
      It is backward compatible with old keys files that don't have
      parameters to these functions.  The default/current behavior will be
      in effect.
        
      (Note: Any rumors That I pasted that whole email rather than just the relevant bits solely because my name are in it are untrue; In reality, I was just Far Too lazy to type all that out. I've been typing on documents all day, give me a break. ;)

      However, I'd like to publically and formally thank Steve Cooper for Adding this feature, specifically the 'Skip lowered Tabs' portion of the option. I had been asking for this feature myself for at least two months before he appeared and submitted patches like crazy. :)
    2. HorizontalIncrement / HorizontalDecrement / VerticalIncrement / VerticalDecrement
      I say "one Unit" when I describe the resizing. This in particular is in regard to xterm/aterm/eterm in that instead of resizing by one pixel, they will add another character-width worth of space.

      All other programs should just resize by one pixel.



      



Got comments about the page? Send them to webmaster.
If you have general Fluxbox related questions ask them on our irc channel or mailing lists.

Show Source








Designed by aLEczapKA