#
# This is the default wmfs config file, copy it to
# ~/.config/wmfs/wmfsrc and edit it.
#

# Include file to split configuration
# @include "~/.config/wmfs/menu-wmfsrc"

[misc]
        font               = "dejavu-10"
        raisefocus         = false
        focus_follow_mouse = true
        # focus_pointer_click: click on unfocused client area:
        # true  -- default, set focus
        # false -- click go to client; including dockapps
        focus_pointer_click = true
        status_timing      = 1     #seconds
[/misc]

[bar]
        bg     = "#191919"
        fg     = "#D4D4D4"
        border = true
        # selbar = false   #not worked now, see section [selbar]

        [systray]
                # Enable/disable systray
                active = true

                # Screen of systray
                screen = 0

                # Spacing between tray icons
                spacing = 3
        [/systray]

        # Remove this section to disable the selbar.
        [selbar]
                bg = "#191919"
                fg = "#D4D4ff"

                # Cut title length
                # max_length = 25

                [mouse] button = "3" func = "clientlist"  [/mouse]
                [mouse] button = "4" func = "client_next" [/mouse]
                [mouse] button = "5" func = "client_prev" [/mouse]
        [/selbar]

[/bar]

[layouts]
        fg = "#191919"
        bg = "#7E89A2"

        # Border around the layout button.
        border = true

        # Value menu or switch.
        system = "menu"

        # Value left or right.
        placement = "right"

        # Keep layout geo for free layout
        keep_layout_geo = false

        # Symbol displayed for the selected layout in the list
        selected_layout_symbol = "*"

        # Width of layout button
        # layout_button_width = x

        # Tiling layouts.
        [layout] type = "tile_right"         symbol = "RIGHT"    [/layout]
        [layout] type = "tile_left"          symbol = "LEFT"     [/layout]
        [layout] type = "tile_top"           symbol = "TOP"      [/layout]
        [layout] type = "tile_bottom"        symbol = "BOTTOM"   [/layout]
        [layout] type = "tile_grid"          symbol = "GRID_H"   [/layout]
        [layout] type = "tile_grid_vertical" symbol = "GRID_V"   [/layout]
        [layout] type = "mirror_vertical"    symbol = "MIRROR_V" [/layout]
        [layout] type = "mirror_horizontal"  symbol = "MIRROR_H" [/layout]

        # Other layouts.
        [layout] type = "max"   symbol = "MAX"  [/layout]
        [layout] type = "free"  symbol = "FREE" [/layout]

[/layouts]

[tags]
        [default_tag]
             name             = "new tag"
             mwfact           = 0.5
             nmaster          = 1
             layout           = "tile_right"
             resizehint       = false
             infobar_position = "top"
        [/default_tag]

        tag_round      = false
        occupied_bg    = "#003366"
        occupied_fg    = "#D4D4D4"
        sel_fg         = "#191919"
        sel_bg         = "#7E89A2"
        urgent_bg      = "#DD1111"
        urgent_fg      = "#000000"
        # If true, number of the tag will be used for name
        name_count     = false
        #default_name   = "new tag" # deprecated, use [default_tag] instead
        #default_layout = "tile_right" # deprecated, use [default_tag] instead

        # Border around the tag buttons.
        border      = true

        # Hide empty tags in tag list
        autohide    = false

        # Mouse buttons action on tag.
        mouse_button_tag_sel       = "1"
        mouse_button_tag_transfert = "2"
        mouse_button_tag_add       = "3"
        mouse_button_tag_next      = "4"
        mouse_button_tag_prev      = "5"

        [tag]
                name             = "one"
                screen           = 0
                mwfact           = 0.65
                nmaster          = 1
                layout           = "tile_right"
                resizehint       = false
                infobar_position = "top"

                #[mouse] [/mouse] Possible multi mouse section
        [/tag]

        # clients option is *DEPRECATED* but works, see [rules] section
        [tag] name = "two"  clients = {"Browser"} [/tag]
        [tag] name = "three" [/tag]
        [tag] name = "four"  [/tag]
        [tag] name = "five"  [/tag]
        [tag] name = "six"   [/tag]
        [tag] name = "seven" [/tag]
        [tag] name = "eight" [/tag]
        [tag] name = "nine"  [/tag]
[/tags]

[root]
       # Command you can execute to set the background.
        background_command = "xsetroot -solid black"

        [mouse] button = "4" func = "tag_next"              [/mouse]
        [mouse] button = "5" func = "tag_prev"              [/mouse]
        [mouse] button = "3" func = "menu" cmd = "rootmenu" [/mouse]
[/root]

[client]
        client_round         = true
        border_height        = 3
        border_shadow        = true
        border_normal        = "#191919"
        border_focus         = "#003366"
        resize_corner_normal = "#191919"
        resize_corner_focus  = "#003366"

        # Space between tiled clients
        padding = 0

        # Modifier for mouse use
        modifier = "Alt"

        # *DEPRECATED* but works, see [rules] section
        # Set automatic free or max client
        # autofree = "xterm|MPlayer"
        # automax  = "Navigator"

        [mouse] button = "1" func = "client_raise" [/mouse]
        [mouse] button = "1" func = "mouse_move"   [/mouse]
        [mouse] button = "3" func = "client_raise" [/mouse]
        [mouse] button = "3" func = "mouse_resize" [/mouse]

        # Remove this section to delete the titlebar.
        [titlebar]
                stipple   = false
                height    = 12
                fg_normal = "#7E89A2"
                fg_focus  = "#9F9AB3"

                [mouse] button = "1" func = "client_raise" [/mouse]
                [mouse] button = "1" func = "mouse_move"   [/mouse]
                [mouse] button = "3" func = "client_raise" [/mouse]
                [mouse] button = "3" func = "mouse_resize" [/mouse]

                [button]
                        # Available "free", "max", "tile" flags of button.
                        flags = "free,max,tile"
                        [mouse] button = "1" func = "client_kill"             [/mouse]
                        [mouse] button = "3" func = "menu" cmd = "clientmenu" [/mouse]

                        [line] coord = {1, 1, 4, 1} [/line]
                        [line] coord = {1, 1, 1, 4} [/line]
                        [line] coord = {1, 4, 4, 4} [/line]
                [/button]
        [/titlebar]
[/client]

[rules]
       # Example of rule for Mplayer
       [rule]
               instance = "xv"       # First part of WM_CLASS
               class    = "MPlayer"  # Seconf part of WM_CLASS, not needed if first part is correct
               # role = ""           # WM_WINDOW_ROLE
               screen   = 0          # Screen to use
               tag      = 2          # Tag number of apps
               free     = true       # Set automatic free client
               max      = false      # Set automatic maximized client
       [/rule]
[/rules]

[menu]
        # Default menu, binded on the root window, button 3.
        [set_menu]
                name = "rootmenu"

                # place_at_mouse = false
                # x = 40 y = 50

                # Available "center", "left", "right" menu align. Default: "center".
                align = "left"

                fg_focus  = "#191919" bg_focus  = "#7E89A2"
                fg_normal = "#9F9AB3" bg_normal = "#191919"

                [item] name = "Terminal"        func = "spawn" cmd = "urxvt || xterm || gnome-terminal" [/item]
                [item] name = "Applications" submenu = "appmenu"                   [/item]
                [item] name = "Next tag"        func = "tag_next"                  [/item]
                [item] name = "Previous tag"    func = "tag_prev"                  [/item]
                [item] name = "Next layout"     func = "layout_next"               [/item]
                [item] name = "Previous layout" func = "layout_prev"               [/item]
                [item] name = "Toggle infobar"  func = "toggle_infobar_position"   [/item]
                [item] name = "Quit WMFS"       func = "quit"                      [/item]
        [/set_menu]

        [set_menu]
                name = "appmenu"
                align = "left"

                fg_focus  = "#191919" bg_focus  = "#7E89A2"
                fg_normal = "#9F9AB3" bg_normal = "#191919"

                [item] name = "Browser"         func = "spawn" cmd = "firefox"     [/item]
                [item] name = "Calculator"      func = "spawn" cmd = "xcalc"       [/item]
        [/set_menu]

        [set_menu]
                name = "clientmenu"

                fg_focus  = "#D4D4D4" bg_focus  = "#003366"
                fg_normal = "#D4D4D4" bg_normal = "#191919"

                # Check items: possible 'check_max' or 'check_free'.
                [item] name = "Close"    func = "client_kill"                      [/item]
                [item] name = "Maximize" func = "toggle_max"  check = "check_max"  [/item]
                [item] name = "Free"     func = "toggle_free" check = "check_free" [/item]
        [/set_menu]
[/menu]

[launcher]
        [set_launcher]
                name = "launcher_exec"
                prompt = "Exec: "
                command = "exec"
        [/set_launcher]

        #ViWMFS : manage wmfs with vi-based command.
        [set_launcher]
                name = "viwmfs"
                prompt = "> "
                command = "wmfs -V"
        [/set_launcher]
[/launcher]

[keys]
         # Reload the configuration of wmfs.
        [key] mod = {"Alt", "Control"} key = "r" func = "reload" [/key]

        # Open a terminal.
        [key] mod = {"Control"} key = "Return" func = "spawn" cmd = "xterm" [/key]

        # Kill the selected client.
        [key] mod = {"Alt"} key = "q" func = "client_kill" [/key]

        # Quit wmfs.
        [key] mod = {"Control", "Alt", "Shift"} key = "q" func = "quit" [/key]

        # Swap current client with the next.
        [key] mod = {"Alt"} key = "t" func = "client_swap_next" [/key]

        # Swap current client with the previous.
        [key] mod = {"Alt", "Shift"} key = "t" func = "client_swap_prev" [/key]

        # Toggle maximum the selected client
        [key] mod = {"Alt"} key = "m" func = "toggle_max" [/key]

        # Toggle free the selected client.
        [key] mod = {"Alt"} key = "f" func = "toggle_free" [/key]

        # Toggle the position of the infobar.
        [key] mod = {"Alt"} key = "b" func = "toggle_infobar_position" [/key]

        # Toggle the resizehint of the current tag/screen
        [key] mod = {"Shift", "Control"} key = "r" func = "toggle_resizehint" [/key]

        # Toggle the tag_autohide mode
        [key] mod = {"Shift", "Control"} key = "t" func = "toggle_tagautohide" [/key]

        # Select the next client.
        [key] mod = {"Alt"} key = "Tab" func = "client_next" [/key]

        # Select the previous client.
        [key] mod = {"Alt","Shift"} key = "Tab" func = "client_prev" [/key]

        # Select the next tag.
        [key] mod = {"Control"} key = "Right" func = "tag_next" [/key]

        # Select the previous tag.
        [key] mod = {"Control"} key = "Left" func = "tag_prev" [/key]

        # Select the next visible tag.
        [key] mod = {"Control","Alt"} key = "Right" func = "tag_next_visible" [/key]

        # Select the previous visible tag.
        [key] mod = {"Control","Alt"} key = "Left" func = "tag_prev_visible" [/key]

        # Set the next layout.
        [key] mod = {"Alt"} key = "space" func = "layout_next" [/key]

        # Set the previous layout.
        [key] mod = {"Alt", "Shift"} key = "space" func = "layout_prev" [/key]

        # Increase mwfact.
        [key] mod = {"Alt"} key = "l" func = "set_mwfact" cmd = "+0.025" [/key]

        # Decrease mwfact.
        [key] mod = {"Alt"} key = "h" func = "set_mwfact" cmd = "-0.025" [/key]

        # Increase nmaster.
        [key] mod = {"Alt"} key = "d" func = "set_nmaster" cmd = "+1" [/key]

        # Decease nmaster.
        [key] mod = {"Alt", "Shift"} key = "d" func = "set_nmaster" cmd = "-1" [/key]

        #Launcher.
        [key] mod = {"Alt"} key = "p" func = "launcher" cmd = "launcher_exec" [/key]

        #ViWMFS
        [key] mod = {"Alt"} key = "Escape" func = "launcher" cmd = "viwmfs" [/key]

        # Set the tag x.
        [key] mod = {"Alt"} key = "F1" func = "tag" cmd = "1" [/key]
        [key] mod = {"Alt"} key = "F2" func = "tag" cmd = "2" [/key]
        [key] mod = {"Alt"} key = "F3" func = "tag" cmd = "3" [/key]
        [key] mod = {"Alt"} key = "F4" func = "tag" cmd = "4" [/key]
        [key] mod = {"Alt"} key = "F5" func = "tag" cmd = "5" [/key]
        [key] mod = {"Alt"} key = "F6" func = "tag" cmd = "6" [/key]
        [key] mod = {"Alt"} key = "F7" func = "tag" cmd = "7" [/key]
        [key] mod = {"Alt"} key = "F8" func = "tag" cmd = "8" [/key]
        [key] mod = {"Alt"} key = "F9" func = "tag" cmd = "9" [/key]

        # Transfert selected client to x.
        [key] mod = {"Alt", "Shift"} key = "F1" func = "tag_transfert" cmd ="1" [/key]
        [key] mod = {"Alt", "Shift"} key = "F2" func = "tag_transfert" cmd ="2" [/key]
        [key] mod = {"Alt", "Shift"} key = "F3" func = "tag_transfert" cmd ="3" [/key]
        [key] mod = {"Alt", "Shift"} key = "F4" func = "tag_transfert" cmd ="4" [/key]
        [key] mod = {"Alt", "Shift"} key = "F5" func = "tag_transfert" cmd ="5" [/key]
        [key] mod = {"Alt", "Shift"} key = "F6" func = "tag_transfert" cmd ="6" [/key]
        [key] mod = {"Alt", "Shift"} key = "F7" func = "tag_transfert" cmd ="7" [/key]
        [key] mod = {"Alt", "Shift"} key = "F8" func = "tag_transfert" cmd ="8" [/key]
        [key] mod = {"Alt", "Shift"} key = "F9" func = "tag_transfert" cmd ="9" [/key]

        # Toggle additional tags (x) on the current tag
        [key] mod = {"Alt", "Super"} key = "F1" func = "tag_toggle_additional" cmd ="1" [/key]
        [key] mod = {"Alt", "Super"} key = "F2" func = "tag_toggle_additional" cmd ="2" [/key]
        [key] mod = {"Alt", "Super"} key = "F3" func = "tag_toggle_additional" cmd ="3" [/key]
        [key] mod = {"Alt", "Super"} key = "F4" func = "tag_toggle_additional" cmd ="4" [/key]
        [key] mod = {"Alt", "Super"} key = "F5" func = "tag_toggle_additional" cmd ="5" [/key]
        [key] mod = {"Alt", "Super"} key = "F6" func = "tag_toggle_additional" cmd ="6" [/key]
        [key] mod = {"Alt", "Super"} key = "F7" func = "tag_toggle_additional" cmd ="7" [/key]
        [key] mod = {"Alt", "Super"} key = "F8" func = "tag_toggle_additional" cmd ="8" [/key]
        [key] mod = {"Alt", "Super"} key = "F9" func = "tag_toggle_additional" cmd ="9" [/key]

[/keys]


