Egyik nap megnéztem a videókat róla, másnap kipróbáltam, ma már azon dolgozom
Scrolling-tiling alapú.
- Minden ablak megtartja a méretét,
- az újat jobbra veszi fel,
- tetszőleges sok ablak lehet,
- az ablak szélessége változtatható,
- az ablakok oszlopokba szervezhetők,
- az ablakok tab-okba is szervezhetők,
- bármelyik lehet akár fullscreen is, a fullscreen-t megtartja ablakváltáskor is,
- scrollozni lehet köztük,
- az ablak lehet lebegő is,
- tetszőleges sok munkaasztal lehet, azokat lefelé veszi fel,
- van overview nézet, ahol átláthatjuk az összes munkaasztalt, az összes ablakával,
- overview nézetben is működnek az ablakok,
- külön működés monitoronként,
- jó dokumentáció,
- könnyű beállítás,
- sok beállítás azonnal életbe lép mentés hatására,
- nagyon kicsi memória használat, a nagyon takarékos SwayWM-re is ráver jó sokat
Érdemes vetni rá egy pillantást!
- enpassant blogja
- A hozzászóláshoz be kell jelentkezni
- 508 megtekintés
Hozzászólások
Szia, ezt esetleg még próbáld ki. https://github.com/AvengeMedia/DankMaterialShell
Desktop érzést ad, kicsit gnome beütéssel, de konfigurálható.
- A hozzászóláshoz be kell jelentkezni
Köszi! Érdekesnek tűnik. Ha sok szabadidőm lesz és bekerül a Nix csomagkezelőbe, akkor lehet teszek egy próbát.
- A hozzászóláshoz be kell jelentkezni
Én is csak azért próbáltam ki mert valaki készített belőle pkgbuild-et, fent van az aur-ban, szerencsére. :) Viszont örülök, hogy kipróbáltam.
- A hozzászóláshoz be kell jelentkezni
Végre van egy Memory Safety DE. Akkor ez garantáltan mentes lesz minden problémától. 5,3 Mb az src könyvtár egész biztos vagyok benne hogy csak Rust -al lehetett biztonságosra megírni.
src/pw_utils.rs:
unsafe {
let spa_buffer = (*buffer).buffer;
let fd = (*(*spa_buffer).datas).fd;
let dmabuf = self.inner.borrow().dmabufs[&fd].clone();
match render_to_dmabuf(
renderer,
dmabuf,
size,
scale,
Transform::Normal,
elements.iter().rev(),
) {
Ok(sync_point) => {
mark_buffer_as_good(pw_buffer, &mut self.sequence_counter);
trace!("queueing buffer with seq={}", self.sequence_counter);
self.queue_after_sync(pw_buffer, sync_point);
true
}
Err(err) => {
warn!("error rendering to dmabuf: {err:?}");
return_unused_buffer(&self.stream, pw_buffer);
false
}
}
}
Nem értek a Rust-hoz, de nagyon kíváncsi lennék mi történik ha nincs 'self.inner.borrow().dmabufs[&fd]' vagy a legelső sorban (*buffer).buffer
- A hozzászóláshoz be kell jelentkezni
biztos vagyok benne hogy csak Rust -al lehetett biztonságosra megírni
Szerintem ez úgy működik, hogy bárki, bármilyen nyelven írhat ablakkezelőt, ha a saját szabadidejét teszi bele.
Te milyen nyelven írtad meg a sajátodat? Fent van a kódja valahol?
- A hozzászóláshoz be kell jelentkezni
Nem tudom hol láttad, hogy én ablakkezelőt írtam, nem írtam és nem is áll szándékomban, de ha esetleg mégis rávinne a lélek téged értesítelek először.
Egyébként ha nem ment át akkor leírom egyértelműen, nyíltan Rust ellenes vagyok mióta csak Rust-tal lehet biztonságos kódot írni valamint azért mert mindent is Rustban kell mostanában megírni. Amíg tudom kerülöm a Rust projektek használatát.
Mielőtt megkérdezed nem tartom magam C vagy C++ fejlesztőnek viszont becsülöm és tisztelem őket.
- A hozzászóláshoz be kell jelentkezni
Nem tudom hol láttad, hogy én ablakkezelőt írtam
Ja, akkor félreértettem a kommented. Azt hittem, azért álltál bele ennyire, mert van releváns tapasztalatod a témában.
- A hozzászóláshoz be kell jelentkezni
/off ha mindenki csak ahhoz szolna hozza aminek van relevans tapasztalata, akkor itt nem lenne semmi.
ugyanakkor en sem tudok tojast tojni, abban nincs relevans tapasztalatom. de egy tojasrol kivaloan meg tudom mondani ha jo vagy szar :)
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!
- A hozzászóláshoz be kell jelentkezni
de egy tojasrol kivaloan meg tudom mondani ha jo vagy szar :)
Lehet, én értek félre valamit, de a kolléga meg sem kóstolta a tojást, hanem kategorikusan kijelentette, hogy a tojás egy szar, meg egyébként is egy kretén, aki tyúkokat tart.
- A hozzászóláshoz be kell jelentkezni
Én azt sem értem, ha valamit hype-olnak, de azt sem, ha valaki azért nem használ valamit, mert hype-olva van.
Én fogok használni Rust programokat, mert kicsik, gyorsak és nincs sok hibájuk. Ugyanígy teszek a Go és a Zig programokkal. Ha néha akad C vagy C++, akkor azokkal is. ;-)
Én magam próbáltam a Rust-ot is, Go-t is, Zig-et is, régen a C és C++-t is. Egyikkel sincs semmi bajom, de azért nem használnám szívesen némelyiket, akár hype-olva van, akár nincs.
- A hozzászóláshoz be kell jelentkezni
Az ablakok közötti mozgatás alapbeállításai nekem nem tetszenek.
Túl sok egyedi gombnyomás, külön a monitor, az oszlop, az ablak és a munkaterület mozgatásai. Én jobban szeretem, ha egy gombnyomásra a logikusan következőt csinálná, pl. ha vége a munkaterületnek, akkor menjen át a következő monitorra.
Illetve azt szoktuk meg, hogy Shift-re mozgat, a defaultban pedig Ctrl-lal.
Így, helyettük én ezeket javaslom:
Mod+Left { focus-column-or-monitor-left; }
Mod+Down { focus-window-or-workspace-down; }
Mod+Up { focus-window-or-workspace-up; }
Mod+Right { focus-column-or-monitor-right; }
Mod+H { focus-column-or-monitor-left; }
Mod+J { focus-window-or-workspace-down; }
Mod+K { focus-window-or-workspace-up; }
Mod+L { focus-column-or-monitor-right; }
Mod+Shift+Left { move-column-left-or-to-monitor-left; }
Mod+Shift+Down { move-window-down-or-to-workspace-down; }
Mod+Shift+Up { move-window-up-or-to-workspace-up; }
Mod+Shift+Right { move-column-right-or-to-monitor-right; }
Mod+Shift+H { move-column-left-or-to-monitor-left; }
Mod+Shift+J { move-window-down-or-to-workspace-down; }
Mod+Shift+K { move-window-up-or-to-workspace-up; }
Mod+Shift+L { move-column-right-or-to-monitor-right; }
Mod+Ctrl+Left { focus-monitor-left; }
Mod+Ctrl+Down { focus-workspace-down; }
Mod+Ctrl+Up { focus-workspace-up; }
Mod+Ctrl+Right { focus-monitor-right; }
Mod+Ctrl+H { focus-monitor-left; }
Mod+Ctrl+J { focus-workspace-down; }
Mod+Ctrl+K { focus-workspace-up; }
Mod+Ctrl+L { focus-monitor-right; }
- A hozzászóláshoz be kell jelentkezni