好吧,我一直在尝试各种 Linux 发行版和各种窗口管理器(我似乎更换操作系统就像大多数人换裤子一样),我已经到了知道自己想要什么但不确定设置它的最佳方式的地步。以下是我希望从我的编程机器中得到的东西:
我不需要状态栏。我不需要菜单栏。当没有打开任何窗口时,屏幕应该只显示我的桌面背景,不显示任何其他内容。我将使用 alt+f2 来运行程序,我的 shell 提示符会告诉我电池寿命和时间。我会在需要时打开网络控制和音量控制,不需要它们一直污染屏幕。
我想要一个好用的、简单的终端模拟器。我会将它与 tmux 一起使用。它应该没有标题栏,如果可能的话,没有应用程序框架。如果我必须在全屏模式下运行它来删除应用程序框架,那也没关系,但前提是它仍然能与 alt-tab 和工作区很好地配合使用。
我想要一个非常简单的窗口管理器。它需要支持透明度:我没有太多的屏幕空间,我经常将终端覆盖在浏览器上并输入命令。出于上述原因,我不想要一个仅平铺的系统。平铺和覆盖可加分。
我想要多个工作区。我更喜欢每个工作区都有一个 GUI。如果我可以“固定”终端仿真器,使其始终显示在每个工作区中,那就更好了。如果不能,我可以在连接到同一个 tmux 实例的每个工作区中都安装一个终端仿真器。
我希望有一种方法来设置一个按键,使我始终可以转到当前打开的终端仿真器。目前,90% 的时间我只打开两个窗口:终端仿真器和其他窗口。在这种情况下,alt-tab 就像在两者之间切换一样。如果我打开了另一个 GUI(例如带有 Web 浏览器的开发人员窗口),这会打乱我的工作流程。我希望有一种方法来分配,例如,'super-T' 切换到第一个打开的终端仿真器。如果我还可以分配 'super-B'(或其他)切换到第一个打开的浏览器,那就更好了。
到目前为止,我一直在摆弄 gnome 并对其进行大量调整以符合我的偏好,但这似乎有点过头了,而且我永远无法完全正确。我玩过 xmonad,但它更适合处理多个窗口,而我通常只有两个窗口。
我正在考虑使用 fluxbox,但我想知道你们这些极简主义者是否有建议,可能更适合我的工作流程。我厌倦了与窗口管理器作斗争,我只想让它别再妨碍我了。
编辑:为了说明清楚,我没有考虑切换到 mac/windows 环境。我发现在 windows 中编程很无聊,而且我也没有兴趣购买新的(即 mac)硬件。
谢谢!
-内特
答案1
我不需要状态栏。我不需要菜单栏。当没有打开任何窗口时,屏幕应该只显示我的桌面背景,不显示任何其他内容。我将使用 alt+f2 来运行程序,我的 shell 提示符会告诉我电池寿命和时间。我会在需要时打开网络控制和音量控制,不需要它们一直污染屏幕。
Fluxbox 或 Openbox 窗口管理器。
我想要一个好用的、简单的终端模拟器。我会将它与 tmux 一起使用。它应该没有标题栏,如果可能的话,没有应用程序框架。如果我必须在全屏模式下运行它来删除应用程序框架,那也没关系,但前提是它仍然能与 alt-tab 和工作区很好地配合使用。
我会说xterm
。
我想要一个非常简单的窗口管理器。它需要支持透明度:我没有太多的屏幕空间,我经常将终端覆盖在浏览器上并输入命令。出于上述原因,我不想要一个仅平铺的系统。平铺和覆盖可加分。
我不知道 Fluxbox 和 Openbox 是否支持所有这些,但我很确定您要求的大多数功能都在其中一个中(抱歉,我使用过它们两个,但我忘了哪个是 Fluxbox,哪个是 Openbox)。
我想要多个工作区。我更喜欢每个工作区都有一个 GUI。如果我可以“固定”终端仿真器,使其始终显示在每个工作区中,那就更好了。如果不能,我可以在连接到同一个 tmux 实例的每个工作区中都安装一个终端仿真器。
再次强调,Fluxbox 或 Openbox :p
我希望有一种方法来设置一个按键,使我始终可以转到当前打开的终端仿真器。目前,90% 的时间我只打开两个窗口:终端仿真器和其他窗口。在这种情况下,alt-tab 就像在两者之间切换一样。如果我打开了另一个 GUI(例如带有 Web 浏览器的开发人员窗口),这会打乱我的工作流程。我希望有一种方法来分配,例如,'super-T' 切换到第一个打开的终端仿真器。如果我还可以分配 'super-B'(或其他)切换到第一个打开的浏览器,那就更好了。
我很确定这是可能的,但我不认为有现成的解决方案可以解决这个问题。
看来你要找的是一个极简主义的发行版,你可以在其上添加应用程序你自己想。
我的建议是,你安装一个具有基本功能的发行版(如果你有时间并且想要自定义,可以选择 Arch Linux一切,否则为 Debian 稳定版),在其上安装 Fluxbox/Openbox 窗口管理器(您可以对它们进行配置以摆脱其中一个默认自带的面板),摆脱默认(如果有)桌面环境(以及,如果有的话,不需要的杂乱和应用程序),重新启动并登录到您的新会话。
答案2
自己动手吧。很久以前,我曾经运行过一个非常类似的设置
openbox 作为基本窗口管理器,你可以用任何你想要的东西来代替它
xcompmgr + transet 用于透明度和设置窗口透明度 - 这将为不具有透明度的窗口管理器添加透明度
tilda 用于您的终端仿真器(它比 guake 更轻,并且如果我没记错的话,它缺少标题栏。
我不记得有多个工作区,我几乎没用过它们
答案3
还要考虑“超棒的”窗口管理器 - 不确定它是否能满足您的所有需求,但它可以通过图灵完备语言(lua)进行配置,因此您的更复杂的按键命令应该是可以实现的。
答案4
我会使用 Windows 7 和 autohotkey 来解决您的大多数问题...您可以调整窗口大小,以便它们的“多余”栏隐藏在屏幕上(但如果您决定需要它们,它们仍然存在),并且您可以使用 ahk 脚本设置工作区,您可以交换窗口,您可以转到最近打开的终端或第一次激活的终端,以任何一种为准。我认为您可以使用 Windows 7 和 ahk 完成所有这些操作。工作区只是使用 ahk 最小化某些窗口并再次激活其他窗口的按键。这唯一没有回答的是...这不是 Linux,而是 Windows 7。