如何在Emacs中获取frame的名称?

3

我希望使用elisp获取当前框架的名称。 我发现name是框架属性的一部分。 属性是一个关联列表。 我执行以下操作:

```elisp (frame-parameter nil 'name) ```

这将返回当前框架的名称。

(cdr (assoc 'name (frame-parameters)))

但是我收到的不是预期的名称,而是一些名称和属性的混合列表:
#("main-1" 0 5 (face nil) 5 6 (face nil))

我该如何从中提取“main-1”?
格式要求:

我该如何从中提取“main-1”?

1个回答

2

这个字符串有文本属性。您可以使用substring-no-properties来提取纯文本字符串。

(substring-no-properties
 (cdr (assoc 'name (frame-parameters))))

请注意,您可能不需要这样做。属性化字符串仍然是一个字符串,并且与其无属性版本相等
另请参阅:C-hig (elisp)文本属性和字符串 RET

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接