# PekWM (한국어)

PekWM은 Claes Nästen이 만들었다. 코드는 aewm++ 창 관리자에 기초하지만 거듭 발전하면서 더 이상 aewm++와 비슷하지 않다. 또한 기능도 확장해서 ion3, pwm, fluxbox와 비슷한 창 그룹화, 자동 속성, xinerama, 키 조합을 지원하는 keygrabber 등 훨씬 다양한 기능을 갖추었다.

## 설치

저장소에서 PekWM을 설치하라.

    pacman -S pekwm

## 시작하기

### 방법 1: kdm/gdm

먼저 kdm이나 gdm을 설치하여 활성화하라. 로그인 관리자를 활성화하는 방법은 여기를 보라. PekWM이 세션 목록에 추가되어 있을 것이다. 로그인하기에 앞서 세션 목록에서 PekWM을 선택하라.

### 방법 2: xinitrc

자신의 홈 폴더에 있는 .xinitrc 파일(~/.xinitrc)에 다음을 추가하라.

    exec pekwm

## PekWM 설정하기

~/.pekwm/config 파일이 주 설정 파일이다. 작업공간, 뷰포트, 메뉴, 화면 가장 자리 설정 등을 제어한다. 여기 PekWM 문서에 자세한 설명과 함께 보기 파일이 있다.

### 메뉴

PekWM는 기본적으로 아치 저장소에서 설치될 때 미리 정의된 메뉴도 함께 온다. 이는 자신의 시스템을 반영하는 것이 아니며 따라서 실제로 설치된 것과 매우 다를 가능성이 높다. 보기로서 제공되는 것으로 그것을 수정하지 않고 사용해야할 필요는 없다.

자신의 메뉴는 ~/.pekwm/menu에 저장된다.

#### MenuMaker

자신의 시스템에 설치된 프로그램용 메뉴를 자동으로 생성하는 방법 가운데 하나는 Menumaker를 사용하는 것이다. 다음과 같이 실행하여 자신의 메뉴를 만들어라.

    mmaker --no-desktop pekwm

참고: 위의 명령은 기존의 메뉴 파일을 덮어 쓰지 않을 것이다. 덮어쓰기를 원하면 -f 플래그를 위의 명령에 추가하라.

mmaker –help를 실행해 전체 옵션을 보라.

위의 명령으로 꽤 상세한 메뉴를 만들 수 있다. 이제 그 메뉴 파일을 수동으로 수정하거나 새로운 소프트웨어를 설치할 때마다 단순히 재생성하라.

#### 수동으로 편집하기

이미 말했듯이 ~/.pekwm/menu가 메뉴 파일이다. 이 파일의 문법은 이해하기 쉽다. 간단한 항목은 다음과 같은 구조이다.

    Entry = "NAME" { Actions = "Exec COMMAND &" }

서브메뉴는 다음과 같이 구성된다.

    Submenu = "NAME" {
         Entry = "NAME" { Actions = "Exec COMMAND &" }
         Entry = "NAME" { Actions = "Exec COMMAND &" }
    }

(중괄호는 반드시 짝을 이루도록 해라. 그렇지 않으면 오류가 생겨 메뉴가 나타나지 않을 것이다.)

메뉴에 구분선을 추가하려면 다음을 사용하라.

    Separator {}

PekWM은 동적 메뉴도 지원한다. 이는 기본적으로 메뉴 항목이나 서브메뉴로 그 항목이나 서브메뉴가 접근될 때마다 실행되는 스크립트의 결과를 출력하는 것이다.

온라인에서 동적 메뉴를 구할 수 있다. 메뉴에 맞는 문법을 반드시 확인하라. 이는 문법이 변하기 때문이다. 불행하게도 동적 메뉴가 온라인에 많지 않다. 여기에서 Gmail과 네트워크 연결용 동적 메뉴를, 여기에서는 시간과 날짜를 표시하는 동적 메뉴를 구할 수 있다. pekwm_menu_tools라는 프로젝트도 있는데 PekWM용 동적 메뉴를 생성하는 일련의 유용한 프로그램을 만들고자 한다.

### 단축키

~/.pekwm/keys에 단축키 설정이 저장된다. 이 파일에서 PekWM용 키보드 연결과 키연쇄를 제어한다. 키보드 연결로 프로그램을 실행하거나 PekWM 작동을 수행할 수 있다. 작동의 예를 들면, 메뉴 보기, 창 이동, 데스크톱 전환 등을 들 수 있다. 전체 PekWM 작동 목록은 작동 문서에 있다.

하나 이상의 작동을 키 조합에 할당할 수 있다. 그 방법은 작동을 쌍반점으로 구분하면 된다. 보기:

    KeyPress = "Ctrl Mod1 R" { Actions = "Exec osdctl -s 'Reconfiguring'; Reload" }

Ctrl+Alt+R을 누르면 Pekwm은 화면에 'Reconfiguring'라는 글자를 나타내고(osdctl -s 'Reconfiguring') 재설정(Reload)한다. (참고로 이를 위해서는 osdsh를 설치해야 한다.)

키 "연쇄"도 다음과 같이 할 수 있다.

    Chain = "Ctrl Mod1 C" {
         KeyPress = "Q" { Actions = "MoveToEdge TopLeft" }
         KeyPress = "W" { Actions = "MoveToEdge TopCenterEdge" }
    }

곧, Ctrl+Alt+C를 누르고 나서 Q를 치면 활성 창을 화면 좌측 상단으로 이동하고 Ctrl+Alt+C를 누르고 나서 W를 치면 창을 상단 중앙으로 이동한다.

### 마우스

~/.pekwm/mouse 파일에 마우스 설정이 저장된다. 이 파일도 이해하기 쉽다. 보기:

    FrameTitle {
         ButtonRelease = "1" { Actions = "Raise; Focus" }
    }

위의 의미는 마우스 버튼 1(보통 왼쪽 버튼)을 창 프레임 제목 위에서 누르면 창이 최상위로 올라오면서 활성화된다는 말이다.

PekWM은 기본적으로 마우스를 창 위로 가져가면 창이 활성화되는데 이는 전통적인 방식인 클릭해서 창을 활성화하는 방식에 비해 불편해 하는 사람이 있다. 다음과 같은 줄을 찾아서 설명대로 하라.

    # Remove the following line if you want to use click to focus.
    # Uncomment the following line if windows should raise when clicked.

### 프로그램 자동 시작

시작 프로그램은 ~/.pekwm/start 파일에 있다. Pekwm을 시작할 때 바탕화면을 표시하거나 패널을 실행하려면 이 파일에 해당 프로그램을 추가하면 된다. 이 프로그램은 Pekwm이 시작될 때마다 실행되며 루트 메뉴에서 'Restart'를 해도 역시 실행됨을 유의하라.

다음과 같이 프로그램을 추가하라.

    프로그램이름 &

이름 뒤에 &가 있어야 하며 그렇지 않으면 그 뒤에 어떤 것이라도 실행되지 않을 것이다. 다음의 보기를 참고하라.

    xfce4-panel &
    conky &
    hsetroot -fill ~/images/darkwood.jpg &

이 파일을 사용하기에 앞서 다음 명령어로 실행 가능하도록 해야 한다.

    chmod +x ~/.pekwm/start

### 변수

PekWM에서 사용되는 일반 변수는 ~/.pekwm/vars에 있다. 기본 항목 자체로 이해하기 쉽다.

    $TERM="xterm -fn fixed +sb -bg white -fg black"

$TERM 변수가 PekWM 설정 파일에서 사용될 때마다 xterm -fn fixed +sb -bg white -fg black이 실행될 것이다. 다음과 같이 변경하면

    $TERM="urxvt"

터미널 명령으로 urxvt가 실행될 것이다.

### 자동 속성

특정 프로그램이 특정한 작업공간에서 열리거나 특정 제목을 나타내거나 창 메뉴를 없애거나 자동으로 함께 탭으로 묶이기를 바란다면 여기에서 모두 지정할 수 있다. PekWM에서 가장 혼동되는 설정 파일이지만 가장 강력한 파일이기도 하다. 이 파일에서 설정될 수 있는 것이 너무 많아서 여기에서 다룰 수 없으나 자동 속성 문서에서 상세하게 설명된다. 기본 ~/.pekwm/autoproperties 파일 또한 자동 속성을 빠르게 이해할 수 있는 설명을 포함하고 있다.

## 테마

몇 곳의 테마 사이트 링크가 문서 하단에 있다. 테마를 설치하려면 테마 압축 파일을 테마 디렉토리에 풀어야 한다. 다음은 기본 테마 디렉토리이다.

- 시스템 전체 - /usr/share/pekwm/themes
- 사용자 - ~/.pekwm/themes

### GTK 테마

GTK 프로그램 테마를 변경하기 위해 LXAppearance를 사용할 수 있다.

## 바탕화면 설정

PekWM은 단순한 창 관리자이므로 별도의 프로그램을 사용해 바탕화면을 설정해야 한다. 다음 프로그램이 많이 쓰인다.

- feh
- Nitrogen
- xli
- esetroot
- hsetroot

## 문제점

### Nvidia TwinView를 사용할 때, 창이 두 화면 모두에 걸쳐 최대화되는 경우

`~/.pekwm/config`를 열어 다음 줄을 찾아서

    HonourRandr = "True"

아래 줄처럼 변경한다.

    HonourRandr = "False"

Source

### 컴포지팅/투명 효과가 문제가 되는 경우

v0.1.11 기준, PekWM은 컴포지팅을 원할하게 지원하지 못하는 것 같다. 기본 xcompmgr은 작동하지만 투명 독과 패널은 그렇지 못하다. 또 창을 숨기면 그래픽 결함이 나타나는데 이를 해결하려면 모든 창의 투명도를 .999나 기타 다른 값으로 devilspie와 transset-df를 사용해 설정할 수 있다.

transset-df로 모든 창의 투명도를 .999로 설정하는 devilspie 스크립트 보기:

    (spawn_async (str "transset-df -i " (window_xid) " .999" ))

## 바깥 고리

- Pekwm 홈페이지
- Box-Look PekWM 테마
- Hewphoria PekWM 테마
- Freshmeat PekWM 테마

Category:

- Stacking WMs (한국어)