Provided by: wofi_1.2.4-1_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.

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.

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)