| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572 |
- #!/usr/bin/env bash
- # vim: noai:ts=4:sw=4:expandtab
- # shellcheck source=/dev/null
- # shellcheck disable=2009
- #
- # Neofetch: A command-line system information tool written in bash 3.2+.
- # https://github.com/dylanaraps/neofetch
- #
- # The MIT License (MIT)
- #
- # Copyright (c) 2015-2020 Dylan Araps
- #
- # Permission is hereby granted, free of charge, to any person obtaining a copy
- # of this software and associated documentation files (the "Software"), to deal
- # in the Software without restriction, including without limitation the rights
- # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- # copies of the Software, and to permit persons to whom the Software is
- # furnished to do so, subject to the following conditions:
- #
- # The above copyright notice and this permission notice shall be included in all
- # copies or substantial portions of the Software.
- #
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- # SOFTWARE.
- version=7.1.0
- # Fallback to a value of '5' for shells which support bash
- # but do not set the 'BASH_' shell variables (osh).
- bash_version=${BASH_VERSINFO[0]:-5}
- shopt -s eval_unsafe_arith &>/dev/null
- sys_locale=${LANG:-C}
- XDG_CONFIG_HOME=${XDG_CONFIG_HOME:-${HOME}/.config}
- PATH=$PATH:/usr/xpg4/bin:/usr/sbin:/sbin:/usr/etc:/usr/libexec
- reset='\e[0m'
- shopt -s nocasematch
- # Speed up script by not using unicode.
- LC_ALL=C
- LANG=C
- # Fix issues with gsettings.
- export GIO_EXTRA_MODULES=/usr/lib/x86_64-linux-gnu/gio/modules/
- # Neofetch default config.
- read -rd '' config <<'EOF'
- # See this wiki page for more info:
- # https://github.com/dylanaraps/neofetch/wiki/Customizing-Info
- print_info() {
- info title
- info underline
- info "OS" distro
- info "Host" model
- info "Kernel" kernel
- info "Uptime" uptime
- info "Packages" packages
- info "Shell" shell
- info "Resolution" resolution
- info "DE" de
- info "WM" wm
- info "WM Theme" wm_theme
- info "Theme" theme
- info "Icons" icons
- info "Terminal" term
- info "Terminal Font" term_font
- info "CPU" cpu
- info "GPU" gpu
- info "Memory" memory
- # info "GPU Driver" gpu_driver # Linux/macOS only
- # info "CPU Usage" cpu_usage
- # info "Disk" disk
- # info "Battery" battery
- # info "Font" font
- # info "Song" song
- # [[ "$player" ]] && prin "Music Player" "$player"
- # info "Local IP" local_ip
- # info "Public IP" public_ip
- # info "Users" users
- # info "Locale" locale # This only works on glibc systems.
- info cols
- }
- # Title
- # Hide/Show Fully qualified domain name.
- #
- # Default: 'off'
- # Values: 'on', 'off'
- # Flag: --title_fqdn
- title_fqdn="off"
- # Kernel
- # Shorten the output of the kernel function.
- #
- # Default: 'on'
- # Values: 'on', 'off'
- # Flag: --kernel_shorthand
- # Supports: Everything except *BSDs (except PacBSD and PC-BSD)
- #
- # Example:
- # on: '4.8.9-1-ARCH'
- # off: 'Linux 4.8.9-1-ARCH'
- kernel_shorthand="on"
- # Distro
- # Shorten the output of the distro function
- #
- # Default: 'off'
- # Values: 'on', 'tiny', 'off'
- # Flag: --distro_shorthand
- # Supports: Everything except Windows and Haiku
- distro_shorthand="off"
- # Show/Hide OS Architecture.
- # Show 'x86_64', 'x86' and etc in 'Distro:' output.
- #
- # Default: 'on'
- # Values: 'on', 'off'
- # Flag: --os_arch
- #
- # Example:
- # on: 'Arch Linux x86_64'
- # off: 'Arch Linux'
- os_arch="on"
- # Uptime
- # Shorten the output of the uptime function
- #
- # Default: 'on'
- # Values: 'on', 'tiny', 'off'
- # Flag: --uptime_shorthand
- #
- # Example:
- # on: '2 days, 10 hours, 3 mins'
- # tiny: '2d 10h 3m'
- # off: '2 days, 10 hours, 3 minutes'
- uptime_shorthand="on"
- # Memory
- # Show memory pecentage in output.
- #
- # Default: 'off'
- # Values: 'on', 'off'
- # Flag: --memory_percent
- #
- # Example:
- # on: '1801MiB / 7881MiB (22%)'
- # off: '1801MiB / 7881MiB'
- memory_percent="off"
- # Change memory output unit.
- #
- # Default: 'mib'
- # Values: 'kib', 'mib', 'gib'
- # Flag: --memory_unit
- #
- # Example:
- # kib '1020928KiB / 7117824KiB'
- # mib '1042MiB / 6951MiB'
- # gib: ' 0.98GiB / 6.79GiB'
- memory_unit="mib"
- # Packages
- # Show/Hide Package Manager names.
- #
- # Default: 'tiny'
- # Values: 'on', 'tiny' 'off'
- # Flag: --package_managers
- #
- # Example:
- # on: '998 (pacman), 8 (flatpak), 4 (snap)'
- # tiny: '908 (pacman, flatpak, snap)'
- # off: '908'
- package_managers="on"
- # Shell
- # Show the path to $SHELL
- #
- # Default: 'off'
- # Values: 'on', 'off'
- # Flag: --shell_path
- #
- # Example:
- # on: '/bin/bash'
- # off: 'bash'
- shell_path="off"
- # Show $SHELL version
- #
- # Default: 'on'
- # Values: 'on', 'off'
- # Flag: --shell_version
- #
- # Example:
- # on: 'bash 4.4.5'
- # off: 'bash'
- shell_version="on"
- # CPU
- # CPU speed type
- #
- # Default: 'bios_limit'
- # Values: 'scaling_cur_freq', 'scaling_min_freq', 'scaling_max_freq', 'bios_limit'.
- # Flag: --speed_type
- # Supports: Linux with 'cpufreq'
- # NOTE: Any file in '/sys/devices/system/cpu/cpu0/cpufreq' can be used as a value.
- speed_type="bios_limit"
- # CPU speed shorthand
- #
- # Default: 'off'
- # Values: 'on', 'off'.
- # Flag: --speed_shorthand
- # NOTE: This flag is not supported in systems with CPU speed less than 1 GHz
- #
- # Example:
- # on: 'i7-6500U (4) @ 3.1GHz'
- # off: 'i7-6500U (4) @ 3.100GHz'
- speed_shorthand="off"
- # Enable/Disable CPU brand in output.
- #
- # Default: 'on'
- # Values: 'on', 'off'
- # Flag: --cpu_brand
- #
- # Example:
- # on: 'Intel i7-6500U'
- # off: 'i7-6500U (4)'
- cpu_brand="on"
- # CPU Speed
- # Hide/Show CPU speed.
- #
- # Default: 'on'
- # Values: 'on', 'off'
- # Flag: --cpu_speed
- #
- # Example:
- # on: 'Intel i7-6500U (4) @ 3.1GHz'
- # off: 'Intel i7-6500U (4)'
- cpu_speed="on"
- # CPU Cores
- # Display CPU cores in output
- #
- # Default: 'logical'
- # Values: 'logical', 'physical', 'off'
- # Flag: --cpu_cores
- # Support: 'physical' doesn't work on BSD.
- #
- # Example:
- # logical: 'Intel i7-6500U (4) @ 3.1GHz' (All virtual cores)
- # physical: 'Intel i7-6500U (2) @ 3.1GHz' (All physical cores)
- # off: 'Intel i7-6500U @ 3.1GHz'
- cpu_cores="logical"
- # CPU Temperature
- # Hide/Show CPU temperature.
- # Note the temperature is added to the regular CPU function.
- #
- # Default: 'off'
- # Values: 'C', 'F', 'off'
- # Flag: --cpu_temp
- # Supports: Linux, BSD
- # NOTE: For FreeBSD and NetBSD-based systems, you'll need to enable
- # coretemp kernel module. This only supports newer Intel processors.
- #
- # Example:
- # C: 'Intel i7-6500U (4) @ 3.1GHz [27.2°C]'
- # F: 'Intel i7-6500U (4) @ 3.1GHz [82.0°F]'
- # off: 'Intel i7-6500U (4) @ 3.1GHz'
- cpu_temp="off"
- # GPU
- # Enable/Disable GPU Brand
- #
- # Default: 'on'
- # Values: 'on', 'off'
- # Flag: --gpu_brand
- #
- # Example:
- # on: 'AMD HD 7950'
- # off: 'HD 7950'
- gpu_brand="on"
- # Which GPU to display
- #
- # Default: 'all'
- # Values: 'all', 'dedicated', 'integrated'
- # Flag: --gpu_type
- # Supports: Linux
- #
- # Example:
- # all:
- # GPU1: AMD HD 7950
- # GPU2: Intel Integrated Graphics
- #
- # dedicated:
- # GPU1: AMD HD 7950
- #
- # integrated:
- # GPU1: Intel Integrated Graphics
- gpu_type="all"
- # Resolution
- # Display refresh rate next to each monitor
- # Default: 'off'
- # Values: 'on', 'off'
- # Flag: --refresh_rate
- # Supports: Doesn't work on Windows.
- #
- # Example:
- # on: '1920x1080 @ 60Hz'
- # off: '1920x1080'
- refresh_rate="off"
- # Gtk Theme / Icons / Font
- # Shorten output of GTK Theme / Icons / Font
- #
- # Default: 'off'
- # Values: 'on', 'off'
- # Flag: --gtk_shorthand
- #
- # Example:
- # on: 'Numix, Adwaita'
- # off: 'Numix [GTK2], Adwaita [GTK3]'
- gtk_shorthand="off"
- # Enable/Disable gtk2 Theme / Icons / Font
- #
- # Default: 'on'
- # Values: 'on', 'off'
- # Flag: --gtk2
- #
- # Example:
- # on: 'Numix [GTK2], Adwaita [GTK3]'
- # off: 'Adwaita [GTK3]'
- gtk2="on"
- # Enable/Disable gtk3 Theme / Icons / Font
- #
- # Default: 'on'
- # Values: 'on', 'off'
- # Flag: --gtk3
- #
- # Example:
- # on: 'Numix [GTK2], Adwaita [GTK3]'
- # off: 'Numix [GTK2]'
- gtk3="on"
- # IP Address
- # Website to ping for the public IP
- #
- # Default: 'http://ident.me'
- # Values: 'url'
- # Flag: --ip_host
- public_ip_host="http://ident.me"
- # Public IP timeout.
- #
- # Default: '2'
- # Values: 'int'
- # Flag: --ip_timeout
- public_ip_timeout=2
- # Desktop Environment
- # Show Desktop Environment version
- #
- # Default: 'on'
- # Values: 'on', 'off'
- # Flag: --de_version
- de_version="on"
- # Disk
- # Which disks to display.
- # The values can be any /dev/sdXX, mount point or directory.
- # NOTE: By default we only show the disk info for '/'.
- #
- # Default: '/'
- # Values: '/', '/dev/sdXX', '/path/to/drive'.
- # Flag: --disk_show
- #
- # Example:
- # disk_show=('/' '/dev/sdb1'):
- # 'Disk (/): 74G / 118G (66%)'
- # 'Disk (/mnt/Videos): 823G / 893G (93%)'
- #
- # disk_show=('/'):
- # 'Disk (/): 74G / 118G (66%)'
- #
- disk_show=('/')
- # Disk subtitle.
- # What to append to the Disk subtitle.
- #
- # Default: 'mount'
- # Values: 'mount', 'name', 'dir', 'none'
- # Flag: --disk_subtitle
- #
- # Example:
- # name: 'Disk (/dev/sda1): 74G / 118G (66%)'
- # 'Disk (/dev/sdb2): 74G / 118G (66%)'
- #
- # mount: 'Disk (/): 74G / 118G (66%)'
- # 'Disk (/mnt/Local Disk): 74G / 118G (66%)'
- # 'Disk (/mnt/Videos): 74G / 118G (66%)'
- #
- # dir: 'Disk (/): 74G / 118G (66%)'
- # 'Disk (Local Disk): 74G / 118G (66%)'
- # 'Disk (Videos): 74G / 118G (66%)'
- #
- # none: 'Disk: 74G / 118G (66%)'
- # 'Disk: 74G / 118G (66%)'
- # 'Disk: 74G / 118G (66%)'
- disk_subtitle="mount"
- # Disk percent.
- # Show/Hide disk percent.
- #
- # Default: 'on'
- # Values: 'on', 'off'
- # Flag: --disk_percent
- #
- # Example:
- # on: 'Disk (/): 74G / 118G (66%)'
- # off: 'Disk (/): 74G / 118G'
- disk_percent="on"
- # Song
- # Manually specify a music player.
- #
- # Default: 'auto'
- # Values: 'auto', 'player-name'
- # Flag: --music_player
- #
- # Available values for 'player-name':
- #
- # amarok
- # audacious
- # banshee
- # bluemindo
- # clementine
- # cmus
- # deadbeef
- # deepin-music
- # dragon
- # elisa
- # exaile
- # gnome-music
- # gmusicbrowser
- # gogglesmm
- # guayadeque
- # io.elementary.music
- # iTunes
- # juk
- # lollypop
- # mocp
- # mopidy
- # mpd
- # muine
- # netease-cloud-music
- # olivia
- # playerctl
- # pogo
- # pragha
- # qmmp
- # quodlibet
- # rhythmbox
- # sayonara
- # smplayer
- # spotify
- # strawberry
- # tauonmb
- # tomahawk
- # vlc
- # xmms2d
- # xnoise
- # yarock
- music_player="auto"
- # Format to display song information.
- #
- # Default: '%artist% - %album% - %title%'
- # Values: '%artist%', '%album%', '%title%'
- # Flag: --song_format
- #
- # Example:
- # default: 'Song: Jet - Get Born - Sgt Major'
- song_format="%artist% - %album% - %title%"
- # Print the Artist, Album and Title on separate lines
- #
- # Default: 'off'
- # Values: 'on', 'off'
- # Flag: --song_shorthand
- #
- # Example:
- # on: 'Artist: The Fratellis'
- # 'Album: Costello Music'
- # 'Song: Chelsea Dagger'
- #
- # off: 'Song: The Fratellis - Costello Music - Chelsea Dagger'
- song_shorthand="off"
- # 'mpc' arguments (specify a host, password etc).
- #
- # Default: ''
- # Example: mpc_args=(-h HOST -P PASSWORD)
- mpc_args=()
- # Text Colors
- # Text Colors
- #
- # Default: 'distro'
- # Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num'
- # Flag: --colors
- #
- # Each number represents a different part of the text in
- # this order: 'title', '@', 'underline', 'subtitle', 'colon', 'info'
- #
- # Example:
- # colors=(distro) - Text is colored based on Distro colors.
- # colors=(4 6 1 8 8 6) - Text is colored in the order above.
- colors=(distro)
- # Text Options
- # Toggle bold text
- #
- # Default: 'on'
- # Values: 'on', 'off'
- # Flag: --bold
- bold="on"
- # Enable/Disable Underline
- #
- # Default: 'on'
- # Values: 'on', 'off'
- # Flag: --underline
- underline_enabled="on"
- # Underline character
- #
- # Default: '-'
- # Values: 'string'
- # Flag: --underline_char
- underline_char="-"
- # Info Separator
- # Replace the default separator with the specified string.
- #
- # Default: ':'
- # Flag: --separator
- #
- # Example:
- # separator="->": 'Shell-> bash'
- # separator=" =": 'WM = dwm'
- separator=":"
- # Color Blocks
- # Color block range
- # The range of colors to print.
- #
- # Default: '0', '15'
- # Values: 'num'
- # Flag: --block_range
- #
- # Example:
- #
- # Display colors 0-7 in the blocks. (8 colors)
- # neofetch --block_range 0 7
- #
- # Display colors 0-15 in the blocks. (16 colors)
- # neofetch --block_range 0 15
- block_range=(0 15)
- # Toggle color blocks
- #
- # Default: 'on'
- # Values: 'on', 'off'
- # Flag: --color_blocks
- color_blocks="on"
- # Color block width in spaces
- #
- # Default: '3'
- # Values: 'num'
- # Flag: --block_width
- block_width=3
- # Color block height in lines
- #
- # Default: '1'
- # Values: 'num'
- # Flag: --block_height
- block_height=1
- # Color Alignment
- #
- # Default: 'auto'
- # Values: 'auto', 'num'
- # Flag: --col_offset
- #
- # Number specifies how far from the left side of the terminal (in spaces) to
- # begin printing the columns, in case you want to e.g. center them under your
- # text.
- # Example:
- # col_offset="auto" - Default behavior of neofetch
- # col_offset=7 - Leave 7 spaces then print the colors
- col_offset="auto"
- # Progress Bars
- # Bar characters
- #
- # Default: '-', '='
- # Values: 'string', 'string'
- # Flag: --bar_char
- #
- # Example:
- # neofetch --bar_char 'elapsed' 'total'
- # neofetch --bar_char '-' '='
- bar_char_elapsed="-"
- bar_char_total="="
- # Toggle Bar border
- #
- # Default: 'on'
- # Values: 'on', 'off'
- # Flag: --bar_border
- bar_border="on"
- # Progress bar length in spaces
- # Number of chars long to make the progress bars.
- #
- # Default: '15'
- # Values: 'num'
- # Flag: --bar_length
- bar_length=15
- # Progress bar colors
- # When set to distro, uses your distro's logo colors.
- #
- # Default: 'distro', 'distro'
- # Values: 'distro', 'num'
- # Flag: --bar_colors
- #
- # Example:
- # neofetch --bar_colors 3 4
- # neofetch --bar_colors distro 5
- bar_color_elapsed="distro"
- bar_color_total="distro"
- # Info display
- # Display a bar with the info.
- #
- # Default: 'off'
- # Values: 'bar', 'infobar', 'barinfo', 'off'
- # Flags: --cpu_display
- # --memory_display
- # --battery_display
- # --disk_display
- #
- # Example:
- # bar: '[---=======]'
- # infobar: 'info [---=======]'
- # barinfo: '[---=======] info'
- # off: 'info'
- cpu_display="off"
- memory_display="off"
- battery_display="off"
- disk_display="off"
- # Backend Settings
- # Image backend.
- #
- # Default: 'ascii'
- # Values: 'ascii', 'caca', 'chafa', 'jp2a', 'iterm2', 'off',
- # 'pot', 'termpix', 'pixterm', 'tycat', 'w3m', 'kitty'
- # Flag: --backend
- image_backend="ascii"
- # Image Source
- #
- # Which image or ascii file to display.
- #
- # Default: 'auto'
- # Values: 'auto', 'ascii', 'wallpaper', '/path/to/img', '/path/to/ascii', '/path/to/dir/'
- # 'command output (neofetch --ascii "$(fortune | cowsay -W 30)")'
- # Flag: --source
- #
- # NOTE: 'auto' will pick the best image source for whatever image backend is used.
- # In ascii mode, distro ascii art will be used and in an image mode, your
- # wallpaper will be used.
- image_source="auto"
- # Ascii Options
- # Ascii distro
- # Which distro's ascii art to display.
- #
- # Default: 'auto'
- # Values: 'auto', 'distro_name'
- # Flag: --ascii_distro
- # NOTE: AIX, Alpine, Anarchy, Android, Antergos, antiX, "AOSC OS",
- # "AOSC OS/Retro", Apricity, ArcoLinux, ArchBox, ARCHlabs,
- # ArchStrike, XFerience, ArchMerge, Arch, Artix, Arya, Bedrock,
- # Bitrig, BlackArch, BLAG, BlankOn, BlueLight, bonsai, BSD,
- # BunsenLabs, Calculate, Carbs, CentOS, Chakra, ChaletOS,
- # Chapeau, Chrom*, Cleanjaro, ClearOS, Clear_Linux, Clover,
- # Condres, Container_Linux, CRUX, Cucumber, Debian, Deepin,
- # DesaOS, Devuan, DracOS, DarkOs, DragonFly, Drauger, Elementary,
- # EndeavourOS, Endless, EuroLinux, Exherbo, Fedora, Feren, FreeBSD,
- # FreeMiNT, Frugalware, Funtoo, GalliumOS, Garuda, Gentoo, Pentoo,
- # gNewSense, GNOME, GNU, GoboLinux, Grombyang, Guix, Haiku, Huayra,
- # Hyperbola, janus, Kali, KaOS, KDE_neon, Kibojoe, Kogaion,
- # Korora, KSLinux, Kubuntu, LEDE, LFS, Linux_Lite,
- # LMDE, Lubuntu, Lunar, macos, Mageia, MagpieOS, Mandriva,
- # Manjaro, Maui, Mer, Minix, LinuxMint, MX_Linux, Namib,
- # Neptune, NetBSD, Netrunner, Nitrux, NixOS, Nurunner,
- # NuTyX, OBRevenge, OpenBSD, openEuler, OpenIndiana, openmamba,
- # OpenMandriva, OpenStage, OpenWrt, osmc, Oracle, OS Elbrus, PacBSD,
- # Parabola, Pardus, Parrot, Parsix, TrueOS, PCLinuxOS, Peppermint,
- # popos, Porteus, PostMarketOS, Proxmox, Puppy, PureOS, Qubes, Radix,
- # Raspbian, Reborn_OS, Redstar, Redcore, Redhat, Refracted_Devuan,
- # Regata, Rosa, sabotage, Sabayon, Sailfish, SalentOS, Scientific,
- # Septor, SereneLinux, SharkLinux, Siduction, Slackware, SliTaz,
- # SmartOS, Solus, Source_Mage, Sparky, Star, SteamOS, SunOS,
- # openSUSE_Leap, openSUSE_Tumbleweed, openSUSE, SwagArch, Tails,
- # Trisquel, Ubuntu-Budgie, Ubuntu-GNOME, Ubuntu-MATE, Ubuntu-Studio,
- # Ubuntu, Venom, Void, Obarun, windows10, Windows7, Xubuntu, Zorin,
- # and IRIX have ascii logos
- # NOTE: Arch, Ubuntu, Redhat, and Dragonfly have 'old' logo variants.
- # Use '{distro name}_old' to use the old logos.
- # NOTE: Ubuntu has flavor variants.
- # Change this to Lubuntu, Kubuntu, Xubuntu, Ubuntu-GNOME,
- # Ubuntu-Studio, Ubuntu-Mate or Ubuntu-Budgie to use the flavors.
- # NOTE: Arcolinux, Dragonfly, Fedora, Alpine, Arch, Ubuntu,
- # CRUX, Debian, Gentoo, FreeBSD, Mac, NixOS, OpenBSD, android,
- # Antrix, CentOS, Cleanjaro, ElementaryOS, GUIX, Hyperbola,
- # Manjaro, MXLinux, NetBSD, Parabola, POP_OS, PureOS,
- # Slackware, SunOS, LinuxLite, OpenSUSE, Raspbian,
- # postmarketOS, and Void have a smaller logo variant.
- # Use '{distro name}_small' to use the small variants.
- ascii_distro="auto"
- # Ascii Colors
- #
- # Default: 'distro'
- # Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num'
- # Flag: --ascii_colors
- #
- # Example:
- # ascii_colors=(distro) - Ascii is colored based on Distro colors.
- # ascii_colors=(4 6 1 8 8 6) - Ascii is colored using these colors.
- ascii_colors=(distro)
- # Bold ascii logo
- # Whether or not to bold the ascii logo.
- #
- # Default: 'on'
- # Values: 'on', 'off'
- # Flag: --ascii_bold
- ascii_bold="on"
- # Image Options
- # Image loop
- # Setting this to on will make neofetch redraw the image constantly until
- # Ctrl+C is pressed. This fixes display issues in some terminal emulators.
- #
- # Default: 'off'
- # Values: 'on', 'off'
- # Flag: --loop
- image_loop="off"
- # Thumbnail directory
- #
- # Default: '~/.cache/thumbnails/neofetch'
- # Values: 'dir'
- thumbnail_dir="${XDG_CACHE_HOME:-${HOME}/.cache}/thumbnails/neofetch"
- # Crop mode
- #
- # Default: 'normal'
- # Values: 'normal', 'fit', 'fill'
- # Flag: --crop_mode
- #
- # See this wiki page to learn about the fit and fill options.
- # https://github.com/dylanaraps/neofetch/wiki/What-is-Waifu-Crop%3F
- crop_mode="normal"
- # Crop offset
- # Note: Only affects 'normal' crop mode.
- #
- # Default: 'center'
- # Values: 'northwest', 'north', 'northeast', 'west', 'center'
- # 'east', 'southwest', 'south', 'southeast'
- # Flag: --crop_offset
- crop_offset="center"
- # Image size
- # The image is half the terminal width by default.
- #
- # Default: 'auto'
- # Values: 'auto', '00px', '00%', 'none'
- # Flags: --image_size
- # --size
- image_size="auto"
- # Gap between image and text
- #
- # Default: '3'
- # Values: 'num', '-num'
- # Flag: --gap
- gap=3
- # Image offsets
- # Only works with the w3m backend.
- #
- # Default: '0'
- # Values: 'px'
- # Flags: --xoffset
- # --yoffset
- yoffset=0
- xoffset=0
- # Image background color
- # Only works with the w3m backend.
- #
- # Default: ''
- # Values: 'color', 'blue'
- # Flag: --bg_color
- background_color=
- # Misc Options
- # Stdout mode
- # Turn off all colors and disables image backend (ASCII/Image).
- # Useful for piping into another command.
- # Default: 'off'
- # Values: 'on', 'off'
- stdout="off"
- EOF
- # DETECT INFORMATION
- get_os() {
- # $kernel_name is set in a function called cache_uname and is
- # just the output of "uname -s".
- case $kernel_name in
- Darwin) os=$darwin_name ;;
- SunOS) os=Solaris ;;
- Haiku) os=Haiku ;;
- MINIX) os=MINIX ;;
- AIX) os=AIX ;;
- IRIX*) os=IRIX ;;
- FreeMiNT) os=FreeMiNT ;;
- Linux|GNU*)
- os=Linux
- ;;
- *BSD|DragonFly|Bitrig)
- os=BSD
- ;;
- CYGWIN*|MSYS*|MINGW*)
- os=Windows
- ;;
- *)
- printf '%s\n' "Unknown OS detected: '$kernel_name', aborting..." >&2
- printf '%s\n' "Open an issue on GitHub to add support for your OS." >&2
- exit 1
- ;;
- esac
- }
- get_distro() {
- [[ $distro ]] && return
- case $os in
- Linux|BSD|MINIX)
- if [[ -f /bedrock/etc/bedrock-release && $PATH == */bedrock/cross/* ]]; then
- case $distro_shorthand in
- on|tiny) distro="Bedrock Linux" ;;
- *) distro=$(< /bedrock/etc/bedrock-release)
- esac
- elif [[ -f /etc/redstar-release ]]; then
- case $distro_shorthand in
- on|tiny) distro="Red Star OS" ;;
- *) distro="Red Star OS $(awk -F'[^0-9*]' '$0=$2' /etc/redstar-release)"
- esac
- elif [[ -f /etc/siduction-version ]]; then
- case $distro_shorthand in
- on|tiny) distro=Siduction ;;
- *) distro="Siduction ($(lsb_release -sic))"
- esac
- elif [[ -f /etc/mcst_version ]]; then
- case $distro_shorthand in
- on|tiny) distro="OS Elbrus" ;;
- *) distro="OS Elbrus $(< /etc/mcst_version)"
- esac
- elif type -p pveversion >/dev/null; then
- case $distro_shorthand in
- on|tiny) distro="Proxmox VE" ;;
- *)
- distro=$(pveversion)
- distro=${distro#pve-manager/}
- distro="Proxmox VE ${distro%/*}"
- esac
- elif type -p lsb_release >/dev/null; then
- case $distro_shorthand in
- on) lsb_flags=-si ;;
- tiny) lsb_flags=-si ;;
- *) lsb_flags=-sd ;;
- esac
- distro=$(lsb_release "$lsb_flags")
- elif [[ -f /etc/os-release || \
- -f /usr/lib/os-release || \
- -f /etc/openwrt_release || \
- -f /etc/lsb-release ]]; then
- # Source the os-release file
- for file in /etc/lsb-release /usr/lib/os-release \
- /etc/os-release /etc/openwrt_release; do
- source "$file" && break
- done
- # Format the distro name.
- case $distro_shorthand in
- on) distro="${NAME:-${DISTRIB_ID}} ${VERSION_ID:-${DISTRIB_RELEASE}}" ;;
- tiny) distro="${NAME:-${DISTRIB_ID:-${TAILS_PRODUCT_NAME}}}" ;;
- off) distro="${PRETTY_NAME:-${DISTRIB_DESCRIPTION}} ${UBUNTU_CODENAME}" ;;
- esac
- elif [[ -f /etc/GoboLinuxVersion ]]; then
- case $distro_shorthand in
- on|tiny) distro=GoboLinux ;;
- *) distro="GoboLinux $(< /etc/GoboLinuxVersion)"
- esac
- elif [[ -f /etc/SDE-VERSION ]]; then
- distro="$(< /etc/SDE-VERSION)"
- case $distro_shorthand in
- on|tiny) distro="${distro% *}" ;;
- esac
- elif type -p crux >/dev/null; then
- distro=$(crux)
- case $distro_shorthand in
- on) distro=${distro//version} ;;
- tiny) distro=${distro//version*}
- esac
- elif type -p tazpkg >/dev/null; then
- distro="SliTaz $(< /etc/slitaz-release)"
- elif type -p kpt >/dev/null && \
- type -p kpm >/dev/null; then
- distro=KSLinux
- elif [[ -d /system/app/ && -d /system/priv-app ]]; then
- distro="Android $(getprop ro.build.version.release)"
- # Chrome OS doesn't conform to the /etc/*-release standard.
- # While the file is a series of variables they can't be sourced
- # by the shell since the values aren't quoted.
- elif [[ -f /etc/lsb-release && $(< /etc/lsb-release) == *CHROMEOS* ]]; then
- distro='Chrome OS'
- elif type -p guix >/dev/null; then
- case $distro_shorthand in
- on|tiny) distro="Guix System" ;;
- *) distro="Guix System $(guix -V | awk 'NR==1{printf $4}')"
- esac
- # Display whether using '-current' or '-release' on OpenBSD.
- elif [[ $kernel_name = OpenBSD ]] ; then
- read -ra kernel_info <<< "$(sysctl -n kern.version)"
- distro=${kernel_info[*]:0:2}
- else
- for release_file in /etc/*-release; do
- distro+=$(< "$release_file")
- done
- if [[ -z $distro ]]; then
- case $distro_shorthand in
- on|tiny) distro=$kernel_name ;;
- *) distro="$kernel_name $kernel_version" ;;
- esac
- distro=${distro/DragonFly/DragonFlyBSD}
- # Workarounds for some BSD based distros.
- [[ -f /etc/pcbsd-lang ]] && distro=PCBSD
- [[ -f /etc/trueos-lang ]] && distro=TrueOS
- [[ -f /etc/pacbsd-release ]] && distro=PacBSD
- [[ -f /etc/hbsd-update.conf ]] && distro=HardenedBSD
- fi
- fi
- if [[ $(< /proc/version) == *Microsoft* || $kernel_version == *Microsoft* ]]; then
- case $distro_shorthand in
- on) distro+=" [Windows 10]" ;;
- tiny) distro="Windows 10" ;;
- *) distro+=" on Windows 10" ;;
- esac
- elif [[ $(< /proc/version) == *chrome-bot* || -f /dev/cros_ec ]]; then
- [[ $distro != *Chrome* ]] &&
- case $distro_shorthand in
- on) distro+=" [Chrome OS]" ;;
- tiny) distro="Chrome OS" ;;
- *) distro+=" on Chrome OS" ;;
- esac
- fi
- distro=$(trim_quotes "$distro")
- distro=${distro/NAME=}
- # Get Ubuntu flavor.
- if [[ $distro == "Ubuntu"* ]]; then
- case $XDG_CONFIG_DIRS in
- *"plasma"*) distro=${distro/Ubuntu/Kubuntu} ;;
- *"mate"*) distro=${distro/Ubuntu/Ubuntu MATE} ;;
- *"xubuntu"*) distro=${distro/Ubuntu/Xubuntu} ;;
- *"Lubuntu"*) distro=${distro/Ubuntu/Lubuntu} ;;
- *"budgie"*) distro=${distro/Ubuntu/Ubuntu Budgie} ;;
- *"studio"*) distro=${distro/Ubuntu/Ubuntu Studio} ;;
- *"cinnamon"*) distro=${distro/Ubuntu/Ubuntu Cinnamon} ;;
- esac
- fi
- ;;
- "Mac OS X"|"macOS")
- case $osx_version in
- 10.4*) codename="Mac OS X Tiger" ;;
- 10.5*) codename="Mac OS X Leopard" ;;
- 10.6*) codename="Mac OS X Snow Leopard" ;;
- 10.7*) codename="Mac OS X Lion" ;;
- 10.8*) codename="OS X Mountain Lion" ;;
- 10.9*) codename="OS X Mavericks" ;;
- 10.10*) codename="OS X Yosemite" ;;
- 10.11*) codename="OS X El Capitan" ;;
- 10.12*) codename="macOS Sierra" ;;
- 10.13*) codename="macOS High Sierra" ;;
- 10.14*) codename="macOS Mojave" ;;
- 10.15*) codename="macOS Catalina" ;;
- 10.16*) codename="macOS Big Sur" ;;
- 11.0*) codename="macOS Big Sur" ;;
- *) codename=macOS ;;
- esac
- distro="$codename $osx_version $osx_build"
- case $distro_shorthand in
- on) distro=${distro/ ${osx_build}} ;;
- tiny)
- case $osx_version in
- 10.[4-7]*) distro=${distro/${codename}/Mac OS X} ;;
- 10.[8-9]*|10.1[0-1]*) distro=${distro/${codename}/OS X} ;;
- 10.1[2-6]*|11.0*) distro=${distro/${codename}/macOS} ;;
- esac
- distro=${distro/ ${osx_build}}
- ;;
- esac
- ;;
- "iPhone OS")
- distro="iOS $osx_version"
- # "uname -m" doesn't print architecture on iOS.
- os_arch=off
- ;;
- Windows)
- distro=$(wmic os get Caption)
- distro=${distro/Caption}
- distro=${distro/Microsoft }
- ;;
- Solaris)
- case $distro_shorthand in
- on|tiny) distro=$(awk 'NR==1 {print $1,$3}' /etc/release) ;;
- *) distro=$(awk 'NR==1 {print $1,$2,$3}' /etc/release) ;;
- esac
- distro=${distro/\(*}
- ;;
- Haiku)
- distro=Haiku
- ;;
- AIX)
- distro="AIX $(oslevel)"
- ;;
- IRIX)
- distro="IRIX ${kernel_version}"
- ;;
- FreeMiNT)
- distro=FreeMiNT
- ;;
- esac
- distro=${distro//Enterprise Server}
- [[ $distro ]] || distro="$os (Unknown)"
- # Get OS architecture.
- case $os in
- Solaris|AIX|Haiku|IRIX|FreeMiNT)
- machine_arch=$(uname -p)
- ;;
- *) machine_arch=$kernel_machine ;;
- esac
- [[ $os_arch == on ]] && \
- distro+=" $machine_arch"
- [[ ${ascii_distro:-auto} == auto ]] && \
- ascii_distro=$(trim "$distro")
- }
- get_model() {
- case $os in
- Linux)
- if [[ -d /system/app/ && -d /system/priv-app ]]; then
- model="$(getprop ro.product.brand) $(getprop ro.product.model)"
- elif [[ -f /sys/devices/virtual/dmi/id/product_name ||
- -f /sys/devices/virtual/dmi/id/product_version ]]; then
- model=$(< /sys/devices/virtual/dmi/id/product_name)
- model+=" $(< /sys/devices/virtual/dmi/id/product_version)"
- elif [[ -f /sys/firmware/devicetree/base/model ]]; then
- model=$(< /sys/firmware/devicetree/base/model)
- elif [[ -f /tmp/sysinfo/model ]]; then
- model=$(< /tmp/sysinfo/model)
- fi
- ;;
- "Mac OS X"|"macOS")
- if [[ $(kextstat | grep -F -e "FakeSMC" -e "VirtualSMC") != "" ]]; then
- model="Hackintosh (SMBIOS: $(sysctl -n hw.model))"
- else
- model=$(sysctl -n hw.model)
- fi
- ;;
- "iPhone OS")
- case $kernel_machine in
- iPad1,1): "iPad" ;;
- iPad2,[1-4]): "iPad 2" ;;
- iPad3,[1-3]): "iPad 3" ;;
- iPad3,[4-6]): "iPad 4" ;;
- iPad6,1[12]): "iPad 5" ;;
- iPad7,[5-6]): "iPad 6" ;;
- iPad7,1[12]): "iPad 7" ;;
- iPad4,[1-3]): "iPad Air" ;;
- iPad5,[3-4]): "iPad Air 2" ;;
- iPad11,[3-4]): "iPad Air 3" ;;
- iPad6,[7-8]): "iPad Pro (12.9 Inch)" ;;
- iPad6,[3-4]): "iPad Pro (9.7 Inch)" ;;
- iPad7,[1-2]): "iPad Pro 2 (12.9 Inch)" ;;
- iPad7,[3-4]): "iPad Pro (10.5 Inch)" ;;
- iPad8,[1-4]): "iPad Pro (11 Inch)" ;;
- iPad8,[5-8]): "iPad Pro 3 (12.9 Inch)" ;;
- iPad8,9 | iPad8,10): "iPad Pro 4 (11 Inch)" ;;
- iPad8,1[1-2]): "iPad Pro 4 (12.9 Inch)" ;;
- iPad2,[5-7]): "iPad mini" ;;
- iPad4,[4-6]): "iPad mini 2" ;;
- iPad4,[7-9]): "iPad mini 3" ;;
- iPad5,[1-2]): "iPad mini 4" ;;
- iPad11,[1-2]): "iPad mini 5" ;;
- iPhone1,1): "iPhone" ;;
- iPhone1,2): "iPhone 3G" ;;
- iPhone2,1): "iPhone 3GS" ;;
- iPhone3,[1-3]): "iPhone 4" ;;
- iPhone4,1): "iPhone 4S" ;;
- iPhone5,[1-2]): "iPhone 5" ;;
- iPhone5,[3-4]): "iPhone 5c" ;;
- iPhone6,[1-2]): "iPhone 5s" ;;
- iPhone7,2): "iPhone 6" ;;
- iPhone7,1): "iPhone 6 Plus" ;;
- iPhone8,1): "iPhone 6s" ;;
- iPhone8,2): "iPhone 6s Plus" ;;
- iPhone8,4): "iPhone SE" ;;
- iPhone9,[13]): "iPhone 7" ;;
- iPhone9,[24]): "iPhone 7 Plus" ;;
- iPhone10,[14]): "iPhone 8" ;;
- iPhone10,[25]): "iPhone 8 Plus" ;;
- iPhone10,[36]): "iPhone X" ;;
- iPhone11,2): "iPhone XS" ;;
- iPhone11,[46]): "iPhone XS Max" ;;
- iPhone11,8): "iPhone XR" ;;
- iPhone12,1): "iPhone 11" ;;
- iPhone12,3): "iPhone 11 Pro" ;;
- iPhone12,5): "iPhone 11 Pro Max" ;;
- iPhone12,8): "iPhone SE 2020" ;;
- iPod1,1): "iPod touch" ;;
- ipod2,1): "iPod touch 2G" ;;
- ipod3,1): "iPod touch 3G" ;;
- ipod4,1): "iPod touch 4G" ;;
- ipod5,1): "iPod touch 5G" ;;
- ipod7,1): "iPod touch 6G" ;;
- esac
- model=$_
- ;;
- BSD|MINIX)
- model=$(sysctl -n hw.vendor hw.product)
- ;;
- Windows)
- model=$(wmic computersystem get manufacturer,model)
- model=${model/Manufacturer}
- model=${model/Model}
- ;;
- Solaris)
- model=$(prtconf -b | awk -F':' '/banner-name/ {printf $2}')
- ;;
- AIX)
- model=$(/usr/bin/uname -M)
- ;;
- FreeMiNT)
- model=$(sysctl -n hw.model)
- model=${model/ (_MCH *)}
- ;;
- esac
- # Remove dummy OEM info.
- model=${model//To be filled by O.E.M.}
- model=${model//To Be Filled*}
- model=${model//OEM*}
- model=${model//Not Applicable}
- model=${model//System Product Name}
- model=${model//System Version}
- model=${model//Undefined}
- model=${model//Default string}
- model=${model//Not Specified}
- model=${model//Type1ProductConfigId}
- model=${model//INVALID}
- model=${model//All Series}
- model=${model//�}
- case $model in
- "Standard PC"*) model="KVM/QEMU (${model})" ;;
- OpenBSD*) model="vmm ($model)" ;;
- esac
- }
- get_title() {
- user=${USER:-$(id -un || printf %s "${HOME/*\/}")}
- case $title_fqdn in
- on) hostname=$(hostname -f) ;;
- *) hostname=${HOSTNAME:-$(hostname)} ;;
- esac
- title=${title_color}${bold}${user}${at_color}@${title_color}${bold}${hostname}
- length=$((${#user} + ${#hostname} + 1))
- }
- get_kernel() {
- # Since these OS are integrated systems, it's better to skip this function altogether
- [[ $os =~ (AIX|IRIX) ]] && return
- # Haiku uses 'uname -v' and not - 'uname -r'.
- [[ $os == Haiku ]] && {
- kernel=$(uname -v)
- return
- }
- # In Windows 'uname' may return the info of GNUenv thus use wmic for OS kernel.
- [[ $os == Windows ]] && {
- kernel=$(wmic os get Version)
- kernel=${kernel/Version}
- return
- }
- case $kernel_shorthand in
- on) kernel=$kernel_version ;;
- off) kernel="$kernel_name $kernel_version" ;;
- esac
- # Hide kernel info if it's identical to the distro info.
- [[ $os =~ (BSD|MINIX) && $distro == *"$kernel_name"* ]] &&
- case $distro_shorthand in
- on|tiny) kernel=$kernel_version ;;
- *) unset kernel ;;
- esac
- }
- get_uptime() {
- # Get uptime in seconds.
- case $os in
- Linux|Windows|MINIX)
- if [[ -r /proc/uptime ]]; then
- s=$(< /proc/uptime)
- s=${s/.*}
- else
- boot=$(date -d"$(uptime -s)" +%s)
- now=$(date +%s)
- s=$((now - boot))
- fi
- ;;
- "Mac OS X"|"macOS"|"iPhone OS"|BSD|FreeMiNT)
- boot=$(sysctl -n kern.boottime)
- boot=${boot/\{ sec = }
- boot=${boot/,*}
- # Get current date in seconds.
- now=$(date +%s)
- s=$((now - boot))
- ;;
- Solaris)
- s=$(kstat -p unix:0:system_misc:snaptime | awk '{print $2}')
- s=${s/.*}
- ;;
- AIX|IRIX)
- t=$(LC_ALL=POSIX ps -o etime= -p 1)
- [[ $t == *-* ]] && { d=${t%%-*}; t=${t#*-}; }
- [[ $t == *:*:* ]] && { h=${t%%:*}; t=${t#*:}; }
- h=${h#0}
- t=${t#0}
- s=$((${d:-0}*86400 + ${h:-0}*3600 + ${t%%:*}*60 + ${t#*:}))
- ;;
- Haiku)
- s=$(($(system_time) / 1000000))
- ;;
- esac
- d="$((s / 60 / 60 / 24)) days"
- h="$((s / 60 / 60 % 24)) hours"
- m="$((s / 60 % 60)) mins"
- # Remove plural if < 2.
- ((${d/ *} == 1)) && d=${d/s}
- ((${h/ *} == 1)) && h=${h/s}
- ((${m/ *} == 1)) && m=${m/s}
- # Hide empty fields.
- ((${d/ *} == 0)) && unset d
- ((${h/ *} == 0)) && unset h
- ((${m/ *} == 0)) && unset m
- uptime=${d:+$d, }${h:+$h, }$m
- uptime=${uptime%', '}
- uptime=${uptime:-$s secs}
- # Make the output of uptime smaller.
- case $uptime_shorthand in
- on) ;;
- tiny)
- uptime=${uptime/ days/d}
- uptime=${uptime/ day/d}
- uptime=${uptime/ hours/h}
- uptime=${uptime/ hour/h}
- uptime=${uptime/ mins/m}
- uptime=${uptime/ min/m}
- uptime=${uptime/ secs/s}
- uptime=${uptime//,}
- ;;
- esac
- }
- get_packages() {
- # has: Check if package manager installed.
- # dir: Count files or dirs in a glob.
- # pac: If packages > 0, log package manager name.
- # tot: Count lines in command output.
- has() { type -p "$1" >/dev/null && manager=$1; }
- dir() { ((packages+=$#)); pac "$#"; }
- pac() { (($1 > 0)) && { managers+=("$1 (${manager})"); manager_string+="${manager}, "; }; }
- tot() { IFS=$'\n' read -d "" -ra pkgs <<< "$("$@")";((packages+=${#pkgs[@]}));pac "${#pkgs[@]}";}
- # Redefine tot() for Bedrock Linux.
- [[ -f /bedrock/etc/bedrock-release && $PATH == */bedrock/cross/* ]] && {
- tot() {
- IFS=$'\n' read -d "" -ra pkgs <<< "$(for s in $(brl list); do strat -r "$s" "$@"; done)"
- ((packages+="${#pkgs[@]}"))
- pac "${#pkgs[@]}"
- }
- br_prefix="/bedrock/strata/*"
- }
- case $os in
- Linux|BSD|"iPhone OS"|Solaris)
- # Package Manager Programs.
- has kiss && tot kiss l
- has pacman-key && tot pacman -Qq --color never
- has dpkg && tot dpkg-query -f '.\n' -W
- has rpm && tot rpm -qa
- has xbps-query && tot xbps-query -l
- has apk && tot apk info
- has opkg && tot opkg list-installed
- has pacman-g2 && tot pacman-g2 -Q
- has lvu && tot lvu installed
- has tce-status && tot tce-status -i
- has pkg_info && tot pkg_info
- has tazpkg && tot tazpkg list && ((packages-=6))
- has sorcery && tot gaze installed
- has alps && tot alps showinstalled
- has butch && tot butch list
- has mine && tot mine -q
- # Counting files/dirs.
- # Variables need to be unquoted here. Only Bedrock Linux is affected.
- # $br_prefix is fixed and won't change based on user input so this is safe either way.
- # shellcheck disable=SC2086
- {
- shopt -s nullglob
- has brew && dir "$(brew --cellar)"/*
- has emerge && dir ${br_prefix}/var/db/pkg/*/*/
- has Compile && dir ${br_prefix}/Programs/*/
- has eopkg && dir ${br_prefix}/var/lib/eopkg/package/*
- has crew && dir ${br_prefix}/usr/local/etc/crew/meta/*.filelist
- has pkgtool && dir ${br_prefix}/var/log/packages/*
- has scratch && dir ${br_prefix}/var/lib/scratchpkg/index/*/.pkginfo
- has kagami && dir ${br_prefix}/var/lib/kagami/pkgs/*
- has cave && dir ${br_prefix}/var/db/paludis/repositories/cross-installed/*/data/*/ \
- ${br_prefix}/var/db/paludis/repositories/installed/data/*/
- shopt -u nullglob
- }
- # Other (Needs complex command)
- has kpm-pkg && ((packages+=$(kpm --get-selections | grep -cv deinstall$)))
- has guix && {
- manager=guix-system && tot guix package -p "/run/current-system/profile" -I
- manager=guix-user && tot guix package -I
- }
- has nix-store && {
- manager=nix-system && tot nix-store -q --requisites /run/current-system/sw
- manager=nix-user && tot nix-store -q --requisites ~/.nix-profile
- manager=nix-default && tot nix-store -q --requisites /nix/var/nix/profiles/default
- }
- # pkginfo is also the name of a python package manager which is painfully slow.
- # TODO: Fix this somehow.
- has pkginfo && tot pkginfo -i
- case $kernel_name in
- FreeBSD|DragonFly) has pkg && tot pkg info ;;
- *)
- has pkg && dir /var/db/pkg/*
- ((packages == 0)) && \
- has pkg && tot pkg list
- ;;
- esac
- # List these last as they accompany regular package managers.
- has flatpak && tot flatpak list
- has spm && tot spm list -i
- has puyo && dir ~/.puyo/installed
- # Snap hangs if the command is run without the daemon running.
- # Only run snap if the daemon is also running.
- has snap && ps -e | grep -qFm 1 snapd >/dev/null && tot snap list && ((packages-=1))
- # This is the only standard location for appimages.
- # See: https://github.com/AppImage/AppImageKit/wiki
- manager=appimage && has appimaged && dir ~/.local/bin/*.appimage
- ;;
- "Mac OS X"|"macOS"|MINIX)
- has port && tot port installed && ((packages-=1))
- has brew && dir /usr/local/Cellar/*
- has pkgin && tot pkgin list
- has nix-store && {
- manager=nix-system && tot nix-store -q --requisites "/run/current-system/sw"
- manager=nix-user && tot nix-store -q --requisites "$HOME/.nix-profile"
- }
- ;;
- AIX|FreeMiNT)
- has lslpp && ((packages+=$(lslpp -J -l -q | grep -cv '^#')))
- has rpm && tot rpm -qa
- ;;
- Windows)
- case $kernel_name in
- CYGWIN*) has cygcheck && tot cygcheck -cd ;;
- MSYS*) has pacman && tot pacman -Qq --color never ;;
- esac
- # Scoop environment throws errors if `tot scoop list` is used
- has scoop && dir ~/scoop/apps/* && ((packages-=1))
- # Count chocolatey packages.
- [[ -d /cygdrive/c/ProgramData/chocolatey/lib ]] && \
- dir /cygdrive/c/ProgramData/chocolatey/lib/*
- ;;
- Haiku)
- has pkgman && dir /boot/system/package-links/*
- packages=${packages/pkgman/depot}
- ;;
- IRIX)
- manager=swpkg
- tot versions -b && ((packages-=3))
- ;;
- esac
- if ((packages == 0)); then
- unset packages
- elif [[ $package_managers == on ]]; then
- printf -v packages '%s, ' "${managers[@]}"
- packages=${packages%,*}
- elif [[ $package_managers == tiny ]]; then
- packages+=" (${manager_string%,*})"
- fi
- packages=${packages/pacman-key/pacman}
- }
- get_shell() {
- case $shell_path in
- on) shell="$SHELL " ;;
- off) shell="${SHELL##*/} " ;;
- esac
- [[ $shell_version != on ]] && return
- case ${shell_name:=${SHELL##*/}} in
- bash)
- [[ $BASH_VERSION ]] ||
- BASH_VERSION=$("$SHELL" -c "printf %s \"\$BASH_VERSION\"")
- shell+=${BASH_VERSION/-*}
- ;;
- sh|ash|dash|es) ;;
- *ksh)
- shell+=$("$SHELL" -c "printf %s \"\$KSH_VERSION\"")
- shell=${shell/ * KSH}
- shell=${shell/version}
- ;;
- osh)
- if [[ $OIL_VERSION ]]; then
- shell+=$OIL_VERSION
- else
- shell+=$("$SHELL" -c "printf %s \"\$OIL_VERSION\"")
- fi
- ;;
- tcsh)
- shell+=$("$SHELL" -c "printf %s \$tcsh")
- ;;
- yash)
- shell+=$("$SHELL" --version 2>&1)
- shell=${shell/ $shell_name}
- shell=${shell/ Yet another shell}
- shell=${shell/Copyright*}
- ;;
- *)
- shell+=$("$SHELL" --version 2>&1)
- shell=${shell/ $shell_name}
- ;;
- esac
- # Remove unwanted info.
- shell=${shell/, version}
- shell=${shell/xonsh\//xonsh }
- shell=${shell/options*}
- shell=${shell/\(*\)}
- }
- get_de() {
- # If function was run, stop here.
- ((de_run == 1)) && return
- case $os in
- "Mac OS X"|"macOS") de=Aqua ;;
- Windows)
- case $distro in
- "Windows 8"*|"Windows 10"*) de="Modern UI/Metro" ;;
- *) de=Aero
- esac
- ;;
- FreeMiNT)
- freemint_wm=(/proc/*)
- case ${freemint_wm[*]} in
- *thing*) de=Thing ;;
- *jinnee*) de=Jinnee ;;
- *tera*) de=Teradesk ;;
- *neod*) de=NeoDesk ;;
- *zdesk*) de=zDesk ;;
- *mdesk*) de=mDesk ;;
- esac
- ;;
- *)
- ((wm_run != 1)) && get_wm
- # Temporary support for Regolith Linux
- if [[ $DESKTOP_SESSION == regolith ]]; then
- de=Regolith
- elif [[ $XDG_CURRENT_DESKTOP ]]; then
- de=${XDG_CURRENT_DESKTOP/X\-}
- de=${de/Budgie:GNOME/Budgie}
- de=${de/:Unity7:ubuntu}
- elif [[ $DESKTOP_SESSION ]]; then
- de=${DESKTOP_SESSION##*/}
- elif [[ $GNOME_DESKTOP_SESSION_ID ]]; then
- de=GNOME
- elif [[ $MATE_DESKTOP_SESSION_ID ]]; then
- de=MATE
- elif [[ $TDE_FULL_SESSION ]]; then
- de=Trinity
- fi
- # When a window manager is started from a display manager
- # the desktop variables are sometimes also set to the
- # window manager name. This checks to see if WM == DE
- # and discards the DE value.
- [[ $de == "$wm" ]] && { unset -v de; return; }
- ;;
- esac
- # Fallback to using xprop.
- [[ $DISPLAY && -z $de ]] && type -p xprop &>/dev/null && \
- de=$(xprop -root | awk '/KDE_SESSION_VERSION|^_MUFFIN|xfce4|xfce5/')
- # Format strings.
- case $de in
- KDE_SESSION_VERSION*) de=KDE${de/* = } ;;
- *xfce4*) de=Xfce4 ;;
- *xfce5*) de=Xfce5 ;;
- *xfce*) de=Xfce ;;
- *mate*) de=MATE ;;
- *GNOME*) de=GNOME ;;
- *MUFFIN*) de=Cinnamon ;;
- esac
- ((${KDE_SESSION_VERSION:-0} >= 4)) && de=${de/KDE/Plasma}
- if [[ $de_version == on && $de ]]; then
- case $de in
- Plasma*) de_ver=$(plasmashell --version) ;;
- MATE*) de_ver=$(mate-session --version) ;;
- Xfce*) de_ver=$(xfce4-session --version) ;;
- GNOME*) de_ver=$(gnome-shell --version) ;;
- Cinnamon*) de_ver=$(cinnamon --version) ;;
- Deepin*) de_ver=$(awk -F'=' '/Version/ {print $2}' /etc/deepin-version) ;;
- Budgie*) de_ver=$(budgie-desktop --version) ;;
- LXQt*) de_ver=$(lxqt-session --version) ;;
- Lumina*) de_ver=$(lumina-desktop --version 2>&1) ;;
- Trinity*) de_ver=$(tde-config --version) ;;
- Unity*) de_ver=$(unity --version) ;;
- esac
- de_ver=${de_ver/*TDE:}
- de_ver=${de_ver/tde-config*}
- de_ver=${de_ver/liblxqt*}
- de_ver=${de_ver/Copyright*}
- de_ver=${de_ver/)*}
- de_ver=${de_ver/* }
- de_ver=${de_ver//\"}
- de="$de $de_ver"
- fi
- de_run=1
- }
- get_wm() {
- # If function was run, stop here.
- ((wm_run == 1)) && return
- case $kernel_name in
- *OpenBSD*) ps_flags=(x -c) ;;
- *) ps_flags=(-e) ;;
- esac
- if [[ $WAYLAND_DISPLAY ]]; then
- wm=$(ps "${ps_flags[@]}" | grep -m 1 -o -F \
- -e arcan \
- -e asc \
- -e clayland \
- -e dwc \
- -e fireplace \
- -e gnome-shell \
- -e greenfield \
- -e grefsen \
- -e kwin \
- -e lipstick \
- -e maynard \
- -e mazecompositor \
- -e motorcar \
- -e orbital \
- -e orbment \
- -e perceptia \
- -e rustland \
- -e sway \
- -e ulubis \
- -e velox \
- -e wavy \
- -e way-cooler \
- -e wayfire \
- -e wayhouse \
- -e westeros \
- -e westford \
- -e weston)
- elif [[ $DISPLAY && $os != "Mac OS X" && $os != "macOS" && $os != FreeMiNT ]]; then
- type -p xprop &>/dev/null && {
- id=$(xprop -root -notype _NET_SUPPORTING_WM_CHECK)
- id=${id##* }
- wm=$(xprop -id "$id" -notype -len 100 -f _NET_WM_NAME 8t)
- wm=${wm/*WM_NAME = }
- wm=${wm/\"}
- wm=${wm/\"*}
- }
- # Fallback for non-EWMH WMs.
- [[ $wm ]] ||
- wm=$(ps "${ps_flags[@]}" | grep -m 1 -o \
- -e "[s]owm" \
- -e "[c]atwm" \
- -e "[f]vwm" \
- -e "[d]wm" \
- -e "[2]bwm" \
- -e "[m]onsterwm" \
- -e "[t]inywm" \
- -e "[x]11fs" \
- -e "[x]monad")
- else
- case $os in
- "Mac OS X"|"macOS")
- ps_line=$(ps -e | grep -o \
- -e "[S]pectacle" \
- -e "[A]methyst" \
- -e "[k]wm" \
- -e "[c]hun[k]wm" \
- -e "[y]abai" \
- -e "[R]ectangle")
- case $ps_line in
- *chunkwm*) wm=chunkwm ;;
- *kwm*) wm=Kwm ;;
- *yabai*) wm=yabai ;;
- *Amethyst*) wm=Amethyst ;;
- *Spectacle*) wm=Spectacle ;;
- *Rectangle*) wm=Rectangle ;;
- *) wm="Quartz Compositor" ;;
- esac
- ;;
- Windows)
- wm=$(tasklist | grep -m 1 -o -F \
- -e bugn \
- -e Windawesome \
- -e blackbox \
- -e emerge \
- -e litestep)
- [[ $wm == blackbox ]] && wm="bbLean (Blackbox)"
- wm=${wm:+$wm, }Explorer
- ;;
- FreeMiNT)
- freemint_wm=(/proc/*)
- case ${freemint_wm[*]} in
- *xaaes* | *xaloader*) wm=XaAES ;;
- *myaes*) wm=MyAES ;;
- *naes*) wm=N.AES ;;
- geneva) wm=Geneva ;;
- *) wm="Atari AES" ;;
- esac
- ;;
- esac
- fi
- # Rename window managers to their proper values.
- [[ $wm == *WINDOWMAKER* ]] && wm=wmaker
- [[ $wm == *GNOME*Shell* ]] && wm=Mutter
- wm_run=1
- }
- get_wm_theme() {
- ((wm_run != 1)) && get_wm
- ((de_run != 1)) && get_de
- case $wm in
- E16)
- wm_theme=$(awk -F "= " '/theme.name/ {print $2}' "${HOME}/.e16/e_config--0.0.cfg")
- ;;
- Sawfish)
- wm_theme=$(awk -F '\\(quote|\\)' '/default-frame-style/ {print $(NF-4)}' \
- "$HOME/.sawfish/custom")
- ;;
- Cinnamon|Muffin|"Mutter (Muffin)")
- detheme=$(gsettings get org.cinnamon.theme name)
- wm_theme=$(gsettings get org.cinnamon.desktop.wm.preferences theme)
- wm_theme="$detheme ($wm_theme)"
- ;;
- Compiz|Mutter|Gala)
- if type -p gsettings >/dev/null; then
- wm_theme=$(gsettings get org.gnome.shell.extensions.user-theme name)
- [[ ${wm_theme//\'} ]] || \
- wm_theme=$(gsettings get org.gnome.desktop.wm.preferences theme)
- elif type -p gconftool-2 >/dev/null; then
- wm_theme=$(gconftool-2 -g /apps/metacity/general/theme)
- fi
- ;;
- Metacity*)
- if [[ $de == Deepin ]]; then
- wm_theme=$(gsettings get com.deepin.wrap.gnome.desktop.wm.preferences theme)
- elif [[ $de == MATE ]]; then
- wm_theme=$(gsettings get org.mate.Marco.general theme)
- else
- wm_theme=$(gconftool-2 -g /apps/metacity/general/theme)
- fi
- ;;
- E17|Enlightenment)
- if type -p eet >/dev/null; then
- wm_theme=$(eet -d "$HOME/.e/e/config/standard/e.cfg" config |\
- awk '/value \"file\" string.*.edj/ {print $4}')
- wm_theme=${wm_theme##*/}
- wm_theme=${wm_theme%.*}
- fi
- ;;
- Fluxbox)
- [[ -f $HOME/.fluxbox/init ]] &&
- wm_theme=$(awk -F "/" '/styleFile/ {print $NF}' "$HOME/.fluxbox/init")
- ;;
- IceWM*)
- [[ -f $HOME/.icewm/theme ]] &&
- wm_theme=$(awk -F "[\",/]" '!/#/ {print $2}' "$HOME/.icewm/theme")
- ;;
- Openbox)
- case $de in
- LXDE*) ob_file=lxde-rc ;;
- LXQt*) ob_file=lxqt-rc ;;
- *) ob_file=rc ;;
- esac
- ob_file=$XDG_CONFIG_HOME/openbox/$ob_file.xml
- [[ -f $ob_file ]] &&
- wm_theme=$(awk '/<theme>/ {while (getline n) {if (match(n, /<name>/))
- {l=n; exit}}} END {split(l, a, "[<>]"); print a[3]}' "$ob_file")
- ;;
- PekWM)
- [[ -f $HOME/.pekwm/config ]] &&
- wm_theme=$(awk -F "/" '/Theme/{gsub(/\"/,""); print $NF}' "$HOME/.pekwm/config")
- ;;
- Xfwm4)
- [[ -f $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml ]] &&
- wm_theme=$(xfconf-query -c xfwm4 -p /general/theme)
- ;;
- KWin*)
- kde_config_dir
- kwinrc=$kde_config_dir/kwinrc
- kdebugrc=$kde_config_dir/kdebugrc
- if [[ -f $kwinrc ]]; then
- wm_theme=$(awk '/theme=/ {
- gsub(/theme=.*qml_|theme=.*svg__/,"",$0);
- print $0;
- exit
- }' "$kwinrc")
- [[ "$wm_theme" ]] ||
- wm_theme=$(awk '/library=org.kde/ {
- gsub(/library=org.kde./,"",$0);
- print $0;
- exit
- }' "$kwinrc")
- [[ $wm_theme ]] ||
- wm_theme=$(awk '/PluginLib=kwin3_/ {
- gsub(/PluginLib=kwin3_/,"",$0);
- print $0;
- exit
- }' "$kwinrc")
- elif [[ -f $kdebugrc ]]; then
- wm_theme=$(awk '/(decoration)/ {gsub(/\[/,"",$1); print $1; exit}' "$kdebugrc")
- fi
- wm_theme=${wm_theme/theme=}
- ;;
- "Quartz Compositor")
- global_preferences=$HOME/Library/Preferences/.GlobalPreferences.plist
- wm_theme=$(PlistBuddy -c "Print AppleInterfaceStyle" "$global_preferences")
- wm_theme_color=$(PlistBuddy -c "Print AppleAccentColor" "$global_preferences")
- [[ "$wm_theme" ]] ||
- wm_theme=Light
- case $wm_theme_color in
- -1) wm_theme_color=Graphite ;;
- 0) wm_theme_color=Red ;;
- 1) wm_theme_color=Orange ;;
- 2) wm_theme_color=Yellow ;;
- 3) wm_theme_color=Green ;;
- 5) wm_theme_color=Purple ;;
- 6) wm_theme_color=Pink ;;
- *) wm_theme_color=Blue ;;
- esac
- wm_theme="$wm_theme_color ($wm_theme)"
- ;;
- *Explorer)
- path=/proc/registry/HKEY_CURRENT_USER/Software/Microsoft
- path+=/Windows/CurrentVersion/Themes/CurrentTheme
- wm_theme=$(head -n1 "$path")
- wm_theme=${wm_theme##*\\}
- wm_theme=${wm_theme%.*}
- ;;
- Blackbox|bbLean*)
- path=$(wmic process get ExecutablePath | grep -F "blackbox")
- path=${path//\\/\/}
- wm_theme=$(grep '^session\.styleFile:' "${path/\.exe/.rc}")
- wm_theme=${wm_theme/session\.styleFile: }
- wm_theme=${wm_theme##*\\}
- wm_theme=${wm_theme%.*}
- ;;
- esac
- wm_theme=$(trim_quotes "$wm_theme")
- }
- get_cpu() {
- case $os in
- "Linux" | "MINIX" | "Windows")
- # Get CPU name.
- cpu_file="/proc/cpuinfo"
- case $kernel_machine in
- "frv" | "hppa" | "m68k" | "openrisc" | "or"* | "powerpc" | "ppc"* | "sparc"*)
- cpu="$(awk -F':' '/^cpu\t|^CPU/ {printf $2; exit}' "$cpu_file")"
- ;;
- "s390"*)
- cpu="$(awk -F'=' '/machine/ {print $4; exit}' "$cpu_file")"
- ;;
- "ia64" | "m32r")
- cpu="$(awk -F':' '/model/ {print $2; exit}' "$cpu_file")"
- [[ -z "$cpu" ]] && cpu="$(awk -F':' '/family/ {printf $2; exit}' "$cpu_file")"
- ;;
- *)
- cpu="$(awk -F '\\s*: | @' \
- '/model name|Hardware|Processor|^cpu model|chip type|^cpu type/ {
- cpu=$2; if ($1 == "Hardware") exit } END { print cpu }' "$cpu_file")"
- ;;
- esac
- speed_dir="/sys/devices/system/cpu/cpu0/cpufreq"
- # Select the right temperature file.
- for temp_dir in /sys/class/hwmon/*; do
- [[ "$(< "${temp_dir}/name")" =~ (coretemp|fam15h_power|k10temp) ]] && {
- temp_dirs=("$temp_dir"/temp*_input)
- temp_dir=${temp_dirs[0]}
- break
- }
- done
- # Get CPU speed.
- if [[ -d "$speed_dir" ]]; then
- # Fallback to bios_limit if $speed_type fails.
- speed="$(< "${speed_dir}/${speed_type}")" ||\
- speed="$(< "${speed_dir}/bios_limit")" ||\
- speed="$(< "${speed_dir}/scaling_max_freq")" ||\
- speed="$(< "${speed_dir}/cpuinfo_max_freq")"
- speed="$((speed / 1000))"
- else
- speed="$(awk -F ': |\\.' '/cpu MHz|^clock/ {printf $2; exit}' "$cpu_file")"
- speed="${speed/MHz}"
- fi
- # Get CPU temp.
- [[ -f "$temp_dir" ]] && deg="$(($(< "$temp_dir") * 100 / 10000))"
- # Get CPU cores.
- case $cpu_cores in
- "logical" | "on") cores="$(grep -c "^processor" "$cpu_file")" ;;
- "physical") cores="$(awk '/^core id/&&!a[$0]++{++i} END {print i}' "$cpu_file")" ;;
- esac
- ;;
- "Mac OS X"|"macOS")
- cpu="$(sysctl -n machdep.cpu.brand_string)"
- # Get CPU cores.
- case $cpu_cores in
- "logical" | "on") cores="$(sysctl -n hw.logicalcpu_max)" ;;
- "physical") cores="$(sysctl -n hw.physicalcpu_max)" ;;
- esac
- ;;
- "iPhone OS")
- case $kernel_machine in
- "iPhone1,"[1-2] | "iPod1,1"): "Samsung S5L8900 (1) @ 412MHz" ;;
- "iPhone2,1"): "Samsung S5PC100 (1) @ 600MHz" ;;
- "iPhone3,"[1-3] | "iPod4,1"): "Apple A4 (1) @ 800MHz" ;;
- "iPhone4,1" | "iPod5,1"): "Apple A5 (2) @ 800MHz" ;;
- "iPhone5,"[1-4]): "Apple A6 (2) @ 1.3GHz" ;;
- "iPhone6,"[1-2]): "Apple A7 (2) @ 1.3GHz" ;;
- "iPhone7,"[1-2]): "Apple A8 (2) @ 1.4GHz" ;;
- "iPhone8,"[1-4] | "iPad6,1"[12]): "Apple A9 (2) @ 1.85GHz" ;;
- "iPhone9,"[1-4] | "iPad7,"[5-6] | "iPad7,1"[1-2]):
- "Apple A10 Fusion (4) @ 2.34GHz"
- ;;
- "iPhone10,"[1-6]): "Apple A11 Bionic (6) @ 2.39GHz" ;;
- "iPhone11,"[2468] | "iPad11,"[1-4]): "Apple A12 Bionic (6) @ 2.49GHz" ;;
- "iPhone12,"[1358]): "Apple A13 Bionic (6) @ 2.65GHz" ;;
- "iPod2,1"): "Samsung S5L8720 (1) @ 533MHz" ;;
- "iPod3,1"): "Samsung S5L8922 (1) @ 600MHz" ;;
- "iPod7,1"): "Apple A8 (2) @ 1.1GHz" ;;
- "iPad1,1"): "Apple A4 (1) @ 1GHz" ;;
- "iPad2,"[1-7]): "Apple A5 (2) @ 1GHz" ;;
- "iPad3,"[1-3]): "Apple A5X (2) @ 1GHz" ;;
- "iPad3,"[4-6]): "Apple A6X (2) @ 1.4GHz" ;;
- "iPad4,"[1-3]): "Apple A7 (2) @ 1.4GHz" ;;
- "iPad4,"[4-9]): "Apple A7 (2) @ 1.4GHz" ;;
- "iPad5,"[1-2]): "Apple A8 (2) @ 1.5GHz" ;;
- "iPad5,"[3-4]): "Apple A8X (3) @ 1.5GHz" ;;
- "iPad6,"[3-4]): "Apple A9X (2) @ 2.16GHz" ;;
- "iPad6,"[7-8]): "Apple A9X (2) @ 2.26GHz" ;;
- "iPad7,"[1-4]): "Apple A10X Fusion (6) @ 2.39GHz" ;;
- "iPad8,"[1-8]): "Apple A12X Bionic (8) @ 2.49GHz" ;;
- "iPad8,9" | "iPad8,1"[0-2]): "Apple A12Z Bionic (8) @ 2.49GHz" ;;
- esac
- cpu="$_"
- ;;
- "BSD")
- # Get CPU name.
- cpu="$(sysctl -n hw.model)"
- cpu="${cpu/[0-9]\.*}"
- cpu="${cpu/ @*}"
- # Get CPU speed.
- speed="$(sysctl -n hw.cpuspeed)"
- [[ -z "$speed" ]] && speed="$(sysctl -n hw.clockrate)"
- # Get CPU cores.
- cores="$(sysctl -n hw.ncpu)"
- # Get CPU temp.
- case $kernel_name in
- "FreeBSD"* | "DragonFly"* | "NetBSD"*)
- deg="$(sysctl -n dev.cpu.0.temperature)"
- deg="${deg/C}"
- ;;
- "OpenBSD"* | "Bitrig"*)
- deg="$(sysctl hw.sensors | \
- awk -F '=| degC' '/lm0.temp|cpu0.temp/ {print $2; exit}')"
- deg="${deg/00/0}"
- ;;
- esac
- ;;
- "Solaris")
- # Get CPU name.
- cpu="$(psrinfo -pv)"
- cpu="${cpu//*$'\n'}"
- cpu="${cpu/[0-9]\.*}"
- cpu="${cpu/ @*}"
- cpu="${cpu/\(portid*}"
- # Get CPU speed.
- speed="$(psrinfo -v | awk '/operates at/ {print $6; exit}')"
- # Get CPU cores.
- case $cpu_cores in
- "logical" | "on") cores="$(kstat -m cpu_info | grep -c -F "chip_id")" ;;
- "physical") cores="$(psrinfo -p)" ;;
- esac
- ;;
- "Haiku")
- # Get CPU name.
- cpu="$(sysinfo -cpu | awk -F '\\"' '/CPU #0/ {print $2}')"
- cpu="${cpu/@*}"
- # Get CPU speed.
- speed="$(sysinfo -cpu | awk '/running at/ {print $NF; exit}')"
- speed="${speed/MHz}"
- # Get CPU cores.
- cores="$(sysinfo -cpu | grep -c -F 'CPU #')"
- ;;
- "AIX")
- # Get CPU name.
- cpu="$(lsattr -El proc0 -a type | awk '{printf $2}')"
- # Get CPU speed.
- speed="$(prtconf -s | awk -F':' '{printf $2}')"
- speed="${speed/MHz}"
- # Get CPU cores.
- case $cpu_cores in
- "logical" | "on")
- cores="$(lparstat -i | awk -F':' '/Online Virtual CPUs/ {printf $2}')"
- ;;
- "physical")
- cores="$(lparstat -i | awk -F':' '/Active Physical CPUs/ {printf $2}')"
- ;;
- esac
- ;;
- "IRIX")
- # Get CPU name.
- cpu="$(hinv -c processor | awk -F':' '/CPU:/ {printf $2}')"
- # Get CPU speed.
- speed="$(hinv -c processor | awk '/MHZ/ {printf $2}')"
- # Get CPU cores.
- cores="$(sysconf NPROC_ONLN)"
- ;;
- "FreeMiNT")
- cpu="$(awk -F':' '/CPU:/ {printf $2}' /kern/cpuinfo)"
- speed="$(awk -F '[:.M]' '/Clocking:/ {printf $2}' /kern/cpuinfo)"
- ;;
- esac
- # Remove un-needed patterns from cpu output.
- cpu="${cpu//(TM)}"
- cpu="${cpu//(tm)}"
- cpu="${cpu//(R)}"
- cpu="${cpu//(r)}"
- cpu="${cpu//CPU}"
- cpu="${cpu//Processor}"
- cpu="${cpu//Dual-Core}"
- cpu="${cpu//Quad-Core}"
- cpu="${cpu//Six-Core}"
- cpu="${cpu//Eight-Core}"
- cpu="${cpu//[1-9][0-9]-Core}"
- cpu="${cpu//[0-9]-Core}"
- cpu="${cpu//, * Compute Cores}"
- cpu="${cpu//Core / }"
- cpu="${cpu//(\"AuthenticAMD\"*)}"
- cpu="${cpu//with Radeon * Graphics}"
- cpu="${cpu//, altivec supported}"
- cpu="${cpu//FPU*}"
- cpu="${cpu//Chip Revision*}"
- cpu="${cpu//Technologies, Inc}"
- cpu="${cpu//Core2/Core 2}"
- # Trim spaces from core and speed output
- cores="${cores//[[:space:]]}"
- speed="${speed//[[:space:]]}"
- # Remove CPU brand from the output.
- if [[ "$cpu_brand" == "off" ]]; then
- cpu="${cpu/AMD }"
- cpu="${cpu/Intel }"
- cpu="${cpu/Core? Duo }"
- cpu="${cpu/Qualcomm }"
- fi
- # Add CPU cores to the output.
- [[ "$cpu_cores" != "off" && "$cores" ]] && \
- case $os in
- "Mac OS X"|"macOS") cpu="${cpu/@/(${cores}) @}" ;;
- *) cpu="$cpu ($cores)" ;;
- esac
- # Add CPU speed to the output.
- if [[ "$cpu_speed" != "off" && "$speed" ]]; then
- if (( speed < 1000 )); then
- cpu="$cpu @ ${speed}MHz"
- else
- [[ "$speed_shorthand" == "on" ]] && speed="$((speed / 100))"
- speed="${speed:0:1}.${speed:1}"
- cpu="$cpu @ ${speed}GHz"
- fi
- fi
- # Add CPU temp to the output.
- if [[ "$cpu_temp" != "off" && "$deg" ]]; then
- deg="${deg//.}"
- # Convert to Fahrenheit if enabled
- [[ "$cpu_temp" == "F" ]] && deg="$((deg * 90 / 50 + 320))"
- # Format the output
- deg="[${deg/${deg: -1}}.${deg: -1}°${cpu_temp:-C}]"
- cpu="$cpu $deg"
- fi
- }
- get_cpu_usage() {
- case $os in
- "Windows")
- cpu_usage="$(wmic cpu get loadpercentage)"
- cpu_usage="${cpu_usage/LoadPercentage}"
- cpu_usage="${cpu_usage//[[:space:]]}"
- ;;
- *)
- # Get CPU cores if unset.
- if [[ "$cpu_cores" != "logical" ]]; then
- case $os in
- "Linux" | "MINIX") cores="$(grep -c "^processor" /proc/cpuinfo)" ;;
- "Mac OS X"|"macOS") cores="$(sysctl -n hw.logicalcpu_max)" ;;
- "BSD") cores="$(sysctl -n hw.ncpu)" ;;
- "Solaris") cores="$(kstat -m cpu_info | grep -c -F "chip_id")" ;;
- "Haiku") cores="$(sysinfo -cpu | grep -c -F 'CPU #')" ;;
- "iPhone OS") cores="${cpu/*\(}"; cores="${cores/\)*}" ;;
- "IRIX") cores="$(sysconf NPROC_ONLN)" ;;
- "FreeMiNT") cores="$(sysctl -n hw.ncpu)" ;;
- "AIX")
- cores="$(lparstat -i | awk -F':' '/Online Virtual CPUs/ {printf $2}')"
- ;;
- esac
- fi
- cpu_usage="$(ps aux | awk 'BEGIN {sum=0} {sum+=$3}; END {print sum}')"
- cpu_usage="$((${cpu_usage/\.*} / ${cores:-1}))"
- ;;
- esac
- # Print the bar.
- case $cpu_display in
- "bar") cpu_usage="$(bar "$cpu_usage" 100)" ;;
- "infobar") cpu_usage="${cpu_usage}% $(bar "$cpu_usage" 100)" ;;
- "barinfo") cpu_usage="$(bar "$cpu_usage" 100)${info_color} ${cpu_usage}%" ;;
- *) cpu_usage="${cpu_usage}%" ;;
- esac
- }
- get_gpu() {
- case $os in
- "Linux")
- # Read GPUs into array.
- gpu_cmd="$(lspci -mm | awk -F '\"|\" \"|\\(' \
- '/"Display|"3D|"VGA/ {a[$0] = $1 " " $3 " " $4}
- END {for(i in a) {if(!seen[a[i]]++) print a[i]}}')"
- IFS=$'\n' read -d "" -ra gpus <<< "$gpu_cmd"
- # Remove duplicate Intel Graphics outputs.
- # This fixes cases where the outputs are both
- # Intel but not entirely identical.
- #
- # Checking the first two array elements should
- # be safe since there won't be 2 intel outputs if
- # there's a dedicated GPU in play.
- [[ "${gpus[0]}" == *Intel* && "${gpus[1]}" == *Intel* ]] && unset -v "gpus[0]"
- for gpu in "${gpus[@]}"; do
- # GPU shorthand tests.
- [[ "$gpu_type" == "dedicated" && "$gpu" == *Intel* ]] || \
- [[ "$gpu_type" == "integrated" && ! "$gpu" == *Intel* ]] && \
- { unset -v gpu; continue; }
- case $gpu in
- *"Advanced"*)
- brand="${gpu/*AMD*ATI*/AMD ATI}"
- brand="${brand:-${gpu/*AMD*/AMD}}"
- brand="${brand:-${gpu/*ATI*/ATi}}"
- gpu="${gpu/\[AMD\/ATI\] }"
- gpu="${gpu/\[AMD\] }"
- gpu="${gpu/OEM }"
- gpu="${gpu/Advanced Micro Devices, Inc.}"
- gpu="${gpu/*\[}"
- gpu="${gpu/\]*}"
- gpu="$brand $gpu"
- ;;
- *"NVIDIA"*)
- gpu="${gpu/*\[}"
- gpu="${gpu/\]*}"
- gpu="NVIDIA $gpu"
- ;;
- *"Intel"*)
- gpu="${gpu/*Intel/Intel}"
- gpu="${gpu/\(R\)}"
- gpu="${gpu/Corporation}"
- gpu="${gpu/ \(*}"
- gpu="${gpu/Integrated Graphics Controller}"
- gpu="${gpu/*Xeon*/Intel HD Graphics}"
- [[ -z "$(trim "$gpu")" ]] && gpu="Intel Integrated Graphics"
- ;;
- *"MCST"*)
- gpu="${gpu/*MCST*MGA2*/MCST MGA2}"
- ;;
- *"VirtualBox"*)
- gpu="VirtualBox Graphics Adapter"
- ;;
- *) continue ;;
- esac
- if [[ "$gpu_brand" == "off" ]]; then
- gpu="${gpu/AMD }"
- gpu="${gpu/NVIDIA }"
- gpu="${gpu/Intel }"
- fi
- prin "${subtitle:+${subtitle}${gpu_name}}" "$gpu"
- done
- return
- ;;
- "Mac OS X"|"macOS")
- if [[ -f "${cache_dir}/neofetch/gpu" ]]; then
- source "${cache_dir}/neofetch/gpu"
- else
- gpu="$(system_profiler SPDisplaysDataType |\
- awk -F': ' '/^\ *Chipset Model:/ {printf $2 ", "}')"
- gpu="${gpu//\/ \$}"
- gpu="${gpu%,*}"
- cache "gpu" "$gpu"
- fi
- ;;
- "iPhone OS")
- case $kernel_machine in
- "iPhone1,"[1-2]): "PowerVR MBX Lite 3D" ;;
- "iPhone2,1" | "iPhone3,"[1-3] | "iPod3,1" | "iPod4,1" | "iPad1,1"):
- "PowerVR SGX535"
- ;;
- "iPhone4,1" | "iPad2,"[1-7] | "iPod5,1"): "PowerVR SGX543MP2" ;;
- "iPhone5,"[1-4]): "PowerVR SGX543MP3" ;;
- "iPhone6,"[1-2] | "iPad4,"[1-9]): "PowerVR G6430" ;;
- "iPhone7,"[1-2] | "iPod7,1" | "iPad5,"[1-2]): "PowerVR GX6450" ;;
- "iPhone8,"[1-4] | "iPad6,1"[12]): "PowerVR GT7600" ;;
- "iPhone9,"[1-4] | "iPad7,"[5-6]): "PowerVR GT7600 Plus" ;;
- "iPhone10,"[1-6]): "Apple Designed GPU (A11)" ;;
- "iPhone11,"[2468]): "Apple Designed GPU (A12)" ;;
- "iPhone12,"[1358]): "Apple Designed GPU (A13)" ;;
- "iPad3,"[1-3]): "PowerVR SGX534MP4" ;;
- "iPad3,"[4-6]): "PowerVR SGX554MP4" ;;
- "iPad5,"[3-4]): "PowerVR GXA6850" ;;
- "iPad6,"[3-8]): "PowerVR 7XT" ;;
- "iPod1,1" | "iPod2,1")
- : "PowerVR MBX Lite"
- ;;
- esac
- gpu="$_"
- ;;
- "Windows")
- while read -r line; do
- prin "${subtitle:+${subtitle}${gpu_name}}" "$(trim "$line")"
- done < <(wmic path Win32_VideoController get caption)
- gpu=${gpu//Caption}
- ;;
- "Haiku")
- gpu="$(listdev | grep -A2 -F 'device Display controller' |\
- awk -F':' '/device beef/ {print $2}')"
- ;;
- *)
- case $kernel_name in
- "FreeBSD"* | "DragonFly"*)
- gpu="$(pciconf -lv | grep -B 4 -F "VGA" | grep -F "device")"
- gpu="${gpu/*device*= }"
- gpu="$(trim_quotes "$gpu")"
- ;;
- *)
- gpu="$(glxinfo | grep -F 'OpenGL renderer string')"
- gpu="${gpu/OpenGL renderer string: }"
- ;;
- esac
- ;;
- esac
- if [[ "$gpu_brand" == "off" ]]; then
- gpu="${gpu/AMD}"
- gpu="${gpu/NVIDIA}"
- gpu="${gpu/Intel}"
- fi
- }
- get_memory() {
- case $os in
- "Linux" | "Windows")
- # MemUsed = Memtotal + Shmem - MemFree - Buffers - Cached - SReclaimable
- # Source: https://github.com/KittyKatt/screenFetch/issues/386#issuecomment-249312716
- while IFS=":" read -r a b; do
- case $a in
- "MemTotal") ((mem_used+=${b/kB})); mem_total="${b/kB}" ;;
- "Shmem") ((mem_used+=${b/kB})) ;;
- "MemFree" | "Buffers" | "Cached" | "SReclaimable")
- mem_used="$((mem_used-=${b/kB}))"
- ;;
- esac
- done < /proc/meminfo
- mem_used="$((mem_used / 1024))"
- mem_total="$((mem_total / 1024))"
- ;;
- "Mac OS X" | "macOS" | "iPhone OS")
- mem_total="$(($(sysctl -n hw.memsize) / 1024 / 1024))"
- mem_wired="$(vm_stat | awk '/ wired/ { print $4 }')"
- mem_active="$(vm_stat | awk '/ active/ { printf $3 }')"
- mem_compressed="$(vm_stat | awk '/ occupied/ { printf $5 }')"
- mem_compressed="${mem_compressed:-0}"
- mem_used="$(((${mem_wired//.} + ${mem_active//.} + ${mem_compressed//.}) * 4 / 1024))"
- ;;
- "BSD" | "MINIX")
- # Mem total.
- case $kernel_name in
- "NetBSD"*) mem_total="$(($(sysctl -n hw.physmem64) / 1024 / 1024))" ;;
- *) mem_total="$(($(sysctl -n hw.physmem) / 1024 / 1024))" ;;
- esac
- # Mem free.
- case $kernel_name in
- "NetBSD"*)
- mem_free="$(($(awk -F ':|kB' '/MemFree:/ {printf $2}' /proc/meminfo) / 1024))"
- ;;
- "FreeBSD"* | "DragonFly"*)
- hw_pagesize="$(sysctl -n hw.pagesize)"
- mem_inactive="$(($(sysctl -n vm.stats.vm.v_inactive_count) * hw_pagesize))"
- mem_unused="$(($(sysctl -n vm.stats.vm.v_free_count) * hw_pagesize))"
- mem_cache="$(($(sysctl -n vm.stats.vm.v_cache_count) * hw_pagesize))"
- mem_free="$(((mem_inactive + mem_unused + mem_cache) / 1024 / 1024))"
- ;;
- "MINIX")
- mem_free="$(top -d 1 | awk -F ',' '/^Memory:/ {print $2}')"
- mem_free="${mem_free/M Free}"
- ;;
- "OpenBSD"*) ;;
- *) mem_free="$(($(vmstat | awk 'END {printf $5}') / 1024))" ;;
- esac
- # Mem used.
- case $kernel_name in
- "OpenBSD"*)
- mem_used="$(vmstat | awk 'END {printf $3}')"
- mem_used="${mem_used/M}"
- ;;
- *) mem_used="$((mem_total - mem_free))" ;;
- esac
- ;;
- "Solaris" | "AIX")
- hw_pagesize="$(pagesize)"
- case $os in
- "Solaris")
- pages_total="$(kstat -p unix:0:system_pages:pagestotal | awk '{print $2}')"
- pages_free="$(kstat -p unix:0:system_pages:pagesfree | awk '{print $2}')"
- ;;
- "AIX")
- IFS=$'\n'"| " read -d "" -ra mem_stat <<< "$(svmon -G -O unit=page)"
- pages_total="${mem_stat[11]}"
- pages_free="${mem_stat[16]}"
- ;;
- esac
- mem_total="$((pages_total * hw_pagesize / 1024 / 1024))"
- mem_free="$((pages_free * hw_pagesize / 1024 / 1024))"
- mem_used="$((mem_total - mem_free))"
- ;;
- "Haiku")
- mem_total="$(($(sysinfo -mem | awk -F '\\/ |)' '{print $2; exit}') / 1024 / 1024))"
- mem_used="$(sysinfo -mem | awk -F '\\/|)' '{print $2; exit}')"
- mem_used="$((${mem_used/max} / 1024 / 1024))"
- ;;
- "IRIX")
- IFS=$'\n' read -d "" -ra mem_cmd <<< "$(pmem)"
- IFS=" " read -ra mem_stat <<< "${mem_cmd[0]}"
- mem_total="$((mem_stat[3] / 1024))"
- mem_free="$((mem_stat[5] / 1024))"
- mem_used="$((mem_total - mem_free))"
- ;;
- "FreeMiNT")
- mem="$(awk -F ':|kB' '/MemTotal:|MemFree:/ {printf $2, " "}' /kern/meminfo)"
- mem_free="${mem/* }"
- mem_total="${mem/$mem_free}"
- mem_used="$((mem_total - mem_free))"
- mem_total="$((mem_total / 1024))"
- mem_used="$((mem_used / 1024))"
- ;;
- esac
- [[ "$memory_percent" == "on" ]] && ((mem_perc=mem_used * 100 / mem_total))
- case $memory_unit in
- gib)
- mem_used=$(awk '{printf "%.2f", $1 / $2}' <<< "$mem_used 1024")
- mem_total=$(awk '{printf "%.2f", $1 / $2}' <<< "$mem_total 1024")
- mem_label=GiB
- ;;
- kib)
- mem_used=$((mem_used * 1024))
- mem_total=$((mem_total * 1024))
- mem_label=KiB
- ;;
- esac
- memory="${mem_used}${mem_label:-MiB} / ${mem_total}${mem_label:-MiB} ${mem_perc:+(${mem_perc}%)}"
- # Bars.
- case $memory_display in
- "bar") memory="$(bar "${mem_used}" "${mem_total}")" ;;
- "infobar") memory="${memory} $(bar "${mem_used}" "${mem_total}")" ;;
- "barinfo") memory="$(bar "${mem_used}" "${mem_total}")${info_color} ${memory}" ;;
- esac
- }
- get_song() {
- players=(
- "amarok"
- "audacious"
- "banshee"
- "bluemindo"
- "clementine"
- "cmus"
- "deadbeef"
- "deepin-music"
- "dragon"
- "elisa"
- "exaile"
- "gnome-music"
- "gmusicbrowser"
- "gogglesmm"
- "guayadeque"
- "io.elementary.music"
- "iTunes"
- "juk"
- "lollypop"
- "mocp"
- "mopidy"
- "mpd"
- "muine"
- "netease-cloud-music"
- "olivia"
- "plasma-browser-integration"
- "playerctl"
- "pogo"
- "pragha"
- "qmmp"
- "quodlibet"
- "rhythmbox"
- "sayonara"
- "smplayer"
- "spotify"
- "Spotify"
- "strawberry"
- "tauonmb"
- "tomahawk"
- "vlc"
- "xmms2d"
- "xnoise"
- "yarock"
- )
- printf -v players "|%s" "${players[@]}"
- player="$(ps aux | awk -v pattern="(${players:1})" \
- '!/ awk / && !/iTunesHelper/ && match($0,pattern){print substr($0,RSTART,RLENGTH); exit}')"
- [[ "$music_player" && "$music_player" != "auto" ]] && player="$music_player"
- get_song_dbus() {
- # Multiple players use an almost identical dbus command to get the information.
- # This function saves us using the same command throughout the function.
- song="$(\
- dbus-send --print-reply --dest=org.mpris.MediaPlayer2."${1}" /org/mpris/MediaPlayer2 \
- org.freedesktop.DBus.Properties.Get string:'org.mpris.MediaPlayer2.Player' \
- string:'Metadata' |\
- awk -F '"' 'BEGIN {RS=" entry"}; /"xesam:artist"/ {a = $4} /"xesam:album"/ {b = $4}
- /"xesam:title"/ {t = $4} END {print a " \n" b " \n" t}'
- )"
- }
- case ${player/*\/} in
- "mocp"*) song="$(mocp -Q '%artist \n%album \n%song')" ;;
- "deadbeef"*) song="$(deadbeef --nowplaying-tf '%artist% \\n%album% \\n%title%')" ;;
- "qmmp"*) song="$(qmmp --nowplaying '%p \n%a \n%t')" ;;
- "gnome-music"*) get_song_dbus "GnomeMusic" ;;
- "lollypop"*) get_song_dbus "Lollypop" ;;
- "clementine"*) get_song_dbus "clementine" ;;
- "juk"*) get_song_dbus "juk" ;;
- "bluemindo"*) get_song_dbus "Bluemindo" ;;
- "guayadeque"*) get_song_dbus "guayadeque" ;;
- "yarock"*) get_song_dbus "yarock" ;;
- "deepin-music"*) get_song_dbus "DeepinMusic" ;;
- "tomahawk"*) get_song_dbus "tomahawk" ;;
- "elisa"*) get_song_dbus "elisa" ;;
- "sayonara"*) get_song_dbus "sayonara" ;;
- "audacious"*) get_song_dbus "audacious" ;;
- "vlc"*) get_song_dbus "vlc" ;;
- "gmusicbrowser"*) get_song_dbus "gmusicbrowser" ;;
- "pragha"*) get_song_dbus "pragha" ;;
- "amarok"*) get_song_dbus "amarok" ;;
- "dragon"*) get_song_dbus "dragonplayer" ;;
- "smplayer"*) get_song_dbus "smplayer" ;;
- "rhythmbox"*) get_song_dbus "rhythmbox" ;;
- "strawberry"*) get_song_dbus "strawberry" ;;
- "gogglesmm"*) get_song_dbus "gogglesmm" ;;
- "xnoise"*) get_song_dbus "xnoise" ;;
- "tauonmb"*) get_song_dbus "tauon" ;;
- "olivia"*) get_song_dbus "olivia" ;;
- "netease-cloud-music"*) get_song_dbus "netease-cloud-music" ;;
- "plasma-browser-integration"*) get_song_dbus "plasma-browser-integration" ;;
- "io.elementary.music"*) get_song_dbus "Music" ;;
- "mpd"* | "mopidy"*)
- song="$(mpc -f '%artist% \n%album% \n%title%' current "${mpc_args[@]}")"
- ;;
- "xmms2d"*)
- song="$(xmms2 current -f "\${artist}"$' \n'"\${album}"$' \n'"\${title}")"
- ;;
- "cmus"*)
- # NOTE: cmus >= 2.8.0 supports mpris2
- song="$(cmus-remote -Q | awk '/tag artist/ {$1=$2=""; a=$0}
- /tag album / {$1=$2=""; b=$0}
- /tag title/ {$1=$2=""; t=$0}
- END {print a " \n" b " \n" t}')"
- ;;
- "spotify"*)
- case $os in
- "Linux") get_song_dbus "spotify" ;;
- "Mac OS X"|"macOS")
- song="$(osascript -e 'tell application "Spotify" to artist of current track as¬
- string & "\n" & album of current track as¬
- string & "\n" & name of current track as string')"
- ;;
- esac
- ;;
- "itunes"*)
- song="$(osascript -e 'tell application "iTunes" to artist of current track as¬
- string & "\n" & album of current track as¬
- string & "\n" & name of current track as string')"
- ;;
- "banshee"*)
- song="$(banshee --query-artist --query-album --query-title |\
- awk -F':' '/^artist/ {a=$2} /^album/ {b=$2} /^title/ {t=$2}
- END {print a " \n" b " \n"t}')"
- ;;
- "exaile"*)
- # NOTE: Exaile >= 4.0.0 will support mpris2.
- song="$(dbus-send --print-reply --dest=org.exaile.Exaile \
- /org/exaile/Exaile org.exaile.Exaile.Query |
- awk -F ':' '{sub(",[^,]*$", "", $3); t=$3;
- sub(",[^,]*$", "", $4); a=$4;
- sub(",[^,]*$", "", $5); b=$5}
- END {print a " \n" b " \n" t}')"
- ;;
- "muine"*)
- song="$(dbus-send --print-reply --dest=org.gnome.Muine /org/gnome/Muine/Player \
- org.gnome.Muine.Player.GetCurrentSong |
- awk -F':' '/^artist/ {a=$2} /^album/ {b=$2} /^title/ {t=$2}
- END {print a " \n" b " \n" t}')"
- ;;
- "quodlibet"*)
- song="$(dbus-send --print-reply --dest=net.sacredchao.QuodLibet \
- /net/sacredchao/QuodLibet net.sacredchao.QuodLibet.CurrentSong |\
- awk -F'"' 'BEGIN {RS=" entry"}; /"artist"/ {a=$4} /"album"/ {b=$4}
- /"title"/ {t=$4} END {print a " \n" b " \n" t}')"
- ;;
- "pogo"*)
- song="$(dbus-send --print-reply --dest=org.mpris.pogo /Player \
- org.freedesktop.MediaPlayer.GetMetadata |
- awk -F'"' 'BEGIN {RS=" entry"}; /"artist"/ {a=$4} /"album"/ {b=$4}
- /"title"/ {t=$4} END {print a " \n" b " \n" t}')"
- ;;
- "playerctl"*)
- song="$(playerctl metadata --format '{{ artist }} \n{{ album }} \n{{ title }}')"
- ;;
- *) mpc &>/dev/null && song="$(mpc -f '%artist% \n%album% \n%title%' current)" || return ;;
- esac
- IFS=$'\n' read -d "" -r artist album title <<< "${song//'\n'/$'\n'}"
- # Make sure empty tags are truly empty.
- artist="$(trim "$artist")"
- album="$(trim "$album")"
- title="$(trim "$title")"
- # Set default values if no tags were found.
- : "${artist:=Unknown Artist}" "${album:=Unknown Album}" "${title:=Unknown Song}"
- # Display Artist, Album and Title on separate lines.
- if [[ "$song_shorthand" == "on" ]]; then
- prin "Artist" "$artist"
- prin "Album" "$album"
- prin "Song" "$title"
- else
- song="${song_format/\%artist\%/$artist}"
- song="${song/\%album\%/$album}"
- song="${song/\%title\%/$title}"
- fi
- }
- get_resolution() {
- case $os in
- "Mac OS X"|"macOS")
- if type -p screenresolution >/dev/null; then
- resolution="$(screenresolution get 2>&1 | awk '/Display/ {printf $6 "Hz, "}')"
- resolution="${resolution//x??@/ @ }"
- else
- resolution="$(system_profiler SPDisplaysDataType |\
- awk '/Resolution:/ {printf $2"x"$4" @ "$6"Hz, "}')"
- fi
- if [[ -e "/Library/Preferences/com.apple.windowserver.plist" ]]; then
- scale_factor="$(PlistBuddy -c "Print DisplayAnyUserSets:0:0:Resolution" \
- /Library/Preferences/com.apple.windowserver.plist)"
- else
- scale_factor=""
- fi
- # If no refresh rate is empty.
- [[ "$resolution" == *"@ Hz"* ]] && \
- resolution="${resolution//@ Hz}"
- [[ "${scale_factor%.*}" == 2 ]] && \
- resolution="${resolution// @/@2x @}"
- if [[ "$refresh_rate" == "off" ]]; then
- resolution="${resolution// @ [0-9][0-9]Hz}"
- resolution="${resolution// @ [0-9][0-9][0-9]Hz}"
- fi
- [[ "$resolution" == *"0Hz"* ]] && \
- resolution="${resolution// @ 0Hz}"
- ;;
- "Windows")
- IFS=$'\n' read -d "" -ra sw \
- <<< "$(wmic path Win32_VideoController get CurrentHorizontalResolution)"
- IFS=$'\n' read -d "" -ra sh \
- <<< "$(wmic path Win32_VideoController get CurrentVerticalResolution)"
- sw=("${sw[@]//CurrentHorizontalResolution}")
- sh=("${sh[@]//CurrentVerticalResolution}")
- for ((mn = 0; mn < ${#sw[@]}; mn++)) {
- [[ ${sw[mn]//[[:space:]]} && ${sh[mn]//[[:space:]]} ]] &&
- resolution+="${sw[mn]//[[:space:]]}x${sh[mn]//[[:space:]]}, "
- }
- resolution=${resolution%,}
- ;;
- "Haiku")
- resolution="$(screenmode | awk -F ' |, ' 'END{printf $2 "x" $3 " @ " $6 $7}')"
- [[ "$refresh_rate" == "off" ]] && resolution="${resolution/ @*}"
- ;;
- "FreeMiNT")
- # Need to block X11 queries
- ;;
- *)
- if type -p xrandr >/dev/null && [[ $DISPLAY && -z $WAYLAND_DISPLAY ]]; then
- case $refresh_rate in
- "on")
- resolution="$(xrandr --nograb --current |\
- awk 'match($0,/[0-9]*\.[0-9]*\*/) {
- printf $1 " @ " substr($0,RSTART,RLENGTH) "Hz, "}')"
- ;;
- "off")
- resolution="$(xrandr --nograb --current |\
- awk -F 'connected |\\+|\\(' \
- '/ connected.*[0-9]+x[0-9]+\+/ && $2 {printf $2 ", "}')"
- resolution="${resolution/primary, }"
- resolution="${resolution/primary }"
- ;;
- esac
- resolution="${resolution//\*}"
- elif type -p xwininfo >/dev/null && [[ $DISPLAY && -z $WAYLAND_DISPLAY ]]; then
- read -r w h \
- <<< "$(xwininfo -root | awk -F':' '/Width|Height/ {printf $2}')"
- resolution="${w}x${h}"
- elif type -p xdpyinfo >/dev/null && [[ $DISPLAY && -z $WAYLAND_DISPLAY ]]; then
- resolution="$(xdpyinfo | awk '/dimensions:/ {printf $2}')"
- elif [[ -d /sys/class/drm ]]; then
- for dev in /sys/class/drm/*/modes; do
- read -r resolution _ < "$dev"
- [[ $resolution ]] && break
- done
- fi
- ;;
- esac
- resolution="${resolution%,*}"
- [[ -z "${resolution/x}" ]] && resolution=
- }
- get_style() {
- # Fix weird output when the function is run multiple times.
- unset gtk2_theme gtk3_theme theme path
- if [[ "$DISPLAY" && $os != "Mac OS X" && $os != "macOS" ]]; then
- # Get DE if user has disabled the function.
- ((de_run != 1)) && get_de
- # Remove version from '$de'.
- [[ $de_version == on ]] && de=${de/ *}
- # Check for DE Theme.
- case $de in
- "KDE"* | "Plasma"*)
- kde_config_dir
- if [[ -f "${kde_config_dir}/kdeglobals" ]]; then
- kde_config_file="${kde_config_dir}/kdeglobals"
- kde_theme="$(grep "^${kde}" "$kde_config_file")"
- kde_theme="${kde_theme/*=}"
- if [[ "$kde" == "font" ]]; then
- kde_font_size="${kde_theme#*,}"
- kde_font_size="${kde_font_size/,*}"
- kde_theme="${kde_theme/,*} ${kde_theme/*,} ${kde_font_size}"
- fi
- kde_theme="$kde_theme [$de], "
- else
- err "Theme: KDE config files not found, skipping."
- fi
- ;;
- *"Cinnamon"*)
- if type -p gsettings >/dev/null; then
- gtk3_theme="$(gsettings get org.cinnamon.desktop.interface "$gsettings")"
- gtk2_theme="$gtk3_theme"
- fi
- ;;
- "Gnome"* | "Unity"* | "Budgie"*)
- if type -p gsettings >/dev/null; then
- gtk3_theme="$(gsettings get org.gnome.desktop.interface "$gsettings")"
- gtk2_theme="$gtk3_theme"
- elif type -p gconftool-2 >/dev/null; then
- gtk2_theme="$(gconftool-2 -g /desktop/gnome/interface/"$gconf")"
- fi
- ;;
- "Mate"*)
- gtk3_theme="$(gsettings get org.mate.interface "$gsettings")"
- gtk2_theme="$gtk3_theme"
- ;;
- "Xfce"*)
- type -p xfconf-query >/dev/null && \
- gtk2_theme="$(xfconf-query -c xsettings -p "$xfconf")"
- ;;
- esac
- # Check for general GTK2 Theme.
- if [[ -z "$gtk2_theme" ]]; then
- if [[ -n "$GTK2_RC_FILES" ]]; then
- IFS=: read -ra rc_files <<< "$GTK2_RC_FILES"
- gtk2_theme="$(grep "^[^#]*${name}" "${rc_files[@]}")"
- elif [[ -f "${HOME}/.gtkrc-2.0" ]]; then
- gtk2_theme="$(grep "^[^#]*${name}" "${HOME}/.gtkrc-2.0")"
- elif [[ -f "/etc/gtk-2.0/gtkrc" ]]; then
- gtk2_theme="$(grep "^[^#]*${name}" /etc/gtk-2.0/gtkrc)"
- elif [[ -f "/usr/share/gtk-2.0/gtkrc" ]]; then
- gtk2_theme="$(grep "^[^#]*${name}" /usr/share/gtk-2.0/gtkrc)"
- fi
- gtk2_theme="${gtk2_theme/*${name}*=}"
- fi
- # Check for general GTK3 Theme.
- if [[ -z "$gtk3_theme" ]]; then
- if [[ -f "${XDG_CONFIG_HOME}/gtk-3.0/settings.ini" ]]; then
- gtk3_theme="$(grep "^[^#]*$name" "${XDG_CONFIG_HOME}/gtk-3.0/settings.ini")"
- elif type -p gsettings >/dev/null; then
- gtk3_theme="$(gsettings get org.gnome.desktop.interface "$gsettings")"
- elif [[ -f "/etc/gtk-3.0/settings.ini" ]]; then
- gtk3_theme="$(grep "^[^#]*$name" /etc/gtk-3.0/settings.ini)"
- elif [[ -f "/usr/share/gtk-3.0/settings.ini" ]]; then
- gtk3_theme="$(grep "^[^#]*$name" /usr/share/gtk-3.0/settings.ini)"
- fi
- gtk3_theme="${gtk3_theme/${name}*=}"
- fi
- # Trim whitespace.
- gtk2_theme="$(trim "$gtk2_theme")"
- gtk3_theme="$(trim "$gtk3_theme")"
- # Remove quotes.
- gtk2_theme="$(trim_quotes "$gtk2_theme")"
- gtk3_theme="$(trim_quotes "$gtk3_theme")"
- # Toggle visibility of GTK themes.
- [[ "$gtk2" == "off" ]] && unset gtk2_theme
- [[ "$gtk3" == "off" ]] && unset gtk3_theme
- # Format the string based on which themes exist.
- if [[ "$gtk2_theme" && "$gtk2_theme" == "$gtk3_theme" ]]; then
- gtk3_theme+=" [GTK2/3]"
- unset gtk2_theme
- elif [[ "$gtk2_theme" && "$gtk3_theme" ]]; then
- gtk2_theme+=" [GTK2], "
- gtk3_theme+=" [GTK3] "
- else
- [[ "$gtk2_theme" ]] && gtk2_theme+=" [GTK2] "
- [[ "$gtk3_theme" ]] && gtk3_theme+=" [GTK3] "
- fi
- # Final string.
- theme="${kde_theme}${gtk2_theme}${gtk3_theme}"
- theme="${theme%, }"
- # Make the output shorter by removing "[GTKX]" from the string.
- if [[ "$gtk_shorthand" == "on" ]]; then
- theme="${theme// '[GTK'[0-9]']'}"
- theme="${theme/ '[GTK2/3]'}"
- theme="${theme/ '[KDE]'}"
- theme="${theme/ '[Plasma]'}"
- fi
- fi
- }
- get_theme() {
- name="gtk-theme-name"
- gsettings="gtk-theme"
- gconf="gtk_theme"
- xfconf="/Net/ThemeName"
- kde="Name"
- get_style
- }
- get_icons() {
- name="gtk-icon-theme-name"
- gsettings="icon-theme"
- gconf="icon_theme"
- xfconf="/Net/IconThemeName"
- kde="Theme"
- get_style
- icons="$theme"
- }
- get_font() {
- name="gtk-font-name"
- gsettings="font-name"
- gconf="font_theme"
- xfconf="/Gtk/FontName"
- kde="font"
- get_style
- font="$theme"
- }
- get_term() {
- # If function was run, stop here.
- ((term_run == 1)) && return
- # Workaround for macOS systems that
- # don't support the block below.
- case $TERM_PROGRAM in
- "iTerm.app") term="iTerm2" ;;
- "Terminal.app") term="Apple Terminal" ;;
- "Hyper") term="HyperTerm" ;;
- *) term="${TERM_PROGRAM/\.app}" ;;
- esac
- # Most likely TosWin2 on FreeMiNT - quick check
- [[ "$TERM" == "tw52" || "$TERM" == "tw100" ]] && term="TosWin2"
- [[ "$SSH_CONNECTION" ]] && term="$SSH_TTY"
- [[ "$WT_SESSION" ]] && term="Windows Terminal"
- # Check $PPID for terminal emulator.
- while [[ -z "$term" ]]; do
- parent="$(get_ppid "$parent")"
- [[ -z "$parent" ]] && break
- name="$(get_process_name "$parent")"
- case ${name// } in
- "${SHELL/*\/}"|*"sh"|"screen"|"su"*) ;;
- "login"*|*"Login"*|"init"|"(init)")
- term="$(tty)"
- ;;
- "ruby"|"1"|"tmux"*|"systemd"|"sshd"*|"python"*|"USER"*"PID"*|"kdeinit"*|"launchd"*)
- break
- ;;
- "gnome-terminal-") term="gnome-terminal" ;;
- "urxvtd") term="urxvt" ;;
- *"nvim") term="Neovim Terminal" ;;
- *"NeoVimServer"*) term="VimR Terminal" ;;
- *)
- # Fix issues with long process names on Linux.
- [[ $os == Linux ]] && term=$(realpath "/proc/$parent/exe")
- term="${name##*/}"
- # Fix wrapper names in Nix.
- [[ $term == .*-wrapped ]] && {
- term="${term#.}"
- term="${term%-wrapped}"
- }
- ;;
- esac
- done
- # Log that the function was run.
- term_run=1
- }
- get_term_font() {
- ((term_run != 1)) && get_term
- case $term in
- "alacritty"*)
- shopt -s nullglob
- confs=({$XDG_CONFIG_HOME,$HOME}/{alacritty,}/{.,}alacritty.ym?)
- shopt -u nullglob
- [[ -f "${confs[0]}" ]] || return
- term_font="$(awk -F ':|#' '/normal:/ {getline; print}' "${confs[0]}")"
- term_font="${term_font/*family:}"
- term_font="${term_font/$'\n'*}"
- term_font="${term_font/\#*}"
- ;;
- "Apple_Terminal")
- term_font="$(osascript <<END
- tell application "Terminal" to font name of window frontmost
- END
- )"
- ;;
- "iTerm2")
- # Unfortunately the profile name is not unique, but it seems to be the only thing
- # that identifies an active profile. There is the "id of current session of current win-
- # dow" though, but that does not match to a guid in the plist.
- # So, be warned, collisions may occur!
- # See: https://groups.google.com/forum/#!topic/iterm2-discuss/0tO3xZ4Zlwg
- local current_profile_name profiles_count profile_name diff_font
- current_profile_name="$(osascript <<END
- tell application "iTerm2" to profile name \
- of current session of current window
- END
- )"
- # Warning: Dynamic profiles are not taken into account here!
- # https://www.iterm2.com/documentation-dynamic-profiles.html
- font_file="${HOME}/Library/Preferences/com.googlecode.iterm2.plist"
- # Count Guids in "New Bookmarks"; they should be unique
- profiles_count="$(PlistBuddy -c "Print ':New Bookmarks:'" "$font_file" | \
- grep -w -c "Guid")"
- for ((i=0; i<profiles_count; i++)); do
- profile_name="$(PlistBuddy -c "Print ':New Bookmarks:${i}:Name:'" "$font_file")"
- if [[ "$profile_name" == "$current_profile_name" ]]; then
- # "Normal Font"
- term_font="$(PlistBuddy -c "Print ':New Bookmarks:${i}:Normal Font:'" \
- "$font_file")"
- # Font for non-ascii characters
- # Only check for a different non-ascii font, if the user checked
- # the "use a different font for non-ascii text" switch.
- diff_font="$(PlistBuddy -c "Print ':New Bookmarks:${i}:Use Non-ASCII Font:'" \
- "$font_file")"
- if [[ "$diff_font" == "true" ]]; then
- non_ascii="$(PlistBuddy -c "Print ':New Bookmarks:${i}:Non Ascii Font:'" \
- "$font_file")"
- [[ "$term_font" != "$non_ascii" ]] && \
- term_font="$term_font (normal) / $non_ascii (non-ascii)"
- fi
- fi
- done
- ;;
- "deepin-terminal"*)
- term_font="$(awk -F '=' '/font=/ {a=$2} /font_size/ {b=$2} END {print a,b}' \
- "${XDG_CONFIG_HOME}/deepin/deepin-terminal/config.conf")"
- ;;
- "GNUstep_Terminal")
- term_font="$(awk -F '>|<' '/>TerminalFont</ {getline; f=$3}
- />TerminalFontSize</ {getline; s=$3} END {print f,s}' \
- "${HOME}/GNUstep/Defaults/Terminal.plist")"
- ;;
- "Hyper"*)
- term_font="$(awk -F':|,' '/fontFamily/ {print $2; exit}' "${HOME}/.hyper.js")"
- term_font="$(trim_quotes "$term_font")"
- ;;
- "kitty"*)
- kitty_config="$(kitty --debug-config)"
- [[ "$kitty_config" != *font_family* ]] && return
- term_font="$(awk '/^font_family|^font_size/ {$1="";gsub("^ *","",$0);print $0}' \
- <<< "$kitty_config")"
- ;;
- "konsole" | "yakuake")
- # Get Process ID of current konsole window / tab
- child="$(get_ppid "$$")"
- QT_BINDIR="$(qtpaths --binaries-dir)" && PATH+=":$QT_BINDIR"
- IFS=$'\n' read -d "" -ra konsole_instances \
- <<< "$(qdbus | awk '/org.kde.konsole/ {print $1}')"
- for i in "${konsole_instances[@]}"; do
- IFS=$'\n' read -d "" -ra konsole_sessions <<< "$(qdbus "$i" | grep -F '/Sessions/')"
- for session in "${konsole_sessions[@]}"; do
- if ((child == "$(qdbus "$i" "$session" processId)")); then
- profile="$(qdbus "$i" "$session" environment |\
- awk -F '=' '/KONSOLE_PROFILE_NAME/ {print $2}')"
- [[ $profile ]] || profile="$(qdbus "$i" "$session" profile)"
- break
- fi
- done
- [[ $profile ]] && break
- done
- [[ $profile ]] || return
- # We could have two profile files for the same profile name, take first match
- profile_filename="$(grep -l "Name=${profile}" "$HOME"/.local/share/konsole/*.profile)"
- profile_filename="${profile_filename/$'\n'*}"
- [[ $profile_filename ]] && \
- term_font="$(awk -F '=|,' '/Font=/ {print $2,$3}' "$profile_filename")"
- ;;
- "lxterminal"*)
- term_font="$(awk -F '=' '/fontname=/ {print $2; exit}' \
- "${XDG_CONFIG_HOME}/lxterminal/lxterminal.conf")"
- ;;
- "mate-terminal")
- # To get the actual config we have to create a temporarily file with the
- # --save-config option.
- mateterm_config="/tmp/mateterm.cfg"
- # Ensure /tmp exists and we do not overwrite anything.
- if [[ -d "/tmp" && ! -f "$mateterm_config" ]]; then
- mate-terminal --save-config="$mateterm_config"
- role="$(xprop -id "${WINDOWID}" WM_WINDOW_ROLE)"
- role="${role##* }"
- role="${role//\"}"
- profile="$(awk -F '=' -v r="$role" \
- '$0~r {
- getline;
- if(/Maximized/) getline;
- if(/Fullscreen/) getline;
- id=$2"]"
- } $0~id {if(id) {getline; print $2; exit}}' \
- "$mateterm_config")"
- rm -f "$mateterm_config"
- mate_get() {
- gsettings get org.mate.terminal.profile:/org/mate/terminal/profiles/"$1"/ "$2"
- }
- if [[ "$(mate_get "$profile" "use-system-font")" == "true" ]]; then
- term_font="$(gsettings get org.mate.interface monospace-font-name)"
- else
- term_font="$(mate_get "$profile" "font")"
- fi
- term_font="$(trim_quotes "$term_font")"
- fi
- ;;
- "mintty")
- term_font="$(awk -F '=' '!/^($|#)/ && /Font/ {printf $2; exit}' "${HOME}/.minttyrc")"
- ;;
- "pantheon"*)
- term_font="$(gsettings get org.pantheon.terminal.settings font)"
- [[ -z "${term_font//\'}" ]] && \
- term_font="$(gsettings get org.gnome.desktop.interface monospace-font-name)"
- term_font="$(trim_quotes "$term_font")"
- ;;
- "qterminal")
- term_font="$(awk -F '=' '/fontFamily=/ {a=$2} /fontSize=/ {b=$2} END {print a,b}' \
- "${XDG_CONFIG_HOME}/qterminal.org/qterminal.ini")"
- ;;
- "sakura"*)
- term_font="$(awk -F '=' '/^font=/ {print $2; exit}' \
- "${XDG_CONFIG_HOME}/sakura/sakura.conf")"
- ;;
- "st")
- term_font="$(ps -o command= -p "$parent" | grep -F -- "-f")"
- if [[ "$term_font" ]]; then
- term_font="${term_font/*-f/}"
- term_font="${term_font/ -*/}"
- else
- # On Linux we can get the exact path to the running binary through the procfs
- # (in case `st` is launched from outside of $PATH) on other systems we just
- # have to guess and assume `st` is invoked from somewhere in the users $PATH
- [[ -L "/proc/$parent/exe" ]] && binary="/proc/$parent/exe" || binary="$(type -p st)"
- # Grep the output of strings on the `st` binary for anything that looks vaguely
- # like a font definition. NOTE: There is a slight limitation in this approach.
- # Technically "Font Name" is a valid font. As it doesn't specify any font options
- # though it is hard to match it correctly amongst the rest of the noise.
- [[ -n "$binary" ]] && \
- term_font="$(strings "$binary" | grep -F -m 1 \
- -e "pixelsize=" \
- -e "size=" \
- -e "antialias=" \
- -e "autohint=")"
- fi
- term_font="${term_font/xft:}"
- term_font="${term_font/:*}"
- ;;
- "terminology")
- term_font="$(strings "${XDG_CONFIG_HOME}/terminology/config/standard/base.cfg" |\
- awk '/^font\.name$/{print a}{a=$0}')"
- term_font="${term_font/.pcf}"
- term_font="${term_font/:*}"
- ;;
- "termite")
- [[ -f "${XDG_CONFIG_HOME}/termite/config" ]] && \
- termite_config="${XDG_CONFIG_HOME}/termite/config"
- term_font="$(awk -F '= ' '/\[options\]/ {
- opt=1
- }
- /^\s*font/ {
- if(opt==1) a=$2;
- opt=0
- } END {print a}' "/etc/xdg/termite/config" \
- "$termite_config")"
- ;;
- urxvt|urxvtd|rxvt-unicode|xterm)
- xrdb=$(xrdb -query)
- term_font=$(grep -im 1 -e "^${term/d}"'\**\.*font:' -e '^\*font:' <<< "$xrdb")
- term_font=${term_font/*"*font:"}
- term_font=${term_font/*".font:"}
- term_font=${term_font/*"*.font:"}
- term_font=$(trim "$term_font")
- [[ -z $term_font && $term == xterm ]] && \
- term_font=$(grep '^XTerm.vt100.faceName' <<< "$xrdb")
- term_font=$(trim "${term_font/*"faceName:"}")
- # xft: isn't required at the beginning so we prepend it if it's missing
- [[ ${term_font:0:1} != '-' && ${term_font:0:4} != xft: ]] && \
- term_font=xft:$term_font
- # Xresources has two different font formats, this checks which
- # one is in use and formats it accordingly.
- case $term_font in
- *xft:*)
- term_font=${term_font/xft:}
- term_font=${term_font/:*}
- ;;
- -*)
- IFS=- read -r _ _ term_font _ <<< "$term_font"
- ;;
- esac
- ;;
- "xfce4-terminal")
- term_font="$(awk -F '=' '/^FontName/{a=$2}/^FontUseSystem=TRUE/{a=$0} END {print a}' \
- "${XDG_CONFIG_HOME}/xfce4/terminal/terminalrc")"
- [[ "$term_font" == "FontUseSystem=TRUE" ]] && \
- term_font="$(gsettings get org.gnome.desktop.interface monospace-font-name)"
- term_font="$(trim_quotes "$term_font")"
- # Default fallback font hardcoded in terminal-preferences.c
- [[ -z "$term_font" ]] && term_font="Monospace 12"
- ;;
- conemu-*)
- # Could have used `eval set -- "$ConEmuArgs"` instead for arg parsing.
- readarray -t ce_arg_list < <(xargs -n1 printf "%s\n" <<< "${ConEmuArgs-}")
- for ce_arg_idx in "${!ce_arg_list[@]}"; do
- # Search for "-LoadCfgFile" arg
- [[ "${ce_arg_list[$ce_arg_idx]}" == -LoadCfgFile ]] && {
- # Conf path is the next arg
- ce_conf=${ce_arg_list[++ce_arg_idx]}
- break
- }
- done
- # https://conemu.github.io/en/ConEmuXml.html#search-sequence
- for ce_conf in "$ce_conf" "${ConEmuDir-}\ConEmu.xml" "${ConEmuDir-}\.ConEmu.xml" \
- "${ConEmuBaseDir-}\ConEmu.xml" "${ConEmuBaseDir-}\.ConEmu.xml" \
- "$APPDATA\ConEmu.xml" "$APPDATA\.ConEmu.xml"; do
- # Search for first conf file available
- [[ -f "$ce_conf" ]] && {
- # Very basic XML parsing
- term_font="$(awk '/name="FontName"/ && match($0, /data="([^"]*)"/) {
- print substr($0, RSTART+6, RLENGTH-7)}' "$ce_conf")"
- break
- }
- done
- # Null-terminated contents in /proc/registry files triggers a Bash warning.
- [[ "$term_font" ]] || read -r term_font < \
- /proc/registry/HKEY_CURRENT_USER/Software/ConEmu/.Vanilla/FontName
- ;;
- esac
- }
- get_disk() {
- type -p df &>/dev/null ||
- { err "Disk requires 'df' to function. Install 'df' to get disk info."; return; }
- df_version=$(df --version 2>&1)
- case $df_version in
- *IMitv*) df_flags=(-P -g) ;; # AIX
- *befhikm*) df_flags=(-P -k) ;; # IRIX
- *hiklnP*) df_flags=(-h) ;; # OpenBSD
- *Tracker*) # Haiku
- err "Your version of df cannot be used due to the non-standard flags"
- return
- ;;
- *) df_flags=(-P -h) ;;
- esac
- # Create an array called 'disks' where each element is a separate line from
- # df's output. We then unset the first element which removes the column titles.
- IFS=$'\n' read -d "" -ra disks <<< "$(df "${df_flags[@]}" "${disk_show[@]:-/}")"
- unset "disks[0]"
- # Stop here if 'df' fails to print disk info.
- [[ ${disks[*]} ]] || {
- err "Disk: df failed to print the disks, make sure the disk_show array is set properly."
- return
- }
- for disk in "${disks[@]}"; do
- # Create a second array and make each element split at whitespace this time.
- IFS=" " read -ra disk_info <<< "$disk"
- disk_perc=${disk_info[-2]/\%}
- case $disk_percent in
- off) disk_perc=
- esac
- case $df_version in
- *befhikm*)
- disk="$((disk_info[-4]/1024/1024))G / $((disk_info[-5]/1024/1024))G"
- disk+="${disk_perc:+ ($disk_perc%)}"
- ;;
- *)
- disk="${disk_info[-4]/i} / ${disk_info[-5]/i}${disk_perc:+ ($disk_perc%)}"
- ;;
- esac
- case $disk_subtitle in
- name)
- disk_sub=${disk_info[*]::${#disk_info[@]}-5}
- ;;
- dir)
- disk_sub=${disk_info[-1]/*\/}
- disk_sub=${disk_sub:-${disk_info[-1]}}
- ;;
- none) ;;
- *)
- disk_sub=${disk_info[-1]}
- ;;
- esac
- case $disk_display in
- bar) disk="$(bar "$disk_perc" "100")" ;;
- infobar) disk+=" $(bar "$disk_perc" "100")" ;;
- barinfo) disk="$(bar "$disk_perc" "100")${info_color} $disk" ;;
- perc) disk="${disk_perc}% $(bar "$disk_perc" "100")" ;;
- esac
- # Append '(disk mount point)' to the subtitle.
- if [[ "$subtitle" ]]; then
- prin "$subtitle${disk_sub:+ ($disk_sub)}" "$disk"
- else
- prin "$disk_sub" "$disk"
- fi
- done
- }
- get_battery() {
- case $os in
- "Linux")
- # We use 'prin' here so that we can do multi battery support
- # with a single battery per line.
- for bat in "/sys/class/power_supply/"{BAT,axp288_fuel_gauge,CMB}*; do
- capacity="$(< "${bat}/capacity")"
- status="$(< "${bat}/status")"
- if [[ "$capacity" ]]; then
- battery="${capacity}% [${status}]"
- case $battery_display in
- "bar") battery="$(bar "$capacity" 100)" ;;
- "infobar") battery+=" $(bar "$capacity" 100)" ;;
- "barinfo") battery="$(bar "$capacity" 100)${info_color} ${battery}" ;;
- esac
- bat="${bat/*axp288_fuel_gauge}"
- prin "${subtitle:+${subtitle}${bat: -1}}" "$battery"
- fi
- done
- return
- ;;
- "BSD")
- case $kernel_name in
- "FreeBSD"* | "DragonFly"*)
- battery="$(acpiconf -i 0 | awk -F ':\t' '/Remaining capacity/ {print $2}')"
- battery_state="$(acpiconf -i 0 | awk -F ':\t\t\t' '/State/ {print $2}')"
- ;;
- "NetBSD"*)
- battery="$(envstat | awk '\\(|\\)' '/charge:/ {print $2}')"
- battery="${battery/\.*/%}"
- ;;
- "OpenBSD"* | "Bitrig"*)
- battery0full="$(sysctl -n hw.sensors.acpibat0.watthour0\
- hw.sensors.acpibat0.amphour0)"
- battery0full="${battery0full%% *}"
- battery0now="$(sysctl -n hw.sensors.acpibat0.watthour3\
- hw.sensors.acpibat0.amphour3)"
- battery0now="${battery0now%% *}"
- state="$(sysctl -n hw.sensors.acpibat0.raw0)"
- state="${state##? (battery }"
- state="${state%)*}"
- [[ "${state}" == "charging" ]] && battery_state="charging"
- [[ "$battery0full" ]] && \
- battery="$((100 * ${battery0now/\.} / ${battery0full/\.}))%"
- ;;
- esac
- ;;
- "Mac OS X"|"macOS")
- battery="$(pmset -g batt | grep -o '[0-9]*%')"
- state="$(pmset -g batt | awk '/;/ {print $4}')"
- [[ "$state" == "charging;" ]] && battery_state="charging"
- ;;
- "Windows")
- battery="$(wmic Path Win32_Battery get EstimatedChargeRemaining)"
- battery="${battery/EstimatedChargeRemaining}"
- battery="$(trim "$battery")%"
- ;;
- "Haiku")
- battery0full="$(awk -F '[^0-9]*' 'NR==2 {print $4}' /dev/power/acpi_battery/0)"
- battery0now="$(awk -F '[^0-9]*' 'NR==5 {print $4}' /dev/power/acpi_battery/0)"
- battery="$((battery0full * 100 / battery0now))%"
- ;;
- esac
- [[ "$battery_state" ]] && battery+=" Charging"
- case $battery_display in
- "bar") battery="$(bar "${battery/\%*}" 100)" ;;
- "infobar") battery="${battery} $(bar "${battery/\%*}" 100)" ;;
- "barinfo") battery="$(bar "${battery/\%*}" 100)${info_color} ${battery}" ;;
- esac
- }
- get_local_ip() {
- case $os in
- "Linux" | "BSD" | "Solaris" | "AIX" | "IRIX")
- local_ip="$(ip route get 1 | awk -F'src' '{print $2; exit}')"
- local_ip="${local_ip/uid*}"
- [[ -z "$local_ip" ]] && local_ip="$(ifconfig -a | awk '/broadcast/ {print $2; exit}')"
- ;;
- "MINIX")
- local_ip="$(ifconfig | awk '{printf $3; exit}')"
- ;;
- "Mac OS X" | "macOS" | "iPhone OS")
- local_ip="$(ipconfig getifaddr en0)"
- [[ -z "$local_ip" ]] && local_ip="$(ipconfig getifaddr en1)"
- ;;
- "Windows")
- local_ip="$(ipconfig | awk -F ': ' '/IPv4 Address/ {printf $2 ", "}')"
- local_ip="${local_ip%\,*}"
- ;;
- "Haiku")
- local_ip="$(ifconfig | awk -F ': ' '/Bcast/ {print $2}')"
- local_ip="${local_ip/, Bcast}"
- ;;
- esac
- }
- get_public_ip() {
- if type -p dig >/dev/null; then
- public_ip="$(dig +time=1 +tries=1 +short myip.opendns.com @resolver1.opendns.com)"
- [[ "$public_ip" =~ ^\; ]] && unset public_ip
- fi
- if [[ -z "$public_ip" ]] && type -p drill >/dev/null; then
- public_ip="$(drill myip.opendns.com @resolver1.opendns.com | \
- awk '/^myip\./ && $3 == "IN" {print $5}')"
- fi
- if [[ -z "$public_ip" ]] && type -p curl >/dev/null; then
- public_ip="$(curl --max-time "$public_ip_timeout" -w '\n' "$public_ip_host")"
- fi
- if [[ -z "$public_ip" ]] && type -p wget >/dev/null; then
- public_ip="$(wget -T "$public_ip_timeout" -qO- "$public_ip_host")"
- fi
- }
- get_users() {
- users="$(who | awk '!seen[$1]++ {printf $1 ", "}')"
- users="${users%\,*}"
- }
- get_locale() {
- locale="$sys_locale"
- }
- get_gpu_driver() {
- case $os in
- "Linux")
- gpu_driver="$(lspci -nnk | awk -F ': ' \
- '/Display|3D|VGA/{nr[NR+2]}; NR in nr {printf $2 ", "; exit}')"
- gpu_driver="${gpu_driver%, }"
- if [[ "$gpu_driver" == *"nvidia"* ]]; then
- gpu_driver="$(< /proc/driver/nvidia/version)"
- gpu_driver="${gpu_driver/*Module }"
- gpu_driver="NVIDIA ${gpu_driver/ *}"
- fi
- ;;
- "Mac OS X"|"macOS")
- if [[ "$(kextstat | grep "GeForceWeb")" != "" ]]; then
- gpu_driver="NVIDIA Web Driver"
- else
- gpu_driver="macOS Default Graphics Driver"
- fi
- ;;
- esac
- }
- get_cols() {
- local blocks blocks2 cols
- if [[ "$color_blocks" == "on" ]]; then
- # Convert the width to space chars.
- printf -v block_width "%${block_width}s"
- # Generate the string.
- for ((block_range[0]; block_range[0]<=block_range[1]; block_range[0]++)); do
- case ${block_range[0]} in
- [0-7])
- printf -v blocks '%b\e[3%bm\e[4%bm%b' \
- "$blocks" "${block_range[0]}" "${block_range[0]}" "$block_width"
- ;;
- *)
- printf -v blocks2 '%b\e[38;5;%bm\e[48;5;%bm%b' \
- "$blocks2" "${block_range[0]}" "${block_range[0]}" "$block_width"
- ;;
- esac
- done
- # Convert height into spaces.
- printf -v block_spaces "%${block_height}s"
- # Convert the spaces into rows of blocks.
- [[ "$blocks" ]] && cols+="${block_spaces// /${blocks}[mnl}"
- [[ "$blocks2" ]] && cols+="${block_spaces// /${blocks2}[mnl}"
- # Add newlines to the string.
- cols=${cols%%nl}
- cols=${cols//nl/
- [${text_padding}C${zws}}
- # Add block height to info height.
- ((info_height+=block_range[1]>7?block_height+3:block_height+2))
- case $col_offset in
- "auto") printf '\n\e[%bC%b\n\n' "$text_padding" "${zws}${cols}" ;;
- *) printf '\n\e[%bC%b\n\n' "$col_offset" "${zws}${cols}" ;;
- esac
- fi
- unset -v blocks blocks2 cols
- # Tell info() that we printed manually.
- prin=1
- }
- # IMAGES
- image_backend() {
- [[ "$image_backend" != "off" ]] && ! type -p convert &>/dev/null && \
- { image_backend="ascii"; err "Image: Imagemagick not found, falling back to ascii mode."; }
- case ${image_backend:-off} in
- "ascii") print_ascii ;;
- "off") image_backend="off" ;;
- "caca" | "chafa" | "jp2a" | "iterm2" | "termpix" |\
- "tycat" | "w3m" | "sixel" | "pixterm" | "kitty" | "pot")
- get_image_source
- [[ ! -f "$image" ]] && {
- to_ascii "Image: '$image_source' doesn't exist, falling back to ascii mode."
- return
- }
- get_window_size
- ((term_width < 1)) && {
- to_ascii "Image: Failed to find terminal window size."
- err "Image: Check the 'Images in the terminal' wiki page for more info,"
- return
- }
- printf '\e[2J\e[H'
- get_image_size
- make_thumbnail
- display_image || to_off "Image: $image_backend failed to display the image."
- ;;
- *)
- err "Image: Unknown image backend specified '$image_backend'."
- err "Image: Valid backends are: 'ascii', 'caca', 'chafa', 'jp2a', 'iterm2', 'kitty',
- 'off', 'sixel', 'pot', 'pixterm', 'termpix', 'tycat',
- 'w3m')"
- err "Image: Falling back to ascii mode."
- print_ascii
- ;;
- esac
- # Set cursor position next image/ascii.
- [[ "$image_backend" != "off" ]] && printf '\e[%sA\e[9999999D' "${lines:-0}"
- }
- print_ascii() {
- if [[ -f "$image_source" && ! "$image_source" =~ (png|jpg|jpeg|jpe|svg|gif) ]]; then
- ascii_data="$(< "$image_source")"
- elif [[ "$image_source" == "ascii" || $image_source == auto ]]; then
- :
- else
- ascii_data="$image_source"
- fi
- # Set locale to get correct padding.
- LC_ALL="$sys_locale"
- # Calculate size of ascii file in line length / line count.
- while IFS=$'\n' read -r line; do
- line=${line//\\\\/\\}
- line=${line//█/ }
- ((++lines,${#line}>ascii_len)) && ascii_len="${#line}"
- done <<< "${ascii_data//\$\{??\}}"
- # Fallback if file not found.
- ((lines==1)) && { lines=; ascii_len=; image_source=auto; get_distro_ascii; print_ascii; return; }
- # Colors.
- ascii_data="${ascii_data//\$\{c1\}/$c1}"
- ascii_data="${ascii_data//\$\{c2\}/$c2}"
- ascii_data="${ascii_data//\$\{c3\}/$c3}"
- ascii_data="${ascii_data//\$\{c4\}/$c4}"
- ascii_data="${ascii_data//\$\{c5\}/$c5}"
- ascii_data="${ascii_data//\$\{c6\}/$c6}"
- ((text_padding=ascii_len+gap))
- printf '%b\n' "$ascii_data${reset}"
- LC_ALL=C
- }
- get_image_source() {
- case $image_source in
- "auto" | "wall" | "wallpaper")
- get_wallpaper
- ;;
- *)
- # Get the absolute path.
- image_source="$(get_full_path "$image_source")"
- if [[ -d "$image_source" ]]; then
- shopt -s nullglob
- files=("${image_source%/}"/*.{png,jpg,jpeg,jpe,gif,svg})
- shopt -u nullglob
- image="${files[RANDOM % ${#files[@]}]}"
- else
- image="$image_source"
- fi
- ;;
- esac
- err "Image: Using image '$image'"
- }
- get_wallpaper() {
- case $os in
- "Mac OS X"|"macOS")
- image="$(osascript <<END
- tell application "System Events" to picture of current desktop
- END
- )"
- ;;
- "Windows")
- case $distro in
- "Windows XP")
- image="/c/Documents and Settings/${USER}"
- image+="/Local Settings/Application Data/Microsoft/Wallpaper1.bmp"
- [[ "$kernel_name" == *CYGWIN* ]] && image="/cygdrive${image}"
- ;;
- "Windows"*)
- image="${APPDATA}/Microsoft/Windows/Themes/TranscodedWallpaper.jpg"
- ;;
- esac
- ;;
- *)
- # Get DE if user has disabled the function.
- ((de_run != 1)) && get_de
- type -p wal >/dev/null && [[ -f "${HOME}/.cache/wal/wal" ]] && \
- { image="$(< "${HOME}/.cache/wal/wal")"; return; }
- case $de in
- "MATE"*)
- image="$(gsettings get org.mate.background picture-filename)"
- ;;
- "Xfce"*)
- image="$(xfconf-query -c xfce4-desktop -p \
- "/backdrop/screen0/monitor0/workspace0/last-image")"
- ;;
- "Cinnamon"*)
- image="$(gsettings get org.cinnamon.desktop.background picture-uri)"
- image="$(decode_url "$image")"
- ;;
- "GNOME"*)
- image="$(gsettings get org.gnome.desktop.background picture-uri)"
- image="$(decode_url "$image")"
- ;;
- "Plasma"*)
- image=$XDG_CONFIG_HOME/plasma-org.kde.plasma.desktop-appletsrc
- image=$(awk -F '=' '$1 == "Image" { print $2 }' "$image")
- ;;
- "LXQt"*)
- image="$XDG_CONFIG_HOME/pcmanfm-qt/lxqt/settings.conf"
- image="$(awk -F '=' '$1 == "Wallpaper" {print $2}' "$image")"
- ;;
- *)
- if type -p feh >/dev/null && [[ -f "${HOME}/.fehbg" ]]; then
- image="$(awk -F\' '/feh/ {printf $(NF-1)}' "${HOME}/.fehbg")"
- elif type -p setroot >/dev/null && \
- [[ -f "${XDG_CONFIG_HOME}/setroot/.setroot-restore" ]]; then
- image="$(awk -F\' '/setroot/ {printf $(NF-1)}' \
- "${XDG_CONFIG_HOME}/setroot/.setroot-restore")"
- elif type -p nitrogen >/dev/null; then
- image="$(awk -F'=' '/file/ {printf $2;exit;}' \
- "${XDG_CONFIG_HOME}/nitrogen/bg-saved.cfg")"
- else
- image="$(gsettings get org.gnome.desktop.background picture-uri)"
- image="$(decode_url "$image")"
- fi
- ;;
- esac
- # Strip un-needed info from the path.
- image="${image/file:\/\/}"
- image="$(trim_quotes "$image")"
- ;;
- esac
- # If image is an xml file, don't use it.
- [[ "${image/*\./}" == "xml" ]] && image=""
- }
- get_w3m_img_path() {
- # Find w3m-img path.
- shopt -s nullglob
- w3m_paths=({/usr/{local/,},~/.nix-profile/}{lib,libexec,lib64,libexec64}/w3m/w3mi*)
- shopt -u nullglob
- [[ -x "${w3m_paths[0]}" ]] && \
- { w3m_img_path="${w3m_paths[0]}"; return; }
- err "Image: w3m-img wasn't found on your system"
- }
- get_window_size() {
- # This functions gets the current window size in
- # pixels.
- #
- # We first try to use the escape sequence "\033[14t"
- # to get the terminal window size in pixels. If this
- # fails we then fallback to using "xdotool" or other
- # programs.
- # Tmux has a special way of reading escape sequences
- # so we have to use a slightly different sequence to
- # get the terminal size.
- if [[ "$image_backend" == "tycat" ]]; then
- printf '%b' '\e}qs\000'
- elif [[ -z $VTE_VERSION ]]; then
- case ${TMUX:-null} in
- "null") printf '%b' '\e[14t' ;;
- *) printf '%b' '\ePtmux;\e\e[14t\e\\ ' ;;
- esac
- fi
- # The escape codes above print the desired output as
- # user input so we have to use read to store the out
- # -put as a variable.
- # The 1 second timeout is required for older bash
- #
- # False positive.
- # shellcheck disable=2141
- case $bash_version in
- 4|5) IFS=';t' read -d t -t 0.05 -sra term_size ;;
- *) IFS=';t' read -d t -t 1 -sra term_size ;;
- esac
- unset IFS
- # Split the string into height/width.
- if [[ "$image_backend" == "tycat" ]]; then
- term_width="$((term_size[2] * term_size[0]))"
- term_height="$((term_size[3] * term_size[1]))"
- else
- term_height="${term_size[1]}"
- term_width="${term_size[2]}"
- fi
- # Get terminal width/height.
- if (( "${term_width:-0}" < 50 )) && [[ "$DISPLAY" && $os != "Mac OS X" && $os != "macOS" ]]; then
- if type -p xdotool &>/dev/null; then
- IFS=$'\n' read -d "" -ra win \
- <<< "$(xdotool getactivewindow getwindowgeometry --shell %1)"
- term_width="${win[3]/WIDTH=}"
- term_height="${win[4]/HEIGHT=}"
- elif type -p xwininfo &>/dev/null; then
- # Get the focused window's ID.
- if type -p xdo &>/dev/null; then
- current_window="$(xdo id)"
- elif type -p xprop &>/dev/null; then
- current_window="$(xprop -root _NET_ACTIVE_WINDOW)"
- current_window="${current_window##* }"
- elif type -p xdpyinfo &>/dev/null; then
- current_window="$(xdpyinfo | grep -F "focus:")"
- current_window="${current_window/*window }"
- current_window="${current_window/,*}"
- fi
- # If the ID was found get the window size.
- if [[ "$current_window" ]]; then
- term_size=("$(xwininfo -id "$current_window")")
- term_width="${term_size[0]#*Width: }"
- term_width="${term_width/$'\n'*}"
- term_height="${term_size[0]/*Height: }"
- term_height="${term_height/$'\n'*}"
- fi
- fi
- fi
- term_width="${term_width:-0}"
- }
- get_term_size() {
- # Get the terminal size in cells.
- read -r lines columns <<< "$(stty size)"
- # Calculate font size.
- font_width="$((term_width / columns))"
- font_height="$((term_height / lines))"
- }
- get_image_size() {
- # This functions determines the size to make the thumbnail image.
- get_term_size
- case $image_size in
- "auto")
- image_size="$((columns * font_width / 2))"
- term_height="$((term_height - term_height / 4))"
- ((term_height < image_size)) && \
- image_size="$term_height"
- ;;
- *"%")
- percent="${image_size/\%}"
- image_size="$((percent * term_width / 100))"
- (((percent * term_height / 50) < image_size)) && \
- image_size="$((percent * term_height / 100))"
- ;;
- "none")
- # Get image size so that we can do a better crop.
- read -r width height <<< "$(identify -format "%w %h" "$image")"
- while ((width >= (term_width / 2) || height >= term_height)); do
- ((width=width/2,height=height/2))
- done
- crop_mode="none"
- ;;
- *) image_size="${image_size/px}" ;;
- esac
- # Check for terminal padding.
- [[ "$image_backend" == "w3m" ]] && term_padding
- width="${width:-$image_size}"
- height="${height:-$image_size}"
- text_padding="$(((width + padding + xoffset) / font_width + gap))"
- }
- make_thumbnail() {
- # Name the thumbnail using variables so we can
- # use it later.
- image_name="${crop_mode}-${crop_offset}-${width}-${height}-${image//\/}"
- # Handle file extensions.
- case ${image##*.} in
- "eps"|"pdf"|"svg"|"gif"|"png")
- image_name+=".png" ;;
- *) image_name+=".jpg" ;;
- esac
- # Create the thumbnail dir if it doesn't exist.
- mkdir -p "${thumbnail_dir:=${XDG_CACHE_HOME:-${HOME}/.cache}/thumbnails/neofetch}"
- if [[ ! -f "${thumbnail_dir}/${image_name}" ]]; then
- # Get image size so that we can do a better crop.
- [[ -z "$size" ]] && {
- read -r og_width og_height <<< "$(identify -format "%w %h" "$image")"
- ((og_height > og_width)) && size="$og_width" || size="$og_height"
- }
- case $crop_mode in
- "fit")
- c="$(convert "$image" \
- -colorspace srgb \
- -format "%[pixel:p{0,0}]" info:)"
- convert \
- -background none \
- "$image" \
- -trim +repage \
- -gravity south \
- -background "$c" \
- -extent "${size}x${size}" \
- -scale "${width}x${height}" \
- "${thumbnail_dir}/${image_name}"
- ;;
- "fill")
- convert \
- -background none \
- "$image" \
- -trim +repage \
- -scale "${width}x${height}^" \
- -extent "${width}x${height}" \
- "${thumbnail_dir}/${image_name}"
- ;;
- "none")
- cp "$image" "${thumbnail_dir}/${image_name}"
- ;;
- *)
- convert \
- -background none \
- "$image" \
- -strip \
- -gravity "$crop_offset" \
- -crop "${size}x${size}+0+0" \
- -scale "${width}x${height}" \
- "${thumbnail_dir}/${image_name}"
- ;;
- esac
- fi
- # The final image.
- image="${thumbnail_dir}/${image_name}"
- }
- display_image() {
- case $image_backend in
- "caca")
- img2txt \
- -W "$((width / font_width))" \
- -H "$((height / font_height))" \
- --gamma=0.6 \
- "$image"
- ;;
- "chafa")
- chafa --stretch --size="$((width / font_width))x$((height / font_height))" "$image"
- ;;
- "jp2a")
- jp2a \
- --colors \
- --width="$((width / font_width))" \
- --height="$((height / font_height))" \
- "$image"
- ;;
- "kitty")
- kitty +kitten icat \
- --align left \
- --place "$((width/font_width))x$((height/font_height))@${xoffset}x${yoffset}" \
- "$image"
- ;;
- "pot")
- pot \
- "$image" \
- --size="$((width / font_width))x$((height / font_height))"
- ;;
- "pixterm")
- pixterm \
- -tc "$((width / font_width))" \
- -tr "$((height / font_height))" \
- "$image"
- ;;
- "sixel")
- img2sixel \
- -w "$width" \
- -h "$height" \
- "$image"
- ;;
- "termpix")
- termpix \
- --width "$((width / font_width))" \
- --height "$((height / font_height))" \
- "$image"
- ;;
- "iterm2")
- printf -v iterm_cmd '\e]1337;File=width=%spx;height=%spx;inline=1:%s' \
- "$width" "$height" "$(base64 < "$image")"
- # Tmux requires an additional escape sequence for this to work.
- [[ -n "$TMUX" ]] && printf -v iterm_cmd '\ePtmux;\e%b\e'\\ "$iterm_cmd"
- printf '%b\a\n' "$iterm_cmd"
- ;;
- "tycat")
- tycat \
- -g "${width}x${height}" \
- "$image"
- ;;
- "w3m")
- get_w3m_img_path
- zws='\xE2\x80\x8B\x20'
- # Add a tiny delay to fix issues with images not
- # appearing in specific terminal emulators.
- ((bash_version>3)) && sleep 0.05
- printf '%b\n%s;\n%s\n' "0;1;$xoffset;$yoffset;$width;$height;;;;;$image" 3 4 |\
- "${w3m_img_path:-false}" -bg "$background_color" &>/dev/null
- ;;
- esac
- }
- to_ascii() {
- err "$1"
- image_backend="ascii"
- print_ascii
- # Set cursor position next image/ascii.
- printf '\e[%sA\e[9999999D' "${lines:-0}"
- }
- to_off() {
- err "$1"
- image_backend="off"
- text_padding=
- }
- # TEXT FORMATTING
- info() {
- # Save subtitle value.
- [[ "$2" ]] && subtitle="$1"
- # Make sure that $prin is unset.
- unset -v prin
- # Call the function.
- "get_${2:-$1}"
- # If the get_func function called 'prin' directly, stop here.
- [[ "$prin" ]] && return
- # Update the variable.
- if [[ "$2" ]]; then
- output="$(trim "${!2}")"
- else
- output="$(trim "${!1}")"
- fi
- if [[ "$2" && "${output// }" ]]; then
- prin "$1" "$output"
- elif [[ "${output// }" ]]; then
- prin "$output"
- else
- err "Info: Couldn't detect ${1}."
- fi
- unset -v subtitle
- }
- prin() {
- # If $2 doesn't exist we format $1 as info.
- if [[ "$(trim "$1")" && "$2" ]]; then
- [[ "$json" ]] && { printf ' %s\n' "\"${1}\": \"${2}\","; return; }
- string="${1}${2:+: $2}"
- else
- string="${2:-$1}"
- local subtitle_color="$info_color"
- fi
- string="$(trim "${string//$'\e[0m'}")"
- length="$(strip_sequences "$string")"
- length="${#length}"
- # Format the output.
- string="${string/:/${reset}${colon_color}${separator:=:}${info_color}}"
- string="${subtitle_color}${bold}${string}"
- # Print the info.
- printf '%b\n' "${text_padding:+\e[${text_padding}C}${zws}${string//\\n}${reset} "
- # Calculate info height.
- ((++info_height))
- # Log that prin was used.
- prin=1
- }
- get_underline() {
- [[ "$underline_enabled" == "on" ]] && {
- printf -v underline "%${length}s"
- printf '%b%b\n' "${text_padding:+\e[${text_padding}C}${zws}${underline_color}" \
- "${underline// /$underline_char}${reset} "
- }
- ((++info_height))
- length=
- prin=1
- }
- get_bold() {
- case $ascii_bold in
- "on") ascii_bold='\e[1m' ;;
- "off") ascii_bold="" ;;
- esac
- case $bold in
- "on") bold='\e[1m' ;;
- "off") bold="" ;;
- esac
- }
- trim() {
- set -f
- # shellcheck disable=2048,2086
- set -- $*
- printf '%s\n' "${*//[[:space:]]/}"
- set +f
- }
- trim_quotes() {
- trim_output="${1//\'}"
- trim_output="${trim_output//\"}"
- printf "%s" "$trim_output"
- }
- strip_sequences() {
- strip="${1//$'\e['3[0-9]m}"
- strip="${strip//$'\e['[0-9]m}"
- strip="${strip//\\e\[[0-9]m}"
- strip="${strip//$'\e['38\;5\;[0-9]m}"
- strip="${strip//$'\e['38\;5\;[0-9][0-9]m}"
- strip="${strip//$'\e['38\;5\;[0-9][0-9][0-9]m}"
- printf '%s\n' "$strip"
- }
- # COLORS
- set_colors() {
- c1="$(color "$1")${ascii_bold}"
- c2="$(color "$2")${ascii_bold}"
- c3="$(color "$3")${ascii_bold}"
- c4="$(color "$4")${ascii_bold}"
- c5="$(color "$5")${ascii_bold}"
- c6="$(color "$6")${ascii_bold}"
- [[ "$color_text" != "off" ]] && set_text_colors "$@"
- }
- set_text_colors() {
- if [[ "${colors[0]}" == "distro" ]]; then
- title_color="$(color "$1")"
- at_color="$reset"
- underline_color="$reset"
- subtitle_color="$(color "$2")"
- colon_color="$reset"
- info_color="$reset"
- # If the ascii art uses 8 as a color, make the text the fg.
- ((${1:-1} == 8)) && title_color="$reset"
- ((${2:-7} == 8)) && subtitle_color="$reset"
- # If the second color is white use the first for the subtitle.
- ((${2:-7} == 7)) && subtitle_color="$(color "$1")"
- ((${1:-1} == 7)) && title_color="$reset"
- else
- title_color="$(color "${colors[0]}")"
- at_color="$(color "${colors[1]}")"
- underline_color="$(color "${colors[2]}")"
- subtitle_color="$(color "${colors[3]}")"
- colon_color="$(color "${colors[4]}")"
- info_color="$(color "${colors[5]}")"
- fi
- # Bar colors.
- if [[ "$bar_color_elapsed" == "distro" ]]; then
- bar_color_elapsed="$(color fg)"
- else
- bar_color_elapsed="$(color "$bar_color_elapsed")"
- fi
- case ${bar_color_total}${1} in
- distro[736]) bar_color_total=$(color "$1") ;;
- distro[0-9]) bar_color_total=$(color "$2") ;;
- *) bar_color_total=$(color "$bar_color_total") ;;
- esac
- }
- color() {
- case $1 in
- [0-6]) printf '%b\e[3%sm' "$reset" "$1" ;;
- 7 | "fg") printf '\e[37m%b' "$reset" ;;
- *) printf '\e[38;5;%bm' "$1" ;;
- esac
- }
- # OTHER
- stdout() {
- image_backend="off"
- unset subtitle_color colon_color info_color underline_color bold title_color at_color \
- text_padding zws reset color_blocks bar_color_elapsed bar_color_total \
- c1 c2 c3 c4 c5 c6 c7 c8
- }
- err() {
- err+="$(color 1)[!]${reset} $1
- "
- }
- get_full_path() {
- # This function finds the absolute path from a relative one.
- # For example "Pictures/Wallpapers" --> "/home/dylan/Pictures/Wallpapers"
- # If the file exists in the current directory, stop here.
- [[ -f "${PWD}/${1}" ]] && { printf '%s\n' "${PWD}/${1}"; return; }
- ! cd "${1%/*}" && {
- err "Error: Directory '${1%/*}' doesn't exist or is inaccessible"
- err " Check that the directory exists or try another directory."
- exit 1
- }
- local full_dir="${1##*/}"
- # Iterate down a (possible) chain of symlinks.
- while [[ -L "$full_dir" ]]; do
- full_dir="$(readlink "$full_dir")"
- cd "${full_dir%/*}" || exit
- full_dir="${full_dir##*/}"
- done
- # Final directory.
- full_dir="$(pwd -P)/${1/*\/}"
- [[ -e "$full_dir" ]] && printf '%s\n' "$full_dir"
- }
- get_user_config() {
- # --config /path/to/config.conf
- if [[ -f "$config_file" ]]; then
- source "$config_file"
- err "Config: Sourced user config. (${config_file})"
- return
- elif [[ -f "${XDG_CONFIG_HOME}/neofetch/config.conf" ]]; then
- source "${XDG_CONFIG_HOME}/neofetch/config.conf"
- err "Config: Sourced user config. (${XDG_CONFIG_HOME}/neofetch/config.conf)"
- elif [[ -f "${XDG_CONFIG_HOME}/neofetch/config" ]]; then
- source "${XDG_CONFIG_HOME}/neofetch/config"
- err "Config: Sourced user config. (${XDG_CONFIG_HOME}/neofetch/config)"
- elif [[ -z "$no_config" ]]; then
- config_file="${XDG_CONFIG_HOME}/neofetch/config.conf"
- # The config file doesn't exist, create it.
- mkdir -p "${XDG_CONFIG_HOME}/neofetch/"
- printf '%s\n' "$config" > "$config_file"
- fi
- }
- bar() {
- # Get the values.
- elapsed="$(($1 * bar_length / $2))"
- # Create the bar with spaces.
- printf -v prog "%${elapsed}s"
- printf -v total "%$((bar_length - elapsed))s"
- # Set the colors and swap the spaces for $bar_char_.
- bar+="${bar_color_elapsed}${prog// /${bar_char_elapsed}}"
- bar+="${bar_color_total}${total// /${bar_char_total}}"
- # Borders.
- [[ "$bar_border" == "on" ]] && \
- bar="$(color fg)[${bar}$(color fg)]"
- printf "%b" "${bar}${info_color}"
- }
- cache() {
- if [[ "$2" ]]; then
- mkdir -p "${cache_dir}/neofetch"
- printf "%s" "${1/*-}=\"$2\"" > "${cache_dir}/neofetch/${1/*-}"
- fi
- }
- get_cache_dir() {
- case $os in
- "Mac OS X"|"macOS") cache_dir="/Library/Caches" ;;
- *) cache_dir="/tmp" ;;
- esac
- }
- kde_config_dir() {
- # If the user is using KDE get the KDE
- # configuration directory.
- if [[ "$kde_config_dir" ]]; then
- return
- elif type -p kf5-config &>/dev/null; then
- kde_config_dir="$(kf5-config --path config)"
- elif type -p kde4-config &>/dev/null; then
- kde_config_dir="$(kde4-config --path config)"
- elif type -p kde-config &>/dev/null; then
- kde_config_dir="$(kde-config --path config)"
- elif [[ -d "${HOME}/.kde4" ]]; then
- kde_config_dir="${HOME}/.kde4/share/config"
- elif [[ -d "${HOME}/.kde3" ]]; then
- kde_config_dir="${HOME}/.kde3/share/config"
- fi
- kde_config_dir="${kde_config_dir/$'/:'*}"
- }
- term_padding() {
- # Get terminal padding to properly align cursor.
- [[ -z "$term" ]] && get_term
- case $term in
- urxvt*|rxvt-unicode)
- [[ $xrdb ]] || xrdb=$(xrdb -query)
- [[ $xrdb != *internalBorder:* ]] &&
- return
- padding=${xrdb/*internalBorder:}
- padding=${padding/$'\n'*}
- [[ $padding =~ ^[0-9]+$ ]] ||
- padding=
- ;;
- esac
- }
- dynamic_prompt() {
- [[ "$image_backend" == "off" ]] && { printf '\n'; return; }
- [[ "$image_backend" != "ascii" ]] && ((lines=(height + yoffset) / font_height + 1))
- [[ "$image_backend" == "w3m" ]] && ((lines=lines + padding / font_height + 1))
- # If the ascii art is taller than the info.
- ((lines=lines>info_height?lines-info_height+1:1))
- printf -v nlines "%${lines}s"
- printf "%b" "${nlines// /\\n}"
- }
- cache_uname() {
- # Cache the output of uname so we don't
- # have to spawn it multiple times.
- IFS=" " read -ra uname <<< "$(uname -srm)"
- kernel_name="${uname[0]}"
- kernel_version="${uname[1]}"
- kernel_machine="${uname[2]}"
- if [[ "$kernel_name" == "Darwin" ]]; then
- IFS=$'\n' read -d "" -ra sw_vers <<< "$(awk -F'<|>' '/key|string/ {print $3}' \
- "/System/Library/CoreServices/SystemVersion.plist")"
- for ((i=0;i<${#sw_vers[@]};i+=2)) {
- case ${sw_vers[i]} in
- ProductName) darwin_name=${sw_vers[i+1]} ;;
- ProductVersion) osx_version=${sw_vers[i+1]} ;;
- ProductBuildVersion) osx_build=${sw_vers[i+1]} ;;
- esac
- }
- fi
- }
- get_ppid() {
- # Get parent process ID of PID.
- case $os in
- "Windows")
- ppid="$(ps -p "${1:-$PPID}" | awk '{printf $2}')"
- ppid="${ppid/PPID}"
- ;;
- "Linux")
- ppid="$(grep -i -F "PPid:" "/proc/${1:-$PPID}/status")"
- ppid="$(trim "${ppid/PPid:}")"
- ;;
- *)
- ppid="$(ps -p "${1:-$PPID}" -o ppid=)"
- ;;
- esac
- printf "%s" "$ppid"
- }
- get_process_name() {
- # Get PID name.
- case $os in
- "Windows")
- name="$(ps -p "${1:-$PPID}" | awk '{printf $8}')"
- name="${name/COMMAND}"
- name="${name/*\/}"
- ;;
- "Linux")
- name="$(< "/proc/${1:-$PPID}/comm")"
- ;;
- *)
- name="$(ps -p "${1:-$PPID}" -o comm=)"
- ;;
- esac
- printf "%s" "$name"
- }
- decode_url() {
- decode="${1//+/ }"
- printf "%b" "${decode//%/\\x}"
- }
- # FINISH UP
- usage() { printf "%s" "\
- Usage: neofetch func_name --option \"value\" --option \"value\"
- Neofetch is a CLI system information tool written in BASH. Neofetch
- displays information about your system next to an image, your OS logo,
- or any ASCII file of your choice.
- NOTE: Every launch flag has a config option.
- Options:
- INFO:
- func_name Specify a function name (second part of info() from config) to
- quickly display only that function's information.
- Example: neofetch uptime --uptime_shorthand tiny
- Example: neofetch uptime disk wm memory
- This can be used in bars and scripts like so:
- memory=\"\$(neofetch memory)\"; memory=\"\${memory##*: }\"
- For multiple outputs at once (each line of info in an array):
- IFS=\$'\\n' read -d \"\" -ra info < <(neofetch memory uptime wm)
- info=(\"\${info[@]##*: }\")
- --disable infoname Allows you to disable an info line from appearing
- in the output. 'infoname' is the function name from the
- 'print_info()' function inside the config file.
- For example: 'info \"Memory\" memory' would be '--disable memory'
- NOTE: You can supply multiple args. eg. 'neofetch --disable cpu gpu'
- --title_fqdn on/off Hide/Show Fully Qualified Domain Name in title.
- --package_managers on/off Hide/Show Package Manager names . (on, tiny, off)
- --os_arch on/off Hide/Show OS architecture.
- --speed_type type Change the type of cpu speed to display.
- Possible values: current, min, max, bios,
- scaling_current, scaling_min, scaling_max
- NOTE: This only supports Linux with cpufreq.
- --speed_shorthand on/off Whether or not to show decimals in CPU speed.
- NOTE: This flag is not supported in systems with CPU speed less than
- 1 GHz.
- --cpu_brand on/off Enable/Disable CPU brand in output.
- --cpu_cores type Whether or not to display the number of CPU cores
- Possible values: logical, physical, off
- NOTE: 'physical' doesn't work on BSD.
- --cpu_speed on/off Hide/Show cpu speed.
- --cpu_temp C/F/off Hide/Show cpu temperature.
- NOTE: This only works on Linux and BSD.
- NOTE: For FreeBSD and NetBSD-based systems, you need to enable
- coretemp kernel module. This only supports newer Intel processors.
- --distro_shorthand on/off Shorten the output of distro (on, tiny, off)
- NOTE: This option won't work in Windows (Cygwin)
- --kernel_shorthand on/off Shorten the output of kernel
- NOTE: This option won't work in BSDs (except PacBSD and PC-BSD)
- --uptime_shorthand on/off Shorten the output of uptime (on, tiny, off)
- --refresh_rate on/off Whether to display the refresh rate of each monitor
- Unsupported on Windows
- --gpu_brand on/off Enable/Disable GPU brand in output. (AMD/NVIDIA/Intel)
- --gpu_type type Which GPU to display. (all, dedicated, integrated)
- NOTE: This only supports Linux.
- --de_version on/off Show/Hide Desktop Environment version
- --gtk_shorthand on/off Shorten output of gtk theme/icons
- --gtk2 on/off Enable/Disable gtk2 theme/font/icons output
- --gtk3 on/off Enable/Disable gtk3 theme/font/icons output
- --shell_path on/off Enable/Disable showing \$SHELL path
- --shell_version on/off Enable/Disable showing \$SHELL version
- --disk_show value Which disks to display.
- Possible values: '/', '/dev/sdXX', '/path/to/mount point'
- NOTE: Multiple values can be given. (--disk_show '/' '/dev/sdc1')
- --disk_subtitle type What information to append to the Disk subtitle.
- Takes: name, mount, dir, none
- 'name' shows the disk's name (sda1, sda2, etc)
- 'mount' shows the disk's mount point (/, /mnt/Local Disk, etc)
- 'dir' shows the basename of the disks's path. (/, Local Disk, etc)
- 'none' shows only 'Disk' or the configured title.
- --disk_percent on/off Hide/Show disk percent.
- --ip_host url URL to query for public IP
- --ip_timeout int Public IP timeout (in seconds).
- --song_format format Print the song data in a specific format (see config file).
- --song_shorthand on/off Print the Artist/Album/Title on separate lines.
- --memory_percent on/off Display memory percentage.
- --memory_unit kib/mib/gib Memory output unit.
- --music_player player-name Manually specify a player to use.
- Available values are listed in the config file
- TEXT FORMATTING:
- --colors x x x x x x Changes the text colors in this order:
- title, @, underline, subtitle, colon, info
- --underline on/off Enable/Disable the underline.
- --underline_char char Character to use when underlining title
- --bold on/off Enable/Disable bold text
- --separator string Changes the default ':' separator to the specified string.
- COLOR BLOCKS:
- --color_blocks on/off Enable/Disable the color blocks
- --col_offset auto/num Left-padding of color blocks
- --block_width num Width of color blocks in spaces
- --block_height num Height of color blocks in lines
- --block_range num num Range of colors to print as blocks
- BARS:
- --bar_char 'elapsed char' 'total char'
- Characters to use when drawing bars.
- --bar_border on/off Whether or not to surround the bar with '[]'
- --bar_length num Length in spaces to make the bars.
- --bar_colors num num Colors to make the bar.
- Set in this order: elapsed, total
- --cpu_display mode Bar mode.
- Possible values: bar, infobar, barinfo, off
- --memory_display mode Bar mode.
- Possible values: bar, infobar, barinfo, off
- --battery_display mode Bar mode.
- Possible values: bar, infobar, barinfo, off
- --disk_display mode Bar mode.
- Possible values: bar, infobar, barinfo, off
- IMAGE BACKEND:
- --backend backend Which image backend to use.
- Possible values: 'ascii', 'caca', 'chafa', 'jp2a', 'iterm2',
- 'off', 'sixel', 'tycat', 'w3m', 'kitty'
- --source source Which image or ascii file to use.
- Possible values: 'auto', 'ascii', 'wallpaper', '/path/to/img',
- '/path/to/ascii', '/path/to/dir/', 'command output' [ascii]
- --ascii source Shortcut to use 'ascii' backend.
- NEW: neofetch --ascii \"\$(fortune | cowsay -W 30)\"
- --caca source Shortcut to use 'caca' backend.
- --chafa source Shortcut to use 'chafa' backend.
- --iterm2 source Shortcut to use 'iterm2' backend.
- --jp2a source Shortcut to use 'jp2a' backend.
- --kitty source Shortcut to use 'kitty' backend.
- --pot source Shortcut to use 'pot' backend.
- --pixterm source Shortcut to use 'pixterm' backend.
- --sixel source Shortcut to use 'sixel' backend.
- --termpix source Shortcut to use 'termpix' backend.
- --tycat source Shortcut to use 'tycat' backend.
- --w3m source Shortcut to use 'w3m' backend.
- --off Shortcut to use 'off' backend (Disable ascii art).
- NOTE: 'source; can be any of the following: 'auto', 'ascii', 'wallpaper', '/path/to/img',
- '/path/to/ascii', '/path/to/dir/'
- ASCII:
- --ascii_colors x x x x x x Colors to print the ascii art
- --ascii_distro distro Which Distro's ascii art to print
- NOTE: AIX, Alpine, AlterLinux, Anarchy, Android, Antergos, antiX,
- \"AOSC OS\", \"AOSC OS/Retro\", Apricity, ArcoLinux, ArchBox,
- ARCHlabs, ArchStrike, XFerience, ArchMerge, Arch, Artix, Arya,
- Bedrock, Bitrig, BlackArch, BLAG, BlankOn, BlueLight, bonsai, BSD,
- BunsenLabs, Calculate, Carbs, CentOS, Chakra, ChaletOS, Chapeau,
- Chrom, Cleanjaro, ClearOS, Clear_Linux, Clover, Condres,
- Container_Linux, CRUX, Cucumber, Debian, Deepin, DesaOS, Devuan,
- DracOS, DarkOs, DragonFly, Drauger, Elementary, EndeavourOS, Endless,
- EuroLinux, Exherbo, Fedora, Feren, FreeBSD, FreeMiNT, Frugalware,
- Funtoo, GalliumOS, Garuda, Gentoo, Pentoo, gNewSense, GNOME, GNU,
- GoboLinux, Grombyang, Guix, Haiku, Huayra, Hyperbola, janus, Kali,
- KaOS, KDE_neon, Kibojoe, Kogaion, Korora, KSLinux, Kubuntu, LEDE,
- LFS, Linux_Lite, LMDE, Lubuntu, Lunar, macos, Mageia, MagpieOS,
- Mandriva, Manjaro, Maui, Mer, Minix, LinuxMint, MX_Linux, Namib,
- Neptune, NetBSD, Netrunner, Nitrux, NixOS, Nurunner, NuTyX,
- OBRevenge, OpenBSD, openEuler, OpenIndiana, openmamba, OpenMandriva,
- OpenStage, OpenWrt, osmc, Oracle, OS Elbrus, PacBSD, Parabola,
- Pardus, Parrot, Parsix, TrueOS, PCLinuxOS, Peppermint, popos,
- Porteus, PostMarketOS, Proxmox, Puppy, PureOS, Qubes, Radix,
- Raspbian, Reborn_OS, Redstar, Redcore, Redhat, Refracted_Devuan,
- Regata, Rosa, sabotage, Sabayon, Sailfish, SalentOS, Scientific,
- Septor, SereneLinux, SharkLinux, Siduction, Slackware, SliTaz,
- SmartOS, Solus, Source_Mage, Sparky, Star, SteamOS, SunOS,
- openSUSE_Leap, openSUSE_Tumbleweed, openSUSE, SwagArch, Tails,
- Trisquel, Ubuntu-Budgie, Ubuntu-GNOME, Ubuntu-MATE, Ubuntu-Studio,
- Ubuntu, Venom, Void, Obarun, windows10, Windows7, Xubuntu, Zorin,
- and IRIX have ascii logos
- NOTE: Arch, Ubuntu, Redhat, and Dragonfly have 'old' logo variants.
- NOTE: Use '{distro name}_old' to use the old logos.
- NOTE: Ubuntu has flavor variants.
- NOTE: Change this to Lubuntu, Kubuntu, Xubuntu, Ubuntu-GNOME,
- Ubuntu-Studio, Ubuntu-Mate or Ubuntu-Budgie to use the flavors.
- NOTE: Arcolinux, Dragonfly, Fedora, Alpine, Arch, Ubuntu,
- CRUX, Debian, Gentoo, FreeBSD, Mac, NixOS, OpenBSD, android,
- Antrix, CentOS, Cleanjaro, ElementaryOS, GUIX, Hyperbola,
- Manjaro, MXLinux, NetBSD, Parabola, POP_OS, PureOS,
- Slackware, SunOS, LinuxLite, OpenSUSE, Raspbian,
- postmarketOS, and Void have a smaller logo variant.
- NOTE: Use '{distro name}_small' to use the small variants.
- --ascii_bold on/off Whether or not to bold the ascii logo.
- -L, --logo Hide the info text and only show the ascii logo.
- IMAGE:
- --loop Redraw the image constantly until Ctrl+C is used. This fixes issues
- in some terminals emulators when using image mode.
- --size 00px | --size 00% How to size the image.
- Possible values: auto, 00px, 00%, none
- --crop_mode mode Which crop mode to use
- Takes the values: normal, fit, fill
- --crop_offset value Change the crop offset for normal mode.
- Possible values: northwest, north, northeast,
- west, center, east, southwest, south, southeast
- --xoffset px How close the image will be to the left edge of the
- window. This only works with w3m.
- --yoffset px How close the image will be to the top edge of the
- window. This only works with w3m.
- --bg_color color Background color to display behind transparent image.
- This only works with w3m.
- --gap num Gap between image and text.
- NOTE: --gap can take a negative value which will move the text
- closer to the left side.
- --clean Delete cached files and thumbnails.
- OTHER:
- --config /path/to/config Specify a path to a custom config file
- --config none Launch the script without a config file
- --no_config Don't create the user config file.
- --print_config Print the default config file to stdout.
- --stdout Turn off all colors and disables any ASCII/image backend.
- --help Print this text and exit
- --version Show neofetch version
- -v Display error messages.
- -vv Display a verbose log for error reporting.
- DEVELOPER:
- --gen-man Generate a manpage for Neofetch in your PWD. (Requires GNU help2man)
- Report bugs to https://github.com/dylanaraps/neofetch/issues
- "
- exit 1
- }
- get_args() {
- # Check the commandline flags early for '--config'.
- [[ "$*" != *--config* && "$*" != *--no_config* ]] && get_user_config
- while [[ "$1" ]]; do
- case $1 in
- # Info
- "--title_fqdn") title_fqdn="$2" ;;
- "--package_managers") package_managers="$2" ;;
- "--os_arch") os_arch="$2" ;;
- "--cpu_cores") cpu_cores="$2" ;;
- "--cpu_speed") cpu_speed="$2" ;;
- "--speed_type") speed_type="$2" ;;
- "--speed_shorthand") speed_shorthand="$2" ;;
- "--distro_shorthand") distro_shorthand="$2" ;;
- "--kernel_shorthand") kernel_shorthand="$2" ;;
- "--uptime_shorthand") uptime_shorthand="$2" ;;
- "--cpu_brand") cpu_brand="$2" ;;
- "--gpu_brand") gpu_brand="$2" ;;
- "--gpu_type") gpu_type="$2" ;;
- "--refresh_rate") refresh_rate="$2" ;;
- "--de_version") de_version="$2" ;;
- "--gtk_shorthand") gtk_shorthand="$2" ;;
- "--gtk2") gtk2="$2" ;;
- "--gtk3") gtk3="$2" ;;
- "--shell_path") shell_path="$2" ;;
- "--shell_version") shell_version="$2" ;;
- "--ip_host") public_ip_host="$2" ;;
- "--ip_timeout") public_ip_timeout="$2" ;;
- "--song_format") song_format="$2" ;;
- "--song_shorthand") song_shorthand="$2" ;;
- "--music_player") music_player="$2" ;;
- "--memory_percent") memory_percent="$2" ;;
- "--memory_unit") memory_unit="$2" ;;
- "--cpu_temp")
- cpu_temp="$2"
- [[ "$cpu_temp" == "on" ]] && cpu_temp="C"
- ;;
- "--disk_subtitle") disk_subtitle="$2" ;;
- "--disk_percent") disk_percent="$2" ;;
- "--disk_show")
- unset disk_show
- for arg in "$@"; do
- case $arg in
- "--disk_show") ;;
- "-"*) break ;;
- *) disk_show+=("$arg") ;;
- esac
- done
- ;;
- "--disable")
- for func in "$@"; do
- case $func in
- "--disable") continue ;;
- "-"*) break ;;
- *)
- ((bash_version >= 4)) && func="${func,,}"
- unset -f "get_$func"
- ;;
- esac
- done
- ;;
- # Text Colors
- "--colors")
- unset colors
- for arg in "$2" "$3" "$4" "$5" "$6" "$7"; do
- case $arg in
- "-"*) break ;;
- *) colors+=("$arg") ;;
- esac
- done
- colors+=(7 7 7 7 7 7)
- ;;
- # Text Formatting
- "--underline") underline_enabled="$2" ;;
- "--underline_char") underline_char="$2" ;;
- "--bold") bold="$2" ;;
- "--separator") separator="$2" ;;
- # Color Blocks
- "--color_blocks") color_blocks="$2" ;;
- "--block_range") block_range=("$2" "$3") ;;
- "--block_width") block_width="$2" ;;
- "--block_height") block_height="$2" ;;
- "--col_offset") col_offset="$2" ;;
- # Bars
- "--bar_char")
- bar_char_elapsed="$2"
- bar_char_total="$3"
- ;;
- "--bar_border") bar_border="$2" ;;
- "--bar_length") bar_length="$2" ;;
- "--bar_colors")
- bar_color_elapsed="$2"
- bar_color_total="$3"
- ;;
- "--cpu_display") cpu_display="$2" ;;
- "--memory_display") memory_display="$2" ;;
- "--battery_display") battery_display="$2" ;;
- "--disk_display") disk_display="$2" ;;
- # Image backend
- "--backend") image_backend="$2" ;;
- "--source") image_source="$2" ;;
- "--ascii" | "--caca" | "--chafa" | "--jp2a" | "--iterm2" | "--off" | "--pot" |\
- "--pixterm" | "--sixel" | "--termpix" | "--tycat" | "--w3m" | "--kitty")
- image_backend="${1/--}"
- case $2 in
- "-"* | "") ;;
- *) image_source="$2" ;;
- esac
- ;;
- # Image options
- "--loop") image_loop="on" ;;
- "--image_size" | "--size") image_size="$2" ;;
- "--crop_mode") crop_mode="$2" ;;
- "--crop_offset") crop_offset="$2" ;;
- "--xoffset") xoffset="$2" ;;
- "--yoffset") yoffset="$2" ;;
- "--background_color" | "--bg_color") background_color="$2" ;;
- "--gap") gap="$2" ;;
- "--clean")
- [[ -d "$thumbnail_dir" ]] && rm -rf "$thumbnail_dir"
- rm -rf "/Library/Caches/neofetch/"
- rm -rf "/tmp/neofetch/"
- exit
- ;;
- "--ascii_colors")
- unset ascii_colors
- for arg in "$2" "$3" "$4" "$5" "$6" "$7"; do
- case $arg in
- "-"*) break ;;
- *) ascii_colors+=("$arg")
- esac
- done
- ascii_colors+=(7 7 7 7 7 7)
- ;;
- "--ascii_distro")
- image_backend="ascii"
- ascii_distro="$2"
- ;;
- "--ascii_bold") ascii_bold="$2" ;;
- "--logo" | "-L")
- image_backend="ascii"
- print_info() { printf '\n'; }
- ;;
- # Other
- "--config")
- case $2 in
- "none" | "off" | "") ;;
- *)
- config_file="$(get_full_path "$2")"
- get_user_config
- ;;
- esac
- ;;
- "--no_config") no_config="on" ;;
- "--stdout") stdout="on" ;;
- "-v") verbose="on" ;;
- "--print_config") printf '%s\n' "$config"; exit ;;
- "-vv") set -x; verbose="on" ;;
- "--help") usage ;;
- "--version")
- printf '%s\n' "Neofetch $version"
- exit 1
- ;;
- "--gen-man")
- help2man -n "A fast, highly customizable system info script" \
- -N ./neofetch -o neofetch.1
- exit 1
- ;;
- "--json")
- json="on"
- unset -f get_title get_cols get_underline
- printf '{\n'
- print_info 2>/dev/null
- printf ' %s\n' "\"Version\": \"${version}\""
- printf '}\n'
- exit
- ;;
- "--travis")
- print_info() {
- info title
- info underline
- info "OS" distro
- info "Host" model
- info "Kernel" kernel
- info "Uptime" uptime
- info "Packages" packages
- info "Shell" shell
- info "Resolution" resolution
- info "DE" de
- info "WM" wm
- info "WM Theme" wm_theme
- info "Theme" theme
- info "Icons" icons
- info "Terminal" term
- info "Terminal Font" term_font
- info "CPU" cpu
- info "GPU" gpu
- info "GPU Driver" gpu_driver
- info "Memory" memory
- info "CPU Usage" cpu_usage
- info "Disk" disk
- info "Battery" battery
- info "Font" font
- info "Song" song
- info "Local IP" local_ip
- info "Public IP" public_ip
- info "Users" users
- info cols
- # Testing.
- prin "prin"
- prin "prin" "prin"
- # Testing no subtitles.
- info uptime
- info disk
- }
- refresh_rate="on"
- shell_version="on"
- cpu_display="infobar"
- memory_display="infobar"
- disk_display="infobar"
- cpu_temp="C"
- # Known implicit unused variables.
- mpc_args=()
- printf '%s\n' "$kernel $icons $font $battery $locale ${mpc_args[*]}"
- ;;
- esac
- shift
- done
- }
- get_simple() {
- while [[ "$1" ]]; do
- [[ "$(type -t "get_$1")" == "function" ]] && {
- get_distro
- stdout
- simple=1
- info "$1" "$1"
- }
- shift
- done
- ((simple)) && exit
- }
- old_functions() {
- # Removed functions for backwards compatibility.
- get_line_break() { :; }
- }
- get_distro_ascii() {
- # This function gets the distro ascii art and colors.
- #
- # $ascii_distro is the same as $distro.
- case $(trim "$ascii_distro") in
- "AIX"*)
- set_colors 2 7
- read -rd '' ascii_data <<'EOF'
- ${c1} `:+ssssossossss+-`
- .oys///oyhddddhyo///sy+.
- /yo:+hNNNNNNNNNNNNNNNNh+:oy/
- :h/:yNNNNNNNNNNNNNNNNNNNNNNy-+h:
- `ys.yNNNNNNNNNNNNNNNNNNNNNNNNNNy.ys
- `h+-mNNNNNNNNNNNNNNNNNNNNNNNNNNNNm-oh
- h+-NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN.oy
- /d`mNNNNNNN/::mNNNd::m+:/dNNNo::dNNNd`m:
- h//NNNNNNN: . .NNNh mNo od. -dNNNNN:+y
- N.sNNNNNN+ -N/ -NNh mNNd. sNNNNNNNo-m
- N.sNNNNNs +oo /Nh mNNs` ` /mNNNNNNo-m
- h//NNNNh ossss` +h md- .hm/ `sNNNNN:+y
- :d`mNNN+/yNNNNNd//y//h//oNNNNy//sNNNd`m-
- yo-NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNm.ss
- `h+-mNNNNNNNNNNNNNNNNNNNNNNNNNNNNm-oy
- sy.yNNNNNNNNNNNNNNNNNNNNNNNNNNs.yo
- :h+-yNNNNNNNNNNNNNNNNNNNNNNs-oh-
- :ys:/yNNNNNNNNNNNNNNNmy/:sy:
- .+ys///osyhhhhys+///sy+.
- -/osssossossso/-
- EOF
- ;;
- "Hash"*)
- set_colors 123
- read -rd '' ascii_data <<'EOF'
- ${c1}
- + ###### +
- ### ###### ###
- ##### ###### #####
- ###### ###### ######
- ####### '"###### '"########
- ####### ###### ########
- ####### ###### ########
- ###### '"###### '"######
- ##### ###### #####
- ### ###### ###
- ~ ###### ~
- EOF
- ;;
- "alpine_small")
- set_colors 4 7
- read -rd '' ascii_data <<'EOF'
- ${c1} /\\ /\\
- /${c2}/ ${c1}\\ \\
- /${c2}/ ${c1}\\ \\
- /${c2}// ${c1}\\ \\
- ${c2}// ${c1}\\ \\
- \\
- EOF
- ;;
- "Alpine"*)
- set_colors 4 5 7 6
- read -rd '' ascii_data <<'EOF'
- ${c1} .hddddddddddddddddddddddh.
- :dddddddddddddddddddddddddd:
- /dddddddddddddddddddddddddddd/
- +dddddddddddddddddddddddddddddd+
- `sdddddddddddddddddddddddddddddddds`
- `ydddddddddddd++hdddddddddddddddddddy`
- .hddddddddddd+` `+ddddh:-sdddddddddddh.
- hdddddddddd+` `+y: .sddddddddddh
- ddddddddh+` `//` `.` -sddddddddd
- ddddddh+` `/hddh/` `:s- -sddddddd
- ddddh+` `/+/dddddh/` `+s- -sddddd
- ddd+` `/o` :dddddddh/` `oy- .yddd
- hdddyo+ohddyosdddddddddho+oydddy++ohdddh
- .hddddddddddddddddddddddddddddddddddddh.
- `yddddddddddddddddddddddddddddddddddy`
- `sdddddddddddddddddddddddddddddddds`
- +dddddddddddddddddddddddddddddd+
- /dddddddddddddddddddddddddddd/
- :dddddddddddddddddddddddddd:
- .hddddddddddddddddddddddh.
- EOF
- ;;
- "Alter"*)
- set_colors 6 6
- read -rd '' ascii_data <<'EOF'
- ${c1} %,
- ^WWWw
- 'wwwwww
- !wwwwwwww
- #`wwwwwwwww
- @wwwwwwwwwwww
- wwwwwwwwwwwwwww
- wwwwwwwwwwwwwwwww
- wwwwwwwwwwwwwwwwwww
- wwwwwwwwwwwwwwwwwwww,
- w~1i.wwwwwwwwwwwwwwwww,
- 3~:~1lli.wwwwwwwwwwwwwwww.
- :~~:~?ttttzwwwwwwwwwwwwwwww
- #<~:~~~~?llllltO-.wwwwwwwwwww
- #~:~~:~:~~?ltlltlttO-.wwwwwwwww
- @~:~~:~:~:~~(zttlltltlOda.wwwwwww
- @~:~~: ~:~~:~:(zltlltlO a,wwwwww
- 8~~:~~:~~~~:~~~~_1ltltu ,www
- 5~~:~~:~~:~~:~~:~~~_1ltq N,,
- g~:~~:~~~:~~:~~:~:~~~~1q N,
- EOF
- ;;
- "Amazon"*)
- set_colors 3 7
- read -rd '' ascii_data <<'EOF'
- ${c1} `-/oydNNdyo:.`
- `.:+shmMMMMMMMMMMMMMMmhs+:.`
- -+hNNMMMMMMMMMMMMMMMMMMMMMMNNho-
- .`` -/+shmNNMMMMMMNNmhs+/- ``.
- dNmhs+:. `.:/oo/:.` .:+shmNd
- dMMMMMMMNdhs+:.. ..:+shdNMMMMMMMd
- dMMMMMMMMMMMMMMNds odNMMMMMMMMMMMMMMd
- dMMMMMMMMMMMMMMMMh yMMMMMMMMMMMMMMMMd
- dMMMMMMMMMMMMMMMMh yMMMMMMMMMMMMMMMMd
- dMMMMMMMMMMMMMMMMh yMMMMMMMMMMMMMMMMd
- dMMMMMMMMMMMMMMMMh yMMMMMMMMMMMMMMMMd
- dMMMMMMMMMMMMMMMMh yMMMMMMMMMMMMMMMMd
- dMMMMMMMMMMMMMMMMh yMMMMMMMMMMMMMMMMd
- dMMMMMMMMMMMMMMMMh yMMMMMMMMMMMMMMMMd
- dMMMMMMMMMMMMMMMMh yMMMMMMMMMMMMMMMMd
- dMMMMMMMMMMMMMMMMh yMMMMMMMMMMMMMMMMd
- .:+ydNMMMMMMMMMMMh yMMMMMMMMMMMNdy+:.
- `.:+shNMMMMMh yMMMMMNhs+:``
- `-+shy shs+:`
- EOF
- ;;
- "Anarchy"*)
- set_colors 7 4
- read -rd '' ascii_data <<'EOF'
- ${c2}..${c1}
- ${c2}..${c1}
- ${c2}:..${c1}
- ${c2}:+++.${c1}
- .:::++${c2}++++${c1}+::.
- .:+######${c2}++++${c1}######+:.
- .+#########${c2}+++++${c1}##########:.
- .+##########${c2}+++++++${c1}##${c2}+${c1}#########+.
- +###########${c2}+++++++++${c1}############:
- +##########${c2}++++++${c1}#${c2}++++${c1}#${c2}+${c1}###########+
- +###########${c2}+++++${c1}###${c2}++++${c1}#${c2}+${c1}###########+
- :##########${c2}+${c1}#${c2}++++${c1}####${c2}++++${c1}#${c2}+${c1}############:
- ###########${c2}+++++${c1}#####${c2}+++++${c1}#${c2}+${c1}###${c2}++${c1}######+
- .##########${c2}++++++${c1}#####${c2}++++++++++++${c1}#######.
- .##########${c2}+++++++++++++++++++${c1}###########.
- #####${c2}++++++++++++++${c1}###${c2}++++++++${c1}#########+
- :###${c2}++++++++++${c1}#########${c2}+++++++${c1}#########:
- +######${c2}+++++${c1}##########${c2}++++++++${c1}#######+
- +####${c2}+++++${c1}###########${c2}+++++++++${c1}#####+
- :##${c2}++++++${c1}############${c2}++++++++++${c1}##:
- .${c2}++++++${c1}#############${c2}++++++++++${c1}+.
- :${c2}++++${c1}###############${c2}+++++++${c1}::
- .${c2}++. .:+${c1}##############${c2}+++++++${c1}..
- ${c2}.:.${c1} ..::++++++::..:${c2}++++${c1}+.
- ${c2}.${c1} ${c2}.:+++${c1}.
- ${c2}.:${c1}:
- ${c2}..${c1}
- ${c2}..${c1}
- EOF
- ;;
- "android_small"*)
- set_colors 2 7
- read -rd '' ascii_data <<'EOF'
- ${c1} ;, ,;
- ';,.-----.,;'
- ,' ',
- / O O \\
- | |
- '-----------------'
- EOF
- ;;
- "Android"*)
- set_colors 2 7
- read -rd '' ascii_data <<'EOF'
- ${c1} -o o-
- +hydNNNNdyh+
- +mMMMMMMMMMMMMm+
- `dMM${c2}m:${c1}NMMMMMMN${c2}:m${c1}MMd`
- hMMMMMMMMMMMMMMMMMMh
- .. yyyyyyyyyyyyyyyyyyyy ..
- .mMMm`MMMMMMMMMMMMMMMMMMMM`mMMm.
- :MMMM-MMMMMMMMMMMMMMMMMMMM-MMMM:
- :MMMM-MMMMMMMMMMMMMMMMMMMM-MMMM:
- :MMMM-MMMMMMMMMMMMMMMMMMMM-MMMM:
- :MMMM-MMMMMMMMMMMMMMMMMMMM-MMMM:
- -MMMM-MMMMMMMMMMMMMMMMMMMM-MMMM-
- +yy+ MMMMMMMMMMMMMMMMMMMM +yy+
- mMMMMMMMMMMMMMMMMMMm
- `/++MMMMh++hMMMM++/`
- MMMMo oMMMM
- MMMMo oMMMM
- oNMm- -mMNs
- EOF
- ;;
- "Antergos"*)
- set_colors 4 6
- read -rd '' ascii_data <<'EOF'
- ${c2} `.-/::/-``
- .-/osssssssso/.
- :osyysssssssyyys+-
- `.+yyyysssssssssyyyyy+.
- `/syyyyyssssssssssyyyyys-`
- `/yhyyyyysss${c1}++${c2}ssosyyyyhhy/`
- .ohhhyyyys${c1}o++/+o${c2}so${c1}+${c2}syy${c1}+${c2}shhhho.
- .shhhhys${c1}oo++//+${c2}sss${c1}+++${c2}yyy${c1}+s${c2}hhhhs.
- -yhhhhs${c1}+++++++o${c2}ssso${c1}+++${c2}yyy${c1}s+o${c2}hhddy:
- -yddhhy${c1}o+++++o${c2}syyss${c1}++++${c2}yyy${c1}yooy${c2}hdddy-
- .yddddhs${c1}o++o${c2}syyyyys${c1}+++++${c2}yyhh${c1}sos${c2}hddddy`
- `odddddhyosyhyyyyyy${c1}++++++${c2}yhhhyosddddddo
- .dmdddddhhhhhhhyyyo${c1}+++++${c2}shhhhhohddddmmh.
- ddmmdddddhhhhhhhso${c1}++++++${c2}yhhhhhhdddddmmdy
- dmmmdddddddhhhyso${c1}++++++${c2}shhhhhddddddmmmmh
- -dmmmdddddddhhys${c1}o++++o${c2}shhhhdddddddmmmmd-
- .smmmmddddddddhhhhhhhhhdddddddddmmmms.
- `+ydmmmdddddddddddddddddddmmmmdy/.
- `.:+ooyyddddddddddddyyso+:.`
- EOF
- ;;
- "antiX"*)
- set_colors 1 7 3
- read -rd '' ascii_data <<'EOF'
- ${c1}
- \
- , - ~ ^ ~ - \ /
- , ' \ ' , /
- , \ '/
- , \ / ,
- ,___, \/ ,
- / | _ _ _|_ o /\ ,
- |, | / |/ | | | / \ ,
- \,_/\_/ | |_/|_/|_/_/ \,
- , / ,\
- , / , ' \
- ' - , _ _ _ , '
- EOF
- ;;
- "AOSC OS/Retro"*)
- set_colors 4 7 1 3
- read -rd '' ascii_data <<'EOF'
- ${c2} .........
- ...................
- .....................${c1}################${c2}
- .............. ....${c1}################${c2}
- .............. ...${c1}################${c2}
- ............. ..${c1}****************${c2}
- ............ . .${c1}****************${c2}
- ........... ... ${c1}................${c2}
- .......... ..... ${c1}...............${c2}
- ......... ....... ...
- .${c3}...... ${c2}.
- ${c3}..... .....${c2}.... ${c4}...........
- ${c3}.... ......${c2}. ${c4}...........
- ${c3}... ....... ${c4}...........
- ${c3}................ ${c4}***********
- ${c3}................ ${c4}###########
- ${c3}****************
- ${c3}################
- EOF
- ;;
- "AOSC OS"*)
- set_colors 4 7 1
- read -rd '' ascii_data <<'EOF'
- ${c2} .:+syhhhhys+:.
- .ohNMMMMMMMMMMMMMMNho.
- `+mMMMMMMMMMMmdmNMMMMMMMMm+`
- +NMMMMMMMMMMMM/ `./smMMMMMN+
- .mMMMMMMMMMMMMMMo -yMMMMMm.
- :NMMMMMMMMMMMMMMMs .hMMMMN:
- .NMMMMhmMMMMMMMMMMm+/- oMMMMN.
- dMMMMs ./ymMMMMMMMMMMNy. sMMMMd
- -MMMMN` oMMMMMMMMMMMN: `NMMMM-
- /MMMMh NMMMMMMMMMMMMm hMMMM/
- /MMMMh NMMMMMMMMMMMMm hMMMM/
- -MMMMN` :MMMMMMMMMMMMy. `NMMMM-
- dMMMMs .yNMMMMMMMMMMMNy/. sMMMMd
- .NMMMMo -/+sMMMMMMMMMMMmMMMMN.
- :NMMMMh. .MMMMMMMMMMMMMMMN:
- .mMMMMMy- NMMMMMMMMMMMMMm.
- +NMMMMMms/.` mMMMMMMMMMMMN+
- `+mMMMMMMMMNmddMMMMMMMMMMm+`
- .ohNMMMMMMMMMMMMMMNho.
- .:+syhhhhys+:.
- EOF
- ;;
- "Apricity"*)
- set_colors 4 7 1
- read -rd '' ascii_data <<'EOF'
- ${c2} ./o-
- ``...`` `:. -/:
- `-+ymNMMMMMNmho-` :sdNNm/
- `+dMMMMMMMMMMMMMMMmo` sh:.:::-
- /mMMMMMMMMMMMMMMMMMMMm/`sNd/
- oMMMMMMMMMMMMMMMMMMMMMMMs -`
- :MMMMMMMMMMMMMMMMMMMMMMMMM/
- NMMMMMMMMMMMMMMMMMMMMMMMMMd
- MMMMMMMmdmMMMMMMMMMMMMMMMMd
- MMMMMMy` .mMMMMMMMMMMMmho:`
- MMMMMMNo/sMMMMMMMNdy+-.`-/
- MMMMMMMMMMMMNdy+:.`.:ohmm:
- MMMMMMMmhs+-.`.:+ymNMMMy.
- MMMMMM/`.-/ohmNMMMMMMy-
- MMMMMMNmNNMMMMMMMMmo.
- MMMMMMMMMMMMMMMms:`
- MMMMMMMMMMNds/.
- dhhyys+/-`
- EOF
- ;;
- "arcolinux_small"*)
- set_colors 7 4
- read -rd '' ascii_data <<'EOF'
- ${c2} A
- ooo
- ooooo
- ooooooo
- ooooooooo
- ooooo ooooo
- ooooo ooooo
- ooooo ooooo
- ooooo ${c1}<oooooooo>${c2}
- ooooo ${c1}<oooooo>${c2}
- ooooo ${c1}<oooo>${c2}
- EOF
- ;;
- "ArcoLinux"*)
- set_colors 7 4
- read -rd '' ascii_data <<'EOF'
- ${c2} /-
- ooo:
- yoooo/
- yooooooo
- yooooooooo
- yooooooooooo
- .yooooooooooooo
- .oooooooooooooooo
- .oooooooarcoooooooo
- .ooooooooo-oooooooooo
- .ooooooooo- oooooooooo
- :ooooooooo. :ooooooooo
- :ooooooooo. :ooooooooo
- :oooarcooo .oooarcooo
- :ooooooooy .ooooooooo
- :ooooooooo ${c1}/ooooooooooooooooooo${c2}
- :ooooooooo ${c1}.-ooooooooooooooooo.${c2}
- ooooooooo- ${c1}-ooooooooooooo.${c2}
- ooooooooo- ${c1}.-oooooooooo.${c2}
- ooooooooo. ${c1}-ooooooooo${c2}
- EOF
- ;;
- "arch_small")
- set_colors 6 7 1
- read -rd '' ascii_data <<'EOF'
- ${c1} /\\
- / \\
- /\\ \\
- ${c2} / \\
- / ,, \\
- / | | -\\
- /_-'' ''-_\\
- EOF
- ;;
- "arch_old")
- set_colors 6 7 1
- read -rd '' ascii_data <<'EOF'
- ${c1} __
- _=(SDGJT=_
- _GTDJHGGFCVS)
- ,GTDJGGDTDFBGX0
- ${c1} JDJDIJHRORVFSBSVL${c2}-=+=,_
- ${c1} IJFDUFHJNXIXCDXDSV,${c2} "DEBL
- ${c1} [LKDSDJTDU=OUSCSBFLD.${c2} '?ZWX,
- ${c1} ,LMDSDSWH' `DCBOSI${c2} DRDS],
- ${c1} SDDFDFH' !YEWD,${c2} )HDROD
- ${c1} !KMDOCG &GSU|${c2}\_GFHRGO\'
- ${c1} HKLSGP'${c2} __${c1}\TKM0${c2}\GHRBV)'
- ${c1}JSNRVW'${c2} __+MNAEC${c1}\IOI,${c2}\BN'
- ${c1}HELK['${c2} __,=OFFXCBGHC${c1}\FD)
- ${c1}?KGHE ${c2}\_-#DASDFLSV='${c1} 'EF
- 'EHTI !H
- `0F' '!
- EOF
- ;;
- "ArchBox"*)
- set_colors 2 7 1
- read -rd '' ascii_data <<'EOF'
- ${c1} ...:+oh/:::..
- ..-/oshhhhhh` `::::-.
- .:/ohhhhhhhhhhhh` `-::::.
- .+shhhhhhhhhhhhhhhhh` `.::-.
- /`-:+shhhhhhhhhhhhhh` .-/+shh
- / .:/ohhhhhhhhh` .:/ohhhhhhhh
- / `-:+shhh` ..:+shhhhhhhhhhhh
- / .:ohhhhhhhhhhhhhhhhhhh
- / `hhhhhhhhhhhhhhhhhhhh
- / `hhhhhhhhhhhhhhhhhhhh
- / `hhhhhhhhhhhhhhhhhhhh
- / `hhhhhhhhhhhhhhhhhhhh
- / .+o+ `hhhhhhhhhhhhhhhhhhhh
- / -hhhhh `hhhhhhhhhhhhhhhhhhhh
- / ohhhhho `hhhhhhhhhhhhhhhhhhhh
- /:::+`hhhhoos` `hhhhhhhhhhhhhhhhhs+`
- `--/:` /: `hhhhhhhhhhhho/-
- -/:. `hhhhhhs+:-`
- ::::/ho/-`
- EOF
- ;;
- "ARCHlabs"*)
- set_colors 6 6 7 1
- read -rd '' ascii_data <<'EOF'
- ${c1} 'c'
- 'kKk,
- .dKKKx.
- .oKXKXKd.
- .l0XXXXKKo.
- c0KXXXXKX0l.
- :0XKKOxxOKX0l.
- :OXKOc. .c0XX0l.
- :OK0o. ${c4}...${c1}'dKKX0l.
- :OX0c ${c4};xOx'${c1}'dKXX0l.
- :0KKo.${c4}.o0XXKd'.${c1}lKXX0l.
- c0XKd.${c4}.oKXXXXKd..${c1}oKKX0l.
- .c0XKk;${c4}.l0K0OO0XKd..${c1}oKXXKo.
- .l0XXXk:${c4},dKx,.'l0XKo.${c1}.kXXXKo.
- .o0XXXX0d,${c4}:x; .oKKx'${c1}.dXKXXKd.
- .oKXXXXKK0c.${c4};. :00c'${c1}cOXXXXXKd.
- .dKXXXXXXXXk,${c4}. cKx'${c1}'xKXXXXXXKx'
- 'xKXXXXK0kdl:. ${c4}.ok; ${c1}.cdk0KKXXXKx'
- 'xKK0koc,.. ${c4}'c, ${c1} ..,cok0KKk,
- ,xko:'. ${c4}.. ${c1} .':okx;
- .,'. .',.
- EOF
- ;;
- "ArchStrike"*)
- set_colors 8 6
- read -rd '' ascii_data <<'EOF'
- ${c1} *
- **.
- ****
- ******
- *******
- ** *******
- **** *******
- ${c1}****${c2}_____${c1}***${c2}/${c1}*
- ***${c2}/${c1}*******${c2}//${c1}***
- **${c2}/${c1}********${c2}///${c1}*${c2}/${c1}**
- **${c2}/${c1}*******${c2}////${c1}***${c2}/${c1}**
- **${c2}/${c1}****${c2}//////.,${c1}****${c2}/${c1}**
- ***${c2}/${c1}*****${c2}/////////${c1}**${c2}/${c1}***
- ****${c2}/${c1}**** ${c2}/////${c1}***${c2}/${c1}****
- ******${c2}/${c1}*** ${c2}//// ${c1}**${c2}/${c1}******
- ********${c2}/${c1}* ${c2}/// ${c1}*${c2}/${c1}********
- ,****** ${c2}// ______ / ${c1}******,
- EOF
- ;;
- *"XFerience"*)
- set_colors 6 6 7 1
- read -rd '' ascii_data <<'EOF'
- ${c1} ``--:::::::-.`
- .-/+++ooooooooo+++:-`
- `-/+oooooooooooooooooo++:.
- -/+oooooo/+ooooooooo+/ooo++:`
- `/+oo++oo. .+oooooo+.-: +:-o+-
- `/+o/. -o. :oooooo+ ```:.+oo+-
- `:+oo- -/` :oooooo+ .`-`+oooo/.
- .+ooo+. .` `://///+-+..oooooo+:`
- -+ooo:` ``.-+oooooo+/`
- -+oo/` :+oooo/.
- .+oo: ..-/. . -+oo+/`
- `/++- -:::++::/. -+oo+-
- ./o: `:///+- `./ooo+:`
- .++- `` /-` -:/+oooo+:`
- .:+/:`` `-:ooooooo++-
- ./+o+//:...../+oooooooo++:`
- `:/++ooooooooooooo++/-`
- `.-//++++++//:-.`
- ``````
- EOF
- ;;
- "ArchMerge"*)
- set_colors 6 6 7 1
- read -rd '' ascii_data <<'EOF'
- ${c1} y:
- sMN-
- +MMMm`
- /MMMMMd`
- :NMMMMMMy
- -NMMMMMMMMs
- .NMMMMMMMMMM+
- .mMMMMMMMMMMMM+
- oNMMMMMMMMMMMMM+
- `+:-+NMMMMMMMMMMMM+
- .sNMNhNMMMMMMMMMMMM/
- `hho/sNMMMMMMMMMMMMMMM/
- `.`omMMmMMMMMMMMMMMMMMMM+
- .mMNdshMMMMd+::oNMMMMMMMMMo
- .mMMMMMMMMM+ `yMMMMMMMMMs
- .NMMMMMMMMM/ yMMMMMMMMMy
- -NMMMMMMMMMh `mNMMMMMMMMd`
- /NMMMNds+:.` `-/oymMMMm.
- +Mmy/. `:smN:
- /+. -o.
- EOF
- ;;
- "Arch"*)
- set_colors 6 6 7 1
- read -rd '' ascii_data <<'EOF'
- ${c1} -`
- .o+`
- `ooo/
- `+oooo:
- `+oooooo:
- -+oooooo+:
- `/:-:++oooo+:
- `/++++/+++++++:
- `/++++++++++++++:
- `/+++o${c2}oooooooo${c1}oooo/`
- ${c2} ${c1}./${c2}ooosssso++osssssso${c1}+`
- ${c2} .oossssso-````/ossssss+`
- -osssssso. :ssssssso.
- :osssssss/ osssso+++.
- /ossssssss/ +ssssooo/-
- `/ossssso+/:- -:/+osssso+-
- `+sso+:-` `.-/+oso:
- `++:. `-/+/
- .` `/
- EOF
- ;;
- "artix_small"*)
- set_colors 6 6 7 1
- read -rd '' ascii_data <<'EOF'
- ${c1} /\\
- / \\
- /`'.,\\
- / ',
- / ,`\\
- / ,.'`. \\
- /.,'` `'.\\
- EOF
- ;;
- "Artix"*)
- set_colors 6 6 7 1
- read -rd '' ascii_data <<'EOF'
- ${c1} '
- 'o'
- 'ooo'
- 'ooxoo'
- 'ooxxxoo'
- 'oookkxxoo'
- 'oiioxkkxxoo'
- ':;:iiiioxxxoo'
- `'.;::ioxxoo'
- '-. `':;jiooo'
- 'oooio-.. `'i:io'
- 'ooooxxxxoio:,. `'-;'
- 'ooooxxxxxkkxoooIi:-. `'
- 'ooooxxxxxkkkkxoiiiiiji'
- 'ooooxxxxxkxxoiiii:'` .i'
- 'ooooxxxxxoi:::'` .;ioxo'
- 'ooooxooi::'` .:iiixkxxo'
- 'ooooi:'` `'';ioxxo'
- 'i:'` '':io'
- '` `'
- EOF
- ;;
- "Arya"*)
- set_colors 2 1
- read -rd '' ascii_data <<'EOF'
- ${c1} `oyyy/${c2}-yyyyyy+
- ${c1} -syyyy/${c2}-yyyyyy+
- ${c1} .syyyyy/${c2}-yyyyyy+
- ${c1} :yyyyyy/${c2}-yyyyyy+
- ${c1} `/ :yyyyyy/${c2}-yyyyyy+
- ${c1} .+s :yyyyyy/${c2}-yyyyyy+
- ${c1} .oys :yyyyyy/${c2}-yyyyyy+
- ${c1} -oyys :yyyyyy/${c2}-yyyyyy+
- ${c1} :syyys :yyyyyy/${c2}-yyyyyy+
- ${c1} /syyyys :yyyyyy/${c2}-yyyyyy+
- ${c1} +yyyyyys :yyyyyy/${c2}-yyyyyy+
- ${c1} .oyyyyyyo. :yyyyyy/${c2}-yyyyyy+ ---------
- ${c1} .syyyyyy+` :yyyyyy/${c2}-yyyyy+-+syyyyyyyy
- ${c1} -syyyyyy/ :yyyyyy/${c2}-yyys:.syyyyyyyyyy
- ${c1}:syyyyyy/ :yyyyyy/${c2}-yyo.:syyyyyyyyyyy
- EOF
- ;;
- "Bedrock"*)
- set_colors 8 7
- read -rd '' ascii_data <<'EOF'
- ${c1}--------------------------------------
- --------------------------------------
- --------------------------------------
- ---${c2}\\\\\\\\\\\\\\\\\\\\\\\\${c1}-----------------------
- ----${c2}\\\\\\ \\\\\\${c1}----------------------
- -----${c2}\\\\\\ \\\\\\${c1}---------------------
- ------${c2}\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\${c1}------
- -------${c2}\\\\\\ \\\\\\${c1}-----
- --------${c2}\\\\\\ \\\\\\${c1}----
- ---------${c2}\\\\\\ ______ \\\\\\${c1}---
- ----------${c2}\\\\\\ ///${c1}---
- -----------${c2}\\\\\\ ///${c1}----
- ------------${c2}\\\\\\ ///${c1}-----
- -------------${c2}\\\\\\////////////////${c1}------
- --------------------------------------
- --------------------------------------
- --------------------------------------
- EOF
- ;;
- "Bitrig"*)
- set_colors 2 7
- read -rd '' ascii_data <<'EOF'
- ${c1} `hMMMMN+
- -MMo-dMd`
- oMN- oMN`
- yMd /NM:
- .mMmyyhMMs
- :NMMMhsmMh
- +MNhNNoyMm-
- hMd.-hMNMN:
- mMmsssmMMMo
- .MMdyyhNMMMd
- oMN.`/dMddMN`
- yMm/hNm+./MM/
- .dMMMmo.``.NMo
- :NMMMNmmmmmMMh
- /MN/-------oNN:
- hMd. .dMh
- sm/ /ms
- EOF
- ;;
- "BlackArch"*)
- set_colors 1 1 0 1
- read -rd '' ascii_data <<'EOF'
- ${c3} 00
- 11
- ====${c1}
- .${c3}//${c1}
- `o${c3}//${c1}:
- `+o${c3}//${c1}o:
- `+oo${c3}//${c1}oo:
- -+oo${c3}//${c1}oo+:
- `/:-:+${c3}//${c1}ooo+:
- `/+++++${c3}//${c1}+++++:
- `/++++++${c3}//${c1}++++++:
- `/+++o${c2}ooo${c3}//${c2}ooo${c1}oooo/`
- ${c2} ${c1}./${c2}ooosssso${c3}//${c2}osssssso${c1}+`
- ${c2} .oossssso-`${c3}//${c1}`/ossssss+`
- -osssssso. ${c3}//${c1} :ssssssso.
- :osssssss/ ${c3}//${c1} osssso+++.
- /ossssssss/ ${c3}//${c1} +ssssooo/-
- `/ossssso+/:- ${c3}//${c1} -:/+osssso+-
- `+sso+:-` ${c3}//${c1} `.-/+oso:
- `++:. ${c3}//${c1} `-/+/
- .` ${c3}/${c1} `/
- EOF
- ;;
- "BLAG"*)
- set_colors 5 7
- read -rd '' ascii_data <<'EOF'
- ${c1} d
- ,MK:
- xMMMX:
- .NMMMMMX;
- lMMMMMMMM0clodkO0KXWW:
- KMMMMMMMMMMMMMMMMMMX'
- .;d0NMMMMMMMMMMMMMMMMMMK.
- .;dONMMMMMMMMMMMMMMMMMMMMMMx
- 'dKMMMMMMMMMMMMMMMMMMMMMMMMl
- .:xKWMMMMMMMMMMMMMMMMMMM0.
- .:xNMMMMMMMMMMMMMMMMMK.
- lMMMMMMMMMMMMMMMMMMK.
- ,MMMMMMMMWkOXWMMMMMM0
- .NMMMMMNd. `':ldko
- OMMMK:
- oWk,
- ;:
- EOF
- ;;
- "BlankOn"*)
- set_colors 1 7 3
- read -rd '' ascii_data <<'EOF'
- ${c2} `./ohdNMMMMNmho+.` ${c1} .+oo:`
- ${c2} -smMMMMMMMMMMMMMMMMmy-` ${c1}`yyyyy+
- ${c2} `:dMMMMMMMMMMMMMMMMMMMMMMd/` ${c1}`yyyyys
- ${c2} .hMMMMMMMNmhso/++symNMMMMMMMh- ${c1}`yyyyys
- ${c2} -mMMMMMMms-` -omMMMMMMN-${c1}.yyyyys
- ${c2}.mMMMMMMy. .yMMMMMMm:${c1}yyyyys
- ${c2}sMMMMMMy `sMMMMMMh${c1}yyyyys
- ${c2}NMMMMMN: .NMMMMMN${c1}yyyyys
- ${c2}MMMMMMm. NMMMMMN${c1}yyyyys
- ${c2}hMMMMMM+ /MMMMMMN${c1}yyyyys
- ${c2}:NMMMMMN: :mMMMMMM+${c1}yyyyys
- ${c2} oMMMMMMNs- .sNMMMMMMs.${c1}yyyyys
- ${c2} +MMMMMMMNho:.` `.:ohNMMMMMMNo ${c1}`yyyyys
- ${c2} -hMMMMMMMMNNNmmNNNMMMMMMMMh- ${c1}`yyyyys
- ${c2} :yNMMMMMMMMMMMMMMMMMMNy:` ${c1}`yyyyys
- ${c2} .:sdNMMMMMMMMMMNds/. ${c1}`yyyyyo
- ${c2} `.:/++++/:.` ${c1}:oys+.
- EOF
- ;;
- "BlueLight"*)
- set_colors 7 4
- read -rd '' ascii_data <<'EOF'
- ${c1} oMMNMMMMMMMMMMMMMMMMMMMMMM
- oMMMMMMMMMMMMMMMMMMMMMMMMM
- oMMMMMMMMMMMMMMMMMMMMMMMMM
- oMMMMMMMMMMMMMMMMMMMMMMMMM
- -+++++++++++++++++++++++mM${c2}
- ```````````````````````..${c1}dM${c2}
- ```````````````````````....${c1}dM${c2}
- ```````````````````````......${c1}dM${c2}
- ```````````````````````........${c1}dM${c2}
- ```````````````````````..........${c1}dM${c2}
- ```````````````````````............${c1}dM${c2}
- .::::::::::::::::::::::-..............${c1}dM${c2}
- `-+yyyyyyyyyyyyyyyyyyyo............${c1}+mMM${c2}
- -+yyyyyyyyyyyyyyyyo..........${c1}+mMMMM${c2}
- ./syyyyyyyyyyyyo........${c1}+mMMMMMM${c2}
- ./oyyyyyyyyyo......${c1}+mMMMMMMMM${c2}
- omdyyyyyyo....${c1}+mMMMMMMMMMM${c2}
- ${c1}oMMM${c2}mdhyyo..${c1}+mMMMMMMMMMMMM
- oNNNNNNm${c2}dso${c1}mMMMMMMMMMMMMMM
- EOF
- ;;
- "bonsai"*)
- set_colors 6 2 3
- read -rd '' ascii_data <<'EOF'
- ${c2} ,####,
- ${c2}#######, ${c2},#####,
- ${c2}#####',# ${c2}'######
- ${c2}''###'${c3}';,,,'${c2}###'
- ${c3} ,; ''''
- ${c3} ;;; ${c2},#####,
- ${c3} ;;;' ,,;${c2};;###
- ${c3} ';;;;''${c2}'####'
- ${c3} ;;;
- ${c3} ,.;;';'',,,
- ${c3} ' '
- ${c1} #
- # O
- ##, ,##,',##, ,## ,#, ,
- # # # # #''# #,, # # #
- '#' '##' # # ,,# '##;, #
- EOF
- ;;
- "BSD")
- set_colors 1 7 4 3 6
- read -rd '' ascii_data <<'EOF'
- ${c1} , ,
- /( )`
- \ \___ / |
- /- _ `-/ '
- (${c2}/\/ \ ${c1}\ /\
- ${c2}/ / | ` ${c1}\
- ${c3}O O ${c2}) ${c1}/ |
- ${c2}`-^--'${c1}`< '
- (_.) _ ) /
- `.___/` /
- `-----' /
- ${c4}<----. __ / __ \
- ${c4}<----|====${c1}O)))${c4}==${c1}) \) /${c4}====|
- <----' ${c1}`--' `.__,' \
- | |
- \ / /\
- ${c5}______${c1}( (_ / \______/
- ${c5},' ,-----' |
- `--{__________)
- EOF
- ;;
- "BunsenLabs"*)
- set_colors fg 7
- read -rd '' ascii_data <<'EOF'
- ${c1} `++
- -yMMs
- `yMMMMN`
- -NMMMMMMm.
- :MMMMMMMMMN-
- .NMMMMMMMMMMM/
- yMMMMMMMMMMMMM/
- `MMMMMMNMMMMMMMN.
- -MMMMN+ /mMMMMMMy
- -MMMm` `dMMMMMM
- `MMN. .NMMMMM.
- hMy yMMMMM`
- -Mo +MMMMN
- /o +MMMMs
- +MMMN`
- hMMM:
- `NMM/
- +MN:
- mh.
- -/
- EOF
- ;;
- "Calculate"*)
- set_colors 7 3
- read -rd '' ascii_data <<'EOF'
- ${c1} ......
- ,,+++++++,.
- .,,,....,,,${c2}+**+,,.${c1}
- ............,${c2}++++,,,${c1}
- ...............
- ......,,,........
- .....+*#####+,,,*+.
- .....,*###############,..,,,,,,..
- ......,*#################*..,,,,,..,,,..
- .,,....*####################+***+,,,,...,++,
- .,,..,..*#####################*,
- ,+,.+*..*#######################.
- ,+,,+*+..,########################*
- .,++++++. ..+##**###################+
- ..... ..+##***#################*.
- .,.*#*****##############*.
- ..,,*********#####****+.
- ${c2}.,++*****+++${c1}*****************${c2}+++++,.${c1}
- ${c2},++++++**+++++${c1}***********${c2}+++++++++,${c1}
- ${c2}.,,,,++++,.. .,,,,,.....,+++,.,,${c1}
- EOF
- ;;
- "Carbs"*)
- set_colors 4 5 4 4 4 4
- read -rd '' ascii_data <<'EOF'
- ${c2} ..........
- ..,;:ccccccc:;'..
- ..,clllc:;;;;;:cllc,.
- .,cllc,... ..';;'.
- .;lol;.. ..
- .,lol;.
- .coo:.
- .'lol,.
- .,lol,.
- .,lol,.
- 'col;.
- .:ooc'.
- .'col:.
- .'cllc'.. .''.
- ..:lolc,'.......',cll,.
- ..;cllllccccclllc;'.
- ...',;;;;;;,,...
- .....
- EOF
- ;;
- "centos_small"*)
- set_colors 3 2 4 5 7
- read -rd '' ascii_data <<'EOF'
- ${c2} ____${c1}^${c4}____
- ${c2} |\\ ${c1}|${c4} /|
- ${c2} | \\ ${c1}|${c4} / |
- ${c4}<---- ${c3}---->
- ${c3} | / ${c2}|${c1} \\ |
- ${c3} |/__${c2}|${c1}__\\|
- ${c2} v
- EOF
- ;;
- "CentOS"*)
- set_colors 3 2 4 5 7
- read -rd '' ascii_data <<'EOF'
- ${c1} ..
- .PLTJ.
- <><><><>
- ${c2}KKSSV' 4KKK ${c1}LJ${c4} KKKL.'VSSKK
- ${c2}KKV' 4KKKKK ${c1}LJ${c4} KKKKAL 'VKK
- ${c2}V' ' 'VKKKK ${c1}LJ${c4} KKKKV' ' 'V
- ${c2}.4MA.' 'VKK ${c1}LJ${c4} KKV' '.4Mb.
- ${c4} . ${c2}KKKKKA.' 'V ${c1}LJ${c4} V' '.4KKKKK ${c3}.
- ${c4} .4D ${c2}KKKKKKKA.'' ${c1}LJ${c4} ''.4KKKKKKK ${c3}FA.
- ${c4}<QDD ++++++++++++ ${c3}++++++++++++ GFD>
- ${c4} 'VD ${c3}KKKKKKKK'.. ${c2}LJ ${c1}..'KKKKKKKK ${c3}FV
- ${c4} ' ${c3}VKKKKK'. .4 ${c2}LJ ${c1}K. .'KKKKKV ${c3}'
- ${c3} 'VK'. .4KK ${c2}LJ ${c1}KKA. .'KV'
- ${c3}A. . .4KKKK ${c2}LJ ${c1}KKKKA. . .4
- ${c3}KKA. 'KKKKK ${c2}LJ ${c1}KKKKK' .4KK
- ${c3}KKSSA. VKKK ${c2}LJ ${c1}KKKV .4SSKK
- ${c2} <><><><>
- 'MKKM'
- ''
- EOF
- ;;
- "Chakra"*)
- set_colors 4 5 7 6
- read -rd '' ascii_data <<'EOF'
- ${c1} _ _ _ "kkkkkkkk.
- ,kkkkkkkk., 'kkkkkkkkk,
- ,kkkkkkkkkkkk., 'kkkkkkkkk.
- ,kkkkkkkkkkkkkkkk,'kkkkkkkk,
- ,kkkkkkkkkkkkkkkkkkk'kkkkkkk.
- "''"''',;::,,"''kkk''kkkkk; __
- ,kkkkkkkkkk, "k''kkkkk' ,kkkk
- ,kkkkkkk' ., ' .: 'kkkk',kkkkkk
- ,kkkkkkkk'.k' , ,kkkk;kkkkkkkkk
- ,kkkkkkkk';kk 'k "'k',kkkkkkkkkkkk
- .kkkkkkkkk.kkkk.'kkkkkkkkkkkkkkkkkk'
- ;kkkkkkkk''kkkkkk;'kkkkkkkkkkkkk''
- 'kkkkkkk; 'kkkkkkkk.,""''"''""
- ''kkkk; 'kkkkkkkkkk.,
- ';' 'kkkkkkkkkkkk.,
- ';kkkkkkkkkk'
- ';kkkkkk'
- "''"
- EOF
- ;;
- "ChaletOS"*)
- set_colors 4 7 1
- read -rd '' ascii_data <<'EOF'
- ${c1} `.//+osso+/:``
- `/sdNNmhyssssydmNNdo:`
- :hNmy+-` .-+hNNs-
- /mMh/` `+:` `+dMd:
- .hMd- -sNNMNo. /yyy /mMs`
- -NM+ `/dMd/--omNh::dMM `yMd`
- .NN+ .sNNs:/dMNy:/hNmo/s yMd`
- hMs `/hNd+-smMMMMMMd+:omNy- `dMo
- :NM. .omMy:/hNMMMMMMMMMMNy:/hMd+` :Md`
- /Md` `sm+.omMMMMMMMMMMMMMMMMd/-sm+ .MN:
- /Md` MMMMMMMMMMMMMMMMMMMN .MN:
- :NN. MMMMMMm....--NMMMMMN -Mm.
- `dMo MMMMMMd mMMMMMN hMs
- -MN: MMMMMMd mMMMMMN oMm`
- :NM: MMMMMMd mMMMMMN +Mm-
- -mMy. mmmmmmh dmmmmmh -hMh.
- oNNs- :yMm/
- .+mMdo:` `:smMd/`
- -ohNNmhsoo++osshmNNh+.
- `./+syyhhyys+:``
- EOF
- ;;
- "Chapeau"*)
- set_colors 2 7
- read -rd '' ascii_data <<'EOF'
- ${c1} .-/-.
- ////////.
- ////////${c2}y+${c1}//.
- ////////${c2}mMN${c1}/////.
- ////////${c2}mMN+${c1}////////.
- ////////////////////////.
- /////////+${c2}shhddhyo${c1}+////////.
- ////////${c2}ymMNmdhhdmNNdo${c1}///////.
- ///////+${c2}mMms${c1}////////${c2}hNMh${c1}///////.
- ///////${c2}NMm+${c1}//////////${c2}sMMh${c1}///////
- //////${c2}oMMNmmmmmmmmmmmmMMm${c1}///////
- //////${c2}+MMmssssssssssssss+${c1}///////
- `//////${c2}yMMy${c1}////////////////////
- `//////${c2}smMNhso++oydNm${c1}////////
- `///////${c2}ohmNMMMNNdy+${c1}///////
- `//////////${c2}++${c1}//////////
- `////////////////.
- -////////-
- EOF
- ;;
- "Chrom"*)
- set_colors 2 1 3 4 7
- read -rd '' ascii_data <<'EOF'
- ${c2} .,:loool:,.
- .,coooooooooooooc,.
- .,lllllllllllllllllllll,.
- ;ccccccccccccccccccccccccc;
- ${c1} '${c2}ccccccccccccccccccccccccccccc.
- ${c1} ,oo${c2}c::::::::okO${c5}000${c3}0OOkkkkkkkkkkk:
- ${c1}.ooool${c2};;;;:x${c5}K0${c4}kxxxxxk${c5}0X${c3}K0000000000.
- ${c1}:oooool${c2};,;O${c5}K${c4}ddddddddddd${c5}KX${c3}000000000d
- ${c1}lllllool${c2};l${c5}N${c4}dllllllllllld${c5}N${c3}K000000000
- ${c1}lllllllll${c2}o${c5}M${c4}dccccccccccco${c5}W${c3}K000000000
- ${c1};cllllllllX${c5}X${c4}c:::::::::c${c5}0X${c3}000000000d
- ${c1}.ccccllllllO${c5}Nk${c4}c;,,,;cx${c5}KK${c3}0000000000.
- ${c1} .cccccclllllxOO${c5}OOO${c1}Okx${c3}O0000000000;
- ${c1} .:ccccccccllllllllo${c3}O0000000OOO,
- ${c1} ,:ccccccccclllcd${c3}0000OOOOOOl.
- ${c1} '::ccccccccc${c3}dOOOOOOOkx:.
- ${c1} ..,::cccc${c3}xOOOkkko;.
- ${c1} ..,:${c3}dOkxl:.
- EOF
- ;;
- "cleanjaro_small"*)
- set_colors 7 7
- read -rd '' ascii_data <<'EOF'
- ${c1}█████ ██████████
- █████ ██████████
- █████
- █████
- █████
- ████████████████
- ████████████████
- EOF
- ;;
- "Cleanjaro"*)
- set_colors 7 7
- read -rd '' ascii_data <<'EOF'
- ${c1}███████▌ ████████████████
- ███████▌ ████████████████
- ███████▌ ████████████████
- ███████▌
- ███████▌
- ███████▌
- ███████▌
- ███████▌
- █████████████████████████
- █████████████████████████
- █████████████████████████
- ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
- EOF
- ;;
- "ClearOS"*)
- set_colors 2
- read -rd '' ascii_data <<'EOF'
- ${c1} `.--::::::--.`
- .-:////////////////:-.
- `-////////////////////////-`
- -////////////////////////////-
- `//////////////-..-//////////////`
- ./////////////: ://///////////.
- `//////:..-////: :////-..-//////`
- ://////` -///:.``.:///-` ://///:
- `///////:. -////////-` `:///////`
- .//:--////:. -////-` `:////--://.
- ./: .////:. --` `:////- :/.
- `//-` .////:. `:////- `-//`
- :///-` .////:. `:////- `-///:
- `/////-` -///: :///- `-/////`
- `//////- `///: :///` .//////`
- `:////: `///: :///` -////:`
- .://: `///: :///` -//:.
- .:: `///: :///` -:.
- `///: :///`
- `... ...`
- EOF
- ;;
- "Clear Linux OS"* | "Clear_Linux"*)
- set_colors 4 3 7 6
- read -rd '' ascii_data <<'EOF'
- ${c1} BBB
- BBBBBBBBB
- BBBBBBBBBBBBBBB
- BBBBBBBBBBBBBBBBBBBB
- BBBBBBBBBBB BBB
- BBBBBBBB${c2}YYYYY
- ${c1} BBBBBBBB${c2}YYYYYY
- ${c1} BBBBBBBB${c2}YYYYYYY
- ${c1} BBBBBBBBB${c2}YYYYY${c3}W
- ${c4} GG${c1}BBBBBBBY${c2}YYYY${c3}WWW
- ${c4} GGG${c1}BBBBBBB${c2}YY${c3}WWWWWWWW
- ${c4} GGGGGG${c1}BBBBBB${c3}WWWWWWWW
- ${c4} GGGGGGGG${c1}BBBB${c3}WWWWWWWW
- ${c4}GGGGGGGGGGG${c1}BBB${c3}WWWWWWW
- ${c4}GGGGGGGGGGGGG${c1}B${c3}WWWWWW
- ${c4}GGGGGGGG${c3}WWWWWWWWWWW
- ${c4}GG${c3}WWWWWWWWWWWWWWWW
- WWWWWWWWWWWWWWWW
- WWWWWWWWWW
- WWW
- EOF
- ;;
- "Clover"*)
- set_colors 2 6
- read -rd '' ascii_data <<'EOF'
- ${c1} `omo``omo`
- `oNMMMNNMMMNo`
- `oNMMMMMMMMMMMMNo`
- oNMMMMMMMMMMMMMMMMNo
- `sNMMMMMMMMMMMMMMNs`
- `omo` `sNMMMMMMMMMMNs` `omo`
- `oNMMMNo` `sNMMMMMMNs` `oNMMMNo`
- `oNMMMMMMMNo` `oNMMNs` `oNMMMMMMMNo`
- oNMMMMMMMMMMMNo` `sy` `oNMMMMMMMMMMMNo
- `sNMMMMMMMMMMMMNo.${c2}oNNs${c1}.oNMMMMMMMMMMMMNs`
- `oNMMMMMMMMMMMMNs.${c2}oNNs${c1}.oNMMMMMMMMMMMMNo`
- oNMMMMMMMMMMMNs` `sy` `oNMMMMMMMMMMMNo
- `oNMMMMMMMNs` `oNMMNo` `oNMMMMMMMNs`
- `oNMMMNs` `sNMMMMMMNs` `oNMMMNs`
- `oNs` `sNMMMMMMMMMMNs` `oNs`
- `sNMMMMMMMMMMMMMMNs`
- +NMMMMMMMMMMMMMMMMNo
- `oNMMMMMMMMMMMMNo`
- `oNMMMNNMMMNs`
- `omo``oNs`
- EOF
- ;;
- "Condres"*)
- set_colors 2 3 6
- read -rd '' ascii_data <<'EOF'
- ${c1}syyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy+${c3}.+.
- ${c1}`oyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy+${c3}:++.
- ${c2}/o${c1}+oyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy/${c3}oo++.
- ${c2}/y+${c1}syyyyyyyyyyyyyyyyyyyyyyyyyyyyy${c3}+ooo++.
- ${c2}/hy+${c1}oyyyhhhhhhhhhhhhhhyyyyyyyyy${c3}+oo+++++.
- ${c2}/hhh+${c1}shhhhhdddddhhhhhhhyyyyyyy${c3}+oo++++++.
- ${c2}/hhdd+${c1}oddddddddddddhhhhhyyyys${c3}+oo+++++++.
- ${c2}/hhddd+${c1}odmmmdddddddhhhhyyyy${c3}+ooo++++++++.
- ${c2}/hhdddmo${c1}odmmmdddddhhhhhyyy${c3}+oooo++++++++.
- ${c2}/hdddmmms${c1}/dmdddddhhhhyyys${c3}+oooo+++++++++.
- ${c2}/hddddmmmy${c1}/hdddhhhhyyyyo${c3}+oooo++++++++++:
- ${c2}/hhdddmmmmy${c1}:yhhhhyyyyy+${c3}+oooo+++++++++++:
- ${c2}/hhddddddddy${c1}-syyyyyys+${c3}ooooo++++++++++++:
- ${c2}/hhhddddddddy${c1}-+yyyy+${c3}/ooooo+++++++++++++:
- ${c2}/hhhhhdddddhhy${c1}./yo:${c3}+oooooo+++++++++++++/
- ${c2}/hhhhhhhhhhhhhy${c1}:-.${c3}+sooooo+++++++++++///:
- ${c2}:sssssssssssso++${c1}${c3}`:/:--------.````````
- EOF
- ;;
- "Container Linux by CoreOS"* | "Container_Linux"*)
- set_colors 4 7 1
- read -rd '' ascii_data <<'EOF'
- ${c1} .....
- .';:cccccccc:;'.
- ':ccccclc${c3}lllllllll${c1}cc:.
- .;cccccccc${c3}lllllllllllllll${c1}c,
- ;clllccccc${c3}llllllllllllllllll${c1}c,
- .cllclccccc${c3}lllll${c2}lll${c3}llllllllllll${c1}c:
- ccclclcccc${c3}cllll${c2}kWMMNKk${c3}llllllllll${c1}c:
- :ccclclcccc${c3}llll${c2}oWMMMMMMWO${c3}lllllllll${c1}c,
- .ccllllllccc${c3}clll${c2}OMMMMMMMMM0${c3}lllllllll${c1}c
- .lllllclcccc${c3}llll${c2}KMMMMMMMMMMo${c3}llllllll${c1}c.
- .lllllllcccc${c3}clll${c2}KMMMMMMMMN0${c3}lllllllll${c1}c.
- .cclllllcccc${c3}lllld${c2}xkkxxdo${c3}llllllllllc${c1}lc
- :cccllllllcccc${c3}lllccllllcclccc${c1}cccccc;
- .ccclllllllcccccccc${c3}lll${c1}ccccclccccccc
- .cllllllllllclcccclccclccllllcllc
- :cllllllllccclcllllllllllllcc;
- .cccccccccccccclcccccccccc:.
- .;cccclccccccllllllccc,.
- .';ccccclllccc:;..
- .....
- EOF
- ;;
- "crux_small"|KISS*)
- set_colors 4 5 7 6
- read -rd '' ascii_data <<'EOF'
- ${c1} ___
- (${c3}.· ${c1}|
- (${c2}<> ${c1}|
- / ${c3}__ ${c1}\\
- ( ${c3}/ \\ ${c1}/|
- ${c2}_${c1}/\\ ${c3}__)${c1}/${c2}_${c1})
- ${c2}\/${c1}-____${c2}\/
- EOF
- ;;
- "CRUX"*)
- set_colors 4 5 7 6
- read -rd '' ascii_data <<'EOF'
- ${c1} odddd
- oddxkkkxxdoo
- ddcoddxxxdoool
- xdclodod olol
- xoc xdd olol
- xdc ${c2}k00${c1}Okdlol
- xxd${c2}kOKKKOkd${c1}ldd
- xdco${c2}xOkdlo${c1}dldd
- ddc:cl${c2}lll${c1}oooodo
- odxxdd${c3}xkO000kx${c1}ooxdo
- oxdd${c3}x0NMMMMMMWW0od${c1}kkxo
- oooxd${c3}0WMMMMMMMMMW0o${c1}dxkx
- docldkXW${c3}MMMMMMMWWN${c1}Odolco
- xx${c2}dx${c1}kxxOKN${c3}WMMWN${c1}0xdoxo::c
- ${c2}xOkkO${c1}0oo${c3}odOW${c2}WW${c1}XkdodOxc:l
- ${c2}dkkkxkkk${c3}OKX${c2}NNNX0Oxx${c1}xc:cd
- ${c2} odxxdx${c3}xllod${c2}ddooxx${c1}dc:ldo
- ${c2} lodd${c1}dolccc${c2}ccox${c1}xoloo
- EOF
- ;;
- *"Cucumber"*)
- set_colors 2 3
- read -rd '' ascii_data <<'EOF'
- ${c1} `.-://++++++//:-.`
- `:/+//${c2}::--------${c1}:://+/:`
- -++/:${c2}----..........----${c1}:/++-
- .++:${c2}---...........-......---${c1}:++.
- /+:${c2}---....-::/:/--//:::-....---${c1}:+/
- `++:${c2}--.....:---::/--/::---:.....--${c1}:++`
- /+:${c2}--.....--.--::::-/::--.--.....--${c1}:+/
- -o:${c2}--.......-:::://--/:::::-.......--${c1}:o-
- /+:${c2}--...-:-::---:::..:::---:--:-...--${c1}:+/
- o/:${c2}-...-:.:.-/:::......::/:.--.:-...-${c1}:/o
- o/${c2}--...::-:/::/:-......-::::::-/-...-${c1}:/o
- /+:${c2}--..-/:/:::--:::..:::--::////-..--${c1}:+/
- -o:${c2}--...----::/:::/--/:::::-----...--${c1}:o-
- /+:${c2}--....://:::.:/--/:.::://:....--${c1}:+/
- `++:${c2}--...-:::.--.:..:.--.:/:-...--${c1}:++`
- /+:${c2}---....----:-..-:----....---${c1}:+/
- .++:${c2}---..................---${c1}:++.
- -/+/:${c2}----..........----${c1}:/+/-
- `:/+//${c2}::--------:::${c1}/+/:`
- `.-://++++++//:-.`
- EOF
- ;;
- "dahlia"*)
- set_colors 1 7 3
- read -rd '' ascii_data <<'EOF'
- ${c1}
- .#.
- *%@@@%*
- .,,,,,(&@@@@@@@&/,,,,,.
- ,#@@@@@@@@@@@@@@@@@@@@@#.
- ,#@@@@@@@&#///#&@@@@@@@#.
- ,/%&@@@@@%/, .,(%@@@@@&#/.
- *#&@@@@@@#,. .*#@@@@@@&#,
- .&@@@@@@@@@( .(@@@@@@@@@&&.
- #@@@@@@@@@@( )@@@@@@@@@@@#
- °@@@@@@@@@@( .(@@@@@@@@@@@°
- *%@@@@@@@(. ,#@@@@@@@%*
- ,(&@@@@@@%*. ./%@@@@@@%(,
- ,#@@@@@@@&(***(&@@@@@@@#.
- ,#@@@@@@@@@@@@@@@@@@@@@#.
- ,*****#&@@@@@@@&(*****,
- ,/%@@@%/.
- ,#,
- EOF
- ;;
- "debian_small")
- set_colors 1 7 3
- read -rd '' ascii_data <<'EOF'
- ${c1} _____
- / __ \\
- | / |
- | \\___-
- -_
- --_
- EOF
- ;;
- "Debian"*)
- set_colors 1 7 3
- read -rd '' ascii_data <<'EOF'
- ${c2} _,met$$$$$gg.
- ,g$$$$$$$$$$$$$$$P.
- ,g$$P" """Y$$.".
- ,$$P' `$$$.
- ',$$P ,ggs. `$$b:
- `d$$' ,$P"' ${c1}.${c2} $$$
- $$P d$' ${c1},${c2} $$P
- $$: $$. ${c1}-${c2} ,d$$'
- $$; Y$b._ _,d$P'
- Y$$. ${c1}`.${c2}`"Y$$$$P"'
- ${c2} `$$b ${c1}"-.__
- ${c2} `Y$$
- `Y$$.
- `$$b.
- `Y$$b.
- `"Y$b._
- `"""
- EOF
- ;;
- "Deepin"*)
- set_colors 2 7
- read -rd '' ascii_data <<'EOF'
- ${c1} ............
- .';;;;;. .,;,.
- .,;;;;;;;. ';;;;;;;.
- .;::::::::' .,::;;,''''',.
- ,'.:::::::: .;;'. ';
- ;' 'cccccc, ,' :: '.. .:
- ,, :ccccc. ;: .c, '' :. ,;
- .l. cllll' ., .lc :; .l' l.
- .c :lllc ;cl: .l' .ll. :'
- .l 'looc. . ,o: 'oo' c,
- .o. .:ool::coc' .ooo' o.
- :: ..... .;dddo ;c
- l:... .';lddddo. ,o
- lxxxxxdoolllodxxxxxxxxxc :l
- ,dxxxxxxxxxxxxxxxxxxl. 'o,
- ,dkkkkkkkkkkkkko;. .;o;
- .;okkkkkdl;. .,cl:.
- .,:cccccccc:,.
- EOF
- ;;
- "DesaOS")
- set_colors 2 7
- read -rd '' ascii_data <<'EOF'
- ${c1}███████████████████████
- ███████████████████████
- ███████████████████████
- ███████████████████████
- ████████ ███████
- ████████ ███████
- ████████ ███████
- ████████ ███████
- ████████ ███████
- ████████ ███████
- ████████ ███████
- ██████████████████████████████
- ██████████████████████████████
- ████████████████████████
- ████████████████████████
- ████████████████████████
- EOF
- ;;
- "Devuan"*)
- set_colors 5 7
- read -rd '' ascii_data <<'EOF'
- ${c1} ..,,;;;::;,..
- `':ddd;:,.
- `'dPPd:,.
- `:b$$b`.
- 'P$$$d`
- .$$$$$`
- ;$$$$$P
- .:P$$$$$$`
- .,:b$$$$$$$;'
- .,:dP$$$$$$$$b:'
- .,:;db$$$$$$$$$$Pd'`
- ,db$$$$$$$$$$$$$$b:'`
- :$$$$$$$$$$$$b:'`
- `$$$$$bd:''`
- `'''`
- EOF
- ;;
- "DracOS"*)
- set_colors 1 7 3
- read -rd '' ascii_data <<'EOF'
- ${c1} `-:/-
- -os:
- -os/`
- :sy+-`
- `/yyyy+.
- `+yyyyo-
- `/yyyys:
- `:osssoooo++- +yyyyyy/`
- ./yyyyyyo yo`:syyyy+.
- -oyyy+ +- :yyyyyo-
- `:sy: `. `/yyyyys:
- ./o/.` .oyyso+oo:`
- :+oo+//::::///:-.` `.`
- EOF
- ;;
- "DarkOs")
- set_colors 1 6 5 3 2
- read -rd '' ascii_data <<'EOF'
- ${c3}⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠢⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
- ${c1}⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣶⠋⡆⢹⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
- ${c5}⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡆⢀⣤⢛⠛⣠⣿⠀⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
- ${c6}⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣶⣿⠟⣡⠊⣠⣾⣿⠃⣠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
- ${c2}⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣯⣿⠀⠊⣤⣿⣿⣿⠃⣴⣧⣄⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
- ${c1}⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣶⣿⣿⡟⣠⣶⣿⣿⣿⢋⣤⠿⠛⠉⢁⣭⣽⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
- ${c4} ⠀⠀⠀⠀⠀⠀ ⠀⣠⠖⡭⢉⣿⣯⣿⣯⣿⣿⣿⣟⣧⠛⢉⣤⣶⣾⣿⣿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
- ${c5}⠀⠀⠀⠀⠀⠀⠀⠀⣴⣫⠓⢱⣯⣿⢿⠋⠛⢛⠟⠯⠶⢟⣿⣯⣿⣿⣿⣿⣿⣿⣦⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
- ${c2}⠀⠀⠀⠀⠀⠀⢀⡮⢁⣴⣿⣿⣿⠖⣠⠐⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠉⠛⠛⠛⢿⣶⣄⠀⠀⠀⠀⠀⠀⠀
- ${c3}⠀⠀⠀⠀⢀⣤⣷⣿⣿⠿⢛⣭⠒⠉⠀⠀⠀⣀⣀⣄⣤⣤⣴⣶⣶⣶⣿⣿⣿⣿⣿⠿⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀
- ${c1}⠀⢀⣶⠏⠟⠝⠉⢀⣤⣿⣿⣶⣾⣿⣿⣿⣿⣿⣿⣟⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
- ${c6}⢴⣯⣤⣶⣿⣿⣿⣿⣿⡿⣿⣯⠉⠉⠉⠉⠀⠀⠀⠈⣿⡀⣟⣿⣿⢿⣿⣿⣿⣿⣿⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
- ${c5}⠀⠀⠀⠉⠛⣿⣧⠀⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠃⣿⣿⣯⣿⣦⡀⠀⠉⠻⣿⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀
- ${c3}⠀⠀⠀⠀⠀⠀⠉⢿⣮⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⠀⣯⠉⠉⠛⢿⣿⣷⣄⠀⠈⢻⣆⠀⠀⠀⠀⠀⠀⠀⠀
- ${c2}⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠢⠀⠀⠀⠀⠀⠀⠀⢀⢡⠃⣾⣿⣿⣦⠀⠀⠀⠙⢿⣿⣤⠀⠙⣄⠀⠀⠀⠀⠀⠀⠀
- ${c6}⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⢋⡟⢠⣿⣿⣿⠋⢿⣄⠀⠀⠀⠈⡄⠙⣶⣈⡄⠀⠀⠀⠀⠀⠀
- ${c1}⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⠚⢲⣿⠀⣾⣿⣿⠁⠀⠀⠉⢷⡀⠀⠀⣇⠀⠀⠈⠻⡀⠀⠀⠀⠀⠀
- ${c4}⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢢⣀⣿⡏⠀⣿⡿⠀⠀⠀⠀⠀⠀⠙⣦⠀⢧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
- ${c3}⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠿⣧⣾⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣮⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
- ${c5}⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠙⠛⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
- EOF
- ;;
- "Itc"*)
- set_colors 1
- read -rd '' ascii_data <<'EOF'
- ${c1}....................-==============+...
- ${c1}....................-==============:...
- ${c1}...:===========-....-==============:...
- ${c1}...-===========:....-==============-...
- ${c1}....*==========+........-::********-...
- ${c1}....*===========+.:*====**==*+-.-......
- ${c1}....:============*+-..--:+**====*---...
- ${c1}......::--........................::...
- ${c1}..+-:+-.+::*:+::+:-++::++-.:-.*.:++:++.
- ${c1}..:-:-++++:-::--:+::-::.:++-++:++--:-:. ⠀⠀⠀⠀⠀
- ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
- EOF
- ;;
- "dragonfly_old"*)
- set_colors 1 7 3
- read -rd '' ascii_data <<'EOF'
- ${c1} .-.
- ${c3} ()${c1}I${c3}()
- ${c1} "==.__:-:__.=="
- "==.__/~|~\__.=="
- "==._( Y )_.=="
- ${c2}.-'~~""~=--...,__${c1}\/|\/${c2}__,...--=~""~~'-.
- ( ..=${c1}\\=${c1}/${c2}=.. )
- `'-. ,.-"`;${c1}/=\\${c2};"-.,_ .-'`
- `~"-=-~` .-~` ${c1}|=|${c2} `~-. `~-=-"~`
- .-~` /${c1}|=|${c2}\ `~-.
- .~` / ${c1}|=|${c2} \ `~.
- .-~` .' ${c1}|=|${c2} `. `~-.
- (` _,.-="` ${c1} |=|${c2} `"=-.,_ `)
- `~"~"` ${c1} |=|${c2} `"~"~`
- ${c1} /=\\
- \\=/
- ^
- EOF
- ;;
- "dragonfly_small"*)
- set_colors 1 7 3
- read -rd '' ascii_data <<'EOF'
- ${c2} ,${c1}_${c2},
- ('-_${c1}|${c2}_-')
- >--${c1}|${c2}--<
- (_-'${c1}|${c2}'-_)
- ${c1}|
- |
- |
- EOF
- ;;
- "DragonFly"*)
- set_colors 1 7 3
- read -rd '' ascii_data <<'EOF'
- ${c2},--, ${c1}| ${c2},--,
- ${c2}| `-, ${c1},^, ${c2},-' |
- ${c2} `, `-, ${c3}(/ \) ${c2},-' ,'
- ${c2} `-, `-,${c1}/ \${c2},-' ,-'
- ${c2} `------${c1}( )${c2}------'
- ${c2} ,----------${c1}( )${c2}----------,
- ${c2} | _,-${c1}( )${c2}-,_ |
- ${c2} `-,__,-' ${c1}\ /${c2} `-,__,-'
- ${c1} | |
- | |
- | |
- | |
- | |
- | |
- `|'
- EOF
- ;;
- "Drauger"*)
- set_colors 1 7
- read -rd '' ascii_data <<'EOF'
- ${c1} -``-
- `:+``+:`
- `/++``++/.
- .++/. ./++.
- :++/` `/++:
- `/++: :++/`
- ./+/- -/+/.
- -++/. ./++-
- :++:` `:++:
- `/++- -++/`
- ./++. ./+/.
- -++/` `/++-
- :++:` `:++:
- `/++- -++/`
- .:-.`..............................`.-:.
- `.-/++++++++++++++++++++++++++++++++/-.`
- EOF
- ;;
- "elementary_small"*)
- set_colors 4 7 1
- read -rd '' ascii_data <<'EOF'
- ${c2} _______
- / ____ \\
- / | / /\\
- |__\\ / / |
- \\ /__/ /
- \\_______/
- EOF
- ;;
- "Elementary"*)
- set_colors 4 7 1
- read -rd '' ascii_data <<'EOF'
- ${c2} eeeeeeeeeeeeeeeee
- eeeeeeeeeeeeeeeeeeeeeee
- eeeee eeeeeeeeeeee eeeee
- eeee eeeee eee eeee
- eeee eeee eee eeee
- eee eee eee eee
- eee eee eee eee
- ee eee eeee eeee
- ee eee eeeee eeeeee
- ee eee eeeee eeeee ee
- eee eeee eeeeee eeeee eee
- eee eeeeeeeeee eeeeee eee
- eeeeeeeeeeeeeeeeeeeeeeee eeeee
- eeeeeeee eeeeeeeeeeee eeee
- eeeee eeeee
- eeeeeee eeeeeee
- eeeeeeeeeeeeeeeee
- EOF
- ;;
- "EndeavourOS"*)
- set_colors 1 5 4
- read -rd '' ascii_data <<'EOF'
- ${c1} ./${c2}o${c3}.
- ${c1} ./${c2}sssso${c3}-
- ${c1} `:${c2}osssssss+${c3}-
- ${c1} `:+${c2}sssssssssso${c3}/.
- ${c1} `-/o${c2}ssssssssssssso${c3}/.
- ${c1} `-/+${c2}sssssssssssssssso${c3}+:`
- ${c1} `-:/+${c2}sssssssssssssssssso${c3}+/.
- ${c1} `.://o${c2}sssssssssssssssssssso${c3}++-
- ${c1} .://+${c2}ssssssssssssssssssssssso${c3}++:
- ${c1} .:///o${c2}ssssssssssssssssssssssssso${c3}++:
- ${c1} `:////${c2}ssssssssssssssssssssssssssso${c3}+++.
- ${c1}`-////+${c2}ssssssssssssssssssssssssssso${c3}++++-
- ${c1} `..-+${c2}oosssssssssssssssssssssssso${c3}+++++/`
- ./++++++++++++++++++++++++++++++/:.
- `:::::::::::::::::::::::::------``
- EOF
- ;;
- "Endless"*)
- set_colors 1 7
- read -rd '' ascii_data <<'EOF'
- ${c1} `:+yhmNMMMMNmhy+:`
- -odMMNhso//////oshNMMdo-
- /dMMh+. .+hMMd/
- /mMNo` `oNMm:
- `yMMo` `oMMy`
- `dMN- -NMd`
- hMN. .NMh
- /MM/ -os` /MM/
- dMm `smNmmhs/- `:sNMd+ `` mMd
- MMy oMd--:+yMMMMMNo.:ohmMMMNy` yMM
- MMy -NNyyhmMNh+oNMMMMMy:. dMo yMM
- dMm `/++/-``/yNNh+/sdNMNddMm- mMd
- /MM/ `dNy: `-::- /MM/
- hMN. .NMh
- `dMN- -NMd`
- `yMMo` `oMMy`
- /mMNo` `oNMm/
- /dMMh+. .+hMMd/
- -odMMNhso//////oshNMMdo-
- `:+yhmNMMMMNmhy+:`
- EOF
- ;;
- "EuroLinux"*)
- set_colors 4 7
- read -rd '' ascii_data <<'EOF'
- ${c1} __
- -wwwWWWWWWWWWwww-
- -WWWWWWWWWWWWWWWWWWw-
- \WWWWWWWWWWWWWWWWWWW-
- _Ww `WWWWWWWWWWWWWWWWWWWw
- -W${c2}E${c1}Www -WWWWWWWWW-
- _WW${c2}U${c1}WWWW- _WWWWWWWW
- _WW${c2}R${c1}WWWWWWWWWWWWWWWWWWWWWWWWWWWWWW-
- wWW${c2}O${c1}WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
- WWW${c2}L${c1}WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWw
- WWW${c2}I${c1}WWWWWWWWWWWWWWWWWWWWWWWWWWWWww-
- wWW${c2}N${c1}WWWWw
- WW${c2}U${c1}WWWWWWw
- wW${c2}X${c1}WWWWWWWWww
- wWWWWWWWWWWWWWWWw
- wWWWWWWWWWWWWWWWw
- WWWWWWWWWWWWWw
- wWWWWWWWw
- EOF
- ;;
- "Exherbo"*)
- set_colors 4 7 1
- read -rd '' ascii_data <<'EOF'
- ${c2} ,
- OXo.
- NXdX0: .cok0KXNNXXK0ko:.
- KX '0XdKMMK;.xMMMk, .0MMMMMXx; ...
- 'NO..xWkMMx kMMM cMMMMMX,NMWOxOXd.
- cNMk NK .oXM. OMMMMO. 0MMNo kW.
- lMc o: ., .oKNk; ;NMMWlxW'
- ;Mc .. .,,' .0M${c1}g;${c2}WMN'dWMMMMMMO
- XX ,WMMMMW. cM${c1}cfli${c2}WMKlo. .kMk
- .Mo .WM${c1}GD${c2}MW. XM${c1}WO0${c2}MMk oMl
- ,M: ,XMMWx::,''oOK0x; NM.
- 'Ml ,kNKOxxxxxkkO0XXKOd:. oMk
- NK .0Nxc${c3}:::::::::::::::${c2}fkKNk, .MW
- ,Mo .NXc${c3}::${c2}qXWXb${c3}::::::::::${c2}oo${c3}::${c2}lNK. .MW
- ;Wo oMd${c3}:::${c2}oNMNP${c3}::::::::${c2}oWMMMx${c3}:${c2}c0M; lMO
- 'NO;W0c${c3}:::::::::::::::${c2}dMMMMO${c3}::${c2}lMk .WM'
- xWONXdc${c3}::::::::::::::${c2}oOOo${c3}::${c2}lXN. ,WMd
- 'KWWNXXK0Okxxo,${c3}:::::::${c2},lkKNo xMMO
- :XMNxl,';:lodxkOO000Oxc. .oWMMo
- 'dXMMXkl;,. .,o0MMNo'
- ':d0XWMMMMWNNNNMMMNOl'
- ':okKXWNKkl'
- EOF
- ;;
- "fedora_small")
- set_colors 4 7 1
- read -rd '' ascii_data <<'EOF'
- ${c2} _____
- / __)${c1}\\${c2}
- | / ${c1}\\ \\${c2}
- ${c1}__${c2}_| |_${c1}_/ /${c2}
- ${c1}/ ${c2}(_ _)${c1}_/${c2}
- ${c1}/ /${c2} | |
- ${c1}\\ \\${c2}__/ |
- ${c1}\\${c2}(_____/
- EOF
- ;;
- "Fedora"* | "RFRemix"*)
- set_colors 4 7 1
- read -rd '' ascii_data <<'EOF'
- ${c1} /:-------------:\\
- :-------------------::
- :-----------${c2}/shhOHbmp${c1}---:\\
- /-----------${c2}omMMMNNNMMD ${c1}---:
- :-----------${c2}sMMMMNMNMP${c1}. ---:
- :-----------${c2}:MMMdP${c1}------- ---\\
- ,------------${c2}:MMMd${c1}-------- ---:
- :------------${c2}:MMMd${c1}------- .---:
- :---- ${c2}oNMMMMMMMMMNho${c1} .----:
- :-- .${c2}+shhhMMMmhhy++${c1} .------/
- :- -------${c2}:MMMd${c1}--------------:
- :- --------${c2}/MMMd${c1}-------------;
- :- ------${c2}/hMMMy${c1}------------:
- :--${c2} :dMNdhhdNMMNo${c1}------------;
- :---${c2}:sdNMMMMNds:${c1}------------:
- :------${c2}:://:${c1}-------------::
- :---------------------://
- EOF
- ;;
- "Feren"*)
- set_colors 4 7 1
- read -rd '' ascii_data <<'EOF'
- ${c1} `----------`
- :+ooooooooo+.
- -o+oooooooooo+-
- ..`/+++++++++++/...`````````````````
- .++++++++++++++++++++++++++/////-
- ++++++++++++++++++++++++++++++++//:`
- -++++++++++++++++++++++++++++++/-`
- ++++++++++++++++++++++++++++:.
- -++++++++++++++++++++++++/.
- +++++++++++++++++++++/-`
- -++++++++++++++++++//-`
- .:+++++++++++++//////-
- .:++++++++//////////-
- `-++++++---:::://///.
- `.:///+++. `
- `.........
- EOF
- ;;
- "freebsd_small")
- set_colors 1 7 3
- read -rd '' ascii_data <<'EOF'
- ${c1}/\\,-'''''-,/\\
- \\_) (_/
- | |
- | |
- ; ;
- '-_____-'
- EOF
- ;;
- FreeBSD*|HardenedBSD*)
- case $ascii_distro in
- *HardenedBSD*) set_colors 4 7 3 ;;
- *) set_colors 1 7 3
- esac
- read -rd '' ascii_data <<'EOF'
- ${c2}``` ${c1}`
- ${c2}` `.....---...${c1}....--.``` -/
- ${c2}+o .--` ${c1}/y:` +.
- ${c2} yo`:. ${c1}:o `+-
- ${c2}y/ ${c1}-/` -o/
- ${c2}.- ${c1}::/sy+:.
- ${c2}/ ${c1}`-- /
- ${c2}`: ${c1}:`
- ${c2}`: ${c1}:`
- ${c2}/ ${c1}/
- ${c2}.- ${c1}-.
- ${c2}-- ${c1}-.
- ${c2}`:` ${c1}`:`
- .-- `--.
- .---.....----.
- EOF
- ;;
- "FreeMiNT"*)
- set_colors 7
- read -rd '' ascii_data <<'EOF'
- ${c1} ##
- ## #########
- #### ##
- #### #### ##
- #### #### ## ##
- #### #### ## ##
- #### #### ## ## ##
- #### ######
- ###### ## ## ####
- #### ################
- #### ## ####
- ## #### ######
- ## ## #### ####
- ## ## ## ## ## ####
- #### ## ## ##
- EOF
- ;;
- "Frugalware"*)
- set_colors 4 7 1
- read -rd '' ascii_data <<'EOF'
- ${c1} `++/::-.`
- /o+++++++++/::-.`
- `o+++++++++++++++o++/::-.`
- /+++++++++++++++++++++++oo++/:-.``
- .o+ooooooooooooooooooosssssssso++oo++/:-`
- ++osoooooooooooosssssssssssssyyo+++++++o:
- -o+ssoooooooooooosssssssssssssyyo+++++++s`
- o++ssoooooo++++++++++++++sssyyyyo++++++o:
- :o++ssoooooo${c2}/-------------${c1}+syyyyyo+++++oo
- `o+++ssoooooo${c2}/-----${c1}+++++ooosyyyyyyo++++os:
- /o+++ssoooooo${c2}/-----${c1}ooooooosyyyyyyyo+oooss
- .o++++ssooooos${c2}/------------${c1}syyyyyyhsosssy-
- ++++++ssooooss${c2}/-----${c1}+++++ooyyhhhhhdssssso
- -s+++++syssssss${c2}/-----${c1}yyhhhhhhhhhhhddssssy.
- sooooooyhyyyyyh${c2}/-----${c1}hhhhhhhhhhhddddyssy+
- :yooooooyhyyyhhhyyyyyyhhhhhhhhhhdddddyssy`
- yoooooooyhyyhhhhhhhhhhhhhhhhhhhddddddysy/
- -ysooooooydhhhhhhhhhhhddddddddddddddddssy
- .-:/+osssyyyysyyyyyyyyyyyyyyyyyyyyyyssy:
- ``.-/+oosysssssssssssssssssssssss
- ``.:/+osyysssssssssssssh.
- `-:/+osyyssssyo
- .-:+++`
- EOF
- ;;
- "Funtoo"*)
- set_colors 5 7
- read -rd '' ascii_data <<'EOF'
- ${c1} .dKXXd .
- :XXl;:. .OXo
- .'OXO'' .''''''''''''''''''''':XNd..'oco.lco,
- xXXXXXX, cXXXNNNXXXXNNXXXXXXXXNNNNKOOK; d0O .k
- kXX xXo KNNN0 KNN. 'xXNo :c; 'cc.
- kXX xNo KNNN0 KNN. :xxxx. 'NNo
- kXX xNo loooc KNN. oNNNN. 'NNo
- kXX xN0:. KNN' oNNNX' ,XNk
- kXX xNNXNNNNNNNNXNNNNNNNNXNNOxXNX0Xl
- ... ......................... .;cc;.
- EOF
- ;;
- "GalliumOS"*)
- set_colors 4 7 1
- read -rd '' ascii_data <<'EOF'
- ${c1}sooooooooooooooooooooooooooooooooooooo+:
- yyooooooooooooooooooooooooooooooooo+/:::
- yyysoooooooooooooooooooooooooooo+/::::::
- yyyyyoooooooooooooooooooooooo+/:::::::::
- yyyyyysoooooooooooooooooo++/::::::::::::
- yyyyyyysoooooooooooooo++/:::::::::::::::
- yyyyyyyyysoooooo${c2}sydddys${c1}+/:::::::::::::::
- yyyyyyyyyysooo${c2}smMMMMMMMNd${c1}+::::::::::::::
- yyyyyyyyyyyyo${c2}sMMMMMMMMMMMN${c1}/:::::::::::::
- yyyyyyyyyyyyy${c2}dMMMMMMMMMMMM${c1}o//:::::::::::
- yyyyyyyyyyyyy${c2}hMMMMMMMMMMMm${c1}--//::::::::::
- yyyyyyyyyyyyyy${c2}hmMMMMMMMNy${c1}:..-://::::::::
- yyyyyyyyyyyyyyy${c2}yyhhyys+:${c1}......://:::::::
- yyyyyyyyyyyyyyys+:--...........-///:::::
- yyyyyyyyyyyys+:--................://::::
- yyyyyyyyyo+:-.....................-//:::
- yyyyyyo+:-..........................://:
- yyyo+:-..............................-//
- o/:-...................................:
- EOF
- ;;
- "Garuda"*)
- set_colors 7 7
- read -rd '' ascii_data <<'EOF'
- ${c1} __,,,,,,,_
- _╓╗╣╫╠╠╠╠╠╠╠╠╠╠╠╠╠╕╗╗┐_
- ╥╢╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╥,
- ╗╠╠╠╠╠╠╠╝╜╜╜╜╝╢╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠┐
- ╣╠╠╠╠╠╠╠╠╢╣╢╗╕ , `"╘╠╠╠╠╠╠╠╠╠╠╠╠╠╠╔╥_
- ╒╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╕╙╥╥╜ `"╜╠╬╠╠╠╠╠╠╠╠╠╠╠╥,
- ╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╗╥╥╥╥╗╗╬╠╠╠╠╠╠╠╝╙╠╠╣╠╠╠╠╢┐
- ╣╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╥╬╣╠╠╠╠╠╠╠╠╗
- ╒╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╗
- ╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠
- ╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╬ ```"╜╝╢╠╠╡
- ╒╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╣, ╘╠╪
- ╞╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╢┐ ╜
- `╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╗
- ,╬╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠"╕
- ╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╗
- ╝^╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╝╣╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╡
- ╔╜`╞┘╢╛╜ ╡╢╠"╚╠╠╜╝┌╞╞"╢╠╠╠╠╠╠╠╠╠╠╣╩╢╪
- ╜╒" `╜ ` ╜╙╕ └╣╠╠╠╠╕ ╞╙╖
- ╠╠╠
- ╜
- EOF
- ;;
- "gentoo_small")
- set_colors 5 7
- read -rd '' ascii_data <<'EOF'
- ${c1} _-----_
- ( \\
- \ 0 \\
- ${c2} \ )
- / _/
- ( _-
- \____-
- EOF
- ;;
- "Gentoo"*)
- set_colors 5 7
- read -rd '' ascii_data <<'EOF'
- ${c1} -/oyddmdhs+:.
- -o${c2}dNMMMMMMMMNNmhy+${c1}-`
- -y${c2}NMMMMMMMMMMMNNNmmdhy${c1}+-
- `o${c2}mMMMMMMMMMMMMNmdmmmmddhhy${c1}/`
- om${c2}MMMMMMMMMMMN${c1}hhyyyo${c2}hmdddhhhd${c1}o`
- .y${c2}dMMMMMMMMMMd${c1}hs++so/s${c2}mdddhhhhdm${c1}+`
- oy${c2}hdmNMMMMMMMN${c1}dyooy${c2}dmddddhhhhyhN${c1}d.
- :o${c2}yhhdNNMMMMMMMNNNmmdddhhhhhyym${c1}Mh
- .:${c2}+sydNMMMMMNNNmmmdddhhhhhhmM${c1}my
- /m${c2}MMMMMMNNNmmmdddhhhhhmMNh${c1}s:
- `o${c2}NMMMMMMMNNNmmmddddhhdmMNhs${c1}+`
- `s${c2}NMMMMMMMMNNNmmmdddddmNMmhs${c1}/.
- /N${c2}MMMMMMMMNNNNmmmdddmNMNdso${c1}:`
- +M${c2}MMMMMMNNNNNmmmmdmNMNdso${c1}/-
- yM${c2}MNNNNNNNmmmmmNNMmhs+/${c1}-`
- /h${c2}MMNNNNNNNNMNdhs++/${c1}-`
- `/${c2}ohdmmddhys+++/:${c1}.`
- `-//////:--.
- EOF
- ;;
- "Pentoo"*)
- set_colors 5 7
- read -rd '' ascii_data <<'EOF'
- ${c2} `:oydNNMMMMNNdyo:`
- :yNMMMMMMMMMMMMMMMMNy:
- :dMMMMMMMMMMMMMMMMMMMMMMd:
- oMMMMMMMho/-....-/ohMMMMMMMo
- oMMMMMMy. .yMMMMMMo
- .MMMMMMo oMMMMMM.
- +MMMMMm mMMMMM+
- oMMMMMh hMMMMMo
- //hMMMMMm//${c1}`${c2} ${c1}`${c2}////mMMMMMh//
- MMMMMMMMMMM${c1}/${c2} ${c1}/o/`${c2} ${c1}.${c2}smMMMMMMMMMMM
- MMMMMMMMMMm ${c1}`NMN:${c2} ${c1}.${c2}yMMMMMMMMMM
- MMMMMMMMMMMh${c1}:.${c2} dMMMMMMMMM
- MMMMMMMMMMMMMy${c1}.${c2} ${c1}-${c2}NMMMMMMMMM
- MMMMMMMMMMMd:${c1}`${c2} ${c1}-${c2}yNMMMMMMMMMM
- MMMMMMMMMMh${c1}`${c2} ${c1}./${c2}hNMMMMMMMMMMMM
- MMMMMMMMMM${c1}s${c2} ${c1}.:${c2}ymMMMMMMMMMMMMMMM
- MMMMMMMMMMN${c1}s:..-/${c2}ohNMMMMMMMMMMMMMMMMMM
- MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
- MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
- MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
- EOF
- ;;
- "gNewSense"*)
- set_colors 4 5 7 6
- read -rd '' ascii_data <<'EOF'
- ${c1} ..,,,,..
- .oocchhhhhhhhhhccoo.
- .ochhlllllllc hhhhhh ollllllhhco.
- ochlllllllllll hhhllllllhhh lllllllllllhco
- .cllllllllllllll hlllllo +hllh llllllllllllllc.
- ollllllllllhco'' hlllllo +hllh ``ochllllllllllo
- hllllllllc' hllllllllllllh `cllllllllh
- ollllllh +llllllllllll+ hllllllo
- `cllllh. ohllllllho .hllllc'
- ochllc. ++++ .cllhco
- `+occooo+. .+ooocco+'
- `+oo++++ ++++oo+'
- EOF
- ;;
- "GNOME"*)
- set_colors 4
- read -rd '' ascii_data <<'EOF'
- ${c1} ,@@@@@@@@,
- @@@@@@ @@@@@@@@@@@@
- ,@@. @@@@@@@ *@@@@@@@@@@@@
- @@@@@% @@@@@@( @@@@@@@@@@@&
- @@@@@@ @@@@* @@@@@@@@@#
- @@@@* @@@@, *@@@@@%
- @@@@@.
- @@@@# @@@@@@@@@@@@@@@@
- ,@@@@@@@@@@@@@@@@@@@@@@@,
- ,@@@@@@@@@@@@@@@@@@@@@@@@@@&
- .@@@@@@@@@@@@@@@@@@@@@@@@@@@@
- @@@@@@@@@@@@@@@@@@@@@@@@@@@
- @@@@@@@@@@@@@@@@@@@@@@@@(
- @@@@@@@@@@@@@@@@@@@@%
- @@@@@@@@@@@@@@@@
- @@@@@@@@@@@@* @@@@@@@@/
- &@@@@@@@@@@ @@@@@@@@@*
- @@@@@@@@@@@, @@@@@@@@@*
- ,@@@@@@@@@@@@@@@@@@@@&
- &@@@@@@@@@@@@@@
- ...
- EOF
- ;;
- "GNU")
- set_colors fg 7
- read -rd '' ascii_data <<'EOF'
- ${c1} _-`````-, ,- '- .
- .' .- - | | - -. `.
- /.' / `. \
- :/ : _... ..._ `` :
- :: : /._ .`:'_.._\. || :
- :: `._ ./ ,` : \ . _.'' .
- `:. / | -. \-. \\_ /
- \:._ _/ .' .@) \@) ` `\ ,.'
- _/,--' .- .\,-.`--`.
- ,'/'' (( \ ` )
- /'/' \ `-' (
- '/'' `._,-----'
- ''/' .,---'
- ''/' ;:
- ''/'' ''/
- ''/''/''
- '/'/'
- `;
- EOF
- ;;
- "GoboLinux"*)
- set_colors 5 4 6 2
- read -rd '' ascii_data <<'EOF'
- ${c1} _____ _
- / ____| | |
- | | __ ___ | |__ ___
- | | |_ |/ _ \| '_ \ / _ \
- | |__| | (_) | |_) | (_) |
- \_____|\___/|_.__/ \___/
- EOF
- ;;
- "Grombyang"*)
- set_colors 4 2 1
- read -rd '' ascii_data <<'EOF'
- ${c1} eeeeeeeeeeee
- eeeeeeeeeeeeeeeee
- eeeeeeeeeeeeeeeeeeeeeee
- eeeee ${c2}.o+ ${c1}eeee
- eeee ${c2}`ooo/ ${c1}eeee
- eeee ${c2}`+oooo: ${c1}eeee
- eee ${c2}`+oooooo: ${c1}eee
- eee ${c2}-+oooooo+: ${c1}eee
- ee ${c2}`/:oooooooo+: ${c1}ee
- ee ${c2}`/+ +++ +: ${c1}ee
- ee ${c2}+o+\ ${c1}ee
- eee ${c2}+o+\ ${c1}eee
- eee ${c2}// \\ooo/ \\\ ${c1}eee
- eee ${c2}//++++oooo++++\\\ ${c1}eee
- eeee ${c2}::::++oooo+::::: ${c1}eeee
- eeeee ${c3}Grombyang OS ${c1} eeee
- eeeeeeeeeeeeeeeeeeeeeee
- eeeeeeeeeeeeeeeee
- EOF
- ;;
- "guix_small"*)
- set_colors 3 7 6 1 8
- read -rd '' ascii_data <<'EOF'
- ${c1}|.__ __.|
- |__ \\ / __|
- \\ \\ / /
- \\ \\ / /
- \\ \\ / /
- \\ \\/ /
- \\__/
- EOF
- ;;
- "Guix"*)
- set_colors 3 7 6 1 8
- read -rd '' ascii_data <<'EOF'
- ${c1} .. `.
- `--..```..` `..```..--`
- .-:///-:::. `-:::///:-.
- ````.:::` `:::.````
- -//:` -::-
- ://: -::-
- `///- .:::`
- -+++-:::.
- :+/:::-
- `-....`
- EOF
- ;;
- "haiku_small"*)
- set_colors 2 8
- read -rd '' ascii_data <<'EOF'
- ${c1} ,^,
- / \\
- *--_ ; ; _--*
- \\ '" "' /
- '. .'
- .-'" "'-.
- '-.__. .__.-'
- |_|
- EOF
- ;;
- "Haiku"*)
- set_colors 2 8
- read -rd '' ascii_data <<'EOF'
- ${c2} :dc'
- 'l:;'${c1},${c2}'ck. .;dc:.
- co ${c1}..${c2}k. .;; ':o.
- co ${c1}..${c2}k. ol ${c1}.${c2}0.
- co ${c1}..${c2}k. oc ${c1}..${c2}0.
- co ${c1}..${c2}k. oc ${c1}..${c2}0.
- .Ol,. co ${c1}...''${c2}Oc;kkodxOdddOoc,.
- ';lxxlxOdxkxk0kd${c1}oooll${c2}dl${c1}ccc:${c2}clxd;
- ..${c1}oOolllllccccccc:::::${c2}od;
- cx:ooc${c1}:::::::;${c2}cooolcX.
- cd${c1}.${c2}''cloxdoollc' ${c1}...${c2}0.
- cd${c1}......${c2}k;${c1}.${c2}xl${c1}.... .${c2}0.
- .::c${c1};..${c2}cx;${c1}.${c2}xo${c1}..... .${c2}0.
- '::c'${c1}...${c2}do${c1}..... .${c2}K,
- cd,.${c1}....:${c2}O,${c1}
- ':clod:'${c1}
- ${c1}
- EOF
- ;;
- "Huayra"*)
- set_colors 4 7
- read -rd '' ascii_data <<'EOF'
- ${c2} `
- . . `
- `` - . .
- `.` -` `. - `` .`
- ..`-`-` + - / .` ```
- .--.+--`+:- :/.` .-``.`
- -+/so::h:.d-`./:`.`
- :hNhyMomy:os-...-. ````
- .dhsshNmNhoo+:-``.```
- ${c1}`ohy:-${c2}NMds+::-.``
- ````${c1}.hNN+`${c2}mMNho/:-....````
- ````` `../dmNhoo+/:..``
- ```` .dh++o/:....`
- .+s/` `/s-.-.:.`` ````
- ::` `::`..`
- .` `..
- ``
- EOF
- ;;
- "hyperbola_small"*)
- set_colors 8
- read -rd '' ascii_data <<'EOF'
- ${c1} |`__.`/
- \____/
- .--.
- / \\
- / ___ \\
- / .` `.\\
- /.` `.\\
- EOF
- ;;
- "Hyperbola"*)
- set_colors 8
- read -rd '' ascii_data <<'EOF'
- ${c1} WW
- KX W
- WO0W NX0O
- NOO0NW WNXK0OOKW
- W0OOOOOOOOOOOOKN
- N0OOOOOOO0KXW
- WNXXXNW
- NXK00000KN
- WNK0OOOOOOOOOO0W
- NK0OOOOOOOOOOOOOO0W
- X0OOOOOOO00KK00OOOOOK
- X0OOOO0KNWW WX0OO0W
- X0OO0XNW KOOW
- N00KNW KOW
- NKXN W0W
- WW W
- EOF
- ;;
- "januslinux"*|"janus"*|"Ataraxia Linux"*|"Ataraxia"*)
- set_colors 4 5 6 2
- read -rd '' ascii_data <<'EOF'
- ${c1} 'l:
- loooooo
- loooo coooool
- looooooooooooooooooool
- looooooooooooooooo
- lool cooo
- coooooooloooooooo
- clooooo ;lood cloooo
- :loooocooo cloo loooo
- loooo :ooooool loooo
- looo cooooo cooooo
- looooooooooooo ;loooooo ${c2}looooooc
- ${c1}looooooooo loo cloooooool ${c2}looooc
- ${c1} cooo cooooooooooo ${c2}looolooooool
- ${c1} cooo: ${c2}coooooooooooooooooool
- loooooooooooolc: loooc;
- cooo: loooooooooooc
- ;oool looooooo:
- coool olc,
- looooc ,,
- coooooc loc
- :oooool, coool:, looool:,
- looool: ooooooooooooooo:
- cooolc .ooooooooooool
- EOF
- ;;
- "Kali"*)
- set_colors 4 8
- read -rd '' ascii_data <<'EOF'
- ${c1}..............
- ..,;:ccc,.
- ......''';lxO.
- .....''''..........,:ld;
- .';;;:::;,,.x,
- ..'''. 0Xxoc:,. ...
- .... ,ONkc;,;cokOdc',.
- . OMo ':${c2}dd${c1}o.
- dMc :OO;
- 0M. .:o.
- ;Wd
- ;XO,
- ,d0Odlc;,..
- ..',;:cdOOd::,.
- .:d;.':;.
- 'd, .'
- ;l ..
- .o
- c
- .'
- .
- EOF
- ;;
- "KaOS"*)
- set_colors 4 7 1
- read -rd '' ascii_data <<'EOF'
- ${c1} ..
- ..... ..OSSAAAAAAA..
- .KKKKSS. .SSAAAAAAAAAAA.
- .KKKKKSO. .SAAAAAAAAAA...
- KKKKKKS. .OAAAAAAAA.
- KKKKKKS. .OAAAAAA.
- KKKKKKS. .SSAA..
- .KKKKKS..OAAAAAAAAAAAA........
- DKKKKO.=AA=========A===AASSSO..
- AKKKS.==========AASSSSAAAAAASS.
- .=KKO..========ASS.....SSSSASSSS.
- .KK. .ASS..O.. =SSSSAOSS:
- .OK. .ASSSSSSSO...=A.SSA.
- .K ..SSSASSSS.. ..SSA.
- .SSS.AAKAKSSKA.
- .SSS....S..
- EOF
- ;;
- "KDE"*)
- set_colors 2 7
- read -rd '' ascii_data <<'EOF'
- ${c1} `..---+/---..`
- `---.`` `` `.---.`
- .--.` `` `-:-.
- `:/: `.----//----.` :/-
- .:. `---` `--.` .:`
- .:` `--` .:- `:.
- `/ `:. `.-::-.` -:` `/`
- /. /. `:++++++++:` .: .:
- `/ .: `+++++++++++/ /` `+`
- /+` -- .++++++++++++` :. .+:
- `/ .: `+++++++++++/ /` `+`
- /` /. `:++++++++:` .: .:
- ./ `:. `.:::-.` -:` `/`
- .:` `--` .:- `:.
- .:. `---` `--.` .:`
- `:/: `.----//----.` :/-
- .-:.` `` `-:-.
- `---.`` `` `.---.`
- `..---+/---..`
- EOF
- ;;
- "Kibojoe"*)
- set_colors 2 7 4
- read -rd '' ascii_data <<'EOF'
- ${c3} ./+oooooo+/.
- -/+ooooo+/:.`
- ${c1}`${c3}yyyo${c2}+++/++${c3}osss${c1}.
- ${c1}+NMN${c3}yssssssssssss${c1}.
- ${c1}.dMMMMN${c3}sssssssssssy${c1}Ns`
- +MMMMMMMm${c3}sssssssssssh${c1}MNo`
- `hMMMMMNNNMd${c3}sssssssssssd${c1}MMN/
- .${c3}syyyssssssy${c1}NNmmmmd${c3}sssss${c1}hMMMMd:
- -NMmh${c3}yssssssssyhhhhyssyh${c1}mMMMMMMMy`
- -NMMMMMNN${c3}mdhyyyyyyyhdm${c1}NMMMMMMMMMMMN+
- `NMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMd.
- ods+/:-----://+oyydmNMMMMMMMMMMMMMMMMMN-
- ` .-:+osyhhdmmNNNmdo
- EOF
- ;;
- "Kogaion"*)
- set_colors 4 7 1
- read -rd '' ascii_data <<'EOF'
- ${c1} ;; ,;
- ;;; ,;;
- ,;;;; ;;;;
- ,;;;;;;;; ;;;;
- ;;;;;;;;;;; ;;;;;
- ,;;;;;;;;;;;; ';;;;;,
- ;;;;;;;;;;;;;;, ';;;;;;;
- ;;;;;;;;;;;;;;;;;, ';;;;;
- ; ';;;;;;;;;;;;;;;;;;, ;;;
- ;;;, ';;;;;;;;;;;;;;;;;;;,;;
- ;;;;;, ';;;;;;;;;;;;;;;;;;,
- ;;;;;;;;, ';;;;;;;;;;;;;;;;,
- ;;;;;;;;;;;;, ';;;;;;;;;;;;;;
- ';;;;;;;;;;;;; ';;;;;;;;;;;;;
- ';;;;;;;;;;;;;, ';;;;;;;;;;;
- ';;;;;;;;;;;;; ;;;;;;;;;;
- ';;;;;;;;;;;; ;;;;;;;;
- ';;;;;;;; ;;;;;;
- ';;;;; ;;;;
- ';;; ;;
- EOF
- ;;
- "Korora"*)
- set_colors 4 7 1
- read -rd '' ascii_data <<'EOF'
- ${c2} ____________
- _add55555555554${c1}:
- _w?'${c1}``````````'${c2})k${c1}:
- _Z'${c1}`${c2} ]k${c1}:
- m(${c1}`${c2} )k${c1}:
- _.ss${c1}`${c2}m[${c1}`${c2}, ]e${c1}:
- .uY"^`${c1}`${c2}Xc${c1}`${c2}?Ss. d(${c1}`
- jF'${c1}`${c2} `@. ${c1}`${c2}Sc .jr${c1}`
- jr${c1}`${c2} `?n_ ${c1}`${c2}$; _a2"${c1}`
- .m${c1}:${c2} `~M${c1}`${c2}1k${c1}`${c2}5?!`${c1}`
- :#${c1}:${c2} ${c1}`${c2})e${c1}```
- :m${c1}:${c2} ,#'${c1}`
- :#${c1}:${c2} .s2'${c1}`
- :m,________.aa7^${c1}`
- :#baaaaaaas!J'${c1}`
- ```````````
- EOF
- ;;
- "KSLinux"*)
- set_colors 4 7 1
- read -rd '' ascii_data <<'EOF'
- ${c1} K K U U RRRR ooo
- K K U U R R o o
- KKK U U RRRR o o
- K K U U R R o o
- K K UUU R R ooo
- ${c2} SSS AAA W W AAA
- S A A W W A A
- SSS AAAAA W W W AAAAA
- S A A WW WW A A
- SSS A A W W A A
- EOF
- ;;
- "Kubuntu"*)
- set_colors 4 7 1
- read -rd '' ascii_data <<'EOF'
- ${c1} `.:/ossyyyysso/:.
- .:oyyyyyyyyyyyyyyyyyyo:`
- -oyyyyyyyo${c2}dMMy${c1}yyyyyyysyyyyo-
- -syyyyyyyyyy${c2}dMMy${c1}oyyyy${c2}dmMMy${c1}yyyys-
- oyyys${c2}dMy${c1}syyyy${c2}dMMMMMMMMMMMMMy${c1}yyyyyyo
- `oyyyy${c2}dMMMMy${c1}syysoooooo${c2}dMMMMy${c1}yyyyyyyyo`
- oyyyyyy${c2}dMMMMy${c1}yyyyyyyyyyys${c2}dMMy${c1}sssssyyyo
- -yyyyyyyy${c2}dMy${c1}syyyyyyyyyyyyyys${c2}dMMMMMy${c1}syyy-
- oyyyysoo${c2}dMy${c1}yyyyyyyyyyyyyyyyyy${c2}dMMMMy${c1}syyyo
- yyys${c2}dMMMMMy${c1}yyyyyyyyyyyyyyyyyysosyyyyyyyy
- yyys${c2}dMMMMMy${c1}yyyyyyyyyyyyyyyyyyyyyyyyyyyyy
- oyyyyysos${c2}dy${c1}yyyyyyyyyyyyyyyyyy${c2}dMMMMy${c1}syyyo
- -yyyyyyyy${c2}dMy${c1}syyyyyyyyyyyyyys${c2}dMMMMMy${c1}syyy-
- oyyyyyy${c2}dMMMy${c1}syyyyyyyyyyys${c2}dMMy${c1}oyyyoyyyo
- `oyyyy${c2}dMMMy${c1}syyyoooooo${c2}dMMMMy${c1}oyyyyyyyyo
- oyyysyyoyyyys${c2}dMMMMMMMMMMMy${c1}yyyyyyyo
- -syyyyyyyyy${c2}dMMMy${c1}syyy${c2}dMMMy${c1}syyyys-
- -oyyyyyyy${c2}dMMy${c1}yyyyyysosyyyyo-
- ./oyyyyyyyyyyyyyyyyyyo/.
- `.:/oosyyyysso/:.`
- EOF
- ;;
- "LEDE"*)
- set_colors 4 7 1
- read -rd '' ascii_data <<'EOF'
- ${c1} _________
- / /\
- / LE / \
- / DE / \
- /________/ LE \
- \ \ DE /
- \ LE \ /
- \ DE \ /
- \________\/
- EOF
- ;;
- "Linux")
- set_colors fg 8 3
- read -rd '' ascii_data <<'EOF'
- ${c2} #####
- ${c2} #######
- ${c2} ##${c1}O${c2}#${c1}O${c2}##
- ${c2} #${c3}#####${c2}#
- ${c2} ##${c1}##${c3}###${c1}##${c2}##
- ${c2} #${c1}##########${c2}##
- ${c2} #${c1}############${c2}##
- ${c2} #${c1}############${c2}###
- ${c3} ##${c2}#${c1}###########${c2}##${c3}#
- ${c3}######${c2}#${c1}#######${c2}#${c3}######
- ${c3}#######${c2}#${c1}#####${c2}#${c3}#######
- ${c3} #####${c2}#######${c3}#####
- EOF
- ;;
- "linuxlite_small"*)
- set_colors 3 7
- read -rd '' ascii_data <<'EOF'
- ${c1} /\\
- / \\
- / ${c2}/ ${c1}/
- > ${c2}/ ${c1}/
- \\ ${c2}\\ ${c1}\\
- \\_${c2}\\${c1}_\\
- ${c2} \\
- EOF
- ;;
- "Linux Lite"* | "Linux_Lite"*)
- set_colors 3 7
- read -rd '' ascii_data <<'EOF'
- ${c1} ,xXc
- .l0MMMMMO
- .kNMMMMMWMMMN,
- KMMMMMMKMMMMMMo
- 'MMMMMMNKMMMMMM:
- kMMMMMMOMMMMMMO
- .MMMMMMX0MMMMMW.
- oMMMMMMxWMMMMM:
- WMMMMMNkMMMMMO
- :MMMMMMOXMMMMW
- .0MMMMMxMMMMM;
- :;cKMMWxMMMMO
- 'MMWMMXOMMMMl
- kMMMMKOMMMMMX:
- .WMMMMKOWMMM0c
- lMMMMMWO0MNd:'
- oollXMKXoxl;.
- ':. .: .'
- ..
- .
- EOF
- ;;
- "LMDE"*)
- set_colors 2 7
- read -rd '' ascii_data <<'EOF'
- ${c2}`.-::---..
- ${c1} .:++++ooooosssoo:.
- .+o++::. `.:oos+.
- ${c1} :oo:.` -+oo${c2}:
- ${c1} ${c2}`${c1}+o/` .${c2}::::::${c1}-. .++-${c2}`
- ${c1}${c2}`${c1}/s/ .yyyyyyyyyyo: +o-${c2}`
- ${c1}${c2}`${c1}so .ss ohyo` :s-${c2}:
- ${c1}${c2}`${c1}s/ .ss h m myy/ /s`${c2}`
- ${c1}`s: `oo s m Myy+-o:`
- `oo :+sdoohyoydyso/.
- :o. .:////////++:
- ${c1} `/++ ${c2}-:::::-
- ${c1} ${c2}`${c1}++-
- ${c1} ${c2}`${c1}/+-
- ${c1} ${c2}.${c1}+/.
- ${c1} ${c2}.${c1}:+-.
- `--.``
- EOF
- ;;
- "Lubuntu"*)
- set_colors 4 7 1
- read -rd '' ascii_data <<'EOF'
- ${c1} `-mddhhhhhhhhhddmss`
- ./mdhhhhhhhhhhhhhhhhhhhhhh.
- :mdhhhhhhhhhhhhhhhhhhhhhhhhhhhm`
- :ymhhhhhhhhhhhhhhhyyyyyyhhhhhhhhhy:
- `odhyyyhhhhhhhhhy+-````./syhhhhhhhho`
- `hhy..:oyhhhhhhhy-`:osso/..:/++oosyyyh`
- dhhs .-/syhhhhs`shhhhhhyyyyyyyyyyyyhs
- :hhhy` yso/:+syhy/yhhhhhshhhhhhhhhhhhhh:
- hhhhho. +hhhys++oyyyhhhhh-yhhhhhhhhhhhhhs
- hhhhhhs-`/syhhhhyssyyhhhh:-yhhhhhhhhhhhhh
- hhhhhhs `:/+ossyyhyyhhhhs -yhhhhhhhhhhhh
- hhhhhhy/ `syyyssyyyyhhhhhh: :yhhhhhhhhhhs
- :hhhhhhyo:-/osyhhhhhhhhhhho ohhhhhhhhhh:
- sdhhhhhhhyyssyyhhhhhhhhhhh+ +hhhhhhhhs
- `shhhhhhhhhhhhhhhhhhhhhhy+` .yhhhhhhhh`
- +sdhhhhhhhhhhhhhhhhhyo/. `/yhhhhhhhd`
- `:shhhhhhhhhh+---..``.:+yyhhhhhhh:
- `:mdhhhhhh/.syssyyyyhhhhhhhd:`
- `+smdhhh+shhhhhhhhhhhhdm`
- `sNmdddhhhhhhhddm-`
- EOF
- ;;
- "Lunar"*)
- set_colors 4 7 3
- read -rd '' ascii_data <<'EOF'
- ${c1}`-. `-.
- -ohys/-` `:+shy/`
- -omNNdyo/` :+shmNNy/`
- ${c3} -
- /mMmo
- hMMMN`
- .NMMs
- ${c1} -:+oooo+//: ${c3}/MN${c1}. -///oooo+/-`
- /:.` ${c3}/${c1} `.:/`
- ${c3} __
- | | _ _ ___ ___ ___
- | |__| | | | .'| _|
- |_____|___|_|_|__,|_|
- EOF
- ;;
- "mac"*"_small")
- set_colors 2 3 1 5 4
- read -rd '' ascii_data <<'EOF'
- ${c1} .:'
- _ :'_
- ${c2} .'`_`-'_``.
- :________.-'
- ${c3}:_______:
- :_______:
- ${c4} :_______`-;
- ${c5} `._.-._.'
- EOF
- ;;
- "mac"* | "Darwin")
- set_colors 2 3 1 1 5 4
- read -rd '' ascii_data <<'EOF'
- ${c1} 'c.
- ,xNMM.
- .OMMMMo
- OMMM0,
- .;loddo:' loolloddol;.
- cKMMMMMMMMMMNWMMMMMMMMMM0:
- ${c2} .KMMMMMMMMMMMMMMMMMMMMMMMWd.
- XMMMMMMMMMMMMMMMMMMMMMMMX.
- ${c3};MMMMMMMMMMMMMMMMMMMMMMMM:
- :MMMMMMMMMMMMMMMMMMMMMMMM:
- ${c4}.MMMMMMMMMMMMMMMMMMMMMMMMX.
- kMMMMMMMMMMMMMMMMMMMMMMMMWd.
- ${c5}.XMMMMMMMMMMMMMMMMMMMMMMMMMMk
- .XMMMMMMMMMMMMMMMMMMMMMMMMK.
- ${c6}kMMMMMMMMMMMMMMMMMMMMMMd
- ;KMMMMMMMWXXWMMMMMMMk.
- .cooc,. .,coo:.
- EOF
- ;;
- "mageia_small"*)
- set_colors 6 7
- read -rd '' ascii_data <<'EOF'
- ${c1} *
- *
- **
- ${c2} /\\__/\\
- / \\
- \\ /
- \\____/
- EOF
- ;;
- "Mageia"*)
- set_colors 6 7
- read -rd '' ascii_data <<'EOF'
- ${c1} .°°.
- °° .°°.
- .°°°. °°
- . .
- °°° .°°°.
- .°°°. '___'
- ${c2} .${c1}'___' ${c2} .
- :dkxc;'. ..,cxkd;
- .dkk. kkkkkkkkkk .kkd.
- .dkk. ';cloolc;. .kkd
- ckk. .kk;
- xO: cOd
- xO: lOd
- lOO. .OO:
- .k00. .00x
- .k00; ;00O.
- .lO0Kc;,,,,,,;c0KOc.
- ;d00KKKKKK00d;
- .,KKKK,.
- EOF
- ;;
- "MagpieOS"*)
- set_colors 2 1 3 5
- read -rd '' ascii_data <<'EOF'
- ${c1} ;00000 :000Ol
- .x00kk00: O0kk00k;
- l00: :00. o0k :O0k.
- .k0k. x${c2}d$dddd${c1}k' .d00;
- k0k. ${c2}.dddddl ${c1}o00,
- o00. ${c2}':cc:. ${c1}d0O
- .00l ,00.
- l00. d0x
- k0O .:k0o
- O0k ;dO0000d.
- k0O .O0O${c2}xxxxk${c1}00:
- o00. k0O${c2}dddddd${c1}occ
- '00l x0O${c2}dddddo${c3};..${c1}
- x00. .x00${c2}kxxd${c3}:..${c1}
- .O0x .:oxxx${c4}Okl.${c1}
- .x0d ${c4},xx,${c1}
- .:o. ${c4}.xd ckd${c1}
- .. ${c4}dxl .xx;
- :xxolldxd'
- ;oxdl.
- EOF
- ;;
- "Mandriva"*)
- set_colors 4 3
- read -rd '' ascii_data <<'EOF'
- ${c2} ``
- `-.
- ${c1} ` ${c2}.---
- ${c1} -/ ${c2}-::--`
- ${c1} `++ ${c2}`----...```-:::::.
- ${c1} `os. ${c2}.::::::::::::::-``` ` `
- ${c1} +s+ ${c2}.::::::::::::::::---...--`
- ${c1}-ss: ${c2}`-::::::::::::::::-.``.``
- ${c1}/ss- ${c2}.::::::::::::-.`` `
- ${c1}+ss: ${c2}.::::::::::::-
- ${c1}/sso ${c2}.::::::-::::::-
- ${c1}.sss/ ${c2}-:::-.` .:::::
- ${c1} /sss+. ${c2}..`${c1} `--` ${c2}.:::
- ${c1} -ossso+/:://+/-` ${c2}.:`
- ${c1} -/+ooo+/-. ${c2}`
- EOF
- ;;
- "manjaro_small"*)
- set_colors 2 7
- read -rd '' ascii_data <<'EOF'
- ${c1}||||||||| ||||
- ||||||||| ||||
- |||| ||||
- |||| |||| ||||
- |||| |||| ||||
- |||| |||| ||||
- |||| |||| ||||
- EOF
- ;;
- "Manjaro"*)
- set_colors 2 7
- read -rd '' ascii_data <<'EOF'
- ${c1}██████████████████ ████████
- ██████████████████ ████████
- ██████████████████ ████████
- ██████████████████ ████████
- ████████ ████████
- ████████ ████████ ████████
- ████████ ████████ ████████
- ████████ ████████ ████████
- ████████ ████████ ████████
- ████████ ████████ ████████
- ████████ ████████ ████████
- ████████ ████████ ████████
- ████████ ████████ ████████
- ████████ ████████ ████████
- EOF
- ;;
- "Maui"*)
- set_colors 6 7
- read -rd '' ascii_data <<'EOF'
- ${c1} `.-://////:--`
- .:/oooooooooooooooo+:.
- `:+ooooooooooooooooooooooo:`
- `:oooooooooooooooooooooooooooo/`
- ..```-oooooo/-`` `:oooooo+:.` `--
- :. +oo+-` /ooo/` -/
- -o. `o+- +o/` -o:
- `oo` ::` :o/ `+. .+o` /oo.
- /o+ . -+oo- ` /oo/ `ooo/
- +o- /ooo+` .+ooo. :ooo+
- ++ .+oooo: -oooo+ `oooo+
- :. .oooooo` :ooooo- :oooo:
- ` .oooooo: :ooooo+ `ooo+-`
- .+oooooo` -oooooo: `o/-
- +oooooo: .ooooooo.
- /ooooooo` /ooooooo/ ..
- `:oooooooo/:::/ooooooooo+:--:/:`
- `:+oooooooooooooooooooooo+:`
- .:+oooooooooooooooo+:.
- `.-://////:-.`
- EOF
- ;;
- "Mer"*)
- set_colors 4 7 1
- read -rd '' ascii_data <<'EOF'
- ${c1} dMs
- .-`
- `y`-o+`
- ``NMMy
- .--`:++.
- .hNNNNs
- /MMMMMN
- `ommmd/ +/
- ```` +/
- `:+sssso/-`
- .-::. `-::-` `smNMNmdmNMNd/ .://-`
- .ymNMNNdmNMMNm+` -dMMh:.....+dMMs `sNNMMNo
- dMN+::NMMy::hMM+ mMMo `ohhy/ `dMM+ yMMy::-
- MMm yMM- :MMs NMN` `:::::--sMMh dMM`
- MMm yMM- -MMs mMM+ `ymmdsymMMMs dMM`
- NNd sNN- -NNs -mMNs-.--..:dMMh` dNN
- --- .--` `--. .smMMmdddmMNdo` .--
- ./ohddds+:`
- +h- `.:-.
- ./`.dMMMN+
- +MMMMMd
- `+dmmy-
- ``` .+`
- .dMNo-y.
- `hmm/
- .:`
- dMs
- EOF
- ;;
- "Minix"*)
- set_colors 1 7 3
- read -rd '' ascii_data <<'EOF'
- ${c2} -sdhyo+:-` -/syymm:
- sdyooymmNNy. `` .smNmmdysNd
- odyoso+syNNmysoyhhdhsoomNmm+/osdm/
- :hhy+-/syNNmddhddddddmNMNo:sdNd:
- `smNNdNmmNmddddddddddmmmmmmmy`
- `ohhhhdddddmmNNdmddNmNNmdddddmdh-
- odNNNmdyo/:/-/hNddNy-`..-+ydNNNmd:
- `+mNho:` smmd/ sNNh :dmms` -+ymmo.
- -od/ -m${c1}mm${c2}mo -NN+ +m${c1}mm${c2}m- yms:
- +sms -.` :so: .NN+ :os/ .-`mNh:
- .-hyh+:////- -sNNd:` .--://ohNs-
- `:hNNNNNNNMMd/sNMmhsdMMh/ymmNNNmmNNy/
- -+sNNNNMMNNNsmNMo: :NNmymNNNNMMMms:
- //oydNMMMMydMMNysNMMmsMMMMMNyo/`
- ../-yNMMy--/::/-.sMMmos+.`
- -+oyhNsooo+omy/```
- `::ohdmds-`
- EOF
- ;;
- "linuxmint_small"*)
- set_colors 2 7
- read -rd '' ascii_data <<'EOF'
- ${c1} ___________
- |_ \\
- | ${c2}| _____ ${c1}|
- | ${c2}| | | | ${c1}|
- | ${c2}| | | | ${c1}|
- | ${c2}\\__${c2}___/ ${c1}|
- \\_________/
- EOF
- ;;
- "Linux Mint Old"* | "LinuxMintOld"* | "mint_old"*)
- set_colors 2 7
- read -rd '' ascii_data <<'EOF'
- ${c1}MMMMMMMMMMMMMMMMMMMMMMMMMmds+.
- MMm----::-://////////////oymNMd+`
- MMd ${c2}/++ ${c1}-sNMd:
- MMNso/` ${c2}dMM `.::-. .-::.` ${c1}.hMN:
- ddddMMh ${c2}dMM :hNMNMNhNMNMNh: ${c1}`NMm
- NMm ${c2}dMM .NMN/-+MMM+-/NMN` ${c1}dMM
- NMm ${c2}dMM -MMm `MMM dMM. ${c1}dMM
- NMm ${c2}dMM -MMm `MMM dMM. ${c1}dMM
- NMm ${c2}dMM .mmd `mmm yMM. ${c1}dMM
- NMm ${c2}dMM` ..` ... ydm. ${c1}dMM
- hMM- ${c2}+MMd/-------...-:sdds ${c1}dMM
- -NMm- ${c2}:hNMNNNmdddddddddy/` ${c1}dMM
- -dMNs-${c2}``-::::-------.`` ${c1}dMM
- `/dMNmy+/:-------------:/yMMM
- ./ydNMMMMMMMMMMMMMMMMMMMMM
- .MMMMMMMMMMMMMMMMMMM
- EOF
- ;;
- "Linux Mint"* | "LinuxMint"* | "mint"*)
- set_colors 2 7
- read -rd '' ascii_data <<'EOF'
- ${c2} ...-:::::-...
- ${c2} .-MMMMMMMMMMMMMMM-.
- .-MMMM${c1}`..-:::::::-..`${c2}MMMM-.
- .:MMMM${c1}.:MMMMMMMMMMMMMMM:.${c2}MMMM:.
- -MMM${c1}-M---MMMMMMMMMMMMMMMMMMM.${c2}MMM-
- `:MMM${c1}:MM` :MMMM:....::-...-MMMM:${c2}MMM:`
- :MMM${c1}:MMM` :MM:` `` `` `:MMM:${c2}MMM:
- .MMM${c1}.MMMM` :MM. -MM. .MM- `MMMM.${c2}MMM.
- :MMM${c1}:MMMM` :MM. -MM- .MM: `MMMM-${c2}MMM:
- :MMM${c1}:MMMM` :MM. -MM- .MM: `MMMM:${c2}MMM:
- :MMM${c1}:MMMM` :MM. -MM- .MM: `MMMM-${c2}MMM:
- .MMM${c1}.MMMM` :MM:--:MM:--:MM: `MMMM.${c2}MMM.
- :MMM${c1}:MMM- `-MMMMMMMMMMMM-` -MMM-${c2}MMM:
- :MMM${c1}:MMM:` `:MMM:${c2}MMM:
- .MMM${c1}.MMMM:--------------:MMMM.${c2}MMM.
- '-MMMM${c1}.-MMMMMMMMMMMMMMM-.${c2}MMMM-'
- '.-MMMM${c1}``--:::::--``${c2}MMMM-.'
- ${c2} '-MMMMMMMMMMMMM-'
- ${c2} ``-:::::-``
- EOF
- ;;
- "mx_small"*)
- set_colors 4 6 7
- read -rd '' ascii_data <<'EOF'
- ${c3} \\\\ /
- \\\\/
- \\\\
- /\\/ \\\\
- / \\ /\\
- / \\/ \\
- /__________\\
- EOF
- ;;
- "MX"*)
- set_colors 4 6 7
- read -rd '' ascii_data <<'EOF'
- ${c3}MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNMMMMMMMMM
- MMMMMMMMMMNs..yMMMMMMMMMMMMMm: +NMMMMMMM
- MMMMMMMMMN+ :mMMMMMMMMMNo` -dMMMMMMMM
- MMMMMMMMMMMs. `oNMMMMMMh- `sNMMMMMMMMM
- MMMMMMMMMMMMN/ -hMMMN+ :dMMMMMMMMMMM
- MMMMMMMMMMMMMMh- +ms. .sMMMMMMMMMMMMM
- MMMMMMMMMMMMMMMN+` ` +NMMMMMMMMMMMMMM
- MMMMMMMMMMMMMMNMMd: .dMMMMMMMMMMMMMMM
- MMMMMMMMMMMMm/-hMd- `sNMMMMMMMMMMMMM
- MMMMMMMMMMNo` -` :h/ -dMMMMMMMMMMMM
- MMMMMMMMMd: /NMMh- `+NMMMMMMMMMM
- MMMMMMMNo` :mMMN+` `-hMMMMMMMM
- MMMMMMh. `oNMMd: `/mMMMMMM
- MMMMm/ -hMd- `sNMMMM
- MMNs` - :dMMM
- Mm: `oMM
- MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
- EOF
- ;;
- "Namib"*)
- set_colors 1
- read -rd '' ascii_data <<'EOF'
- ${c1} .:+shysyhhhhysyhs+:.
- -/yyys syyy/-
- -shy yhs-
- -yhs shy-
- +hy yh+
- +ds sd+
- /ys so sy/
- sh smMMNdyo hs
- yo ymMMMMNNMMNho oy
- N ydMMMNNMMMMMMMMMmy N
- N shmMMMMNNMMMMMMMMMMMMMNy N
- yo ooshmNMMMNNNNMMMMMMMMMMMMMMMMMms oy
- sd yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy ds
- /ys sy/
- +ds sd+
- +hy yh+
- -yhs shy-
- -shy yhs-
- -/yyys syyy/-
- .:+shysyhyhhysyhs+:.
- EOF
- ;;
- "Neptune"*)
- set_colors 7
- read -rd '' ascii_data <<'EOF'
- ${c1} ./+sydddddddys/-.
- .+ymNNdyooo/:+oooymNNmy/`
- `/hNNh/.` `-+dNNy:`
- /mMd/. .++.:oy/ .+mMd-
- `sMN/ oMMmdy+. `oNNo
- `hMd. `/ymy/. :NMo
- oMN- `/dMd: /MM-
- `mMy -dMN+` mMs
- .MMo -NMM/ yMs
- dMh mMMMo:` `NMo
- /MM/ /ymMMMm- sMN.
- +Mm: .hMMd` oMN/
- +mNs. `yNd/` -dMm-
- .yMNs: `/.` `/yNNo`
- .odNNy+-` .:ohNNd/.
- -+ymNNmdyyyyyyydmNNmy+.
- `-//sssssss//.
- EOF
- ;;
- "netbsd_small"*)
- set_colors 5 7
- read -rd '' ascii_data <<'EOF'
- ${c2}\\\\${c1}\`-______,----__
- ${c2} \\\\ ${c1}__,---\`_
- ${c2} \\\\ ${c1}\`.____
- ${c2} \\\\${c1}-______,----\`-
- ${c2} \\\\
- \\\\
- \\\\
- EOF
- ;;
- "NetBSD"*)
- set_colors 5 7
- read -rd '' ascii_data <<'EOF'
- ${c1} `-/oshdmNMNdhyo+:-`
- ${c2}y${c1}/s+:-`` `.-:+oydNMMMMNhs/-``
- ${c2}-m+${c1}NMMMMMMMMMMMMMMMMMMMNdhmNMMMmdhs+/-`
- ${c2}-m+${c1}NMMMMMMMMMMMMMMMMMMMMmy+:`
- ${c2}-N/${c1}dMMMMMMMMMMMMMMMds:`
- ${c2}-N/${c1}hMMMMMMMMMmho:`
- ${c2}-N/${c1}-:/++/:.`
- ${c2} :M+
- :Mo
- :Ms
- :Ms
- :Ms
- :Ms
- :Ms
- :Ms
- :Ms
- :Ms
- EOF
- ;;
- "Netrunner"*)
- set_colors 4 7 1
- read -rd '' ascii_data <<'EOF'
- ${c1} .:oydmMMMMMMmdyo:`
- -smMMMMMMMMMMMMMMMMMMds-
- +mMMMMMMMMMMMMMMMMMMMMMMMMd+
- /mMMMMMMMMMMMMMMMMMMMMMMMMMMMMm/
- `hMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMy`
- .mMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMd`
- dMMMMMMMMMMMMMMMMMMMMMMNdhmMMMMMMMMMMh
- +MMMMMMMMMMMMMNmhyo+/-. -MMMMMMMMMMMM/
- mMMMMMMMMd+:.` `mMMMMMMMMMMMMd
- MMMMMMMMMMMdy/. yMMMMMMMMMMMMMM
- MMMMMMMMMMMMMMMNh+` +MMMMMMMMMMMMMMM
- mMMMMMMMMMMMMMMMMMs -NMMMMMMMMMMMMMMd
- +MMMMMMMMMMMMMMMMMN. `mMMMMMMMMMMMMMMM/
- dMMMMMMMMMMMMMMMMMy hMMMMMMMMMMMMMMMh
- `dMMMMMMMMMMMMMMMMM-+MMMMMMMMMMMMMMMd`
- `hMMMMMMMMMMMMMMMMmMMMMMMMMMMMMMMMy
- /mMMMMMMMMMMMMMMMMMMMMMMMMMMMMm:
- +dMMMMMMMMMMMMMMMMMMMMMMMMd/
- -odMMMMMMMMMMMMMMMMMMdo-
- `:+ydmNMMMMNmhy+-`
- EOF
- ;;
- "Nitrux"*)
- set_colors 4
- read -rd '' ascii_data <<'EOF'
- ${c1}`:/.
- `/yo
- `/yo
- `/yo .+:.
- `/yo .sys+:.`
- `/yo `-/sys+:.`
- `/yo ./sss+:.`
- `/yo .:oss+:-`
- `/yo ./o///:-`
- `/yo `.-:///////:`
- `/yo `.://///++//-``
- `/yo `.-:////++++/-`
- `/yo `-://///++o+/-`
- `/yo `-/+o+++ooo+/-`
- `/s+:+oooossso/.`
- `//+sssssso:.
- `+syyyy+:`
- :+s+-
- EOF
- ;;
- "nixos_small")
- set_colors 4 6
- read -rd '' ascii_data <<'EOF'
- ${c1} \\\\ \\\\ //
- ==\\\\__\\\\/ //
- // \\\\//
- ==// //==
- //\\\\___//
- // /\\\\ \\\\==
- // \\\\ \\\\
- EOF
- ;;
- "NixOS"*)
- set_colors 4 6
- read -rd '' ascii_data <<'EOF'
- ${c1} ::::. ${c2}'::::: ::::'
- ${c1} '::::: ${c2}':::::. ::::'
- ${c1} ::::: ${c2}'::::.:::::
- ${c1} .......:::::..... ${c2}::::::::
- ${c1} ::::::::::::::::::. ${c2}:::::: ${c1}::::.
- ::::::::::::::::::::: ${c2}:::::. ${c1}.::::'
- ${c2} ..... ::::' ${c1}:::::'
- ${c2} ::::: '::' ${c1}:::::'
- ${c2} ........::::: ' ${c1}:::::::::::.
- ${c2}::::::::::::: ${c1}:::::::::::::
- ${c2} ::::::::::: ${c1}.. ${c1}:::::
- ${c2} .::::: ${c1}.::: ${c1}:::::
- ${c2} .::::: ${c1}::::: ${c1}''''' ${c2}.....
- ::::: ${c1}':::::. ${c2}......:::::::::::::'
- ::: ${c1}::::::. ${c2}':::::::::::::::::'
- ${c1} .:::::::: ${c2}'::::::::::
- ${c1} .::::''::::. ${c2}'::::.
- ${c1} .::::' ::::. ${c2}'::::.
- ${c1} .:::: :::: ${c2}'::::.
- EOF
- ;;
- "Nurunner"*)
- set_colors 4
- read -rd '' ascii_data <<'EOF'
- ${c1} ,xc
- ;00cxXl
- ;K0, .xNo.
- :KO' .lXx.
- cXk. ;xl cXk.
- cXk. ;k:.,xo. cXk.
- .lXx. :x::0MNl,dd. :KO,
- .xNx. cx;:KMMMMMNo'dx. ;KK;
- .dNl. cd,cXMMMMMMMMMWd,ox' 'OK:
- ;WK. 'K,.KMMMMMMMMMMMMMWc.Kx lMO
- 'OK: 'dl'xWMMMMMMMMMM0::x: 'OK:
- .kNo .xo'xWMMMMMM0;:O: ;KK;
- .dXd. .do,oNMMO;ck: ;00,
- oNd. .dx,;'cO; ;K0,
- oNx. okk; ;K0,
- lXx. :KO'
- cKk' cXk.
- ;00:lXx.
- ,kd.
- EOF
- ;;
- "NuTyX"*)
- set_colors 4 1
- read -rd '' ascii_data <<'EOF'
- ${c1} .
- .
- ...
- ...
- .... .........--.
- ..-++-----....--++++++---.
- .-++++++-. .-++++++++++++-----..
- .--... .++..-+++--.....-++++++++++--..
- . .-+-. .**- .... ..-+----..
- .+++. .*+. + -++-----.
- .+++++- ++. .*+. .....-+++-----.
- -+++-++. .+. .-+***++***++--++++. .
- -+-. -- -. -*- ...... ..--.
- .-. .+- . -+.
- . .+- +.
- -- --
- -+----. .-
- -++-.+. .
- .++. --
- +. ----.
- . .+. ..
- - .
- .
- EOF
- ;;
- "OBRevenge"*)
- set_colors 1 7 3
- read -rd '' ascii_data <<'EOF'
- ${c1} __ __
- _@@@@ @@@g_
- _@@@@@@ @@@@@@
- _@@@@@@M W@@@@@@_
- j@@@@P ^W@@@@
- @@@@L____ _____Q@@@@
- Q@@@@@@@@@@j@@@@@@@@@@
- @@@@@ T@j@ T@@@@@
- @@@@@ ___Q@J@ _@@@@@
- @@@@@fMMM@@j@jggg@@@@@@
- @@@@@ j@j@^MW@P @@@@
- Q@@@@@ggg@@f@ @@@@@@L
- ^@@@@WWMMP ^ Q@@@@
- @@@@@_ _@@@@l
- W@@@@@g_____g@@@@@P
- @@@@@@@@@@@@@@@@l
- ^W@@@@@@@@@@@P
- ^TMMMMTll
- EOF
- ;;
- "openbsd_small")
- set_colors 3 7 6 1 8
- read -rd '' ascii_data <<'EOF'
- ${c1} _____
- \\- -/
- \\_/ \\
- | ${c2}O O${c1} |
- |_ < ) 3 )
- / \\ /
- /-_____-\\
- EOF
- ;;
- "OpenBSD"*)
- set_colors 3 7 6 1 8
- read -rd '' ascii_data <<'EOF'
- ${c3} _
- (_)
- ${c1} | .
- ${c1} . |L /| . ${c3} _
- ${c1} _ . |\ _| \--+._/| . ${c3}(_)
- ${c1} / ||\| Y J ) / |/| ./
- J |)'( | ` F`.'/ ${c3} _
- ${c1} -<| F __ .-< ${c3}(_)
- ${c1} | / .-'${c3}. ${c1}`. /${c3}-. ${c1}L___
- J \\ < ${c3}\ ${c1} | | ${c5}O${c3}\\${c1}|.-' ${c3} _
- ${c1} _J \\ .- \\${c3}/ ${c5}O ${c3}| ${c1}| \\ |${c1}F ${c3}(_)
- ${c1} '-F -<_. \\ .-' `-' L__
- __J _ _. >-' ${c1})${c4}._. ${c1}|-'
- ${c1} `-|.' /_. ${c4}\_| ${c1} F
- /.- . _.<
- /' /.' .' `\\
- /L /' |/ _.-'-\\
- /'J ___.---'\|
- |\ .--' V | `. `
- |/`. `-. `._)
- / .-.\\
- \\ ( `\\
- `.\\
- EOF
- ;;
- "openEuler"*)
- set_colors 4 7 1
- read -rd '' ascii_data <<'EOF'
- ${c1}
- (#####
- (((######## #####
- ((( ########## __...__
- (((((((( ####### /((((((###\
- ((((((((((( ....... \(((((####/
- (((((( ((((######### *******
- %((((((# ((########
- /////((((( ###
- /////(((((((# (((&
- (((((((((((((
- ((((((((((((
- ((((((((( ((((((###
- /((((((######
- //((((((######
- /((((((#####
- *********/
- EOF
- ;;
- "OpenIndiana"*)
- set_colors 4 7 1
- read -rd '' ascii_data <<'EOF'
- ${c2} .sy/
- .yh+
- ${c1}-+syyyo+- ${c2} /+.
- ${c1}+ddo/---/sdh/ ${c2} ym-
- ${c1}`hm+ `sms${c2} ym-```````.-.
- ${c1}sm+ sm/ ${c2} ym- +s
- ${c1}hm. /mo ${c2} ym- /h
- ${c1}omo ym: ${c2} ym- `os`
- ${c1}smo` .ym+ ${c2} ym- .os-
- `` ${c1}:ymy+///oyms- ${c2} ym- .+s+.
- ..` ${c1}`:+oo+/-` ${c2} -//oyo-
- -:` .:oys/.
- +- `./oyys/.
- h+` `.-:+oyyyo/-`
- `/ossssysso+/-.`
- EOF
- ;;
- "openmamba"*)
- set_colors 7 2
- read -rd '' ascii_data <<'EOF'
- ${c1} `````
- .-/+ooooooooo+/:-`
- ./ooooooooooooooooooo+:.
- -+oooooooooooooooooooooooo+-
- .+ooooooooo+/:---::/+ooooooooo+.
- :oooooooo/-` `-/oo${c2}s´${c1}oooo.${c2}s´${c1}
- :ooooooo/` `${c2}sNds${c1}ooo${c2}sNds${c1}
- -ooooooo- ${c2}:dmy${c1}ooo${c2}:dmy${c1}
- +oooooo: :oooooo-
- .ooooooo .://:`
- :oooooo+ ./+o+:`
- -ooooooo` `oooooo+
- `ooooooo: /oooooo+
- -ooooooo: :ooooooo.
- :ooooooo+. .+ooooooo:
- :oooooooo+-` `-+oooooooo:
- .+ooooooooo+/::::://oooooooooo+.
- -+oooooooooooooooooooooooo+-
- .:ooooooooooooooooooo+:.
- `-:/ooooooooo+/:.`
- ``````
- EOF
- ;;
- "OpenMandriva"*)
- set_colors 4
- read -rd '' ascii_data <<'EOF'
- ${c1} ``````
- `-:/+++++++//:-.`
- .:+++oooo+/:.`` ``
- `:+ooooooo+:. `-:/++++++/:.`
- -+oooooooo:` `-++o+/::::://+o+/-
- `/ooooooooo- -+oo/.` `-/oo+.
- `+ooooooooo. :os/` .+so:
- +sssssssss/ :ss/ `+ss-
- :ssssssssss` sss` .sso
- ossssssssss `yyo sys
- `sssssssssss` `yys `yys
- `sssssssssss: +yy/ +yy:
- oyyyyyyyyyys. `oyy/` `+yy+
- :yyyyyyyyyyyo. `+yhs:. `./shy/
- oyyyyyyyyyyys:` .oyhys+:----/+syhy+. `
- `syyyyyyyyyyyyo-` .:osyhhhhhyys+:``.:`
- `oyyyyyyyyyyyyys+-`` `.----.```./oo.
- /yhhhhhhhhhhhhhhyso+//://+osyhy/`
- `/yhhhhhhhhhhhhhhhhhhhhhhhhy/`
- `:oyhhhhhhhhhhhhhhhhhhyo:`
- .:+syhhhhhhhhys+:-`
- ``....``
- EOF
- ;;
- "OpenStage"*)
- set_colors 2
- read -rd '' ascii_data <<'EOF'
- ${c1} /(/
- .(((((((,
- /(((((((((/
- .(((((/,/(((((,
- *(((((* ,(((((/
- (((((* .*/((
- *((((/ (//(/*
- /((((* ((((((((((,
- . /((((* (((((((((((((.
- ((. *((((/ ,((((((((
- ,(((/ (((((/ ** ,((((((*
- /(((((. .(((((/ //(((* *(((((/
- .(((((, ((/ .(((((/. .(((((,
- /((((* ,(((((((/ ,(((((
- /(((((((((((((((((((/. /(((((((((/
- /(((((((((((((((((, /(((((((((((/
- */(((((//*. */((/(/(/*
- EOF
- ;;
- "OpenWrt"*)
- set_colors 4 7 1
- read -rd '' ascii_data <<'EOF'
- ${c1} _______
- | |.-----.-----.-----.
- | - || _ | -__| |
- |_______|| __|_____|__|__|
- |__|
- ________ __
- | | | |.----.| |_
- | | | || _|| _|
- |________||__| |____|
- EOF
- ;;
- "Open Source Media Center"* | "osmc")
- set_colors 4 7 1
- read -rd '' ascii_data <<'EOF'
- ${c1} -+shdmNNNNmdhs+-
- .+hMNho/:..``..:/ohNMh+.
- :hMdo. .odMh:
- -dMy- -yMd-
- sMd- -dMs
- hMy +. .+ yMh
- yMy dMs. .sMd yMy
- :Mm dMNMs` `sMNMd `mM:
- yM+ dM//mNs``sNm//Md +My
- mM- dM: +NNNN+ :Md -Mm
- mM- dM: `oNN+ :Md -Mm
- yM+ dM/+NNo` :Md +My
- :Mm` dMMNs` :Md `mM:
- yMy dMs` -ms yMy
- hMy +. yMh
- sMd- -dMs
- -dMy- -yMd-
- :hMdo. .odMh:
- .+hMNho/:..``..:/ohNMh+.
- -+shdmNNNNmdhs+-
- EOF
- ;;
- "Oracle"*)
- set_colors 1 7 3
- read -rd '' ascii_data <<'EOF'
- ${c1}
- `-/+++++++++++++++++/-.`
- `/syyyyyyyyyyyyyyyyyyyyyyys/.
- :yyyyo/-...............-/oyyyy/
- /yyys- .oyyy+
- .yyyy` `syyy-
- :yyyo /yyy/
- .yyyy` `syyy-
- /yyys. .oyyyo
- /yyyyo:-...............-:oyyyy/`
- `/syyyyyyyyyyyyyyyyyyyyyyys+.
- `.:/+ooooooooooooooo+/:.`
- EOF
- ;;
- "OS Elbrus"*)
- set_colors 4 7 3
- read -rd '' ascii_data <<'EOF'
- ${c1} ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
- ██▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀██
- ██ ██
- ██ ███████ ███████ ██
- ██ ██ ██ ██ ██ ██
- ██ ██ ██ ██ ██ ██
- ██ ██ ██ ██ ██ ██
- ██ ██ ██ ██ ██ ██
- ██ ██ ███████ ███████
- ██ ██ ██
- ██ ██▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄██
- ██ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀██
- ██ ██
- ███████████████████████████
- EOF
- ;;
- "PacBSD"*)
- set_colors 1 7 3
- read -rd '' ascii_data <<'EOF'
- ${c1} :+sMs.
- `:ddNMd- -o--`
- -sMMMMh: `+N+``
- yMMMMMs` .....-/-... `mNh/
- yMMMMMmh+-`:sdmmmmmmMmmmmddy+-``./ddNMMm
- yNMMNMMMMNdyyNNMMMMMMMMMMMMMMMhyshNmMMMm
- :yMMMMMMMMMNdooNMMMMMMMMMMMMMMMMNmy:mMMd
- +MMMMMMMMMmy:sNMMMMMMMMMMMMMMMMMMMmshs-
- :hNMMMMMMN+-+MMMMMMMMMMMMMMMMMMMMMMMs.
- .omysmNNhy/+yNMMMMMMMMMMNMMMMMMMMMNdNNy-
- /hMM:::::/hNMMMMMMMMMMMm/-yNMMMMMMN.mMNh`
- .hMMMMdhdMMMMMMMMMMMMMMmo `sMMMMMMN mMMm-
- :dMMMMMMMMMMMMMMMMMMMMMdo+ oMMMMMMN`smMNo`
- /dMMMMMMMMMMMMMMMMMMMMMNd/` :yMMMMMN:-hMMM.
- :dMMMMMMMMMMMMMMMMMMMMMNh` oMMMMMMNo/dMNN`
- :hMMMMMMMMMMMMMMMMMMMMMMNs--sMMMMMMMNNmy++`
- sNMMMMMMMMMMMMMMMMMMMMMMMmmNMMMMMMNho::o.
- :yMMMMMMMMMMMMMNho+sydNNNNNNNmysso/` -//
- /dMMMMMMMMMMMMMs- ````````..``
- .oMMMMMMMMMMMMNs` ./y:`
- +dNMMNMMMMMMMmy` ``./ys.
- `/hMMMMMMMMMMMNo-`` `.+yy+-`
- `-/hmNMNMMMMMMmmddddhhy/-`
- `-+oooyMMMdsoo+/:.
- EOF
- ;;
- "parabola_small"*)
- set_colors 5 7
- read -rd '' ascii_data <<'EOF'
- ${c1} __ __ __ _
- .`_//_//_/ / `.
- / .`
- / .`
- /.`
- /`
- EOF
- ;;
- "Parabola"*)
- set_colors 5 7
- read -rd '' ascii_data <<'EOF'
- ${c1} `.-. `.
- `.` `:++. `-+o+.
- `` `:+/. `:+/. `-+oooo+
- ``-::-.:+/. `:+/. `-+oooooo+
- `.-:///- ..` .-. `-+oooooooo-
- `..-..` `+ooooooooo:
- `` :oooooooo/
- `ooooooo:
- `oooooo:
- -oooo+.
- +ooo/`
- -ooo-
- `+o/.
- /+-
- //`
- -.
- EOF
- ;;
- "Pardus"*)
- set_colors 3 7 6 1 8
- read -rd '' ascii_data <<'EOF'
- ${c1} .smNdy+- `.:/osyyso+:.` -+ydmNs.
- /Md- -/ymMdmNNdhso/::/oshdNNmdMmy/. :dM/
- mN. oMdyy- -y `-dMo .Nm
- .mN+` sMy hN+ -: yMs `+Nm.
- `yMMddMs.dy `+` sMddMMy`
- +MMMo .` . oMMM+
- `NM/ `````.` `.````` +MN`
- yM+ `.-:yhomy ymohy:-.` +My
- yM: yo oy :My
- +Ms .N` `N. +h sM+
- `MN - -::::::- : :o:+`NM`
- yM/ sh -dMMMMd- ho +y+My
- .dNhsohMh-//: /mm/ ://-yMyoshNd`
- `-ommNMm+:/. oo ./:+mMNmmo:`
- `/o+.-somNh- :yy: -hNmos-.+o/`
- ./` .s/`s+sMdd+``+ddMs+s`/s. `/.
- : -y. -hNmddmNy. .y- :
- -+ `..` +-
- EOF
- ;;
- "Parrot"*)
- set_colors 6 7
- read -rd '' ascii_data <<'EOF'
- ${c1} `:oho/-`
- `mMMMMMMMMMMMNmmdhy-
- dMMMMMMMMMMMMMMMMMMs`
- +MMsohNMMMMMMMMMMMMMm/
- .My .+dMMMMMMMMMMMMMh.
- + :NMMMMMMMMMMMMNo
- `yMMMMMMMMMMMMMm:
- /NMMMMMMMMMMMMMy`
- .hMMMMMMMMMMMMMN+
- ``-NMMMMMMMMMd-
- /MMMMMMMMMMMs`
- mMMMMMMMsyNMN/
- +MMMMMMMo :sNh.
- `NMMMMMMm -o/
- oMMMMMMM.
- `NMMMMMM+
- +MMd/NMh
- mMm -mN`
- /MM `h:
- dM` .
- :M-
- d:
- -+
- -
- EOF
- ;;
- "Parsix"*)
- set_colors 3 1 7 8
- read -rd '' ascii_data <<'EOF'
- ${c2}-/+/:.
- ${c2}.syssssys.
- ${c1}.--. ${c2}ssssssssso${c1} ..--.
- :++++++: ${c2}+ssssssss+${c1} ./++/+++:
- /+++++++++.${c2}.yssooooy`${c1}-+///////o-
- /++++++++++.${c2}+soooos:${c1}:+////////+-
- :+++++////o-${c2}oooooo-${c1}+/////////-
- `-/++//++-${c4}.-----.-${c1}:+/////:-
- ${c3}-://::--${c1}-:/:${c4}.--.````.--.${c1}:::-${c3}--::::::.
- ${c3}-/:::::::://:${c4}.:-` `-:${c3}`:/:::::::--/-
- ${c3}/::::::::::/-${c4}--. .-.${c3}-/://///::::/
- ${c3}-/:::::::::/:${c4}`:-. .-:${c3}`:///////////-
- `${c3}-::::--${c1}.-://.${c4}---....---${c1}`:+/:-${c3}--::::-`
- ${c1}-/+///+o/-${c4}.----.${c1}.:oo+++o+.
- ${c1}-+/////+++o:${c2}syyyyy.${c1}o+++++++++:
- ${c1}.+////+++++-${c2}+sssssy+${c1}.++++++++++\
- ${c1}.+:/++++++.${c2}.yssssssy-${c1}`+++++++++:
- ${c1}:/+++++- ${c2}+sssssssss ${c1}-++++++-
- ${c1}`--` ${c2}+sssssssso ${c1}`--`
- ${c2}+sssssy+`
- ${c2}`.::-`
- EOF
- ;;
- "PCBSD"* | "TrueOS"*)
- set_colors 1 7 3
- read -rd '' ascii_data <<'EOF'
- ${c1} ..
- s.
- +y
- yN
- -MN `.
- :NMs `m
- .yMMm` `No
- `-/+++sdMMMNs+-`+Ms
- `:oo+-` .yMMMMy` `-+oNMh
- -oo- +NMMMM/ oMMh-
- .s+` ` oMMMMM/ - oMMMhy.
- +s`- :: :MMMMMd -o `mMMMy`s+
- y+ h .Ny+oNMMMMMN/ sh+NMMMMo +y
- s+ .ds -NMMMMMMMMMMNdhdNMMMMMMh` +s
- -h .NM` `hMMMMMMMMMMMMMMNMMNy: h-
- y- hMN` hMMmMMMMMMMMMNsdMNs. -y
- m` mMMy` oMMNoNMMMMMMo` sMMMo `m
- m` :NMMMdyydMMMMo+MdMMMs sMMMd` `m
- h- `+ymMMMMMMMM--M+hMMN/ +MMMMy -h
- :y `.sMMMMM/ oMM+.yMMNddNMMMMMm y:
- y: `s dMMN- .MMMM/ :MMMMMMMMMMh :y
- `h: `mdmMMM/ yMMMMs sMMMMMMMMN- :h`
- so -NMMMN /mmd+ `dMMMMMMMm- os
- :y: `yMMM` `+NMMMMMMNo`:y:
- /s+`.omy /NMMMMMNh/.+s:
- .+oo:-. /mdhs+::oo+.
- -/o+++++++++++/-
- EOF
- ;;
- "PCLinuxOS"*)
- set_colors 4 7 1
- read -rd '' ascii_data <<'EOF'
- ${c1}mhhhyyyyhhhdN
- dyssyhhhhhhhhhhhssyhN
- Nysyhhyo/:-.....-/oyhhhssd
- Nsshhy+. `/shhysm
- dohhy/ -shhsy
- dohhs` /hhys
- N+hho ${c2}+ssssss+- .+syhys+ ${c1}/hhsy
- ohhh` ${c2}ymmo++hmm+`smmy/::+y` ${c1}shh+
- +hho ${c2}ymm- /mmy+mms ${c1}:hhod
- /hh+ ${c2}ymmhhdmmh.smm/ ${c1}.hhsh
- +hhs ${c2}ymm+::-` /mmy` ` ${c1}/hh+m
- yyhh- ${c2}ymm- /dmdyosyd` ${c1}`yhh+
- ohhy` ${c2}://` -/+++/- ${c1}ohhom
- N+hhy- `shhoh
- sshho. `+hhyom
- dsyhhs/. `:ohhhoy
- dysyhhhso///://+syhhhssh
- dhyssyhhhhhhyssyyhN
- mddhdhdmN
- EOF
- ;;
- "Peppermint"*)
- set_colors 1 15 3
- read -rd '' ascii_data <<'EOF'
- ${c1} PPPPPPPPPPPPPP
- ${c1} PPPP${c2}MMMMMMM${c1}PPPPPPPPPPP
- ${c1} PPPP${c2}MMMMMMMMMM${c1}PPPPPPPP${c2}MM${c1}PP
- ${c1} PPPPPPPP${c2}MMMMMMM${c1}PPPPPPPP${c2}MMMMM${c1}PP
- ${c1} PPPPPPPPPPPP${c2}MMMMMM${c1}PPPPPPP${c2}MMMMMMM${c1}PP
- ${c1} PPPPPPPPPPPP${c2}MMMMMMM${c1}PPPP${c2}M${c1}P${c2}MMMMMMMMM${c1}PP
- ${c1} PP${c2}MMMM${c1}PPPPPPPPPP${c2}MMM${c1}PPPPP${c2}MMMMMMM${c1}P${c2}MM${c1}PPPP
- ${c1} P${c2}MMMMMMMMMM${c1}PPPPPP${c2}MM${c1}PPPPP${c2}MMMMMM${c1}PPPPPPPP
- ${c1} P${c2}MMMMMMMMMMMM${c1}PPPPP${c2}MM${c1}PP${c2}M${c1}P${c2}MM${c1}P${c2}MM${c1}PPPPPPPPPPP
- ${c1} P${c2}MMMMMMMMMMMMMMMM${c1}PP${c2}M${c1}P${c2}MMM${c1}PPPPPPPPPPPPPPPP
- ${c1} P${c2}MMM${c1}PPPPPPPPPPPPPPPPPPPPPPPPPPPPPP${c2}MMMMM${c1}P
- ${c1} PPPPPPPPPPPPPPPP${c2}MMM${c1}P${c2}M${c1}P${c2}MMMMMMMMMMMMMMMM${c1}PP
- ${c1} PPPPPPPPPPP${c2}MM${c1}P${c2}MM${c1}PPPP${c2}MM${c1}PPPPP${c2}MMMMMMMMMMM${c1}PP
- ${c1} PPPPPPPP${c2}MMMMMM${c1}PPPPP${c2}MM${c1}PPPPPP${c2}MMMMMMMMM${c1}PP
- ${c1} PPPP${c2}MM${c1}P${c2}MMMMMMM${c1}PPPPPP${c2}MM${c1}PPPPPPPPPP${c2}MMMM${c1}PP
- ${c1} PP${c2}MMMMMMMMM${c1}P${c2}M${c1}PPPP${c2}MMMMMM${c1}PPPPPPPPPPPPP
- ${c1} PP${c2}MMMMMMM${c1}PPPPPPP${c2}MMMMMM${c1}PPPPPPPPPPPP
- ${c1} PP${c2}MMMM${c1}PPPPPPPPP${c2}MMMMMMM${c1}PPPPPPPP
- ${c1} PP${c2}MM${c1}PPPPPPPP${c2}MMMMMMMMMM${c1}PPPP
- ${c1} PPPPPPPPPP${c2}MMMMMMMM${c1}PPPP
- ${c1} PPPPPPPPPPPPPP
- EOF
- ;;
- "popos_small"* | "pop_os_small"*)
- set_colors 6 7
- read -rd '' ascii_data <<'EOF'
- ${c1}______
- \\ _ \\ __
- \\ \\ \\ \\ / /
- \\ \\_\\ \\ / /
- \\ ___\\ /_/
- \\ \\ _
- __\\_\\__(_)_
- (___________)`
- EOF
- ;;
- "Pop!_OS"* | "popos"* | "pop_os"*)
- set_colors 6 7
- read -rd '' ascii_data <<'EOF'
- ${c1} /////////////
- /////////////////////
- ///////${c2}*767${c1}////////////////
- //////${c2}7676767676*${c1}//////////////
- /////${c2}76767${c1}//${c2}7676767${c1}//////////////
- /////${c2}767676${c1}///${c2}*76767${c1}///////////////
- ///////${c2}767676${c1}///${c2}76767${c1}.///${c2}7676*${c1}///////
- /////////${c2}767676${c1}//${c2}76767${c1}///${c2}767676${c1}////////
- //////////${c2}76767676767${c1}////${c2}76767${c1}/////////
- ///////////${c2}76767676${c1}//////${c2}7676${c1}//////////
- ////////////,${c2}7676${c1},///////${c2}767${c1}///////////
- /////////////*${c2}7676${c1}///////${c2}76${c1}////////////
- ///////////////${c2}7676${c1}////////////////////
- ///////////////${c2}7676${c1}///${c2}767${c1}////////////
- //////////////////////${c2}'${c1}////////////
- //////${c2}.7676767676767676767,${c1}//////
- /////${c2}767676767676767676767${c1}/////
- ///////////////////////////
- /////////////////////
- /////////////
- EOF
- ;;
- "Porteus"*)
- set_colors 6 7
- read -rd '' ascii_data <<'EOF'
- ${c1} `.-:::-.`
- -+ydmNNNNNNNmdy+-
- .+dNmdhs+//////+shdmdo.
- .smmy+-` ./sdy:
- `omdo. `.-/+osssso+/-` `+dy.
- `yms. `:shmNmdhsoo++osyyo-``oh.
- hm/ .odNmds/.` ``.....:::-+s
- /m: `+dNmy:` `./oyhhhhyyooo++so
- ys `yNmy- .+hmmho:-.` ```
- s: yNm+` .smNd+.
- `` /Nm: +dNd+`
- yN+ `smNy.
- dm oNNy`
- hy -mNm.
- +y oNNo
- `y` sNN:
- `: +NN:
- ` .mNo
- /mm`
- /my`
- .sy`
- .+:
- `
- EOF
- ;;
- "postmarketos_small")
- set_colors 2 7
- read -rd '' ascii_data <<'EOF'
- ${c1} /\\
- / \\
- / \\
- \\__ \\
- /\\__ \\ _\\
- / / \\/ __
- / / ____/ \\
- / \\ \\ \\
- /_____/ /________\\
- EOF
- ;;
- "PostMarketOS"*)
- set_colors 2 7
- read -rd '' ascii_data <<'EOF'
- ${c1} /\\
- / \\
- / \\
- / \\
- / \\
- / \\
- \\ \\
- /\\ \\____ \\
- / \\____ \\ \\
- / / \\ \\
- / / \\ ___\\
- / / \\ / ____
- / / \\/ / \\
- / / __________/ \\
- / \\ \\ \\
- / \\ \\ \\
- / / / \\
- /___________/ /____________________\\
- EOF
- ;;
- "Proxmox"*)
- set_colors 7 202
- read -rd '' ascii_data <<'EOF'
- ${c1} .://:` `://:.
- `hMMMMMMd/ /dMMMMMMh`
- `sMMMMMMMd: :mMMMMMMMs`
- ${c2}`-/+oo+/:${c1}`.yMMMMMMMh- -hMMMMMMMy.`${c2}:/+oo+/-`
- `:oooooooo/${c1}`-hMMMMMMMyyMMMMMMMh-`${c2}/oooooooo:`
- `/oooooooo:${c1}`:mMMMMMMMMMMMMm:`${c2}:oooooooo/`
- ./ooooooo+-${c1} +NMMMMMMMMN+ ${c2}-+ooooooo/.
- .+ooooooo+-${c1}`oNMMMMNo`${c2}-+ooooooo+.
- -+ooooooo/.${c1}`sMMs`${c2}./ooooooo+-
- :oooooooo/${c1}`..`${c2}/oooooooo:
- :oooooooo/`${c1}..${c2}`/oooooooo:
- -+ooooooo/.`${c1}sMMs${c2}`./ooooooo+-
- .+ooooooo+-`${c1}oNMMMMNo${c2}`-+ooooooo+.
- ./ooooooo+-${c1} +NMMMMMMMMN+ ${c2}-+ooooooo/.
- `/oooooooo:`${c1}:mMMMMMMMMMMMMm:${c2}`:oooooooo/`
- `:oooooooo/`${c1}-hMMMMMMMyyMMMMMMMh-${c2}`/oooooooo:`
- `-/+oo+/:`${c1}.yMMMMMMMh- -hMMMMMMMy.${c2}`:/+oo+/-`
- ${c1} `sMMMMMMMm: :dMMMMMMMs`
- `hMMMMMMd/ /dMMMMMMh`
- `://:` `://:`
- EOF
- ;;
- "Puppy"* | "Quirky Werewolf"* | "Precise Puppy"*)
- set_colors 4 7
- read -rd '' ascii_data <<'EOF'
- ${c1} `-/osyyyysosyhhhhhyys+-
- -ohmNNmh+/hMMMMMMMMNNNNd+dMMMMNM+
- yMMMMNNmmddo/NMMMNNNNNNNNNo+NNNNNy
- .NNNNNNmmmddds:MMNNNNNNNNNNNh:mNNN/
- -NNNdyyyhdmmmd`dNNNNNmmmmNNmdd/os/
- .Nm+shddyooo+/smNNNNmmmmNh. :mmd.
- NNNNy:` ./hmmmmmmmNNNN: hNMh
- NMN- -++- +NNNNNNNNNNm+..-sMMMM-
- .MMo oNNNNo hNNNNNNNNmhdNNNMMMMM+
- .MMs /NNNN/ dNmhs+:-` yMMMMMMMM+
- mMM+ .. `sNN+. hMMMMhhMMM-
- +MMMmo:...:sNMMMMMms:` hMMMMm.hMMy
- yMMMMMMMMMMMNdMMMMMM::/+o+//dMMd`
- sMMMMMMMMMMN+:oyyo:sMMMNNMMMNy`
- :mMMMMMMMMMMMmddNMMMMMMMMmh/
- /dMMMMMMMMMMMMMMMMMMNdy/`
- .+hNMMMMMMMMMNmdhs/.
- .:/+ooo+/:-.
- EOF
- ;;
- "pureos_small"*)
- set_colors 2 7 7
- read -rd '' ascii_data <<'EOF'
- ${c1} _____________
- | _________ |
- | | | |
- | | | |
- | |_________| |
- |_____________|
- EOF
- ;;
- "PureOS"*)
- set_colors 2 7 7
- read -rd '' ascii_data <<'EOF'
- ${c1}dmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmd
- dNm//////////////////////////////////mNd
- dNd dNd
- dNd dNd
- dNd dNd
- dNd dNd
- dNd dNd
- dNd dNd
- dNd dNd
- dNd dNd
- dNm//////////////////////////////////mNd
- dmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmd
- EOF
- ;;
- "Qubes"*)
- set_colors 4 5 7 6
- read -rd '' ascii_data <<'EOF'
- ${c1} `..--..`
- `.----------.`
- `..----------------..`
- `.------------------------.``
- `..-------------....-------------..`
- .::----------..`` ``..----------:+:
- :////:----..` `..---:/ossso
- :///////:` `/osssssso
- :///////: /ssssssso
- :///////: /ssssssso
- :///////: /ssssssso
- :///////: /ssssssso
- :///////: /ssssssso
- :////////-` .:sssssssso
- :///////////-.` `-/osssssssssso
- `//////////////:-```.:+ssssssssssssso-
- .-://////////////sssssssssssssso/-`
- `.:///////////sssssssssssssso:.
- .-:///////ssssssssssssssssss/`
- `.:////ssss+/+ssssssssssss.
- `--//- `-/osssso/.
- EOF
- ;;
- "Radix"*)
- set_colors 1 2
- read -rd '' ascii_data <<'EOF'
- ${c2} .:oyhdmNo
- `/yhyoosdms`
- -o+/ohmmho-
- ..`.:/:-`
- `.--:::-.``${c1}
- .+ydNMMMMMMNmhs:`
- `omMMMMMMMMMMMMMMNh-
- oNMMMNmddhhyyhhhddmy.
- mMMMMNmmddhhysoo+/:-`
- yMMMMMMMMMMMMMMMMNNh.
- -dmmmmmNNMMMMMMMMMMs`
- -+oossyhmMMMMMMMMd-
- `sNMMMMMMMMMMMMMm:
- `yMMMMMMNmdhhhh:
- `sNMMMMMNmmho.
- `+mMMMMMMMy.
- .yNMMMm+`
- `:yd+.
- EOF
- ;;
- "Raspbian_small"*)
- set_colors 2 1
- read -rd '' ascii_data <<'EOF'
- ${c1} .~~. .~~.
- '. \\ ' ' / .'
- ${c2} .~ .~~~..~.
- : .~.'~'.~. :
- ~ ( ) ( ) ~
- ( : '~'.~.'~' : )
- ~ .~ ( ) ~. ~
- ( : '~' : )
- '~ .~~~. ~'
- '~'
- EOF
- ;;
- "Raspbian"*)
- set_colors 2 1
- read -rd '' ascii_data <<'EOF'
- ${c1} `.::///+:/-. --///+//-:``
- `+oooooooooooo: `+oooooooooooo:
- /oooo++//ooooo: ooooo+//+ooooo.
- `+ooooooo:-:oo- +o+::/ooooooo:
- `:oooooooo+`` `.oooooooo+-
- `:++ooo/. :+ooo+/.`
- ${c2}...` `.----.` ``..
- .::::-``:::::::::.`-:::-`
- -:::-` .:::::::-` `-:::-
- `::. `.--.` `` `.---.``.::`
- .::::::::` -::::::::` `
- .::` .:::::::::- `::::::::::``::.
- -:::` ::::::::::. ::::::::::.`:::-
- :::: -::::::::. `-:::::::: ::::
- -::- .-:::-.``....``.-::-. -::-
- .. `` .::::::::. `..`..
- -:::-` -::::::::::` .:::::`
- :::::::` -::::::::::` :::::::.
- .::::::: -::::::::. ::::::::
- `-:::::` ..--.` ::::::.
- `...` `...--..` `...`
- .::::::::::
- `.-::::-`
- EOF
- ;;
- "Reborn OS"* | "Reborn"*)
- set_colors 2 2 8
- read -rd '' ascii_data <<'EOF'
- ${c3}
- mMMMMMMMMM MMMMMMMMMm
- NM MN
- MM ${c1}dddddddd dddddddd ${c3}MN
- mM ${c1}dd dd ${c3}MM
- ${c1}dd hhhhhh hhhhh dd
- ${c3}mM ${c1}hh hh ${c3}Mm
- NM ${c1}hd ${c3}mMMMMMMd ${c1}dh ${c3}MN
- NM ${c1}dd hh ${c3}mMMMMMMMMm ${c1}hh dd ${c3}MN
- NM ${c1}dd hh ${c3}mMMMMMMMMMMm ${c1}hh dd ${c3}MN
- NM ${c1}dd hh ${c3}mMMMMMMMMm ${c1}hh dd ${c3}MN
- NM ${c1}hd ${c3}mMMMMMMm ${c1}dh ${c3}MN
- mM ${c1}hh hh ${c3}Mm
- ${c1}dd hhhhhh hhhhhh dd
- ${c3}MM ${c1}dd dd ${c3}MM
- MM ${c1}dddddddd dddddddd ${c3}MN
- NM MN
- mMMMMMMMMM MMMMMMMMMm
- EOF
- ;;
- "Red Star"* | "Redstar"*)
- set_colors 1 7 3
- read -rd '' ascii_data <<'EOF'
- ${c1} ..
- .oK0l
- :0KKKKd.
- .xKO0KKKKd
- ,Od' .d0000l
- .c;. .'''... ..'.
- .,:cloddxxxkkkkOOOOkkkkkkkkxxxxxxxxxkkkx:
- ;kOOOOOOOkxOkc'...',;;;;,,,'',;;:cllc:,.
- .okkkkd,.lko .......',;:cllc:;,,'''''.
- .cdo. :xd' cd:. ..';'',,,'',,;;;,'.
- . .ddl.;doooc'..;oc;'..';::;,'.
- coo;.oooolllllllcccc:'. .
- .ool''lllllccccccc:::::;.
- ;lll. .':cccc:::::::;;;;'
- :lcc:'',..';::::;;;;;;;,,.
- :cccc::::;...';;;;;,,,,,,.
- ,::::::;;;,'. ..',,,,'''.
- ........ ......
- EOF
- ;;
- "Redcore"*)
- set_colors 1
- read -rd '' ascii_data <<'EOF'
- ${c1} RRRRRRRRR
- RRRRRRRRRRRRR
- RRRRRRRRRR RRRRR
- RRRRRRRRRRRRRRRRRRRRRRRRRRR
- RRRRRRR RRR RRR RRRRRRRR
- RRRRR RR RRRRRRRRR
- RRRR RR RRRRRRRR RR RRRRRR
- RRRR R RRRRRRRRRRRRRR RR RRRRR
- RRRR R RRRRRRRRRRRRRRRRRR R RRRRR
- RRRR RRRRRRRRRRRRRRRRRRR R RRRR
- RRR RRRRRRRRRRRRRRRRRRRR R RRRR
- RRR RRRRRRRRRRRRRRRRRRRR RRRR
- RR RRRRRRRRRRRRRRRRRRR RRR
- RR RRRRRRRRRRRRRRRRR RRR
- RR RRRRRRRRRRRRRR RR
- R RRRR RR
- EOF
- ;;
- "redhat_old" | "rhel_old"*)
- set_colors 1 7 3
- read -rd '' ascii_data <<'EOF'
- ${c1} `.-..........`
- `////////::.`-/.
- -: ....-////////.
- //:-::///////////`
- `--::: `-://////////////:
- //////- ``.-:///////// .`
- `://////:-.` :///////::///:`
- .-/////////:---/////////////:
- .-://////////////////////.
- ${c2} yMN+`.-${c1}::///////////////-`
- ${c2} .-`:NMMNMs` `..-------..`
- MN+/mMMMMMhoooyysshsss
- MMM MMMMMMMMMMMMMMyyddMMM+
- MMMM MMMMMMMMMMMMMNdyNMMh` hyhMMM
- MMMMMMMMMMMMMMMMyoNNNMMM+. MMMMMMMM
- MMNMMMNNMMMMMNM+ mhsMNyyyyMNMMMMsMM
- EOF
- ;;
- "Redhat"* | "Red Hat"* | "rhel"*)
- set_colors 1
- read -rd '' ascii_data <<'EOF'
- ${c1} .MMM..:MMMMMMM
- MMMMMMMMMMMMMMMMMM
- MMMMMMMMMMMMMMMMMMMM.
- MMMMMMMMMMMMMMMMMMMMMM
- ,MMMMMMMMMMMMMMMMMMMMMM:
- MMMMMMMMMMMMMMMMMMMMMMMM
- .MMMM' MMMMMMMMMMMMMMMMMMMMMM
- MMMMMM `MMMMMMMMMMMMMMMMMMMM.
- MMMMMMMM MMMMMMMMMMMMMMMMMM .
- MMMMMMMMM. `MMMMMMMMMMMMM' MM.
- MMMMMMMMMMM. MMMM
- `MMMMMMMMMMMMM. ,MMMMM.
- `MMMMMMMMMMMMMMMMM. ,MMMMMMMM.
- MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
- MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM:
- MMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
- `MMMMMMMMMMMMMMMMMMMMMMMM:
- ``MMMMMMMMMMMMMMMMM'
- EOF
- ;;
- "Refracted Devuan"* | "Refracted_Devuan"*)
- set_colors 8 7
- read -rd '' ascii_data <<'EOF'
- ${c2} A
- VW
- VVW\\
- .yWWW\\
- ,;,,u,;yy;;v;uyyyyyyy ,WWWWW^
- *WWWWWWWWWWWWWWWW/ $VWWWWw ,
- ^*%WWWWWWVWWX $WWWW** ,yy
- , "**WWW/' **' ,yy/WWW*`
- &WWWWwy `*` <,ywWW%VWWW*
- yWWWWWWWWWW* ., "**WW%W
- ,&WWWWWM*"` ,y/ &WWWww ^*
- XWWX*^ ,yWWWW09 .WWWWWWWWwy,
- *` &WWWWWM WWWWWWWWWWWWWww,
- (WWWWW` /#####WWW***********
- ^WWWW
- VWW
- Wh.
- V/
- EOF
- ;;
- "Regata"*)
- set_colors 7 1 4 5 3 2
- read -rd '' ascii_data <<'EOF'
- ${c1} ddhso+++++osydd
- dho/.`hh${c2}.:/+/:.${c1}hhh`:+yd
- do-hhhhhh${c2}/sssssss+`${c1}hhhhh./yd
- h/`hhhhhhh${c2}-sssssssss:${c1}hhhhhhhh-yd
- do`hhhhhhhhh${c2}`ossssssso.${c1}hhhhhhhhhh/d
- d/hhhhhhhhhhhh${c2}`/ossso/.${c1}hhhhhhhhhhhh.h
- /hhhhhhhhhhhh${c3}`-/osyso/-`${c1}hhhhhhhhhhhh.h
- shh${c4}-/ooo+-${c1}hhh${c3}:syyso+osyys/`${c1}hhh${c5}`+oo`${c1}hhh/
- h${c4}`ohhhhhhho`${c3}+yyo.${c1}hhhhh${c3}.+yyo`${c5}.sssssss.${c1}h`h
- s${c4}:hhhhhhhhho${c3}yys`${c1}hhhhhhh${c3}.oyy/${c5}ossssssso-${c1}hs
- s${c4}.yhhhhhhhy/${c3}yys`${c1}hhhhhhh${c3}.oyy/${c5}ossssssso-${c1}hs
- hh${c4}./syyys+.${c1} ${c3}+yy+.${c1}hhhhh${c3}.+yyo`${c5}.ossssso/${c1}h`h
- shhh${c4}``.`${c1}hhh${c3}`/syyso++oyys/`${c1}hhh${c5}`+++-`${c1}hh:h
- d/hhhhhhhhhhhh${c3}`-/osyso+-`${c1}hhhhhhhhhhhh.h
- d/hhhhhhhhhhhh${c6}`/ossso/.${c1}hhhhhhhhhhhh.h
- do`hhhhhhhhh${c6}`ossssssso.${c1}hhhhhhhhhh:h
- h/`hhhhhhh${c6}-sssssssss:${c1}hhhhhhhh-yd
- h+.hhhhhh${c6}+sssssss+${c1}hhhhhh`/yd
- dho:.hhh${c6}.:+++/.${c1}hhh`-+yd
- ddhso+++++osyhd
- EOF
- ;;
- "Regolith"*)
- set_colors 1
- read -rd '' ascii_data <<'EOF'
- ${c1}
- ``....```
- `.:/++++++/::-.`
- -/+++++++:.`
- -++++++++:`
- `/++++++++-
- `/++++++++. -/+/
- /++++++++/ `` .:+++:.
- -+++++++++/ ./++++:+++/-`
- :+++++++++/ `+++++++/-`
- :++++++++++` .-/+++++++`
- `:++++++++++/``.-/++++:-:::-` `
- `:+++++++++++++++++/:.` ./`
- :++/-:+++++++++/:-.. -/+.
- +++++++++/::-...:/+++/-..````..-/+++.
- `......``.::/+++++++++++++++++++++/.
- -/+++++++++++++++++++++/.
- .:/+++++++++++++++/-`
- `.-:://////:-.
- EOF
- ;;
- "Rosa"*)
- set_colors 4 7 1
- read -rd '' ascii_data <<'EOF'
- ${c1} ROSAROSAROSAROSAR
- ROSA AROS
- ROS SAROSAROSAROSAR AROS
- RO ROSAROSAROSAROSAROSAR RO
- ARO AROSAROSAROSARO AROS ROS
- ARO ROSAROS OSAR ROSA ROS
- RO AROSA ROSAROSAROSA ROSAR RO
- RO ROSAR ROSAROSAROSAR R ROSARO RO
- RO ROSA AROSAROSAROSA AR ROSARO AR
- RO AROS ROSAROSAROSA ROS AROSARO AR
- RO AROS ROSAROSARO ROSARO ROSARO AR
- RO ROS AROSAROS ROSAROSA AROSAR AR
- RO ROSA ROS ROSAROSAR ROSARO RO
- RO ROS AROSAROSAROSA ROSARO AR
- ARO ROSA ROSAROSAROS AROSAR ARO
- ARO OROSA R ROSAROS ROS
- RO AROSAROS AROSAROSAR RO
- AROS AROSAROSAROSARO AROS
- ROSA SARO
- ROSAROSAROSAROSAR
- EOF
- ;;
- "sabotage"*)
- set_colors 4 7 1
- read -rd '' ascii_data <<'EOF'
- ${c2} .|'''.| | '||''|. ..|''||
- ||.. ' ||| || || .|' ||
- ''|||. | || ||'''|. || ||
- . '|| .''''|. || || '|. ||
- |'....|' .|. .||. .||...|' ''|...|'
- |''||''| | ..|'''.| '||''''|
- || ||| .|' ' || .
- || | || || .... ||''|
- || .''''|. '|. || ||
- .||. .|. .||. ''|...'| .||.....|
- EOF
- ;;
- "Sabayon"*)
- set_colors 4 7 1
- read -rd '' ascii_data <<'EOF'
- ${c1} ...........
- .. ..
- .. ..
- .. ${c2}o ${c1}..
- .. ${c2}:W' ${c1}..
- .. ${c2}.d. ${c1}..
- :. ${c2}.KNO ${c1}.:
- :. ${c2}cNNN. ${c1}.:
- : ${c2}dXXX, ${c1}:
- : ${c2}. dXXX, .cd, ${c1}:
- : ${c2}'kc .. dKKK. ,ll;:' ${c1}:
- : ${c2}.xkkxc;..dkkkc',cxkkl ${c1}:
- :. ${c2}.,cdddddddddddddo:. ${c1}.:
- .. ${c2}:lllllll: ${c1}..
- .. ${c2}',,,,, ${c1}..
- .. ..
- .. ..
- ...............
- EOF
- ;;
- "Sailfish"*)
- set_colors 4 5 7 6
- read -rd '' ascii_data <<'EOF'
- ${c1} _a@b
- _#b (b
- _@@ @_ _,
- _#^@ _#*^^*gg,aa@^^
- #- @@^ _a@^^
- @_ *g#b
- ^@_ ^@_
- ^@_ @
- @(b (b
- #b(b#^
- _@_#@^
- _a@a*^
- ,a@*^
- EOF
- ;;
- "SalentOS"*)
- set_colors 2 1 3 7
- read -rd '' ascii_data <<'EOF'
- ${c1} ``..``
- .-:+oshdNMMMMMMNdhyo+:-.`
- -oydmMMMMMMMMMMMMMMMMMMMMMMMMMMNdhs/
- ${c4} +hdddm${c1}NMMMMMMMMMMMMMMMMMMMMMMMMN${c4}mdddh+`
- ${c2}`MMMMMN${c4}mdddddm${c1}MMMMMMMMMMMM${c4}mdddddm${c3}NMMMMM-
- ${c2} mMMMMMMMMMMMN${c4}ddddhyyhhddd${c3}NMMMMMMMMMMMM`
- ${c2} dMMMMMMMMMMMMMMMMM${c4}oo${c3}MMMMMMMMMMMMMMMMMN`
- ${c2} yMMMMMMMMMMMMMMMMM${c4}hh${c3}MMMMMMMMMMMMMMMMMd
- ${c2} +MMMMMMMMMMMMMMMMM${c4}hh${c3}MMMMMMMMMMMMMMMMMy
- ${c2} :MMMMMMMMMMMMMMMMM${c4}hh${c3}MMMMMMMMMMMMMMMMMo
- ${c2} .MMMMMMMMMMMMMMMMM${c4}hh${c3}MMMMMMMMMMMMMMMMM/
- ${c2} `NMMMMMMMMMMMMMMMM${c4}hh${c3}MMMMMMMMMMMMMMMMM-
- ${c2} mMMMMMMMMMMMMMMMM${c4}hh${c3}MMMMMMMMMMMMMMMMN`
- ${c2} hMMMMMMMMMMMMMMMM${c4}hh${c3}MMMMMMMMMMMMMMMMm
- ${c2} /MMMMMMMMMMMMMMMM${c4}hh${c3}MMMMMMMMMMMMMMMMy
- ${c2} .+hMMMMMMMMMMMMM${c4}hh${c3}MMMMMMMMMMMMMms:
- ${c2} `:smMMMMMMMMM${c4}hh${c3}MMMMMMMMMNh+.
- ${c2} .+hMMMMMM${c4}hh${c3}MMMMMMdo:
- ${c2} `:smMM${c4}yy${c3}MMNy/`
- ${c2}.- ${c4}`${c3}:.
- EOF
- ;;
- "Scientific"*)
- set_colors 4 7 1
- read -rd '' ascii_data <<'EOF'
- ${c1} =/;;/-
- +: //
- /; /;
- -X H.
- .//;;;:;;-, X= :+ .-;:=;:;#;.
- M- ,=;;;#:, ,:#;;:=, ,@
- :# :#.=/++++/=.$= #=
- ,#; #/:+/;,,/++:+/ ;+.
- ,+/. ,;@+, ,#H;, ,/+,
- ;+;;/= @. ${c3}.H${c2}#${c3}#X ${c1}-X :///+;
- ;+=;;;.@, ${c2}.X${c3}M${c2}@$. ${c1}=X.//;=#/.
- ,;: :@#= =$H: .+#-
- ,#= #;-///==///-// =#,
- ;+ :#-;;;:;;;;-X- +:
- @- .-;;;;M- =M/;;;-. -X
- :;;::;;-. #- :+ ,-;;-;:==
- ,X H.
- ;/ #=
- // +;
- '////'
- EOF
- ;;
- "Septor"*)
- set_colors 4 7 4
- read -rd '' ascii_data <<'EOF'
- ${c1}ssssssssssssssssssssssssssssssssssssssss
- ssssssssssssssssssssssssssssssssssssssss
- ssssssssssssssssssssssssssssssssssssssss
- ssssssssssssssssssssssssssssssssssssssss
- ssssssssss${c2};okOOOOOOOOOOOOOOko;${c1}ssssssssss
- sssssssss${c2}oNWWWWWWWWWWWWWWWWWWNo${c1}sssssssss
- ssssssss${c2}:WWWWWWWWWWWWWWWWWWWWWW:${c1}ssssssss
- ssssssss${c2}lWWWWWk${c1}ssssssssss${c2}lddddd:${c1}ssssssss
- ssssssss${c2}cWWWWWNKKKKKKKKKKKKOx:${c1}ssssssssss
- ${c3}yy${c1}sssssss${c2}OWWWWWWWWWWWWWWWWWWWWx${c1}sssssss${c3}yy
- yyyyyyyyyy${c2}:kKNNNNNNNNNNNNWWWWWW:${c3}yyyyyyyy
- yyyyyyyy${c2}sccccc;${c3}yyyyyyyyyy${c2}kWWWWW:${c3}yyyyyyyy
- yyyyyyyy${c2}:WWWWWWNNNNNNNNNNWWWWWW;${c3}yyyyyyyy
- yyyyyyyy${c2}.dWWWWWWWWWWWWWWWWWWWNd${c3}yyyyyyyyy
- yyyyyyyyyy${c2}sdO0KKKKKKKKKKKK0Od;${c3}yyyyyyyyyy
- yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
- yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
- yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
- yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
- yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
- EOF
- ;;
- "Serene"*)
- set_colors 6 6
- read -rd '' ascii_data <<'EOF'
- ${c1} __---''''''---__
- . .
- : :
- - _______----_-
- s __----''' __----
- __h_ _-' _-' h
- '-._''--.._ ; _-' y
- : ''-._ '-._/ _-' :
- y ':_ _--'' y
- m .--'' '-._.;' m
- m : : m
- y '.._ '-__ y
- : '--._ '''----___ :
- y '--._ ''-- _ y
- h '--._ : h
- s __'; vs
- - __..--'' -
- :_..--'' :
- . _ .
- `''---______---''-``
- EOF
- ;;
- "SharkLinux"*)
- set_colors 4 7
- read -rd '' ascii_data <<'EOF'
- ${c1} `:shd/
- `:yNMMMMs
- `-smMMMMMMN.
- .+dNMMMMMMMMs
- .smNNMMMMMMMMm`
- .sNNNNNNNMMMMMM/
- `omNNNNNNNMMMMMMm
- /dNNNNNNNNMMMMMMM+
- .yNNNNNNNNNMMMMMMMN`
- +mNNNNNNNNNMMMMMMMMh
- .hNNNNNNNNNNMMMMMMMMMs
- +mMNNNNNNNNMMMMMMMMMMMs
- .hNMMNNNNMMMMMMMMMMMMMMMd
- .oNNNNNNNNNNMMMMMMMMMMMMMMMo
- `:+syyssoo++++ooooossssssssssso:
- EOF
- ;;
- "Siduction"*)
- set_colors 4 4
- read -rd '' ascii_data <<'EOF'
- ${c1} _aass,
- jQh: =$w
- QWmwawQW
- )$QQQQ@( ..
- _a_a. ~??^ syDY?Sa,
- _mW>-<$c jWmi imm.
- ]QQwayQE 4QQmgwmQQ`
- ?WWQWP' -9QQQQQ@'._aas,
- _a%is. .adYYs,. -"?!` aQB*~^3$c
- _Qh;.nm .QWc. {QL ]QQp;..vmQ/
- "QQmmQ@ -QQQggmQP ]QQWmggmQQ(
- -???" "$WQQQY` __, ?QQQQQQW!
- _yZ!?q, - .yWY!!Sw, "???^
- .QQa_=qQ mQm>..vmm
- $QQWQQP $QQQgmQQ@
- "???" _aa, -9WWQQWY`
- _mB>~)$a -~~
- mQms_vmQ.
- ]WQQQQQP
- -?T??"
- EOF
- ;;
- "slackware_small"*)
- set_colors 4 7 1
- read -rd '' ascii_data <<'EOF'
- ${c1} ________
- / ______|
- | |______
- \\______ \\
- ______| |
- | |________/
- |____________
- EOF
- ;;
- "Slackware"*)
- set_colors 4 7 1
- read -rd '' ascii_data <<'EOF'
- ${c1} :::::::
- :::::::::::::::::::
- :::::::::::::::::::::::::
- ::::::::${c2}cllcccccllllllll${c1}::::::
- :::::::::${c2}lc dc${c1}:::::::
- ::::::::${c2}cl clllccllll oc${c1}:::::::::
- :::::::::${c2}o lc${c1}::::::::${c2}co oc${c1}::::::::::
- ::::::::::${c2}o cccclc${c1}:::::${c2}clcc${c1}::::::::::::
- :::::::::::${c2}lc cclccclc${c1}:::::::::::::
- ::::::::::::::${c2}lcclcc lc${c1}::::::::::::
- ::::::::::${c2}cclcc${c1}:::::${c2}lccclc oc${c1}:::::::::::
- ::::::::::${c2}o l${c1}::::::::::${c2}l lc${c1}:::::::::::
- :::::${c2}cll${c1}:${c2}o clcllcccll o${c1}:::::::::::
- :::::${c2}occ${c1}:${c2}o clc${c1}:::::::::::
- ::::${c2}ocl${c1}:${c2}ccslclccclclccclclc${c1}:::::::::::::
- :::${c2}oclcccccccccccccllllllllllllll${c1}:::::
- ::${c2}lcc1lcccccccccccccccccccccccco${c1}::::
- ::::::::::::::::::::::::::::::::
- ::::::::::::::::::::::::::::
- ::::::::::::::::::::::
- ::::::::::::
- EOF
- ;;
- "SliTaz"*)
- set_colors 3 3
- read -rd '' ascii_data <<'EOF'
- ${c1} @ @( @
- @@ @@ @ @/
- @@ @@ @@ @@
- @@ %@@ @@ @@
- @@ %@@@ @@@@@. @@@@ @@
- @@@ @@@@ @@@@@@@ &@@@ @@@
- @@@@@@@ %@@@@@@@@@@@@ &@@@% @@@@@@@/
- ,@@@@@@@@@@@@@@@@@@@@@@@@@
- .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@/
- @@@@@@. @@@@@@@@@@@@@@@@@@@@@ /@@@@@@
- @@ @@@@@ @@@@@@@@@@@@, @@@@@ @@@
- @@ @@@@. @@@@@@@@@@@@@% #@@@@ @@.
- @@ ,@@ @@@@@@@@@@@@@ @@@ @@
- @ @@. @@@@@@@@@@@@@ @@@ *@
- @ @@ @@@@@@@@@@@@ @@ @
- @ @@@@@@@@@. #@
- @ ,@@@@@ @
- EOF
- ;;
- "SmartOS"*)
- set_colors 6 7
- read -rd '' ascii_data <<'EOF'
- ${c1}yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
- yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
- yyyys oyyyyyyyyyyyyyyyy
- yyyys yyyyyyyyy oyyyyyyyyyyyyyyyy
- yyyys yyyyyyyyy oyyyyyyyyyyyyyyyy
- yyyys yyyyyyyyy oyyyyyyyyyyyyyyyy
- yyyys yyyyyyyyy oyyyyyyyyyyyyyyyy
- yyyys yyyyyyyyyyyyyyyyyyyyyyyyyyyy
- yyyyy syyyy
- yyyyyyyyyyyyyyyyyyyyyyyyyyyy syyyy
- yyyyyyyyyyyyyyyy syyyyyyyyy syyyy
- yyyyyyyyyyyyyyyy oyyyyyyyyy syyyy
- yyyyyyyyyyyyyyyy oyyyyyyyyy syyyy
- yyyyyyyyyyyyyyyy syyyyyyyyy syyyy
- yyyyyyyyyyyyyyyy yyyyy
- yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
- yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
- EOF
- ;;
- "Solus"*)
- set_colors 4 7 1
- read -rd '' ascii_data <<'EOF'
- ${c2} -```````````
- `-+/------------.`
- .---:mNo---------------.
- .-----yMMMy:---------------.
- `------oMMMMMm/----------------`
- .------/MMMMMMMN+----------------.
- .------/NMMMMMMMMm-+/--------------.
- `------/NMMMMMMMMMN-:mh/-------------`
- .-----/NMMMMMMMMMMM:-+MMd//oso/:-----.
- -----/NMMMMMMMMMMMM+--mMMMh::smMmyo:--
- ----+NMMMMMMMMMMMMMo--yMMMMNo-:yMMMMd/.
- .--oMMMMMMMMMMMMMMMy--yMMMMMMh:-yMMMy-`
- `-sMMMMMMMMMMMMMMMMh--dMMMMMMMd:/Ny+y.
- `-/+osyhhdmmNNMMMMMm-/MMMMMMMmh+/ohm+
- .------------:://+-/++++++${c1}oshddys:
- -hhhhyyyyyyyyyyyhhhhddddhysssso-
- `:ossssssyysssssssssssssssso:`
- `:+ssssssssssssssssssss+-
- `-/+ssssssssssso+/-`
- `.-----..`
- EOF
- ;;
- "Source Mage"* | "Source_Mage"*)
- set_colors 4 7 1
- read -rd '' ascii_data <<'EOF'
- ${c2} :ymNMNho.
- .+sdmNMMMMMMMMMMy`
- .-::/yMMMMMMMMMMMm-
- sMMMMMMMMMMMm/
- /NMMMMMMMMMMMMMm:
- .MMMMMMMMMMMMMMMMM:
- `MMMMMMMMMMMMMMMMMN.
- NMMMMMMMMMMMMMMMMMd
- mMMMMMMMMMMMMMMMMMMo
- hhMMMMMMMMMMMMMMMMMM.
- .`/MMMMMMMMMMMMMMMMMs
- :mMMMMMMMMMMMMMMMN`
- `sMMMMMMMMMMMMMMM+
- /NMMMMMMMMMMMMMN`
- oMMMMMMMMMMMMM+
- ./sd.-hMMMMMMMMmmN`
- ./+oyyyh- `MMMMMMMMMmNh
- sMMMMMMMMMmmo
- `NMMMMMMMMMd:
- -dMMMMMMMMMo
- -shmNMMms.
- EOF
- ;;
- "Sparky"*)
- set_colors 1 7
- read -rd '' ascii_data <<'EOF'
- ${c1}
- . `-:-`
- .o` .-///-`
- `oo` .:/++:.
- os+` -/+++:` ``.........```
- /ys+`./+++/-.-::::::----......``
- `syyo`++o+--::::-::/+++/-``
- -yyy+.+o+`:/:-:sdmmmmmmmmdy+-`
- ::-` :yyy/-oo.-+/`ymho++++++oyhdmdy/`
- `/yy+-`.syyo`+o..o--h..osyhhddhs+//osyy/`
- -ydhs+-oyy/.+o.-: ` ` :/::+ydhy+```-os-
- .sdddy::syo--/:. `.:dy+-ohhho ./:
- :yddds/:+oo+//:-`- /+ +hy+.shhy: ``
- `:ydmmdysooooooo-.ss`/yss--oyyo
- `./ossyyyyo+:-/oo:.osso- .oys
- ``..-------::////.-oooo/ :so
- `...----::::::::--.`/oooo: .o:
- ``````` ++o+:` `:`
- ./+/-` `
- `-:-.
- ``
- EOF
- ;;
- "Star"*)
- set_colors 7
- read -rd '' ascii_data <<'EOF'
- ${c1} ./
- `yy-
- `y.`y`
- `` s- .y `
- +h//:..` +/ /o ``..:/so
- /o``.-::/:/+ o/://::-.`+o`
- :s` `. .` `s/
- .y. .s-
- `y- :s`
- .-//. /+:.
- .:/:. .:/:.
- -+o:. .:+:.
- -///++///:::` .-::::///+so-
- ``..o/ d-....```
- s. `/. d
- h .+o-+o- h.
- h -o/` `/o: s:
- -s/o:` `:o/+/
- /s- -yo
- EOF
- ;;
- "SteamOS"*)
- set_colors 5 7
- read -rd '' ascii_data <<'EOF'
- ${c1} .,,,,.
- .,'onNMMMMMNNnn',.
- .'oNMANKMMMMMMMMMMMNNn'.
- .'ANMMMMMMMXKNNWWWPFFWNNMNn.
- ;NNMMMMMMMMMMNWW'' ,.., 'WMMM,
- ;NMMMMV+##+VNWWW' .+;'':+, 'WMW,
- ,VNNWP+${c2}######${c1}+WW, ${c2}+: ${c1}:+, +MMM,
- '${c2}+#############, +. ,+' ${c1}+NMMM
- ${c2} '*#########*' '*,,*' ${c1}.+NMMMM.
- ${c2} `'*###*' ,.,;###${c1}+WNM,
- ${c2} .,;;, .;##########${c1}+W
- ${c2},',. '; ,+##############'
- '###+. :,. .,; ,###############'
- '####.. `'' .,###############'
- '#####+++################'
- '*##################*'
- ''*##########*''
- ''''''
- EOF
- ;;
- "sunos_small" | "solaris_small")
- set_colors 3 7
- read -rd '' ascii_data <<'EOF'
- ${c1} . .; .
- . :; :: ;: .
- .;. .. .. .;.
- .. .. .. ..
- .;, ,;.
- EOF
- ;;
- "SunOS" | "Solaris")
- set_colors 3 7
- read -rd '' ascii_data <<'EOF'
- ${c1} `- `
- `-- `+- .:
- .+: `++: -/+- .
- `.::` -++/``:::`./+/ `.-/.
- `++/-`.` ` /++:`
- `` ./:` .: `..`.-
- ``./+/:- -+++:-
- -/+` :.
- EOF
- ;;
- "openSUSE Leap"* | "openSUSE_Leap"*)
- set_colors 2 7
- read -rd '' ascii_data <<'EOF'
- ${c2} `-++:`
- ./oooooo/-
- `:oooooooooooo:.
- -+oooooooooooooooo+-`
- ./oooooooooooooooooooooo/-
- :oooooooooooooooooooooooooo:
- ` `-+oooooooooooooooooooo/- `
- `:oo/- .:ooooooooooooooo+:` `-+oo/.
- `/oooooo:. -/oooooooooo/. ./oooooo/.
- `:+ooooo+-` `:+oooo+- `:oooooo+:`
- .:oooooo/. .::` -+oooooo/.
- -/oooooo:. ./oooooo+-
- `:+ooooo+-:+oooooo:`
- ./oooooooooo/.
- -/oooo+:`
- `:/.
- EOF
- ;;
- "t2"*)
- set_colors 7 4
- read -rd '' ascii_data <<'EOF'
- ${c2}
- TTTTTTTTTT
- tt ${c1}222${c2}
- tt ${c1}2 2${c2}
- tt ${c1}2${c2}
- tt ${c1}2${c2}
- tt ${c1}22222${c2}
- EOF
- ;;
- "openSUSE Tumbleweed"* | "openSUSE_Tumbleweed"*)
- set_colors 2 7
- read -rd '' ascii_data <<'EOF'
- ${c2} ......
- .,cdxxxoc,. .:kKMMMNWMMMNk:.
- cKMMN0OOOKWMMXo. ; ;0MWk:. .:OMMk.
- ;WMK;. .lKMMNM, :NMK, .OMW;
- cMW; 'WMMMN ,XMK, oMM'
- .MMc ..;l. xMN: KM0
- 'MM. 'NMO oMM
- .MM, .kMMl xMN
- KM0 .kMM0. .dl:,.. .WMd
- .XM0. ,OMMK, OMMMK. .XMK
- oWMO:. .;xNMMk, NNNMKl. .xWMx
- :ONMMNXMMMKx; . ,xNMWKkxllox0NMWk,
- ..... .:dOOXXKOxl,
- EOF
- ;;
- "opensuse_small" | "suse_small"*)
- set_colors 2 7
- read -rd '' ascii_data <<'EOF'
- ${c1} _______
- __| __ \\
- / .\\ \\
- \\__/ |
- _______|
- \\_______
- __________/
- EOF
- ;;
- "openSUSE"* | "open SUSE"* | "SUSE"*)
- set_colors 2 7
- read -rd '' ascii_data <<'EOF'
- ${c2} .;ldkO0000Okdl;.
- .;d00xl:^''''''^:ok00d;.
- .d00l' 'o00d.
- .d0Kd'${c1} Okxol:;,. ${c2}:O0d.
- .OK${c1}KKK0kOKKKKKKKKKKOxo:, ${c2}lKO.
- ,0K${c1}KKKKKKKKKKKKKKK0P^${c2},,,${c1}^dx:${c2} ;00,
- .OK${c1}KKKKKKKKKKKKKKKk'${c2}.oOPPb.${c1}'0k.${c2} cKO.
- :KK${c1}KKKKKKKKKKKKKKK: ${c2}kKx..dd ${c1}lKd${c2} 'OK:
- dKK${c1}KKKKKKKKKOx0KKKd ${c2}^0KKKO' ${c1}kKKc${c2} dKd
- dKK${c1}KKKKKKKKKK;.;oOKx,..${c2}^${c1}..;kKKK0.${c2} dKd
- :KK${c1}KKKKKKKKKK0o;...^cdxxOK0O/^^' ${c2}.0K:
- kKK${c1}KKKKKKKKKKKKK0x;,,......,;od ${c2}lKk
- '0K${c1}KKKKKKKKKKKKKKKKKKKK00KKOo^ ${c2}c00'
- 'kK${c1}KKOxddxkOO00000Okxoc;'' ${c2}.dKk'
- l0Ko. .c00l'
- 'l0Kk:. .;xK0l'
- 'lkK0xl:;,,,,;:ldO0kl'
- '^:ldxkkkkxdl:^'
- EOF
- ;;
- "SwagArch"*)
- set_colors 4 7 1
- read -rd '' ascii_data <<'EOF'
- ${c2} .;ldkOKXXNNNNXXK0Oxoc,.
- ,lkXMMNK0OkkxkkOKWMMMMMMMMMM;
- 'K0xo ..,;:c:. `'lKMMMMM0
- .lONMMMMMM' `lNMk'
- ${c2} ;WMMMMMMMMMO. ${c1}....::...
- ${c2} OMMMMMMMMMMMMKl. ${c1}.,;;;;;ccccccc,
- ${c2} `0MMMMMMMMMMMMMM0: ${c1}.. .ccccccc.
- ${c2} 'kWMMMMMMMMMMMMMNo. ${c1}.,:' .ccccccc.
- ${c2} `c0MMMMMMMMMMMMMN,${c1},:c; :cccccc:
- ${c2} ckl. `lXMMMMMMMMMX${c1}occcc:.. ;ccccccc.
- ${c2}dMMMMXd, `OMMMMMMWk${c1}ccc;:''` ,ccccccc:
- ${c2}XMMMMMMMWKkxxOWMMMMMNo${c1}ccc; .cccccccc.
- ${c2} `':ldxO0KXXXXXK0Okdo${c1}cccc. :cccccccc.
- :ccc:' `cccccccc:,
- ''
- EOF
- ;;
- "Tails"*)
- set_colors 5 7
- read -rd '' ascii_data <<'EOF'
- ${c1} ``
- ./yhNh
- syy/Nshh `:o/
- N:dsNshh █ `ohNMMd
- N-/+Nshh `yMMMMd
- N-yhMshh yMMMMd
- N-s:hshh █ yMMMMd so//.
- N-oyNsyh yMMMMd d Mms.
- N:hohhhd:. yMMMMd syMMM+
- Nsyh+-..+y+- yMMMMd :mMM+
- +hy- -ss/`yMMMM `+d+
- :sy/. ./yNMMMMm ``
- .+ys- `:+hNMMMMMMy/`
- `hNmmMMMMMMMMMMMMdo.
- dMMMMMMMMMMMMMMMMMNh:
- +hMMMMMMMMMMMMMMMMMmy.
- -oNMMMMMMMMMMmy+.`
- `:yNMMMds/.`
- .//`
- EOF
- ;;
- "Trisquel"*)
- set_colors 4 6
- read -rd '' ascii_data <<'EOF'
- ${c1} ▄▄▄▄▄▄
- ▄█████████▄
- ▄▄▄▄▄▄ ████▀ ▀████
- ▄██████████▄ ████▀ ▄▄ ▀███
- ▄███▀▀ ▀▀████ ███▄ ▄█ ███
- ▄███ ▄▄▄ ████▄ ▀██████ ▄███
- ███ █▀▀██▄ █████▄ ▀▀ ▄████
- ▀███ ███ ███████▄▄ ▄▄██████
- ${c1} ▀███▄ ▄███ █████████████${c2}████▀
- ${c1} ▀█████████ ███████${c2}███▀▀▀
- ▀▀███▀▀ ██████▀▀
- ██████▀ ▄▄▄▄
- █████▀ ████████
- █████ ███▀ ▀███
- ████▄ ██▄▄▄ ███
- █████▄ ▀▀ ▄██
- ██████▄▄▄████
- ▀▀█████▀▀
- EOF
- ;;
- "Ubuntu Cinnamon"* | "Ubuntu-Cinnamon"*)
- set_colors 1
- read -rd '' ascii_data <<'EOF'
- ${c1} .-:/++oooo++/:-.
- `:/oooooooooooooooooo/-`
- -/oooooooooooooooooooo+ooo/-
- .+oooooooooooooooooo+/-`.ooooo+.
- :oooooooooooo+//:://++:. .ooooooo:
- /oooooooooo+o:`.----.``./+/oooooooo/
- /ooooooooo+. +ooooooooo+:``/ooooooooo/
- .ooooooooo: .+ooooooooooooo- -ooooooooo.
- /oooooo/o+ .ooooooo:`+oo+ooo- :oooooooo/
- ooo+:. .o: :ooooo:` .+/. ./o+:/ooooooooo
- oooo/-`.o: :ooo/` `/+. ./.:ooooooooo
- /oooooo+o+``++. `:+- /oooooooo/
- .ooooooooo/`` -+:` :ooooooooo.
- /ooooooooo+--+/` .+ooooooooo/
- /ooooooooooo+.` `.:++:oooooooo/
- :oooooooooooooo++++oo+-` .ooooooo:
- .+ooooooooooooooooooo+:..ooooo+.
- -/oooooooooooooooooooooooo/-
- `-/oooooooooooooooooo/:`
- .-:/++oooo++/:-.
- EOF
- ;;
- "Ubuntu Budgie"* | "Ubuntu-Budgie"*)
- set_colors 4 7 1
- read -rd '' ascii_data <<'EOF'
- ${c2} ./oydmMMMMMMmdyo/.
- :smMMMMMMMMMMMhs+:++yhs:
- `omMMMMMMMMMMMN+` `odo`
- /NMMMMMMMMMMMMN- `sN/
- `hMMMMmhhmMMMMMMh sMh`
- .mMmo- /yMMMMm` `MMm.
- mN/ yMMMMMMMd- MMMm
- oN- oMMMMMMMMMms+//+o+: :MMMMo
- m/ +NMMMMMMMMMMMMMMMMm. :NMMMMm
- M` .NMMMMMMMMMMMMMMMNodMMMMMMM
- M- sMMMMMMMMMMMMMMMMMMMMMMMMM
- mm` mMMMMMMMMMNdhhdNMMMMMMMMMm
- oMm/ .dMMMMMMMMh: :dMMMMMMMo
- mMMNyo/:/sdMMMMMMMMM+ sMMMMMm
- .mMMMMMMMMMMMMMMMMMs `NMMMm.
- `hMMMMMMMMMMM.oo+. `MMMh`
- /NMMMMMMMMMo sMN/
- `omMMMMMMMMy. :dmo`
- :smMMMMMMMh+-` `.:ohs:
- ./oydmMMMMMMdhyo/.
- EOF
- ;;
- "Ubuntu-GNOME"*)
- set_colors 4 5 7 6
- read -rd '' ascii_data <<'EOF'
- ${c3} ./o.
- .oooooooo
- .oooo```soooo
- .oooo` `soooo
- .ooo` ${c4}.o.${c3} `\/ooo.
- :ooo ${c4}:oooo.${c3} `\/ooo.
- sooo ${c4}`ooooo${c3} \/oooo
- \/ooo ${c4}`soooo${c3} `ooooo
- `soooo ${c4}`\/ooo${c3} `soooo
- ${c4}./oo ${c3}`\/ooo ${c4}`/oooo.${c3} `/ooo
- ${c4}`\/ooo. ${c3}`/oooo. ${c4}`/oooo.${c3} ``
- ${c4} `\/ooo. ${c3}/oooo ${c4}/ooo`
- ${c4} `ooooo ${c3}`` ${c4}.oooo
- ${c4} `soooo. .oooo`
- `\/oooooooooo`
- ``\/oo``
- EOF
- ;;
- "Ubuntu MATE"* | "Ubuntu-MATE"*)
- set_colors 2 7
- read -rd '' ascii_data <<'EOF'
- ${c1} `:+shmNNMMNNmhs+:`
- .odMMMMMMMMMMMMMMMMMMdo.
- /dMMMMMMMMMMMMMMMmMMMMMMMMd/
- :mMMMMMMMMMMMMNNNNM/`/yNMMMMMMm:
- `yMMMMMMMMMms:..-::oM: -omMMMMMy`
- `dMMMMMMMMy-.odNMMMMMM: -odMMMMMMd`
- hMMMMMMMm-.hMMy/....+M:`/yNm+mMMMMMMMh
- /MMMMNmMN-:NMy`-yNMMMMMmNyyMN:`dMMMMMMM/
- hMMMMm -odMMh`sMMMMMMMMMMs sMN..MMMMMMMh
- NMMMMm `/yNMMMMMMMMMMMM: MM+ mMMMMMMN
- NMMMMm `/yNMMMMMMMMMMMM: MM+ mMMMMMMN
- hMMMMm -odMMh sMMMMMMMMMMs oMN..MMMMMMMh
- /MMMMNNMN-:NMy`-yNMMMMMNNsyMN:`dMMMMMMM/
- hMMMMMMMm-.hMMy/....+M:.+hNd+mMMMMMMMh
- `dMMMMMMMMy-.odNMMMMMM: :smMMMMMMd`
- yMMMMMMMMMms/..-::oM: .+dMMMMMy
- :mMMMMMMMMMMMMNNNNM: :smMMMMMMm:
- /dMMMMMMMMMMMMMMMdNMMMMMMMd/
- .odMMMMMMMMMMMMMMMMMMdo.
- `:+shmNNMMNNmhs+:`
- EOF
- ;;
- "ubuntu_old")
- set_colors 1 7 3
- read -rd '' ascii_data <<'EOF'
- ${c1} ./+o+-
- ${c2} yyyyy- ${c1}-yyyyyy+
- ${c2} ${c2}://+//////${c1}-yyyyyyo
- ${c3} .++ ${c2}.:/++++++/-${c1}.+sss/`
- ${c3} .:++o: ${c2}/++++++++/:--:/-
- ${c3} o:+o+:++.${c2}`..```.-/oo+++++/
- ${c3} .:+o:+o/.${c2} `+sssoo+/
- ${c2} .++/+:${c3}+oo+o:`${c2} /sssooo.
- ${c2}/+++//+:${c3}`oo+o${c2} /::--:.
- ${c2}+/+o+++${c3}`o++o${c1} ++////.
- ${c2} .++.o+${c3}++oo+:`${c1} /dddhhh.
- ${c3} .+.o+oo:.${c1} `oddhhhh+
- ${c3} +.++o+o`${c1}`-````.:ohdhhhhh+
- ${c3} `:o+++ ${c1}`ohhhhhhhhyo++os:
- ${c3} .o:${c1}`.syhhhhhhh/${c3}.oo++o`
- ${c1} /osyyyyyyo${c3}++ooo+++/
- ${c1} ````` ${c3}+oo+++o:
- ${c3} `oo++.
- EOF
- ;;
- "Ubuntu Studio"* | "Ubuntu-Studio")
- set_colors 6 7
- read -rd '' ascii_data <<'EOF'
- ${c1} ..-::::::-.`
- `.:+++++++++++${c2}ooo${c1}++:.`
- ./+++++++++++++${c2}sMMMNdyo${c1}+/.
- .++++++++++++++++${c2}oyhmMMMMms${c1}++.
- `/+++++++++${c2}osyhddddhys${c1}+${c2}osdMMMh${c1}++/`
- `+++++++++${c2}ydMMMMNNNMMMMNds${c1}+${c2}oyyo${c1}++++`
- +++++++++${c2}dMMNhso${c1}++++${c2}oydNMMmo${c1}++++++++`
- :+${c2}odmy${c1}+++${c2}ooysoohmNMMNmyoohMMNs${c1}+++++++:
- ++${c2}dMMm${c1}+${c2}oNMd${c1}++${c2}yMMMmhhmMMNs+yMMNo${c1}+++++++
- `++${c2}NMMy${c1}+${c2}hMMd${c1}+${c2}oMMMs${c1}++++${c2}sMMN${c1}++${c2}NMMs${c1}+++++++.
- `++${c2}NMMy${c1}+${c2}hMMd${c1}+${c2}oMMMo${c1}++++${c2}sMMN${c1}++${c2}mMMs${c1}+++++++.
- ++${c2}dMMd${c1}+${c2}oNMm${c1}++${c2}yMMNdhhdMMMs${c1}+y${c2}MMNo${c1}+++++++
- :+${c2}odmy${c1}++${c2}oo${c1}+${c2}ss${c1}+${c2}ohNMMMMmho${c1}+${c2}yMMMs${c1}+++++++:
- +++++++++${c2}hMMmhs+ooo+oshNMMms${c1}++++++++
- `++++++++${c2}oymMMMMNmmNMMMMmy+oys${c1}+++++`
- `/+++++++++${c2}oyhdmmmmdhso+sdMMMs${c1}++/
- ./+++++++++++++++${c2}oyhdNMMMms${c1}++.
- ./+++++++++++++${c2}hMMMNdyo${c1}+/.
- `.:+++++++++++${c2}sso${c1}++:.
- ..-::::::-..
- EOF
- ;;
- "ubuntu_small")
- set_colors 1 7 3
- read -rd '' ascii_data <<'EOF'
- ${c1} _
- ---(_)
- _/ --- \\
- (_) | |
- \\ --- _/
- ---(_)
- EOF
- ;;
- "Ubuntu"* | "i3buntu"*)
- set_colors 1 7 3
- read -rd '' ascii_data <<'EOF'
- ${c1} .-/+oossssoo+/-.
- `:+ssssssssssssssssss+:`
- -+ssssssssssssssssssyyssss+-
- .ossssssssssssssssss${c2}dMMMNy${c1}sssso.
- /sssssssssss${c2}hdmmNNmmyNMMMMh${c1}ssssss/
- +sssssssss${c2}hm${c1}yd${c2}MMMMMMMNddddy${c1}ssssssss+
- /ssssssss${c2}hNMMM${c1}yh${c2}hyyyyhmNMMMNh${c1}ssssssss/
- .ssssssss${c2}dMMMNh${c1}ssssssssss${c2}hNMMMd${c1}ssssssss.
- +ssss${c2}hhhyNMMNy${c1}ssssssssssss${c2}yNMMMy${c1}sssssss+
- oss${c2}yNMMMNyMMh${c1}ssssssssssssss${c2}hmmmh${c1}ssssssso
- oss${c2}yNMMMNyMMh${c1}sssssssssssssshmmmh${c1}ssssssso
- +ssss${c2}hhhyNMMNy${c1}ssssssssssss${c2}yNMMMy${c1}sssssss+
- .ssssssss${c2}dMMMNh${c1}ssssssssss${c2}hNMMMd${c1}ssssssss.
- /ssssssss${c2}hNMMM${c1}yh${c2}hyyyyhdNMMMNh${c1}ssssssss/
- +sssssssss${c2}dm${c1}yd${c2}MMMMMMMMddddy${c1}ssssssss+
- /sssssssssss${c2}hdmNNNNmyNMMMMh${c1}ssssss/
- .ossssssssssssssssss${c2}dMMMNy${c1}sssso.
- -+sssssssssssssssss${c2}yyy${c1}ssss+-
- `:+ssssssssssssssssss+:`
- .-/+oossssoo+/-.
- EOF
- ;;
- "Venom"*)
- set_colors 8 4
- read -rd '' ascii_data <<'EOF'
- ${c1} ::::::: :::::::
- mMMMMMMm dMMMMMMm
- /MMMMMMMo +MMMMMMM/
- yMMMMMMN mMMMMMMy
- NMMMMMMs oMMMMMMm
- +MMMMMMN: NMMMMMM+
- hMMMMMMy sMMMMMMy
- :NMMMMMM::NMMMMMN:
- oMMMMMMyyMMMMMM+
- dMMMMMMMMMMMMh
- /MMMMMMMMMMMN:
- sMMMMMMMMMMo
- mMMMMMMMMd
- +MMMMMMMN:
- ::::::
- EOF
- ;;
- "void_small")
- set_colors 2 8
- read -rd '' ascii_data <<'EOF'
- ${c1} _______
- _ \\______ -
- | \\ ___ \\ |
- | | / \ | |
- | | \___/ | |
- | \\______ \\_|
- -_______\\
- EOF
- ;;
- "Void"*)
- set_colors 2 8
- read -rd '' ascii_data <<'EOF'
- ${c1} __.;=====;.__
- _.=+==++=++=+=+===;.
- -=+++=+===+=+=+++++=_
- . -=:`` `--==+=++==.
- _vi, ` --+=++++:
- .uvnvi. _._ -==+==+.
- .vvnvnI` .;==|==;. :|=||=|.
- ${c2}+QmQQm${c1}pvvnv; ${c2}_yYsyQQWUUQQQm #QmQ#${c1}:${c2}QQQWUV$QQm.
- ${c2} -QQWQW${c1}pvvo${c2}wZ?.wQQQE${c1}==<${c2}QWWQ/QWQW.QQWW${c1}(: ${c2}jQWQE
- ${c2} -$QQQQmmU' jQQQ@${c1}+=<${c2}QWQQ)mQQQ.mQQQC${c1}+;${c2}jWQQ@'
- ${c2} -$WQ8Y${c1}nI: ${c2}QWQQwgQQWV${c1}`${c2}mWQQ.jQWQQgyyWW@!
- ${c1} -1vvnvv. `~+++` ++|+++
- +vnvnnv, `-|===
- +vnvnvns. . :=-
- -Invnvvnsi..___..=sv=. `
- +Invnvnvnnnnnnnnvvnn;.
- ~|Invnvnvvnvvvnnv}+`
- -~|{*l}*|~
- EOF
- ;;
- "Obarun"*)
- set_colors 6 6 7 1
- read -rd '' ascii_data <<'EOF'
- ${c1} ,;::::;
- ;cooolc;,
- ,coool;
- ,loool,
- loooo;
- :ooool
- cooooc ,:ccc;
- looooc :oooooool
- cooooo ;oooooooooo,
- :ooooo; :ooooooooooo
- oooooo oooooooooooc
- :oooooo :ooooooooool
- loooooo ;oooooooool
- looooooc .coooooooc
- cooooooo: ,;co;
- ,ooooooool; ,:loc
- cooooooooooooloooooc
- ;ooooooooooooool;
- ;looooooolc;
- EOF
- ;;
- *"[Windows 10]"*|*"on Windows 10"*|"Windows 8"*|\
- "Windows 10"* |"windows10"|"windows8")
- set_colors 6 7
- read -rd '' ascii_data <<'EOF'
- ${c1} ..,
- ....,,:;+ccllll
- ...,,+:; cllllllllllllllllll
- ,cclllllllllll lllllllllllllllllll
- llllllllllllll lllllllllllllllllll
- llllllllllllll lllllllllllllllllll
- llllllllllllll lllllllllllllllllll
- llllllllllllll lllllllllllllllllll
- llllllllllllll lllllllllllllllllll
- llllllllllllll lllllllllllllllllll
- llllllllllllll lllllllllllllllllll
- llllllllllllll lllllllllllllllllll
- llllllllllllll lllllllllllllllllll
- llllllllllllll lllllllllllllllllll
- `'ccllllllllll lllllllllllllllllll
- `' \\*:: :ccllllllllllllllll
- ````''*::cll
- ``
- EOF
- ;;
- "Windows"*)
- set_colors 1 2 4 3
- read -rd '' ascii_data <<'EOF'
- ${c1} ,.=:!!t3Z3z.,
- :tt:::tt333EE3
- ${c1} Et:::ztt33EEEL${c2} @Ee., ..,
- ${c1} ;tt:::tt333EE7${c2} ;EEEEEEttttt33#
- ${c1} :Et:::zt333EEQ.${c2} $EEEEEttttt33QL
- ${c1} it::::tt333EEF${c2} @EEEEEEttttt33F
- ${c1} ;3=*^```"*4EEV${c2} :EEEEEEttttt33@.
- ${c3} ,.=::::!t=., ${c1}`${c2} @EEEEEEtttz33QF
- ${c3} ;::::::::zt33)${c2} "4EEEtttji3P*
- ${c3} :t::::::::tt33.${c4}:Z3z..${c2} ``${c4} ,..g.
- ${c3} i::::::::zt33F${c4} AEEEtttt::::ztF
- ${c3} ;:::::::::t33V${c4} ;EEEttttt::::t3
- ${c3} E::::::::zt33L${c4} @EEEtttt::::z3F
- ${c3}{3=*^```"*4E3)${c4} ;EEEtttt:::::tZ`
- ${c3} `${c4} :EEEEtttt::::z7
- "VEzjt:;;z>*`
- EOF
- ;;
- "Xubuntu"*)
- set_colors 4 7 1
- read -rd '' ascii_data <<'EOF'
- ${c1} `-/osyhddddhyso/-`
- .+yddddddddddddddddddy+.
- :yddddddddddddddddddddddddy:
- -yddddddddddddddddddddhdddddddy-
- odddddddddddyshdddddddh`dddd+ydddo
- `yddddddhshdd- ydddddd+`ddh.:dddddy`
- sddddddy /d. :dddddd-:dy`-ddddddds
- :ddddddds /+ .dddddd`yy`:ddddddddd:
- sdddddddd` . .-:/+ssdyodddddddddds
- ddddddddy `:ohddddddddd
- dddddddd. +dddddddd
- sddddddy ydddddds
- :dddddd+ .oddddddd:
- sdddddo ./ydddddddds
- `yddddd. `:ohddddddddddy`
- oddddh/` `.:+shdddddddddddddo
- -ydddddhyssyhdddddddddddddddddy-
- :yddddddddddddddddddddddddy:
- .+yddddddddddddddddddy+.
- `-/osyhddddhyso/-`
- EOF
- ;;
- "IRIX"*)
- set_colors 4 7
- read -rd '' ascii_data <<'EOF'
- ${c1} ./ohmNd/ +dNmho/-
- `:+ydNMMMMMMMM.-MMMMMMMMMdyo:.
- `hMMMMMMNhs/sMMM-:MMM+/shNMMMMMMh`
- -NMMMMMmo-` /MMM-/MMM- `-omMMMMMN.
- `.`-+hNMMMMMNhyMMM-/MMMshmMMMMMmy+...`
- +mMNds:-:sdNMMMMMMMyyMMMMMMMNdo:.:sdMMm+
- dMMMMMMmy+.-/ymNMMMMMMMMNmy/-.+hmMMMMMMd
- oMMMMmMMMMNds:.+MMMmmMMN/.-odNMMMMmMMMM+
- .MMMM-/ymMMMMMmNMMy..hMMNmMMMMMmy/-MMMM.
- hMMM/ `/dMMMMMMMN////NMMMMMMMd/. /MMMh
- /MMMdhmMMMmyyMMMMMMMMMMMMhymMMMmhdMMM:
- `mMMMMNho//sdMMMMM//NMMMMms//ohNMMMMd
- `/so/:+ymMMMNMMMM` mMMMMMMMmh+::+o/`
- `yNMMNho-yMMMM` NMMMm.+hNMMNh`
- -MMMMd: oMMMM. NMMMh :hMMMM-
- -yNMMMmooMMMM- NMMMyomMMMNy-
- .omMMMMMMMM-`NMMMMMMMmo.
- `:hMMMMMM. NMMMMMh/`
- .odNm+ /dNms.
- EOF
- ;;
- "Zorin"*)
- set_colors 4 6
- read -rd '' ascii_data <<'EOF'
- ${c1} `osssssssssssssssssssso`
- .osssssssssssssssssssssso.
- .+oooooooooooooooooooooooo+.
- `::::::::::::::::::::::. .:`
- `+ssssssssssssssssss+:.` `.:+ssso`
- .ossssssssssssssso/. `-+ossssssso.
- ssssssssssssso/-` `-/osssssssssssss
- .ossssssso/-` .-/ossssssssssssssso.
- `+sss+:. `.:+ssssssssssssssssss+`
- `:. .::::::::::::::::::::::`
- .+oooooooooooooooooooooooo+.
- -osssssssssssssssssssssso-
- `osssssssssssssssssssso`
- EOF
- ;;
- *)
- case $kernel_name in
- *"BSD")
- set_colors 1 7 4 3 6
- read -rd '' ascii_data <<'EOF'
- ${c1} , ,
- /( )`
- \ \___ / |
- /- _ `-/ '
- (${c2}/\/ \ ${c1}\ /\
- ${c2}/ / | ` ${c1}\
- ${c3}O O ${c2}) ${c1}/ |
- ${c2}`-^--'${c1}`< '
- (_.) _ ) /
- `.___/` /
- `-----' /
- ${c4}<----. __ / __ \
- ${c4}<----|====${c1}O)))${c4}==${c1}) \) /${c4}====|
- <----' ${c1}`--' `.__,' \
- | |
- \ / /\
- ${c5}______${c1}( (_ / \______/
- ${c5},' ,-----' |
- `--{__________)
- EOF
- ;;
- "Darwin")
- set_colors 2 3 1 1 5 4
- read -rd '' ascii_data <<'EOF'
- ${c1} 'c.
- ,xNMM.
- .OMMMMo
- OMMM0,
- .;loddo:' loolloddol;.
- cKMMMMMMMMMMNWMMMMMMMMMM0:
- ${c2} .KMMMMMMMMMMMMMMMMMMMMMMMWd.
- XMMMMMMMMMMMMMMMMMMMMMMMX.
- ${c3};MMMMMMMMMMMMMMMMMMMMMMMM:
- :MMMMMMMMMMMMMMMMMMMMMMMM:
- ${c4}.MMMMMMMMMMMMMMMMMMMMMMMMX.
- kMMMMMMMMMMMMMMMMMMMMMMMMWd.
- ${c5}.XMMMMMMMMMMMMMMMMMMMMMMMMMMk
- .XMMMMMMMMMMMMMMMMMMMMMMMMK.
- ${c6}kMMMMMMMMMMMMMMMMMMMMMMd
- ;KMMMMMMMWXXWMMMMMMMk.
- .cooc,. .,coo:.
- EOF
- ;;
- "GNU"*)
- set_colors fg 7
- read -rd '' ascii_data <<'EOF'
- ${c1} _-`````-, ,- '- .
- .' .- - | | - -. `.
- /.' / `. \
- :/ : _... ..._ `` :
- :: : /._ .`:'_.._\. || :
- :: `._ ./ ,` : \ . _.'' .
- `:. / | -. \-. \\_ /
- \:._ _/ .' .@) \@) ` `\ ,.'
- _/,--' .- .\,-.`--`.
- ,'/'' (( \ ` )
- /'/' \ `-' (
- '/'' `._,-----'
- ''/' .,---'
- ''/' ;:
- ''/'' ''/
- ''/''/''
- '/'/'
- `;
- EOF
- ;;
- "Linux")
- set_colors fg 8 3
- read -rd '' ascii_data <<'EOF'
- ${c2} #####
- ${c2} #######
- ${c2} ##${c1}O${c2}#${c1}O${c2}##
- ${c2} #${c3}#####${c2}#
- ${c2} ##${c1}##${c3}###${c1}##${c2}##
- ${c2} #${c1}##########${c2}##
- ${c2} #${c1}############${c2}##
- ${c2} #${c1}############${c2}###
- ${c3} ##${c2}#${c1}###########${c2}##${c3}#
- ${c3}######${c2}#${c1}#######${c2}#${c3}######
- ${c3}#######${c2}#${c1}#####${c2}#${c3}#######
- ${c3} #####${c2}#######${c3}#####
- EOF
- ;;
- "Profelis SambaBOX"* | "SambaBOX"*)
- set_colors 3 6
- read -rd '' ascii_data <<'EOF'
- ${c1}
- #
- *////#####
- /////////#########(
- .((((((///// ,####(#(((((
- /#######(((* (#(((((((((.
- //((#(#(#, ((##( ,((((((//
- ////// #(##########( //////
- ////// ((#(#(#(#(##########(/////////
- /////( (((((((#########(##((((((/////
- /(((#( ((((/
- ####(# ((###
- #########(((/////////(((((((((, (#(#(
- ########( /////////(((((((* #####
- ####///, *////((( (((((((
- ./////////// .//(((((((((
- ///////////, *(/////((((*
- ,/(((((((((##########/.
- .((((((#######
- ((##*
- EOF
- ;;
- "SunOS")
- set_colors 3 7
- read -rd '' ascii_data <<'EOF'
- ${c1} `- `
- `-- `+- .:
- .+: `++: -/+- .
- `.::` -++/``:::`./+/ `.-/.
- `++/-`.` ` /++:`
- `` ./:` .: `..`.-
- ``./+/:- -+++:-
- -/+` :.
- EOF
- ;;
- "IRIX"*)
- set_colors 4 7
- read -rd '' ascii_data <<'EOF'
- ${c1} ./ohmNd/ +dNmho/-
- `:+ydNMMMMMMMM.-MMMMMMMMMdyo:.
- `hMMMMMMNhs/sMMM-:MMM+/shNMMMMMMh`
- -NMMMMMmo-` /MMM-/MMM- `-omMMMMMN.
- `.`-+hNMMMMMNhyMMM-/MMMshmMMMMMmy+...`
- +mMNds:-:sdNMMMMMMMyyMMMMMMMNdo:.:sdMMm+
- dMMMMMMmy+.-/ymNMMMMMMMMNmy/-.+hmMMMMMMd
- oMMMMmMMMMNds:.+MMMmmMMN/.-odNMMMMmMMMM+
- .MMMM-/ymMMMMMmNMMy..hMMNmMMMMMmy/-MMMM.
- hMMM/ `/dMMMMMMMN////NMMMMMMMd/. /MMMh
- /MMMdhmMMMmyyMMMMMMMMMMMMhymMMMmhdMMM:
- `mMMMMNho//sdMMMMM//NMMMMms//ohNMMMMd
- `/so/:+ymMMMNMMMM` mMMMMMMMmh+::+o/`
- `yNMMNho-yMMMM` NMMMm.+hNMMNh`
- -MMMMd: oMMMM. NMMMh :hMMMM-
- -yNMMMmooMMMM- NMMMyomMMMNy-
- .omMMMMMMMM-`NMMMMMMMmo.
- `:hMMMMMM. NMMMMMh/`
- .odNm+ /dNms.
- EOF
- ;;
- esac
- ;;
- esac
- # Overwrite distro colors if '$ascii_colors' doesn't
- # equal 'distro'.
- [[ ${ascii_colors[0]} != distro ]] && {
- color_text=off
- set_colors "${ascii_colors[@]}"
- }
- }
- main() {
- cache_uname
- get_os
- # Load default config.
- eval "$config"
- get_args "$@"
- [[ $verbose != on ]] && exec 2>/dev/null
- get_simple "$@"
- get_distro
- get_bold
- get_distro_ascii
- [[ $stdout == on ]] && stdout
- # Minix doesn't support these sequences.
- [[ $TERM != minix && $stdout != on ]] && {
- # If the script exits for any reason, unhide the cursor.
- trap 'printf "\e[?25h\e[?7h"' EXIT
- # Hide the cursor and disable line wrap.
- printf '\e[?25l\e[?7l'
- }
- image_backend
- get_cache_dir
- old_functions
- print_info
- dynamic_prompt
- # w3m-img: Draw the image a second time to fix
- # rendering issues in specific terminal emulators.
- [[ $image_backend == *w3m* ]] && display_image
- # Add neofetch info to verbose output.
- err "Neofetch command: $0 $*"
- err "Neofetch version: $version"
- [[ $verbose == on ]] && printf %b "$err" >&2
- # If `--loop` was used, constantly redraw the image.
- while [[ $image_loop == on && $image_backend == w3m ]]; do
- display_image
- sleep 1
- done
- return 0
- }
- main "$@"
|