根据连接的设备自动选择显示配置

autorandr的Python项目详细描述


#自动操作

根据连接的设备自动选择显示配置

##分行信息

这是一个兼容的python重写 [wertarbyte/autorandr](https://github.com/wertarbyte/autorandr)。贡献 对于bash完成,fd.o/xdg autostart、氮气、pm utils和systemd可以是 在[contrib]下找到(contrib/)。

原始的[wertarbyte/autorandr](https://github.com/wertarbyte/autorandr) 树是未维护的,有很多打开的拉取请求和问题。我分叉了 合并了我认为最重要的变化。如果你在搜索 对于该版本,请参见[legacy分支](https://github.com/phillipberndt/autorandr/tree/legacy)。 注意,python版本更适合于非标准配置, 例如,如果您使用–transform–reflect。如果您使用自动分散器 必须使用bash版本,因为python中不支持分散器 版本。两个版本都使用兼容的配置文件格式,因此 在某种程度上,你可以在它们之间切换。我将保留遗产 分支,直到@wertarbyte找到时间再次维护分支。

如果您对为什么有两个版本感兴趣,请参见 [7](https://github.com/phillipberndt/autorandr/issues/7" rel="nofollow">https://github.com/phillipberndt/autorandr/issues/7), [8](https://github.com/phillipberndt/autorandr/issues/8" rel="nofollow">https://github.com/phillipberndt/autorandr/issues/8)和 尤其地 [12](https://github.com/phillipberndt/autorandr/issues/12) 如果您对这个版本不满意,并且希望为bash贡献力量 版本:

##许可证信息和作者

根据GNU通用公共许可证的条款,Autorandr是可用的 (版本3)。

这个版本的autorandr的贡献者是:

  • 阿德里安·洛佩斯
  • 安德森雅各布
  • 亚历山大威尔特
  • 布里斯瓦格纳酒店
  • 克里斯·邓德
  • 克里斯托夫·吉辛
  • 丹尼尔·哈勒
  • 梅吉耶西塔兹
  • 马蒂亚斯·斯文森
  • 马修R约翰逊
  • 纳扎尔莫克林斯基
  • 菲利普·伯恩特
  • 拉斯穆斯赖德拉森
  • 西蒙·怀多赫
  • 斯特凡·托马内克
  • 暴风雪
  • 速发型
  • 蒂莫宾格曼
  • 蒂莫考夫曼
  • 托马兹·博格达尔
  • 维克多H_ggqvist
  • 简·奥利弗·凯瑟

##安装/拆卸

可以将autorandr.py脚本用作独立二进制文件。如果你愿意 将其作为系统范围的应用程序安装,其中包含一个makefile 将一些配置文件放在适当的目录中,例如autorandr 当连接或删除监视器时,系统将自动调用 从挂起唤醒,或用户登录到x11会话。运行进行安装 以根用户身份安装。

如果您希望由包管理器管理系统范围的安装, 你可以

我们非常感谢为其他发行版打包脚本,请提交一个pull 如果您写了一封信,请提出请求。

如果您喜欢使用pip而不是package manager,可以使用以下命令安装autorandr:

< Buff行情> sudo pip install"git+http://github.com/phillipberndt/autorandr egg=autorandr"

或者干脆

< Buff行情> sudo pip install autorandr

如果您喜欢使用稳定版本。

##如何使用

使用以下命令保存当前的显示配置和设置:

< Buff行情> 自动操作–保存手机

连接其他显示器,配置设置并保存:

< Buff行情> 自动操作–保存停靠的

现在Autorandr可以检测哪些硬件设置处于活动状态:

< Buff行情>< dl >
$autorandr
移动电话 停靠(检测到)

自动重新加载设置:

< Buff行情> $autorandr–更改

手动加载配置文件:

< Buff行情> $autorandr–加载<;配置文件>;

或者简单地说:

< Buff行情> $autorandr<;配置文件>;

autorandr试图避免重新加载相同的配置。迫使 (重新)配置:

< Buff行情> $autorandr–加载<;配置文件>;–强制

要防止加载配置文件,请在其 目录。在检查屏幕设置之前评估脚本,并且 如果返回值0,则跳过配置文件。这个可以用 查询要离开的扩展底座的状态。

如果无法识别合适的配置文件,则保留当前配置。 要更改此行为并切换到回退配置,请指定 –默认配置文件。默认情况下在系统范围内安装autorandr 使用参数–默认值调用autorandr。有三种特别的, 虚拟配置称为水平垂直公共。他们 自动生成包含所有屏幕的配置 连接到计算机。您可以将默认值符号链接到 在您的配置目录中,要让autorandr使用其中任何一个的名称 作为默认配置,无需更改系统范围 配置。

可以将ini文件中任何选项的默认值存储在 ~/.config/autorandr/settings.iniconfig部分中。最有用的 如果您需要,可以选择跳过选项。

##高级用法

###挂钩脚本

另外三个脚本可以放在配置目录中(如 (定义见[xdg spec](https://specifications.freedesktop.org/basedir spec/basedir spec-latest.html), 通常~/.config/autorandr~/.autorandr如果您有旧的安装 对于用户配置和/etc/xdg/autorandr对于系统范围的配置:

  • postswitch在发生模式切换后执行。这可以 用于通知窗口管理器或其他应用程序有关此开关的信息。
  • 预开关在模式开关发生前执行。<李>postsave在存储或更改配置文件后执行。
  • 在autorandr尝试运行xrandr之前执行predetect

这些脚本必须是可执行的,并且可以直接放在配置中 目录,它们将始终在其中执行,或者在profile子目录中, 它们将只在更改特定配置文件时执行。

除了这些脚本之外,您还可以放置尽可能多的可执行文件 在名为script\u name.d的子目录(例如postswitch.d)中按您的喜好放置文件。

如果具有相同名称的脚本多次出现,则用户配置 优先于系统配置(由 [xdg spec](https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html" rel="nofollow">https://specifications.freedesktop.org/basedir spec/basedir spec-latest.html)) 以及配置文件配置,而不是常规配置。

作为一个具体的例子,假设您拥有这些文件

  • /etc/xdg/autorandr/postswitch
  • ~/.config/autorandr/postswitch
  • ~/.config/autorandr/postswitch.d/notify herbstluftwm
  • ~/.config/autorandr/docked/postswitch

并从移动切换到停靠。然后 ~/.config/autorandr/docked/postswitch被执行,因为特定于配置文件 配置优先,并且 ~/.config/autorandr/postswitch.d/notify herbstluftwm被执行,因为 它有一个唯一的名称。

如果您从停靠切换回移动,~/.config/autorandr/postswitch 执行,而不是执行特定的后切换。

在这些脚本中,autorandr的一些状态作为环境变量公开 前缀为autorandr\uu,例如: -自动读取当前配置文件 -自动读取当前配置文件 -自动读取配置文件文件夹 -自动操作监视器

如果在连接后过早执行Xrandr时遇到问题 一个新的监视器,然后可以使用predetect脚本来延迟执行。 例如,在该文件中写入sleep 1,使autorandr等待一秒钟 运行xrandr

###通配符edid匹配

~/.config/autorandr/*/setup文件中的edid字符串可能包含 星号启用通配符匹配:此类edid与连接的 使用常用文件名全局搜索规则的监视器。这可以用来创建 与多个(或任意)监视器匹配的配置文件。

##更改日志

自动操作1.8.1

  • 2019-03-18已从makefile中删除mandb调用

自动操作1.8

  • 2019-02-17添加一个X11后台程序,该程序在显示器连接时运行autorandr(通过@rliou92,127)
  • 2019-02-17将width=0替换为disconnected以检测断开的监视器(作者@joseph jones,139)
  • 2019-02-17修复空填充的处理(通过@jschwab,138)
  • 2019-02-17添加手册页(由@somers一直提供,133)

自动操作1.7

  • 2018-09-25使用旋转屏幕固定FB大小计算(作者@janno,117)

自动操作1.6

  • 2018-04-19错误修复:除非设置了–change,否则不要加载默认配置文件
  • 2018年4月30日在hooks中添加了一个autorandr\u监视器变量(作者@bricewge,106)
  • 2018-06-29如果其他监视器处于活动状态,则修复当前配置的检测
  • 2018-07-11最新更改中的错误修复:在比较时正确处理"off"minitors
  • 2018年7月19日不要终止systemd单元生成的用户进程
  • 2018-07-20正确ha比较时,将显示器"关闭"–修复另一个错误。

自动操作1.5

  • 2018-01-03添加–版本
  • 2018-01-04固定垂直/水平/克隆最大虚拟配置文件
  • 2018-03-07将所有非错误消息输出到stdout而不是stderr
  • 2018-03-25添加-检测到和-当前以过滤配置文件列表输出
  • 2018-03-25允许在EDID中使用通配符匹配

自动操作1.4

  • 2017年12月22日修复损坏的虚拟配置文件支持
  • 2017-12-14添加了对设置文件的支持
  • 2017-12-14添加了一个虚拟配置文件off,它禁用了所有屏幕

自动操作1.3

  • 2017年11月13日
  • 2017年11月21日以批量模式修复环境窃取(请参见87)

自动操作1.2

  • 2017-07-16跳过–平移,除非需要(请参见72)
  • 2017年10月13日添加克隆最大虚拟配置文件

自动操作1.1

  • 2017-06-07从udev规则调用systemctl with–no block(参见61)
  • 2017年01月20日新脚本挂钩,检测前
  • 2017-01-18在配置/设置文件中接受注释(以开头的行)

自动操作1.0

  • 2016-12-07将当前代码标记为1.0.0版;请参阅Github问题54
  • 2016-10-03默认情况下,将桌面文件安装到/etc/xdg/autostart

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何避免springbootstarterparent和dependency中的flyway包冲突   java文本文件写入不起作用   java获取名为DAO类的Bean创建异常   java类路径和清单文件   如何使用Java中的模式来获取像C中的“sscanf”这样的组?   java Spring自动连接具有构造函数的类   clientSecurity运行的java geode示例失败   java JavaFX:在FXML中从ResourceBundle访问非string对象   java登录到google firebase   java对象在通过构造函数后不会更改。为什么?   java(Android)对特定页面的操作webView   javascript如何在webview的js中从java调用变量   持久化—一种在Java中存储和检索对象而不使用关系数据库的简单方法?   java Ldap获取通讯组列表中的用户   java检查温度条件   java后退按钮警报框(Android Studio)   数组java列表问题:为什么我运行它时,它会在第三次打印时打印出4?   java相对路径与绝对路径