Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 更改eclipse窗口';姓名_Python_Eclipse_Pydev_Title_Titlebar - Fatal编程技术网

Python 更改eclipse窗口';姓名

Python 更改eclipse窗口';姓名,python,eclipse,pydev,title,titlebar,Python,Eclipse,Pydev,Title,Titlebar,我正在做一个项目,我有一个eclipse工作区。但是,此工作区中有三个文件夹,每个文件夹都有相似的文件名。 与这三个文件夹相对应,我打开了三个eclipse窗口,分别显示每个文件夹中的文件 但是,由于文件名相似,而且所有窗口中的文件顺序都相同,因此我无法立即判断当前查看的是哪个文件夹的窗口。从技术上讲,这可以通过查看标题栏来实现,如以下屏幕截图所示: 但使用该标识符是次优的,因为我必须在该字符串的中间搜索文件夹名。 如果我能为窗口的标题写一个专用字符串,这将有助于我识别文件夹,该文件夹的文件包

我正在做一个项目,我有一个eclipse工作区。但是,此工作区中有三个文件夹,每个文件夹都有相似的文件名。
与这三个文件夹相对应,我打开了三个eclipse窗口,分别显示每个文件夹中的文件

但是,由于文件名相似,而且所有窗口中的文件顺序都相同,因此我无法立即判断当前查看的是哪个文件夹的窗口。从技术上讲,这可以通过查看标题栏来实现,如以下屏幕截图所示:

但使用该标识符是次优的,因为我必须在该字符串的中间搜索文件夹名。 如果我能为窗口的标题写一个专用字符串,这将有助于我识别文件夹,该文件夹的文件包含在该窗口中,这将是更好的选择

我知道我可以在窗口中设置自定义的“工作区”标识字符串,但由于这是在工作区级别,设置该字符串会影响所有三个窗口,因此在窗口级别不起作用

设置这样的字符串可能吗?我如何才能做到这一点

技术规格

  • 日食朱诺
  • Mac OS X 10.7.5(Lion)
  • 我假设(可能是错误的)您使用的是X Windows系统计算机(基于问题标题栏中显示的路径)。如果是这样,您的窗口管理器应该具有更改窗口标题的机制

    下面说明了一个稍微笨拙的方法,如果您没有找到一个好的特定于窗口管理器的路由,它可能会起作用

    tini ~ > wmctrl -l |grep Eclipse
    0x06400080  1 tini Java - Eclipse
    0x06401d89  1 tini Java - Eclipse 
    
    tini ~ > wmctrl -ir 0x06400080 -N 'oneForEach'
    
    tini ~ > wmctrl -l |grep 0x0640
    0x06400080  1 tini oneForEach
    0x06401d89  1 tini Java - Eclipse 
    
    请注意,“wmctrl是一个UNIX/Linux命令行工具,用于与EWMH/NetWM兼容的X窗口管理器进行交互”,如和中所述。几个linux发行版的包管理器都可以安装它


    wmctrl-l
    列出所有托管窗口
    wmctrl-ir 0x06400080-N'oneForEach'
    更改由指定的十六进制数标识的窗口的长名称(在窗口标题栏中)。

    我认为eclipse没有任何现成的方法可以帮助您。可能需要一个eclipse插件以这种方式定制工作台窗口标题。一种解决方案是编写一个完全符合您需要的文档,其中包括抓取各种工作台窗口外壳,并根据您自己的需要将文本设置为您需要的任何标题

    不过,为您编写一个新的Eclipse插件可能会成为重量级人物。一种选择是在Eclipse环境中安装脚本环境。我看了,但我不认为它会让您访问WorkbenchWindow对象,您需要获取活动shell来更改标题。您需要的是更像Eclipse Monkey的东西。但是,它已停止使用。也许。通过这种方式,您可以编写一个groovy脚本,在Eclipse运行后可以执行该脚本,并且它可以为您修改标题以及更多内容

    使用groovy monkey,您需要执行的脚本是:

    window.getShell().setText( 'Custom shell text' )
    
    更新我再次查看了一条评论,这是您需要的,而且非常简单

  • 从中安装EclipseScript
  • 创建一个新文件,如
    customWindowTitles.eclipse.js
  • 添加如下行:
    Packages.org.eclipse.ui.PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell().setText('Foo')
  • 如果您在windows上,请使用
    Alt+R
    执行脚本

  • 这个问题没有被那个链接回答吗?@jwpat7:我的问题没有被那个链接回答。我需要特定于窗口的标题,而不是特定于工作区的标题。我刚刚试过这个。我在Mac OS X 10.7.5(Lion)上,刚刚通过macports安装了
    wmctrl
    。遗憾的是,
    wmctrl-l
    没有给出任何结果,所以我无法grepanything@inspectorG4dget真倒霉我建议继续询问有关更改窗口标题的问题。我简单地看了一下,但没有看到任何相关的东西。顺便说一句,
    wmctrl-m
    显示了什么吗?谢谢你的apple.SE记录。来自
    wmctrl-m
    Name:N/A\\Class:N/A\\PID:N/A\\Window manager的“显示桌面”模式:N/A
    使用EclipseScript实际上是可能的-只需使用一行代码:“Packages.org.eclipse.ui.PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell().setText(“自定义标题”);“感谢您的关注,我会尝试一下,并相应地更新我的答案。