jovanbulck / jsh

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

joclock #47

Open stefaantruijen opened 10 years ago

stefaantruijen commented 10 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 10 years ago

Indeed :clock1: :p

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

stefaantruijen commented 10 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 10 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 10 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 10 years ago

What about putting the banner on one of the carts?

jovanbulck commented 10 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 10 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