首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何通过键绑定在Xmonad窗口上运行挂钩

Xmonad是一个基于Haskell编写的动态窗口管理器,它允许用户通过键绑定来运行挂钩。挂钩是一种在特定事件发生时执行的操作。

要在Xmonad窗口上运行挂钩,可以按照以下步骤进行操作:

  1. 配置Xmonad:打开Xmonad的配置文件(通常位于~/.xmonad/xmonad.hs),在文件中找到main函数。在该函数中,可以添加键绑定来运行挂钩。
  2. 定义挂钩:在main函数中,使用xmonad函数的additionalKeys参数来定义键绑定和对应的挂钩。挂钩可以是任何你想要执行的操作,例如运行特定的命令、切换到特定的工作区、调整窗口布局等。
  3. 例如,假设你想要使用Mod键(通常是Alt键)加上某个键来运行挂钩,可以使用additionalKeys参数的如下方式定义键绑定和挂钩:
  4. 例如,假设你想要使用Mod键(通常是Alt键)加上某个键来运行挂钩,可以使用additionalKeys参数的如下方式定义键绑定和挂钩:
  5. 在上面的例子中,当按下Mod键加上F1键时,将运行名为runHook1的挂钩;当按下Mod键加上F2键时,将运行名为runHook2的挂钩。
  6. 实现挂钩:在Xmonad的配置文件中,可以定义具体的挂钩函数。挂钩函数可以使用Haskell编写,可以调用系统命令、Xmonad的内置函数等。
  7. 例如,假设你想要在运行挂钩时打开终端,可以使用spawn函数来调用终端程序:
  8. 例如,假设你想要在运行挂钩时打开终端,可以使用spawn函数来调用终端程序:
  9. 在上面的例子中,runHook1函数使用spawn函数来运行xterm终端程序。

通过以上步骤,你可以在Xmonad窗口上通过键绑定来运行挂钩。你可以根据自己的需求定义不同的键绑定和挂钩,以实现更多功能和操作。

请注意,以上答案中没有提及腾讯云相关产品和产品介绍链接地址,因为Xmonad是一个开源的窗口管理器,并不直接与云计算相关。如果你有其他关于云计算或其他IT互联网领域的问题,我将很乐意为你提供帮助。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Tmux 简易教程

本文介绍如何使用 Tmux。 ? 一、Tmux 是什么? 1.1 会话与进程 命令行的典型使用方式是,打开一个终端窗口(terminal window,以下简称"窗口"),在里面输入命令。...为了解决这个问题,会话与窗口可以"解":窗口关闭时,会话并不终止,而是继续运行,等到以后需要的时候,再让会话"绑定"其他窗口。...1.2 Tmux 的作用 Tmux 就是会话与窗口的"解"工具,将它们彻底分离。 (1)它允许在单个窗口中,同时访问多个会话。这对于同时运行多个命令行程序很有用。...$ exit 2.3 前缀 Tmux 窗口有大量的快捷。所有快捷都要通过前缀唤起。默认的前缀是Ctrl+b,即先按下Ctrl+b,快捷才会生效。...五、格操作 Tmux 可以将窗口分成多个格(pane),每个运行不同的命令。以下命令都是在 Tmux 窗口中执行。 5.1 划分格 tmux split-window命令用来划分格。

97120
  • 可能是东半球最全面易懂的 Tmux 使用教程!( 强烈建议收藏 )

    本文将介绍如何使用 Tmux。 一、Tmux 是什么? 1.1 会话与进程 命令行的典型使用方式是,打开一个终端窗口(terminal window,以下简称 "窗口"),在里面输入命令。...为了解决这个问题,会话与窗口可以 "解":窗口关闭时,会话并不终止,而是继续运行,等到以后需要的时候,再让会话 "绑定" 其他窗口。...1.2 Tmux 的作用 Tmux 就是会话与窗口的 "解" 工具,将它们彻底分离。 (1)它允许在单个窗口中,同时访问多个会话。这对于同时运行多个命令行程序很有用。...$ exit 2.3 前缀 Tmux 窗口有大量的快捷。所有快捷都要通过前缀唤起。默认的前缀是 Ctrl+b,即先按下 Ctrl+b,快捷才会生效。...五、格操作 Tmux 可以将窗口分成多个格(pane),每个运行不同的命令。以下命令都是在 Tmux 窗口中执行。 5.1 划分格 tmux split-window 命令用来划分格。

    16.8K83

    推荐博主工作中常用工具:Tmux 终端复用器

    为了解决这个问题,会话与窗口可以"解":窗口关闭时,会话并不终止,而是继续运行,等到以后需要的时候,再让会话"绑定"其他窗口。...1.2 Tmux 的作用 Tmux 就是会话与窗口的"解"工具,将它们彻底分离。 (1)它允许在单个窗口中,同时访问多个会话。这对于同时运行多个命令行程序很有用。...2.3 前缀 Tmux 窗口有大量的快捷。所有快捷都要通过前缀唤起。默认的前缀是Ctrl+b,即先按下Ctrl+b,快捷才会生效。 举例来说,帮助命令的快捷是Ctrl+b ?。...在 Tmux 窗口运行所需的程序。 按下快捷Ctrl+b d将会话分离。 下次使用时,重新连接到会话tmux attach-session -t my_session。...五、格操作 Tmux 可以将窗口分成多个格(pane),每个运行不同的命令。以下命令都是在 Tmux 窗口中执行。 5.1 划分格 tmux split-window命令用来划分格。

    86430

    会话保持——Tmux 入门

    打开窗口,会话开始;关闭窗口,会话结束,会话内部的进程也会跟着终止,不管进程有没有运行完。 比如,SSH 登录远程计算机,打开一个远程窗口执行命令。...为了解决这个问题,会话与窗口可以 “解”:窗口关闭时,会话并不终止,而是继续运行,等到以后需要的时候,再让会话 “绑定” 其他窗口。...1.2 Tmux 的作用 Tmux 就是一个 “解” 工具 它允许在单个窗口中,同时访问多个会话。这对于同时运行多个命令行程序很有用。 它可以让新窗口 “接入” 已经存在的会话。...2.3 前缀 Tmux 窗口有快捷。所有快捷都要通过前缀唤起。默认的前缀是 Ctrl+b 如: 帮助命令的快捷是 Ctrl+b ?...附: 划分格 tmux split-window tmux split-window //划分上下两个格 tmux split-window -h //划分左右两个格 移动光标

    3.8K62

    tmux简介及使用教程

    为了解决这个问题,会话与窗口可以"解":窗口关闭时,会话并不终止,而是继续运行,等到以后需要的时候,再让会话"绑定"其他窗口。...1.2 Tmux 的作用 Tmux 就是会话与窗口的"解"工具,将它们彻底分离。 (1)它允许在单个窗口中,同时访问多个会话。这对于同时运行多个命令行程序很有用。...$ exit 2.3 前缀 Tmux 窗口有大量的快捷。所有快捷都要通过前缀唤起。默认的前缀是Ctrl+b,即先按下Ctrl+b,快捷才会生效。...五、格操作 Tmux 可以将窗口分成多个格(pane),每个运行不同的命令。以下命令都是在 Tmux 窗口中执行。 5.1 划分格 tmux split-window命令用来划分格。...Ctrl+b %:划分左右两个格。 Ctrl+b ":划分上下两个格。 Ctrl+b :光标切换到其他格。是指向要切换到的格的方向,比如切换到下方格,就按方向↓。

    1.6K10

    运维必备:Linux系统下的两款终端多重会话工具

    办法当前是有的,为了解决此问题,我们需要将会话与窗口进行解,使窗口关闭时会话并不终止,二是继续运行,等到以后需要的时候,再让会话"绑定"其他窗口,而终端复用器软件(例如,Screen、Tmux (推荐...) 工具)就是会话与窗口的"解"工具,将它们彻底分离。...# 分离会话 Ctrl + A,然后按下D即可分离当前会话,让其在后台运行。...tmux split-window # 会话左右分格 tmux split-window -h # 退出会话 exit # 列出所有快捷 tmux list-keys # 列出所有命令及其参数...是指向要切换到的格的方向,比如切换到下方格,就按方向↓ Ctrl+b {:当前窗格左移 Ctrl+b }:当前窗格右移 Ctrl+b Ctrl+o:当前窗格上移 Ctrl+

    31010

    操作服务器的神奇工具Tmux

    打开窗口,会话开始;关闭窗口,会话结束,会话内部的进程也会随之终止,不管有没有运行完。 Tmux 的作用 Tmux 就是会话与窗口的"解"工具,将它们彻底分离。...$ exit 前缀 Tmux 窗口有大量的快捷。所有快捷都要通过前缀唤起。默认的前缀是 Ctrl+b,即先按下 Ctrl+b,快捷才会生效。 举例来说,帮助命令的快捷是 Ctrl+b?。...新建会话 tmuxnew-s my_session 在 Tmux 窗口运行所需的程序。 按下快捷 Ctrl+b d将会话分离。...下次使用时,重新连接到会话 tmux attach-session-t my_session 格操作 Tmux 可以将窗口分成多个格(pane),每个运行不同的命令。...Ctrl+b":划分上下两个格。 Ctrl+b:光标切换到其他格。 是指向要切换到的格的方向,比如切换到下方格,就按方向 ↓。

    1.4K10

    Tmux 使用小记

    与tmux类似的工具是screen 会话管理 将窗口与会话"解" 对于没有图形界面只有shell的场景(如服务器),尤其有用..这是其最核心解决的问题(窗口管理啥的只能算锦上添花的辅助功能) 即便是窗口关了...更好的方法是为会话起自定义的名称 tmux new -s 自定义的会话名称 分离会话 Ctrl+b d 或 tmux detach 会退出当前 Tmux 窗口,但是会话和里面的进程仍然在后台运行 tmux...2.在 Tmux 窗口运行所需的程序。 3.按下快捷Ctrl+b d将会话分离。 4.下次使用时,重新连接到会话tmux attach-session -t my_session。...格操作 & 窗口管理 这个用处没那么大,不过比较容易弄得很酷炫 例如,对于tmux,可以通过执行 tmux ctrl+b % 实现竖直分屏(ctrl+b将tmux激活为"快捷接受模式") 更多命令...Ctrl+b ":划分上下两个格。 Ctrl+b :光标切换到其他格。是指向要切换到的格的方向,比如切换到下方格,就按方向↓。

    27410

    Emacs 系列(一):抛掉一切,投入 Emacs 和 org 模式的怀抱

    长期以来,我一直对如何组织安排事情感到沮丧。我也有用过 GTD 和 ZTD 之类的方法,但是像邮件或是大型文件这样的事务真的很难来组织安排。...我可以在 Emacs 的任何地方按下 C-c c ,它就会空出一个位置来记录我的笔记。最关键的是,自动嵌入到笔记中的链接可以链接到我按下 C-c c 时正在编辑的那一行。...如果我正在浏览邮件,它就会链回到那封邮件(通过邮件的 Message-Id,这样它就可以在任何一个文件夹中找到邮件)。聊天时也一样,甚至是当你在另一个 org 模式中也可也这样。...当时存在在启动时间过长的问题,但是现在已经有连接到一个正在运行的 Emacs 进程的解决方法。...我喜欢用 Mod-p(一个 xmonad 中 dzen 菜单栏的快捷方式,但是在大多数传统的桌面环境中该功能的快捷是 Alt-F2)来启动程序(LCTT 译注:xmonad 是一种平铺桌面;dzen

    82910

    Android 悬浮功能的实现

    业务场景 以微信视频通话为例,在视频通话时,我们打开其他应用或点击Home退出时或点击缩放图标,悬浮会显示在其他应用之上,给人的假象是通话页面变小了,点击悬浮回到通过页面,悬浮消失。...1.悬浮可以显示在其他应用或launchers之上,这个肯定需要悬浮权限,而悬浮权限属于特殊权限,所以只能通过引导用户去打开无法像危险权限那样直接申请。...3.既然Service和Activity是通过bind去绑定的,说明当悬浮显示的时候,通话Activity虽然不可见但仍在运行。...产生问题原因:因为用户按Home之后,开发者无法重写Home逻辑,此时应用不在前台运行,无法弹窗提醒,此时用户点击APP图标进入的是第一个栈,这个时候用户就没有进入通话页面的入口了。...2.用户在通话页面(singleInstance模式),点击Home 应用在后台运行的时候,通话结束,Activity被finish,此时从任务程序中切回应用你会发现打开的竟然是通话页面!

    6.2K10

    悬浮开发设计实践

    ,点击悬浮回到通过页面,悬浮消失。...市面上常见的悬浮,如微信视频通话功能,有如下特点:整屏页面能切换到一个小的悬浮;悬浮运行在其他app上方;悬浮能跳回整屏页面,并且悬浮消失需求悬浮效果点击缩小按钮,将当前远端视屏加载进悬浮...height值用于指定悬浮的高度。那么这个里面如何计算悬浮窗上下左右的位置呢?...4.6 悬浮拖拽实现如何实现悬浮可随手指拖动?...而Android 8.0对系统和API行为做了修改,包括使用SYSTEM_ALERT_WINDOW权限的应用无法再使用一下窗口类型来在其他应用和窗口上方显示提醒窗口:如果需要实现在其他应用和窗口上方显示提醒窗口

    2.4K40

    有一种遗憾,是跑程序却没用上_______

    如何在骑车/吃饭/睡觉/约会时, 保证程序运行不断呢? ?...这样运行的程序自然和当前的shell会话进程无关了,也不会受其进程生命周期的管理。通过setsid执行程序是后台运行某个程序的最简单的方式之一。...当因为网络不稳定、或者客户端主动断开时,tmux仅仅会解当前的会话终端,而该会话下的所有运行中的程序不会有任何影响。...示例:编译Linux内核源码 我们以一个示例演示tmux是如何帮助我们在服务器上安心地执行命令的。...至此,任务结束~ 看到这里,相信你已经熟悉了通过常用的screen/tmux等终端会话保持工具,或者通过setsid等方法让你的程序长时间地运行在云服务器上了。

    1.6K52

    Appium+python自动化(三十三)- 本地调试测试代码,远程控制测试环境-Remote(超详解)

    看到的就是向本机发送请求包,这个请求只会在你的本地跑,不会通过网络发送出去。 “本地”,你一定还想到了localhost,打开你的hosts文件(右键选择用notenotepad++打开): ?...配置测试机 1.一台工作电脑,一台跑自动化测试的电脑,如何用工作的电脑远程控制自动化测试的那台电脑呢?...3.测试机上环境准备好后,在本机上运行脚本,于是测试机上可以自动运行了。 小结 1.首先 localhost 是一个域名,在过去它指向 127.0.0.1 这个IP地址。...本机地址通常指的是绑定在物理或虚拟网络接口上的IP地址,可供其他设备访问到。 最后,从开发度来看 localhost是个域名,性质跟 “www.baidu.com” 差不多。...127.0.0.1 是绑定在 loopback 接口上的地址,如果服务端套接字绑定在它上面,你的客户端程序就只能在本机访问。

    4.9K31

    Android悬浮的实现(易错点)

    前言   现在很多应用都使用到悬浮,例如微信在视频的时候,点击Home,视频小窗口仍然会在屏幕上显示。这个功能在很多情况下都非常有用。...实现原理 1.1 悬浮插入接口   在实现悬浮之前,我们需要知道通过什么接口,能够将一个控件放入到屏幕中去。   Android的界面绘制,都是通过WindowMananger的服务来实现的。...而ViewManager接口有addView方法,我们就是通过这个方法将悬浮控件加入到屏幕中去。...而Android 8.0对系统和API行为做了修改,包括使用SYSTEM_ALERT_WINDOW权限的应用无法再使用一下窗口类型来在其他应用和窗口上方显示提醒窗口: – TYPE_PHONE...完整的源码地址:https://github.com/dongzhong/TestForFloatingWindow   为了让悬浮与Activity脱离,使其在应用处于后台时悬浮仍然可以正常运行

    3.4K10

    Android基于腾讯云实时音视频仿微信视频通话最小化悬浮

    1.Activity是如何实现最小化的?...悬浮框的实现方法最好写在Service里面,将悬浮框的开启关闭与服务Service的绑定解所关联起来,开启服务即相当于开启我们的悬浮框,解服务则相当于关闭关闭的悬浮框,以此来达到更好的控制效果。...,因为设置的是从左上角开始,所以屏幕左上角是x=0;y=0 wmParams.x = 70; wmParams.y = 210; //得到容器,通过这个inflater来获得悬浮控件 inflater...,因为设置的是从左上角开始,所以屏幕左上角是x=0;y=0 wmParams.x = 70; wmParams.y = 210; //得到容器,通过这个inflater来获得悬浮控件 inflater...//如果悬浮没有显示 就开启服务展示悬浮 if (!

    6.4K31

    如何在Ubuntu 16.04上安装和使用Byobu进行终端管理

    您可以通过运行来手动启用它(或检查它是否已启用): byobu-enable-prompt 在此之后,您需要重新加载shell配置。...Byobu现在已完全配置,所以我们来看看如何使用它。 第5步 - 使用会话 Byobu使用功能(F1通过F12键盘的顶行)作为默认绑定,可以访问所有可用功能。...在接下来的几个步骤中,我们将讨论会话,窗口和格的绑定。 一个会话仅仅是屏风的运行实例。会话由一组窗口组成,这些窗口基本上是shell会话,格是窗口,它们分成多个部分。...使用几个选项,您已经执行了许多有用的操作,这些操作很难通过单个标准SSH连接轻松复制。这就是让Byobu如此强大的原因。接下来,让我们通过学习如何使用格来扩展此示例。...这允许您在一个格中运行命令,然后移动到另一个格以运行其他命令。您可以CTRL+F3/F4分别使用向上或向下移动当前窗格来重新排序格。

    10.1K00

    【5分钟玩转Lighthouse】开车也能跑程序

    那么到底该如何优雅地在开车(骑车/游泳/喝奶茶)时依然保证程序运行不断呢? 解决这个问题的终极解决方案就是:在云服务器上执行需要长时间执行的程序。...这样运行的程序自然和当前的shell会话进程无关了,也不会受其进程生命周期的管理。通过setsid执行程序是后台运行某个程序的最简单的方式之一。...,每个tmux会话可以从屏幕终端分离解(detach),后续如果需要,可以随时在将这个进行中的会话绑定(attach)到任何新的屏幕终端,即恢复。...如想从detach当前窗口,先同时按下ctrl和b,松手,再按下d即可。.../tmux等终端会话保持工具,或者通过setsid等方法让你的程序长时间地运行在云服务器上了。

    4.7K4316

    Tmux 速成教程:技巧和调整

    Tmux 是一个工具,用于在一个终端窗口中运行多个终端会话。不仅如此,你还可以通过 Tmux 使终端会话运行于后台或是按需接入、断开会话,这个功能非常实用。稍后,我们将会看到如何充分地利用这个功能。...格 我认为沿竖直方向分割屏幕是个不错的主意,这样我就可以在一边使用 Vim,而在另一边查看代码运行结果,如果需要的话,有时我还会再打开一个控制台。下面我就要讲解如何利用 Tmux 实现这一切。 ?...在这个 窗口中有两个格,一个用于 Vim,一个用于运行测试代码。最后再开启一个叫作“shell”的窗口用于通过 Bash shell 运行命令。...Tmux 的窗口功能非常实用,因为在一个窗口中可以创建出多个格,这样在一个窗口中就能同时查看所有格内容,通过这种方法可以高效地利用有限的屏幕空间。...下面就让我们看看如何安装 Tmuxinator 以及如何添加配置来为指定项目开启一个会话。可以通过运行如下命令安装 Tmuxinator 的 gem 包。

    4K100
    领券