CAFE

[강좌] 플럭스박스 기본 가이드 (대략 버전 0.9.11~13 用)

작성자유정호|작성시간06.02.02|조회수771 목록 댓글 0
1) Fluxbox란

FVWM, TWM과 같은 초창기 윈도매니저들을 제 1세대 창관리자, 그리고 현재 가장 널리 쓰이고 있는 통합 데스크탑 환경인 KDE나 GNOME을 제 3세대 창관리자로 분류를 해본다면, Fluxbox는 제2세대 창관리자의 반열에 들 수 있을 것이다. 즉 '가벼운 대신에 처절하게 썰렁하지만' 신경을 좀 써주면 제법 예뻐지는 그런 부류의 윈도매니저 말이다. 따라서 편리하게 통합된 창관리 환경을 제공해주진 못하나 나름대로 편의성과 성능을 적절한 수준에서 구현하고 있고, 특히 낮은 사양의 유저들에게 많이들 추천이 된다. 과거 블랙박스(Blackbox), 일명 '블빡'에 대해서 들어본 분들이 많을 것이다. Fluxbox는 바로 이 블랙박스의 fork 프로젝트로서 블랙박스보다 더 개선된 기능과 연모들을 보여주고 있다.

싱글 클릭으로 손쉽게 작업 전환이 가능하게 일반적인 형태로 바뀐 툴바(이전 블빡은 현재 활성화된 창만이 표시가 되었다), 창의 크기나 위치, 레이어 상태 등을 저장할 수 있도록 강화된 세션, 파이어폭스에서도 편리하게 사용하고 있는 탭의 도입, 그리고 단축키의 기본 지원과 알파 채널, XFT2 의 채택 등등 Fluxbox는 깔끔함과 GNOME/KDE 등에서는 맛보기 힘들었던 날렵함을 유저들에게 만끽해 주고 있으며, 이러한 만족감과 성능이 반대로 모자란 감을 들게 할 수도 있겠지만 fbDesk, Fluxspace와 같은 보조 유틸리티들의 도움으로 Fluxbox는, 2세대 창관리자의 한계를 넘어 사용자들에게 정말 요긴한 기능들의 경우엔 최대한 지원을 해주면서, 동시에 가벼움과 빠른 성능을 추구하는 2.5세대로의 도약을 꿈꾸는 모습을 보여주고 있다. 지금도 활발히 프로젝트가 진행이 되고 있으며 2004년 11월 9일 현재 1.0 버전의 출시를 손꼽아 기다리고 있다. (아... 리눅스에서 1.0이란 버전은 참으로 대단한 의미를 지니는 것일 것이다)


2) 설치 및 시작법

1. 데비안

dselect나 apt-get 등을 이용해서 패키지 설치가 가능하다. 또한 Fluxbox 홈페이지에서 현재 최신 버전을 배포판 별로 패키징해서 제공하고 있다.

Fluxbox 데비안 패키지 URL :
http://logicvortex.net/debian/fluxbox/

이곳에서 deb를 받아가다 업그레이드를 해주면 되겠다.

ex) # dpkg -i fluxbox_0.9.9-1_i386.deb

2. 페도라(혹은 레드햇) 및 수세, 슬랙웨어

각 배포판의 패키지 데이터베이스를 이용하던가
http://fluxbox.sourceforge.net/ 의 오른쪽 중단의 패키지 링크를 따라가서 받을 수가 있다.

3. BSD 계열

역시 포트를 이용하거나 플빡 홈페이지에서 패키지를 다운로드한다.

4. 젠투

헉... 젠투를 안 쓰다보니 깜빡했다. 젠투의 경우는... 자~알 깔면 된다. ( >> ㅑ ~ =3 )

* 0.9.10이 2004년 11월 9일 현재 나와있으며 조만간 1.0이 출시될 것으로 기대되고 있다. 물론 직접 컴파일을 하는 것도 말리진 않겠다. dㅡㅡb 아무튼 설치 뒤 자기 홈디렉토리의 .xsession 같은 엑스 윈도 구동 스크립에 fluxbox를 추가해주면 된다. .xsession은 실행 스크ㅤㄹㅣㅍ이므로 chmod u+x .xsession 으로 실행 권한을 붙여주자. .xsession이 안될 경우에는 .xinitrc 파일로 시도를 해본다. 단 이것은 콘솔로 부팅을 해서 startx를 이용해 엑스 윈도를 띄울 때의 경우이니 gdm나 kdm 사용자들은 알아서 하실 것.

코드:
LANG=ko_KR.EUC-KR
LC_ALL=ko_KR.EUC-KR
LINGUAS=ko_KR.EUC-KR

export XMODIFIERS="@im=nabi"
export LANG LC_ALL LINGUAS
export GDK_USE_XFT=1
export G_BROKEN_FILENAMES=1
export GTK_IM_MODULE=hangul2
export FLASH_GTK_LIBRARY=libgtk-x11-2.0.so.0

xsetroot -solid black         <- 플빡 로딩 전에 화면을 까맣게 정돈한다.
randomsetbg                   <- 월페이퍼를 띄우고
xmodmap ~/.Xmodmap   <- 따로 지정한 키맵도 불러온다.
#xset -b s off m 4 1
#xset -b s off m 2 1
xset -b s off                    <- 스크린세이버는 작동하지 않게 하고
#xgamma -gamma 1.05
nabi&                             <- 나비를 띄운다.

#wmcpuload -bl -lc dodgerblue &  <- 요즘은 아무것도 안 띄우고
#wmnd -w sepgraphs &                <- 아주 단순하게 쓴다.
#wminet &
#wmmemload -bl -lc orange &
#xpenguins -b &
fluxbox                           <- 플빡 실행


5. kdm, gdm, xdm 사용 시에 플빡 실행

각 DM(desktop manager)에서 사용하는 세션 파일을 열어서 위의 .xsession 파일을 사용할 때처럼 필요한 변수를 선언하고 시작시 같이 띄우고 싶은 프로그램을 적어두도록 한다. 직접 컴파일을 하였거나 했을 땐 플빡 세션이 아예 등록되어 있지 않은 경우도 생길 수 있다. 이 때는 직접 플빡을 DM에다가 추가시켜 줘야 한다. 배포판마다 그리고 k/g/xdm 마다 사용하는 설정 파일과 세션의 위치, 그리고 스크립을 구성하는 개개인의 취향은 서로 천차만별이므로 여기서 그 모든 것을 설명하는 것은 무의미한 일. 일반적인 방법은 fluxbox.org의 FAQ 5번과 6번을 각각 참조하도록 하자.

플럭스박스 FAQ 5. How do I add fluxbox to my GDM sessions menu.
플럭스박스 FAQ 6. How do I add fluxbox to my KDM sessions menu.


3) 설정과 메뉴 사용법

- 들어가기에 앞서 -

Fluxbox는 다른 썰렁 일족 창관리자들의 경우와 마찬가지로 바탕화면 빈 곳에서 오른쪽 버튼을 싱클 클릭하는 방법으로 메인 메뉴를 제공한다. 이것을 '플빡 메뉴' 혹은 '메뉴'라고 여기서는 앞으로 부르도록 하겠다. 또한 휠 버튼(가운데 버튼)을 클릭하면 모든 작업공간에 걸쳐 현재 열려있거나 최소화가 된 창들을 다룰 수가 있는데, 이것은 '작업공간 목록(Workspace)'라 부르기로 하겠다. 마지막으로 바탕화면 하단에 MS 윈도즈의 작업막대나 KDE,GNOME의 패널처럼 생긴 녀석을 플럭박스에선 '툴바(toolbar)'라고 지칭하고, 툴바의 각 열려있는 창을 나타내는 버튼은 '아이콘바(iconbar)'로 통용이 된다.

팝업 메뉴를 연다는 표현은 해당하는 곳에 마우스 커서를 대고 오른쪽 버튼을 클릭하여서 상황에 맞는 Context 메뉴를 연다는 걸 의미한다.

1. 설정(Configuration)



Fluxbox의 개괄적인 설정은 플빡 메뉴의 "설정"(Configuration)에서 할 수 있다. 위의 스크린샷은 글쓴이의 설정(Configuration) 메뉴를 이해를 돕는 차원에서 올려놓은 것이다. 개개인의 패키징 상황에 따라 한글 메뉴는 나올 수도, 나오지 않을 수도 있다. 한글화 역시 최신 버전에 맞춰져 있으므로 99%의 동일성 만을 보장한다. :P (각 메뉴 항목을 설명하면서 원래의 영어 단어도 같이 표기를 해두었으니 도움이 되길 바란다.) 참고로 툴바의 작업공간이나 시간을 표시하는 곳에서 팝업 메뉴를 열면(마우스 오른쪽 버튼 클릭) 툴바의 설정만을 따로이 할 수가 있다. 또한 툴바 설정 메뉴는 플빡 메뉴 -> 설정(Configuration)의 하위에도 들어 있다. ^^ 이것은 뒤에서 설명할 Slit, 작업공간 메뉴도 마찬가지, 각각 설정(Configuration) 메뉴의 하위와 플빡 메뉴를 통해서도 접근이 가능하다. 같은 메뉴들에 대해서 두 가지 호출법이 제공되는 셈이다. 설정(Configuration)에서 지정한 값은 ~/.fluxbox/init 파일에 저장이 된다. 남자라면 한번 쯤은 vim ~/.fluxbox/init 에 도전해 보도록 하자. ( ㅡ -)/

그럼 설정(Configuration) 하위의 항목들을 차근차근 살펴보도록 하겠다.

- 활성화 방법(Focus Model)



당연히 창 활성화와 관련이 있다. 클릭시 활성화(Click to Focus), 커서 위치의 창 활성화(Sloppy Focus), 커서 위치 반자동 활성화(Semi Sloppy Focus)가 있는데 뭐 대충 짐작들은 되실 것이다. 커서 위치 반자동 활성화는 커서 아래에 놓인 창이 포커스는 받되 맨 위로 올라오지를 않는다. 활성화된 창 자동 올림(Auto Raise) 옵션이 그래서 있는 것이다. 그럼, 커서 위치 반자동 활성화 + 활성화된 창 자동 올림이면 커서 위치의 창 활성화랑 뭐가 다르냐고 물어올 수가 있겠는데 글쓴이도 잘 모른다.

- Slit



Slit은 간단하게 말해서 윈도메이커, 애프터스텝에서 사용하는 Dock 애플릿들을 실행시킬 수 있게 한, Dock 애플릿들을 위한 개별적인 트레이라고 설명한다면 대충이나마 그 뜻을 헤아린 게 될 것이다. Slit 메뉴에 대한 설명은 7) Slit이란? 에서 자세히 다루도록 하겠다.

- 툴바(Toolbar)



작업공간 이름 변경(Edit current workspace name) ; 통상 툴바 왼쪽에 작업공간이 표시되는데 이 작업공간의 이름을 수정할 수가 있다. 한글명은 제대로 안 되므로 init 파일을 직접 수정하는 방법을 쓰도록 하자.

툴바 너비(%)(Toolbar width percent) ; 툴바의 너비를 정한다. 마우스 좌우 버튼을 클릭하여서 값을 조절할 수가 있다.

자동 숨김(Auto hide) ; 이것을 활성화 시켜두면 툴바가 위치한 곳으로 커서를 가져갈 때만 툴바가 쏘옥~ 나오게 되고 커서를 치우면 다시 숨어버린다. MS 윈도즈에서 작업 막대를 자동 숨김한 것을 연상하면 쉽게 이해가 갈 것이다.

툴바 표시(Visible) ; 툴바를 표시할지 안 할지를 선택한다. 해제시키면 자동 숨김과는 달리 툴바가 전혀 나타나지 않게 된다.

창 최대화 시 덮기(Maximize Over) ; 창을 최대화시킬 때 툴바도 덮고 완전히 모니터를 꽉 채울 지, 아니면 툴바를 덮지 않는 위치로까지만 최대화를 시킬 지 선택한다. 비활성화 시키는 게 당연히 낫지 않을까?

레이어...(Layer)



포토샵 등을 써봤다면 레이어 개념이 어떤 건지 알고 있을 것이다. fluxbox에서 모든 창들은 Above Dock, Dock, Top, Normal, Bottom, Desktop 레이어에 속하게 되며(즉 창들 사이에 높낮이 구분을 주는 셈이다) 창이나 툴바의(혹은 Slit의!) 레이어를 이리저리 바꾸면서 재밌는 장난을 칠 수가 있다. 기본적으로 창들은 Normal 레이어에서 실행이 되게 되어 있고 Top 레이어 등으로 올리면 항상 다른 창들 위에 떠 있게 된다. 툴바가 창에 가려지지 않고 항상 위에서 보이도록 하고 싶다면 레이어를 Normal 이상으로 올리고 아니라면 Normal로 그냥 놓자.

위치(Placement)



툴바의 위치를 정한다. 편한 데다가 놓고 써라.

알파 채널값(Alpha) ; 툴바의 반투명 정도를 설정한다. 좌우 버튼을 사용하고 0은 완전 투명, 255는 완전 불투명이다. 하드웨어 가속을 이용한 알파 블렌딩이 아니므로 어설프게 중간값을 놓으면 시스템 자원을 소비하게 될 것이다. (므하하!) 그리고 나중에 8) Style 에서 언급할 내용과도 관련이 되는데, 이미지 텍스처를 써서 툴바를 꾸미는 경우에는 반투명 설정이 무의미해진다. 반투명하게 해봤자 어차피 픽스맵 이미지로 덮어쓰게 되므로.

아이콘바 모드(Iconbar Mode)



툴바에서 현재 띄어놓은 창들을 가리키는 아이콘바의 표시 방식에 대해 결정을 한다.

표시 안함(None) - 아무 것도 표시하지 않는다.
최소화된 창만(Icons) - 모든 작업공간의 아이콘화(최소화)시킨 창들만 표시를 함.
최소화된 창은 제외하고 표시(NoIcons) - 모든 작업공간의 아이콘화시킨 창은 빼고 표시를 한다.
현재 작업공간에서 최소화된 창만(WorkspaceIcons) - 말 그대로...
현재 작업공간의 최소화된 창 제외(WorkspaceNoIcons) - 두말하면 잔소리
현재 작업공간의 창 표시(Workspace) - 아이콘화시킨 창 포함해서 표시를 함.
모든 작업공간의 창 표시(All Windows) - 역시 아이콘화시킨 창을 포함.

왼쪽 정렬(Left)



왼쪽에서부터 차곡차곡 아이콘바를 채움. 아이콘(각각의 창을 가리키는 막대, 참 용어가 애매한...ㅡㅡ;;)의 너비는 ~/.fluxbox/init 파일에 명시가 되어 있다.

오른쪽 정렬(Right)



오른쪽에서부터.

양쪽 혼합(Relative)



전체 아이콘바의 너비를 아이콘들이 똑같이 배분해서 차지한다.

아이콘 그림 보기(Show Pictures)

파이어폭스나 xchat, gaim 등과 같이 픽스맵 아이콘 이미지를 가진 프로그램은 아이콘바에 아이콘 이미지를 보여줄 수가 있다. 해제하면 당근 아이콘바에는 해당창의 제목표시줄 텍스트만 나타내게 된다. 아직까지 아이콘 이미지가 없는 프로그램에 대한 픽스맵 이미지 지정은 불가능하다. (되면 좋겠는뎅. 그지?)

시계: 12(또는24) 시간제(Clock) ; 12시간/24시간 제를 선택할 수가 있다.

시간 표시 형식 수정(Edit Clock Format) ; 기본적으로 시간, 분, 오전/오후 표시만 나오는 시계의 형식을 바꿀 수 있다. 날짜 등의 추가가 가능하므로 man strftime 에서 직접 찾아보시길... (흐흐흐)

이제 다시 설정(Configuration)의 항목들로 돌아가 보자.



이미지 디더링(Image Dithering) ; 이미지 디더링. 8pp 이상의 색상을 쓰고 있다면 필요가 없는 옵션이므로 해제한다.

창 이동 중 내용 보임(Opaque Window Moving) ; 창 이동 시 테두리만 표시를 할지 아니면 내용을 그대로 보이게 할 지를 선택한다. 엑스 윈도의 구조 상 테두리만 보이게 하고 이동을 할 경우엔 모든 프로세스들이 멈추게 된다. 그러므로 체크를 하여 내용이 그냥 보이도록 하자. 동영상이나 음악 파일의 재생이 멈추는 것을 막을 수 있다.

화면 전체 최대화 (툴바 위치 포함)[Full Maximization] ; slit이나 툴바의 Maximize Over와 같은 옵션이다. 둘 중에 하나라도 체크가 되어 있으면 모니터를 꽈악 채우게 된다. 따라서 이 기능을 쓰지 않으려면 두 군데 모두 해제를 해놔야 한다.

새로 여는 창 활성화(Focus New Windows) ; 새로 실행되는 창이 활성화가 되게 하는 옵션

Focus Window on Workspace Change ; 작업공간 전환 시 각 작업공간의 마지막 활성창을 기억|유지|복원시킨다. 번역하기가 거시기해서 그냥 놔둔 항목.

작업공간 순환식 전환(Workspace Warping) ; 마지막 작업공간에서 다시 NextWorkspace로 이동을 하면 첫 작업공간으로 돌아오게 한다. 그다지 번역이 맘에 들지 않는 것들 가운데 하나.

마우스 휠로 작업공간 전환(Desktop MouseWheel Switching) ; 휠을 돌려서 작업공간을 이동하게 해준다. 옵션에 따라 툴바 위에서도 먹힌다.

임시창 테두리 꾸밈(Decorate Transient Windows) ; 아주 간단한 메시지창과 같은 경우엔 창관리자의 테두리 장식이 달리지 않는 경우가 있는데, 이 경우에도 플빡이 관리를 하게끔 하는 옵션.

클릭 시 창 올림(Click Raises) ; 창을 클릭하면 가장 위로 올라온다. 활성화 방법의 클릭 시 활성화만 체크를 해두면 제목표시줄을 클릭할 때만 위로 올라오게 된다. 따라서 클릭 시 활성화를 골랐다면 이것 역시 체크를 해주자.

안티 앨리어스(AntiAlias) ; XFT2 를 활성화하는 대단히 중요한 옵션. 데비안 패키지는 UTF-8가 아닌 로케일에서는 제대로 표시를 해주지 못하는 버그가 있다.
http://fluxmod.berlios.de/modules.php?name=Downloads&d_op=viewdownload&cid=2 에서 AA patch 패치를 다운받아 적용시킨 뒤 패키징을 하거나, 정식 패키지에 적용이 될 때까지는 꺼놓고 쓰던가, UTF-8로 옮겨가던가 하면 될 듯 싶다. (0.9.12 버전 이후로 수정이 되었다. 이제는 UTF-8 혹은 C 로케일 이외에서도 xft2 폰트들을 마음껏 사용할 수가 있다. ㅎ ㅏ ㅎ ㅏ ㅎ ㅏ !)

반투명 설정(Menu Alpha)



메뉴의 투명도. 역시 0이 완전 투명, 255는 투명 효과 X

2. 메뉴 사용법



플빡 메뉴는 한 개의 텍스트 파일 형태로 존재를 한다. 파일의 경로는 자신의 홈디렉토리 아래에 있는 .fluxbox/init 파일을 열어서 확인이 가능하다.
(~/ 라는 표현이 흔히 쓰이는데, ~는 자신의 홈디렉토리를 의미하는 부호이다. 또한 ~/.fluxbox/ 디렉토리가 보이지 않는다면 일단 플럭스박스를 한번 실행시켜서 디렉토리를 만들게끔 해주자)

코드:
session.menuFile:   ~/.fluxbox/menu


이 항목이 메뉴 파일의 경로를 적어둔 부분이다. 배포판마다 기본적으로 지정되는 메뉴 파일의 경로는 각각 다를 수 있다. 데비안의 경우, 플빡이 menu 패키지에 의존성을 가지고 있으며 새로 패키지를 추가하거나 제거했을 때는 menu 패키지에 의해 자동적으로 갱신이 되는 /etc/X11/Fluxbox/fluxbox-menu 파일을 읽어들이게끔 기본값이 정해져 있다. 하지만 독자적인 메뉴를 쓰려고 할 때는 이것이 불편할 수가 있다. 자신이 기껏 메뉴를 수정해 놨더니 패키지 추가/삭제 뒤 다시 메뉴 파일이 바뀌어 버리기 때문이다. 따라서 기본으로 제공되는 메뉴 파일을 ~/.fluxbox/menu 정도로 복사를 한 다음에 위의 init 파일의 session.menu 항목의 대상을 ~/.fluxbox/menu로 수정하구선 자신의 취향에 맞게 고쳐가며 사용하는 방법이 일반적이다. 아니면 fluxbox-generate_menu 명령을 써도 되는데, 이것을 실행시키면 ~/.fluxbox/menu 파일을 알아서 만들어 준다. 역시 init 파일에서
session.menu 값을 수정해 줄 필요가 있고, 이 경우에는 fluxbox-generate_menu 가 생성해내는 메뉴 속에 사용자의 고유 메뉴를 추가시킬 수 있으므로 나름대로 사용하기가 괜찮은 편이다.

그럼 이번엔 menu 파일을 열어서 중요한 부분을 조금 짚어보도록 해보자.

코드:
$ vim ~/.fluxbox/menu

# This is an automatically generated file.
# Please see <file:/usr/share/doc/menu/README> for information.

# to use your own menu, copy this to ~/.fluxbox/menu, then edit
# ~/.fluxbox/init and change the session.menuFile path to ~/.fluxbox/menu

/etc/X11/fluxbox/fluxbox-menu 파일이 원본이기에 사용자 설정 메뉴를 쓰고 싶을 땐 어떻게 해야하는 지가 주석으로 적혀있다.




코드:
[begin] (Fluxbox)
      [exec] (Eterm) {Eterm}
      [exec] (firefox) {firefox}

메뉴는 [begin]태그로 시작을 한다. 각각의 항목은 [exec]태그로 표현이 가능하고 ()로 묶은 부분이 메뉴에 표시가 되는 텍스트이다. 그 다음에 {}로 묶은 것은 실제 실행 파일의 이름으로, $PATH 환경 변수에 경로가 포함되어 있는 디렉토리의 실행 파일이라면 이와 같이 경로 지정 생략이 가능하다.




코드:
[submenu] (Net)
[submenu] (Browsers)
      [exec] (firefox) {firefox}
      [exec] (mozilla-firefox) {mozilla-firefox}
      [exec] (mozilla) {mozilla}
[end]
[submenu] (Mail)
      [exec] (mutt) {Eterm -e mutt}
[end]
[submenu] (IRC)
      [exec] (xchat) {xchat} </home/trand/.fluxbox/icons/xchat.xpm>
[end]
[submenu] (P2P)
      [exec] (amule) {amule}
[end]
[end]

하위 메뉴를 사용하고자 한다면 [submenu] 태그를 사용하면 된다. 또한 위의 코드를 보면 알 수 있듯이 하위 메뉴 아래에 또 하위 메뉴를 줄줄이 다는 것도 가능하다. 각각의 [submenu] 태그마다 반드시 짝이 맞는 [end] 태그로 닫아주어야 한다는 것도 꼭 기억해 두자.




코드:
[submenu] (IRC)
      [exec] (xchat) {xchat} </home/trand/.fluxbox/icons/xchat.xpm>
[end]

메뉴에 아이콘 이미지를 넣는 것도 가능하다. <> 안에다가 픽스맵 이미지의 경로를 적어주면 표시가 된다. 단 .xpm 이미지만 사용이 가능한데, 0.9.12 버전부터는 --enable-imlib2 옵션을 넣고서 컴파일을 하면 .png 나 .jpg 와 같은 다른 이미지 포맷도 쓸 수 있게 되었다.(이 옵션은 기본적으론 꺼져 있다.)




코드:
[submenu] (Games)
      [exec] (xpenguins) {xpenguins}
      [exec] (xeyes) {xeyes}
[end]
[separator]
[submenu] (유틸) {}
      [exec] (emelfm) {emelfm}
      [exec] (Eterm) {Eterm -8 --buttonbar off --font-fx none --scrollbar off -L 4096}
      [exec] (Firefox) {firefox}
[end]

[separator] 태그는 HTML 태그 가운데 <BR>과 같은 역할을 한다. 따라서 메뉴를 직접 수정해서 쓸 때 깔끔하게 분류를 하고 싶다면 집어넣도록 하자. 비슷한 기능을 하는 태그로써 [nop]이 있다. 그냥 [nop]을 써주게 되면 메뉴에 공란을 만들고,
코드:
[nop] (--------------)

처럼 ()안에 들어간 문자를 이용할 수도 있다.




코드:
[submenu] (Fluxbox 메뉴 )
      [config] (설정)

[config] 태그는 바로 설정(Configuration) 메뉴를 불러들인다. 설정 메뉴은 이렇게 [config] 태그만 써넣어주면 된다.




코드:
   [submenu] (System Styles) {Choose a style...}
      [stylesdir] (/usr/share/fluxbox/styles)
   [end]

플빡 패키지에 들어있는 기본 스타일(플빡에서는 Theme을 스타일이라고 부른다)들을 선택할 수 있다. [styledir] 태그를 쓰고 () 에는 스타일 파일들이 있는 디렉토리의 경로를 적어준다. 일반적으로 이곳의 스타일들은 root 권한으로만 수정이 가능하게 돼 있으므로 일반 사용자들은 자신의 스타일을 따로 등록해서 사용하는 것이 보편적이다.




코드:

   [submenu] (유저 스타일) {Choose a style...}
      [stylesdir] (~/.fluxbox/styles)
   [end]

이렇게 사용자의 홈디렉토리 아래에 스타일을 넣어두면 수정하기도 용이하고 관리하기도 대략 좋타.




코드:
      [workspaces] (Workspace List)


작업공간 목록 역시 [workspaces]라는 태그를 쓰면 플빡 메뉴를 통해서도 불러낼 수가 있다.




은 되어 있고 이[stylesdir] 메뉴는 fluxbox가 미리 지정을 해둔 것으로 각각 fluxbox의 설정과 스타일 메뉴를 열게 해준다. fluxbox의 theme이라 할 수 있는 스타일들의 경로가 두 군데 지정되어 있는 점에 유의할 것.

[workspaces] (Workspaces)
[reconfig] (Reconfigure)
[separator]
[restart] (Restart)
[exit] (Exit)

; [workspace]가 바로 창목록 메뉴이다. 앞서 얘기했듯이 빈 바탕화면에서 휠 버튼을 클릭하거나 이 항목을 통해서 접근할 수 있다. [restart]는 fluxbox의 설정을 이리저리 변경한 뒤에 엑스 윈도를 끝낼 필요없이 바로 재시작해서 변경값을 적용시킬 때 많이 쓰고 [exit]는 당연히 fluxbox, 즉 엑스 윈도를 종료시키게 된다. [restart]에는 한 가지 버그가 있는데 툴바의 트레이에 집어넣어둔 나비 입력기가 재시작 시에 그냥 죽어버린다는 것이다. 따라서 당분간은 재시작을 하고선 나비를 다시 실행시켜주어야 한다. 메뉴에 대한 더 자세하고 명쾌한 설명은 man fluxbox를 통해서 볼 수가 있다. 심화적인 내용을 참조하려면 man 문서를 뒤져보자.

4) init 파일

플럭박스의 가장 핵심적인 리소스 파일이다. 오죽하면 이름부터가 init이겠는가. 플빡 메뉴의 Configuration에서 다루지 않았던 부분들까지도 이 파일을 열고선 설정이 가능하다. 전부 다 뜯어보는 것이 이 글을 읽는 독자 제위 모두의 안녕과 행복을 보장해주는 길이겠지만 흐흐흐, 독감이 나도는 상황이라 몸도 으스스하니 떨리고 손목 받침대도 없이 계속해서 타자를 치는 일도 너무나 힘들다. 특히 손목 밑 부분이 까질 것 같다. ㅡㅡ;; 문서의 개정을 원하신다면 IBM Space Saver II 키보드와 켄싱턴 사가 출시한 젤 타입의 키보드 손목 받침대를 글쓰는 이에게 택배로 부쳐주기 바란다. 단 착불은 수취거부이다.

지금 글쓴이의 init 파일 라인 수가 72줄이다. 이걸 전부 다 살펴보지 못한다는 건 아쉬운 일이지만 어차피 초딩이 아니구서야 스윽~ 보면 누구나가 쉽게 파악을 할 수 있는 단어들로 옵션이 구성되어 있다. 따라서 단어의 뜻은 알겠는데 해석은 언뜻 안되는 것들만 몇 개 찝어서 보도록 해보자. (단, 글쓴이도 전혀 신경쓰지 않고 기본값 그대로 놓고 쓰는 게 있다. 미안타. 이해해라. 워낙에 아는 거 없구 무식해서 그렇다.)

$ vim ~/.fluxbox/init

session.screen0.workspaceNames:

; 작업공간 이름을 여기에 직접 적어줘도 된다. 한글로 써도 알아서 변환이 되지 개의치 말 것. 마지막 이름 뒤에도 쉼표를 찍어두는 걸 잊지 말자. 보기] session.screen0.workspaceNames: \272\273 \301\370 , \276\325\270\266\264\347 , \301\337 \276\323 , \270\326 \306\274 , \274\266\270\326\306\274 ,

session.menuFile:

; 메뉴에 대한 설명을 하면서도 언급했듯이 사용자 정의 메뉴를 쓰려 한다면 그 메뉴 파일의 경로를 이곳에서 고쳐주어야 한다.

session.keyFile:

; 곧 설명하게 될 단축키 정의 파일도 /etc/X11/fluxbox에서 시스템 전체적인 걸 기본적으로 쓰게 되어 있다. 이것 역시 사용자가 따로 수정해서 쓰려 한다면 경로 수정을 해주자.

session.styleFile:

; /usr/share/fluxbox/styles 인 기본 스타일 경로는 일반 사용자가 새로운 스타일을 추가할 수 있는 권한이 없는 디렉토리이다. 그러므로 자기 홈 디렉토리 아래에 다른 스타일 디렉토리를 더 첨가해서 사용자 고유의 스타일들을 등록시킬 수가 있다.

session.cacheMax:

; 플빡이 엑스 서버에게 이미지 캐시에 할당할 메모리 값을 지정한다. 단위는 kb이므로 큰 이미지를 바탕화면에 깐다거나 픽스맵을 theme등에 사용한다면 크게 값을 잡아주자. 기본값은 200. 메모리가 부족하다면 당연히 기본값으로 만족해야 하겠고.

session.slitlistFile:

; slit의 배열 순서를 정해둔 slitlist 파일의 경로를 지정한다. 이 부분은 아래에서 slit을 설명하면서 자세히 다루도록 하겠다.

session.screen0.strftimeFormat:

; 툴바에 나타나는 시계의 형식을 바로 이걸로 바꿀 수 있다.

ession.colorsPerChannel:

; 플빡이 가상색상 출력에 사용할 컬러수를 얼마나 사용할 지를 지정한다. 자세한 사항은 솔직히 잘 모르겠고 8비트 컬러 사용 시에 4가 맞는 값이라고 한다. 기본값 역시 4이고 그래서 그냥 글쓴이도 4를 쓰고 있다.

session.titlebar.right: Minimize Maximize Close

; 창 타이틀의 오른쪽에 놓일 버튼 들을 정한다. 최소화/최대화/닫기 버튼이 오른쪽엔 놓이게 되어 있다.

session.titlebar.left: Stick

; 역시 마찬가지로 창 타이틀 왼쪽에 놓일 버튼을 정한다. 고정 버튼 하나만 놓게 되어 있다.

이 문서에서 설명이 누락된 옵션들 가운데 이해가 잘 되지 않는 것들이 있다면 man fluxbox를 참조하자. 물론 그냥 기본값을 쓰는 것도 전혀 문제될 게 없고 글쓴이 역시 몇 가지 옵션들은 그냥 기본값을 사용하고 있다.

5) 창 제어 & 작업공간 제어 & 툴바 사용법 with 창목록 메뉴 설명

1. 창 제어

플빡의 창을 보게 되면 일단 창제목과 버튼들이 위쪽에 달리게 된다. 그리고 창 아래에는 얇게 또 테두리가 표시가 되는데 이 부분은 handle과 grip이다. grip은 좌우 가장 자리에 조금 다른 모양을 하고 있는 부분으로서 이 곳에다가 커서를 대고 마우스 왼쪽 버튼을 드래그해서 창의 크기를 조절하도록 되어 있다. 그리고 나머지 가운데 부분은 handle로서, 창 타이틀의 제목 표시 부분과 이 handle을 역시 왼쪽 버튼 드래그하면 창의 이동이 가능하다. 창의 좌우 부분도 KDE/GNOME이나 윈도즈에서처럼 테두리를 넣을 수가 있는데 이 좌우의 테두리를 플빡에서는 프레임이라고 부르고 있다. 하지만 흔히 엘레강스한 외향을 위해서 좌우의 이 프레임은 표시를 하지 않도록 대다수의 스타일에선 명시를 하는 입장이다. 테두리 부분이 얍실하니 날렵하게 생긴 것도 플빡의 특징 가운데 하나로 꼽을 수가 있겠다. (참고로 프레임이 표시가 되도록 했다면 이 프레임 역시 왼쪽 버튼 드래그로 창을 이동시키는 것이 가능하다) 아무튼,

Alt를 이용한 창 제어법이 또한 있는데, ~/.fluxbox/init 파일에

session.useMod1: true

라는 라인을 추가하면 창의 아무 부분에서나 Alt 키를 누르고서 왼쪽 마우스 버튼 드래그로 창을 이동시킬 수 있다. Alt + 오른쪽 버튼 드래그는 창의 크기 조절이고, Alt + 가운데 버튼(휠 버튼)은 아직까지 연결된 창 제어 기능이 없으니 열정이 있는 여러분들 가운데 누군가가 보완을 해서 플빡 프로젝트 관리자에게 보내준다면 다음 번 버전 때 반영이 될 지도 모를 일이겠다. ^^

제목표시줄 좌우에는 기본적으로 Sticky 버튼이 왼쪽에, 최소화 버튼/ 최대화 버튼/ 닫기 버튼 이 3개가 오른쪽에 달리게 된다. Sticky 버튼은 여러 작업공간을 쓸 때 창을 어느 작업공간에서도 보이도록 하며 토글 버튼이므로 클릭해줄 때마다 Sticky 상태가 각각 활성/해제된다. 최소화 버튼이야 뭐 말할 필요가 없겠고 최대화 버튼은 왼쪽 버튼으로 클릭을 했을 경우엔 전체화면 최대화가, 오른쪽 버튼으로 클릭했을 땐 가로 최대화, 휠 버튼으로 클릭했을 땐 세로 최대화가 된다.

창제어의 마지막 방법으로 창 제목 표시줄이나 툴바에서의 팝업 메뉴가 있다. 창제목 표시줄과 툴바의 해당 창에서 불러낼 수 있다.

Shade : 말아넣기. 창제목 표시줄만 남기고 창이 말 그대로 위로 말려올라간다. 역시 토글 기능이기에 Shade 상태에서 다시 한번 선택을 하면 Unshade가 된다.
Stick : 버튼에서 살펴본 바로 그 Stick 기능이다.
Maximize : 역시 창 최대화. 전체 최대화 밖엔 여기선 안된다.
Iconify : 아이콘화. 창 최소화이다.
Raise : 툴바에서 최소화된 창을 다시 올리거나 혹은 다른 창 밑에 깔려 있던 창을 위로 올려준다.
Lower : 현재 창을 다른 창 아래로 내린다. (왜 이런 걸 만들었지..?)
Send To : 창을 다른 작업공간으로 보낼 수 있다.
Layer : 창의 레이어를 재 지정한다.
Remember : 플빡의 세션 기능이라고 할 수가 있다. 창이 뜨는 작업공간과 다음 번에 또 그 창을 열었을 때(즉 유틸을 실행시켰을 때) 그 작업공간으로 이동할지의 여부, 창의 위치와 크기, Sticky 및 Shade 여부와 Layer 등을 기억시켜 둘 수가 있다. Decoration는 제목 표시줄, 버튼, 프레임, grip과 handle의 표시 여부를 기억하는 것이다.(단축키 명령 중에 이 창 장식들을 한번에 붙였다 뗐다 하는 명령이 있음) 설정 값들은 ~/.fluxbox/app에 저장이 되고 한 가지 아쉬운 점은 옵션들의 체크 여부가 표시가 되지 않아서 헷갈릴 때가 있다는 것이다. 1.0 버전 때는 이 부분이 개선이 되었으면 하는 바램이다. 모든 항목들은 toggle 이기에 활성과 해제가 반복된다. 그리고 주의해야할 점이, 한 프로그램에 포함되는 창들은 모두 다 한 가지로 인식이 되기 때문에 예를 들어 파폭을 최대화 해놓구선 크기와 위치를 기억시켰다면 파폭의 다운로드 창도 최대화된 채로 표시가 된다는 점이다. ㅡㅡ;; 다행히 일반적으로 최대화를 해놓구서 쓰는 프로그램들은 대부분 자체적으로 '말 안 해도' 창의 크기를 알아서 잘 기억해주므로 창의 위치 정도만 기억해놓구 쓰면 될 것이다. 가장 마지막의 Save on close는 위의 모든 사항들을 매번 창 종료시 때마다 갱신하도록 하는 것인데 취향에 따라 불편할 수도, 편할 수도 있으니 알아서 하실 것
Close : 두말할 것도 없는 창닫기.

끝으로 Alt + TAB 창 전환은 단축키 명령에 포함이 된다. Alt + TAB을 비롯한 그 밖의 여러 창 관련 명령들도 단축키에 물려서 쓰도록 되어 있으니 이 부분은 6) 단축키 등록 에서 자세히 다루도록 하겠다. 툴바의 시계 왼쪽에 붙은 화살표 모양의 버튼을 이용해서도 창 전환이 가능하고 창목록 메뉴를 이용하면 모든 가상공간의 창들에 대해서 제어를 할 수가 있다.

2. 작업공간 제어

일단 작업공간 간의 이동은 툴바 왼쪽의 작업공간 이름 표시 오른쪽에 붙어있는 화살표 버튼들을 이용한다. 그리고 역시 단축키를 등록시켜서 할 수도 있다. 새 작업공간 추가를 하거나 맨 뒤의 작업공간을 삭제하려면 창목록 메뉴를 열어서 각각 New Workspace, Remove Last를 해주자.

3. 툴바 사용법

바로 눈으로 확인할 수 있듯이 툴바는 작업공간 - 작업공간 버튼 - 아이콘 바 - (트레이) - 창 버튼 - 시계 으로 구성된다. 트레이에는 나비나 amule 등을 띄우면 아이콘이 들어간다. 작업공간 표시 부분과 시계 부분에서는 마우스 오른쪽 버튼을 클릭하여 플빡 메뉴에서 툴바와 관련된 팝업 메뉴만을 따로이 불러낼 수가 있고, 작업 공간 버튼과 창 버튼은 위에서 언급한 대로 작업공간과 창 간의 전환 시에 쓰인다. 아이콘 바는 현재 띄워놓은 창들을 확인할 수가 있고 왼쪽 버튼의 싱글 클릭으로 창 전환 및 활성화/최소화를 손쉽게 할 수 있으며 오른쪽 버튼을 클릭하여 5) - 1. 창 제어 에서 언급한 팝업 메뉴를 부를 수가 있다.

6) 단축키 등록

플빡의 꽃이다. 플빡에서 단축키에 붙여서 쓸 수 있는 명령들의 목록을 한번 뿌려보겠다.

<윈도 매니저 명령들>

Restart argument
Quit
Reconfigure
SetStyle argument
ExecCommand, Execute or Exec command

<현재 활성화된 창과 관련된 명령들>

Minimize, MinimizeWindow or Iconify
Maximize, MaximizeWindow
MaximizeVertical
MaximizeHorizontal
ResizeTo‎ width height
Resize delta-width delta-height
ResizeHorizontal delta-width
ResizeVertical delta-height
MoveTo‎ x y
Move delta-x delta-y
MoveRight delta-x
MoveLeft delta-x
MoveUp delta-y
MoveDown delta-y
Raise
Lower
Close
Shade, ShadeWindow
Stick, StickWindow
ToggleDecor
SendToWorkspace number : Sends the current window and takes you with it.
KillWindow
NextTab

PrevTab
MoveTabLeft
MoveTabRight
DetachClient

<작업공간 명령들>

NextWorkspace
PrevWorkspace
RightWorkspace by-number
LeftWorkspace by-number
Workspace number
NextWindow by-number
PrevWindow by-number
NextGroup by-number
PrevGroup by-number
ArrangeWindows
ShowDesktop - Iconifies all windows.
RootMenu
WorkspaceMenu
WorkspaceNameDialog - edit workspaces name dialog (old SetWorkspaceName)
SetWorkspaceName name

<특수 명령들>

MacroCmd
ReloadStyle
SetResourceVal‎ue resourcename resource value
BindKey key string : action - this will append key string and action to your keys file and bind the key

단축키의 등록은 데비안 배포판의 경우에 /etc/X11/fluxbox/keys에 들어가게 되며 물론 init에서 key 파일의 경로를 수정한 뒤 홈 디렉토리로 복사를 가져와서 사용자가 자유자재로 수정해서 쓸 수가 있다. fluxkeys라는 유틸을 사용할 수도 있는데 fluxbox와 버전이 안 맞는 건지 버그가 있는 건지, 새로운 항목을 추가하다가 종종 key 파일 전체를 날려먹는 경우를 여러 번 당해봤다. 또한 fluxkeys에는 위에 명시한 저 명령들이 다 나와 있지도 않고 해서 vim으로 직접 입력을 하는 방법을 권장하는 바이다.

글쓴이가 쓰고 있는 단축키를 간략하게 살펴보도록 하자. 여기서 Mod1는 Alt키를, Shift키, Control키는 당연히 시프트키, 컨트롤키를 가리킨다.

Mod1 Tab :NextWindow

; Alt + TAB 키를 사용할 수 있다.

Mod1 1 :Workspace 1
Mod1 2 :Workspace 2
Mod1 3 :Workspace 3
Mod1 4 :Workspace 4
Mod1 5 :Workspace 5

; 각각의 작업공간으로 이동하는 단축키이다.

Mod1 Shift f :ExecCommand firefox
Mod1 Shift x :ExecCommand xmms
None F11 :ExecCommand emelfm
Mod1 Shift g :ExecCommand gaim
Mod1 Shift e :ExecCommand Eterm -O -8 --buttonbar off --font-fx none --scrollbar
Mod1 Shift q :ExecCommand gqview
Mod1 Shift c :ExecCommand gmrun
Mod1 Shift p :ExecCommand gimp
Mod1 Shift a :ExecCommand amule
Mod1 Shift h :ExecCommand xchat
Mod1 Shift v :ExecCommand gimv
Mod1 Shift i :ExecCommand Eterm -O -8 --font-fx none -T aumix -n aumix -e aumix
Mod1 Shift o :ExecCommand openoffice

; 여러 가지 프로그램들 역시 ExecCommand를 통해서 단축키로 손쉽게 실행이 가능하다. None F11 과 같이 키 하나 만을 눌러 실행이 되게 할 수도 있다.

Mod1 Shift F12 :ExecCommand ue
Mod1 Shift F11 :ExecCommand mount /mnt/cdrom

; ue는 /usr/local/bin에 직접 만든 간단한 스크립으로, 각각 Alt + Shift + F11/F12 조합으로 씨디 드라이브를 마운트/언마운트(+씨디롬 열기)하게 해놨다.

Control Mod1 Up :ExecCommand aumix -w +4
Control Mod1 Down :ExecCommand aumix -w -4

; Ctrl + Alt + 위아래 방향키로는 각각 웨이브 볼륨을 4만큼 올리고 내린다.

Mod1 F4 :Close
Mod1 w :MaximizeWindow
Mod1 v :MaximizeVertical
Mod1 h :MaximizeHorizontal
Mod1 z :Minimize
Mod1 s :ShadeWindow
Mod1 d :ToggleDecor
Mod1 c :Stick
Mod1 Shift F4 :KillWindow

; 창제어 팝업 메뉴에 있는 기능들을 단축키로도 조작할 수가 있다. ToggleDecor는 창의 장식(제목 표시줄, 버튼, 프레임, grip, handle)을 한꺼번에 없애고 다시 보이게 할 수 있다. KillWindow가 Close와 다른 점은 프로그램이 다운되어서 정상적인 종료가 불가능할 때에 사용한다는 점이다.

Control Escape :RootMenu
Mod1 Return :WorkSpaceMenu

; 플빡 메뉴와 창목록 메뉴도 단축키로 호출이 가능하다. 단 아직까지 아쉬운 점은 메뉴를 불러낸 다음에 다른 창을 Alt + TAB로 활성화 시키면 메뉴가 사라지지 않고 그대로 남아 있다는 점이다. 창목록 메뉴 역시 키보드 만으로 조작하기에는 아직 조금 불편한 점이 있다.

Mod1 Right :MoveRight 12
Mod1 Left :MoveLeft 12
Mod1 Up :MoveUp 12
Mod1 Down :MoveDown 12

; alt + 방향키를 써서 창을 움직일 수 있다. ㅡㅡV

Mod1 Shift Right :ResizeHorizontal 5
Mod1 Shift Left :ResizeHorizontal -5
Mod1 Shift Down :ResizeVertical 5
Mod1 Shift Up :ResizeVertical -5

; Alt + Shift + 방향키는 창의 크기 조절이다. VㅡㅡV

Control Mod1 Right :NextWorkspace
Control Mod1 Left :PrevWorkspace

; Ctrl + Alt + 좌우 방향키로도 작업공간 이동이 가능하도록 해놨다.

Mod1 x Mod1 1 :sendtoworkspace 1
Mod1 x Mod1 2 :sendtoworkspace 2
Mod1 x Mod1 3 :sendtoworkspace 3
Mod1 x Mod1 4 :sendtoworkspace 4
Mod1 x Mod1 5 :sendtoworkspace 5

; Alt 키를 누른 상태에서 x를 누르고 다시 1 ~ 5 를 누르게 되면 활성화된 창을 1 ~ 5번 작업 공간으로 이동시킨다.

단축키를 등록할 때의 유의점은 일단 사용하는 프로그램의 단축키와 겹칠 경우에는 플빡의 단축키만이 인식이 된다는 것이다. 그러므로 서로 최소한의 간섭을 하는 범위에서 배치를 하도록 하라. <특수 명령들>의 경우는 아직 초보라 어떻게 쓰는 지를 파악하지 못했다. 추후에 밝혀낸다면 보강을 하도록 하겠다. (물론 그 전에 다른 분께서 먼저 알려주시는 것도 대환영이다)

7) Slit이란?

윈도메이커(WindowMaker)의 앙증맞은 Dock 애플릿들이 그리우셨던 분들은 slit을 써서 Dock 애플릿들을 Fluxbox에서도 계속 사용할 수 있다. 'Dock 애플릿이 들어갈 수 있는 플럭박스의 특별한 프레임'. 플럭박스 Info 문서에서 기술하고 있는 slit의 정의이다. 플빡에서 Dock 애플릿들을 실행하게 되면 기본적으로 slit에 위치하도록 되어 있으며, 앞서 플빡 가이드 #1에서 잠깐 살펴본 대로 slit에 대한 설정은 플박 메뉴 - Configuration - Slit 에서 해줄 수가 있다. 물론 slit의 가생이(테두리)에다가 커서를 대구선 오른쪽 버튼을 클릭해도 된다. slit의 이 얼마 안되는 테두리에 대해서도 스타일 파일에서 설정이 가능하다.

Placement ; slit의 위치를 지정한다. 맘에 드는 곳을 이리저리 옮겨가며 결정하자.
Layer ; 포토샵 등을 써봤다면 레이어 개념이 어떤 건지 알고 있을 것이다. fluxbox에서 모든 창들은 Above Dock, Dock, Top, Normal, Bottom, Desktop 레이어에 속하게 되며 창이나 slit의(혹은 툴바의!) 레이어를 이리저리 바꾸면서 재밌는 장난을 칠 수가 있다. 기본적으로 창들은 Normal 레이어에서 실행이 되게 되어 있고 Top 레이어등으로 올리면 항상 다른 창들 위에 떠 있게 된다. Dock 애플릿들을 항상 보고자 한다면 레이어를 Normal 이상으로 올리고 아니라면 Normal로 그냥 놓자. Bottom과 Desktop 레이어는 slit에 있어선 무의미하다.
Auto hide ; 이 것을 활성화 시켜두면 slit이 위치한 곳으로 커서를 가져갈 때만 slit이 쏘옥~ 나오게 되고 커서를 치우면 다시 숨어버린다. MS 윈도즈에서 작업막대를 자동 숨김한 것을 연상하면 쉽게 이해가 갈 것이다.
Maximize Over ; 창을 최대화 시켰을 때 slit도 덮고 완전히 모니터를 꽉 채울 지, 아니면 slit를 덮지 않는 위치까지만 최대화를 할 지를 선택한다. 1024 x 768 이상 해상도이고 Dock 애플릿을 계속 체크해봐야 하는 입장이라면 선택해보는 것도 무방.
Alpha ; slit 테두리 프레임의 투명도를 정한다. 0이면 완전 투명, 255면 완전 불투명이 된다. 아직은 버그가 있어서 0으로 값을 정해 놔도 엑스 윈도를 처음 시작했을 땐 투명 효과가 나지 않고, 일단 다른 창이 slit을 한번 덮고 나서야 투명하게 바뀐다. ㅡ.ㅡ 마우스 좌우 버튼을 클릭하여서 값을 조절할 수가 있다.
Slit Direction Vertical ; slit에 들어간 Dock 애플릿들의 방향을 정한다. Vertical은 당근 세로 방향, Horizontal은 가로 방향임.


! SLIT

slit: flat gradient vertical
!slit.pixmap:
slit.color: #FFFFFF
slit.colorTo: #DEDEDE
slit.borderWidth: 1
slit.bevelWidth: 0
slit.borderColor: #DEDEDE
slit.alpha: 0

각각의 라인에 대한 설명은 8) theme에서 다룰 내용과 중복이 되므로 생략하고, 보는 것과 같이 대충 slit의 겉모양과 그라이언트 시 색상, 테두리(border)의 두께를 지정하고 있다. slit의 배치 순서에 대해서도 사용자가 설정을 해줄 수가 있는데, ~/.fluxbox/init 파일에서

session.slitlistFile: /home/trand/.fluxbox/slitlist

와 같이 slitlist 파일을 지정해 놓구선 slitlist 파일을 만들어주면 된다.(물론 파일명은 개인의 취향에 따라서 자유롭게 ^ㅅ^) 파일 형식은 단순하게 그냥 원하는 순서로 Dock 애플릿들의 이름을 적어주면 된다.

wmcpuload
wmnd
wminet
wmmemload

실제 Dock 애플릿들의 실행은 ~/.xsession 과 같은 엑스 윈도 구동 파일에서 한다. 실행파일명과 원하는 옵션을 fluxbox의 앞에다 써주면, slitlist에 지정된 순서로 Dock 애플릿들이 플빡이 시작할 때 같이 slit에 뜨게 된다.

xset -b -dpms s off
xgamma -gamma 1.05
nabi&
wmcpuload -bl -lc dodgerblue &
wmnd -w sepgraphs &
wminet &
wmmemload -bl -lc orange &
fluxbox

kdm, gdm의 경우엔 아시다시피 글쓴이가 사용을 하고 있지 않으므로 모름! 각 Display Manager가 사용하는 고유 세션 파일을 열고선 넣어주면 될 것이다. (흐흐흐 무책임주의당...)

8) Style

플빡은 theme 대신에 스타일이라는 용어를 사용한다. 뭐 theme이건 스타일이건 간에 플빡의 외형을 다양하게 바꿔볼 수 있다는 건 동일하다. 스타일은 한 개의 파일 속에 플빡의 각 요소들(툴바, 창, slit 등등등)에 대한 그 스타일 나름의 지정값들을 포함하고 있어서 플빡 메뉴 -> Style 에서 선택을 하게 되면 그 파일의 내용들을 읽어들이곤 적용을 하는 식이다. /usr/share/fluxbox/styles에 기본적인 스타일들이 들어가 있고 ~/.fluxbox/styles 과 같은 곳에다 사용자마다 자신이 따로 입수한 스타일을 넣어놓고서 쓸 수도 있다. 물론 앞서 플빡 0.9.10 초보 가이드 #1에서 언급한 대로 메뉴 파일의 [stylesdir] 태그에 추가로 스타일 경로를 지정해줘야 할 것이다.

플빡의 스타일로 다룰 수 있는 것들을 한 번 나열해 보자.

- border, bevel, handle 등의 테두리나 끝단
- 폰트
- 툴바(작업공간 표시칸, 시계, 아이콘바)
- 메뉴
- 창(당연히!)
- slit
- 월페이퍼

스타일에서는 툴바와 메뉴, 윈도 이 3가지가 가장 상위이자 중심적인 대상이고 그 아래로 하위 항목들을 나누어 가면서 각각을 설정하게 된다. 그럼 백문이 불여일견, 글쓴이가 현재 사용 중인 inuendo 스타일을 훑어보면서 대략적인 이해를 시도해 보도록 하자.

! title: inuendo
! by: marsatronic
! web:
http://www.marsatronic.fr.st

inuendo 스타일의 제작자가 넣어둔 프로필인 듯 싶다. 이와 같이 스타일 파일에서의 주석달기는 !, #, // 중에서 손에 익은 것을 사용하면 된다.

! t o o l b a r

toolbar.button.picColor: #000000
toolbar.button.color: #ffffff
toolbar.button.colorTo: #aaaaaa
toolbar.button: flat gradient vertical
toolbar.button.borderWidth: 0
toolbar.button.borderColor: #cccccc

먼저 툴바(toolbar)를 다루고 있다. 스타일을 적용할 대상이 명시가 되고 : 뒤에 값을 쓰는 식이다. 스타일을 먹일 수 있는 사항으로는

- 평평함(flat), 튀어나옴(Raised), 움푹 패임(Sunken)과 같은 외형과 : Flat / Raised / Sunken / Tiled
- 색을 그라디언트로 쓸 것인가 아니면 단색으로 할 것인가, : Gradient / Solid
- 그리고 그라디언트라면 그 방향은 어느 쪽으로 잡을 것인가 하는 색 지정, : Horizontal / Vertical / Diagonal / Crossdiagonal / Pipecross / Elliptic / Rectangle / Pyramid / Interlaced
- 혹은 이미지 텍스처를 붙이고자 한다면 이미지 텍스처 사용 지시 : pixmap

이 있다. 그리고선 구체적으로 값을 집어넣거나 이미지 텍스처의 경로를 정하고 폰트의 종류와 크기 등등을 써넣어주면 되는 식이다. 일단 툴바 버튼에 flat gradient vertical이라는 속성을 부여했는데, 이것은 툴바 좌우에 한 쌍씩 달려 있는 화살표 버튼 부분을 평평한 모양으로 만들고 수직 그라디언트가 적용되게 만든다. color과 colorTo는 각각 그라디언트에 쓰일 시작색과 끝색을 지정해둔 것이다. 스타일에서의 색 지정은 #ffffff, rgb:FF/FF/FF, 혹은 white 처럼 세 가지 형식으로 표현이 가능하다. picColor는 버튼에서만 쓰이는 명령으로 버튼의 색을 정한다. borderWidth는 버튼 둘레에 테두리(border)를 두르도록 할 때 이용되며, 이 스타일에서는 사용을 하지 않게 0으로 값이 잡혀 있다. borderColor는 당연히 border의 색을 나타낸다.

toolbar.button.pressed.color: #aaaaaa
toolbar.button.pressed.colorTo: #cccccc
toolbar.button.pressed: flat gradient diagonal

이번엔 툴바 버튼을 눌렀을 경우(pressed)를 명시해 놓았다. 이렇게 해두면 버튼을 눌렀을 때, 그라디언트의 색과 방향이 바뀌면서 사용자가 버튼 클릭 여부를 눈으로 쉽게 식별할 수 있다. borderWidth와 borderColor는 여기에서 생략이 되었는데, 이때는 상위 개념에 해당하는 toolbar.button.borderWidth와 toolbar.button.borderColor의 값을 그대로 사용하게 된다. 스타일 파일 내의 다른 모든 경우에도 마찬가지로 부가적인 요소들에 대한 지정이 따로 없다면 상위의 것을 따르게 된다. 또한 뒤에서 나오겠지만 와일드 카드(*)의 사용 역시 가능하다.

toolbar.clock.textColor: #000000
toolbar.clock.color: #ffffff
toolbar.clock.colorTo: #888888
toolbar.clock: sunken gradient vertical

툴바 오른쪽의 시계(clock)를 다루고 있다. textColor는 말 그대로 문자색을 정할 수 있다. 그리고 clock의 외형이 sunken gradient vertical 로 정의되어 있는데, 이러면 flat으로 잡혀 있는 옆의 툴바 버튼에 비해서 살짝 안으로 가라앉은 모양을 띄게 된다.

toolbar.color: #ffffff
toolbar.colorTo: #888888
toolbar.textColor: #000000
toolbar.justify: Center
toolbar: flat gradient vertical
toolbar.borderWidth: 0
toolbar.borderColor: #cccccc

툴바의 가장 상위적인 지정을 하고 있다. 이것에 따르면 툴바는 평평한 형태(flat)로 #ffffff에서 #888888 색으로 흐르는 세로 그라디언트를 가지며 작업공간, 아이콘바, 시계의 글자들은 검정색을 띄고선 가운데 정렬을 하게 된다. 그리고 border의 색은 #cccccc지만 크기가 0이므로 효과가 없어야 할텐데, 실제로 이 스타일을 써보면 1픽셀짜리 border가 툴바에 적용이 된다. 이유는 이 스타일 파일의 맨 아래에서 일괄적으로 border의 값을 1로 주었기 때문이다. toolbar의 값은 앞서 밝힌 대로 각각의 toolbar.button, toolbar.clock, toolbar.iconbar 등의 하위 항목에서 명시한 것들에 의해서 갱신이 될 것이다.

toolbar.label.textColor: #000000
toolbar.label.color: #888888
toolbar.label.colorTo: #ffffff

이 부분(label)은 툴바 왼쪽의 작업공간을 지정하고 있는데, 사실 0.9 이상 버전에서는 workspace를 쓰게끔 되어 있다. 그러나 아래를 보면 알겠지만, workspace와 혼용이 되고 있다. 수정을 하긴 해야하는데 귀찮아서 그냥 쓰고 있다. ㅡㅡa (뭐 어차피 내가 만든 것도 아니고...)

toolbar.iconbar.focused: sunken gradient crossdiagonal
toolbar.iconbar.focused.textColor: #000000
toolbar.iconbar.focused.color: #ffffff
toolbar.iconbar.focused.colorTo: #888888
toolbar.iconbar.focused.font: -*-helvetica-bold-r-normal--12-*-*-*-*-*-*-*,-*-hyrgothic-bold-r-normal--12-*-*-*-*-*-*-*
toolbar.iconbar.borderWidth: 0
toolbar.iconbar.borderColor: #cccccc

아이콘바에서 활성화된 창에 대한 내용이다. 폰트를 개별적으로 적어주고 있는데, 활성화된 창의 아이콘바는 굵은 글씨로 따로 표시를 하고 싶어서 글쓴이가 첨가를 한 것이다. ^^V Antialias 폰트를 쓰지 않고 비트맵이나 freetype 등으로 트루타입을 쓸 경우에는 이처럼 고전적인 x11 형식의 폰트 지정을 하면 된다. x11 형식의 폰트 지정은 여기선 생략을 하겠다. 다른 곳들을 참조해 보도록 하고 반대로 Antilias 옵션을 켰을 경우엔 폰트 지정 방법이 달라지는데,

*.font: Gulim-9
menu.title.font: Gulim-9:bold,shadow
*.font: Gulim-9:halo:color=blue

과 같은 libxft2 형식을 따르게 된다. *.font: Gulim-9:bold,shadow:offsetx=2;offsety=4;color=green 이 현재 사용 가능한 전체 문법이라고 하니 잘 응용해서 써먹기 바란다.

toolbar.workspace.justify: right
toolbar.iconbar.empty: sunken gradient vertical
toolbar.iconbar.empty.color: #ffffff
toolbar.iconbar.empty.colorTo: #888888
toolbar.iconbar.unfocused: parentrelative
!toolbar.iconbar.unfocused: sunken gradient vertical
toolbar.iconbar.unfocused.color: #ffffff
toolbar.iconbar.unfocused.colorTo: #888888
toolbar.iconbar.unfocused.textColor: #000000
toolbar.workspace: sunken gradient crossdiagonal
toolbar.iconbar.focused.justify: center
toolbar.iconbar.unfocused.justify: center

항목들이 뒤죽박죽이어서 미안하다. 원래 원본이 이랬다. 글쓴이가 마구 섞은 게 아니라... ㅡㅡ;; 암튼, justify는 정렬 방식이다. 텍스트를 왼쪽으로 맞출지, 오른쪽으로 맞출 지를 적어준다. 가운데 맞춤(center)이나 양쪽 맞춤(Relative) 역시 가능하다. 툴바에 아무런 창도 나타나지 않았을 경우(empty)와 비활성화 창들(unfocused)에 대해서도 다루고 있는데, 'parentrelative'란 생소한 단어가 하나 끼어있음에 주목해 보자. parent와 relative을 합성한 신조어로 사전에는 당연히 나와 있지 않다. 이것은 그 상위(parent)의 스타일값을 그대로 수용하면서 parentrelative로 지정된 것들 전부를 싸잡어서 단일한 적용 대상으로 취한다. 왜 이러한 방법을 쓰냐 하면, 만약에 각각의 unfocused 아이콘바가 전부 다 제각기 개별적인, 예를 들어서 flat gradient vertical 이라는 값을 가질 경우엔 하나 하나가 도드라져 보이게 된다. MS 윈도즈의 작업막대나 KDE, GNOME의 패널 같이 아이콘바의 주위에 여백이 조금 있으면서 아이콘바들 사이에도 조금씩 간격을 있는 경우엔 상관이 없겠지만, 아이콘바들이 바로 다닥다닥 붙어있는 플럭스박스에서는 이쁘게 보이지 않는 경우도 있다. 따라서 parentlerative를 써서 전체를 한 뭉탱이처럼 처리하는 것이다. focused 아이콘바나 empty 아이콘바는 딸랑 한 개만 있게 되므로 따로이 지정을 해도 무방한 것이고... 이는 이어서 볼 창(window)의 버튼 스타일에서도 확인이 가능하다.

! w i n d o w

window.button.pressed.color: #aaaaaa
window.button.pressed.colorTo: #ffffff
window.button.pressed: flat gradient diagonal

window.button.focus.picColor: #000000
window.button.focus: parentrelative
window.button.focus.color: #ffffff
window.button.focus.colorTo: #888888

window.button.unfocus.picColor: #aaaaaa
window.button.unfocus: parentrelative

위에서 설명했듯이 window.button은 parentrelative 를 써서 아래에 나오는 window.title의 스타일을 그대로 유지시킨다. 만약에 이것을 raised gradient diagonal 과 같이 했다면 각각의 버튼이 분리되어 있는 것처럼 보였을 것이다. 물론 이렇게 하는 게 더 괜찮은 경우도 있으니 스타일 제작자나 편집을 하려는 사람의 재량에 맡긴다. ㅡ -)/ 버튼이 활성화(focus)되는 경우엔 역시 raised 를 flat 으로 낮추고 그라이언트 색상에도 변화를 주어 버튼이 눌러졌다는 걸 쉽게 식별하도록 하고 있다.

window.frame.focus.color: #cccccc
window.frame.focus.colorTo: #888888
window.frame.focus: sunken gradient vertical

window.frame.unfocus.color: #cccccc
window.frame.unfocus.colorTo: #888888
window.frame.unfocus: sunken gradient vertical

흠... window의 프레임(frame)이 대체 어딜 의미하는 건지 아직 파악을 못 했다. - _-)r 뭐 글쓴이가 플럭스박스를 직접 만든 것도 아니고, 모르는 게 한두 가지 정도는 있을 수도 있지 않을까? (웅캥캥)

window.grip.focus.color: #888888
window.grip.focus.colorTo: #ffffff
window.grip.focus: raised gradient diagonal

window.grip.unfocus.color: #888888
window.grip.unfocus.colorTo: #ffffff
window.grip.unfocus: raised gradient vertical

window.handle.focus.color: #ffffff
window.handle.focus.colorTo: #888888
window.handle.focus: flat gradient vertical

window.handle.unfocus.color: #ffffff
window.handle.unfocus.colorTo: #888888
window.handle.unfocus: flat gradient vertical

창 아래 쪽에 붙는 그립(grip)과 핸들(handle) 부분이다. inuendo 스타일은 그립과 핸들이 꽤나 얇은 축에 속하기에 focus와 unfocus를 그다지 구별되게 할 필요를 못 느끼고, 해봤는데 잘 구별되지도 않았다.

window.justify: Center
window.label.focus.textColor: #000000
window.label.focus.color: #ffffff
window.label.focus.colorTo: #888888
window.label.focus: sunken gradient vertical

window.label.unfocus.textColor: #888888
window.label.unfocus.color: #ffffff
window.label.unfocus.colorTo: #888888
window.label.unfocus: sunken gradient vertical

window.title.focus.color: #ffffff
window.title.focus.colorTo: #888888
window.title.focus: raised gradient vertical

window.title.unfocus.color: #ffffff
window.title.unfocus.colorTo: #888888
window.title.unfocus: raised gradient vertical

window.justify는 창제목의 정렬 방식을 정한다. 리눅스는 보통 가운데 맞춤을 많이 쓴다. 그리고 레이블(label)과 타이틀(title)의 차이는 레이블이 창제목 글자들이 들어가는 곳에 한정된다면, 타이틀은 그 옆의 버튼 및 나머지 여백 부분까지 전체를 포함한다는 것이다. 그래서 앞서 살펴본 창버튼(button)은 parentrelative로 처리를 한 것이고. 또 저렇게 레이블만 sunken 을 주게 되면 제목 표시줄에서 글자가 적히는 부분이 살짝 움푹 들어가 보이는 효과를 얻을 수 있다.

! m e n u

menu.frame.color: #ffffff
menu.frame.colorTo: #aaaaaa
menu.frame.textColor: #000000
menu.frame.justify: left
menu.frame: flat gradient diagonal

프레임(frame)은 메뉴판 본체를 가리킨다.

menu.hilite.color: #ffffff
menu.hilite.colorTo: #888888
menu.hilite.textColor: #000000
menu.hilite: sunken gradient diagonal

하일라이트(hilite)는 선택된, 즉 커서 아래 부분.

menu.title.color: #ffffff
menu.title.colorTo: #aaaaaa
menu.title.textColor: #000000
menu.title.justify: Center
menu.title: raised gradient crossdiagonal

타이틀(title)은 당연히 메뉴의 제목표시줄이다.

menu.bullet: triangle
menu.bullet.position: right

하위 메뉴를 어떻게 표현할 것인가를 정하고 있다. 메뉴의 오른쪽에 작은 삼각형을 그리게 될 것이다.

! SLIT

slit: sunken gradient diagonal
slit.color: #FFFFFF
slit.colorTo: #888888
slit.borderColor: #DEDEDE
slit.borderWidth: 1

Slit 역시
7) Slit이란? 에서 살펴본 대로 스타일 파일에서 모양새 설정이 가능하다.

! m i s c

borderColor: #333333

bevelWidth: 1
handleWidth: 3
borderWidth: 1
frameWidth: 0

창 테두리인 border의 색상과 메뉴 내에서 각 항목들 간의 여백인 bevel, 그리고 핸들(handle)과 테두리(border)의 너비가 적혀있다.

menu.frame.disableColor: #888888

메뉴에서, 선택할 수 없는 항목이 아니라 현재 선택이 되어 있어서 고를 수가 없는 것의 색상을 의미한다. 옆에 체크 표시를 하는 것이 대부분인데, 아이콘바 모드 메뉴나 slit의 위치 배열 메뉴 등 일부에서 이것을 쓴다.

*Font: -*-helvetica-medium-r-normal--12-*-*-*-*-*-*-*,-*-hyrgothic-medium-r-normal--12-*-*-*-*-*-*-*

앞서 설명한 대로 Antialias 옵션을 껐을 때는 전통적인 x11 폰트 설정법을 따른다. 서유럽어(일반적으로 영어)와 자국어의 폰트를 쉼표(,)로 구분해서 써주면 된다. *는 바로 와일드 카드로, 메뉴나 창, 툴바에서의 텍스트들은 개별적으로 명시를 하지 않는 한 모두 이 폰트를 쓰게 된다.

!rootCommand: Esetroot -c ~/.fluxbox/styles/bg.png
!rootCommand: Esetroot -c ~/.fluxbox/styles/bg.jpg

rootCommand를 쓰면 스타일이 적용될 원하는 명령을 함께 실행시킬 수가 있다. 주로 월페이퍼를 까는 데에 이용을 했는데, 지금은 주석 처리를 해서 막아놨다. 즉슨, 스타일을 변경할 때마다 월페이퍼가 바뀌는 걸 원하지 않는 게 추세이기 때문이다. man 설명서에서도 이 rootCommand를 이용한 월페이퍼 지정은 init 에서 하도록 권장을 하고 있다. 이렇게 되면 스타일을 바꿔도 월페이퍼는 예전 것을 그대로 쓸 수가 있다. 끝으로 이미지 텍스처를 쓰는 스타일의 경우엔, 그라디언트 색상 지정이나 raise/sunken 등의 외형에 대한 지정은 전혀 의미가 없어진다는 것을 명심하자. 많은 새롭고 참신하고 예쁘고 멋있고 질리지 않고 럭셔리해 보이고 귀티나고 여자가 마구마구 꼬일 만한 그런 스타일들이 많이 배출이 되기를 기대해 본다.

9) 유용한 보조 프로그램들

- gmrun : KDE, GNOME 등의 명령 실행기에 해당하는 넘. fbrun도 있긴 한데 폰트 지정의 압박과 뭐 암튼 처음에 fbrun을 모르고선 손에 익어버려서 계속 쓴다. bash의 TAB키를 이용한 자동 완성 기능과 명령어 히스토리를 전부 지원해주므로 쾌적하게 실행 파일명을 입력할 수가 있다.

- emelfm : 통합 환경이 아닌 플럭스박스에서는 파일 관리자가 아쉬울 때가 많다. 글쓴이는 emelfm을 사용한다. 확장자 별 명령어 지정이나 사용자 고유의 명령어 지정이 자유롭고, 단축키 지정이 폭넓은 편인데다가 vi의 키들(h, j, k, l, g, G) 까지 지원을 해주니 그야말로 금상첨화. UTF-8 사용자들은 gtk2로 포팅된 emelfm2를 사용하면 UTF-8에서의 한글 표시 문제도 무리가 없다.

- Esetroot : Eterm 패키지에 포함되어 있는 월페이퍼 유틸. 반투명 효과를 지원해주는 것 가운데 하나다. fbsetbg이 사용하는 유틸들 가운데에서 일부만이 반투명 효과를 쓸 수가 있다.

- skippy : 맥 OS의 expose 기능을 모방하고 있는 유틸리티. 아직 beta 수준이라 가끔씩 죽어버리는 게 문제이긴 하지만, 플럭스박스의 2% 모자른 Alt + TAB 기능에 짜증을 느낄 때마다 한번씩 써보는 것도 괜찮을 듯 싶다. 다만 euc-kr 문자셋 만의 경우인지는 모르겠으나 한글이 깨져서 나오고 아직까진 .xsession에다가 집어넣으면 제대로 뜨질 않으니, init 파일의 rootCommand에다가 첨가를 해주도록 하자.

session.screen0.rootCommand: Esetroot -c ~/.fluxbox/styles/bg.jpg; skippy

- torsmo : gdesklets, gkrellm2, dock 애플릿 등의 뒤를 잇는 신예의 시스템 모니터링 애플릿이다. 이전까지의 것들에 비해서 적은 리소스 사용과 폭넓은 모니터링 범위를 장점으로 삼고 있다. 글쓴이는 현재 wmcpuload, wmnd, wminet, wmmemload 이렇게 4가지 dock 애플릿을 쓰고 있는데, irc.freenode.net의 #fluxbox 채널에서 왜 torsmo를 쓰지 않느냐고 쿠사리를 먹은 경험이 있다. ㅡㅡㅋ (앙증맞는 Dock 애플릿들의 네모가 좋단 말이다!)

플럭스박스 공식 홈에 나와있는 Fbpager니 fbdesk니 하는 것들은 그다지 필요성을 느끼지 못해서 써보질 못했다. fbsetbg는 이미 플럭스박스 패키지에 기본적으로 포함이 되어 있다.

10) 팁

- 창의 Remember 상황이 표시되지 않기 때문에 헷갈릴 때는 ~/.fluxbox/app를 열고 확인한다. 앞서 얘기했듯이 체크 표시가 추가될 거라고 기대된다. (0.9.11 에서 추가가 되었다. 만쉐~!!)

- 단축키에서, MS 윈도즈의 바탕화면 보기 버튼에 해당하는 'ShowDesktop' 기능은 아직 완전하지 못하고 창을 꼭 한 개씩 남기곤 한다. 그냥 iconify 단축키를 계속 누르고 있으면 창들이 차례로 모두 아이콘화(최소화)가 되므로 당분간 이렇게 쓰는 것도 괜찮은 것 같다. 0.1.14 버전을 기준으로 공식 홈페이지의 메뉴얼이 쓰여져 있는 관계로 누락이 되었는데, uniconify 기능도 존재한다. Deiconify LastWorkspace, Deiconify Last Originquiet, Deiconify All Originquiet 이 그것이다. 각각 가장 최근의 작업공간 전체, 현재 작업공간에서 마지막으로 아이콘화된 창, 현재 작업공간의 모든 아이콘화된 창을 다시 불러낸다. 차라리 ShowDesktop을 토글(toggle) 기능으로 넣어주었으면 하는 바램이 있지만, 흠... 아쉽다. (플럭스박스 제작진은 하루 빨리 공식 홈페이지의 문서들을 갱신하라! 갱신하라!)

(흠... 여타의 다른 팁들은
http://fluxbox.or.kr의 '팁과 노하우' 게시판에 싣도록 하겠다)

11) 앞으로의 전망과 새 버전에서 바라는 것들 & 마무리

Fluxbox의 목표는 KDE나 GNOME처럼 통합 환경 수준은 아니라고 하더라도 왠만큼 쓸만한 수준의 창관리자로 가는 것이 목표인 듯 싶다. 툴바가 실행 중인 프로그램들을 모두 표시하여서 간편하게 싱글 클릭으로 전환이 되도록 바뀌어진 점과 idesk 등을 써서 아이콘 배치가 가능하게 된 점 등을 비추어 보아 다소 무겁다는 평을 듣고 있는 KDE, GNOME과는 달리 현재의 윈도즈2k 수준의 편의성과 기능을 제공하는 것이 일단의 목표인 듯 싶다. 그 이후는 더 어떻게 될 지 또한 귀추가 주목이 되겠고...

이에 맞춰 몇 가지 보강/개선이 되었으면 하는 점은

1. Alt + TAB을 이용해서 창 전환을 할 때, 단순히 창들만이 차례로 활성화가 되어서 올라온다. MS 윈도즈 식으로 화면 가운데에 열려있는 창들을 표시해주는 팝업창이 떠서 그걸 보아가며 전환을 할 수 있다면 조금 더 편하지 않을까 싶다. 또한 Alt + TAB 단축키로 대부분 물려서 쓰고 있는 'NextWindow' 기능이 툴바에서의 아이콘바들의 순서대로 창 전환이 안되고 실행 순서도 아닌, 뭔가 구린 순서에 따라 전환이 되면서 헷갈림을 유발하는 점 역시 개선되어야 할 사항이라고 여겨진다.

2. 역시나 Alt + TAB / NextWindow(혹은 PrevWindow 까지)에 대한 불만인데, 아이콘화 되어버린 창은 선택이 불가능하다. 플럭스박스 공식 홈의 메뉴얼 문서에는 NextWindow의 옵션에 대해서 설명한 부분이 있지만 역시 out of date *ㅡ.ㅡ* 였다. 한번 맘먹고 fluxgen 에게 질문을 해봤는데, 묵묵부답이었다... ㅡㅡ;;; (누가 패치 안 만들어 주나..)

3. 앞서 언급한 대로 모든 창들을 한꺼번에 숨기고/띄우는 기능(ShowDesktop)이 제대로 구현이 되었으면 하는 바램이다. 토글로 처리가 되어서 한 가지 단축키로 번갈아 가면서 사용이 가능해 진다면 금상첨화겠고. 글쓴이는 MS 윈도즈의 바탕화면 보기도 단축키를 물려가면서 사용을 했기 때문이다. dㅡ.ㅡb

4. 0.9.10 버전 현재, 창 메뉴의 'Remember'에서 선택한 항목의 선택 여부가 표시되고 있지 않은데, 이것 역시 표시가 될 거라고 기대해 본다. (앞서 말한 대로 이건 0.9.11 버전에서 구현이 되었다. 아자!)

5. 아이콘바에 표시가 되는 조그마한 아이콘 이미지들을 사용자가 직접 설정을 할 수 있게 되었으면 좋겠다. Eterm이나 emelfm 등등의 몇 가지 프로그램들의 경우엔 아이콘 이미지가 따로 없어서 그런건지 어떤 사정인지는 몰라도 아이콘이 표시가 되지 않았다.

6. 창목록 메뉴와 창의 팝업 메뉴는 한 가지를 고르고 나면 그냥 사라져 졌으면 좋겠다. 창목록 메뉴의 경우는 촛점을 완전히 잊어버리기 때문에 다시 단축키나 휠 버튼을 누른 다음에 ESC 키를 눌러야 하는 형편인데, 지 극 히 불편하다. 팝업 메뉴 역시 ESC를 꼭 눌러줘야 하고... 흠, 1.0 에서는 말끔히 개선이 되기를 기대해본다.

7. 창목록 메뉴는 'New Workspace'와 'Remove Last'가 앞서고 그 아래로 각각의 작업공간 및 아이콘화 된 창들이 모두 하위 메뉴로 포함이 되고 있는데, 이것을 현재 작업공간의 창들은 하위 메뉴가 아닌 처음 부분에 표시를 하면 어떨까 싶다. 현재 작업공간의 창들은 좀 더 빠르게 접근할 수 있게 말이다. 아이콘화 된 창도 따로 구분이 되게 하면서... New Workspace/ Remove Last는 맨 아래로 내린 다음에 구분선을 그어서 작업공간들과 분류를 해주면 더욱 깔끔하면서도 편리해질 듯 싶다.

8. 현재의 팝업 메뉴에 들어가 있는 Remember 기능은 같은 유틸을 여러 번 띄울 때에도 창들을 전부 다 동일한 것으로 취급해 버린다. 그래서 예를 들어 Eterm 창을 하나 띄우고선 위치와 크기를 기억시켜 두면, 그 자리에 똑같은 크기로만 계속 Eterm이 뜨는 우스꽝스러운 상황이 발생하게 되는데, 서로 구분을 두어 첫번째 것만 Remember 값이 적용이 되고 그 다음부턴 또 별개의 것으로 다뤄지도록 하는 편이 나아 보인다.

물론 플럭스박스는 아직 1.0도 채 되지 않았다. 가야할 길은 멀고 부족한 부분도 엿보이기 하나 이렇게 가볍고도 간단하면서 꼭 필요한 기능들만 챙겨둔 윈도매니저는 만나보질 못했다. Fluxbox 만세!! Love Live Fluxbox!!

12) 관련 링크들

http://fluxbox.or.kr/ 한국 플럭스박스 사용자 모임
http://fluxbox.sourceforge.net/ 플럭스박스 공식 홈페이지
http://www.themedepot.org/ theme 들의 집합소. 플럭스박스의 스타일들도 여기서 구할 수가 있다.
http://themes.freshmeat.net/browse/962/ 또 다른 플럭스박스 스타일 집합소.
http://sourceforge.net/forum/?group_id=35398 소스포지.넷의 플럭스박스 포럼. 버그 리포팅 및 기능 추가 요구나 질문 등을 할 수가 있다.
http://fluxmod.berlios.de/index.php 플럭스박스 지원 사이트. UTF-8 패치 등 몇 가지 패치와 스타일들을 제공하고 있다.
http://www.ikaro.dk/news.php 또 다른 fluxmod 사이트. ikaro가 운영을 한다.[/color]

 

 

출처 : http://fluxbox.wo.to/


다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
맨위로

카페 검색

카페 검색어 입력폼