我的Gnome Shell扩展程序有一个文件夹'icons',里面有一个名为'MyIcon.png'的图标文件.我想把它作为St.Icon对象的参数.
let icon = new St.Icon({ /* I need what to code here*/ });
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助.
塞尔丘克.
如何GNOME通过python程序发送通知?我曾尝试Python绑定类似pynotify,python-notify2,但都给予弹出通知这是暂时的.是否有任何python绑定在消息托盘上发出通知GNOME?
我正在尝试开发自己的GNOME扩展.我看过几篇文章:
和官方的.
使用支持JavaScript的IDE开发非常有用.它将帮助我们进行代码折叠,自动完成,轮廓等.
GNOME有自己的IDE用于开发,称为Anjuta.问题是IDE有一些缺点,比如自动完成,代码折叠等等.所以对我来说最好使用Eclipse进行开发,直到Anjuta获得这种功能.
因此,我们开始设置Eclipse以获得JavaScript支持.设置Eclipse
从您的发行版的应用商店安装Eclipse.打开Eclipse并选择您的工作区.转到"帮助"."安装新软件".选择使用"所有可用站点".搜索JavaScript.安装.而已!
我设法使用Eclipse编写我的第一个扩展,但我想启用代码完成功能.我发现这个功能对加快代码编写有很大帮助.
我假设我必须在我的JavaScript项目中设置正确的"包含路径".但我无法找到我必须添加的路径.
注意:我在Fedora 19上使用Eclipse Kepler和JavaScript开发工具.
gnome-terminal 的行为似乎在 Ubuntu 14 (v3.6?) 和 Ubuntu 18 (v3.28) 附带的版本之间发生了变化。
我有一个脚本,它打开一个新的 gnome-terminal,其中有一堆选项卡设置到不同的目录,用于我的开发,目前第一个选项卡运行一个脚本。使用选项卡打开 gnome 终端的命令如下所示:
gnome-terminal \
--tab --command="myscript.sh" \
--tab --working-directory="<some dir 1>" \
--tab --working-directory="<some dir 2>" \
...
Run Code Online (Sandbox Code Playgroud)
这在 Ubuntu 14 (v3.6?) 附带的 gnome-terminal 版本中可以完美地工作。
但是在 Ubuntu 18 (v3.28) 附带的 gnome-terminal 版本中,有几件事发生了变化:
--window选项,否则选项卡会在当前的 gnome 终端中打开,而不是新的。不幸的是,添加该--window选项会打开一个初始空白选项卡。是否可以仅使用我指定的选项卡打开一个新窗口?我现在收到以下通知(尽管它的功能和以前一样):
# Option “--command” is deprecated and might be removed in a later version of gnome-terminal.
# Use “-- ” to terminate the options and put the command line …Run Code Online (Sandbox Code Playgroud)我希望能够在Ubuntu/Gnome中按Alt + F2时出现的"运行应用程序"对话框中从我的.bashrc运行别名.
有谁知道如何做到这一点?
我在python中运行一个小程序,启动一个小窗口,需要保持在所有其他窗口之上.我相信这是特定于操作系统的,如何在使用GNOME的GNU-Linux中完成?
[ 更新 - Windows解决方案 ]
可爱,我觉得我搞定了.我在Vista 64位的Eclipse中使用Python 2.5.4和Pygame 1.9.1.因此,这适用于Windows系统.该SetWindowPos功能记录在这里.我将在我的解释中提到这一点.
进口:
from ctypes import windll
Run Code Online (Sandbox Code Playgroud)
然后我在user32中设置一个调用"SetWindowPos"的变量:
SetWindowPos = windll.user32.SetWindowPos
Run Code Online (Sandbox Code Playgroud)
现在,让我们说我刚做了一个窗口:
screen = pygame.display.set_mode((100,100), pygame.NOFRAME)
Run Code Online (Sandbox Code Playgroud)
下一行是关键.这将窗口设置在其他窗口的顶部.
SetWindowPos(pygame.display.get_wm_info()['window'], -1, x, y, 0, 0, 0x0001)
Run Code Online (Sandbox Code Playgroud)
基本上,您为hWnd(窗口句柄)提供从调用返回的窗口ID display.get_wm_info().现在该函数可以编辑刚刚初始化的窗口.
这-1是我们的hWndInsertAfter.
MSDN网站说:
通过将hWndInsertAfter参数设置为HWND_TOPMOST并确保未设置SWP_NOZORDER标志,或者通过设置Z顺序中的窗口位置使其位于任何现有的最顶层窗口之上,可以将窗口设置为最顶层窗口.当一个非最顶层的窗口最顶层时,它拥有的窗口也是最顶层的.然而,它的主人并没有改变.
因此,-1确保窗口位于任何其他现有的最顶层窗口之上,但这可能在所有情况下都不起作用.也许-2比一个-1?它目前适合我.:)
在x与y该窗口中指定的新坐标被设置.我希望窗口在SetWindowPos调用函数时保持当前位置.唉,我找不到一种方法可以轻松地将当前窗口(x,y)位置传递到函数中.我能够找到一个解决方案,但我想我不应该在这个问题中引入一个新主题.
所述0, 0,应该指定窗口的新的宽度和高度,以像素为单位.好吧,该功能已经在您的pygame.display.set_mode()函数中,所以我将它们保留为0. 0x0001忽略这些参数.
0x0001对应SWP_NOSIZE,是我唯一的uFlag.所提供的文档页面上列出了所有可用的uFlag.他们的一些十六进制表示如下:
我正在使用KDE,但我也使用了一些GTK应用程序.当这些GTK应用程序调用外部程序时,它们使用为Gnome设置的首选应用程序而不是我设置的应用程序.
一个例子是Gimp.从"帮助"菜单中,如果我从"GIMP Online"中选择任何内容,它将在默认 Web浏览器中打开信息.在KDE中,我的默认Web浏览器是Mozilla Firefox,但GTK应用程序打开Opera.
安装gnome-control-center软件包可能会解决问题,但这会引入许多不必要的依赖项.
Ubuntu 16.10中的GNOME在我的HiDPI笔记本电脑上一直很适合我.当具有HiDPI显示器的Linux用户知道时,必须使用窗口缩放因子来使机器在没有电子显微镜的情况下可用.
今天我退出了,登录到Unity桌面会话,然后回到GNOME.由于某种原因,使我的HiDPI显示器可用的所有GNOME设置似乎都消失了.这是最糟糕的部分:
我想用:
gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gdk/WindowScalingFactor': <2>}"
Run Code Online (Sandbox Code Playgroud)
但这只会产生这样的信息:
GLib-GIO-Message: Using the 'memory' GSettings backend. Your settings will not be saved or shared with other applications.
Run Code Online (Sandbox Code Playgroud)
道歉,但我对这方面的复杂性知之甚少.我很乐意提供更多信息,但我不确定它的相关性.
任何帮助都是受到赞赏的.
我在archlinux系统上使用LUKS全盘加密.当我启动我的系统时,我曾经三次输入相同的密码.这一直困扰着我.
最近我发现了如何使用登录密码解锁gnome密钥环.
现在我真的想将登录程序减少到一个密码输入.
我发现这张图似乎准确描述了我想要的东西,却找不到任何有关项目状态的图片.
有没有办法以类似的方式实现我的用例?