Skip to content

Configuration

cr3eperall edited this page Sep 2, 2024 · 3 revisions

Config structure with defaults

Note

This is just an example configuration file with comments.
You should use dynisland default-config to create the configuration file and to check for new config options.

Config(
  loaded_modules: ["all"],
  layout: "SimpleLayout",
  general_style_config: (
    minimal_height: 40, // minimum height for the activities, this is the forced height for minimal and compact mode
    minimal_width: 60, // minimum width for the activities, this is the forced width for the minimal mode
    blur_radius: 6.0, // the final blur radius when an activity transitions to another mode
    enable_drag_stretch: false, // whether to enable stretching the widgets by dragging 
  ),
  layout_configs: {
    "SimpleLayout": (
      orientation_horizontal: true, // the direction of the container: true -> horizontal, false -> vertical
      window_position: (
        layer: ("top"), // the layer shell layer: can be Background, Bottom, Top or Overlay
        h_anchor: ("center"), // the horizontal anchor: can be start, center or end, 
        v_anchor: ("Start"), // same but for the vertical anchor
        margin_x: 0, // distance from the h_anchor edge
        margin_y: 0, // distance from the v_anchor edge
        exclusive_zone: -1, // reserve space for this bar, set to -1 to put it on top of other bars
        monitor: "DP-1", // monitor name (for example "DP-1" or "HDMI-A-1")
        layer_shell: true, // whether to use a regular window or a layer shell, this is mostly for debugging
      ),
      auto_minimize_timeout: 5000, // when the mouse leaves the activity in expanded or overlay mode, after this timeout it will be put back to compact mode, set to -1 to disable
      windows: { // a default window is always created with the default config values defined above
        "left_monitor": (
          window_position: (
            monitor: "HDMI-A-1",
            h_anchor: ("start"),
          ),
        ),
      },
    ),
  },
  module_config: { // per module config key-value pair, see the module page for the config options
    // Example
    "ClockModule": (
      format_24h: true, // default value
      hour_hand_color: "white", // default value
      minute_hand_color: "white", // default value
      tick_color: "lightgray", // default value
      circle_color: "lightgray", // default value
      windows: {
        "": [
          ( // every value except `circle_color` will be as defined in the default values above
            circle_color: "orange",
          ),
        ],
        "left_monitor": [
          (// every value except `format_24h` will be as defined in the default values above
            format_24h: false,
          ),
        ],
      },
   ),
  },
  debug: None, // debug options, see src/config.rs for options
)
Clone this wiki locally