dwm窗口管理器增强版dwmplus

讨论openbox,awesome,FVWM等WM
头像
bigsun
帖子: 301
注册时间: 2009-01-11 16:05
送出感谢: 2 次
接收感谢: 11 次

dwm窗口管理器增强版dwmplus

#1

帖子 bigsun » 2011-04-11 22:55

http://code.google.com/p/dwm-plus/

++dwm是一个窗口管理器,配合dmenu调用应用程序,简单高效。配置文件是config.h,每次修改配置后必须重新编译安装使之有效,不过编译的速度极快,主要是其代码量很小,2000+而已。

++增加xft字体的支持,状态栏完美支持中文。

++增加原生系统托盘的功能,不再需要依赖第三方的系统托盘软件,系统托盘功能在配置文件里面可选。

++新增只显示有内容的标签页。(可选:在config.h中的autohide,如果为True则自动隐藏,False则全部显示)

++新增窗口任务列表,支持鼠标左键点击窗口标题栏来切换窗口,右键点击关闭窗口

++关于快捷键,每个人都有不同的习惯和喜好,可自行根据自己的需要修改config.h文件进行配置。本程序用Super(Windows键)代替了Alt键。

++主要文件的用途: dwm-start:启动dwm的脚本,里面包含启动conky以及dwm。这个脚本应该放在当前用户目录下的.xinitrc里面执行。

conkyrc:conky的配置文件,将其拷贝到当前用户根目录下的.dwm里面,如果不存在.dwm目录,则新建它。

config.h:dwm的配置文件,快捷键等的定义在这个文件里面。
头像
susbarbatus
帖子: 2957
注册时间: 2010-04-10 16:14
系统: Arch Linux
送出感谢: 6 次
接收感谢: 68 次

Re: dwm窗口管理器增强版dwmplus

#2

帖子 susbarbatus » 2011-04-11 23:53

目前在用awsome,主要也是嫌dwm简陋了点,这个可以看看
沉迷将棋中……
头像
alvin_rxg
帖子: 21
注册时间: 2009-10-23 18:14
送出感谢: 0
接收感谢: 1 次

Re: dwm窗口管理器增强版dwmplus

#3

帖子 alvin_rxg » 2011-04-27 22:48

你好 bigsun,
参考了你的 hidetag 功能(几乎全盘 copy ..)

另外,提交个 systray 的问题:
在启动带有 tray 的程序后,重启 dwm 或者 改变 resolution,会关闭使用 tray 的程序。
鄙人比较懒,没有通读 dwm 所有代码,也没有去阅读相关的文档。
所以在此请问你有解决方案没?
谢谢!


****** others ******
本人的 dwm 打了以下补丁:
  • pango
    autoresize
    pertag
    autohide unused tags (bigsun's version)
    nmaster
    push
    (nextlayout)
另外修正了部分函数
附件
dwm.c
dwm with patches
(58.47 KiB) 下载 66 次
config.h
config.h
(8.13 KiB) 下载 103 次
real newbie
usbtopc
帖子: 96
注册时间: 2009-06-30 23:05
送出感谢: 0
接收感谢: 1 次

Re: dwm窗口管理器增强版dwmplus

#4

帖子 usbtopc » 2011-04-27 23:02

dwm-plus具有自动执行程序的功能,将你的托盘程序放在~/.dwm/autostart.sh里面执行,重启dwm时(而非登出),托盘程序会自动加载。
裸跑X可能是最后的选择......
目前使用dwm-plus: http://code.google.com/p/dwm-plus/
usbtopc
帖子: 96
注册时间: 2009-06-30 23:05
送出感谢: 0
接收感谢: 1 次

Re: dwm窗口管理器增强版dwmplus

#5

帖子 usbtopc » 2011-04-27 23:04

目前我这边的autostart.sh内容:

代码: 全选

dwm_dir=${HOME}/.dwm

killall conky; conky -c ${dwm_dir}/conkyrc | while read -r; do 
         
 xsetroot -name "$REPLY"; 

done &

nitrogen --restore &

parcellite &
这段代码执行:conky的加载用来显示信息,恢复壁纸,加载剪贴板

我使用scim的输入法,一般放在诸如.xinitrc里面。
裸跑X可能是最后的选择......
目前使用dwm-plus: http://code.google.com/p/dwm-plus/
usbtopc
帖子: 96
注册时间: 2009-06-30 23:05
送出感谢: 0
接收感谢: 1 次

Re: dwm窗口管理器增强版dwmplus

#6

帖子 usbtopc » 2011-04-27 23:11

如果你使用的是dwm-plus,你所遇到的一些问题,一般都能解决。dwm的版本太多,其他的我就不太清楚了,欢迎交流!
裸跑X可能是最后的选择......
目前使用dwm-plus: http://code.google.com/p/dwm-plus/
头像
alvin_rxg
帖子: 21
注册时间: 2009-10-23 18:14
送出感谢: 0
接收感谢: 1 次

Re: dwm窗口管理器增强版dwmplus

#7

帖子 alvin_rxg » 2011-04-27 23:18

usbtopc 写了:dwm-plus具有自动执行程序的功能,将你的托盘程序放在~/.dwm/autostart.sh里面执行,重启dwm时(而非登出),托盘程序会自动加载。
你喜欢每次更改 resolution 或者 restart dwm 之后,重新登录一下 pidgin?再则,不是每个带 tray 的程序都要在 dwm 启动的时候自动加载的。dwm tray patch 本身就是有问题的呀。

另外,我是通过 sh 启动 dwm 的,不需要 dwm autostart

代码: 全选

#!/bin/bash

nitrogen --set-zoom-fill "blablablabla..." &


while (true); do

	if [[ -z `pidof clipboard-daemon` ]]; then
		exec /home/alvin/bin/clipboard-daemon
	fi &

	exec numlockx on &

	exec ibus-daemon -x -r -d &

	if [[ -z `pidof thunar` ]]; then
		exec thunar --daemon
	fi &

	if [[ -z `pidof mpd` ]]; then
		pulseaudio --start
		perl /home/alvin/.mpd/mpd_start_with_stop.pl
		sleep 1
		exec mpd
	fi &


	exec perl /home/alvin/projects/perl/backend/new.pl dwm &
	PID_PERL=$!

	exec trayer --edge top --align right --widthtype request --height 14 \
		--distance -2 --padding 1 &
	PID_TRAYER=$!



	dwm && break

	if [[ $PID_PERL ]]; then
		kill -9 $PID_PERL
	fi
	if [[ $PID_TRAYER ]]; then
		kill -9 $PID_TRAYER
	fi
done
real newbie
usbtopc
帖子: 96
注册时间: 2009-06-30 23:05
送出感谢: 0
接收感谢: 1 次

Re: dwm窗口管理器增强版dwmplus

#8

帖子 usbtopc » 2011-04-27 23:34

dwm-plus目前既可以当做浮动式窗口管理器(有窗口任务列表),也可当做平铺式窗口管理器。

我目前主要用[M]模式(单个窗口最大化),通过鼠标点击窗口任务列表来切换窗口,平铺模式很少用。

如果使用浮动模式,dwm-plus就和诸如jwm等众多的浮动式窗口管理器没有太大区别了,只是少了边框。
裸跑X可能是最后的选择......
目前使用dwm-plus: http://code.google.com/p/dwm-plus/
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙
送出感谢: 4 次
接收感谢: 256 次

Re: dwm窗口管理器增强版dwmplus

#9

帖子 eexpress » 2011-04-27 23:35

增加xft字体的支持
看到这,就会觉得这wm太落后了啊。

支持lz折腾。
● 鸣学
usbtopc
帖子: 96
注册时间: 2009-06-30 23:05
送出感谢: 0
接收感谢: 1 次

Re: dwm窗口管理器增强版dwmplus

#10

帖子 usbtopc » 2011-04-27 23:41

alvin_rxg 写了:
usbtopc 写了:dwm-plus具有自动执行程序的功能,将你的托盘程序放在~/.dwm/autostart.sh里面执行,重启dwm时(而非登出),托盘程序会自动加载。
你喜欢每次更改 resolution 或者 restart dwm 之后,重新登录一下 pidgin?再则,不是每个带 tray 的程序都要在 dwm 启动的时候自动加载的。dwm tray patch 本身就是有问题的呀。

另外,我是通过 sh 启动 dwm 的,不需要 dwm autostart

代码: 全选

#!/bin/bash

nitrogen --set-zoom-fill "blablablabla..." &


while (true); do

	if [[ -z `pidof clipboard-daemon` ]]; then
		exec /home/alvin/bin/clipboard-daemon
	fi &

	exec numlockx on &

	exec ibus-daemon -x -r -d &

	if [[ -z `pidof thunar` ]]; then
		exec thunar --daemon
	fi &

	if [[ -z `pidof mpd` ]]; then
		pulseaudio --start
		perl /home/alvin/.mpd/mpd_start_with_stop.pl
		sleep 1
		exec mpd
	fi &


	exec perl /home/alvin/projects/perl/backend/new.pl dwm &
	PID_PERL=$!

	exec trayer --edge top --align right --widthtype request --height 14 \
		--distance -2 --padding 1 &
	PID_TRAYER=$!



	dwm && break

	if [[ $PID_PERL ]]; then
		kill -9 $PID_PERL
	fi
	if [[ $PID_TRAYER ]]; then
		kill -9 $PID_TRAYER
	fi
done
你说的重启dwm是指什么?我理解的重启是非登出的情况下重启dwm,你所打开的应用程序都在。
裸跑X可能是最后的选择......
目前使用dwm-plus: http://code.google.com/p/dwm-plus/
usbtopc
帖子: 96
注册时间: 2009-06-30 23:05
送出感谢: 0
接收感谢: 1 次

Re: dwm窗口管理器增强版dwmplus

#11

帖子 usbtopc » 2011-04-27 23:46

eexpress 写了:
增加xft字体的支持
看到这,就会觉得这wm太落后了啊。

支持lz折腾。
呵呵,是的,dwm的原始版本并不支持xft,毕竟是国外开发的,无需显示中文之类的,或许他们觉得没必要支持xft,虽然技术层面上很简单。
裸跑X可能是最后的选择......
目前使用dwm-plus: http://code.google.com/p/dwm-plus/
usbtopc
帖子: 96
注册时间: 2009-06-30 23:05
送出感谢: 0
接收感谢: 1 次

Re: dwm窗口管理器增强版dwmplus

#12

帖子 usbtopc » 2011-04-28 0:01

pidgin放在autostart.sh里面执行,重启dwm后,pidgin会进行自动连接,窗口管理器重启,托盘程序会被kill掉,你看任务管理器里面会没有这些托盘程序(如果不在autostart.sh里面执行的话),autostart.sh就是为了解决这些问题而设置的。

当时这个问题也困扰我,后来通过autostart.sh解决了这个问题。
裸跑X可能是最后的选择......
目前使用dwm-plus: http://code.google.com/p/dwm-plus/
头像
alvin_rxg
帖子: 21
注册时间: 2009-10-23 18:14
送出感谢: 0
接收感谢: 1 次

Re: dwm窗口管理器增强版dwmplus

#13

帖子 alvin_rxg » 2011-04-28 0:05

usbtopc 写了:
alvin_rxg 写了:
usbtopc 写了:dwm-plus具有自动执行程序的功能,将你的托盘程序放在~/.dwm/autostart.sh里面执行,重启dwm时(而非登出),托盘程序会自动加载。
-snip-
你说的重启dwm是指什么?我理解的重启是非登出的情况下重启dwm,你所打开的应用程序都在。
对呀,都说了是 restart dwm
以为你看懂了我的 dwm_start 脚本……
real newbie
usbtopc
帖子: 96
注册时间: 2009-06-30 23:05
送出感谢: 0
接收感谢: 1 次

Re: dwm窗口管理器增强版dwmplus

#14

帖子 usbtopc » 2011-04-28 0:05

很难遇到使用dwm的哥们,多多交流! :em11
裸跑X可能是最后的选择......
目前使用dwm-plus: http://code.google.com/p/dwm-plus/
头像
alvin_rxg
帖子: 21
注册时间: 2009-10-23 18:14
送出感谢: 0
接收感谢: 1 次

Re: dwm窗口管理器增强版dwmplus

#15

帖子 alvin_rxg » 2011-04-28 0:13

usbtopc 写了:pidgin放在autostart.sh里面执行,重启dwm后,pidgin会进行自动连接,窗口管理器重启,托盘程序会被kill掉,你看任务管理器里面会没有这些托盘程序(如果不在autostart.sh里面执行的话),autostart.sh就是为了解决这些问题而设置的。

当时这个问题也困扰我,后来通过autostart.sh解决了这个问题。
这不是我要的方案
pidgin 需要保持连接,不能被 kill 的!
X 没有退出,没什么要关闭那些程序?

autostart.sh 是为了解决这个问题而设置的???这和 startx 直接启动个 sh脚本有什么区别
real newbie
回复

回到 “窗口管理器”