linux下的dwm的基本安装配置

DWM

dwm(Dynamic Window Manager)由suckless.org开源社区主导,是一款可以在linux上运行的动态窗口管理器(wm)。其他知名的如i3wm,awesome均是基于dwm改编。

软件名称软件平台上线时间最近更新时间软件语言开发商软件权授软件版本软件大小
dwm类Unix平台2011年11月4日2019年2月3日英文suckless.orgMIT/X Consortium license6.266 KB

1.产生背景

许多(开源)黑客为获得大量代码而感到自豪,因为他们相信自己编写的代码行越多,取得的进步就越大。他们取得的进步越多,他们就越熟练。这简直是一种错觉。

实际上,大多数黑客并不在乎代码质量。因此,如果他们得到解决问题的工作,他们就会坚持下去。如果在整个生命周期中将这种软件开发应用于相同的源代码,那么我们将剩下大量代码,完全固定的代码结构和有缺陷的系统设计。这是因为在开发过程中缺乏概念上的清晰性和完整性。

代码复杂性臃肿,难以使用且完全不一致的软件的根源,是使用复杂的代码,问题将以次优的方式解决,宝贵的资源被无休止地束缚着,性能减慢了,并且漏洞变得司空见惯。唯一的解决方案是废弃整个项目并从头开始重写它。

坏消息:高质量的重写很少发生,因为黑客为写大量代码而感到自豪。他们认为他们了解代码的复杂性,因此无需重写它。他们将自己视为策划者,了解其他人永远都希望掌握的内容。对于这些类型,复杂的软件是理想的选择。

巧妙的想法很简单。巧妙的软件很简单。简单性是Unix哲学的核心。您删除的代码行越多,您取得的进展就越多。随着软件中代码行数的减少,您变得越熟练,软件的吸引力就越小。[1]

2.发展历程

dwm补丁提交日志

3.主要功能

基础功能键

Mod1Mask – 键盘左边的Alt键

Mod4Mask – 键盘上的Win键

这个两个功能键是dwm的灵魂所在。如果您想让您的手指不离开键盘,那么您应该尝试着自己定义快捷键。而dwm默认绑定的一套快捷键是使用Mod1Mask,但是与很多IDE冲突。

不排除您觉得Mod1Mask更为方便。因此您完全可以定义两套快捷键。Mod4Mask用于启动一些软件,而Mod1Mask用于切换桌面。Mod4Mask用于启动软件,这个操作不会太频繁;Mod1Mask用于切换桌面,这样在使用dwm的过程中,您可以使用大拇指+数字键的组合很方便在不同的tag之间切换。

操作逻辑

dwm有3种模式:

  • tiled layout
  • floating layout
  • monocle layout

tiled layout 是指软件的窗体可以自由的调节大小,位置。

floating layout 中,dwm维护了一个栈,这个模式下开过多的窗口会导致dwm崩溃。

monocle layout 中,软件被最大化显示到一个tag中。

默认键位绑定

以下的Alt指键盘左边的Alt

  • Alt + 1~9 切换到tag 1~ 9
  • Alt + Shift + c 关闭当前窗口
  • Alt + Shift + 1~9 把当前窗口移动到tag 1~9
  • Alt + Shift + 0 把当前窗口移动到所有tag
  • Alt + Shift + q 销毁此dwm进程

float layout:

  • Alt + Enter 切换窗体栈的主次位置
  • Alt + j/k 切换聚焦窗体

tiled layout:

  • Alt + j/k 上下切换窗体

monocle layout:

  • Alt + j/k 上下切换窗体

  • Alt + p 启动程序

    • 您需要额外安装dmenu。
  • Alt + Shift + Return 启动终端st
    *您需要额外安装st。

三个白色终端的问题

如果您没有这个问题请跳过。

如果您遇到了这个问题,请编辑/etc/X11/xinit/xinitrc,并注释掉这三行,就像这样:

#xclock -geometry 50x50-1+1 & 
#xterm -geometry 80x50+494+51 & 
#xterm -geometry 80x20+494-0 &

实现透明

您需要额外安装窗口渲染器,并在后台默认启动。如:xcompmgr,picom。

解决IDEA不能正常显示的问题

编辑文件~/.xinitrc。如果没有,请创建它。

加入下面三行。注意,您需要先安装wmname。这个软件是suckless.org为了解决Java应用程序在dwm下无法正常显示的问题而创建的。您可以在您的包裹管理器中下载。或者在suckless.org官网下载源代码,编译安装。[2]

export _JAVA_AWT_WM_NONREPARENTING=1
exec $1
wmname LG3D

设置右边的状态信息

一个简单的设置如下图:
在这里插入图片描述

您可以在~/.xinitrc中添加如下shell命令:

while true; do
# do some things
######################################################
#电池 
left=$(cat /sys/class/power_supply/BAT1/capacity)%
status=$(cat /sys/class/power_supply/BAT1/status)
if [[ $status == D* ]];then
    status='未充电'
else 
    status='充电中'
fi
xsetroot -name "$(date +"%F %R" )[$status]:$left"
sleep 2s
 
######################################################
# do some things end 
done &

此脚本可以每隔2s动态的刷新时间和电池的状态信息。
您也可以定义其他的状态信息。

参考资料

1.Philosophy .suckless.org[引用日期2020-05-25]

2.idea-dwm .CSDN.2020-03-18[引用日期2020-05-25]

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Archlinux是一种Linux操作系统,而dwm是一种窗口管理器。dwm是一个非常轻量级的窗口管理器,它的设计理念是简单、高效和可定制化。它使用了一些非常独特的概念,例如动态窗口管理和标签式布局。它的配置文件非常简单,可以通过修改源代码来进行自定义。对于那些喜欢自定义和探索的Linux用户来说,Archlinuxdwm都是非常好的选择。 ### 回答2: Arch Linux是一款轻巧而稳定的Linux操作系统,它拥有庞大的功能强大的软件库,适合高级用户或技术人员使用。而DWM(Dynamic Window Manager)是一个精简的管理窗口的工具包,它允许用户按照自己的需求自定义窗口布局和快捷键,使得用户能够高效地处理任务。 Arch LinuxDWM的组合是非常适合那些想要自定义自己工作环境的高级用户。在这个环境中,用户可以完全根据自己的需求定制安装的软件包,以及利用DWM配置文件来定制自己的窗口管理方案。 同时,Arch LinuxDWM的高度可扩展性也使得它们成为了开发者的首选。用户可以使用模块化的设计来定制自己的开发环境,以此来快速地开发软件。此外,DWM也非常适合那些需要同时处理多个任务的用户,可以通过非常快捷灵活的快捷键来切换和移动窗口。 当然,在使用Arch LinuxDWM时,用户需要具备一定的Linux操作系统知识,这样才能充分发挥这两款软件的优势。需要记住的是:正是因为它们是非常底层的工具,所以它们需要更多的手动配置和个性化设置,但这也正是它们吸引高级用户的原因之一。 总之,Arch LinuxDWM的组合是非常适合那些对个性化、可定制化、高效率工作环境有需求的高级用户或开发者。 ### 回答3: Arch LinuxLinux发行版之一,旨在使用户能够配置和控制系统的每个方面。它是一个轻量级的Linux发行版,拥有众多的用户和社区支持。在Arch Linux中,所有软件包都是最新的,并且它拥有一个类似于排水沟的软件包管理器,使用户可以快速地安装、升级和删除软件包。 DWM是一款非常轻量级的动态窗口管理器,具有高度可定制性和扩展性。它使用了一些XPath支持的脚本语言,可以对所有GUI部件进行编程,这使得它在不同用户之间的组合配置上表现出色。DWM是使用X Window System的,因此它具有兼容性和稳定性。与其他窗口管理器不同,DWM没有菜单、任务栏和图形设置界面等。 Arch Linux DWMin需要全面理解Unix的方式,并具备合适的经验和知识。使用Arch Linux DWMin需要做一些配置和自定义,才能获得最佳效果。在使用过程中,DWMin的文档和Arch Linux ArchWiki是非常重要的资源,因为它们提供了关于使用、配置和调试DWMin的详细信息和建议。 总的来说,Arch Linux DWMin是一款非常灵活和高度可定制的窗口管理器,它非常适合熟悉Linux操作系统和Unix哲学的用户。并且它可以提供更加个性化和高效的Linux使用体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值