dwm的尝试

dwmapi的出现已不是什么新鲜的事情,早在2006年VISTA推出时就已经有了吧,但是那是我显然还不会编程。而时至今日,这方面的例子还不是很充分,虽然网上有一些例子,但都不是我所想要的简简单单的例子。而且例子大都是来自codeproject上的。我在那个网站上找过一些dwm的demo,印象最深,一直留着的是unmanaged C++ power,因为我也不是很喜欢managed c++。可是那是没有看的明白,今天整理电脑,又将其翻出来看了看,发现与dwm有关的只有一条DwmExtendFrameIntoClientArea(hwnd, &g_mgDWMMargins);虽然这个我早就在网上查到过,但是由于没有体验过,所以还不能说明问题,这回有机会体验了一下,效果不错啊。

如你所见,大部分都是来自codeblocks的模板,我只是将DWM的部分加入了。编译的时候要用cl编译器,因为MINGW中还没有假如相关的库函数,不过应该可以用GCC中的工具将.lib转换成.o或.a但是我没有进行尝试,同时我用.c做扩展名,也是会出现问题的,似乎cl更加是一个c++的编译器,编译的命令是cl aerwindow.cpp user32.lib dwmapi.lib gdi32.lib

gdi32.lib是为了CreateSolidBrush函数加入的。因为我们需要将背景清城黑色才能显示为完全的AERO效果,否则似乎只是针对个别的颜色有效,我不太清楚windows对这些颜色进行了如何的处理,所以先这么的吧,哈哈。

### 如何在 Debian 上安装 dwm 窗口管理器 #### 准备工作 为了成功编译并运行 `dwm`,需要先确保系统中有必要的开发工具和库。对于基于 Debian 的发行版来说,可以通过下面的命令来获取所需的依赖项: ```bash sudo apt-get update && sudo apt-get upgrade -y sudo apt-get install build-essential suckless-tools libx11-dev \ libxinerama-dev libxft-dev ``` 这些包包含了构建 `dwm` 所需的各种资源[^3]。 #### 获取源码 可以从官方网站或其他可信的地方下载最新版本的 `dwm` 源代码压缩包。通常情况下,推荐直接从 [Suckless](https://dl.suckless.org/dwm/) 官方网站获取最新的稳定发布版本。解压后进入对应的目录准备下一步操作。 #### 编译与安装 完成上述准备工作之后,在终端里切换到刚刚解压出来的 `dwm` 文件夹内,接着执行如下指令来进行本地化的修改以及最终的编译过程: ```bash cd path/to/downloaded/dwm-source-code/ make clean install ``` 这将会把可执行文件放置于 `/usr/local/bin/` 中以便后续调用[^5]。 #### 配置启动方式 为了让 `dwm` 成为默认使用的窗口管理器,还需要调整登录管理器的相关设置或者是创建一个新的 `.xinitrc` 脚本来指定它作为 X Window System 启动时的第一个应用程序。如果采用后者,则只需简单编辑家目录下的该文件加入一行 `exec dwm` 即可实现目的。 #### 测试环境搭建 考虑到实际应用场景可能涉及远程访问的需求,可以考虑通过 `xrdp` 来提供图形界面的支持服务。当一切就绪后尝试连接看看效果如何[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值