- A hozzászóláshoz be kell jelentkezni
Hozzászólások
rofi -show window
- A hozzászóláshoz be kell jelentkezni
Egyelőre én is ezt használom, Arch + bspwm alatt, de nem vagyok vele teljesen elégedett, mivel ha véletlen megnyomom ezt a fajta ablaklistát, akkor a gyorsbillentyű elengedésével sem tűnik el ez a rofi ablak, hanem ki kell belőle lépni. Ennek ellenére jobb nincs alapon ennél a megoldásnál maradtam ideiglenesen.
Így bspwm alatt én is tervezek ilyesmit leprogramozni, ami az összes workspace összes ablakát (tekintet nélkül arra, hogy milyen módban van, tiling, monocle, floating) kiteszi egy másik workspace-re ilyen áttekintős tiling nézetbe (míg lenyomva tartva nyomkodom az ablakváltó hotkey-t), és így váltok ablakot. Ez a jó ezekben a tiling WM-ekben, i3wm/Sway, bspwm, awesome, stumpwm, herbstluftwm, stb., hogy van ilyen IPC-t használó client birizgálójuk, amivel a WM futása alatt bele tudsz nyúlni a WM működésébe, új funkciókat, új layoutokat, speciális session-öket tudsz leprogramozni egy pár soros shell scripttel, anélkül, hogy a WM forráskódjába bele kéne nyúlni, meg újra kéne az egészet fordítgatni/indítgatni. Ez a fajta rugalmasság annyira hatékony, hogy ezt egy egyszeri DE, meg Windows/Mac user sose fogja megérteni, hogy ez valójában a Linux előnye, hogy ilyen rugalmas és hatékony uralmad van a saját rendszered között, és nem egy nagy tech multi és trendidióták által lekorlátozott, lebutított, egy mindenkinek megoldást kell elviselni, ha tetszik, ha nem.
Igazából nekem ezért sem jött be a dwm. Igen, minimalista, de pont az ilyen dolgok hiányoznak belőle, pl. EWMH support (ez lehetővé teszi az xdotool és hasonlókkal történő birizgálást is), IPC/socket/client interface, mindenféle panel (polybar, lemonbar, hasonló) korrekt támogatása, megjelenítése. A hiányzó funkciókat persze bele lehet patchelni a dwm kódjába, de idegőrlő, állandó újrafordítgatás, újraindítgatás, és elkezd a bináris is hízni méretre, memóriafoglalásra, elveszítve ezzel az egyetlen előnyét: kis kódméret. Ezzel szemben egy bspwm, stb. kicsivel több memóriát eszik, alig minimálisan pár megával (5-10 MB, az i3wm kicsivel még többet, de nem ilyen +200), de cserébe viszont végtelen rugalmasságot ad az felhasználója kezébe.
“A computer is like air conditioning – it becomes useless when you open Windows.” (Linus Torvalds)
- A hozzászóláshoz be kell jelentkezni
Én tematikus workspace sémát használok, tehát tudom, hogy hol mit találok meg, hol vannak a helyi konzolok, a remote konzolok, a fejlesztőeszközök, a böngészők, a chat ablakok és az egyebek. Egyszer kell kialakítani, beleszokni és utána rutinból már igen jól használható...
- A hozzászóláshoz be kell jelentkezni
Így van. Itt azt kell érteni, hogy a tiling WM más koncepcióra épül. Azért nincs is bennük task váltás, mert az a stacking/floating WM-ek sajátja. Tiling WM-nél layoutok és workspace-ek/tag-ek között kell váltani, és nem ablakok között, különben is tiling módra vannak ezek szánva, ahol eleve látod az adott workspace-en az összes alkalmazást. A tiling egész más workflow, általában eleve nem is egér, hanem billentyűzetorientált, szokni kell, más a filozófia mögötte.
“A computer is like air conditioning – it becomes useless when you open Windows.” (Linus Torvalds)
- A hozzászóláshoz be kell jelentkezni
es ha egyszer veletlenul kikapcsol a laptopod, akkor hogyan allitod helyre az egesz kialakitott munkakornyezetet?
En a terminalt nem tudom megtanitani, hogy kinyissa, azt a kb. 20 tabot, amit szoktam.
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....
- A hozzászóláshoz be kell jelentkezni
es ha egyszer veletlenul kikapcsol a laptopod, akkor hogyan allitod helyre az egesz kialakitott munkakornyezetet?
Sokszor előfordul, hogy kikapcsolom, újraindítom, altatom.
En a terminalt nem tudom megtanitani, hogy kinyissa, azt a kb. 20 tabot, amit szoktam.
Hát ezeket újra kell nyitni, SSH ugye nem igazán képes arra, hogy túléljen egy újraindítást, de mivel ott van a history-ban, amikor újra kell, hamar megnyílik. :)
Alapvetően arra akartam reflektálni, hogy ha az ember kialakít egy szokást, hogy mi hol van, akkor rutin lesz "oda nyúlni", akárcsak a polcon a szortimentbe, hogy hol vannak az elektronikai alkatrészek...
- A hozzászóláshoz be kell jelentkezni
Ezt ertem. En meg egy kicsit gorbe tukrot akartam tartani, hogy de bizony androidon ez megoldott, es baromi jol mukodik.
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....
- A hozzászóláshoz be kell jelentkezni
Ezt ertem. En meg egy kicsit gorbe tukrot akartam tartani, hogy de bizony androidon ez megoldott, es baromi jol mukodik.
Mármint az, hogy újranyitja a 20 terminálablakodat SSH kapcsolatokkal?
- A hozzászóláshoz be kell jelentkezni
Megoldható. Csak scriptként elindítod a neked kellő alkalmazásokat, minden WM-nek van rc-je, vagy autostart-ja, vagy az xinitrc-be is beteheted. Az, hogy melyik progi melyik kijelzőn, milyen módban nyíljon, azt meg a WM config fájljában lehet bekonfigurálni, és onnantól mindig automatikusan oda nyílnak, de akár a scriptbe is bele lehet venni, ami az alkalmazásokat indítja, és velük együtt az adott WM IPC interface-én lekommunikálja a szabályokat (melyik ablak hova nyíljon, milyen méret vagy milyen ablakozó mód, tiling, azon belül milyen layout, vagy monocle/tabbed, vagy floating).
Terminál ha nem is tud 20 tabot automatikusan kinyitni, attól még megoldható terminál multiplexerrel, ezek közül a tmux a legfelkapottabb, de ezen túl sokféle létezik. Ezekkel vissza tudsz hozni komplett sessiont, több SSH kapcsolattal is. Én nem művelek ilyet, de ha kéne, simán meg tudnám így oldani.
“A computer is like air conditioning – it becomes useless when you open Windows.” (Linus Torvalds)
- A hozzászóláshoz be kell jelentkezni
Jut eszembe, tud valaki ncurses calendart, ami ert Google Calendarul? :)
- A hozzászóláshoz be kell jelentkezni
Koszi
- A hozzászóláshoz be kell jelentkezni
Szerintem a khal jobb, vdirsyncerrel tudod synchronizálni google-lel. Nagyon faszás ebben a megoldásban hogy offline is megy gond nélkül.
Contra: Mindegyikkel az az alapvető gond, hogy időnként (hetente?) újra kell loginolnod browser-en keresztül, mert opensource projektek lévén nem tudják beregisztrálni google által validált app-nak, vagy hát be tudnák, csak nincs hova elmenteniük a secret-et anélkül hogy kiszivárogna.
- A hozzászóláshoz be kell jelentkezni
Bocsi, kérdeznék valamit...
A zc_bitmap.c
forrásában a struct _bm_t
data
tag-je uint8_t*
(L#14). A bm_write
függvényben innen olvasod be az r
, g
, b
változókat (L#112). Ha a data
uint8_t*
, akkor miért kell az onnan beolvasott értékeket levalidálni, hogy nagyobbak-e, mint 255?
Sz*rk: Másik kérdés: a koordinátákból az indexeknek a folyton újraszámolgatása helyett nem volna gyorsabb a sorfolytonos írás és olvasás, az alpha skippelésével? Valami ilyesmire gondolok:
int s_index = 0;
int d_index = 0;
int c = h * w;
for (int i = 0; i < c; i++)
{
uint8_t r = bm->data[s_index++];
uint8_t g = bm->data[s_index++];
img[d_index++] = bm->data[s_index++]; // b
img[d_index++] = g;
img[d_index++] = r;
++s_index;
}
- A hozzászóláshoz be kell jelentkezni
raadasul ez valami endian swappolasnak nez ki, valami ilyesmi egyszerubb es gyorsabb is (persze img tipusa char helyett uint32 vagymi):
img[(x + y * w)] = (bm->data[index + 2] << 24) || (bm->data[index + 1] << 16) || (bm->data[index] << 8);
a vegen ugyis 3 bajtonkent irja ki, de van 1 bajt/pixel felesleges adatunk, de gondolom nem 8k kepekkel dolgozik.
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!
- A hozzászóláshoz be kell jelentkezni
Egyrészt így megint folyton számolgatni fogja az indexet a sorfolytonos írás és olvasás helyett. Másrészt a végén nem 3 byte-onként írja ki, hanem w
-szer 3 byte-onként (soronként), ami azt jelenti, hogy ha nem dobja el őket előtte, akkor az összes alpha csatornát is bele fogja tolni, viszont cserébe le fog maradni az utolsó w * 4 - w * 3
byte.
Sz*rk: Egyébként a kiírást is fel lehet írni úgy, hogy ne kelljen a pointert minden körben újraszámítani, csak felvesszük az utolsó sort egy pointerbe, onnan indulunk, majd mindig a sor méretével csökkentjük. A paddingnál a (4 - (w * 3) % 4) % 4
kifejezés pedig sosem változik, azt sem kell mindig újraszámolni. Valahogy így:
int ls = w * 3;
uint8_t *ptr = img + ((h - 1) * ls);
int ps = (4 - (w * 3) % 4) % 4;
for (int i = 0; i < h; i++)
{
fwrite(ptr, 3, w, f);
fwrite(bmppad, 1, ps, f);
ptr -= ls;
}
- A hozzászóláshoz be kell jelentkezni
helló, tök jó hogy elmélyedtetek a kódban! :)
a bm_write az utolsó pillanatban került bele mert akartam összehasonlító teszteket a thumbnail generátornak. a kérdéses kódrészt a stackoverflow-ról copypasteltem, működött és úgy is hagytam. szívesen veszek mindenfajta optimalizálást, küldj egy pull requestet és acceptalom azonnal!
- A hozzászóláshoz be kell jelentkezni
Ok, amikor lesz időm (valamikor a héten), akkor összedobom a patchet és küldök requestet. Mondjuk azért előtte teszteld le, mert bilgéc nem alszik. :P
- A hozzászóláshoz be kell jelentkezni
Ez azoknak való, akik browser tabból is 50-et tartanak nyitva? :D
- A hozzászóláshoz be kell jelentkezni
hát ha te is olyan state-of-the-art projecten dolgoznál mint én, ahol egy helló world-hoz is 15 mikroszervízt kell indítani, de külön back és frontendet mindegyikhez mert akkor corporate igazán, akkor muszáj hogy ennyi terminál nyitva legyen :(
- A hozzászóláshoz be kell jelentkezni
Hát, izé én screen-t szoktam használni :)
- A hozzászóláshoz be kell jelentkezni
vagy tmux
- A hozzászóláshoz be kell jelentkezni
Valamikor én is hardcore i3wm felhasználó voltam de aztán váltottam GNOME3-ra (nem volt könnyű megszokni, szeretni most se szeretem) mert folyton gányolni kellett ahhoz, hogy alap dolgok amiket az ember elvár egy DE-től meglegyenek, terminálos parancsok írkálása nélkül:
- hálózatmenedzsment applet valahol a tálcába integrálva (wifire csatlakozáshoz főleg)
- hang ki-/bemenet- változtatás
- kalendárium
- visszanézhető értesítések
- automatikus elalvás (suspend), felébredéskor lezárt képernyővel (céges security policy követelmény)
- billentyűzet kiosztások közötti váltás
- hasonló apróságok, kényelmi dolgok
Kíváncsi vagyok, hogy azok akik jelenleg is valami hasonló minimalista Tiling WM-et használnak, hogy bírkóznak meg ezekkel a problémákkal? Ez a post most meghozta a kedvem megint az i3wm-hez, de mielőtt fejest ugrok szeretném látni, hogy másoknak mi a tapasztalatuk. Annak idején egy ideig XFCE sessionön belül futtattam az i3-at, még egy tálca plugint is írtam az integrálódást segítendő (https://github.com/denesb/xfce4-i3-workspaces-plugin).
Amúgy alkalmazások terén nagyon kevés igényem van, majdnem mindent terminálban végzek (tmux-ot használva). Terminálon kívül böngészőt, egy email klienst (Evolution), valamint chat klienseket használok csak (Telegram és Discord).
SZERKESZTVE: kifelejtett fél mondat pótlása, pár újabb bejegyzés a listán
:wq
- A hozzászóláshoz be kell jelentkezni
Alapvetően ezek appok, amikből bármelyiket választhatod, nem kell egy window managernek ilyeneket adnia. Én sway-t használok, előtte awesome-ot, mindegyiknél be lehetett állítani hogy fusson meg egy parancs suspendkor. Mindegyik meg tudja nyitni az akármelyik calendart, amelyiket szeretnéd, akár a gnome-ét ha olyanod van. Mindegyik tud több féle notification manager-t kezelni, amikben akár billentyű only tudsz navigálni. Keybindingra is adnak lehetőséget, de ha nem, akkor xbindkeys-szel könnyen tudsz csinálni. Olyan windows manager-t se használnék, ami nem tud toolbar iconokat megjeleníteni. De azt gondolnám, mindegyik mutatja az elindított programok iconjait, legyen az nm-applet (networkmanager default appletje), vagy valamelyik hangerőszabályzó programé (bár ez utóbbit én jobb szeretem a volume gombokkal kezelni, állapotkijelzésre tudom ajánlani a "wob"-ot). Valszeg ami appleteket most használsz, azok nagyrésze sem gnome-only, hanem más window managereken is el tudod indítani, ha nem találsz kevésbé bloatot.
Persze ha csak 3 programot használsz, lehet h tudsz valami olyan desktop environmentet találni amik azokat alapból beállítva adják, de egy window managernek általában nem célja megmondani mit hogyan csinálj, épp ellenkezőleg, sokféle workflow-t be tudsz rajta állítani, ahogyan te szereted. Persze egy kis engergia befektetéssel.
- A hozzászóláshoz be kell jelentkezni
átérzem a fájdalmad, szerintem a legjobb megoldás a manjaro-i3, tök jó fel van setupolva alapból, a desktopra ki vannak rakva a shortcutok, xfce desktop appokat használ főleg, jól néz ki, minimális hekkeléssel megfelelővé lehet varázsolni
- A hozzászóláshoz be kell jelentkezni
A Gnome es az i3 kozott ket dolog jutott eszembe:
Az i3-hoz kozelebbi vegen a skalalnak a Regolith van, eleg sok mindent lefed: https://regolith-linux.org/
gnome-fallback -ra epul, vagyis a klasszik Gnome-os Settings fog szembe jonni ha nyomsz egy Super + C -t (C mint Config :) )
egy meglevo Ubuntu-ra egy PPA hozzaadasa utan egy apt install -lal feltolhato (es le is veheto ha nem kell)
probald ki, tetszeni fog
A Pop!OS tiling modja is egesz pofas, az a skala masik vege, a Gnome-ra huztak ra egy tiling modot
- A hozzászóláshoz be kell jelentkezni