小编Bad*_*ptr的帖子

使用动态菜单添加按钮到emacs的模式行?

我正在为emacs制作自己的次要模式.现在我想添加按钮到modeline.必须单击此按钮才会出现弹出菜单.此菜单的项目取决于用户的操作.我知道有一种方法可以使用`minor-mode-alist'向modeline添加一个功能按钮,但我不知道如何制作动态菜单.

emacs elisp modeline

8
推荐指数
2
解决办法
883
查看次数

xprop设置atom属性的多个字段

我搜索了互联网,找到了只设置一个属性字段的示例:

xprop -id "$windowid" -f _NET_WM_STATE 32a -set _NET_WM_STATE _NET_WM_STATE_ABOVE 
Run Code Online (Sandbox Code Playgroud)

但是如何设置多个字段?我试过了:

xprop -id "$windowid" -f _NET_WM_STATE 32a -set _NET_WM_STATE '_NET_WM_STATE_ABOVE, _NET_WM_STATE_SKIP_TASKBAR'
Run Code Online (Sandbox Code Playgroud)

xprop -id "$windowid" -f _NET_WM_STATE 32aa -set _NET_WM_STATE _NET_WM_STATE_ABOVE,_NET_WM_STATE_SKIP_TASKBAR
Run Code Online (Sandbox Code Playgroud)

和许多其他变种没有运气.可能吗 ?:)


好....

我为xprop编写了一个修补程序来解决这个问题,并且它有效,但不知道它是否正确.
感谢@MichałGórny.
(xprop.c,v 1.6)

--- xprop.c 2012-07-31 11:24:01.178117974 +0400
+++ xprop.mod   2012-07-31 11:23:19.434784430 +0400
@@ -1487,11 +1487,20 @@
    break;
       }
       case 'a': {
-   static Atom avalue;
-   avalue = Parse_Atom(value, False);
-   type = XA_ATOM;
-   data = (unsigned char *) &avalue;
-   nelements = …
Run Code Online (Sandbox Code Playgroud)

linux x11 xorg

6
推荐指数
1
解决办法
2279
查看次数

select的奇怪行为(不允许其他goroutines运行)

我正在尝试使用https://github.com/klkblake/Go-SDL编写SDL应用程序.
我创建了计时器来调用draw函数:

render_timer := time.NewTicker(time.Second / 60)
Run Code Online (Sandbox Code Playgroud)

事件循环中的某个地方:

for running == true {
    [...]
    [process sdl events]
    [...]
    select {
    case <-render_timer.C:
        call_my_draw_function()
    default:
        some_default_actions()
    }
    [...]
}
Run Code Online (Sandbox Code Playgroud)

如果我在编译此代码后运行程序,则屏幕上不会显示任何内容.但如果我只是放置:

fmt.Println("default")
Run Code Online (Sandbox Code Playgroud)

select默认分支中- 代码开始按照我想要的方式工作(在窗口中绘制内容); 如果我删除println它再次不绘制任何东西. 我究竟做错了什么?为什么选择这种行为?


嗯...最简单的测试用例是:

package main

import (
"fmt"
"time"
)

func main() {

    rt := time.NewTicker(time.Second / 60)
    for {
        select {
        case <-rt.C:
            fmt.Println("time")
        default:
        }
    time.Sleep(1) // without this line 'case <-rt.C' is never executed
    }
}
Run Code Online (Sandbox Code Playgroud)

go

4
推荐指数
2
解决办法
354
查看次数

标签 统计

elisp ×1

emacs ×1

go ×1

linux ×1

modeline ×1

x11 ×1

xorg ×1