diff options
author | davidovki <david@davidovski.xyz> | 2023-03-10 17:06:03 +0000 |
---|---|---|
committer | davidovki <david@davidovski.xyz> | 2023-03-10 17:06:03 +0000 |
commit | b71fd9bbb97c32cd90a2d8f1c817cd601a79fff6 (patch) | |
tree | eb8f4f7ffde01b464ba412ed25fdfef9b92ebe0e /scripts | |
parent | 3538699954861f86ab89019c30a3ff1d332b7511 (diff) |
Fix websearch to use browser env var
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/gamma.sh | 4 | ||||
-rw-r--r-- | scripts/kaomoji | 453 | ||||
-rwxr-xr-x | scripts/tablet | 22 | ||||
-rwxr-xr-x | scripts/vfetch | 288 | ||||
-rwxr-xr-x | scripts/websearch | 9 |
5 files changed, 27 insertions, 749 deletions
diff --git a/scripts/gamma.sh b/scripts/gamma.sh index c470275..796b561 100755 --- a/scripts/gamma.sh +++ b/scripts/gamma.sh @@ -1,10 +1,10 @@ #!/bin/bash -MAIN_DP=DP-1; +MAIN_DP=eDP1; v=$1 if [ $# -ne 0 ]; then xrandr --output $MAIN_DP --gamma $(paste -d" " <(xrandr | grep " connected" | cut -f1 -d " ") <(xrandr --current --verbose | grep "Gamma" | cut -f7 -d" " | cut -f1 -d":" | xargs -I % echo "1/%") | grep $MAIN_DP | cut -d" " -f2 | xargs -I % echo "%*$v" | bc -l) else - xrandr --output $MAIN_DP --gamma 1.3 + xrandr --output $MAIN_DP --gamma 1 fi diff --git a/scripts/kaomoji b/scripts/kaomoji deleted file mode 100644 index 6c8d1d3..0000000 --- a/scripts/kaomoji +++ /dev/null @@ -1,453 +0,0 @@ -ʕ•ₒ•ʔ Bear Shocked -ʕ•ᴥ•ʔ Bear -ʕ ·ᴥ·ʔ RBear -ʕ·ᴥ· ʔ LBear -ʕ ꈍᴥꈍʔ Bear Sob -ʕ – ᴥ – ʔ Bear Sleep - ʕノ•ᴥ•ʔノ ︵ ┻━┻ Bear Flip -ʕ╮•ᴥ•ʔ╮┳━━┳ Bear Unflip -ʕ; •`ᴥ•´ʔ Bear Angry -ʕ♡˙ᴥ˙♡ʔ Bear Love -ʕ•ᴥ•ʔ?? Bear Confused -(◕‿◕) Happy (1) -(^▽^) Joy (2) -(¬‿¬) Smug Happy -(´・ᴗ・`) Joy (4) -(⌒‿⌒) Joy (5) -(^‿^) Joy (6) -(☆▽☆) Joy (7) -(❛ᴗ❛) Joy (8) -(´♡‿♡`) Love (1) -(◕‿◕)♡ Love (2) -(─‿‿─)♡ Love (3) -(⌒_⌒;) Ashamed -(--_--) Unimpressed -((╬◣﹏◢)) Angry (1) -(#`Д´) Angry (2) -(◕︵◕) Sad (1) -(-_-) Sad (2) -(╥_╥) Cry (1) -(╥﹏╥) Cry (2) -(×﹏×) Dead -(;;;o_o) Fear -┐( ̄ヘ ̄)┌ Shrug (1) -╮(︶︿︶)╭ Shrug (2) -┐(︶▽︶)┌ Shrug -┐( ˘_˘ )┌ Shrug Small -ᕕ( ᐛ )ᕗ Joyful March -(•ิ_•ิ)? Confused -(¬_¬) Doubt -(⊙_⊙) Shock Raw -(°▽°)/ Greet (1) -(^-^*)/ Greet (2) -( ̄▽ ̄)/ Greet (3) -ヾ(・ω・*) Greet (4) -ʕ•ᴥ•ʔ/ Bear Greet -(^_<) Wink (1) -(-_・) Wink (2) -( ̄ハ ̄*) Nosebleed -┬┴┬┴┤( ͡° ͜ʖ├┬┴┬┴ Hiding -ε===(っ≧ω≦)っ Fart -(-_-)zzZ Sleep -╰( ͡° ͜ʖ ͡°)つ──☆*:・゚ Magic -(˘ɜ˘)♬♪♫ Whistle -(〜 ̄▽ ̄)〜 Dance R -〜( ̄▽ ̄〜) Dance L -( ͡° ͜ʖ ͡°) LNeutral -( ͡°ʖ̯ ͡°) LSad -( ͠° ͟ʖ ͡°) LConcern -( ͡ᵔ ͜ʖ ͡ᵔ) LJoy -(⌐■_■) Cool -( ^▽^)っ✂╰⋃╯ NoMoreWilly -(╯°益°)╯彡┻━┻ TableRage -( ╯°□°)╯ ┻━━┻ Flip -(╮°-°)╮┳━━┳ Unflip -(◕ω◕) owo (1) -𝕠𝕨𝕠 owo (2) -ʕ•w•ʔ Bear owo -(ノ≧ ヮ ≦)ノ︵ ┻┻ CuteFlip -ಠ_ಠ Disaproval -(◕ᴗ◕✿) Flower Happy (1) -(◕ ω ◕✿) Flower owo -(◕∇◕✿) Flower Happy (2) -(◕ᱛ ◕✿) Flower Shocked -(◕︿◕✿) Flower Sad -(◕ﬦ ◕✿) Flower Disapointed -(◕‸ ◕✿) *pout* Flower Pout -(≖ ︿ ≖ ✿)ꐦꐦ Flower Angry -(╯✿◕益◕)╯︵ ┻━┻ Flower Flip -🗡⊂(ʘ‿ʘ✿) Flower Yandere -(´∀`) Laughing - ( ՞ ڡ ՞ ) Yum -(▀̿Ĺ̯▀̿ ̿) Boss -(/-(エ)-\) Scared Cowering 1 -(ΟΔΟ;;) Fear Shock Scared -(⊃д⊂) Scared 2 -(/_\) Scared Cowering -^•-•^ cat derp -(>‿<) squint happy closed eyes -♡ heart -♫ music -.‿. smol happy -^_^ Overjoyed (2) -(╯°□°)╯︵ ┻━┻ Flipping Table (3) -ლ(ಠ益ಠლ) But At What Cost -(//_^) Emo (5) -ʕ •ᴥ•ʔ Koala (3) -(っ^‿^)っ Kirby (5) -[¬º-°]¬ Zombie (2) -(●∈∋●) Bird (5) -ಠ_ಠ Disapproval -T.T Sad (2) -◤◡ᴥ◡◥ Dog (4) -(∩`-´)⊃━☆゚.*・。゚ Wizard -^-^ Happy (7) -ᕦ(ò_óˇ)ᕤ Flexing (3) -♪┏(・o・)┛♪ Dancing (8) -( ͡° ͜ʖ ͡°) Smiling (2) -/人◕ ‿‿ ◕人\ Kyubey -༼ ༎ຶ ෴ ༎ຶ༽ Distraught -ᒄ₍⁽ˆ⁰ˆ⁾₎ᒃ♪♬ Frosty the Snowman (2) -(╯°□°)╯︵ ┻━┻ Flipping table (2) -<(^oo^)> Pig (3) -¯\_(ツ)_/¯ Shrugging (2) -U=・ x ・=U Rabbit (2) -⊂((・▽・))⊃ Hug me (2) -V●ᴥ●V Doggy (2) -(=^_^=) Bunny (3) -<コ:彡 Squid (2) --_-; Anime Sweat Drop (2) -(°̥̥̥̥̥̥̥̥ᴗ°̥̥̥̥̥̥̥̥) Happy crying -(=^・ェ・^=) Kitty (2) -(((༼•̫͡•༽))) Ghost (2) -(-‸ლ) Whoops -(=^ェ^=) Cat (4) -( ´-ω・)︻┻┳══━一 Sniper -⊆☉ᴥ☉⊇ Bear (7) -༼ つ ◕_◕ ༽つ Take my energy -(  ̄┏_┓ ̄) Mustache (2) -(;´Д`) Giving Up -( ͡° ʖ̯ ͡°) Disgruntled -✌(◕‿-)✌ Peace (3) -ಠ_ರೃ Monocle (2) -T^T Crying (5) -ᘛ⁐̤ᕐᐷ Chameleon -༼ つ ◕_◕ ༽つ Gimme -ლ(ಠ益ಠ)ლ Anger -(ง •̀_•́)ง Feisty -(っ⌒‿⌒)っ Hug (3) -ϵ( 'Θ' )϶ Fish (3) -(^▽^) Laughing (5) -¯\(°_o)/¯ Confused (4) -̿’̿’\̵͇̿̿\З=( ͠° ͟ʖ ͡°)=Ε/̵͇̿̿/’̿̿ ̿ ̿ ̿ ̿ ̿ Outlaw -o(^▽^)o Pumped (2) -.∵・(゚Д゚) Scared (2) -(*☉౪ ⊙。)ノ Imbecile (2) -d-(^.^)z Thumbs Up (2) -(>_<) Painful -(¬_¬") Annoyed (4) -(´╹〽╹`) Worried (4) -(o^-^o) Pikachu (2) -(▀̿Ĺ̯▀̿ ̿) Deal with it -(∩`-´)⊃━☆゚.*・。゚ Magic Attack -꒡ᘦ̲꒡ Sleeping (5) -(‾ʖ̫‾) Lethargic -^_^; Guilty -ヽ(`⌒´メ)ノ Angry (8) -^^ Blissful -^_^/ High Five (2) -ʕ•͡ᴥ•ʔ Polar bear -❆❅❉ Snowing -ヽ(★ω★)ノ Excited -U^ェ^U Puppy -⊂(^(工)^)⊃ Teddy bear -(≧∇≦)/ Joyful (2) -◦°˚\☺/˚°◦ Playing in the snow -(╯°□°)╯︵ ʞooqǝɔɐɟ Flipping Facebook -(;-_-)ノ Giving up -⊙▂⊙ Shocked -|∴め ϖ め∴| SpongeBob SquarePants -◔̯◔ Rolling Eyes -⊂(◜ᴥ◝)つ Teddy Bear -ε=(☉_☉) Accidental farting -(ಥ﹏ಥ) Devastated (2) -(•͡.•͡) Skeptical -ε=┏( >_<)┛ Running (5) -┬─┬︵/(.□.)╯ Table Flips You -〠_〠 Tired (3) -∊ಠ_ಠ∍ Distressed -V=(° °)=V Crab (2) -ᶘ ᵒᴥᵒᶅ Seal (2) -Ƹ̵̡Ӝ̵̨̄Ʒ Butterfly -(- o - ) zzZ ☽ Sleepy -◯0o。(ー。ー)y Smoking (4) -(。々°) Herp Derp --_-* Frustrated (3) -(+[__]∙:∙) PlayStation Portable -(V) (°,,,,°) (V) Zoidberg -/|\( ;,; )/|\ Bat -◖㈠ ω ㈠◗ Panda -\m/d(^_^)b\m/ Rocking Out -ヽ(゚Д゚)ノ Freak Out (2) -(ノ゚0゚)ノ~ Yoo-Hoo -¤\( `⌂´ )/¤ Lifting weights -(ò_ó) Furious -( ˘ ³˘)♥ Kiss me -(^▽^) Cheerful (3) -(⌒ ͜ʖ⌒)b Attentive -ᕦ❍ᴗ❍ᕤ Muscular Person -(´>_●)メ(●_<`) Sword Fighting -:-Þ Teasing -=( ^o^)ノ___o Bowling -(#×_×) Dead (2) -(。・_・)ノ”【】 Painting -(/。\) Shy (5) -⎰≀.☮-☮≀⎰ John Lennon -─=≡Σ(([ ⊐•̀⌂•́]⊐ Superhero -(¬з¬)σ Pointing (2) -(・д・)} On The Phone (3) -㐈⦁ཽし⦁ཽ㐈 Larry David -⨌⨀_⨀⨌ Benjamin Franklin -(☄ฺ◣д◢)☄ฺ Scaring -ƪ(˘▽˘ƪ) Worshiping -[•.•ิ] Huh -(◐‿◑) Crazy -\(-_- ) Thank You -(_ε_) Kiss my butt -(⊃‿⊂) Anticipation -(* ̄m ̄) Dissatisfied -Q('.'Q) Put Em Up -\(^o)(^0^)(o^)/ Caroling -( ̄~ ̄) Unimpressed -༼ঢ_༽ঢ༽ Perplexed -(。♥‿♥。) Smitten -( ̄□ ̄;) Surprised -(^o^) Singing (3) -(:3 っ)っ Walrus -( `_)乂(_' ) Arm wrestle -(ง •̀ゝ•́)ง Fighting (2) -uwu Happy Anime Face -└(^o^ )X( ^o^)┘ Best buddies -d^_^b DJ -( --)/ ==卍 Ninja Star -C:。ミ Octopus -(´・ω・`) Snubbing (2) -♪(●′▽`)ノ Good Night -(#^.^#) Embarrassed (3) -ಥ_ಥ Bawling (3) -†_(゚ー゚*)β Exorcism -੯ू•́ू ໒꒱⁼³₌₃ Sonic the Hedgehog -(^‿◕) Winking (3) -(″・ิ_・ิ)っ Wait (3) -。◕‿◕。 Gleeful -ヽ( ★ω★)ノ Pumped up -_〆(。。) Writing (2) -(∿°○°)∿ ︵ ǝʌol Heartbroken -^;;^ Spider -(⓪益⓪) Staring (2) -( ̄┏∞┓ ̄) Fu Manchu Man -( • ∀•)っθΘʘ Hiding Easter eggs -_φ( °-°)/ Doing Homework -◖ර◞ʖ◟ර◗ Grandma -¬.¬ Whatever (3) -⫷ °⧭° ⫸ Clown -(♥_♥) In Love ->.< Upset (2) -( ◢д◣) Depressed (4) -ᕕ( ᐛ )ᕗ Celebrating -(¬‿¬) Cunning -└(^o^)┐ Grooving (3) -~゜・_・゜~ Raving -ᕦ◉▿◉ᕤ Owl (2) -\(^O^)/ Celebrate -(*’(OO)’*) Piggy (2) -˃ʍ˂ Enraged (2) -(ू˃̣̣̣̣̣̣︿˂̣̣̣̣̣̣ ू) Sobbing (3) -( ^^)人(^^ ) Best Buds -└@(・ェ・)@┐ Beefcake -(☉__☉”) Yikes -(╯˘ -˘ )╯ Praying (2) -ε=┌( ≧▽)┘ Elated -( •_•)O °Q(•_• ) Playing Ping Pong -∋(°O°)∈ Blowfish -(;一_一) Ashamed (4) -{♥‿♥} Lovestruck -๏-) Cyclops -(o ̄∇ ̄)=◯)`ν゜)・ Punching (6) -┬─┬ノ( º _ ºノ) Putting Table Back (2) -(~_(]=--Z(◡˘) Pie Fight -((((((^_^;) Evading -(/o^)/°⊥\(^o\) Volleyball --{'''|'''|'''|''']=[] Syringe -[^._.^]ノ彡 Nyan Cat ----(o_ _)o Tripping (2) -┬┴┬┴┤(・_├┬┴┬┴ Snooper -(ㆆ_ㆆ) Unamused -(✿◠‿◠) Hippie -ヾ(* ̄O ̄)ツ Yelling -(ɔ◔‿◔)ɔ ♥ Loving -(ノ-o-)ノ 中 Olympic Hammer Throw -(/ω・\) Peering -(´・ω・)っ由 Gift -[-_-]~ Ninja -(シ_ _)シ Apology (2) -∋∞(●゚v゚)∞∈ Pigtails -(>o<)ρミ┳┷┳゜ Table Tennis -(^̮^) Pleased (2) -♪~( ̄ε ̄;) Whistling -( ̄▼ ̄) Big Grin -⋟^≏^⋞ Kitty Cat -( ̄へ ̄) Discontent -(*・_・)ノ⌒* Throwing Away -(*@_*#) Beaten Up -(p_-) Thinking -(。_°)☆ Punched -♥‿♥ Enamored -ε-(´・`) フ Phew -༼ঢ_㇁ঢ༽ Bad hair day -(づ ̄ ³ ̄)づ Smooch (3) -O(<>'<>)O Aang -(_ _)..ooOO Dreaming -┳┻┳° Ping Pong table -^o^ Mog -(゚皿゚)r┏┳-* Shooting (2) -m( ゚皿゚)m★━━ Laser -٩◔̯◔۶ Eye Roll With Hands Up -ヽ(´Д`ヽミノ´Д`)ノ Frantic (2) -(-ε- ) Pucker up (3) -ヽ(⌐■_■)ノ♪♬ Boogie down -「(°ヘ°) Puzzled -d(^_^)b Listening to Music -( -_-)旦~ Drinking -<_< Looking (4) -(( _ _)☆ ≡〇 Header -^)_(^ Chubby -(๑´•.̫ • `๑) Blushing -(。▼皿▼) Darth Vader -(╬☉Д⊙ฺ) Cyborg -(ʘ‿ʘ) Smile -ε=ε=ε=┌(๑ʘ∀ʘ)┘ Sprinting -ƪ(˘⌣˘)ʃ Raise the roof -( ˘︹˘ ) Smug -(▰˘◡˘▰) Satisfied -(¬、¬) Shifty -¯(°_o)/¯ Confused shrug -✖‿✖ Dead person -(。_°☆\(- – ) Punch -(ɔˆ ³(ˆ⌣ˆc) Loving couple -(*▿▿* ƪ) Vampire -o(^^o)(o^^)o Hopeful -___ψ(‥ ) Studying -_φ(°-°=) Doing homework -@( o・ω・)@ Monkey -(╭ರ_•́) Inquisitive -੯ू‵ू ໒꒱ Poodle -(*^^)^*) Kiss (5) -(^~^) Meh -(/。\) Frightened -:þ Playful -(>^_^)><(^o^<) Hugging -(-_ゞ Groggy -(*^o^)人(^o^*) Buddies -(●´ノω`)コ Whispering (2) -o(´^`)o Reluctant -( つ Д `) Wiping Tears -(o´・Υ・)ノ・ Help (2) -(。・ˇдˇ・。) Pompous -(´∪`*) Friendly -ヘ(。□°)ヘ Psycho -(人’∀’) Precious -(っ˘ڡ˘ς) Yummy -┗(・ω・;)┛ How Should I Know -(о^ω^о) Giggling -(´ー`)┌フッ Golf Clap -\\(<.<|>.>)// Panicking -^(#`∀´)_Ψ Demon -(╯‵Д′)╯ Scary -:-{ -__-: Stinky -ಠᴗಠ Scheming -<(; ̄ ・ ̄) Scratching -\(^ ^)/ Glad -(╯_╰) Bummed out -┗( ●-﹏ `。)づ Hurt (2) -(-_-)# Girl -8(>_<)8 Jealous -(*°∀°)=3 Infatuated (3) -( ^_^)/ Waving -o(^_-)O Boxer -{{|└(>o< )┘|}} Up In Arms -(^^)// Applause (2) -( `_)?(_' ) Dueling -(´~`) Weary -v(^_^)v Victory (3) -(ノ_ _)ノ Surrender -<( ・ェ-)<} Bow and Arrow -( `o´)_θ☆ Kicking -(-□-)︵* Blowing a Kiss -|д・) Hiding (4) -(´Д゜)/゜⌒。 Discarding -ʕʔ Bread -(ɔ˘з˘)ɔ Romantic -ʕ •́؈•̀) Winnie the Pooh -(ó ì_í)=óò=(ì_í ò) Bro Pound -ヾ(`ε´)ノ Booing -|̲̅̅●̲̅̅|̲̅̅=̲̅̅|̲̅̅●̲̅̅| Stereo -ʘ‿ʘ Eager -:(¦) Frog -( ^)/占~~~ Banksy -(;´༎ຶД༎ຶ`) Weeping (2) -⊂ •͡˘∠•͡˘ ⊃ Suspicious -( ° ᴗ°)~ð Proposal -(๑╹ڡ╹๑) Tasty -(¬_¬ ) Neglected -ʕु•̫͡•ʔु Bear cub (2) -┌|°з°|┘ Cutting a rug -(⊙_◎) Crazed -(✖╭╮✖) Deceased -←~(o `▽´ )oΨ Satan -˙ ͜ʟ˙ Content -( ˇ෴ˇ ) Hipster -♫.(◠౪◠).♫ Jamming to music -∊♡_ᴥ_♡∍ Puppy Love -L(´□`L) Oh No! (2) -(;´ρ`) Yawning -(╯ნ_㇁ნ)╯ Defeated -(.〜◍`皿′◍〜.) Livid (2) -ᡊ|◔じ◔|ᡊ Woody Allen -✌(გ_㇁გ)✌ Ringo Starr -╹﹏╹ Cold -☉ϖ☉ Lobster -(๑≖ิิ益≖ิ๑) Evil Laugh -(((☎))) Phone -(○`д´)ノシ Σ(っ゚Д゚)っ Chasing -o(>< )o⌒* Mad (3) -ლ(´ڡ`ლ) Licking -⪿ ↂ ˒̫̮ ↂ ⫀ Elton John -(•ᴥ• )́`́'́`́'́⻍ Porcupine -且_(゚◇゚;)ノ゙ Waiter -◖⎚∠⎚◗ Geek Nerd --ˆ ω ˆ- Kitten -•:_:• Nagato -ε=┌(^-^)┘ Skipping -(+.+)(-.-)(_ _) Falling Asleep -[ ± _ ± ] Sick -〜〜(/ ̄▽)/ 〜ф Chasing A Butterfly -\(`0´)/ Fed Up -¥[*.*]¥ Robot -(*・)σσ(*゜O゜) Poking -( ̄ー ̄(_ _( Nodding -▼o・_・o▼ Hello -(`_^) Wink -/( _0_) ̄θ☆≡≡○ Scissor Kick -ヽ(´ー`)┌ Mellow -(^ _ ^)/~~ Goodbye -(*・)「」「」 Magic Casting -( `皿´)。ミ/ Hitting -[]゛7(∀゜*) Dialing -(((((^_^) Teleporting -( ̄ー ̄)//”” Clapping -(。。;)\(-_-) Comforting -(*  ̄)( ̄ *) Kissing -(;^_^)ッ☆( ゜o゜) Slapping -\(~O~)/ Good Morning -\_(´▽`)♪_/ Bathtub diff --git a/scripts/tablet b/scripts/tablet index f283635..009395a 100755 --- a/scripts/tablet +++ b/scripts/tablet @@ -1,5 +1,7 @@ #!/usr/bin/python import sys +import numpy as np +import os if len(sys.argv) < 3: print("Usage: tablet [dev number] [property number] [scale factor] [aspect ratio]") @@ -43,6 +45,10 @@ tw = target[2] th = tw / tablet_ratio print(tw, "x", th) +if "-r" in sys.argv or "-l" in sys.argv: + th = target[2] + tw = th / tablet_ratio + #make a variable that will try to make the scale the same over diferent resoultions f = target[3] / target[3] print ("f value =", f) @@ -64,6 +70,18 @@ c3 = oy / sh print(str(c0), "0", str(c1), "0", str(c2), str(c3), "0 0 1") -import os -os.system(" ".join(["xinput set-prop", dev, prop, str(c0), "0", str(c1), "0", str(c2), str(c3), "0 0 1"])) +transform = np.matrix([[c0, 0, c1], [0, c2, c3], [0, 0, 1]]) + +leftrotate = np.matrix([[0, -1, 1], [1, 0, 0], [0, 0, 1]]) +rightrotate = np.matrix([[0, 1, 0], [-1, 0, 1], [0, 0, 1]]) + +if "-r" in sys.argv: + transform *= rightrotate +if "-l" in sys.argv: + transform *= leftrotate + +arr = np.squeeze(np.asarray(transform)) + + +os.system(" ".join(["xinput set-prop", dev, prop, " ".join([str(x) for x in [arr[0, 0], arr[0, 1], arr[0, 2], arr[1, 0], arr[1, 1], arr[1, 2], arr[2, 0], arr[2, 1], arr[2, 2]]])])) #alias tablet2="xinput set-prop 18 156 2.45 0 -0.725 0 2.45 -0.725 0 0 1" diff --git a/scripts/vfetch b/scripts/vfetch deleted file mode 100755 index e0018e3..0000000 --- a/scripts/vfetch +++ /dev/null @@ -1,288 +0,0 @@ -#!/usr/bin/env python3 - -from xdg.BaseDirectory import xdg_config_home -from enum import Enum -import subprocess -import platform -import distro -import json -import re -import os -import wmctrl - -colors = [ - # Regular colors. - "\u001b[30m", - "\u001b[31m", - "\u001b[32m", - "\u001b[33m", - "\u001b[34m", - "\u001b[35m", - "\u001b[36m", - "\u001b[37m", - - # Bright colors. - "\u001b[30;1m", - "\u001b[31;1m", - "\u001b[32;1m", - "\u001b[33;1m", - "\u001b[34;1m", - "\u001b[35;1m", - "\u001b[36;1m", - "\u001b[37;1m", - - # Reset. - "\u001b[0m" -] - -decorations = [ - "\u001b[1m", # Bold. - "\u001b[4m", # Underline. - "\u001b[7m" # Reversed. -] - -# Creates a copy of the specified string with color and decorations added. -def colored(string, colorIndex, decorationIndices=[]): - newString = colors[colorIndex] - for decorationIndex in decorationIndices: - newString += decorations[decorationIndex] - newString += string + colors[len(colors)-1] - return newString - -# Enum for the different data types. -class Type(str, Enum): - os = 'os' - kernel = 'kernel' - wm = 'wm' - packages = 'packages' - uptime = 'uptime' - -# Enum for the different align modes. -class AlignMode(str, Enum): - spaces = 'spaces' - center = 'center' - -# Loads the settings from the configuration file. -# First checks for a configuration file in ~/.config/vfetch/vfetch.conf, -# else it defaults to the configuration file in the same folder as the script. -def loadSettings(): - try: - file = open(xdg_config_home + '/vfetch/vfetch.conf', 'r') - except FileNotFoundError: - file = open(os.path.dirname(os.path.realpath(__file__)) + '/vfetch.conf', 'r') - content = file.read() - settings = json.loads(content) - file.close() - return settings - -# Prints string without ending with a new line. -def printn(string): - print(string, end="") - -# Prints string at a specified position. -def printAt(string, *position): - if len(position) == 1: - x = position[0][0] - y = position[0][1] - else: - x = position[0] - y = position[1] - printn("\x1b7\x1b[%d;%df%s\x1b8" % (y+1, x+1, string)) - -# Prints the data lines. -def printLines(lines, colorIndex, offsetX, offsetY, alignMode, alignSpace): - longestName = 0 - dataPosition = 0 - - if alignMode is AlignMode.spaces: - for line in lines: - position = len(line[0]) + alignSpace - if position > dataPosition: - dataPosition = position - else: - # Finds the length of the longest name. - longestName = len(max(lines, key = lambda data: len(data[0]))[0]) - - y = 0 - x = offsetX - # Prints the lines and formats them accordingly. - for line in lines: - if alignMode is AlignMode.spaces: - printAt(line[1], x + dataPosition, y+offsetY) - elif alignMode is AlignMode.center: - line[0] = ' ' * (longestName - len(line[0])) + line[0] - - printAt(colored(line[0], colorIndex, [0]), x, y+offsetY) - if alignMode is AlignMode.center: - printAt(' ~ ' + line[1], x+len(line[0]), y+offsetY) - y += 1 - -# Sets the cursor position. -def setCursorPosition(*position, newLine=False): - if len(position) == 1: - x = position[0][0] - y = position[0][1] - else: - x = position[0] - y = position[1] - string = '\033[%d;%dH' % (y, x) - if newLine: - print(string) - else: - printn(string) - -# Runs the specified terminal command. -def termRun(command, arguments): - output = subprocess.run([command, arguments], text=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) - return output.stdout - -# Prints ascii image. -def printAscii(position, asciiImage): - setCursorPosition(position) - lines = asciiImage.split('\n') - for line in lines: - print(line) - -# Gets the operating system. -def getOS(architecture=False, removeLinux=False): - os = distro.linux_distribution()[0] - if removeLinux: - os = re.sub('linux', '', os, flags=re.IGNORECASE) - os = os.rstrip() - if architecture: - os += ' ' + platform.machine() - return os - -# Gets the kernel. -def getKernel(fullName=True): - kernel = platform.release() - if not fullName: - kernel = kernel.split('-')[0] - return kernel - -# Gets the window manager. -def getWM(): - try: - return wmctrl.os.environ.get('DESKTOP_SESSION') - except: - pass - try: - return wmctrl.os.environ.get('XDG_SESSION_DESKTOP') - except: - return None - -# Gets the number of packages. -def getPackages(displayPackageManager=False): - try: - packages = termRun('pacman', '-Qq') - string = str(len(packages.split('\n'))) - if displayPackageManager: - string += ' (pacman)' - return string - except: - return None - -# Gets the machine uptime. -def getUptime(): - with open('/proc/uptime', 'r') as f: - uptime_seconds = float(f.readline().split()[0]) - hours = uptime_seconds / 3600 - minutes = (hours - int(hours)) * 60 - hours = int(hours) - minutes = int(minutes) - string = '' - if hours != 0: - string += str(hours) + 'h ' - if minutes != 0 or hours == 0: - string += str(minutes) + 'm' - return string - -# Gets the data for the specified data type. -def getData(type, settings): - data = { - Type.os: getOS(settings['displayArchitecture'], settings['removeLinux']), - Type.kernel: getKernel(settings['kernelFullName']), - Type.wm: getWM(), - Type.packages: getPackages(settings['displayPackageManager']), - Type.uptime: getUptime() - }.get(type, None) - - if data is None: - return None - - name = { - Type.os: [ 'OS', '' ], - Type.kernel: [ 'Kernel', '' ], - Type.wm: [ 'WM', '缾' ], - Type.packages: [ 'Packages', '' ], - Type.uptime: [ 'Uptime', '' ] - }.get(type, None)[int(settings['iconMode'])] - - if settings['lowercase']: - name = name.lower() - data = data.lower() - - return [name, data] - -# Gets the size of the specified ascii image. -def asciiSize(asciiImage): - x = 0 - split = asciiImage.split('\n') - for line in split: - if len(line) > x: - x = len(line) - return [x, len(split)] - -# Trims the specified ascii image of empty lines and trailing whitespaces. -def trimAscii(asciiImage): - lines = asciiImage.split('\n') - string = '' - for line in lines: - trimmedString = line.rstrip() - if len(trimmedString) != 0: - string += trimmedString + '\n' - string = string[:-1] # Removes last newline. - return string - -# Loads the ascii image at the specified path. -def loadAsciiImage(path): - file = open(path, 'r') - asciiImage = trimAscii(file.read()) - file.close() - return asciiImage - -settings = loadSettings() - -displayAscii = settings['displayAscii'] -offset = settings['offset'] - -# Loads the data lines. If the data is invalid (None) it does not get added. -lines = [] -for dataType in settings['data']: - data = getData(dataType, settings) - if data is not None: - lines.append(data) - -# Loads the ascii image if the option is set for it. -if displayAscii: - asciiImage = loadAsciiImage(settings['asciiImage']) - size = asciiSize(asciiImage) - offset[0] += size[0] - finalPosition = [0, size[1]] -else: - finalPosition = [0, len(lines)+offset[1]] - -# Makes the prompt after the script finishes have a blank line before it. -finalPosition[1] += 1 - -os.system('clear') - -if displayAscii: - printAscii([0,0], asciiImage) - -alignMode = AlignMode(settings['alignMode']) - -printLines(lines, settings['colorIndex'], offset[0], offset[1], alignMode, settings['alignSpace']) - -# Sets the final cursor position for the prompt to end up at. -setCursorPosition(finalPosition, newLine=True) diff --git a/scripts/websearch b/scripts/websearch index 32d8773..5ffb91b 100755 --- a/scripts/websearch +++ b/scripts/websearch @@ -1,7 +1,8 @@ #!/bin/sh -browser="links-launcher" -SEARCH_ENGINE="https://librex.beparanoid.de/search.php?q=" +default_browser="links-launcher" +BROWSER=${BROWSER:-$default_browser} +SEARCH_ENGINE="https://search.davidovski.xyz/search.php?q=" SEARCH_HISTORY=$HOME/.local/share/search_history SEARCH=$(cat $SEARCH_HISTORY | dmenu -p "search") @@ -11,7 +12,7 @@ echo "$SEARCH" >> $SEARCH_HISTORY query=$(echo $SEARCH | sed 's/ /+/g') echo $query | grep -q '(?=^.{5,254}$)(^(?:(?!\d+\.)[a-zA-Z0-9_\-]{1,63}\.?)+(?:[a-zA-Z]{2,})$)' && { - links-launcher "$query" + $BROWSER "$query" } || { - links-launcher "$SEARCH_ENGINE$query" + $BROWSER "$SEARCH_ENGINE$query" } |