Google์ ์ต๊ทผ Chormium์ "use_gtk3" ๋น๋ ํ๋๊ทธ๋ฅผ ์ถ๊ฐํ์ต๋๋ค. export GYP_DEFINES="$GYP_DEFINES use_gtk3=1" .
GTK3 ๋ฐ์คํฌํ์ ๋๋ถ๋ถ์ ์ต์ข ์ฌ์ฉ์๋ ์ต์ ์์ ฏ์ ์ฌ์ฉํ๋ ๊ฒ์ ์ ํธํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ถ๊ฐํ๊ธฐ์๋ ๋๋ฌด ์ด๋ฅด์ง๋ง ๊ฒฐ๊ตญ์๋ ์ข์ต๋๋ค.
Chromium 47 w gtk3์ ๋น๋์ค:
https://www.youtube.com/watch?v=TJidbdaHCYc
์ด๊ฒ์ ๋ด๊ฐ ์ฐ ์ค๋๋ ๋ฌธ์ ์ ๋ค์ ๊ด๋ จ์ด ์์ต๋๋ค.
https://github.com/atom/electron/issues/765
Chrome 47๋ก ์ ๊ทธ๋ ์ด๋ํ ํ ๊ธฐ๋ถ์ด ์ข์ต๋๋ค.
Chrome 47์ 3์ผ ์ ์ ์ถ์๋์์ต๋๋ค. :) http://googlechromereleases.blogspot.se/2015/12/stable-channel-update.html
์กฐ๊ธ ํ๊ณ ๋ค์์ง๋ง ์ฌ์ ํ use_gtk3 ํ๋๊ทธ๋ฅผ ์ด๋์ ๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. @zcbenz ํ์๊ฒ ์ต๋๊น?
@zcbenz ๋๋ ์ด๋์ ๋ฃ์ด์ผ ํ๋์ง ์๋ ค์ฃผ์ค ์ ์๋์?
์ ๋ Chromium์ฉ ๋น๋ ์์คํ
๋ค์ ์๋ ๋น๋ ๋์์ ๋ํ ์ ๋ฌธ๊ฐ๋ ์๋์ง๋ง Chromium ๊ด๋ จ ๋ฒ๊ทธ๋ฅผ ์ฝ๊ณ variables
to common.gypi
์ข์ต๋๋ค. ๊ด๋ จ ๋ผ์ธ์ ์ฌ๊ธฐ์ ์์ต๋๋ค .
์ฌ์ค ๋๋ ๊ทธ๊ฒ์ ์ํด Linux ์์์์๋ ํ
์คํธํ๊ณ ์์ต๋๋ค. ๋ด ํ์ฌ ๊ฐ๋ฐ ์์๋ Elementary OS๋ฅผ ์คํํ๊ณ Gtk2 ์ ํ๋ฆฌ์ผ์ด์
์ด ์คํ๋ ๋๋ง๋ค ๊ฒฝ๊ณ Gtk-Message: Failed to load module "pantheon-filechooser-module"
( Ref )๋ฅผ ํ์ํฉ๋๋ค. ์ผ์ด ์์กฐ๋กญ๊ฒ ์งํ๋๋ฉด (์ํ๋ฉด) ๋๋ PR์ ๋ฐ์ ์ ์๋์ง ๋ด
์๋ค. ๊ทธ๋๋ ๊ฑฐ๊ธฐ์ ๋ํ ๊ทํ์ ์๊ฒฌ์ ๋ถ๋ช
ํ ์ข์ํ ๊ฒ์
๋๋ค.
์ด์ ๋ํ ์ ๋ฐ์ดํธ๊ฐ ์์ต๋๊น? ์์ ์ฌ์ฉ์๋ก์ GTK2 ๋์ GTK3์ ์ฌ์ฉํ๋ ๊ฒ์ ๋ณด๊ณ ์ถ์ต๋๋ค.
@netsgnut ์ ์๋ํฉ๋๊น?
"%"์(๋) ๋ฌด์จ ๋ป์ธ๊ฐ์?
๋ณ๊ฒฝ ์ฌํญ์ ์ด๊ฒ๋ฟ์ ๋๊น?
diff --git a/common.gypi b/common.gypi
index 7c41c36..d00d7f7 100644
--- a/common.gypi
+++ b/common.gypi
@@ -9,6 +9,7 @@
'chromeos': 0,
# Reflects node's config.gypi.
'component%': 'static_library',
+ 'use_gtk3': 1,
'python': 'python',
'openssl_fips': '',
'openssl_no_asm': 1,
์ด๋ค ์์์ด ์์ต๋๊น? GTK2 ํ์ผ ์ด๊ธฐ ๋ํ ์์๋ ์ฌ์ฉํ๊ธฐ๊ฐ ์๋นํ ์ด๋ ต์ต๋๋ค!
@flying-sheep ์, ๊ธด ๋ผ๋์ค ์นจ๋ฌต์ ๋ํด ์ฃ์กํฉ๋๋ค. GitHub์ ๋ค๋ฅธ ํ๋ก์ ํธ์ ์ ๋ ํ์ต๋๋ค.
์ฐ๋ฆฌ์ ๊ฒฝ์ฐ๋ก ๋์๊ฐ์, ๊ทธ๊ฒ์ด ๋ด๊ฐ ์๋ ์๋ํด์ผ ํ๋ค๊ณ ์๊ฐํ๋ ๊ฒ์ด์์ง๋ง ์ ๋นํ๊ฒ๋ ๋ด ์์์ ์ ์ ํ Gtk3 ์ ํ๋ฆฌ์ผ์ด์ ์ ๋น๋ํ๋ ๋ฐ ์คํจํ์ต๋๋ค. ํ์์ ๊ฒฝ์ฐ ์๋ ์๋๋ ๊ฐ๋ฐ ์์(Elementary OS Freya๋ฅผ ์คํํ๋)์์ ์ค๋ฅ๋ฅผ ๋ฐ์์ํค์ง ์๋ Electron ๋น๋๋ฅผ ๋ง๋๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ๋ฐ ์์ผ๋ก ๊ตฌ์ถํ๋ฉด ์ค์ ๋ก ๊ฒฝ๊ณ ๊ฐ ์ฌ๋ผ์ง์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค.
#4642์์ @zcbenz ๋ ๋ค์๊ณผ
use_gtk3
ํ๋๊ทธ๋ Chromium ์ธก์์๋ง ์๋ฏธ๊ฐ ์์ต๋๋ค. GTK3๋ฅผ ํ์ฑํํ๋ ค๋ฉด ๋จผ์ libchromiumcontent์์ ํ์ฑํํ ๋ค์ Electron์์ ๋งํฌ ์ค์ ์ ๋ณ๊ฒฝํด์ผ ํฉ๋๋ค.
๊ทธ๋์ ์ ํํ ๋ฌด์์ํด์ผํฉ๋๊น?
๋๋ ์ด ๋ถ์ผ์ ์ ๋ฌธ๊ฐ๊ฐ ์๋๋ฉฐ @zcbenz ์ ์๊ฒฌ์
์ง๋ฌธ์ ๋ํด:
libgtk2ui
์ ์ธ์คํด์ค๋ฅผ ์ฐธ์กฐํ์ญ์์ค.Chromium ์
IIRC์์๋ chrome/browser/ui/libgtk2ui/์ ์ผ์นํ๋๋ก libgtk3ui ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋น๋ํด์ผ ํ๋ฉฐ ์์ ์ ์ด ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ํํด์ผ ํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๊ธ์ ์ฐ๋ ์์ ์์ libgtk3ui๋ ์์ง ์กด์ฌํ์ง ์์ต๋๋ค :( libgtk2ui์ ์ฝ๋๋ ๋ณผ ์ ์์ต๋๋ค.
๋๋ ์๋ ์ด๊ฒ์ ๊ฒ์ํ ํ ๊ฐ์ธ ๋ ธํธ๋ถ ์ฌ์ด์ ์์๊ณ ๊ทธ ์ดํ๋ก ๋ช ๋ฌ ๋์ ํ์ฌ์์ ๋ฐํํ MBP๋ฅผ ์ฌ์ฉํ๊ณ ์์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ง์นจ๋ด ๋ด ์ ๊ธฐ๊ณ, ๊ฐ๋ ์ค์ง ์๊ฐ์ด ์๊ฒผ๊ณ ์ด๊ฒ์ผ๋ก ์ฐ๋ฌ๋ณด๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ์ง๊ธ๊น์ง ๋์ ์งํ ์ํฉ:
gtk3๋ก ๋น๋ํ libchromiumcontent๋ฅผ ์ป์ ์ ์์๊ณ ๋ค์์ด ์๋ฐ๋์์ต๋๋ค.
'use_gtk3': 1
๋ฅผ ์ถ๊ฐํฉ๋๋ค.install_sysroot()
์ ๋ํ ํธ์ถ์ ์๋์ผ๋ก ์ฃผ์ ์ฒ๋ฆฌํ์ฌ sysroot๋ฅผ ๋นํ์ฑํํ์ต๋๋ค. ์ฐธ๊ณ : libchromiumcontent ๋ฒ์ ์ ๋ฐ๋ผ use_sysroot
์ chromium/src/build/common.gypi
๋ฅผ 'use_sysroot': 0
๋ก ์ค์ ํด์ผ ํ ์๋ ์์ต๋๋ค. ๋๋ ๋ฏธ๋์ ์ฌ๋ฐ๋ฅธ ์ ๊ทผ ๋ฐฉ์์ด ๋น๋์์ ํฌ๋ก์ค ์ปดํ์ผ ๊ธฐ๋ฅ์ ์ํด debian_jessie๋ก ์ ํํ๋ ๊ฒ์ด๋ผ๊ณ ๊ฐ์ ํ๊ณ ์์ต๋๊น?pkg-config --cflags gtk+-3.0 wayland-protocols gl egl glib-2.0 x11 gdk-3.0 gmodule-2.0 gthread-2.0 gtk+-unix-print-3.0 libpulse atk --libs gtk+-3.0 wayland-protocols gl egl glib-2.0 x11 gdk-3.0 gmodule-2.0 gthread-2.0 gtk+-unix-print-3.0 libpulse atk && export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/share/pkgconfig
script/update -t x64 && script/build -t x64 && script/create-dist -t x64
๊ทธ๋ฌ๋ ๋ถํํ๋ ๋น๋๊ฐ ์๋ฃ๋ ํ ๋๋ฌด ๋๊ด์ ์ด์ด์ ์ ์ ๋น๋๋ฅผ ์ํ ๋๋๊ทธ ์ค ๋๋กญ์ด๋ผ๊ณ ์๊ฐํ์ง๋ง ๋ฌผ๋ก ๊ทธ๋ ์ง ์์์ต๋๋ค. ๋ค์ ๋จ๊ณ๋ ๋ก์ปฌ brightray๋ฅผ ๊ตฌ์ถํ๊ณ sysroot๊ฐ ์๋ ์์คํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋๋ก ์ ๋ฐ์ดํธ๋ ๋ค๋ฅธ ๋ชจ๋ gyp ํ์ผ์ ์ป๋ ๊ฒ์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ libgtk2ui์ ๊ด๋ จํ์ฌ - ๋๋ ์ด๊ฒ์ ์ฝ์ ๊ณณ(์ ํฌ ํฌ๋ผ, ํฌ๋กฌ ์ด์ ํธ๋์ปค ๋๋ ์์น ๋ฆฌ๋ ์ค ์ปค๋ฎค๋ํฐ ์ค๋ ๋)์ ๋ํ ์ฐธ์กฐ๋ฅผ ์ฐพ๋ ๋ฐ ์ด๋ ค์์ ๊ฒช๊ณ ์์ต๋๋ค. ๊ฐ๋ฐ์๋ค์ gtk3๋ฅผ ์ฌ์ฉํ์ฌ ๋น๋๋ฅผ ์๋์ํค๊ธฐ ์ํด ์ต์ํ์ ์์ ์ ์ํํ์ต๋๋ค. ๋ด๊ฐ ํ๋ฆด ์ ์๊ณ ์ด๊ฒ์ด gtk2์ฉ์ผ๋ก ํน๋ณํ ์์ฑ๋ Electron ๊ธฐ๋ฐ ํจ์น์ ์ด๋ค ์ํฅ์ ๋ฏธ์น ์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
๊ฐ์ธ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ํด ๋งค์ฃผ chromium-gtk3 ๋น๋๋ฅผ ์ํํ๊ณ libgtk2ui๊ฐ ์ฌ์ ํ ์กด์ฌํ๋ฉฐ ์ฌ์ฉํ๋ค๊ณ ๊ฐ์ ํฉ๋๋ค.
๋๋ ์์ผ๋ก ๋ฉฐ์น ์์ ์ฌ๊ธฐ๋ก ๋์์ ๋ฏธ๋ฆฌ ๋น๋๋ ๋ฐ์ด๋๋ฆฌ์ ์ผ๋ถ ํ๋ฉด ์บก์ฒ๊ฐ ์๋ ๋ด POC ์ ์ฅ์์ ์ฐ๊ฒฐํ ๊ฒ์ ๋๋ค.
์๋ฃํ๊ณ ๊ณง atom-gtk3
์ ์์ต๋๋ค.
๊ฐ์ฅ ํฐ ์ฅ์ ๋ฌผ์ debian_wheezy_sysroot๊ฐ libchromiumcontent/electron/brightray ์ ์ฒด์์ ์ฌ์ฉ๋๊ณ ์๋ค๋ ๊ฒ์ ๋๋ค. ํด๋น ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ ์ง ๊ด๋ฆฌ์๋ jessie๋ก ์ ํํ ์ง ์๋๋ฉด sysroot๋ฅผ ์ ํ ์ฌํญ์ผ๋ก ๋ง๋ค์ง ์ฌ๋ถ๋ฅผ ๋ ผ์ํ๊ณ ๊ฒฐ์ ์ ๋ด๋ ค์ผ ํ ๊ฒ์ ๋๋ค.
์ฃผ๋ง ๋์ ๋๋ ๋ฐฐํฌ ๊ฐ๋ฅํ ์ ์ gtk3 ์คํ ํ์ผ์ ๋น๋ํ๊ธฐ ์ํด ๋ ธ๋ ๋๋ bash ์คํฌ๋ฆฝํธ๋ฅผ ์กฐํฉํ๋ ค๊ณ ๋ ธ๋ ฅํ ๊ฒ์ ๋๋ค. ๋ด๊ฐ ํ๋ ์ด๋ค ํ ๋ฆฌํ์คํธ๋ ๋ฐ์๋ค์ฌ์ง ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์ง ์๋๋ค. ๊ทธ๋์ ์ง๊ธ์ผ๋ก์๋ ์ด๊ฒ์ด ์๋ง๋ ๋๋ฃ gtk3 ์ฌ์ฉ์๋ค์ด ๋น๋๋ฅผ ์ป๊ณ ์ฌ์ฉํ๋ ๊ฐ์ฅ ํจ์จ์ ์ธ ๋ฐฉ๋ฒ์ด ๋ ๊ฒ์ด๋ค. ๊ทธ๋ฆฌ๊ณ ๋ค์ ๋ช ์ฃผ ๋์ ๋๋ฃ Arch ์ฌ์ฉ์๋ฅผ ์ํด ์ผ๋ถ AUR ํจํค์ง๋ฅผ ์ ๊ณตํ๋ ค๊ณ ์๋ํ ์๋ ์์ต๋๋ค.
์ด๋ค์ ์ ์ ๋น๋์ gtk3 ๊ฒฝ๊ณ ํ๋ค https://gist.github.com/nikolowry/05865698788d66ae0edfea2eb7c7fb0c
@nikolowry sysroot๋ฅผ ์ ์งํ๋ฉด์ GTK+ 3.x์์ sysroot๋ก ๋ณต์ฌํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์์ต๋๊น?
@paulcbetts Wheezy๊ฐ Jessie๋ก ์
๊ทธ๋ ์ด๋๋ ๊ฒฝ์ฐ์๋ง ์๊ฐํฉ๋๋ค. gtk3 ์ธ์๋ gtk3๋ฅผ ๋น๋ํ๋ ค๋ฉด ๋ค์๊ณผ ๊ฐ์ ์ต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ํ์ํฉ๋๋ค. wayland-protocols glib-2.0 gdk-3.0 gtk+-unix-print-3.0
.
๋ฉ์ง @nikolowry๋ก ๋ค๋ฆฝ๋๋ค . ์์ ํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ์์ค ์ฝ๋๊ฐ ์ด๋๊ฐ์ ์์ต๋๊น? ์ฐ๋ถํฌ ์ฌ์ฉ์์ ์ถ์ ๋ ์ฝ๊ฒ ๋ง๋ค๊ธฐ ์ํด PPA๋ฅผ ์ค๋นํ๊ณ ์ถ์ต๋๋ค.
๋๋ ๋ํ ์ด ๋ฌธ์ ๊ฐ ํ๋์ ์ธ ์์ ฏ์ ์ ๊ณตํ๋ ๋ฌธ์ ๊ฐ ์๋๋ผ๋ ์ ์ ๋ง๋ถ์ด๊ณ ์ถ์ต๋๋ค. GTK2๋ ๋ฒํผ๊ณผ ๋๊ตฌ ๋ชจ์์ ๋ชจ๋ ์์ด์ฝ์ด ๋งค์ฐ ์๊ฒ ๋ ๋๋ง๋๊ธฐ ๋๋ฌธ์ HiDPI ์์คํ (์ ์ด๋ ์ฐ๋ถํฌ 16.04์์๋ ์ฌ์ฉ ๋ถ๊ฐ)์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋คํ์ค๋ฝ๊ฒ๋ Atom์ ๊ฒฝ์ฐ ์ด๊ฒ์ ์ ์ด๋ ๋ด๊ฐ ๋ณผ ์ ์๋ ํ ํ์ผ ์ด๊ธฐ ๋ํ ์์์๋ง ์ํฅ์ ๋ฏธ์น๋ฏ๋ก Atom ์์ฒด๋ ์ฌ์ ํ ์๋นํ ์ ์ฉํฉ๋๋ค.
@EiNSTeiN ์ฃผ๋ง์ด ๋๋ ๋๊น์ง electron-gtk3 repo์ ๊ณง ๋ค์ ์ฐ๊ฒฐํ๊ฒ ์ต๋๋ค.
์ฝ๊ฐ์ ๋ท์ด์ผ๊ธฐ ๋จผ์ - ๋ด๊ฐ ์ด ์์ ์ ํ๊ธฐ๋ก ๊ฒฐ์ ํ ์ฃผ๋ ์ด์ ๋ Atom์ ์ผ์์ ์ธ ๋๋ผ์ด๋ฒ๋ก ์ฌ์ฉํ๊ณ ๋ ์ด์ ํ์ผ ๋ํ ์์๋ฅผ ๋ณผ ์ ์์๊ธฐ ๋๋ฌธ์ ๋๋ค! ๊ทธ๋ฌ๋ ๊ทธ ๋น๋๋ asar/compiled-cache/npm-not-running-post-install-scripts์ ๋ณต์ก์ฑ์ผ๋ก ์ธํด ์์๋ณด๋ค ์ค๋ ๊ฑธ๋ ธ์ง๋ง ์ด์ ๊ฐ๋ ๋ฉ๋๋ค.
๋๋ ์ด๊ฒ์ ํ๋ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ ๋ํด ๊ณฐ๊ณฐ์ด ์๊ฐํ๊ณ ์์๋ค - ๊ทธ๋์ ์ ์ง ๊ด๋ฆฌ์๋ ์ข์ ์ฐธ์กฐ๋ฅผ ๊ฐ์ง ๊ฒ์ด๊ณ (๋ชจ๋ ๊ฐ๋ณ ๋ฆฌํฌ์งํ ๋ฆฌ์์ ํ ๋ฆฌํ์คํธ๋ฅผ ์กฐ์ ํ๋ ๊ฒ์ ํ๋ค ๊ฒ์ด๋ค) ๋ํ gtk3-would-be-users๋ ๋ค์๊ณผ ๊ฐ์ด ์์ํ์ฌ ์คํํ ์ ์์ต๋๋ค. ๋นจ๋ฆฌ ๋ถ๊ฐ๋ฅ.
๊ทธ๋ฌ๋ ๋๋ ์๋ํ๋ ๋น๋๋ฅผ ํ์ง ์์ ๊ฒ์ด๋ฏ๋ก ๋ชจ๋๊ฐ 4-6์๊ฐ์ ๋น๋ ์๊ฐ์ ์ค๋นํ๊ฑฐ๋ ์ผ๋ถ ์๋ฒ๋ฅผ ์ค๋นํด์ผ ํฉ๋๋ค. ์ด๋ฌํ ๋ณ๊ฒฝ ์ฌํญ์ด ๊ณต์ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ฐ์๋ ๋๊น์ง ๊ฐ๋ ๋ฆด๋ฆฌ์ค๋ฅผ ์ํํ๊ฒ ๋ ์๋ ์์ต๋๋ค.
๋๋ ์ ์๋ฅผ ํ์ ๋ชจ๋๋ก ์ฌ์ฉํ์ฌ repo๋ฅผ ๋ง๋ค๊ณ ๋ชจ๋ gtk3 ์ฅ์ ์ผ๋ก ์ ์๋ฅผ ๋น๋ํ๊ธฐ ์ํ ๋จ์ผ bash ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ์ขํ์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ ๋ชจ๋ ๋ฐฐํฌํ์ ์ด๋ฌํ ๋ณ๊ฒฝ ์ฌํญ์ด ์ค์ ๋ก ๊ณต์์ ์ผ๋ก ์ ์ฉ๋ ๋๊น์ง ํจํค์ง๋ฅผ ๋ฐฐํฌํ๊ธฐ ์ํ ์ฌ์ด ์์์ ์ ๊ฐ์ง ์ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ hidpi ๋ฉ๋ชจ์ - atom-gtk3
๋ํ ๋ด exec cmd๋ GTK_THEME=Adwaita:dark GDK_SCALE=2 GDK_DPI_SCALE=.5 /usr/local/share/atom/atom --force-device-scale-factor=1.5 %U
์
๋๋ค. GDK ์ค์ผ์ผ ํ๋๊ทธ๋ chromium-gtk3
UI ๊ธ๊ผด ํฌ๊ธฐ๋ ์์ ํฉ๋๋ค. ๋ค์์ atom-gtk3
์ ์ผ๋ถ ํ๋ฉด์
๋๋ค.
์๋ ํ์ธ์,
์ ๋ Arch Linux์์ GTK3๋ก Electron 1.1.2๋ฅผ ์ปดํ์ผํ ์ ์์๊ณ use_gtk3=1
๋ฅผ libchromiumcontent๋ก ์ ๋ฌํ๊ณ brightray.gyp์์ gtk+-2.0
๋ฅผ gtk+-3.0
๋ก ๋ณ๊ฒฝํ ์ ์์์ต๋๋ค.
์ด์ Electron์ ๊ธฐ๋ณธ ์ฑ์ ํค๋ฅผ ๋๋ฅผ ๋๋ง๋ค ์ถฉ๋ํฉ๋๋ค.
์์ธํ ๋ด์ฉ์ https://github.com/tensor5/arch-atom์ ์ฐธ์กฐํ์ธ์.
๋น๋ ์คํฌ๋ฆฝํธ ๋ฆฌํฌ์งํ ๋ฆฌ:
https://github.com/nikolowry/electron-gtk3
์ด๋ฒ์ฃผ๋ง๊น์ง ๋ง๋ฌด๋ฆฌ ๋๊ธธ ๋ฐ๋๋๋ค. ๊ทธ๊ฒ์ WIP์ด๋ฉฐ ์์ง ์๋ฏธ์๋ ๊ฒ์ ๊ตฌ์ถํ์ง ๋ชปํ์ต๋๋ค.
@EiNSTeiN ๋ฐ @tensor5 - https://github.com/nikolowry/electron-gtk3 ๊ฐ ์ง๊ธ ๊ตฌ์ถ ์ค์ด ์ด์ผ ํฉ๋๋ค. debug
๋ฐ release
๋ชจ๋๋ฅผ ๋น๋ํ๋๋ก ํน๋ณํ ์ง์ ํ์ง ์๋ ํ release
๋ฒ์
@zcbenz Debian Wheezy๋ฅผ ์ฌ์ฉํ๋ ๋ฐ ์ญ์ฌ์ ์ด์ ๊ฐ ์์ต๋๊น(Chromium์ด LTS์ ํธํ๋๋ ๊ฒ์ ์ข์ํ๋ค๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค)? Jessie/GTK3๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด ๋น๋ ํ๋๊ทธ๋ฅผ ์ถ๊ฐํ ๊น์? ๋น์ ์ด ์์ด๋์ด์ ๋ฐ๋ํ์ง ์๋๋ค๋ฉด ์ ์ ํ ํ ๋ฆฌํ์คํธ๋ฅผ ์์ ํ ์ ์์ต๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ์ ์ด๋ GTK3๋ฅผ ๋น๋ํ๋ ๋ฐ ํ์ํ ์ฐธ์กฐ ๋น๋ ์คํฌ๋ฆฝํธ๊ฐ ์์ด์ผ ํฉ๋๋ค.
ํธ์ง: @tensor5 X ๋๋ Wayland๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๊น? Wayland์ ์ฃผ์ ์ ๋ ฅ ์ด๋ฒคํธ์์ chromium gtk3 ๋น๋๊ฐ ์ถฉ๋ํ๋ค๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค.
@nikolowry : ์, ์ ๋ Wayland๋ฅผ ์ฌ์ฉํ๊ณ ์์๊ณ ์ค์ ๋ก X์์ ์ ์๋ํฉ๋๋ค. ๊ฐ์ฌํฉ๋๋ค. ์ด Chromium ๋ฌธ์ ๊ฐ ์ด๋๊ฐ์์ ๋ ผ์๋์๋์ง ์๊ณ ์์ต๋๊น?
https://bugs.chromium.org/p/chromium/issues/detail?id=615164๋ฅผ ์ฐพ์์ต๋๋ค
@nikolowry ์ฐ๋ฆฌ๋ Chromium์ ๋น๋ ๊ตฌ์ฑ์ ๋ฐ๋ฅด๊ณ ์์ผ๋ฉฐ ๋ง์ Linux ๋ฐฐํฌํ์ด ์์ผ๋ฉฐ ๋ชจ๋ ๊ฒ์ ํ ์คํธํ ์๋ ์์ง๋ง Chromium์ ๋ชจ๋ ๊ณณ์์ ์์ ํ ํ ์คํธ๋์์ผ๋ฏ๋ก Chromium์ ๋ฐ๋ฅด๋ ๊ฒ์ด ์์ ํฉ๋๋ค.
์ ๋ GTK+3์ฉ์ผ๋ก ๋น๋ํ ํ๋๊ทธ๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์ด ์ข๊ณ ๋น๋ ์คํฌ๋ฆฝํธ์ ๋ํ ๋งํฌ๋ฅผ ์ถ๊ฐํ๋ ๊ฒ๋ ์ข์ ๋ณด์ ๋๋ค. Linux ๋น๋ ์ง์นจ์ ๊ณ ๊ธ ์ฃผ์ ์ค ์ผ๋ถ์ผ ์ ์์ต๋๋ค.
@zcbenz๋ ์ข๊ฒ ๋ค๋ฆฝ๋๋ค. sysroot์ Wheezy ๋์ Jessie๋ฅผ ์ฌ์ฉํ์ฌ ์คํํ ์ ์๋ Python ์คํฌ๋ฆฝํธ๊ฐ ์์ง๋ง ์ ์คํธ๋ฆผ Chromium์์ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ค์ ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข์ต๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ์ฐพ์ ์ ์๋ ๊ฐ์ฅ ์ค๋๋ ๋ฐฐํฌํ์ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ถํ๋ ๊ฒ์ glibc++ ๋ฒ์ ๊ด๋ฆฌ๋ก ์ธํด ์ํํธ์จ์ด ๋ฐฐํฌ์ ๊ด๋ จํ์ฌ ์ข์ ์ผ์ ๋๋ค. Jessie๋ก์ ์ ๊ทธ๋ ์ด๋๋ (์ผ๋ฐ์ ์ผ๋ก ๋ ์์ ํ ๋ฐฉ๋ฒ์ด๋ผ๊ณ ์๊ฐํ์ง๋ง) ๊ณผ๊ฑฐ. ์ฐ๋ฆฌ๋ RHEL ์ฌ์ฉ์์ ํจ๊ป ์ด ๋ฌธ์ ๋ฅผ ๋ง์ด ๊ฒช์์ต๋๋ค.
@tensor5 ๊ฐ Wayland์์ ์์ํ๋ ๋ฐฉ๋ฒ์ ์์๋์ต๋๋ค. ๋๋ ๊ทธ Chromium ํฐ์ผ์ ๋๊ธ์ ๋ฌ๊ณ ๋ด gtk3 ์ ์ฅ์๋ฅผ ์ ๋ฐ์ดํธํ์ต๋๋ค.
Chromium์ XWayland ๋ชจ๋์ ์๋์ผ๋ก ์ฐ๊ฒฐ๋์ง ์์ผ๋ฏ๋ก GDK_BACKEND=x11 electron
์คํํ๋ฉด ๋ฉ๋๋ค.
@nikolowry ๊ต์ฅํฉ๋๋ค!
๋ฐ๋ผ์ ๋ด๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์ดํดํ๋ค๋ฉด ๋ฌธ์ ๋ GTK3๊ฐ ์ ์๊ฐ ์์ํ Wayland ์์ฉ ํ๋ก๊ทธ๋จ์ด๋ผ๊ณ ์๊ฐํ์ง๋ง ๊ทธ๋ ์ง ์๋ค๋ ๊ฒ์ ๋๋ค.
@tensor5 ์ ํํ! GTK3๋ ํดํท์ ์ฌ์ฉํ๋ ๋ชจ๋ ์ฑ์ด Wayland ์ค๋น ์ํ๋ผ๊ณ ๊ฐ์ ํฉ๋๋ค(๋ฐ๋ผ์ ํ์ํ ๊ฒฝ์ฐ XWayland๋ฅผ ๋ก๋ํด์ผ ํจ).
์ด๋ฒ ์ฃผ๋ง์ Chromium ์์ค ์ฝ๋๋ฅผ ์ดํดํ๊ธฐ ์ํด ๋ฌด๋ฆ์ ๊ฟ๊ณ ์ค๋นํ๊ณ ์์๊ณ ์ผ๋ถ ๋ก๊ทธ๋ฅผ ์์ฑํ๋ ค๊ณ ํ๋ค๊ฐ https://fedoraproject.org/wiki/How_to_debug_Wayland_problems ๋ฅผ ํตํด ๊ฐ๋จํ ์๋ฃจ์ ์ ๋ฐ๊ฒฌํ์ต๋๋ค
Chromium๊ณผ Atom์ ๋ด ๋ง์ง๋ง ๋น Wayland ์ง์ ์ฑ์ด์์ต๋๋ค. ๊ทธ๋์ ๋ด Skylake ๋ ธํธ๋ถ์ด ํผํฉ dpi ๋ชจ๋์์ ๋ค์ค ๋ชจ๋ํฐ์ ์ฐ๊ฒฐ๋ ๋ xrandr์ ํตํด ๋ ์ด์ ์ถฉ๋ํ์ง ์๊ฒ ๋์ด ๊ธฐ์ฉ๋๋ค!!!!
ํธ์ง: ์ผ๋ถ AUR ํจํค์ง๋ ์ ์ง ๊ด๋ฆฌํ๋ค๋ ๊ฒ์ ์๊ณ ์์ผ๋ฏ๋ก "env GDK_BACKEND=x11"์ ํฌํจํ๋๋ก ๋ฐ์คํฌํ ํ์ผ์ ํธ์งํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ฉด ์ฑ์ด X์ Wayland์์ ๋ชจ๋ ์คํ๋ ์ ์๊ณ ๋ค๋ฅธ ๋ชจ๋ ์ฌ๋๋ค์ ๋ง์ ๊ณจ์นซ๊ฑฐ๋ฆฌ๋ฅผ ์ค์ผ ์ ์์ต๋๋ค. ๋ฏธ๋!
@nikowry ์ด๋ฏธ ์ฐธ์ฌ ์ค์ ๋๋ค!
๊ฒฐ๊ตญ ์ด๊ฒ์ ์ ์ ์์ค์์ ์์ ๋์ด์ผ ํ๋ฉฐ ๋ฐ์ฒ ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ฐ์ํ ๋ฐฉ๋ฒ์ ์๋๋๋ค.
BTW AUR ํจํค์ง๋ ๋ด ๊ฒ์ด ์๋๋๋ค. ๋๋ ์ ์ฅ์๋ฅผ ์ ์งํ๋ค
@nikolowry Firefox๋ Xwayland์ ์์กดํ๋ GTK3 ์ ํ๋ฆฌ์ผ์ด์
์ด์ง๋ง ์ ์๋ํฉ๋๋ค. ๊ทธ๋์ ์ดํด๋ณด์์ต๋๋ค. ์ฌ๊ธฐ์์ ๋ณผ ์ ์๋ฏ์ด ๋จผ์ X11 ๋ฐฑ์๋๋ฅผ ์๋ํ ๋ค์ ๊ฐ์ง๋ display_name ์ gdk_display_open
ํฉ๋๋ค.
์๋ง๋ ๋น์ทํ ์ผ์ด Chromium์์ ์ํ๋ ์ ์์ต๋๋ค.
๊ธฐ๋ณธ OS์์ pantheon-file-chooser๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด GTK3๊ฐ ํ์ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ๋ค์์ ์ป์ ์ ์์ต๋๋ค.
Gtk-Message: Failed to load module "pantheon-filechooser-module"
Qt5-WebEngine์ ์ง์/ํฌํธํ์ง ์๋ ์ด์ ๋ ๋ฌด์์ ๋๊น? ์ด์จ๋ ํฌ๋กฌ ์์ง์ ์ฌ์ฉํ๊ณ Qt์์๋ ๋ชจ๋ ๊ฒ์ด gtk์ ๋ฌ๋ฆฌ ํจ์ฌ ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ณด์ ๋๋ค...
๊ฒ๋ค๊ฐ qt5๋ gnome ๊ฐ๋ฐ ์ด์ธ์ ๋ค๋ฅธ ๊ฒ์ ๊ด์ฌ์ด ์๊ธฐ ๋๋ฌธ์ ๋งค๋ฒ F**king API๋ฅผ ๋ณ๊ฒฝํ๋ gtk3์ฒ๋ผ ํญ์ ์ค๋จ๋์ง ์์ต๋๋ค.
์ฌ๊ธฐ์ gtk๊ฐ ๋์๊ณ qt๊ฐ ๋ ๋์ ์ด์ (2์ธ์ง๋ง ์ฌ์ ํ ํ๋ฅญํ๊ณ ๊ด๋ จ์ฑ์ด ์์)์ ๋ํ
Qt 5.6.x๋ ์ด์ LTS์ ์์ผ๋ฉฐ ๋ผ์ด์ผ์ค ๊ฐ 5.7๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค. ์ด๋ ์คํ ์์ค ์ฌ์ฉ์/๊ฐ๋ฐ์์๊ฒ ํจ์ฌ ์ข์ต๋๋ค.
๋๋ ๊ฐ์ธ์ ์ผ๋ก ์ ์ฌ๋๋ค์ด gnome ์ธ๋ถ์์ gtk๋ฅผ ์ฌ์ฉํ๋๋ก ์ค๊ณ๋์ง ์์๋์ง ์ดํดํ์ง ๋ชปํฉ๋๋ค.
@ahjolinna ์ค์ ๋ก GTK+๋ Gnome ์ธ๋ถ์ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์๋ ์ฌ์ฉ๋ฉ๋๋ค. ์ด๋ ์ชฝ์ด๋ API๋ฅผ QT๋ก ๋ณ๊ฒฝํ๋ ๊ฒ์ Chromium ์ ์คํธ๋ฆผ์์ ๋ง์ ํจ์น๊ฐ ํ์ํ๊ธฐ ๋๋ฌธ์ Electron ํ์๊ฒ ์ ๋ชฝ์ด ๋ ๊ฒ์ ๋๋ค. ์๊ณ ํ ๊ฐ์น๊ฐ ์์ต๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก(?) ๋ชจ๋ GTK ๊ฐ๋ฐ์๋ ๋ ๋ํ์์ ๊ณ ์ฉํ GNOME ๊ฐ๋ฐ์์ด๊ธฐ ๋๋ฌธ์ GTK+3์ ๋ณธ์ง์ ์ผ๋ก GNOME๊ณผ ๊ฒฐํผํ์ต๋๋ค.
์ธ๊ธ๋ GTK API ํ์์ red Hat์ด GNOME์ ์์ผ๋ก ๋์๊ฐ๋ ๊ฒ์ ์ฐ์ ์ํ๊ธฐ ๋๋ฌธ์ ๋ฐ์ํฉ๋๋ค. @ahjolinna ๋ Qt5๊ฐ ๋ ์์ ์ ์ด์ง๋ง _ํ์ง๋ง_ ํฌ๋กฌ ์ธ์คํด์ค์ ๋ํ ์ ํ๋ ์ก์ธ์ค๋ง ์ ๊ณตํ๋ค๋ ๊ฒ์ด ๋ง์ต๋๋ค.
๊ทธ ์ด์ ๋ ๋ํ ์์ ์ฑ์ ๋๋ค. ํฌ๋กฌ ์์ฒด๋ ์ผ๋ถ ์์ญ์์ ์์ ์ ์ธ API๋ฅผ ์ ์งํ๊ธฐ ์ํด ๋ฆฌ์์ค๋ฅผ ํฌ์ ํ ์ ์์ ๋งํผ ์ถฉ๋ถํ ์์๋ฉ๋๋ค.
@nikolowry https://github.com/nikolowry/electron-gtk3 ๋ฅผ ์ฌ์ฉํ์ฌ gtk3 ์ง์์ผ๋ก ์ ์๋ฅผ ๊ตฌ์ถํ๋ ค๋ฉด atom-gtk3๋ฅผ ๊ตฌ์ถํ๊ธฐ ์ํด ์์ ๊ตฌ์ถ์์ ๋ฌด์์ ๋ณ๊ฒฝํด์ผ ํฉ๋๊น?
gtk3 ๋น๋๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋ฐ์ ํ ๋ง๋ฅผ ์ฌ์ฉํ ๋ ๋ฉ๋ด ํ์์ค์ ํฐ์ ํ ์คํธ๊ฐ ํ์๋ ์ ์์ต๋๋ค. ์ด ํจ์น ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค.
๋๋ ๋ค์ ๋ ์ ๋ค๋ฅธ gtk3 ๋น๋ ๊ฒฝ๊ณ ๋ฅผ ๊ณ ์น ๊ฒ์ด๋ค.
Chromium with Gtk2์ ๋ฉ๋ด๋ '๋ค์ดํฐ๋ธ gtk ์คํ์ผ'์ด ์๋๋ฉฐ ๋งค์ฐ ์ถํฉ๋๋ค. Gtk3 ๋น๋๊ฐ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ๊น์?
@๋ฉ์. ์๋์, gtk3๊ฐ ์๋ ๋ฉ๋ด ํ์์ค์ gtk2์์์ ์ ํํ ๋์ผํ๊ฒ ๋ณด์
๋๋ค. ๋น์ ๋ง์ด ๋ง์, ๊ทธ๊ฒ์ ์์ ํ ๊ธฐ๋ณธ์ด ์๋๋ฉฐ ๋จ์ํ ํ
์คํธ์ ๋ฐฐ๊ฒฝ์ ์์์ด gtk ํ
๋ง๋ฅผ ๋ฐ๋ฆ
๋๋ค.
๋๋ ๊ทธ๊ฒ์ด ๊ณ ์น ์ ์๋์ง ๋ณด๊ธฐ ์ํด ์ง๋ ๋ ์ ์ฝ๋๋ฅผ ๋ณด์๋ค. ํ ๊ฐ์ง ๋ฌธ์ ๋ ๊ธฐ๋ณธ gtk ์ฝ๋๊ฐ ํฌ๋ก์ค ํ๋ซํผ ๋ํผ ๋ ์ด์ด ๋ค์ ์จ๊ฒจ์ ธ ์๋ค๋ ๊ฒ์
๋๋ค. ์๋ง๋ gtk ์ ๋ฌธ๊ฐ๊ฐ ์ด์ ๋ํด ๋์์ ์ค ์ ์์ ๊ฒ์
๋๋ค.
@tensor5 ๋ฉ๋ด๋ ํฌ๋ก์ค ํ๋ซํผ ๋ํผ์์ ๊ตฌํ๋์ด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. OS X์ ๋ฉ๋ด๊ฐ ๊ธฐ๋ณธ์ด๊ณ ๊ธฐ๋ณธ Cocoa ์ฝ๋๋ ํฌ๋ก์ค ํ๋ซํผ ๋ํผ ๋ ์ด์ด ๋ค์ ์จ๊ฒจ์ ธ ์๋ ๊ฒ์ฒ๋ผ.
@Menci ๋ฌผ๋ก ๊ทธ๋ฐ ํจ์น๊ฐ ๋ฐ์๋ค์ฌ์ง ์ ์๋ ์ ์ผํ ๋ฐฉ๋ฒ์ ๋๋ค.
Gnome ์ฑ ๋ฉ๋ด๊ฐ ์์ผ๋ฉด ์ข์ ๊ฒ์ ๋๋ค.
LibreOffice๊ฐ ์ด๋ป๊ฒ ํ๋์ง ๋ณผ ์ ์์ต๋๋ค. ๋น์ทํ ๋ฐฉ์์ ๋๋ค.
LibreOffice์ ๋ฉ๋ด๋ ์ ๋ง ๋ค์ดํฐ๋ธ๊ฐ ์๋๋ผ๊ณ ์๊ฐํฉ๋๋ค. ๊ทธ๋ฆผ์ ๋ฐ ํ์/์จ๊ธฐ๊ธฐ ์ ๋๋ฉ์ด์ ์ด ์์ต๋๋ค.
GTK+ ์ฑ์ gnome(๋ฐ ๊ธฐํ gtk ํ์ ์ ํ) ์ธ๋ถ์์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ณด์ด์ง ์์์ผ๋ฉฐ KDE, LXQt์์ ํญ์ ๋์ฐํด ๋ณด์๊ณ Unity 8์ด ๋์ฐฉํ๋ฉด(Qt5 ๊ธฐ๋ฐ) ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. KDE ํ์ ์ด ๋ฌธ์ ๋ก gtk ํ๊ณผ ํ๋ ฅํ๋ ค๊ณ ์๋ํ์ง๋ง ๊ทธ๋ค์ ์์ ํ 100% ๋ฉ์ฒญํ๊ณ ๊ทธ๋ค์ API๊ฐ ๋ชจ๋ ์ ๋ฐ์ดํธ์ ํจ๊ป ๋ณ๊ฒฝ/์ค๋จ๋๋ ๊ฒ์ ์ ๊ฒฝ์ฐ์ง ์์ผ๋ฉฐ ๊ทธ๊ฒ์ด (์ผ๋ถ) KDE ํญ๋ชฉ์ ๊นจ๋จ๋ฆด ๊ฒ์ ๋๋ค. , ์ด๋ค btw. gtk ํ์ ์ด๋ฆฌ์์ ์ถ๋ก ๋๋ฌธ์ ํ๋์ฝ๋ฉํด์ผ ํ์ต๋๋ค.*
btw. KDE, LXQt ๋ฐ Unity 8 + Ubuntu Touch ๋ฐ SailfishOS๋ฅผ ์ฌ์ฉํ๋ฉด Qt5 "์์ฅ ์ ์ ์จ"์ด gtk๋ณด๋ค ํจ์ฌ ์ปค์ง๊ณ ์ฅ๊ธฐ์ ์ผ๋ก ํฐ ์ํฅ์ ๋ฏธ์น ๊ฒ์ ๋๋ค.
์ถ์ . libreoffice์ ๋ํด GTK ์์ด ๋น๋ํ๊ณ ๊ธฐ๋ณธ ํ์ผ ์ ํ๊ธฐ๋ฅผ ์ฌ์ฉํ๋๋ก ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ChakraOS๊ฐ PKGBUILD ํ๋ ์ด์ ๋ ๋ฌด์์ ๋๊น? ๊ฐ๋ฅํ ํ GTK๋ฅผ ์ฌ์ฉํ์ง ์๋ ๊ฒ์ ์ข์ํ๋ KDE/Qt์ ์ด์ ์ ๋ง์ถ ๋ฐฐํฌํ์ด๊ธฐ ๋๋ฌธ์
ํธ์ง
*GTK ๊ฐ๋ฐ์๋ ์ด์ ์ KDE์์ GTK ํตํฉ์ ์ฌ์ฉ๋์๋ ํ ๋ง ์์ง์ ๋ํ ์ก์ธ์ค๋ฅผ ์ฐจ๋จํ์ต๋๋ค. ๋ฐ๋ผ์ ์ด์ ์ ์ผํ ๋ฐฉ๋ฒ์ "CSS ๋ฐฉ์"์ ์๋ํ๋ ๊ฒ์ ๋๋ค.
Qt๋ฅผ ์ฌ์ฉํ๋ ๋ช ๊ฐ์ง ์ฑ:
Dropbox, OBS, MEGA, VIber, Wireshark, makemkv, yacreader, masterpdfeditor, vapoursynth-editor, SVP, teampeak3, mkvtoolnix-gui, hplip, scribus WPS-office...
Qt5๋ฅผ ์ฌ์ฉํ๋ ๋ค๋ฅธ DE: http://papyros.io/ ๋ฐ https://lumina-desktop.org/
@ahjolinna ์๋ชป๋ ๊ตฐ์ค์ ์ค๋ํ๋ ค๋ ๊ฒ ๊ฐ์ต๋๋ค. Chromium์ด ์ค์์น๋ฅผ ๋ง๋ค์ง ์๋๋ค๋ฉด Electron์ด ์ค์์น๋ฅผ ๋ง๋ค์ง ๋งค์ฐ ์์ฌ์ค๋ฝ์ต๋๋ค. Electron ํ์๊ฒ ์ด ํ๋ก์ ํธ์ Chromium์ QT5 ํฌํฌ๋ฅผ ์ ์งํ๋๋ก ์์ฒญํ๋ ๊ฒ์ ๋๋ฌด ๋ง์ ๊ฒ์ ์๊ตฌํ๋ ๊ฒ์ ๋๋ค.
๋ํ ์ด ๋ฌธ์ ๋ GTK2๋ฅผ GTK3์ผ๋ก ๊ต์ฒดํ๋ ๊ฒ์ ๊ดํ ๊ฒ์ ๋๋ค. ๊ทธ๋ค์ด ์ ํ์ ๊ณ ๋ คํ๊ฒ ํ๋ ค๋ฉด ์๋ก์ด ๋ฌธ์ ๋ฅผ ๋ง๋์ญ์์ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ์ฃผ์ ์์ ๋ฒ์ด๋ ์ด ์ค๋ ๋๋ฅผ ๋ ธ์ด์ฆ๋ก ์ฑ์๋๋ค.
@alzadude ์ฌ์ ๋น๋๋ ์ ์๋ฅผ ๋ค์ด๋ก๋ํ์ง ์๋๋ก grunt ๋น๋ ์คํฌ๋ฆฝํธ ์ค ์ผ๋ถ๋ฅผ ํธ์งํด์ผ ํฉ๋๋ค. ์ง๊ธ ๊ธฐ์ต) . ์ด๋ ต์ง๋ ์์ง๋ง ์ ๋น๋๋ฅผ ํ ๋๋ ํญ์ ์ง๋ ๋น๋์์ ์ทจํ ๋ช ๋จ๊ณ๋ฅผ ์์ด๋ฒ๋ฆฌ๋ ๊ฒ ๊ฐ์์ ํญ์ 1๋ถ์ด ๊ฑธ๋ฆฝ๋๋ค.
@tensor5 ๊ฐ ์์ ์ arch-atom repo์์ gtk3๋ฅผ ์ฌ์ฉํ๊ธฐ ์์ํ๋ค๋ฉด ์๋ํด ๋ณผ ๊ฒ์ ์ ์ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ๋ค์์ ๋น๋๋ฅผ ์ํํ๊ณ ๋ณ๊ฒฝ ์ฌํญ์ ๋ฌธ์ํํ ๋ ์ฌ๊ธฐ์ ๋ค์ ๋ํ๋๊ฒ ์ต๋๋ค. ์ฃผ๋ง)
@nikowry ๊ฐ์ฌํฉ๋๋ค, ๋ฌธ์ํ๋ ๋ณ๊ฒฝ ์ฌํญ์ด ์์ผ๋ฉด ์ข์ ๊ฒ์ ๋๋ค :)
์ ๋ Fedora๋ฅผ ์ฌ์ฉ ์ค์ด๋ฏ๋ก ์ด Fedora copr์ ๊ธฐ๋ฐ์ผ๋ก ๋ณ๊ฒฝ ์ฌํญ์ ํตํฉํ๋ ค๊ณ ํฉ๋๋ค.
https://copr.fedorainfracloud.org/coprs/mosquito/atom/
์ด Copr์ ํ์ฌ Fedora์ ํ์ค ํจํค์ง์ ๊ฐ์ฅ ๊ฐ๊น์ด ๊ฒ ๊ฐ์ต๋๋ค. ๋ค์ ์ ์คํธ๋ฆผ rpm ์ฌ์ ํ์ผ์ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค.
https://github.com/FZUG/repo/tree/master/rpms/atom
๊ทธ๋ฆฌ๊ณ ์ด Bugzilla ๋ฒ๊ทธ์ ์ธ๊ธ๋์ด ์์ต๋๋ค.
https://bugzilla.redhat.com/show_bug.cgi?id=1132661
๊ธฐ์กด ์์ ์ ๊ธฐ๋ฐ์ผ๋ก Electron ๋ฐ Atom์ gtk3 ๋น๋๋ฅผ ์ํด ๊ณ ์ ํ Copr์ ๋ง๋ค ์ ์์ต๋๋ค(๋ฌธ์ํ๋ ๋ณ๊ฒฝ ์ฌํญ์ ๊ธฐ๋ฐ์ผ๋ก ํ์ํ ํจ์น๋ฅผ ํตํฉํ๊ธฐ ์ํด ์ ์คํธ๋ฆผ rpm ์ฌ์ ํ์ผ์ ๋ถ๊ธฐ). ๋ฌผ๋ก ๋ค๋ฅธ ๋๊ตฐ๊ฐ๊ฐ ๋๋ฅผ ์ด๊ธฐ์ง ์๋ ํ :)
๋๋ ์ด๊ฒ์ ์ํด gentoo ebuild๋ฅผ ์์ฑํ๋ ค๊ณ ๋ ธ๋ ฅํ๊ณ ์์ง๋ง sucbess๊ฐ ์์ต๋๋ค. ๋๊ตฐ๊ฐ๊ฐ ๋๋ฅผ ๋์ ์ฃผ๋ฉด ๋งค์ฐ ๊ฐ์ฌ ํ ๊ฒ์ ๋๋ค.
@eternal-sorrow ํ์ฌ ๊ณต์ Gentoo ํธ๋ฆฌ์ ์๋ ebuild์ธ dev-util/electron์ ์ด๋ฏธ ๋ณด์ จ์ต๋๊น?
@devurandom , ํ์ต๋๋ค. ๊ทธ๊ฒ์ ์ ์(0.36.12)์ ์์ฃผ ์ค๋๋ ๋ฒ์ ์ ๋๋ค. ํ์ฌ ๋ฒ์ (1.3.1)์ ๋ง๊ฒ ์์ ํ๊ณ ๋ชจ๋ ํจ์น๋ฅผ ์ ์ฉํ์ง๋ง ์ฌ์ ํ v8 ์ฐ๊ฒฐ ๋ฌธ์ (๋ง์ ์ ์๋์ง ์์ v8 ๊ธฐํธ)๊ฐ ๋ฐ์ํฉ๋๋ค.
@์์ํ ์ฌํ
Arch Linux์์ @eternal-sorrow GTK3๋ก ์ต์ ๋ฒ์ ์ Electron์ ๋น๋ ํฉ๋๋ค. ํ ๋ฒ ์ดํด๋ณด์ธ์.
์ด์ ๋ํ ์ง์ ์ด ์์ต๋๊น?
@nikolowry , atom-gtk3์์ ์ฌ์ฉ ์ค์ธ ์์ ๋ฐ ์ ์ ๋ฒ์ ์ ๋ฌด์์ ๋๊น? ๋๋ ํ์ฌ ๋ฒ์ ์ ์์์๋ ์ ์-0.37์ด ํ์ํ๋ฉฐ ํ์ฌ ๋ฒ์ ์ ์ ์๋ก๋ ์คํํ ์ ์๋ค๋ ๊ฒ์ ๊นจ๋ฌ์์ต๋๋ค. ๋ด๊ฐ ์๋ชป?
@eternal-sorrow Atom์ ์ต๊ทผ Electron์ ์ต์ ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธ๋์์ต๋๋ค.
https://github.com/atom/atom/blob/efae2e08c3f902149431732cbd550aea09748acc/package.json#L15
gtk3๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด ์์ต๋๊น? ๋ ๋์ ํ์ผ ๋ํ ์์๋ฅผ ์ํด ํนํ ์ข์ํ ๊ฒ์ ๋๋ค.
์์น๋ฆฌ๋ ์ค์๋ ์ด๋ฏธ gtk3 ๋น๋๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ ์ ์ฝ์ด๊ฐ ์๋ ๊ฒ์ ๋ฌด์์ ๋๊น?
๋๋ ๊ทธ๋ค์ด ์ค์์น๊ฐ ์ ์คํธ๋ฆผ์์ ์ผ์ด๋๊ธฐ๋ฅผ ์ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ณต์์ ์ผ๋ก ๊ณํ๋์ด ์์ต๋๋ค( https://chromium.googlesource.com/chromium/src/+/acc4214c4dece4e70fb53355d557bd45f35965d6/docs/linux_gtk_theme_integration.md#GTK3 ์ฐธ์กฐ).
์ถ๊ฐ ์ ๋ณด, chromium/google chrome dev ์ฑ๋์ gtk 3์ ์ฌ์ฉํ๋ฏ๋ก ์ด์ ์๊ฐ ๋ฌธ์ ์ ๋๋ค.
https://bugs.chromium.org/p/chromium/issues/detail?id=79722#c110 ์์ Chrome 59์ ๋ํด ํ์ธ๋์์ต๋๋ค
ํฌ๋กฌ 59๊ฐ ๋์์ต๋๋ค! :๋ฐ๋ค:
์ด์ Chrome 59๊ฐ ์ถ์๋์์ผ๋ฏ๋ก Linux์ฉ GTK3์ผ๋ก ๋น๋๋ Electron ์ํํ์ ๋ณด๋ ๊ฒ์ด ์ข์ต๋๋ค.
GTK3 ์ง์์ ์ด์ Chromium stable(59)์์ ์ง์ ๋ฉ๋๋ค. ์ฆ, ๊ณง
๋ช ๊ฐ์ง ์ง๋ฌธ์ด ์์ต๋๋ค.
@zeke :
GTK3 ์ง์์ ์ํ๋ ์ด์ ๋ ๋ฌด์์ ๋๊น? ์ด ์ค๋ ๋์์ ๋ง์ด ์ธ๊ธ๋ "ํ์ผ ๋ํ ์์"๋ฅผ ๋ด ๋๋ค.
๋ด๊ฐ ๊ด์ฌ์ ๊ฐ๊ณ ์๋ ํ ๊ฐ์ง ๊ฐ์ ์ฌํญ์ Flatpak ์๋๋ฐ์ค ๋ด์์ ์คํ๋๋ Electron ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ด์ ํธ์คํธ์ ํ์ผ ์ ํ๊ธฐ์ ๋ํ ํฌํธ ์ ์ํํ๊ฒ ์ฌ์ฉํ ์
์ด ์ ๋ฐ์ดํธ๋ ์ฑ๋ฅ, ํธํ์ฑ ๋ฑ์ ๊ฐ์ ํฉ๋๊น? ์๋๋ฉด ๊ทธ๋ฅ UI?
์ด๋ก ์ ์ผ๋ก Gtk3์ hidpi ์ง์์ ๊ด๋ จ์ด ์์ ์ ์์ง๋ง ์ด๊ฒ์ด ๋๋ถ๋ถ์ ์ฐํํ๋ Chromium์ ๋ ๋๋ง๊ณผ ์ด๋ป๊ฒ ์ํธ ์์ฉํ๋์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ๋ฐ๋ผ์ ์๋ง๋ ํ ๋ง๋ง ๋ณ๊ฒฝ๋ ๊ฒ์ ๋๋ค.
์ด๋ค Linux ๋ฐฐํฌํ์์ GTK(3)๋ฅผ ์ฌ์ฉํฉ๋๊น?
์ฌ์ค์ ๋ชจ๋ ๋ฐฐํฌํ์๋ Gtk3๊ฐ ์์ต๋๋ค. Unity, GNOME, MATE, Cinnamon, Budgie, ๊ทธ๋ฆฌ๊ณ ๊ฒฐ๊ตญ XFCE๋ Gtk3๋ฅผ ์ ํ๋ฆฌ์ผ์ด์ ์ฉ ์ฃผ์ ํดํท์ผ๋ก ์ฌ์ฉํฉ๋๋ค.
@zeke
์ด๋ค Linux ๋ฐฐํฌํ์์ GTK(3)๋ฅผ ์ฌ์ฉํฉ๋๊น?
๋ชจ๋ ์ฃผ์ Linux ๋ฐฐํฌํ์ ๋ฐ์คํฌํฑ(์ ธ)์ GTK3์ ์ฌ์ฉํฉ๋๋ค. ์ผ๋ถ๋ ๋ํ KDE ํ๋ฏธ๋ฅผ ๊ฐ์ง๊ณ ์์ง๋ง ๊ทธ ๋ชจ๋ ๊ฒ์ ๋ํ ๊ธฐ๋ณธ๊ฐ์ GTK3์ ๋๋ค.
์ด ์ค๋ ๋์์ ๋ง์ด ์ธ๊ธ๋ "ํ์ผ ๋ํ ์์"๋ฅผ ๋ด ๋๋ค. GTK2์์ ๋ฌด์์ด ์๋ชป๋์๊ณ GTK3์์ ์ด๋ป๊ฒ ๊ฐ์ ๋์์ต๋๊น?
์, GTK2 ๋ฐ GTK3 ์์ฉ ํ๋ก๊ทธ๋จ์ ๋์ผํ ์์คํ ์์ ํจ๊ป ์ฌ์ฉํ ์ ์์ง๋ง GTK3 ์์ฉ ํ๋ก๊ทธ๋จ์ ํ์ฌ ๋ฐ์คํฌํฑ๊ณผ ๋ ์ ํตํฉ๋ฉ๋๋ค. ํ์ผ ์ ํ๊ธฐ ๋ํ ์์๊ฐ ์ข์ ์์ ๋๋ค.
@zeke
GTK3 ์ง์์ ์ํ๋ ์ด์ ๋ ๋ฌด์์ ๋๊น?
์ ๋ ์ผ๊ด์ฑ์ ์ค์ํ๊ฒ ์๊ฐํฉ๋๋ค. GTK 3์์๋ ํ์ผ ๋ํ๊ฐ ์๋นํ ๋ค๋ฅด๋ฉฐ, GTK ๋ฒ์ ๊ฐ์ ํ ๋ง๊ฐ ์ฝ๊ฐ ์ผ์นํ์ง ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ๋๋ ๋ํ ์์คํ ์ ์ต์ํ์ผ๋ก ์ ์งํ๋ ๊ฒ์ ์ข์ํฉ๋๋ค. Atom์ด GTK 2๋ฅผ ์ญ์ ํ๋ฉด GTK 2๋ฅผ ์ค์นํด์ผ ํ ์ด์ ๊ฐ ํ๋ ์ค์ด๋ญ๋๋ค.
์ด ์ค๋ ๋์์ ๋ง์ด ์ธ๊ธ๋ "ํ์ผ ๋ํ ์์"๋ฅผ ๋ด ๋๋ค. GTK2์์ ๋ฌด์์ด ์๋ชป๋์๊ณ GTK3์์ ์ด๋ป๊ฒ ๊ฐ์ ๋์์ต๋๊น?
์์ ๊ฐ์ด ๋์๊ฒ ๊ฐ์ฅ ์ค์ํ ๊ฒ์ ์ผ๊ด์ฑ์ด๋ค. GTK 3 ๋ํ ์์๋ ๋๋ ํ ๋ฆฌ์์ ์ฆ๋ถ ๊ฒ์ ๋์ ์ฌ๊ท์ ์ด๋ฆ ๊ฒ์์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์ค์ ๋ก ์ผ๋ถ์์๋ ์ด๋ฑํ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค.
์ฌ๋๋ค์ด ๊ธฐ๋ํ ์ ์๋ ๋ค๋ฅธ ๊ฐ์ ์ฌํญ์ ๋ฌด์์ ๋๊น?
๋ฉ๋ด๋ ๋๋ชจ๋ ์ ์ง์ํ์ง ์๊ณ ํ์ดํ ํค๋ฅผ ์ฌ์ฉํ์ฌ ์ธ์ ํ ๋ฉ๋ด ์ฌ์ด๋ฅผ ์ด๋ํ๋ ์ฌ์ฉ์ ์ง์ ๊ตฌํ ๋์ GTK๋ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
Atom์ด GTK 2๋ฅผ ์ญ์ ํ๋ฉด GTK 2๋ฅผ ์ค์นํด์ผ ํ๋ ์ด์ ๊ฐ ํ๋ ์ค์ด๋ญ๋๋ค.
@jtojnar : ๊ธฐ๋ณธ์ ์ผ๋ก GTK3๋ฅผ ์ฌ์ฉํ๋ ์ต์ ๋ฒ์ ์ Linux๊ฐ ์๋ ๊ฒฝ์ฐ GTK3๋ก ์ ๋ฐ์ดํธ๋์ง ์์ ์ฑ์ ์ง์ํ๋ ค๋ฉด GTK2๋ฅผ ์๋์ผ๋ก ์ค์นํด์ผ ํฉ๋๊น? Atom(๋ฐ ๋ค๋ฅธ ๋ชจ๋ Electron ์ฑ) ์ธ์ ์ด ๋ฌธ์ ๊ฐ ์๋ ๋ค๋ฅธ ์ธ๊ธฐ ์๋ ์ฑ์ ๋ฌด์์ ๋๊น?
@zeke ์ข
์์ฑ ์ค์น๋ ์ผ๋ฐ์ ์ผ๋ก ๋ฐฐํฌํ์ ํจํค์ง ๊ด๋ฆฌ์์ ์ํด ์๋์ผ๋ก ์ํ๋๋ฉฐ, GTK 3 ์ฑ์ ์ค์นํ๋ฉด libgtk3
๋ ๋ค์ด๋ก๋๋๊ณ GTK 2 ์ฑ์ ์ค์นํ๋ฉด libgtk2
๋ฉ๋๋ค. ๋ ๋ค ์์ ํ๊ฒ ์ค์นํ ์ ์์ต๋๋ค. SSD ๊ณต๊ฐ์ด ๋ถ์กฑํ๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฅํ ๋ชจ๋ ๋ ๊ฑฐ์ ํจํค์ง๋ฅผ ์ ๊ฑฐํ๊ณ ์ถ์ต๋๋ค.
GTK3 ์ง์์ ์ํ๋ ์ด์ ๋ ๋ฌด์์ ๋๊น?
GTK3๋ ์ต์ ๋ฒ์ ์ด๋ฉฐ HiDPI๋ฅผ ์ง์ํฉ๋๋ค.
GTK2๋ ๋ ์ด์ ๊ฐ๋ฐ๋์ง ์์์ผ๋ฉฐ ํ๋์ ์ด์ง ์์ต๋๋ค.
์ด ์ค๋ ๋์์ ๋ง์ด ์ธ๊ธ๋ "ํ์ผ ๋ํ ์์"๋ฅผ ๋ด ๋๋ค. GTK2์์ ๋ฌด์์ด ์๋ชป๋์๊ณ GTK3์์ ์ด๋ป๊ฒ ๊ฐ์ ๋์์ต๋๊น?
์ด๊ฒ์ ๋ํด ๋ชจ๋ฅธ๋ค.
์ด ์ ๋ฐ์ดํธ๋ ์ฑ๋ฅ, ํธํ์ฑ ๋ฑ์ ๊ฐ์ ํฉ๋๊น? ์๋๋ฉด ๊ทธ๋ฅ UI?
GTK3๋ ์ผ๋ถ CPU ๋ฐ RAM ๊ธฐ๋ฅ์ ๋ ์ ํ์ฉํ๋ค๊ณ ๋งํ์ง๋ง ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ ํ์คํ์ง ์์ต๋๋ค. ๊ทธ๋ฌ๋ ํฐ UI ์ ๋ฐ์ดํธ๊ฐ ๋ ๊ฒ์ ๋๋ค.
์ฌ๋๋ค์ด ๊ธฐ๋ํ ์ ์๋ ๋ค๋ฅธ ๊ฐ์ ์ฌํญ์ ๋ฌด์์ ๋๊น?
๋ ๋์ ํ ๋ง ์ง์.
์ด๋ค Linux ๋ฐฐํฌํ์์ GTK(3)๋ฅผ ์ฌ์ฉํฉ๋๊น?
๋ชจ๋ ๋ฐฐํฌํ์๋ ์ ์ฅ์์ GTK3์ด ์์ต๋๋ค.
Gnome 3, Budgie, Deepin, MATE ๋ฐ ๊ณง(tm) XFCE์ ๊ฐ์ ๋ง์ ์ฃผ์ ๋ฐ์คํฌํฑ ํ๊ฒฝ์์๋ GTK3์ ์ฌ์ฉํฉ๋๋ค.
์ด๋ฅผ ์ํ ์ ์ ์กฐ๊ฑด์ #9946์ ๋ํ pull ์์ฒญ์ด ์๋ Chromium 59์ ๋๋ค.
@zeke ์ฃผ์ ์์ ์ Linux์์ GTK(2 ๋๋ 3) ๋๋ Qt๋ฅผ UI ํดํท์ผ๋ก ์ฌ์ฉํ๋ ์ฑ์ ๋ณผ ๊ฐ๋ฅ์ฑ์ด ๋ ๋๊ธฐ ๋๋ฌธ์ UI ์ผ๊ด์ฑ์ด ๋ ์ฐ์ํ๋ค๋ ๊ฒ์ ๋๋ค. Windows์ macOS์๋ ๊ณ ์ ํ ๊ธฐ๋ฅ์ด ์์ผ๋ฉฐ ์ผ๋ฐ์ ์ผ๋ก ํด๋น ํ๋ซํผ์ ๋๋ถ๋ถ์ ์ฑ์ด ์ด๋ฅผ ์ฌ์ฉํ๋ค๋ ๊ฒ์ ์ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ๊ธฐ๋ณธ UI ํดํท์ ์ฌ์ฉํ์ง ์๊ธฐ ๋๋ฌธ์ Steam์๋ ๊ธฐ๋ณธ ๋ชจ์์ด ์์ต๋๋ค.
์ด ์ค๋ ๋์์ ๋ง์ด ์ธ๊ธ๋ "ํ์ผ ๋ํ ์์"๋ฅผ ๋ด ๋๋ค. GTK2์์ ๋ฌด์์ด ์๋ชป๋์๊ณ GTK3์์ ์ด๋ป๊ฒ ๊ฐ์ ๋์์ต๋๊น?
GTK3์ ๋น๊ตํ GTK2๋ UI๊ฐ ๋ค๋ฅธ ์๊ฐ์ ๋ชจ์(ํ์ผ ๋ธ๋ผ์ฐ์ ์ ๊ฐ์ ๋ ์ด์์/๊ธฐ๋ฅ ์ฐจ์ด)์ ๊ฐ์ง ์ด์ ๋ฒ์ ์ Windows ๋๋ macOS๋ก ๊ฐ์ฅ ์ ์ค๋ช ๋ ์ ์์ต๋๋ค. Windows 10์ ์คํํ๊ณ Windows Vista ๋๋ XP์ฒ๋ผ ๋ณด์ด๋ ํ์ผ ๋ํ ์์๊ฐ ๋ํ๋๋ฉด ์์น๊ฐ ๋ง์ง ์๊ณ ํน์ ๊ธฐ๋ฅ/UX๊ฐ ๋ถ์กฑํ ์ ์์ต๋๋ค.
KDE์ ๊ฐ์ ๋ฐ์คํฌํ ํ๊ฒฝ(DE)์์ ์ด๋ ์ฌ์ ํ ํด๋น DE, Qt์ ๋ํ ๋ณด๋ค ์ผ๋ฐ์ ์ธ ํดํท ๋์ GTK3 ๋ํ ์์๋ฅผ ์์ฑํฉ๋๋ค. ๊ทธ๋์ ๊ฑฐ๊ธฐ์๋ ์ฌ์ ํ ์ฝ๊ฐ์ ๋ถ์ผ์น๊ฐ ์์ง๋ง GTK2๋ณด๋ค ๋ซ์ต๋๋ค.
๋ค์์ ๊ธฐ๋ณธ Breeze ํ ๋ง๊ฐ ์๋ KDE์ ๋ช ๊ฐ์ง ์์ ๋๋ค.
ํ์ฌ Electron ์ฑ์ด ์๋ GTK2 ๋ํ ์์ - GitKraken:
GTK3 ๋ํ - ํผํฉ:
Qt ๋ํ - ์ผ์ดํธ:
Mono/.NET(?) ๋ํ ์์ - BundleModder - Linux์์ ํํ์ง ์์ Java ์์ฉ ํ๋ก๊ทธ๋จ๋ ํํ์ง ์์ ํดํท์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ณด์๋ค์ํผ ์คํ์ผ ์ผ๊ด์ฑ์ UI ํดํท์ ๋ฐ๋ผ ์๋นํ ๋ค๋ฆ ๋๋ค. ์ผ๋ฐ ์ฌ์ฉ์๊ฐ ์ ๋ค๋ฅธ์ง ํผ๋์ ์ผ์ผํฌ ์ ์์ผ๋ฏ๋ก ๋์ผํ ๋ชฉ์ ์ ์ํ ๊ฒ์ธ์ง ์๋๋ฉด ํ์/ํ๋ ์ ํ ์ด์ ์ธ๋ถ ์ ๋ณด๊ฐ ์๋ก ๋ค๋ฅธ ๊ฒ์ ๋ํด ๋ถ๋ง์ ๊ฐ์ง ์ ์์ต๋๋ค(GTK๋ ๋ ๋ฒ ํด๋ฆญํ ์ ์์ง๋ง Qt๋ ๋จ์ผ์ฉ์ผ๋ก ์ค์ ํ ์ ์์ต๋๋ค. ํด๋ ํ์ ํด๋ฆญ) ๋๋ ์ผ๊ด์ฑ ๋ถ์กฑ์ ๋น์ ๋ฌธ๊ฐ๋ก ๋ณด๋ ๊ฒ์ ๋๋ค.
Gnome(GTK ๊ธฐ๋ฐ DE)๋ GTK3์ Qt ๊ฐ์ ์ผ๊ด์ฑ์ ์ ์งํ๋ฉด์ KDE(Qt ๊ธฐ๋ฐ DE)๋ณด๋ค ์ด๋ฅผ ๋ ์ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค. Qt์ ํดํท์ ๊ธฐ๋ณธ ๋๋/๊ฒฝํ์ ์ ๊ณตํ๋ ํ๋ซํผ ๊ฐ์ ์ ํตํฉ๋๋๋ก ์ค๊ณ๋์๊ธฐ ๋๋ฌธ์ ๋๋ค. GTK ๊ฐ๋ฐ์๋ KDE ๊ฐ๋ฐ์๊ฐ DE์์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ฝ๋๋ฅผ ์ ๊ณตํ๊ธฐ๋ฅผ ์ํจ์๋ ๋ถ๊ตฌํ๊ณ Gnome ์ด์ธ์ DE์์ ํดํท์ ์ง์ํ๋ ๊ฒ์ ๊บผ๋ฆฝ๋๋ค. ์ฌ์ฉ์๊ฐ GTK2 ๋๋ ํํ์ง ์์ ํดํท์ ์ฌ์ฉํ๋ ์ด์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ์ฉํ์ง ์๋ ๊ฒฝ์ฐ ๋ ๋์ ๊ฒฝํ์ ํ ์ ์์ต๋๋ค.
ํดํท์ด ๋ค๋ฅธ ํดํท์ ์์ํ๋ ์ฑ๋งํผ ๊ฐ๋ ฅํ์ง ์์ ๊ฒฝ์ฐ GTK์ Qt ์ฑ์ด ํผํฉ๋์ด ์๋ ๊ฒฝ์ฐ๊ฐ ์ข ์ข ์์ต๋๋ค. ์ผ๋ถ ์ฌ์ฉ์์๊ฒ๋ ๋จ์ผ ํดํท ์ฑ๋ง ์ฌ์ฉํ๋ ๊ฒ์ด ๊ฐ๋ฅํฉ๋๋ค(KaOS๋ Qt5์ ๋ง๋ ๋ฐฐํฌํ์ ๋๋ค. Chrome๊ณผ ๊ฐ์ ์ ํ์ GTK ์ฑ์ ์ฌ์ฉํ ์ ์์). Electron ์ ํ๋ฆฌ์ผ์ด์ ์ ์ธ๊ธฐ๋ก ์ธํด GTK๋ฅผ ํผํ๋ ๊ฒ์ด ํญ์ ๋ฐ๋์งํ ๊ฒ์ ์๋๋๋ค.
GTK3 ์ง์์ ์ํ๋ ์ด์ ๋ ๋ฌด์์ ๋๊น?
์ผ๊ด์ฑ, ํ์ผ ๋ํ ์์๋ KDE ์ฌ์ฉ์์ธ ์ ์๊ฒ ๊ฐ์ฅ ๋์ ๋๋ ๊ฒ์ ๋๋ค.
์ด ์ ๋ฐ์ดํธ๋ ์ฑ๋ฅ, ํธํ์ฑ ๋ฑ์ ๊ฐ์ ํฉ๋๊น? ์๋๋ฉด ๊ทธ๋ฅ UI?
์ฌ๋๋ค์ด ๊ธฐ๋ํ ์ ์๋ ๋ค๋ฅธ ๊ฐ์ ์ฌํญ์ ๋ฌด์์ ๋๊น?
FlatPak(Sandboxed, distro-agnostic ์ฑ, GUI ์ฑ์ฉ Docker/์ปจํ ์ด๋์ ๊ฐ์)์ ๋ํด ๋ง์ด ์์ง๋ ๋ชปํ์ง๋ง, DE(FlatPak ํ ๋ง๋ ๋ ๋ค๋ฅธ ์ผ๊ด์ฑ์ ์ํ ์ด์ผ๊ธฐ, FlatPak์ GTK3๋ ์ต๊ทผ์ ํ ๋ง ์ง์์ ๋ฐ์๊ณ ๋ค๋ฅธ ํดํท๋ ์ด๋ฅผ ์ถ๊ฐํด์ผ ํฉ๋๋ค). ์ธ๊ธํ FlatPak์ ํฌํธ ์ง์์ ํตํด ํ์ผ ๋ํ ๋ฌธ์ ๋ฅผ ์ํํ ์๋ ์์ต๋๋ค.
๊ฐ์ธ์ ์ผ๋ก GTK2์ GTK3์ ๋ํด ์ ๋ชจ๋ฅด์ง๋ง HiDPI ์ด์ผ๊ธฐ๋ GTK3์ ๋ ์ข์ ๊ฒ์ ๋๋ค. ํ ๋ง ์ง์ ์ ์๊ฐ์๋ ๋ ๋์ ๊ฒ ๊ฐ๊ฑฐ๋ ์ ์ด๋ ์์ผ๋ก GTK3์ฉ ํ ๋ง๋ฅผ 2๋ณด๋ค ๋ ๋ง์ด ์ป์ ๊ฐ๋ฅ์ฑ์ด ๋ ํฝ๋๋ค. Gnome์์ ํ์ผ ๋ํ ์์๋ ํด๋น ์ฌ์ฉ์์ UX๋ฅผ ๊ฐ์ ํ๋ ํด๋ผ์ด์ธํธ ์ธก ์ฅ์(CSD)๊ณผ ์ฝ๊ฐ ๋ค๋ฅผ ์ ์์ต๋๋ค. KDE์์๋ GTK3 ์ง์์ด ์ ์ญ ๋ฉ๋ด ๊ธฐ๋ฅ(์ฌ์ ํ WIP, macOS๋ ์์ฉ ํ๋ก๊ทธ๋จ ์ฐฝ์ ๋ฌถ์ด์ง ์๊ณ ๋ฉ๋ด ํ์์ค๊ณผ ๋น์ทํจ)์์ ๋ ์ ์๋ํ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
์ด๋ค Linux ๋ฐฐํฌํ์์ GTK(3)๋ฅผ ์ฌ์ฉํฉ๋๊น?
๋๋ถ๋ถ์ ์ต์ ๋ฐฐํฌํ์ ๋ด๊ฐ ์๋ ํ GTK3์ ์ฌ์ฉํ๊ฑฐ๋ ์ง์ํฉ๋๋ค. GTK2๋ ๊ฝค ์ค๋๋์์ต๋๋ค. Chrome ๋๋ Electron ์ฑ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ GTK(์๋ง๋ 2/3์ ํผํฉํ์ง๋ง 3์ ๋ ๋ง์ด ๊ธฐ์ธ์)๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
@polarathene , ๋น์ ์ GTK3 ์ง์์ด ํฅํ Wayland ์ง์์ ์ถ๊ฐํ ์ ์์ง๋ง GTK2๋ ๊ทธ๋ ์ง ์๋ค๊ณ ์ธ๊ธํ์ง ์์์ต๋๋ค.
JFYI Chromium GTK2 ๋น๋๋ ์ต์ ์์ ๋ฒ์ 60.0.3112.90 ๋ฐ ๋ฒ ํ 61.0.3163.31์์ ์์๋์์ต๋๋ค.
๊ทธ๋๋ ์ต์ ๋ง์คํฐ์์๋ ์๋ํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ btw, ๋ ์ด์ ๊ณต์์ ์ผ๋ก ์ ์ง ๊ด๋ฆฌ๋์ง ์์ต๋๋ค.
https://groups.google.com/a/chromium.org/d/msg/chromium-dev/iO3qzex6oYA/Q-i4Cie3BwAJ
GTK3์ ์ฅ์ ์ ๋ํ ๋ฉ์ง ํผ๋๋ฐฑ์ ๋๋ค. ์ ๋ ฅํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
๋ถํํ๋ GTK3 ์ ๋ฐ์ดํธ๋ Chrome 59๊ฐ ์๋ Electron 1.8์ ํฌํจ๋์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ํ์ฌ ๋น๋๋ฅผ ์ฐจ๋จํ๊ณ ์์ผ๋ฏ๋ก GTK3๊ฐ ์ง์๋๊ธฐ ์ ์ ๋ค์ Chromium์ด 61๋ก(60์ ๊ฑด๋๋ธ ๋๊น์ง) ๊ธฐ๋ค๋ ค์ผ ํฉ๋๋ค. ์ ์์์.
๋ง์ต๋๊น, @alexeykuzmin?
@zeke ํฌ๋กฌ 61 ๋ฒํ๊ฐ ์ธ์ ๋ฐ์ํ ์ง ๋๋ต์ ์ผ๋ก ์์ธกํ ์ ์์ต๋๊น? ํด๋น ๋ฆด๋ฆฌ์ค์ ๋ง์ถฐ ๊ธฐ๋ณธ ES6 ์น ๊ตฌ์ฑ ์์๋ก์ ์ด๋์ ๊ณํํ๊ณ ์ถ์ต๋๋ค. ์ญ์ฌ์ ์ผ๋ก ์ถฉ๋์ ์ถ์ ํ ํ ๋ฌ ์ ๋ ํ์ ๋ฐ์ํฉ๋๊น?
@zeke
์, Chromium 59 ๋ถ๊ธฐ์ GTK3์ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค.
๊ทธ๋ฌ๋ ๋ค๊ฐ์ค๋ Chromium 61 ์
๊ทธ๋ ์ด๋์์ GTK2์์ GTK3์ผ๋ก ์ ํํด์ผ ํฉ๋๋ค.
@cpoole ์ฐ๋ฆฌ๋ ํ์ฌ Chromium 61์ด Electron์ ์๋ฅํ ์๊ธฐ๋ฅผ ์์ธกํ์ง https://github.com/electron/libchromiumcontent/pull/335 ์์ ์์ ์ค์ ๋๋ค @tonygach , @cifratila , @alexeykuzmin , @alespergl , ๊ธฐํ?)์ด ์ด ํ๋ก์ธ์ค๋ฅผ ๋๊ณ ์์ด GitHub์ Electron ํ์ด CI๋ฅผ ๊ฐ์ ํ๊ณ Electron ๋ฆด๋ฆฌ์ค ํ๋ก์ธ์ค๋ฅผ ์ํํ๊ฒ ํ๋ ๋ฐ ์ง์คํ ์ ์์ต๋๋ค. ๊ทธ๋์ ์ ๋ ๋๊ด์ ์ ๋๋ค :)
GTK3 ์ง์์ ์ํ๋ ์ด์ ๋ ๋ฌด์์ ๋๊น?
@deikatsuo ๋ฌด์จ ๋ธ๋ผ์ฐ์ ์ธ๊ฐ์? ํฌ๋กฌ๊ณผ ์ํผํ๋๊ฐ ์๊ธฐ๋ฅผ ๋ณ์๋ฏ...
@mdsiton ์ํผํ๋ ๐
์ด๊ฒ์ ๋ํ ์์์ด ์์ต๋๊น?
@ziggy42 ์ต์ ํฌ๋กฌ 61(https://github.com/electron/electron/pull/10213)์ ์ด๋ฏธ ์์ด์ผ ํฉ๋๋ค. ๋ง์คํฐ์์ ๋ณํฉํ๊ณ ์ด๋ ์์ ์์ ๋ฆด๋ฆฌ์คํ๋ ๊ฒ๋ฟ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
๊ธฐ๋ค๋ฆด ์ ์์ด, ๊ทธ ๋ชป์๊ธด ํ์ผ ์ ํ๊ธฐ๊ฐ ๋ด ๋์ ๋ถํ์ด๋ค :fire:
์ด ๋ณ๊ฒฝ์ผ๋ก ์ธํด Electron ์ฑ์์ CSS๊ฐ ํ์ฉ๋ฉ๋๊น?
๊ทธ๋์ ํฌ๋กฌ 61์ด ํฉ์ณ์ก๋๋ฐ gtk3๋ ๊ฐ์ด ๋์ค๋์?
Electron์ ํ์ฌ ๋ง์คํฐ ๋ธ๋์น์์ GTK3์ ์ฌ์ฉํ๊ณ ์์ผ๋ฉฐ ๋ค์ ๋ง์ด๋/๋ฉ์ด์ ๋ฆด๋ฆฌ์ค์์ ์ ๊ณต๋ ์์ ์ ๋๋ค.
@ahjolinna
์ด ํ ๋ก ์ ์ฝ๊ฐ์ ์ ์ ์ ๋ฐ์ณ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
์ด๋ฏธ ์ธ๊ธํ KaOS์ ๊ด์ฌ์ด ๋ง์ ์ ์์ต๋๋ค.
๊ทธ๊ฒ์ ๋ช ๋
๋์ Chakra๋ฅผ ์๋ํ๊ฒ ๋ง๋ ๋ฐ๋ก ๊ทธ ์ฌ๋, IMHO์ ์ํด ์ ์ง๋ฉ๋๋ค.
@๋ชจ๋
GTK+ 3๋ ์ธ์ ์ถ์๋์๋์?
7๋ ์ .
์ ์ ๋์ ์ ์์ ๋ น๋๋กํ์ญ์์ค.
๊ทธ๋ฆฌ๊ณ ์๋ง์ ์ํํธ์จ์ด ํ๋ก์ ํธ๊ฐ ์ฌ์ ํ 2์์ ์์ต๋๋ค.
์ด์์ ์ฆ๊ฑฐ์์ด๊ธฐ ๋๋ฌธ์..
XFCE, Mate ๋ฐ ๊ธฐํ ๋ง์ ์ฌ๋๋ค์ด ์ฝ๋๋ฅผ ์ด์ํ๋ ๋ฐ 6๋
์ด ๊ฑธ๋ ธ์ต๋๋ค.
๋ค๋ฅธ ํ๋ก์ ํธ๋ 2 ์ด๋ด์ GTK์์ Qt๋ก ์์ ํ ์ ํ๋์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ๊ทธ๋ ์ต๋๋ค: GTK+๋ GNOME์ ์ํด ๊ฐ๋ฐ๋์์ผ๋ฉฐ repo๋ ๊ฑฐ๊ธฐ์ ์์ต๋๋ค.
๋ณธ์ง์ ์ผ๋ก ์ ์์ ๋ฐ๋ผ GNOME์ฉ์ผ๋ก ๊ฐ๋ฐ๋์์ผ๋ฉฐ ๊ทธ ๋ฐ์ ๊ฒ์ ์๋๋๋ค.
Qt๋ ์ฌ๋ฌ ํ๋ซํผ์ ๋ํ ์ง์ ํ ๊ธฐ๋ณธ ํตํฉ์ ์ํด ๊ฐ๋ฐ๋์์ต๋๋ค.
์ ์๋ ๋ฌด์์ ๋๊น?
๊ทธ๋ ๊ฐ๊ฒ?
์ข์ ๊ฒ.
์๋ฆฌํ ์๊ฐ.
๋ช ๋ นํ ํ๋ก๊ทธ๋๋ฐ๊ณผ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ๋ฌผ๋ก ์ด ์ฅ๋ฉด์ ๋ค๋ฅธ ๋ง์ ์ธก๋ฉด์์๋ ๋์ผํฉ๋๋ค. ์ค๋ณต๋๊ณ ์ค๋๋๊ณ ์ค๋๋ ์ํํธ์จ์ด๋ ์ข ์ข ์ค๋ ์ฑ ์ฝ๋ฌผ๋ก ์ทจ๊ธ๋์ด ์ค๋ ์ฑ์ด ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์๋กญ๊ณ ์๋ฆฌํ๊ณ ํ์ ์ ์ธ ์ํํธ์จ์ด๋ ์คํด์ ์์ํ ๋ฌด์ง์ ์ํด ๋ค๋ฃจ์ด์ง๋๋ค.
10, 12๊ฐ์ ํ๋ก์ ํธ๊ฐ GTK+์์ Qt๋ก ์ ํ๋ ๋ฐ๋ฉด, ๋ฐ๋์ ๊ฒฝ์ฐ๊ฐ ํ ๋ฒ๋ ์์์ต๋๋ค.
์ด๊ฒ์ด ๋ค์ ํ์์ ๋
น๊ฒ ํ์ญ์์ค. ์ฆ, ํตํฉ๋ ์ ์ฒด UI ์ฝ๋๋ฅผ ์์ ํ ๋ค์ ์์ฑํด์ผ ํฉ๋๋ค.
์์ฃผ ์ค์ฒฉ๋ฉ๋๋ค.
์ฆ, ๊ธฐ์กด ๋๊ตฌ์ ์ฃผ์ ์
๊ทธ๋ ์ด๋์ ๋น๊ตํ์ฌ ์ ํธํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๊ทธ๋ค ๋ชจ๋๋ ์ค๋๊น์ง ๊ทธ ๊ฒฐ์ ์ ๋ง์กฑํฉ๋๋ค.
๊ทธ๋ค์๊ฒ ๋ฌป๋ค.
๋์์ ๊ณ ๋ คํ์ง ์๊ณ ๋ฌด๋ฆฌ๋ฅผ ๋ฐ๋ฅด๊ธฐ ์ ์.
@ahjolinna ๊ฐ VLC, Wireshark, LXQt ๋ฐ ๊ธฐํ ๋๋ผ์ด ์ํํธ์จ์ด ํ๋ก์ ํธ๋ ์ด์ ์ GTK๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ์ด๋ค ์ค ํ ์ฌ๋์ ๋น๋์ค๋ฅผ ๊ฒ์ํ์ต๋๋ค.
GTK๋ Chromium์์ Aura์ ๋ํ ๋ฐ์ธ๋ฉ์ผ๋ก ์ฌ์ฉ๋๋ฉฐ ์ด๋ Linux/freeBSD/Solaris์์๋ง ์ฌ์ฉ๋ฉ๋๋ค.
Windows ๋ฐ macOS ๋น๋์๋ ๋ฌด๋ฃ์
๋๋ค.
:๋์ง:
@ShalokShalom ์ ์์ ์ ์ป์
ํฌํฌ ๋ฒํผ์ ์๋จ์ ์์ต๋๋ค btw, ์์ ๋กญ๊ฒ ๋๋ผ์ญ์์ค.
์, ์ด๊ฒ์ ๋ถํ์ํ๊ฒ ์ฐ๋ง๋์์ต๋๋ค.
ํ์ง๋ง ๋์ํฉ๋๋ค. GTK์๋ ํต์ฆ์ ์ ๋ฐํ๋ ๋ถํ์ํ ํ์์ด ๋๋ฌด ๋ง์ผ๋ Qt๊ฐ ๋ ๋์ ์ ํ์ด์์ ๊ฒ์ ๋๋ค.
ํ ๋ก ์ ๋ ์ ์ ํ ๊ณณ์ผ๋ก ์ฎ๊ธฐ๋ ๊ฒ์ด ์ข์ต๋๋ค. @ShalokShalom , ์ฌ๊ธฐ์์ ์ ๋ฌธ์ ๋ฅผ ์ด๊ณ ์ง๊ธ๋ณด๋ค ๋
VLC , Wireshark, LXQt ๋ฐ ๊ธฐํ ๋๋ผ์ด ์ํํธ์จ์ด ํ๋ก์ ํธ๋ ์ด์ ์๋ GTK๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ์ต๋๋ค.
๊ทธ๊ฑด ์ฌ์ค์ด ์๋๋ค. VLC๋ GTK๊ฐ ์๋ Qt ์ด์ ์ wxWidgets๋ฅผ ์ฌ์ฉํ๊ณ ์์์ต๋๋ค: https://wiki.videolan.org/WxWidgets_Interface/
๋ด ์๊ฐ์ GTK ์ฌ๋๋ค์ ๊ฝค ์ค๋ซ๋์ 3.x ์๋ฆฌ์ฆ์์ ํ์ ๋ฐ ๋ฒ์ ๊ด๋ฆฌ์ ๋ํด ์ถฉ๋ถํ ์ ์ ๋ฌํ์ง ๋ชปํ๋ค๋ ๊ฒ์ ์ธ์ ํ์ผ๋ฉฐ https:// ์์ ์ฝ์ ์ ์๋ ๊ฒ์ฒ๋ผ ๋ ์ข๊ณ ๋ ๋ช ํํ ์ฅ๊ธฐ์ ์์ ์ฑ์ผ๋ก ๋ฏธ๋์ ๋ ์ด์ฌํ ๋ ธ๋ ฅํ ๊ฒ์ ๋๋ค
๋ํ Qt์ GTK๋ ์ญ์ฌ์ ๋ฐฐ๊ฒฝ, ๋ชฉํ๊ฐ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ 1:1๋ก ๊ณต์ ํ๊ฒ ๋น๊ตํ ์ ์๋ค๊ณ ๋ง์๋๋ฆฌ๊ณ ์ถ์ต๋๋ค. ์ ์๊ฐ์๋ ๋ ๋ค ๊ด์ ์ ๋ฐ๋ผ ์ฅ๋จ์ ์ด ์์ต๋๋ค.
GTK๊ฐ GNOME ํ๋ก์ ํธ๋ง์ ์ํด ๋ง๋ค์ด์ก๋ค๋ ๊ฒ๋ ์ ์๊ฐ์๋ ๋ถ๊ณต์ ํ ์ด๊ด์ ์ง์ ์ ๋๋ค.
ํ์! ๋๋ ๊ทธ ๊ณํ์ ๋ํด ์ ๋ง๋ก ๋ชฐ๋๋ค. ๋๋์ด ๋ฐฐ์ด ๊ฒ ๊ฐ์ต๋๋ค. ๊ทธ๋ค์ด CSS์ ๋ชจ๋ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ์ ๊ณ ๋ คํ๊ธฐ ์์ํ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ์ค์ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ์ ๋๋ค.
๋ด๊ฐ ๋ง์ง๋ง์ผ๋ก ๋ค์ ๊ฒ์โฆ ์โฆ ํธ์ฌ GTK 4.0์ GTK 4๊ฐ ์๋๋๋ค . ๊ทธ๋์ ๋ง์นจ๋ด ๊ฑฐ์ semver๋งํผ ์ข์ ๊ฒ์ ๋๋ฌํ์ต๋๋ค! ๊ทธ๋ค์ 20๋ ์ ์ Qt๊ฐ ํ๋ ๊ฒ๊ณผ ๊ฑฐ์ ๊ฐ์ ์ผ์ ํฉ๋๋ค! ๐
์ด ํธ์ํฐ ๊ฒ์๋ฌผ์ ๊ธฐ๋ฐ์ผ๋ก ๊ณง ๊ธฐ๋ณธ์ ์ผ๋ก ๊ธฐ๋ณธ GTK3 ์ง์์ด ํฌํจ๋ Electron์ ๋ณผ ์ ์์ต๋๋ค.
Electron 2.0.0-beta.1์ ์ ๋ฐ์ดํธ๋ Chromium ๋ฐ Node.js, macOS ์ธ์ฑ ๊ตฌ๋งค, Linux์ฉ GTK3 ์ง์ ๋ฑ์ผ๋ก
์. ์ด์ ๋ํ ์ค์ ์์ ์ Chromium ์์ฑ์๊ฐ ์ํํ์ผ๋ฉฐ Electron์ Electron 2.0.0์ Chromium ์ ๊ทธ๋ ์ด๋๋ฅผ ํตํด ์ด๋ฅผ ์ป์์ต๋๋ค.
๋ํ Electron์ ์์ฒด ์ฝ๋๋ https://github.com/electron/electron/pull/11879 ์์ GTK3ified๋ฅผ ๋ฐ์์ต๋๋ค.
์, ์ด๊ฒ์ ๋ถํ์ํ๊ฒ ์ฐ๋ง๋์์ต๋๋ค.
ํ์ง๋ง ๋์ํฉ๋๋ค. GTK์๋ ํต์ฆ์ ์ ๋ฐํ๋ ๋ถํ์ํ ํ์์ด ๋๋ฌด ๋ง์ต๋๋ค, Qt
๋ ๋์ ์ ํ์ด ๋์์ ๊ฒ์ด๋ค
IF QtWebEngine์ด ๊ธฐ๋ณธ ํฌ๋กฌ ์ธ์คํด์ค์ ๋ํ ์ถฉ๋ถํ ์ก์ธ์ค๋ฅผ ์ ๊ณตํฉ๋๋ค.
QtWebEngine์ด ์ต์ Chromium์ ์ถฉ๋ถํ ๋น ๋ฅด๊ฒ ์ถ์ ํ๋ ๊ฒฝ์ฐ
๊ธ์, ์ด๊ฒ์ด ์ฃผ์ ๋ฌธ์ ์ ๋๋ค. ์ฌ๋๋ค์ ๊ฐ์ฅ ๋นจ๋ฆฌ ๊ตฌํํ๋ ๊ฒ์ด ์ข๋ค๊ณ ์๊ฐํ์ง๋ง ์ค์ ๋ก ์คํํ๊ธฐ ์ํ ๊ตฌํ์ ์ฅ๊ธฐ์ ์ธ ์ ์ง ๊ด๋ฆฌ์ ๋งค์ฐ ๋ค๋ฅด๋ค๋ ์ฌ์ค์ ์์ฃผ ์์ต๋๋ค.
์ธ๊ธ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค๋ ๊ฒ์ ๋ด ๊ด์ ์์ ๋ณผ ๋ ๋งค์ฐ ๋ช ํํฉ๋๋ค.
GTK3 ํฌํธ์์ ์ค์ ๋ก ์์ ํ๋ ์ฝ๋์ ์์ ์ ์ฒด UI ์ฝ๋๋ฅผ ์ ํดํท์ ์ด์ํ๋ ์ฝ๋์ ์๋ฅผ ๋น๊ตํ๋ฉด ๊ทธ ์ฐจ์ด๊ฐ ์ผ๋ง๋ ๋๋ผ์ด์ง ์ ์ ์์ต๋๋ค. ์ด๋ฏธ 'GTK์์ Qt๋ก: ์ด์ํ ์ฌ์ '์ด๋ผ๋ ๋์์์ ๊ฒ์ํ ๊ฒ ๊ฐ์ต๋๋ค.
Qt์ ์ง์์ ํดํนํ๋ ๋์ ๋จ์ํ ์ฌ์ฉํ ์ค๋น๊ฐ ๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๊ธฐ ๋๋ฌธ์ ๊ตฌ์ ์ํํธ์จ์ด์ ์ง์คํ๋ ์ด์ ๋ ๋ฌด์์ ๋๊น?
๊ทธ๊ฒ์ ์ฅ๊ธฐ์ ์ธ ๊ฒฐ์ ์ ์์ ํ ๋ฌด์ํ๋ '๋๋ _๋ณด์ด๋_ ์ค๋น๋ ๊ฒ์ ์ฌ์ฉํ๋ค'๋ ๊ต๋ฆฌ์ ๋๋ค. ์, ์ฒ์์๋ ์กฐ๊ธ ๋ ๋ง์ ๋ ธ๋ ฅ์ด ํ์ํ ๊ฒ์ฒ๋ผ ๋ณด์ผ ์ ์์ง๋ง ์ผ๋จ ๊ตฌํ๋๋ฉด ์ต์ ํดํท์ ์ด์ ์ ํ์คํ ๋๋ฆด ์ ์์ต๋๋ค.
QtWebEngine์ด Chrome์ ๊ทธ๋ ๊ฒ ๋นจ๋ฆฌ ๋ฐ๋ผ๊ฐ์ง ์๋๋ค๋ ๊ฒ๋ ๊ทธ๋ ๊ฒ ๊ณผ๊ฐํ์ง ์์ต๋๋ค.
์ถฉ๋ถํ ๋น ๋ฅด๋ฉฐ Qupzilla๋ ํนํ KaOS์ ๊ฐ์ ์ ํฉํ ํ๊ฒฝ์์ ๋๋ผ์ด ์์
์ ์ํํ ์ ์์์ ์ฆ๋ช
ํฉ๋๋ค.
Qupzilla ๋ฐ ๊ธฐํ ์ํํธ์จ์ด๊ฐ ๋จ์ผ ์ฝ๋๋ก ์ ์ง ๊ด๋ฆฌ๋๋ ๋๋ผ์ด ์ํํธ์จ์ด๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ผ๋ก ์ ์ฆ๋์๊ธฐ ๋๋ฌธ์ '๊ธฐ๋ณธ Chromium์ ๋ํ ๋ ๋ง์ ์ก์ธ์ค'๊ฐ ํ์ํ๊ณ 'QtWebEngine์ด Chromium์ ์ถฉ๋ถํ ๋น ๋ฅด๊ฒ ๋ฐ๋ฅด์ง ์์ต๋๋ค'๋ผ๊ณ ์๊ฐํ์ญ๋๊น?
Electron์ ์์ ํ ์น ๋ธ๋ผ์ฐ์ ๋ก์ ๋ ๋ง์ ์ก์ธ์ค์ ๋ ๋น ๋ฅธ ํ๋ก์์ด ํ์ํ๋ค๊ณ ์๊ฐํ์ญ๋๊น? ์ด๋์?
์ด์ ๋ง์ ํ๋ก์ ํธ์์ ์ด ์ํฌ๋ฅธ ์ํํธ์จ์ด ์คํ์ ์์ ์๊ณ ์๊ท๋ชจ ํ์ ๊น์ด ์ค์ฒฉ๋ ์ฝ๋์ 40-60%๋ฅผ Qt๋ก ๋น ๋ฅด๊ณ ํจ์จ์ ์ผ๋ก ์ด์ํ ์ ์์ต๋๋ค.
GTK 2์์ GTK 3๊น์ง ๊ทธ๋ค์ด ์ฒ๋ฆฌํ์ง ๋ชปํ ์ผ, ์ด๋ ๋งค์ฐ ๋๋ผ์ด ์ผ์ ๋๋ค. ๋งํ๋ฏ์ด: ๋๋ถ๋ถ์ ํ๋ก์ ํธ๋ ์ฃผ์ ๋ฒ์ ์
๊ทธ๋ฆฌ๊ณ ๊ฑฐ์ ๋ชจ๋ ์ฌ๋๋ค์ด ๊ทธ๊ฒ์ ๋ฌด์ํ๋ ๊ฒ ๊ฐ์ต๋๊น? ์ฒ์์ ๊ณผํ ์ปค๋ฎค๋ํฐ์์ ์์์ ์ธ ๊ฒฐ์ ์ด ๊ณ์ํด์ ํผ์ก๋ค๋ ๊ฒ์ ๋๋ฌด ์ฌํ ์ผ์ ๋๋ค.
ํํ :)
@ShalokShalom , "์ค๋๋ ์ํํธ์จ์ด"๋ ๋ฌด์์ ์๋ฏธํฉ๋๊น? GTK+? ๊ทธ๋ฐ ๋ง์ ํ๋ ์ด์ ๊ฐ ์๋์?
์ด Qt ์คํธ์ ๊ทธ๋งํด ์ฃผ์ธ์. ์ด๊ฒ์ GTK 3 ํฌํธ์ ๊ดํ ๋ฌธ์ ์ ๋๋ค. ์ ์ง ๊ด๋ฆฌ์์๊ฒ Qt๋ก ์ ํํ๋๋ก ์ค๋ํ ํ์๊ฐ ์๋ค๊ณ ์๊ฐ๋๋ฉด ๋ณ๋์ ๋ฌธ์ ๋ฅผ ์ฝ๋๋ค. Qt ํฌ๋ณด์ด์ ๋ฉ์์ง๊ฐ ์๋ ๊ตฌํ ์งํ ์ํฉ์ ๋ํ ๋ด์ค๋ฅผ ๋ฐ๊ณ ์ถ์ต๋๋ค.
๊ณผ๋ํ ์ฃผ์ ์ธ ํ ๋ก ์ผ๋ก ์ธํด ์ด ๋ํ๋ฅผ ์ ๊ธ๋๋ค.
์ ๊ธ์ ์ฆ์๋ง ํด๊ฒฐํ์ง๋ง GTK3๋ก์ ์ด๋์ด ๋ง๋ฌด๋ฆฌ๋๊ณ GTK2์์ GTK3์ผ๋ก ์ด๋ํ๋ ์ด ๋ฌธ์ ์ ์ฃผ์ ์ ๋ํด ๋ ผ์ํ ๋ด์ฉ์ด ๋ง์ง ์๊ธฐ ๋๋ฌธ์ ํฉ๋ฆฌ์ ์ด๊ณ ๋น ๋ฅธ ์์ ์ ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
Electron์ ํ์ฌ ๋ง์คํฐ ๋ธ๋์น์์ GTK3์ ์ฌ์ฉํ๊ณ ์์ผ๋ฉฐ ๋ค์ ๋ง์ด๋/๋ฉ์ด์ ๋ฆด๋ฆฌ์ค์์ ์ ๊ณต๋ ์์ ์ ๋๋ค.