2P by GN⁺ | ★ favorite | 댓글 1개
  • Sway와 i3를 오래 써온 사용자가 Sway의 클릭-드래그 버그를 계기로 전통적 타일링 윈도 매니저에서 Niri로 전환함
  • Niri는 작업공간을 좌우로 스크롤하는 무한 스트립처럼 다뤄, 새 창을 열어도 기존 창 배치가 크게 흔들리지 않음
  • 전환 후 몇 시간 만에 사용할 만한 설정을 만들고 일주일 안에 Sway보다 더 잘 맞는 상태가 됐으며, 창 단위 화면 공유·화면 공유 제외·내장 스크린샷·약 2시간 배터리 증가를 장점으로 꼽음
  • 전통적 타일링 윈도 매니저는 창 재배치와 작업공간 관리에 인지 부담을 만들며, Sway에서 11개 이상 쓰던 작업공간이 Niri에서는 5개 이하로 줄어듦
  • 다양한 화면 크기와 처리 성능을 고려하면 전통적 타일링이 파워 유저의 기본 워크플로일 필요는 없으며, Sway나 Wayland 기반 타일링 사용자는 Niri를 시도해볼 만함

Sway에서 Niri로 옮긴 계기

  • 작성자는 생애의 35%에 해당하는 기간 동안 타일링 윈도 매니저를 써왔고, Sway 5년과 i3 2년을 사용함
  • Wayland를 비교적 이른 시기에 쓰면서 많은 것이 깨진 상태에 익숙해졌고, Sway 워크플로에도 오랫동안 적응해 있었음
  • 직접적인 계기는 Sway에서 텍스트를 선택한 뒤 드래그하면 마우스를 놓은 뒤에도 선택 동작이 계속되는 클릭-드래그 문제였음
    • 며칠이 몇 주로 바뀌는 동안 문제가 해결되지 않아, 텍스트를 클릭해 선택하는 동작 자체가 불안해짐
    • 원인 라이브러리를 찾거나 git bisect를 돌리는 대신, 오랜 근육 기억과 워크플로를 버리고 Niri를 시도함

Niri의 동작 방식과 첫인상

  • Niri는 스크롤형 타일링 윈도 매니저로, 각 작업공간이 좌우로 스크롤 가능한 무한히 넓은 띠처럼 동작함
  • 새 창을 열어도 다른 창의 배치를 바꾸지 않아, 터미널을 열었을 때 Firefox가 예상치 못한 위치로 밀려나는 일이 줄어듦
  • 몇 시간 안에 충분히 쓸 만한 설정을 만들었고, 일주일 안에는 Sway보다 더 잘 맞는 상태가 됨
  • 새롭고 위험해 보이는 도구를 무모하게 시도하던 배포판·윈도 매니저 갈아타기 시절의 감각을 다시 느꼈다고 함

Sway 대비 체감한 개선점

  • Niri는 창 단위 화면 공유를 지원하고, 특정 창이 화면 공유에 나타나지 않게 하는 기능도 제공함
    • 과제를 스트리밍할 때 은행 이메일 알림 같은 민감한 알림이 화면 모서리에 표시될 걱정이 줄어듦
  • 내장 스크린샷 도구가 만족스러웠고, Sway에서 권장되는 grim+slurp 조합보다 낫다고 평가함
  • Sway와 비교해 배터리 수명이 약 2시간 늘어남
  • Niri의 IPC 기능을 추가해보는 과정에서도 개발 경험이 좋았음
    • Sway/wlroots와 달리 Niri/Smithay는 Rust로 작성돼 있음
    • 코드는 예상보다 접근하기 쉬웠다고 함

전통적 타일링 윈도 매니저에 대한 불만

  • 전통적 타일링 윈도 매니저는 사용자가 창 배치를 최대한 효율화하도록 밀어붙이고, 그 과정에서 창 재배치 최소화라는 잘못된 목표에 인지 부담을 쓰게 만듦
  • 전체화면과 비전체화면을 계속 오가거나 작업공간이 부족해지는 일이 없다면, 열린 창이 많지 않은 상태라고 봄
  • 탭형·스택형 레이아웃과 중첩 컨테이너는 공간 부족을 덮는 덜 인체공학적인 임시방편으로 평가함
  • Sway에서는 작업공간을 자주 11개까지 열었고, 부족해서 11~20번 작업공간 단축키까지 추가함
    • 작업공간을 아끼려고 창을 닫다가 프로젝트 흐름을 잃는 일이 있었음
    • Niri에서는 큰 프로젝트 3개, 여러 채팅 앱, YouTube 영상, 수업 3개 분량의 작업을 열어도 작업공간 5개를 넘지 않음
    • 같은 구성이 Sway에서는 15번 작업공간까지 밀려났고, 원하는 자료를 찾으려면 여러 작업공간을 오가야 했음

화면 크기, DPI, 울트라와이드에서의 맥락

  • 다양한 화면 크기와 향상된 처리 성능을 고려하면, 전통적 타일링 윈도 매니저가 파워 유저 워크플로의 기본 선택일 필요는 없다고 봄
  • 전통적 타일링은 공간을 인위적으로 제한하고 콘텐츠 재배치를 강제하며, 비표준 모니터 레이아웃과도 잘 맞지 않는다고 평가함
  • Wayland로 전환한 주된 이유는 혼합 DPI였음
    • 같은 물리적 크기의 4K 모니터와 FHD 모니터를 함께 쓰면 4K 쪽의 픽셀 밀도가 약 4배 높음
    • 고정 픽셀 너비의 창은 4K에서는 작게, FHD에서는 크게 보일 수 있음
    • 창을 물리적으로 비슷한 크기로 보이게 하려면 스케일링이 필요함
    • X11의 구현은 당시 잘 맞지 않았고, Wayland는 이를 핵심 기능으로 지원함
    • X11은 1.6 같은 비정수 배율의 프랙셔널 스케일링도 어렵고, Wayland가 이 면에서 더 낫다고 함
  • 스크롤형 타일링 윈도 매니저는 울트라와이드 모니터와 잘 맞는다고 봄
    • Sway는 새 창이 울트라와이드 전체를 채우지만, Niri의 모델은 더 자연스럽게 타일링하고 공간을 더 잘 활용할 수 있음
  • Sway 같은 Wayland 기반 전통 타일링 윈도 매니저 사용자에게 Niri를 바로 시도해보라고 권함
    • Sway와 비슷한 키 바인딩 경험을 원하면 공개된 Niri 설정을 참고할 수 있음

댓글과 토론

Hacker News 의견들
  • Gnome을 쓰고 창은 거의 다 전체 화면으로 띄움. 가끔 win+left/right로 반폭 창을 만들기도 하는데, 이러면 원시인인가?

    • 작성자의 “street cred”를 보면 아직 20살이라는 점도 감안해야 함. 20살 때는 소프트웨어에서 온갖 손보기와 헛고생을 견디는 인내심이, 몇 년 직장 생활을 하거나 가족이 생긴 뒤와 비교하면 거의 무한대였다고 느끼는 사람이 많을 듯함
      지난 20년 동안 “미래”라고 불리던 타일링 창 관리자가 십수 개는 나타났다가 사라지는 걸 봤음. 현실적으로 생산성을 크게 높여 주는 기능은 오래전에 주요 창 관리자에 다 들어갔고, 순수 타일링 창 관리자는 앞으로도 틈새 제품으로 남을 가능성이 큼
      결국 제대로 쓰려면 꽤 많은 시간과 노력을 들여야 하는데, 얻는 생산성 향상은 현실적으로 점진적인 수준이고, 대신 이런 틈새 제품 특유의 거친 모서리도 함께 감수해야 함
    • 나도 비슷했는데, 내 작업 흐름이 타일링 창 관리자와 꽤 잘 맞는다는 걸 알게 됨. 임시 앱에는 분할을 쓰고, 예를 들면 30초 정도 터미널에 들어가는 식이며, 그 외에는 앱마다 워크스페이스나 화면 하나를 통째로 줬음
      Gnome보다 약간 나아지는 정도지만, 처음부터 창이 맞는 자리에 있을 가능성이 더 높고, 솔직히 창을 z축으로 겹쳐 쌓아야 할 일이 얼마나 자주 있나 싶음
      처음에는 실시간 전략 게임 카메라처럼, 위치와 확대율을 키 바인딩할 수 있는 무한 2D 캔버스가 더 나은 창 관리자라고 생각했음. 그런데 Niri를 써 보니 내 아이디어는 너무 복잡했고, Niri가 기능성과 사용성 사이의 딱 좋은 지점을 찌른다는 확신이 듦
      미래의 외계인이 선물해 준 기술 같음
    • 대부분 그렇게 일한다고 봄. 동료가 MacBook으로 React 개발하는 걸 봤는데, 창들이 그냥 열린 크기와 위치 그대로였고, 전체 화면도 아니어서 모니터 3개 쓰는 내 머리로는 이해가 안 됐음
      나는 노트북, 가운데 가로 24인치, 세로 24인치 모니터를 쓰고, Spotify/Teams/셸/Outlook은 세로 반분할, 문서는 노트북 화면, IDE는 메인 화면 전체 화면으로 둠. 설계/조사, 개발, 개인용으로 가상 데스크톱도 나눔
      4K나 울트라와이드 대신 표준 모니터 크기를 유지하면 화면 공유도 훨씬 단순해짐
      작은 불만은, 요즘 UI 디자인이 모든 곳에 10px 패딩을 넣어서 대부분 앱과 페이지가 뭔가 하려면 전체 화면이어야 한다는 점임
    • 딱 나랑 같음. 내가 진짜 원하는 건 가끔 필요할 때 3분할이나 4분할 정도를 해 주는, 조금 더 타일링 가능한 Gnome
      하지만 내 타일링 수요 대부분은 터미널 안에 있고, tmux가 영웅 역할을 해 줌
    • 이런 확장을 좋아할 사람이 있을 듯함
      https://extensions.gnome.org/extension/4548/tactile/
      나는 i3에서 넘어온 사람이지만, 완전한 타일링 확장은 원하지 않고 타일링의 편의만 조금 원한다면 Tactile이 아주 단순한 해결책이라 유용하게 느껴짐
  • 전통적인 타일링 창 관리자에서 넘어온다면 단축키 작업 흐름이 어떻게 되는지 알고 싶음
    나에게 가장 중요한 건 Super+[0-9]처럼 특정 창, 워크스페이스, 사실상 특정 프로그램으로 가는 고정 단축키임. 그게 가능하고, 글에서 말한 “워크스페이스 관리” 문제까지 해결된다면 바로 넘어갈 듯함
    Niri에서도 이런 식으로 “워크스페이스”를 쓰는 게 말이 되나? 예를 들어 브라우저용 워크스페이스 하나, 편집기용 하나, 여러 터미널 열용 하나를 두고, “브라우저”에서 “터미널들”로 즉시 전환하고 싶음. 애니메이션 효과는 없었으면 함

    • 가능함. Niri도 Sway 같은 창 관리자처럼 번호가 붙은 워크스페이스를 여전히 지원함. 다만 이제 가로로 스크롤할 수도 있음
    • Niri도 다른 타일링 창 관리자와 비슷하게 쓰게 되지만, 앱 하나당 워크스페이스 하나가 아니라 보조 앱들을 주 앱과 묶어 둘 수 있어서 좋음
      예를 들어 비밀번호 관리자는 브라우저와 같은 워크스페이스에 두고, 보통은 화면 밖에 있음. 비밀번호를 만들 일이 생기면 바로 옆에 있음. 텍스트 편집기 옆에 필요한 보조 터미널들도 같은 방식으로 둠
    • Sway에서는 papersway, Hyprland에서는 hyprscroller로 Niri, 정확히는 PaperWM 같은 타일링을 시도해 볼 수도 있음. 나는 후자를 쓰는데, 기본적으로 일반 타일링과 거의 같고 이름 붙은 워크스페이스도 가능함
      다만 기존 전통적 타일링의 제약 안에서 일하던 근육 기억이 꽤 남아 있다는 걸 느낌. 예를 들어 내 모니터에서는 터미널을 3개 넘게 열면 새 워크스페이스로 가야 한다는 식임
      그래서 사실 그럴 필요가 없는데도 새 워크스페이스로 자주 넘어가고, 뭐가 어디 있는지 조금 헷갈림. 가끔은 예전 작업 방식과 더 확실히 끊어지는 편이 더 쉬울지도 모르겠다고 생각함
      그래도 Niri와 비슷한 방식의 타일링은 정말 마음에 듦. 내 생각엔 타일링 창 관리자의 단점을 거의 다 없애 줌
    • 지난 1년 동안 i3를 쓰고 있는데, 이 글에서 말한 불편을 전부 느낌
      전반적으로는 Gnome보다 i3를 훨씬 선호하지만, “모든 게 리사이즈되는” 고통은 아주 현실적임. 특히 Zoom 통화가 많을 때 더 심한데, Zoom의 “알림”이 시스템 내장 알림을 우회하고 각각을 별도 창처럼 다루는 듯해서 문제가 증폭됨
      Niri를 한번 써봐야겠음
    • Mac에서 Super+X 같은 용도라면 rcmd도 강력히 추천함
  • 나한테는 잘 맞지 않았음. 화면 경계를 넘어 이어지는 창들의 띠가 있고, 가끔 창의 절반만 보이는 모습이 묘한 불안을 유발해서 계속 시선을 끌었음
    두 달 정도 쓰다가 창이 화면 경계와 겹치지 않는 더 전통적인 타일링 컴포지터인 Hyprland로 돌아감
    다만 Niri는 기술적으로는 아주 예쁨. 현대적인 Rust 코드베이스이고, 코드 구조도 좋고, 이해해서 손대기 시작하기도 쉬움

    • 나는 열 너비를 그렇게 설정해서 가장자리에 부분 창이 거의 절대 나오지 않게 함
      노트북에서는 작업에 따라 전체 너비나 1/2 너비를 쓰고, 울트라와이드에서는 1/3 너비를 쓰거나 내부 열 분할이 있는 편집기용으로 전체 너비를 씀
    • 와이드스크린이면 이게 더 나아질까, 더 나빠질까? 나는 UWQHD에서 일하는 걸 좋아함
  • 타일링 창 관리자 아이디어를 좋아해서 i3와 Hyprland를 꽤 오래 써 봤지만, 이상하게 완전히 정착하지 못하고 결국 Xfce로 돌아가곤 했음. 오래된 습관은 잘 안 죽음
    실험이 끝나는 순간은 보통 창이 일정 수를 넘었을 때임. 워크스페이스, 레이아웃 등을 충분히 깊게 설정하지 않았다면 그때부터 관리가 더 어려워짐
    방금 Niri를 켜 봤는데, 10분 만에 다른 타일링 창 관리자보다 훨씬 편안하게 느껴짐. 바로 직관적이고, 마우스 통합도 훌륭함
    승리를 선언하기엔 이르지만, 정말 몇 년 동안 원하고 필요했던 바로 그것처럼 보임. 얼마나 좋은지는 Xfce로 돌아가고 싶다는 생각이 들기까지 걸리는 시간으로 판단하겠음

    • 나도 타일링은 잘 맞지 않았음. Linux를 주로 노트북에서 쓰기 때문일 수도 있는데, 화면이 작아서 화면을 반으로 나누는 정도 말고는 타일링을 많이 하기 어렵고, 그마저도 IDE 같은 것과 잘 맞지 않음
      평범하고 지루하고 유행을 타지 않는 플로팅 창 관리자/데스크톱 환경에 가벼운 선택적 타일링이 붙은 구성이 나한테는 가장 최적이었음
  • 재밌게 읽었음. 누구에게나 한계점은 있음
    “당연히 어떤 라이브러리가 깨지는 변경을 했는지 찾아내고 git bisect를 4시간 돌리는 대신, 거의 10년에 가까운 근육 기억과 작업 흐름 개선을 창밖으로 던져 버리기로 했다”라는 부분이 좋았음

  • 나도 오래된 i3/Sway 사용자이고, Niri가 꽤 편안함. 포커스 이동이나 창 이동 같은 Sway의 근육 기억 대부분을 그대로 가져올 수 있었음. 안정성도 아주 좋고 xwayland-satellite와도 바로 잘 동작함
    가장 큰 문제는 창을 계속 “잃어버린다”는 것임. 깊게 중첩된 스택 안에 창을 열어 두고 다른 일을 하다가, 이미 그 창을 열어 뒀다는 걸 잊음
    Sway에서도 어느 정도는 생기지만, 모든 워크스페이스를 훑어보기는 훨씬 쉬움
    Alt-Tab에 묶인 “창 지도” 같은 게 있으면 좋겠음

    • 전에 내가 링크한 이슈 같은 걸 말하는 건가? https://news.ycombinator.com/item?id=43347909
      참고로 나는 niri IPC / bash / jq로 만든 괴상한 조합으로 run-or-raise 기능을 흉내 내고 있는데, 원래 RoR보다 아마 더 잘 동작함. 특정 appId와 맞는 창들을 순환하고, 없으면 새로 시작함
      여기에 열려 있는 모든 창을 퍼지 검색으로 이동하는 rofi(wayland)를 붙이니 체감이 크게 좋아졌음
    • alttab이면 필요한 걸 충족할 수 있을까? xmonad와 함께 쓰고 있는데 잘 동작함. https://github.com/sagb/alttab
    • Niri와 비슷한 기능을 하는 Hyprland 플러그인인 Hyprscroller에는 “expose”류 기능이 있음. 다만 나는 그 기능이 있다는 걸 자주 잊음
  • 나는 Hyprland를 쓰는 젊은 층이지만 Niri도 잠깐 써 봤고 꽤 잘 동작했음. 평균적인 단일 모니터 Windows 작업 흐름에서 넘어오는 사람에게는, 특히 사무형 작업 대부분에 아주 잘 들어맞음
    그래도 더 복잡한 타일링 설정이 생산성 상한은 더 높다고 생각함. 이 글쓴이처럼 워크스페이스를 10개 넘게 열어 두는 사람이라면 Niri를 택해야 할 듯함
    창을 몇 개만 열어 두는 사람에게도 배터리 수명 증가가 유지될지는 궁금함. 창 관리자만 바꿔서 2시간은 엄청난 차이임

    • 아직 Wayland와 X11 사이를 오가고 있는데, 내 오래된 2세대 T14s에서도 X11+xmonad+컴포지터 없음 조합이 평균 1.5시간 더 오래 감
      이게 내가 완전히 넘어가기 힘든 주요 이유 중 하나임. 데스크톱 환경도 안 쓰고, 컴포지터가 실제로 유용해질 기능도 쓰지 않아서 내 관점에서는 장점이 거의 안 보임
      가끔 눈에 띄는 건, 내가 설정한 시스템 테마를 따르지 않는 gtk4 프로그램의 그림자 드롭다운 때문에 검은 테두리가 생기는 정도임
  • Niri는 아직 안 써 봤지만 관심은 있음
    최근에는 GNOME에서 PaperWM 확장으로 스크롤 가능한 창 관리자 경험을 꽤 잘 맛봤음: https://github.com/paperwm/PaperWM

    • Niri는 PaperWM에서 영감을 받았고 훨씬 더 부드러움. PaperWM이 마음에 들었다면 niri도 볼 만함
      다만 Gnome 환경 안에서 만들어진 게 아니라서 조금 손해를 봄. Gnome이 “공짜로” 제공하는 몇 가지가 Niri에는 빠져 있고, 꽤 기본적인 기능도 대체 도구를 직접 찾아야 함
      빠져 있는 것처럼 보이는 것들은 데스크톱 알림, 앱 실행기, 독이나 실행 중인 앱 목록, X11 애플리케이션을 매끄럽게 실행하기 위한 Xwayland임. 이 기능들은 전부 Niri에 포함되지 않은 별도 도구가 제공해야 함
      가장 큰 불만은 X11과 Wayland 사이의 클립보드 동기화가 없다는 점임. Gnome은 이걸 자동으로 처리하는 것 같은데 Niri에서는 그렇지 않아서, Wayland 앱과 X11 앱 사이에 복사/붙여넣기가 안 되는 게 매우 짜증남
      우회책은 있지만, 지금까지 시도한 것 중 충분히 편하고 안정적인 건 없었음
  • 스크롤 가능한 창 관리자는 정말 훌륭함. 타일링 창 관리자 생산성의 약 80%를 20%의 노력으로 얻을 수 있음
    이걸 알아내는 데 30~40년이나 걸렸다는 게 신기함

    • 사이트의 영상을 봤는데, 프로그램 사이에서 드래그 앤 드롭을 꽤 자주 쓰는 사람 입장에서는 완전한 지옥처럼 보임
      나는 열린 브라우저 탭이 무한히 늘어나다가 결국 수백 개를 북마크하고 전부 닫아야 하는 타입이기도 해서, 이 전체 패러다임은 정말 나와 안 맞아 보임
    • i3를 쓸 때 아주 비슷한 걸 갖고 있었음
      이름으로 창을 스택 안팎으로 yank할 수 있게 해 주고, 스택에서 가장 오래된 창을 치워 두는 대충 만든 Python 코드였음. 사실상 창용 LRU 캐시였음
      “동작”은 했지만, 대학생 때 PaperWM이 있었다면 정말 즐겼을 것 같음
      플로팅 창 관리자만 잘하는 일도 있음. 나는 문서를 몇 개 플로팅으로 고정해서 화면 여러 곳에 띄워 두고, 많이 이동하지 않고 상호 참조하는 나쁜 습관을 좋아함
  • Linux 데스크톱에서 무슨 일이 일어나는지 더 배우고 싶다면, 누구에게나 비표준 창 관리자를 하나쯤 써 보라고 추천할 수 있음
    타일링 창 관리자를 만지작거리면서 Linux에 대해 배운 게 다른 어떤 소프트웨어 종류보다 많았음
    실제로 생산성이 올랐는지는 모르겠지만, 훌륭한 학습 경험이고, 인체공학도 좋고, 바닥부터 자기 데스크톱 환경을 만들어 가는 만족감이 엄청남

    • 가장 흥미로운 창 관리자들은 뭐라고 생각함?