ubuntu22.04 x11窗口环境手势控制

ubuntu22.04 x11窗口环境手势控制

ubuntu x11窗口环境的手势控制并不优秀,我们可以使用touchegg去代替
这个配置过程非常简单,并且可以很容易在一定范围内达到你想到的效果,类比mac的手势控制

关于安装

首先添加源,并安装

sudo add-apt-repository ppa:touchegg/stable
sudo apt update
sudo apt install touchegg

安装完成后使用touchegg命令启动应用,重启电脑后touchegg会自动启动。
创建默认配置文件

 mkdir -p ~/.config/touchegg && cp -n /usr/share/touchegg/touchegg.conf ~/.config/touchegg/touchegg.conf

关于配置

然后你可以编辑这个配置文件,他的位置在~/.config/touchegg, 你可以使用vim或gedit去编辑这个文本
在这里插入图片描述下面我提供了我的conf文件,你可以直接替换
他有那些作用
1、三指左右滑动可切换工作区
2、三指上滑可以显示概览窗口,即活动窗口,再次上滑可取消概览窗口
3、三指下滑可最小化当前窗口
4、三指内缩可关闭窗口,这是个持续动作,内缩回收可撤回
5、三指点击表示鼠标中键
6、四指上滑可显示全部菜单,再次上滑可回到概览窗口
7、四指左、右滑动,可将当前窗口移动至左、右工作区
8、四指外阔显示桌面
9、单指,双指保持正常逻辑

<touchégg><settings><property name="animation_delay">150</property><property name="action_execute_threshold">20</property><property name="color">auto</property><property name="borderColor">auto</property></settings><application name="All"><gesture type="SWIPE" fingers="3" direction="UP"><action type="SEND_KEYS"><repeat>false</repeat><modifiers>Super_L</modifiers><keys>S</keys><on>begin</on></action></gesture><gesture type="SWIPE" fingers="4" direction="UP"><action type="SEND_KEYS"><repeat>false</repeat><modifiers>Super_L</modifiers><keys>A</keys><on>begin</on></action></gesture><gesture type="SWIPE" fingers="3" direction="DOWN"><action type="MINIMIZE_WINDOW"><animate>true</animate></action></gesture><gesture type="SWIPE" fingers="4" direction="DOWN"><action type="CHANGE_DESKTOP"><direction>auto</direction><animate>true</animate><animationPosition>auto</animationPosition></action></gesture><gesture type="SWIPE" fingers="4" direction="LEFT"><action type="SEND_KEYS"><repeat>true</repeat><modifiers>Super_L</modifiers><keys>Shift_L+Left</keys></action></gesture><gesture type="SWIPE" fingers="4" direction="RIGHT"><action type="SEND_KEYS"><repeat>true</repeat><modifiers>Super_L</modifiers><keys>Shift_L+Right</keys></action></gesture><gesture type="PINCH" fingers="4" direction="OUT"><action type="SHOW_DESKTOP"><animate>true</animate></action></gesture><gesture type="TAP" fingers="2" direction="UNKNOWN"><action type="MOUSE_CLICK"><button>3</button><on>begin</on></action></gesture><gesture type="TAP" fingers="3" direction="UNKNOWN"><action type="MOUSE_CLICK"><button>2</button><on>begin</on></action></gesture><gesture type="PINCH" fingers="3" direction="IN"><action type="CLOSE_WINDOW"></action></gesture><!--<gesture type="SWIPE" fingers="3" direction="LEFT"><action type="CHANGE_DESKTOP"></action></gesture><gesture type="SWIPE" fingers="3" direction="RIGHT"><action type="CHANGE_DESKTOP"></action></gesture>--><gesture type="SWIPE" fingers="3" direction="LEFT"><action type="CHANGE_DESKTOP"><direction>next</direction><animate>true</animate><animationPosition>right</animationPosition><color>3E9FED</color><borderColor>3E9FED</borderColor></action></gesture><gesture type="SWIPE" fingers="3" direction="RIGHT"><action type="CHANGE_DESKTOP"><direction>previous</direction><animate>true</animate><animationPosition>left</animationPosition><color>3E9FED</color><borderColor>3E9FED</borderColor></action></gesture></application><application name="chromium-browser"><gesture type="PINCH" fingers="2" direction="IN"><action type="SEND_KEYS"><repeat>true</repeat><modifiers>Control_L</modifiers><keys>KP_Subtract</keys><decreaseKeys>KP_Add</decreaseKeys></action></gesture><gesture type="PINCH" fingers="2" direction="OUT"><action type="SEND_KEYS"><repeat>true</repeat><modifiers>Control_L</modifiers><keys>KP_Add</keys><decreaseKeys>KP_Subtract</decreaseKeys></action></gesture></application><application name="firefox"><gesture type="PINCH" fingers="2" direction="IN"><action type="SEND_KEYS"><repeat>true</repeat><modifiers>Control_L</modifiers><keys>KP_Subtract</keys><decreaseKeys>KP_Add</decreaseKeys></action></gesture><gesture type="PINCH" fingers="2" direction="OUT"><action type="SEND_KEYS"><repeat>true</repeat><modifiers>Control_L</modifiers><keys>KP_Add</keys><decreaseKeys>KP_Subtract</decreaseKeys></action></gesture></application><application name="google-chrome"><gesture type="PINCH" fingers="2" direction="IN"><action type="SEND_KEYS"><repeat>true</repeat><modifiers>Control_L</modifiers><keys>KP_Subtract</keys><decreaseKeys>KP_Add</decreaseKeys></action></gesture><gesture type="PINCH" fingers="2" direction="OUT"><action type="SEND_KEYS"><repeat>true</repeat><modifiers>Control_L</modifiers><keys>KP_Add</keys><decreaseKeys>KP_Subtract</decreaseKeys></action></gesture></application>
</touchégg>

关于你可以怎么简单配置

注意的是,这里的<action type="SEND_KEYS">的手势,都是基于你的自定义快捷键
在这里插入图片描述
如此处我将shift+super+右设置为将窗口右移一个工作区,那么我可以进行如下配置

<gesture type="SWIPE" fingers="4" direction="LEFT"><action type="SEND_KEYS"><repeat>true</repeat><modifiers>Super_L</modifiers><keys>Shift_L+Left</keys></action>
</gesture><gesture type="SWIPE" fingers="4" direction="RIGHT"><action type="SEND_KEYS"><repeat>true</repeat><modifiers>Super_L</modifiers><keys>Shift_L+Right</keys></action>
</gesture>

感谢您的翻阅

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/94920.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【NeurIPS 2023】Backdoor对抗攻防论文汇总

NeurIPS 对抗攻防论文 NeurIPS2022|对抗攻防论文整理 - 知乎 NeurIPS 2023 Papers BIRD: Generalizable Backdoor Detection and Removal for Deep Reinforcement Learning https://neurips.cc/virtual/2023/poster/70618 摘要&#xff1a; 后门攻击对深度强化学习&…

基于Java的飞机航班订票购票管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…

Leetcode219. 存在重复元素 II

力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 给你一个整数数组 nums 和一个整数 k &#xff0c;判断数组中是否存在两个 不同的索引 i 和 j &#xff0c;满足 nums[i] nums[j] 且 abs(i - j) < k 。如果存在&#xff0c;返回 true &#xff1b…

深入了解 RabbitMQ:高性能消息中间件

目录 引言&#xff1a;一、RabbitMQ 介绍二、核心概念三、工作原理四、应用场景五、案例实战 引言&#xff1a; 在现代分布式系统中&#xff0c;消息队列成为了实现系统间异步通信、削峰填谷以及解耦组件的重要工具。而RabbitMQ作为一个高效可靠的消息队列解决方案&#xff0c;…

Python爬虫解决中文乱码

目录 一、中文乱码 二、chardet.detect()解决 三、在页面查找编码格式解决 一、中文乱码 问题在于文本的编码格式不正确 import requestsurlhttps://www.shicimingju.com/book/sanguoyanyi.html headers{User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKi…

C++_pen_静态与常量

成员 常成员、常对象&#xff08;C推荐使用 const 而不用#define,mutable&#xff09; const 数据成员只在某个对象生存周期内是常量&#xff0c;而对于整个类而言却是可变的&#xff08;static除外&#xff09; 1.常数据成员&#xff08;构造函数初始化表赋值&#xff09; c…

C#开发的OpenRA游戏之电力系统之一

C#开发的OpenRA游戏之电力系统之一 前面已经分析过雷达地图显示,在雷达地图的下面有一个显示电力数量显示,如下图: 从上图看到电力的数量为0,所以这时候就处于低电力的模式。 要在这里显示电力,那么就需要在界面上做一点编辑,是在yaml文件定义它: Container@POWERBAR…

在Ubuntu 20.04搭建最小实验环境

sudo apt-get -y install --no-install-recommends wget gnupg ca-certificates安装导入GPG公钥所需的依赖包。 sudo wget -O - https://openresty.org/package/pubkey.gpg | sudo apt-key add -导入GPG密钥。 sudo apt-get -y install --no-install-recommends software-p…

Docker启动Mysql

如果docker里面没有mysql需要先pull一个mysql镜像 docker pull mysql其中123456是mysql的密码 docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD123456 -d mysql可以使用如下命令进入Mysql的命令行界面 docker exec -it mysql bash登录mysql使用如下命令,root是…

二层VLAN配置实验

四台PC的IP地址如图所示&#xff0c;子网掩码均为255.255.255.0&#xff0c;四台PC处在同一个局域网之中&#xff0c;在配置VLAN之前能够彼此ping通。配置的目的是将PC1和PC3划分到VLAN10中&#xff0c;PC2和PC4划分到VLAN20中。 在配置之前需要进入系统视角。 创建VLAN 在两…

集合-Map系列

系列文章目录 1.集合-Collection-CSDN博客​​​​​​ 2.集合-List集合-CSDN博客 3.集合-ArrayList源码分析(面试)_喜欢吃animal milk的博客-CSDN博客 4.数据结构-哈希表_喜欢吃animal milk的博客-CSDN博客 5.集合-set系列集合-CSDN博客 6.集合-Map系列-CSDN博客 文章目…

阿里云关系型数据库RDS详细说明

阿里云RDS关系型数据库大全&#xff0c;关系型数据库包括MySQL版、PolarDB、PostgreSQL、SQL Server和MariaDB等&#xff0c;NoSQL数据库如Redis、Tair、Lindorm和MongoDB&#xff0c;阿里云百科分享阿里云RDS关系型数据库大全&#xff1a; 目录 阿里云RDS关系型数据库大全 …

人工智能:定义未来,揭开历史神秘面纱,展望无限可能!

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是尘缘&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f449;点击这里&#xff0c;就可以查看我的主页啦&#xff01;&#x1f447;&#x…

4、Linux内核的分析

一、内核分析 1、内核的概念 作为计算机而言&#xff0c;软件和硬件之间是相互依赖的&#xff0c;硬件如果脱离了软件&#xff0c;则无法正常工作&#xff0c;软件脱离了硬件则无法正常运行。这个软件一般指的是操作系统的内核&#xff0c;作为Linux而言&#xff0c;内核也被…

Unity中Shader的前向渲染路径ForwardRenderingPath

文章目录 前言一、前向渲染路径的特点二、渲染方式1、逐像素(效果最好)2、逐顶点(效果次之)3、SH球谐(效果最差) 三、Unity中对灯光设置 后&#xff0c;自动选择对应的渲染方式1、ForwardBase仅用于一个逐像素的平行灯&#xff0c;以及所有的逐顶点与SH2、ForwardAdd用于其他所…

浏览器从输入URL到展示的流程

文章目录 1. URL输入2. DNS解析3. 建立TCP连接4. 发送http或者https请求5. 服务器端响应请求6. 浏览器解析渲染页面7. 断开TCP连接 1. URL输入 输入URL后&#xff0c;浏览器会对URL进行以下的判断 是否合法如果合法&#xff0c;则判断URL是否完整&#xff0c;如果不完整&…

重生奇迹MU刷装备注意事项

在打斗游戏里面装备的作用非常巨大&#xff0c;较好的武器装备可以为玩家带来不错的体验&#xff0c;很多玩家甚至不惜花重金打造属于好装备。那么游戏中刷装备需要注意什么。 一、对武器装备的认识 对于玩家来说需要对武器装备有一定的认识&#xff0c;连基本的武器装备分类都…

【面试总结大纲】

面试 1. springSpring AOP的具体实现核心概念分别指的是什么?基于注解的切面实现主要包括以下几个步骤&#xff1a;两个切面&#xff0c;它们之间的顺序是怎么控制的 springmvc的工作流程设计模式原则Spring 框架中用到了哪些设计模式&#xff1f; 2. Java-锁2.1锁的分类可重入…

LVGL_基础控件Button

LVGL_基础控件Button 1、创建按键 /* 创建一个btn部件(对象) */lv_obj_t * btn lv_btn_create(lv_scr_act()); // 创建一个btn部件(对象),他的父对象是活动屏幕对象2、修改样式 // 修改按钮部件&#xff08;对象&#xff09;矩形背景部分的样式&#xff08;按下的时候背…

C/C++进程超详细详解【下部分】(系统性学习day8)

目录 前言 一&#xff0c;有名管道通信 1 .概念 2 .创建有名管道 实例代码如下&#xff1a; 二、信号通信 1 .概念 2 .用户进程对信号的响应方式 3. 用户进程对常用信号的缺省操作 4. 信号处理流程 5. 信号相关函数(系统调用) 5.1 kill - 给指定进程发送信号 实例代…