bling icon indicating copy to clipboard operation
bling copied to clipboard

scratchpads not working with st terminal

Open aldevv opened this issue 2 years ago • 2 comments

I have the following code in a default awesome wm config:

local term_scratch = bling.module.scratchpad:new {
  -- command                 = "alacritty --class spad",
  command                 = "st -c spad",
  rule                    = { instance = "spad" },
  sticky                  = false,
  autoclose               = false,
  floating                = true,
  geometry                = { x = 560, y = 240, height = 600, width = 800 },
  reapply                 = true,
  dont_focus_before_close = true,
}

local scratchpads = {
  awful.key({ modkey, }, "c", function()
    term_scratch:toggle()
  end, { description = "show mai scratchz", group = "awesome" })

}

and I add it to my keybindings like this:

globalkeys = gears.table.join(
  scratchpads[1],
  awful.key({ modkey, }, "s", hotkeys_popup.show_help,
  ...

the issue is that each time I press the keybinding a new terminal is opened instead of toggling the same terminal, i tested with alacritty and is working as expected, checked with xprop and the class in st is set correctly.

aldevv avatar Jun 26 '23 20:06 aldevv

-c sets the class name of st and not the instance name. Using -c the instance name keeps being "st-256color" or whatever.

You will have to make st change its instance name or you have to change the rule to match the class attribute instead.

Nooo37 avatar Jun 30 '23 05:06 Nooo37

didn't wanna necrobump this, but for anyone with having the same issue you can set the name of the instance by passing the -n flag like this:

local spad = bling.module.scratchpad {
    command = "st -c spad -n spad",
    ...
}

vivifalls avatar Sep 28 '23 06:09 vivifalls