AQUA 2.X betas


· Introduction

This page contains a list of all the betas of previous version. Please note that the betas of upcoming version are kept in the “Downloads” section of the main AQUA page.

· AQUA 2.01

· AQUA 2.01.0

AQUA 2.01.0 ( l ): 9th February 2018

AQUA 2.01.0 ( k ): 2nd February 2018

AQUA 2.01.0 ( j ): 27th January 2018

AQUA 2.01.0 ( i ): 18th January 2018

AQUA 2.01.0 ( h ): 15th January 2018

AQUA 2.01.0 ( g ): 6th January 2018

AQUA 2.01.0 ( f ): 5th January 2018

AQUA 2.01.0 ( e ): 3rd January 2018

AQUA 2.01.0 ( d ): 25th November 2017

AQUA 2.01.0 ( c ) dev 2: 11th September 2017

AQUA 2.01.0 ( b ) dev 1: 1st September 2017

AQUA 2.01.0 ( a ): 12th August 2017

Advertisements

AQUA Run script


  • Intro

    AQUA Run script is a simple command-type programming language for AQUA. It is used primarily to change settings, like the current theme applied to AQUA, or just to speed up certain tasks like launching applications or powering off the computer. It is not designed to be used for developing any sort of apps, but rather to script complicated actions and create macros of sorts. As of now, it is accessed by opening the run dialog on the desktop or in the widgets view.

  • Structure

    The structure of AQUA Run script is very simple; you have a command and none, one or more arguments separated by spaces. Here are some examples:

    • poweroff
    • theme 5
  • Commands

    • poweroff / p: Powers off the machine.
    • reboot / r: Reboots the machine.
    • hang: Hangs the machine. It will continue to hang even when an NMI is sent.
    • crash / fault: Will fault (crash) the machine.
    • wash / fill: Fills the screen with either a hexadecimal colour or a predefined one (like “red”), and takes that as the second argument. There is also an optional second argument you can give which will specify the amount of frames the screen will stay in that coloured state. This fills on the platform, so the cursor will disappear until the screen comes back to its normal state.
    • echo: Will output all that is after it to the print stream (to the host OS’s terminal for example)
    • dialog: Acts like echo, only it will output to a debug dialog instead.
    • open / o: Runs the program specified by an id given to the first argument. The id can either be numerical, or be the raw name of the program (without translation). The numerical program ids may change from update to update, so you shouldn’t rely on them. Instead, you should use the name of the program.
    • theme: Set’s the current theme to the first argument (0: dark theme, 1: light theme, 2: zero theme, 3: solid theme, 4: toxic theme, 5: water theme, 6: fire theme, 7: Christmas theme).
    • bloom: Simulates being in a window on the desktop. Takes one argument, 1 for increasing the layer and 0 for decreasing the layer.
    • cursor: Toggles the cursor colour between black and white.
    • keymap: Changes the current key-map to the first argument (qwerty, azerty, qwertz or hiragana)
    • language: Changes the current language to the first argument (english, spanish, french, romanian, dutch, german, ukrainian or japanese)
    • wizard: Opens the startup wizard then reloads the program names.
    • outb: Outputs data to a certain port. The first argument is the port number and the second one is the data value to be sent to the port.

AQUA Layout


  • Intro

    AQUA Layout is a programming language for AQUA. It is used to interface with AUI to design apps that keep a uniform resemblance with the rest of the apps and system and is meant to be as simple and as easy to understand as possible. It is not designed to be used for developing games and other apps in the same vein. There is a Github repository which contains all of the current applications in AQUA.

  • Structure

    The structure of AQUA layout is very simple; there are only three commands. The “new” command, the “modify” command and the “event” command. These are represented as “+”, “*” and “<” respectively, followed by a space then the element / attribute / event name followed by another space and arguments each separated by spaces (except in the case of the event command, where you need to close it off with a “>” – see script integration section for more details). The “new” command adds an element to the screen, the “modify” command changes certain attributes of the following elements and the “event” command runs a script when the specified event is triggered. This section does not cover script integration (for that, see script integration), however it will include the different possible events. Events only apply to the previous element, or the first element of the program if none is found. Strings are surrounded by quotes. They can have “placeholders” instead of normal text (see placeholder section). Colours can either be a colour name or “white” for default system colour depending on the current theme or a hexadecimal colour code followed by a “#”. Here are some examples:

    • + title “This is a title”
    • * colour red

    There are also comments, denoted by either “#” or “#~”. They make the compiler ignore everything on that specific line.

  • Elements ( + )

    • title: Adds a title. Takes one argument denoting the text it contains.
    • label: Adds a subtitle. Takes one argument denoting the text it contains.
    • small: Adds small text. Takes one argument denoting the text it contains.
    • paragraph: Adds a paragraph in the same font as the “small” element, but it wraps around at the end of the line making it ideal for big blocks of text. Takes one argument denoting the text it contains. “\n” will force it to wrap around to the next line.
    • button: Adds a button. Takes one argument denoting the text it contains. Note that as of now, you can not make an action take place on a click, but in the future this will have a second argument denoting a script to be run on a click.
    • space: Adds a space. Takes no arguments.
    • categorizer: Adds a line to categorize parts of the app. Takes no arguments.
    • pre: Adds a paragraph in a monospace font. It has the same exact properties as the paragraph element.
    • sticker: Adds a sticker. Takes no arguments. This is used to stick two element together instead of having the next element go to another line.
    • icon: Adds an icon. Takes one argument denoting the icon name or id. The icon name can be one of off, next, save, load and edit, but using a number to denote the icon’s id value, you can access all the icons available in AQUA. Since there is no standard and icon ids may change from update to update, it is ill-advised to use ids (unless absolutely necessary).
    • flag: Adds a flag. Takes one argument denoting the flag country code or id. Using the ids will grant you a guaranteed access to all the available flags, however, since there is no standard, flag ids may change from update to update, so it is ill-advised to rely on then (unless absolutely necessary).
  • Attributes ( * )

    • colour / color: Changes the colour of the following elements. Takes one argument denoting the colour to change to.
    • bg-colour / bg-color: Changes the background colour of the following elements. Takes one argument denoting the colour to change to.
    • align: Aligns all of the following elements to either left, right or mid. Takes one argument denoting the side to align to. Note that this may screw up paragraphs if not set to “left”.
    • pack: Generally, elements in a layout application are laid out in the order they are added in. Pack allows you to choose from which element to start drawing, or 0 to restart drawing from the beginning. Takes one argument denoting the element to start drawing at.
    • absolute: Toggles the positioning mode of the elements between packed and absolute. This is useful if you want to freely move around an element.
    • x: Sets the X coordinate of the position of the next element to be added. The coordinate is given as a percentage (for example 50% would be the middle of the screen).
    • y: Sets the Y coordinate of the position of the next element to be added. The coordinate is given as a percentage (for example 50% would be the middle of the screen).
    • anchor: Sets the anchor to which the next element’s position will be held. This takes one of these arguments: mid-mid, mid-top, mid-bottom, left-mid, left-top, left-bottom, right-mid, right-top or right-bottom. This only works [properly] in absolute positioning mode.
  • Events ( < )

    • click: Triggers when the attached element is clicked.
  • String placeholders

    String placeholders are specific strings that will be replaced at run-time to some other string. For example, if I wanted to have a title with the weather description, I would write down, for example:

    + title "weather description"

    If I were to run this, the text in the title would not be “weather description”, but rather the current weather description, like, for example, “overcast clouds”. Here is a list of all the string placeholders currently:

    • system location: Gets replaced by the current system location.
    • aqua news: Gets replaced by the current news from a Firebase server.
    • aqua news-title: Gets replaced by the title of the current news from a Firebase server.
    • aqua version: Gets replaced by the current version of AQUA.
    • weather description: Gets replaced by a description of the current weather.
    • weather temperature: Gets replaced by the current temperature.
    • weather main: Gets replaced by a really small description of the current weather.
    • weather colour/weather color: Gets replaced by a colour matching the current weather (bluish grey for rain, grey for clouds, yellowish white for snow, …).
    • weather invert-colour/weather invert-color: Gets replaced by the opposite of “weather colour/weather color”. Generally used as a text colour.
    • time digital: Gets replaced by the current digital time.
    • time date: Gets replaced by the current date.
    • cpu name: Gets replaced by the CPU name.
    • cpu tsc: Gets replaced by yes (the CPU supports TSC) or no (the CPU does not support TSC).
    • cpu sse: Gets replaced by yes (the CPU supports SSE) or no (the CPU does not support SSE).
    • cpu stepping: Gets replaced by the CPU stepping count.
    • cpu vendor: Gets replaced by the name of the CPU vendor (Intel, AMD or other).
    • ram size: Gets replaced by the amount of RAM, with the appropriate unit (KB, MB, GB, TB, PB).
    • usb version: Gets replaced by the maximum USB version your machine supports (1.0, 1.1, 2.0, 3.0 or none, indicated by an error message).
    • lorem ipsum: Gets replaced by exactly 1 KB of the popular dummy text.
    • graphics device: Gets replaced by the name of your display controller.
    • sound device: Gets replaced by the name of your audio controller.
    • networking device: Gets replaced by the name of your networking controller.
    • graphics vendor: Gets replaced by the name of your display controller’s vendor name.
    • sound vendor: Gets replaced by the name of your audio controller’s vendor name.
    • network vendor: Gets replaced by the name of your networking controller’s vendor name.
  • Script integration & events

    AQUA Run script can be integrated into AQUA Layout with the event command. The script is triggered as the event is. To run a script, you need to go to the next line so that you are not on the same line as the event command is. There, you can run one command per line, until you are done, in which case you can close of the event with a “>” on yet another new line. Each command will be run in the order they come in. Here is an example:

     + button "Click me"
    < click
    open About
    poweroff
    >

AQUA Script


  • Intro

    Hello all!

    With the AQUA 1.3, a huge feature was introduced. A programming language (AQUA Script) and a text editor. On this page, I will be teaching you to make your very own programs in AQUA Script!

    DISCLAIMER: AQUA Script is not yet a full programming language, and thus is very limited. Same with the editor. They are both in early versions and have not much been tested or at all for that matter.

 

  • Structure

    The AQUA Script has a simple structure. You only need to know a few components. The rest is just knowing tricks and memorizing commands.

    Each line can start with as many tabs / spaces / newlines as you want. All lines are composed of arguments and are terminated by a semicolon. Arguments are separated by as many spaces as you want.

    The first argument is the command, and the others give a “description” of the command (example: sleep 5; “sleep” is the command, and “5” is the amount of seconds the computer will wait).

    If you want to include spaces in your argument, then you have to specify the beginning and the end of it with quotes (example: print “Hello world!”; “Hello” and “world!” are stuck together when written in the log. If I didn’t put any quotes, it would only write “Hello” and ignore the “world!”). These are called groups. If you want to insert a newline, do \n. For a tab, \t, for a semicolon, \c, for a quote, \” and for a backslash, \\.

    Arguments can also be stored. To store an argument, do “new $name is argument;”. They can be called in a command with the “$name“. This will replace the”$argument_name” with what is inside (example: new $arg is “Hello world”; print $arg; ). The argument can be a number, in which case you can do maths on it. These are called variables.

    That’s all you need to know for the structure.

  • Commands

    Here is a list of all the commands and what they do. When explaining the syntax, [] means optional stuff, <> is the variable argument and () is a comment. If you are searching for a specific command, type Ctrl+F.

  • new (or var)

    Makes a new variable. The syntax is “new (or var) $<variable_name> is (can also be =) [information on the variable];

  • if (or ?)

    Compares two values. The syntax is “if (or ?) <a> <comparator> <b> <another command that is executed if the comparing of a and b is successful>;“. Here are the different comparators = (or ==) means a is equal to b, ! (or !=) means a is not equal to b, <= means a is less or equal to b, >= means a is greater or equal to b, < means a is less than b and > means a is greater than b.

  • if-string (or ?-string or if-str or ?-str)

    Same as if, just that is compares strings (groups) instead of numbers. Also only has the = (or ==) and ! (or !=) comparators.

  • graphics

    All the graphical commands syntax.

    • graphics init → initialize the graphics
    • graphics wash (or fill) <red> <green> <blue>; → fill the entire screen with a certain colour (defined by the RGB values).
    • graphics rect <x> <y> <width> <height> <red> <green> <blue>; → draw a rectangle on the screen.
    • graphics line <x1> <y1> <x2> <y2> <red> <green> <blue> → draw a line from position (x1; y1) to position (x2; y2).
    • graphics text (or locate or print) <text> <x> <y> <red> <green> <blue> → draws text on the screen.
    • graphics width $<variable name> → set the value of the given variable to the width of the screen.
    • graphics height $<variable name> → does the same as with “graphics width” but with the height instead.
  • event

    All the event (user inputs) commands, like hitting a key on the keyboard or the position of the mouse.

    • event key (or key-down or key-press) $<variable name> → polls the keyboard and sets the variable’s value to the id of the last key pressed.
    • event key-up (or key-release) $<variable name> → polls the keyboard and sets the variable’s value to the id of the lased key released.
    • event key-map $<variable name> → converts the id of the key in the variable to a character.
    • event mouse-down (or mouse-press) $<variable name> → sets the variable to the button of the mouse last pressed (0 for none, 1 for left, 2 for middle and 3 for right).
    • event mouse-click (or mouse-up or mouse-released) $<variable name> → sets the variable to the button of the mouse last released (0 for none, 1 for left, 2 for middle and 3 for right).
    • event mouse-x $<variable name> → sets the variable to the x coordinate of the mouse cursor on the screen.
    • event mouse-y $<variable name> → sets the variable to the y coordinate of the mouse cursor on the screen.
  • do

    Does a mathematical operation on two values and puts the result into a variable. The syntax is “do <value 1> <operation> <value 2> is $<result>;“. Here are all the operations. + means plus, – means minus, * means times, / means divided, % (or mod) means modulo, << (or left) means left shift, >> (or right) means right shift, or (or |) means or, and (or &) means and, xor (or ^) means exclusive or.

  • || (or abs)

    Replaces the variable with it’s absolute value. The syntax is “|| (or abs) $<variable>;”.

  • ++

    Adds one to the variable. The syntax is “++ $<variable>;”.

  • Subtracts one to the variable. The syntax is “– $<variable>;”.

  • put (or =)

    Sets the value of a variable. The syntax is “put (or =) <value> to (or ->) $<variable>;”.

  • type (or trans)

    Transforms the variable from integer to string or from string to integer. The syntax is “type (or trans) $<variable> to (or ->) integer (or int or string or str);”.

  • print (or log)

    Writes string or variable to log. The syntax is “print (or log) $<variable> (or <argument / argument group>) [as] [int] (or integer or str or string);“.

  • sleep

    Waits for a certain amount of seconds. The syntax is “sleep <seconds>;”. Note that this command does not count the seconds starting from when it was called, but from the last second recorded by the CMOS chip.

  • time

    Sets the value of the given variable to the time. The syntax is “time $<variable>;”.

  • rand (or random)

    Sets the value of the given variable to a pseudo random number between two values. The syntax is “rand (or random) <min> <max> [to] (or ->) $<variable>;”.

  • exit (or stop)

    Stops the program. The syntax is “exit (or stop);”.

  • run (or exec or goto)

    Go to a command and continue running the program from there. The syntax is “run (or exec or goto) <command number>;“. Note that this is the command number and NOT the line number. Start from zero.

  • open

    Opens any application currently on the system. The syntax is “open <application name>;”.

  • read

    Pauses the program and reads what the user types in. The program resumes once the user has hit the enter key. The syntax is “read $<variable name>;”.

Hello world!


Welcome to WordPress.com. After you read this, you should delete and write your own post, with a new title above. Or hit Add New on the left (of the admin dashboard) to start a fresh post.

Here are some suggestions for your first post.

  1. You can find new ideas for what to blog about by reading the Daily Post.
  2. Add PressThis to your browser. It creates a new blog post for you about any interesting  page you read on the web.
  3. Make some changes to this page, and then hit preview on the right. You can always preview any post or edit it before you share it to the world.