AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 20399
Accepted
Xiè Jìléi
Xiè Jìléi
Asked: 2011-01-07 17:24:45 +0800 CST2011-01-07 17:24:45 +0800 CST 2011-01-07 17:24:45 +0800 CST

登录时位于中央工作区的位置

  • 772

我已经设置了 3x3 工作区切换器,并且我希望我的位置默认位于中央位置。可能吗?

compiz
  • 5 5 个回答
  • 912 Views

5 个回答

  • Voted
  1. Best Answer
    Xiè Jìléi
    2011-01-08T00:42:22+08:002011-01-08T00:42:22+08:00

    感谢 Marco,我找到了一种使用wmctrl.

    因为compiz工作空间实际上是单个桌面的视口,所以解决方法是移动当前视口覆盖桌面的中心区域。

    首先调用wmctrl -d获取当前桌面的信息:

    read desktop_id _ast \
        DG_ geometry \
        VP_ viewport \
        WA_ wa_off wa_size \
        title \
        < <(LANG=C wmctrl -d | grep '*')
    
    geom_w=${geometry%x*}
    geom_h=${geometry#*x}
    
    # The workarea size isn't accurate, because the top/bottom panel is excluded. 
    viewport_w=${wa_size%x*}
    viewport_h=${wa_size#*x}
    
    rows=$((geom_w / viewport_w))
    cols=$((geom_h / viewport_h))
    
    # Fix the viewport size
    viewport_w=$((geom_w / rows))
    viewport_h=$((geom_h / cols))
    

    然后,计算中心视口的原点:

    center_row=$((rows / 2))
    center_col=$((cols / 2))
    
    center_x=$((center_col * viewport_w))
    center_y=$((center_row * viewport_h))
    
    center_viewport=$center_x,$center_y
    

    并将视口移到那里:

    wmctrl -o $center_viewport
    
    • 7
  2. Chipaca
    2011-01-07T20:02:12+08:002011-01-07T20:02:12+08:00

    是:安装wmctrl

    sudo apt-get install wmctrl
    

    并使用以下内容创建一个文件~/.config/autostart/wmctrl.desktop:

    [Desktop Entry]
    Name=Desktop Switcher
    Exec=/usr/bin/wmctrl -s 4
    Type=Application
    
    • 6
  3. Isaiah
    2011-01-07T20:34:10+08:002011-01-07T20:34:10+08:00
    1. 首先下载这个用于从命令行控制 compiz 的帮助脚本。替代文字将其保存compiz-send.py在您的主文件夹中。
    2. 运行命令python compiz-send.py vpswitch switch_to_5_key以确保它正常工作。它应该将您切换到中心工作区。
    3. 如果可行,.switch_to_center_workspace.sh请在您的主文件夹中创建一个名为的文件并将以下内容粘贴到其中:

      #!/bin/bash
      sleep 5 && python /home/user/compiz-send.py vpswitch switch_to_5_key
      

      替换user为您的用户名。

    4. 打开启动应用程序,系统 -> 首选项 -> 启动应用程序。

    5. 单击Add并在Command: entry put/home/user/.switch_to_center_workspace.sh中。在Name:和Comment:条目中输入您想要的任何内容。

    6. 注销并重新登录并验证它是否有效。

    • 2
  4. wik
    2011-02-21T01:21:37+08:002011-02-21T01:21:37+08:00

    我打算问类似的问题,但是对于 3 个水平工作区,我也在运行 compiz,wmctrl -d输出(每个工作区)如下所示:

    • 在工作区 1:0 * DG: 4098x768 VP: 0,0 WA: 0,24 1366x744 Workspace 1
    • 在工作区 2:0 * DG: 4098x768 VP: 1366,0 WA: 0,24 1366x744 Workspace 1
    • 在工作区 3:0 * DG: 4098x768 VP: 2732,0 WA: 0,24 1366x744 Workspace 1

    比我简单地使用wmctrl -o 1366,0(VP值)在启动时将中心作为我的默认工作区。可能不适合所有人,但以防万一;)

    • 2
  5. sdaau
    2011-03-28T09:58:01+08:002011-03-28T09:58:01+08:00

    只是一个简短的说明 - 我正在使用 Natty,感谢@谢继雷的回答,我注意到通过在 Unity 中的四个“工作区”中移动终端来报告以下内容:

    $ wmctrl -d
    # top left
    0  * DG: 2048x1200  VP: 0,0  WA: 0,24 1024x576  Workspace 1
    # bottom left
    0  * DG: 2048x1200  VP: 0,600  WA: 0,24 1024x576  Workspace 1
    # top right
    0  * DG: 2048x1200  VP: 1024,0  WA: 0,24 1024x576  Workspace 1
    # bottom right 
    0  * DG: 2048x1200  VP: 1024,600  WA: 0,24 1024x576  Workspace 1
    

    ... 即它们既不是单独的桌面,也不是工作区——只是视口发生了变化!

    因此,要在这四个视口之间进行更改,只需使用上面列出wmctrl -o的值直接调用命令VP,即:

    wmctrl -o 0,0
    wmctrl -o 0,600
    wmctrl -o 1024,0
    wmctrl -o 1024,600
    

    编辑:UPS,抱歉,刚刚看到这与@wik 的答案相同 - 酌情合并/删除..

    • 0

相关问题

  • VNC 遥控器不适用于 Ubuntu?

  • 如何设置终端打开最大化

  • 如何在 Compiz->Commands 中获得超过 12 个命令?[关闭]

  • 如何在 Gnome 中使窗口透明?

  • 当我关闭它们时,如何让我的窗户“燃烧”?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    我需要什么命令来解压缩/提取 .tar.gz 文件?

    • 8 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Marko Smith

    如何使用命令行将用户添加为新的 sudoer?

    • 7 个回答
  • Marko Smith

    更改文件夹权限和所有权

    • 9 个回答
  • Martin Hope
    EmmyS 我需要什么命令来解压缩/提取 .tar.gz 文件? 2011-02-09 14:50:41 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve