我正在寻找一种体面的,非蹩脚的方式来抑制xscreensaver,kscreensaver或gnome-screensaver,它们可能正在运行,最好是以屏幕保护程序无关的方式,它绝对必须快速执行.
我已经阅读了xscreensaver常见问题解答(http://www.jwz.org/xscreensaver/faq.html).
我有一个基于gtk的游戏程序,它在混合多个音频通道的同时发出30帧/秒,并且由于它是由操纵杆控制的,有时候"屏幕保护程序"会启动.我把"the"放在引号中,因为有至少三种不同的流行屏保,xscreensaver,gnome-screensaver和kscreensaver,每种都有自己独特且笨重的方法,应用程序可能通过它们来抑制它们.
是否有人封装了代码以将所有这些禁止成快速的代码块?哦,它必须与GPL兼容.
目前,如果检测到任何屏幕保护程序并且操纵杆正在使用中,我的代码只是抱怨不合作的屏幕保护程序开发人员,除了建议用户手动禁用屏幕保护程序之外,实际上并没有尝试做任何事情,这是我唯一能做的事情.我认为这样做非常难看,我只是拒绝这么做.
只是想知道是否有其他人遇到过这个,以及他们做了什么,如果他们做了什么,如果它看起来像我看起来那样丑陋,或者如果那里有一些优雅的解决方案......似乎可能以某种方式合成X事件来欺骗屏幕保护程序,以为某些活动可能以通用的方式完成,但我真的不知道该怎么做(并希望你不需要root来做它.)
有任何想法吗?
谢谢,
- 史蒂夫
嗯,不幸的是,至少在Fedora核心8上,这似乎不起作用.
xdg-screensaver脚本在那里,似乎打算工作,它实际上不起作用.
一旦你执行了"xdg-screensaver suspend window-id",其中窗口id就是从程序中获取的
xwindow_id = GDK_WINDOW_XWINDOW (GTK_WIDGET (widget)->window);
或者是否通过xprop获取窗口ID,并且手动运行xdg-screensaver,将创建两个进程:
[scameron@zuul wordwarvi]$ ps -efa | grep xdg scameron 4218 1 0 20:12 pts/2 00:00:00 /bin/sh /usr/bin/xdg-screensaver suspend 0x3a00004 scameron 4223 1 0 20:12 pts/2 00:00:00 /bin/sh /usr/bin/xdg-screensaver suspend 0x3a00004 scameron 4313 3151 0 20:15 pts/1 00:00:00 grep xdg [scameron@zuul wordwarvi]$
并且他们永远不会死,即使在他们应该等待死亡的程序之后,屏幕保护程序永远不会重新启用.
[scameron@zuul wordwarvi]$ xdg-screensaver status disabled [scameron@zuul wordwarvi]$ ls -ltr /tmp | grep …
在实现dataReceived方法时,在Twisted中,似乎没有任何示例涉及被分段的数据包.在其他所有语言中,这是你手动实现的东西,所以我只是想知道这是否已经为你做了扭曲或者什么?如果是这样,我是否需要在数据包前加上长度标题?或者我必须手动执行此操作吗?如果是这样,那将是什么方式?
与ASP.NET WebForms相比,ASP.NET MVC页面的"页面生命周期"是什么?
我试着更好地理解这个"简单"的问题,以确定我(非常)简单站点中的现有页面是否可以从ASP.NET WebForms轻松转换.
下面的过程"转换"或替代生命周期将是我正在寻找的.
我目前在做什么:
(是的,我知道任何有能力回答我的问题的人都知道这一切 - 我只是试着对'生命周期'进行比较,所以我想我会先填写我们已经知道的内容
渲染页面:
客户端(不使用ASP.NET AJAX):
那么对于MVC,这个"生命周期"如何变化?
我经常使用无法弄清楚如何使用Excel的销售和营销类型,更不用说从技术角度理解他们的请求范围了.当然,期望他们这样做是不公平的,但这仍然让我有一个问题.
什么是展示营销和销售类型的最佳方式,他们要求提供需要大量复杂编程和耐心的东西?
您能否分享问题和解决方案的例子?
你能推荐关于这个主题的书吗?
谢谢!
当我将列类型从int更改为real时,为什么SQL 2008突然想要删除我的表?据我所知,这在SQL 2005中从未发生过.任何见解都会有所帮助.
我需要将一些文件转换为PDF,然后将它们附加到电子邮件中.我正在使用Pear Mail作为它的电子邮件方面,这很好(主要是 - 仍在解决一些问题)但作为其中的一部分,我需要创建临时文件.现在我可以使用tempnam()函数,但听起来它在文件系统上创建了一个文件,这不是我想要的.
我只想在临时文件系统中使用一个名称(使用sys_get_temp_dir()),该名称不会与运行相同用户的同一脚本的其他人冲突多次调用该脚本.
建议?
我有一个简单的html块,如:
<span id="replies">8</span>
Run Code Online (Sandbox Code Playgroud)
使用jquery我试图在值(8)中添加1.
var currentValue = $("#replies").text();
var newValue = currentValue + 1;
$("replies").text(newValue);
Run Code Online (Sandbox Code Playgroud)
发生的事情是它出现如下:
81
然后
811
不是9,这将是正确的答案.我究竟做错了什么?
有人可以解释为什么这个程序输出0x00000004?
class AndAssignment
{
static void Main()
{
int a = 0x0c;
a &= 0x06;
Console.WriteLine("0x{0:x8}", a);
}
}
/*
Output:
0x00000004
*/
Run Code Online (Sandbox Code Playgroud) 我在表单中有一个iframe.iframe包含一些我希望通过Array实例传递给父表单的信息.问题:Array实例丢失了它的类型并成为一个对象!iframe功能:
function getIDS2() { return new Array(); }
Run Code Online (Sandbox Code Playgroud)
父呼叫代码:
alert(top.frames["sup_search"].getIDS2() instanceof Array);
Run Code Online (Sandbox Code Playgroud)
当然,警报的答案是错误的...所以,我可以通过这样做来解决它:
var arr = [];
for(var i =0; i < SuppliersIDs.length; i+=1) {
arr.push(SuppliersIDs[i]);
}
Run Code Online (Sandbox Code Playgroud)
其中,SuppliersID是交付的数组,arr是新的真实类型数组.但为什么这不符合我的要求呢?顺便说一下,有没有办法用jQuery访问iframe函数?
感谢帮助.
javascript ×2
jquery ×2
asp.net-mvc ×1
bookmarks ×1
c# ×1
casting ×1
column-types ×1
estimation ×1
packet ×1
php ×1
python ×1
screensaver ×1
sql-server ×1
tcp ×1
twisted ×1