Related-Notes
BIBLIOGRAPHY
“I3 (Window Manager).” 2024. In Wikipedia. https://en.wikipedia.org/w/index.php?title=I3_(window_manager)&oldid=1258609931.
“Sway (Window Manager).” 2025. In Wikipedia. https://en.wikipedia.org/w/index.php?title=Sway_(window_manager)&oldid=1273698048.
“Tiling Window Manager.” 2025. In Wikipedia. https://en.wikipedia.org/w/index.php?title=Tiling_window_manager&oldid=1279434806.
“X Window System.” 2025. In Wikipedia. https://en.wikipedia.org/w/index.php?title=X_Window_System&oldid=1283798170.
히스토리
- 위키피디아 추가 좀 하려고 한다.
- 타일링윈도우매니저 말이야.
- 커먼 리스프 설치하다가 버전이 달라서 찾아옴
- 2024-09-22 수정 좀
용어정리
Tiling window manager
(“Tiling Window Manager” 2025) 2025
In computing, a tiling window manager is a window manager with the organization of the screen often dependant on mathematical formulas to organise the windows into a non-overlapping frame. This is opposed to the more common approach used by stacking window managers, which allow the user to drag windows around, instead of windows snapping into a position. This allows for a different style of organization, although it departs from the traditional desktop metaphor.
컴퓨팅에서 타일링 창 관리자는 화면 구성을 수학 공식에 의존하여 창을 겹치지 않는 프레임으로 구성하는 창 관리자입니다. 이는 창을 위치에 고정하는 대신 사용자가 창을 끌어서 이동할 수 있는 스택 창 관리자에서 사용하는 일반적인 방식과 반대입니다. 이는 전통적인 데스크톱 비유에서 벗어나지만 다른 스타일의 구성을 허용합니다.
X Window System
(“X Window System” 2025) 2025
The X Window System (X11, or simply X) is a windowing system for bitmap displays, common on Unix-like operating systems. X originated as part of Project Athena at Massachusetts Institute of Technology (MIT) in 1984. The X protocol has been at version 11 (hence “X11”) since September 1987. The X.Org Foundation leads the X project, with the current reference implementation, X.Org Server, available as free and open-source software under the MIT License and similar permissive licenses.
X 윈도우 시스템(X11 또는 간단히 X)은 유닉스 계열 운영 체제에서 흔히 볼 수 있는 비트맵 디스플레이용 윈도우 시스템입니다. X는 1984년 매사추세츠 공과대학(MIT)의 프로젝트 아테나에서 시작되었습니다. X 프로토콜은 1987년 9월부터 버전 11(이하 “X11”)로 유지되고 있습니다. X.Org 재단은 현재 참조 구현인 X.Org 서버를 MIT 라이선스와 유사한 허용 라이선스에 따라 무료 오픈 소스 소프트웨어로 제공하는 X 프로젝트를 주도하고 있으며, 이 소프트웨어는 MIT 라이선스와 유사한 허용된 라이선스에 따라 제공됩니다.
i3 (window manager)
(“I3 (Window Manager)” 2024) 2024
i3 is a tiling window manager designed for X11, inspired by wmii and written in C. It supports tiling, stacking, and tabbing layouts, which are handled manually. Its configuration is achieved via a plain text file and extending i3 is possible using its Unix domain socket and JSON based IPC interface from many programming languages. Like wmii, i3 uses a control system very similar to that of vi and Vim. By default, window focus is controlled by what the documentation refers to as the ‘Mod1’ key (Alt key/Windows key) in addition to the right-hand home row keys (Mod1+J,K,L,Semicolon), while window movement is controlled by the addition of the Shift key (Mod1+Shift+J,K,L,Semicolon).
i3는 X11용으로 설계된 타일링 창 관리자로, wmii에서 영감을 받아 C로 작성되었으며 타일링, 스태킹 및 탭 레이아웃을 지원하고 수동으로 처리됩니다. 구성은 일반 텍스트 파일을 통해 이루어지며 다양한 프로그래밍 언어의 Unix 도메인 소켓 및 JSON 기반 IPC 인터페이스를 사용하여 i3를 확장할 수 있습니다. wmii처럼 i3는 vi 및 Vim과 매우 유사한 제어 시스템을 사용합니다. 기본적으로 창 초점은 문서에서 ‘Mod1’ 키(Alt 키/Windows 키) 외에 오른쪽 홈 행 키(Mod1+J,K,L,세미콜론)로 제어되고 창 이동은 Shift 키 추가(Mod1+Shift+J,K,L,Semicolon) 기능을 통해 제어할 수 있습니다.
Sway (window manager)
(“Sway (Window Manager)” 2025) 2025
Sway는 i3에서 영감을 받아 C로 작성된 타일링 창 관리자이자 Wayland 컴포지터로, 보다 현대적인 Wayland 디스플레이 서버 프로토콜과 wlroots 컴포지터 라이브러리를 사용하여 i3를 드롭인 방식으로 대체할 수 있도록 설계되었습니다. Sway는 기존 i3 구성 파일과 함께 작동하며 i3의 대부분의 기능을 지원하는 동시에 자체적으로 몇 가지 새로운 기능을 제공합니다. 창을 조작하기 위한 Sway의 기본 컨트롤은 vi와 유사합니다. 창 초점은 수퍼 키와 화살표 키 또는 h, j, k, l 중 하나의 조합으로 제어되며, 창 이동은 동일한 키 조합에 Shift 키를 추가하여 수행됩니다. I3와 마찬가지로 Sway는 다양한 프로그래밍 언어의 Unix 도메인 소켓과 JSON 기반 IPC 인터페이스를 사용하여 확장 및 조작할 수 있습니다. 3.6년간의 개발 끝에 2019년 3월 11일에 Sway가 처음으로 안정적으로 출시되었습니다
Sway is a tiling window manager and Wayland compositor, inspired by i3, and written in C. Sway is designed as a drop-in replacement for i3 using the more modern Wayland display server protocol and wlroots compositor library. Sway works with existing i3 configuration files and supports most of i3’s features while providing several new features of its own. Sway’s default controls for manipulating windows are similar to vi. Window focus is controlled by a combination of the Super key and one of the arrow keys or h, j, k, and l. Window movement is performed by the same combination of keys with the addition of the shift key. Like i3, Sway can be extended and manipulated using its Unix domain socket and JSON-based IPC interface from many programming languages. Sway’s first stable release was on March 11, 2019, after 3.6 years of development.
Sway는 i3에서 영감을 받아 C로 작성된 타일링 창 관리자이자 Wayland 컴포지터로, 보다 현대적인 Wayland 디스플레이 서버 프로토콜과 wlroots 컴포지터 라이브러리를 사용하여 i3를 드롭인 방식으로 대체할 수 있도록 설계되었습니다. Sway는 기존 i3 구성 파일과 함께 작동하며 i3의 대부분의 기능을 지원하는 동시에 자체적으로 몇 가지 새로운 기능을 제공합니다. 창을 조작하기 위한 Sway의 기본 컨트롤은 vi와 유사합니다. 창 초점은 수퍼 키와 화살표 키 또는 h, j, k, l 중 하나의 조합으로 제어되며, 창 이동은 동일한 키 조합에 Shift 키를 추가하여 수행됩니다. I3와 마찬가지로 Sway는 다양한 프로그래밍 언어의 Unix 도메인 소켓과 JSON 기반 IPC 인터페이스를 사용하여 확장 및 조작할 수 있습니다. 3.6년간의 개발 끝에 2019년 3월 11일에 Sway가 처음으로 안정적으로 출시되었습니다
아카이브
Regolith 3.1 upgrade
# Regolith 3.1 - 2014-02-19
echo deb "[arch=amd64 signed-by=/usr/share/keyrings/regolith-archive-keyring.gpg] https://regolith-desktop.org/testing-ubuntu-lunar-amd64 lunar main" | sudo tee /etc/apt/sources.list.d/regolith.list
sudo apt update
sudo apt upgrade
# sudo vi /etc/regolith/i3/config : common-wm -> common
# sudo vi /etc/regolith/sway/config : common-wm -> common
sudo rm -Rf /usr/share/regolith/*
sudo rm -Rf /usr/share/i3xrocks/*
# 내 설정을 그대로 사용하면 된다.
Regolith 3 공식 설치 방법
감사하다. 레골리스가 버전 3 이 나오면서 옵션이 다양해졌다. 근데 이걸 어떻게 마이그레이션할는가?! 사용자 설정을 기준으로 하니까. 반영하자.
How-to
https://regolith-desktop.com/docs/using-regolith/install/
나중에 23.04 -> hamoni
Install
$ wget -qO - https://regolith-desktop.org/regolith.key | \
gpg --dearmor | sudo tee /usr/share/keyrings/regolith-archive-keyring.gpg > /dev/null
$ echo deb "[arch=amd64 signed-by=/usr/share/keyrings/regolith-archive-keyring.gpg] \
https://regolith-desktop.org/release-3_0-ubuntu-lunar-amd64 lunar main" | \
sudo tee /etc/apt/sources.list.d/regolith.list
Install mystyle with mydotfiles
mkdir ~/.config/regolith3/
cd ~/mydotfiles
stow config-regolith
sudo mv /usr/share/regolith /usr/share/regolith.bak/
$ sudo apt install regolith-desktop regolith-session-flashback regolith-look-* regolith-session-sway --reinstall
$ sudo apt-get install foot-themes dwm stterm surf swaylock
사용자 폴더 설정 파일 구성
예상대로 usr/shre 에 설치 됨. 사용자 폴더로 잘 옴기면 된다. 둘다 만들어 준다.
jhnuc➜ regolith ᐅ tree -d
.
├── common
│ └── config.d
├── i3
│ ├── config.d
│ └── config.d.bak
└── sway
└── config.d
~/.config/regolith3 폴더가 변경 되었다. 나의 설정도 바꿔줘야 한다. 스웨이랑 안 맞는 부분이 있다던데 확인 바람.
i3xrocks
sway with hangul : kime and emacs
다행히 해봤던 것이라 금방했다. 파이어폭스는 Snap 으로 설치하면 안된다.
- /etc/environment
GTK_IM_MODULE=kime
QT_IM_MODULE=kime
XMODIFIERS=@im=kime
- kime and foot terminal
~/mydotfiles/config-regolith/.config/regolith3/sway/config.d/99_hangul
input * xkb_options korean:ralt_hangul,korean:rctrl_hanja
exec kime
/usr/bin/foot --server
- emacs init.el
이게 되야 이맥스에서 자체 입력기를 쓴다.
(if (eq window-system 'pgtk)
(pgtk-use-im-context nil))
(when (boundp 'pgtk-use-im-context-on-new-connection)
(setq pgtk-use-im-context-on-new-connection nil))
- ~/.local/share/applications/junghanacs.desktop
이것도 중요하다.
Exec=env GTK_IM_MODULE=emacs XMODIFIERS=@im=emacs /usr/local/bin/emacs --init-directory=~/spacemacs %F
Browser Support
chrome://flags/
wayland 검색 하여 auto 로 변경
~/.config/environment.d/ 환경 변수 등록
~/.config/environment.d/user.conf 파일에 다음의 설정을 넣어라. 그렇게 안하면 Sway 에서 환경 변수 값을 모른다. 그러면 Emacs 실행 시 문제가 된다.
PGTK Emacs : Org-roam Bugs : 환경 변수 문제 해결
아래 2 개 라인이 들어가지 않으면 안된다. 근데 들어가지 않아서 동작이 안되는 경우가 있다. 같은 닷파일로 현재 이런 문제를 만나고 있다. 왜 안되는 것인가? find-file-hook 에 등록되어 있으나 적용이 안되고 있다.
completion-at-point-functions is a variable defined in
Value in #<buffer build_clojure_npm_textlint_sample.org>
(org-roam-complete-everywhere
org-roam-complete-link-at-point
cape-dabbrev
cape-abbrev
cape-history
cape-file
cape-dict
pcomplete-completions-at-point
t)
Emacs First Key Bindings
s 는 Emacs 버퍼 윈도우에 집중
;; /home/junghan/spacemacs/layers/+spacemacs/spacemacs-navigation/packages.el
(define-key winum-keymap (kbd "s-0") 'winum-select-window-0-or-10)
(define-key winum-keymap (kbd "s-1") 'winum-select-window-1)
(define-key winum-keymap (kbd "s-2") 'winum-select-window-2)
(define-key winum-keymap (kbd "s-3") 'winum-select-window-3)
(define-key winum-keymap (kbd "s-4") 'winum-select-window-4)
(define-key winum-keymap (kbd "s-5") 'winum-select-window-5)
(define-key winum-keymap (kbd "s-6") 'winum-select-window-6)
(define-key winum-keymap (kbd "s-7") 'winum-select-window-7)
(define-key winum-keymap (kbd "s-8") 'winum-select-window-8)
(define-key winum-keymap (kbd "s-9") 'winum-select-window-9)
(define-key evil-normal-state-map (kbd "s-l") 'evil-window-right)
(define-key evil-normal-state-map (kbd "s-h") 'evil-window-left)
(define-key evil-normal-state-map (kbd "s-k") 'evil-window-up)
(define-key evil-normal-state-map (kbd "s-j ") 'evil-window-down)
i3 는 내어주는 대신 alt 를 추가한다. 조금 불편해졌지만 방향키 쓰면 된다.
# 2023-10-15 add alt key
## Navigate // Relative Window // <> k j h l ##
set_from_resource $wm.binding.left wm.binding.left h
set_from_resource $wm.binding.right wm.binding.right l
set_from_resource $wm.binding.up wm.binding.up k
set_from_resource $wm.binding.down wm.binding.down j
bindsym $mod+$alt+$wm.binding.left focus left
bindsym $mod+$alt+$wm.binding.down focus down
bindsym $mod+$alt+$wm.binding.up focus up
bindsym $mod+$alt+$wm.binding.right focus right
# 2023-10-15 add alt key
## Navigate // Workspaces 1-10 // <> 0..9 ##
bindsym $mod+$alt+$ws1_key workspace number $ws1
bindsym $mod+$alt+$ws2_key workspace number $ws2
bindsym $mod+$alt+$ws3_key workspace number $ws3
bindsym $mod+$alt+$ws4_key workspace number $ws4
bindsym $mod+$alt+$ws5_key workspace number $ws5
bindsym $mod+$alt+$ws6_key workspace number $ws6
bindsym $mod+$alt+$ws7_key workspace number $ws7
bindsym $mod+$alt+$ws8_key workspace number $ws8
bindsym $mod+$alt+$ws9_key workspace number $ws9
bindsym $mod+$alt+$ws10_key workspace number $ws10
-
기본 설정
- super + 0-9 : i3 workspace : 기본
- super + meta + left/right : i3 prev/next workspace
- M-0 ~ M-9 : winum-select-window — Spacemacs 기본 세팅
-
수정 설정
- s + hjkl : emacs windows
- super + ctrl + 0-9 : i3 ws11-19 인데 안쓴다. emacs tab-bar 로 변경
- super + ctrl + hl : i3 ws11-19 인데 안쓴다. emacs tab-bar 로 변경
- super + meta + hjkl : 기본 설정 없음. i3 창 이동
- super + meta + 0-9 : i3 워크스페이스 옴김 -> i3 창 이동
;; Ctrl + super
(progn
(global-set-key (kbd "C-s-h") 'tab-previous)
(global-set-key (kbd "C-s-l") 'tab-next)
(global-set-key (kbd "s-\\") 'tab-bar-switch-to-tab)
(global-set-key (kbd "C-s-1") '(lambda() (interactive) (tab-bar-select-tab 1)))
(global-set-key (kbd "C-s-2") '(lambda() (interactive) (tab-bar-select-tab 2)))
(global-set-key (kbd "C-s-3") '(lambda() (interactive) (tab-bar-select-tab 3)))
(global-set-key (kbd "C-s-4") '(lambda() (interactive) (tab-bar-select-tab 4)))
(global-set-key (kbd "C-s-5") '(lambda() (interactive) (tab-bar-select-tab 5)))
(global-set-key (kbd "C-s-6") '(lambda() (interactive) (tab-bar-select-tab 6)))
(global-set-key (kbd "C-s-7") '(lambda() (interactive) (tab-bar-select-tab 7)))
)
DONE stumpwm :우분투 :설치 :테스트
|2025-04-08 Tue 09:59|
@user i3wm, sway와 같은 타일링 윈도우 매니저를 정의하고 관련 프로젝트를 소개해줘
@assistant **타일링 윈도우 매니저*는 화면을 타일 형태로 나누어 윈도우를 배치하는 방식으로, 중첩 없이 공간을 효율적으로 활용합니다. 대표적인 타일링 윈도우 매니저로는 *i3wm*과 *Sway*가 있습니다.
i3wm
- *i3wm*은 리눅스에서 인기 있는 타일링 윈도우 매니저로, 키보드 중심의 사용자 인터페이스를 제공합니다. 사용자는 키보드 단축키를 통해 윈도우를 쉽게 관리할 수 있습니다[2][3][5].
- *Regolith Linux*는 i3wm을 기본으로 한 우분투 기반 배포판으로, i3wm의 복잡한 설정을 간소화하여 사용자에게 편리한 환경을 제공합니다[2].
Sway
- *Sway*는 Wayland 프로토콜을 지원하는 타일링 윈도우 매니저로, i3wm의 기능을 Wayland 환경에서 활용할 수 있도록 설계되었습니다.
- Sway는 i3wm과 유사한 사용자 인터페이스를 제공하며, Wayland의 장점을 활용하여 더 나은 성능과 보안을 제공합니다.
이 외에도 *StumpWM*과 같은 다른 타일링 윈도우 매니저도 존재하며, 각기 다른 특징과 사용법을 가지고 있습니다.
- Citations: [1] https://ubuntu2304.tistory.com/entry/%EB%A6%AC%EB%88%85%EC%8A%A4%EB%A7%88%EC%8A%A4%ED%84%B01%EA%B8%89-%ED%95%B5%EC%8B%AC-%EB%82%B4%EC%9A%A9-%EC%A0%95%EB%A6%AC-X-%EC%9C%88%EB%8F%84%EC%9A%B0-X-window [2] https://www.youtube.com/watch?v=3x1CR5Q2rrY [3] https://www.youtube.com/watch?v=lrPgINDMgjQ [4] http://thengineering.blogspot.com/2011/09/windowing-system.html [5] https://www.clien.net/service/board/use/13581505
@user 관련 영문 위키피디아를 찾아줄래? 영문으로 관련 정보를 정리해야겠어.
@assistant 관련 영문 위키피디아 문서는 다음과 같습니다:
-
Tiling Window Manager: Tiling window manager - 타일링 윈도우 매니저에 대한 정보가 포함되어 있습니다.
-
Dynamic Window Manager: Dynamic window manager - 동적 타일링 윈도우 매니저에 대한 정보가 포함되어 있습니다.
-
i3 Window Manager: i3 (window manager) - i3 윈도우 매니저에 대한 정보가 포함되어 있습니다.
-
Window Manager: Window manager - 일반적인 윈도우 매니저에 대한 정보가 포함되어 있습니다.
-
Citations: [1] https://en.wikipedia.org/wiki/Tiling_window_manager [2] https://en.wikipedia.org/wiki/Dynamic_window_manager [3] https://en.wikipedia.org/wiki/X_window_manager [4] https://en.wikipedia.org/wiki/I3_(window_manager) [5] https://en.wikipedia.org/wiki/Window_manager
@assistant *타일링 윈도우 매니저에 대한 정보를 찾는 방법
-
리눅스 데스크톱 환경과 윈도우 매니저의 종류를 이해:
- 리눅스에서는 다양한 데스크톱 환경과 윈도우 매니저가 존재합니다.
- 타일링 윈도우 매니저는 창을 겹치지 않고 효율적으로 배치하는 방식입니다.
-
대표적인 타일링 윈도우 매니저를 조사:
- i3, Sway, AwesomeWM, DWM 등이 대표적입니다.
- 각 매니저의 특징과 장단점을 비교합니다.
-
설치 및 사용 방법을 학습:
- 각 매니저의 설치 방법과 기본 사용법을 익힙니다.
- 예를 들어, *Regolith Linux*는 i3를 기본으로 사용하는 배포판입니다.
-
커스터마이징 방법을 탐색:
- 각 매니저의 설정 파일을 수정하여 사용자 맞춤형으로 조정할 수 있습니다.
타일링 윈도우 매니저의 종류 및 특징
- i3: 키보드 중심의 사용법, 효율적인 창 관리, Regolith Linux와 함께 사용하기 좋습니다[2].
- Sway: Wayland 기반, i3와 유사한 사용법, 모바일 환경에서도 사용됩니다[3].
- AwesomeWM: 동적 타일링, 상태바와 런처 기능을 제공합니다[3].
- DWM: 직접 소스코드 수정이 가능하며, 매우 가벼운 리소스 사용량을 특징으로 합니다[3].
타일링 윈도우 매니저의 장단점
- 장점: 창을 겹치지 않고 효율적으로 배치하여 멀티태스킹에 유리합니다.
- 단점: 초기 설정이 복잡할 수 있으며, 사용자에게 익숙해지기까지 시간이 걸릴 수 있습니다.