When xfce4 tools are on the system anyway, it might make sense to try xfce4-panel in dwm.

This patch modifies dwm, so that it treats any window with name xfce4-panel (default) as a status bar, i.e.:


The patch has been created against dwm6.3 but will apply on 6.2 as well.



Panel Config


In dwm config.h rules, the panel should be configured to be shown on all tags and floating - see the patch.


You can inspect and set attributes in the command line via xconf-query (you could also do it via right mouse click and go to panel settings).

Here are all settings as I have it:

~ ❯ xfconf-query -c xfce4-panel -p /panels/panel-1 -lv
/panels/panel-1/autohide-behavior  0
/panels/panel-1/background-alpha   1
/panels/panel-1/background-rgba    <<UNSUPPORTED>>
/panels/panel-1/background-style   1
/panels/panel-1/disable-struts     true
/panels/panel-1/enter-opacity      100
/panels/panel-1/icon-size          0
/panels/panel-1/leave-opacity      45
/panels/panel-1/length             5
/panels/panel-1/length-adjust      true
/panels/panel-1/nrows              1
/panels/panel-1/output-name        Primary
/panels/panel-1/plugin-ids         <<UNSUPPORTED>>
/panels/panel-1/position           p=0;x=5000;y=0
/panels/panel-1/position-locked    true
/panels/panel-1/size               21
/panels/panel-1/span-monitors      false


Multi Monitor Support

I recommend using


Below is a usage example for adding your own information into the panel.

Optional: Using the genmon Applet

Most panels offer the possibility to include generic scripts output.
In xfce4-panel this is done by the panel item: "Generic Monitor" (genmon). It features output styled with pango markup and mouseover/onclick hooks.

Here are some genmon script collections:

Manual is here.

Personally I wanted to have CPU monitor, which shows the name of current high cpu eater(s) if present (next to current load by core) and on mouseover remembers the top output from the most recent high load situation in the past:


To get that, I cat the content of a file generated by this script, started in autostart.sh in the background: cpu_mon.py.