Provided by: wofi_1.4.1-1build2_amd64 bug

NAME

       wofi - Built in modes and other features

DESCRIPTION

       Wofi  contains  several  built  in  modes  as  well  as a lot of other features including combi which are
       documented here.

       The config options documented here are stripped of mode names. Mode specific config options are placed in
       the  config  file in the format mode-example_opt=val. For example dmenu has an option called parse_action
       which would be placed in the config as dmenu-parse_action=true.

MODES

       Currently wofi has 3 built in modes

       1.  run - searches $PATH for executables and allows them to be run by selecting them.

       2.  drun - searches $XDG_DATA_HOME/applications and $XDG_DATA_DIRS/applications  for  desktop  files  and
           allows them to be run by selecting them.

       3.  dmenu - reads from stdin and displays options which when selected will be output to stdout.

       In  the  event  $XDG_DATA_HOME  is  not specified it defaults to ~/.local/share. If $XDG_DATA_DIRS is not
       specified it defaults to /usr/local/share:/usr/share.

       Combi  is  not  a  mode  however  it  does  exist  as  a  feature.  You  can  use  it  by  doing   --show
       mode1,mode2,mode3,etc.  You  can  mix  and match any number of modes however each mode can only be loaded
       once so doing something like --show run,drun,run is not supported although I'm not sure why you'd do that
       in the first place.

DMENU CONFIG OPTIONS

       parse_action=BOOL
              If  true the result returned by dmenu will be stripped of image escape sequences and pango markup,
              default is false.

       separator=CHAR
              The character used to separate dmenu entries, default is \n.

       print_line_num=BOOL
              When an entry is selected the number of the line the entry was on is printed instead of the  entry
              itself. This disables caching as it's fundamentally incompatible with it.

RUN

       In  run  mode  holding  ctrl  while  running  an  entry  will  cause  arguments  to  be  parsed  even  if
       always_parse_args=false. Holding shift will cause the entry to be run in a terminal.

RUN CONFIG OPTIONS

       always_parse_args=BOOL
              If true spaces will not be treated as part of the  executable  name  but  rather  as  an  argument
              separator equivalent to holding control while pressing enter, default is false.

       show_all=BOOL
              If  true shows all the entries in path, this will show entries that have the same executable name,
              for example /bin/bash and /usr/bin/bash will be shown separately as bash  instead  of  having  one
              bash entry for the first one encountered, default is true.

       print_command=BOOL
              If  true  the  executable  that  would  be  run will be printed to stdout instead of executing it,
              default is false.

DRUN CONFIG OPTIONS

       print_command=BOOL
              If true the command used to launch the desktop file will be printed to stdout instead of  invoking
              it, default is false.

       display_generic=BOOL
              If true then generic names will be displayed in () next to the application name, default is false.

       disable_prime=BOOL
              If  true  then  wofi  will  ignore  the  PrefersNonDefaultGPU  desktop variable, specifically this
              prevents wofi from setting DRI_PRIME, default is false.

       print_desktop_file=BOOL
              If true the path to the desktop file and the name of the corresponding action(if present) will  be
              printed to stdout instead of invoking it, default is false.

DRUN

       When images are enabled drun mode will pull icon themes however being a GTK app it's possible you'll need
       to run gtk-update-icon-cache to get them to apply.

LOCATIONS

       There are 9 possible locations which can be specified either by name or by number, the number  scheme  is
       the  same  as  in  rofi  and  the  corresponding number is listed next to the names below, the default is
       center.

       1.  center 0

       2.  top_left 1

       3.  top 2

       4.  top_right 3

       5.  right 4

       6.  bottom_right 5

       7.  bottom 6

       8.  bottom_left 7

       9.  left 8

       The x and y offsets are applied based on layer-shell anchors which means an x offset can only be  applied
       if wofi is anchored on the x axis, i.e. you can only use an x offset with the top_left, top_right, right,
       bottom_right, bottom_left, and left locations. center, top, and bottom can't have x  offsets  as  they're
       not  anchored  on  the  x  axis.  Likewise  y  offsets  can  only be applied to top_left, top, top_right,
       bottom_right, bottom, and bottom_left locations. center, left, and right can't  have  y  offsets  because
       they're not anchored to the y axis. Since center can't have offsets on either as it's not anchored to any
       axis any x or y offset applied while using center will override the location to  top_left  for  backwards
       compatibility reasons seeing as not doing so would simply ignore the offsets anyway.

ORDER

       There are 2 order options currently, default and alphabetical. Default means the entries are displayed in
       the order they are added by the mode, for all built in modes this is  cached  items  first,  followed  by
       other  entries  in  no  specific  order. Alphabetical means entries are alphabetical sorted period. These
       orders only affect the order when no search has been entered. Once a search is entered the order  is  re-
       arranged based on the current matching preference and this order is ignored.

CACHING

       Caching cannot be disabled however the cache file can be set to /dev/null to effectively disable it.

WINDOW SWITCHER

       Wofi  does  not  have  the  ability  to do window switching on its own as there is no way to do this with
       wayland/wlroots protocols however if you're using sway you can use swaymsg with dmenu mode to  accomplish
       it.  The following script can be used to do window switching:

       swaymsg -t get_tree |
         jq  -r  '.nodes[].nodes[]  |  if  .nodes then [recurse(.nodes[])] else [] end + .floating_nodes | .[] |
       select(.nodes==[]) | ((.id | tostring) + " " + .name)' |
         wofi --show dmenu | {
           read -r id name
           swaymsg "[con_id=$id]" focus
       }

WIDGET LAYOUT

       This section is for advanced CSS which needs more control than the built in wofi CSS names/classes  allow
       for.  This widget layout is subject to change at any time and without warning so your CSS might very well
       break if you rely on this. Widgets have their corresponding names next to them if they have one.

       window - #window
           box - #outer-box
               entry - #input

               scrolledwindow - #scroll
                   viewport
                       box
                           flowbox - #inner-box
                               flowboxchild - #entry

                                   .entry - #unselected or #selected
                                   This only exists if there's ONLY 1 action. This is  a  WofiPropertyBox  which
                                   has  no  CSS  node  and should probably not be used, the name is dependent on
                                   whether  or  not  the  entry  is  selected.  See  wofi(5)  on  #selected  and
                                   #unselected for info.

                                       image
                                       This  is only present if an image is present in the entry and might occur
                                       multiple times if multiple images are present.

                                       label
                                       This is only present if text is present in  the  entry  and  might  occur
                                       multiple times if there are multiple text objects in a single entry.

                                   expander
                                   This and its children only exist if there are multiple actions on the entry

                                       .entry - #unselected or #selected
                                       The  main  action.  This  is  a WofiPropertyBox which has no CSS node and
                                       should probably not be used, the name is dependent on whether or not  the
                                       entry is selected. See wofi(5) on #selected and #unselected for info.

                                           image
                                           This  is  only  present if an image is present in the entry and might
                                           occur multiple times if multiple images are present.

                                           label
                                           This is only present if text is present in the entry and might  occur
                                           multiple times if there are multiple text objects in a single entry.

                                       list
                                       This contains all the secondary actions
                                           row - #entry
                                               .entry - #unselected or #selected
                                               This  is  a  WofiPropertyBox  which  has  no  CSS node and should
                                               probably not be used, the name is dependent on whether or not the
                                               entry  is  selected. See wofi(5) on #selected and #unselected for
                                               info.

                                                   image
                                                   This is only present if an image is present in the entry  and
                                                   might occur multiple times if multiple images are present.

                                                   label
                                                   This  is  only  present  if  text is present in the entry and
                                                   might occur multiple times if there are multiple text objects
                                                   in a single entry.
                   scrollbar

                                                                                                         wofi(7)