jovanbulck / jsh

A basic UNIX shell implementation in C
GNU General Public License v3.0
30 stars 10 forks source link

joclock #47

Open stefaantruijen opened 9 years ago

stefaantruijen commented 9 years ago

Joclock should be a builtin feature of jsh. Posting the command required to fire up joclock here for future reference.

xclock -norender -hd green -hl green -bg black -fg white -update 1 &

jovanbulck commented 9 years ago

Indeed :clock1: :p

We should then also state "there's even a clock!" in the man page

stefaantruijen commented 9 years ago

Definitely! I want to get on this asap. In the meantime, if someone is feeling a burning desire to take on this challenge themselves, please feel free to :)

jovanbulck commented 9 years ago

Go ahead! You'll have to hack a bit however, since there's currently no backgrounding so doing just parseexpr(xclock -norender -hd green -hl green -bg black -fg white -update 1") will hang. (You'll need a strclone function anyway for parseexpr on constant strings, see the rl_completion_built_ins branch.) You could also use some libc functions that pass the string to sh, but that's a bit cheating :p

--> in the meantime (before backgrounding is done) you could write you're own code that forks the xclock process, passing all the arguments, but doesn't wait for completion or so...

jovanbulck commented 9 years ago

Talking about easter eggs, I was also thinking of hacking the sl code to make it display an ASCII art 'jo-shell' banner instead of the train ;-) Shouldn't be too hard, I still got some old sl-hack code somewhere

stefaantruijen commented 9 years ago

What about putting the banner on one of the carts?

jovanbulck commented 9 years ago

:steam_locomotive: We should fix the scale a bit more:

-------------------------------------------------------------------------------
      ====        ________                ___________
  _D _|  |_______/        \__I_I_____===__|_________|
   |(_)---  |   H\________/ |   |        =|___ ___|
   /     |  |   H  |  |     |   |         ||_| |_||
  |      |  |   H  |__--------------------| [___] |
  | ________|___H__/__|_____/[][]~\_______|       |
  |/ |   |-----------I_____I [][] []  D   |=======|__
__/ =| o |=-~~\  /~~\  /~~\  /~~\ ____Y___________|__
 |/-=|___||    ||    ||    ||    |_____/~\___/
  \_/      \__/  \__/  \__/  \__/      \_/
-------------------------------------------------------------------------------

        ____________________________________
   _____|                                   \________A
 =|        _                      __           __ __ |
  |       (_)____          _____ / /_   ___   / // / |
 -|      / // __ \ ______ / ___// __ \ / _ \ / // /  |
  |     / // /_/ //_____/(__  )/ / / //  __// // /   |
  |  __/ / \____/       /____//_/ /_/ \___//_//_/    |
  | /___/                                            |
__|__________________________________________________|_
  |__________________________________________________|_
     |_D__D__D_|       |_D__D__D_|       |_D__D__D_|                   
      \_/   \_/         \_/   \_/         \_/   \_/

-------------------------------------------------------------------------------
jovanbulck commented 9 years ago

Or use 2 trailers :

-------------------------------------------------------------------------------
      ====        ________                ___________
  _D _|  |_______/        \__I_I_____===__|_________|
   |(_)---  |   H\________/ |   |        =|___ ___|
   /     |  |   H  |  |     |   |         ||_| |_||
  |      |  |   H  |__--------------------| [___] |
  | ________|___H__/__|_____/[][]~\_______|       |
  |/ |   |-----------I_____I [][] []  D   |=======|__
__/ =| o |=-~~\  /~~\  /~~\  /~~\ ____Y___________|__
 |/-=|___||    ||    ||    ||    |_____/~\___/
  \_/      \__/  \__/  \__/  \__/      \_/
-------------------------------------------------------------------------------

    _________________              ___________________ 
   _|      _         \_____A     _|         _         \________A
 =|       (_)____          |   =|    _____ / /_   ___   / // /|
 -|      / // __ \ ______  |   _|   / ___// __ \ / _ \ / // / |
  |     / // /_/ //_____/  |    |  (__  )/ / / //  __// // /  |
  |  __/ / \____/          |    | /____//_/ /_/ \___//_//_/   |
__|_/___/__________________|____|_____________________________|_
|__________________________|___|______________________________|_       
   |_D__D__D_|  |_D__D__D_|        |_D__D__D_|  |_D__D__D_|
    \_/   \_/    \_/   \_/          \_/   \_/    \_/   \_/

-------------------------------------------------------------------------------

We could also add other information in the trailers, such as version nb, contributors, etc. Would be awesome :p