Giter Club home page Giter Club logo

brisk-menu's Introduction

brisk-menu

Coverity Scan License

brisk-menu is a modern and efficient menu designed to improve the MATE Desktop Environment with modern, first-class options.

The purpose of this project is to provide a usable menu as seen in other desktops without the bloat and performance issues.

brisk-menu is distro-agnostic and the reporting of portability issues is encouraged.

screenshot

brisk-menu is a collaborative project between Solus and Ubuntu MATE

ubuntu_mate_logo solus_logo

Features

  • Keyboard centric (mice welcome too, of course)
  • Hotkey support (defaults to Super, configurable in gsettings)
  • Stupid-fast
  • Efficient, useful searching with prioritised listings
  • Modular backend design split from the frontend, allowing new backends in future (hint: the frontend is not tied to .desktop files)
  • Context menus for .desktop actions (incognito mode, etc.)
  • Pin shortcuts to the Favourites backend and directly to the desktop using the context menu (unpin too!)
  • Configurable label (hide/text)
  • Automatically adapt to vertical panels
  • Automatically reload
  • Filter via categories
  • Session/screensaver controls
  • Drag & drop support for launchers
  • Sidebar launcher support
  • GTK3 + CSS styling options
  • Fully correct X11 WM integration (grab policy and window types)
  • Not Python.

Planned

These planned features will be implemented in the future:

  • Settings UI to control further visual aspects (labels/icons/options)
  • Improved styling for the window edge + search entry.

More will be added.

screenshot_context

Building Brisk Menu

Requirements:

  • GTK 3.18 or greater
  • GTK 3.18 build of MATE 1.22 or greater
  • Modern meson (0.40.x+) and ninja (Ubuntu users should use xenial-backports)

Build Process:

    meson --buildtype plain build --prefix=/usr
    ninja -C build -j$(($(getconf _NPROCESSORS_ONLN)+1))
    sudo ninja -C build install

Development on Solus:

    meson build --buildtype debugoptimized --prefix=/usr --sysconfdir=/etc --libdir=/usr/lib64 --libexecdir=/usr/lib64/brisk-menu
    ninja -C build -j$(($(getconf _NPROCESSORS_ONLN)+1))
    sudo ninja -C build install

License

Copyright © 2016-2020 Brisk Menu Developers

brisk-menu is available under the terms of the GPL-2.0 license.

The brisk_system-log-out-symbolic.svg icon is a copy of application-exit-symbolic.svg to use within Brisk.

This icon is copyright © Sam Hewitt, from the Paper Icons theme, available under the terms of the CC-BY-SA-4.0 license.

brisk-menu's People

Contributors

0x64c avatar antonios-f avatar cybre avatar ericbsd avatar flexiondotorg avatar gabrc52 avatar gabrielfin avatar greenmanspirit avatar ikeydoherty avatar joshstrobl avatar kimmalmo avatar kyrios123 avatar staudey avatar sunweaver avatar vkareh avatar ymauray avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

brisk-menu's Issues

Update to README suggestion

Hello,
When someone is next editing the README, could I suggest the following additions....
In the Building section:-

  1. Add a comment to direct reader to download the ***.tar.xz from releases.
    Alas, I went straight to the Download button and understand now why it didn't build.
  2. Add a comment to direct reader to also download brisk-menu-translations to ensure updatePot.sh works. Don't know whether this is needed for a build, but I did it anyway.

I was building in isolation on Fedora 31 Mate Spin, as it is not included.
Works fine!
Thanks
John

journald filled by org.mate.panel.applet.BriskMenuFactory messages

Hello,

I do not understand why so many messages in journald. And some mesages talk about javascript and json ... Perhaps I miss some configuration stuff on my Ubuntu-MATE system ?

nov. 12 13:53:38 ubuntu-N141CU org.mate.panel.applet.BriskMenuFactory[1598]: console.log: "loadUI"
nov. 12 13:53:38 ubuntu-N141CU org.mate.panel.applet.BriskMenuFactory[1598]: console.log: "Loading Grammalecte"
nov. 12 13:53:38 ubuntu-N141CU org.mate.panel.applet.BriskMenuFactory[1598]: Worker: Received message [object Object]
nov. 12 13:53:38 ubuntu-N141CU org.mate.panel.applet.BriskMenuFactory[1598]: Worker: Calling method loadGrammarChecker
nov. 12 13:53:38 ubuntu-N141CU org.mate.panel.applet.BriskMenuFactory[1598]: console.log: "loadFile: resource://grammalecte/fr/conj_data.json"
nov. 12 13:53:38 ubuntu-N141CU org.mate.panel.applet.BriskMenuFactory[1598]: console.log: "loadFile: resource://grammalecte/fr/mfsp_data.json"
nov. 12 13:53:38 ubuntu-N141CU org.mate.panel.applet.BriskMenuFactory[1598]: console.log: "loadFile: resource://grammalecte/fr/phonet_data.json"
nov. 12 13:53:38 ubuntu-N141CU org.mate.panel.applet.BriskMenuFactory[1598]: console.log: "loadFile: resource://grammalecte/graphspell/_dictionaries/fr-allvars.json"
nov. 12 13:53:38 ubuntu-N141CU org.mate.panel.applet.BriskMenuFactory[1598]: Worker: Method loadGrammarChecker succeeded
nov. 12 13:53:38 ubuntu-N141CU org.mate.panel.applet.BriskMenuFactory[1598]: Worker: Sending positive reply { "typo": true, "apos": true, "eepi": true, "esp": false, "tab": false, "nbsp": false, "tu": true, "maj": true, "num": true, "virg": true, "poncfin": false, "unit": false, "nf": true, "liga": false, "mapos": false, "chim": false, "ocr": false, "conf": true, "sgpl": true, "gn": true, "infi": true, "conj": true, "ppas": true, "imp": true, "inte": true, "vmode": true, "bs": true, "pleo": true, "redon1": false, "redon2": false, "neg": false, "date": true, "mc": false, "idrule": false, "html": true, "latex": false } id is 1
nov. 12 13:53:38 ubuntu-N141CU org.mate.panel.applet.BriskMenuFactory[1598]: console.log: "{ \"typo\": true, \"apos\": true, \"eepi\": true, \"esp\": false, \"tab\": false, \"nbsp\": false, \"tu\": true, \"maj\": true, \"num\": true, \"virg\": true, \"poncfin\": false, \"unit\": false, \"nf\": true, \"liga\": false, \"mapos\": false, \"chim\": false, \"ocr\": false, \"conf\": true, \"sgpl\": true, \"gn\": true, \"infi\": true, \"conj\": true, \"ppas\": true, \"imp\": true, \"inte\": true, \"vmode\": true, \"bs\": true, \"pleo\": true, \"redon1\": false, \"redon2\": false, \"neg\": false, \"date\": true, \"mc\": false, \"idrule\": false, \"html\": true, \"latex\": false }"
nov. 12 13:53:38 ubuntu-N141CU org.mate.panel.applet.BriskMenuFactory[1598]: console.error: (new Error("", (void 0)))
nov. 12 13:53:38 ubuntu-N141CU org.mate.panel.applet.BriskMenuFactory[1598]: Worker: Received message [object Object]
nov. 12 13:53:38 ubuntu-N141CU org.mate.panel.applet.BriskMenuFactory[1598]: Worker: Calling method setDictionary
nov. 12 13:53:38 ubuntu-N141CU org.mate.panel.applet.BriskMenuFactory[1598]: console.log: "set dictionary: personal"
nov. 12 13:53:38 ubuntu-N141CU org.mate.panel.applet.BriskMenuFactory[1598]: Worker: Method setDictionary succeeded
nov. 12 13:53:38 ubuntu-N141CU org.mate.panel.applet.BriskMenuFactory[1598]: Worker: Sending positive reply  id is 2
nov. 12 13:54:24 ubuntu-N141CU org.mate.panel.applet.BriskMenuFactory[1598]: JavaScript error: chrome://messenger/content/multimessageview.js, line 397: TypeError: content is null
nov. 12 13:55:21 ubuntu-N141CU org.mate.panel.applet.BriskMenuFactory[1598]: JavaScript error: chrome://ganttview/content/calendar-gantt-view.xml, line 789: TypeError: this.calView.mFlashingEvents is not iterable
nov. 12 13:55:22 ubuntu-N141CU org.mate.panel.applet.BriskMenuFactory[1598]: JavaScript error: chrome://ganttview/content/calendar-gantt-view.xml, line 789: TypeError: this.calView.mFlashingEvents is not iterable
nov. 12 13:56:24 ubuntu-N141CU org.mate.panel.applet.BriskMenuFactory[1598]: console.log: "loadUI"
nov. 12 13:56:24 ubuntu-N141CU org.mate.panel.applet.BriskMenuFactory[1598]: console.log: "Loading Grammalecte"
nov. 12 13:56:24 ubuntu-N141CU org.mate.panel.applet.BriskMenuFactory[1598]: Worker: Received message [object Object]
nov. 12 13:56:24 ubuntu-N141CU org.mate.panel.applet.BriskMenuFactory[1598]: Worker: Calling method loadGrammarChecker
nov. 12 13:56:24 ubuntu-N141CU org.mate.panel.applet.BriskMenuFactory[1598]: console.log: "loadFile: resource://grammalecte/fr/conj_data.json"
nov. 12 13:56:24 ubuntu-N141CU org.mate.panel.applet.BriskMenuFactory[1598]: console.log: "loadFile: resource://grammalecte/fr/mfsp_data.json"
nov. 12 13:56:24 ubuntu-N141CU org.mate.panel.applet.BriskMenuFactory[1598]: console.log: "loadFile: resource://grammalecte/fr/phonet_data.json"
nov. 12 13:56:25 ubuntu-N141CU org.mate.panel.applet.BriskMenuFactory[1598]: console.log: "loadFile: resource://grammalecte/graphspell/_dictionaries/fr-allvars.json"
nov. 12 13:56:25 ubuntu-N141CU org.mate.panel.applet.BriskMenuFactory[1598]: Worker: Method loadGrammarChecker succeeded

Cheers.

After some time, Brisk Menu consumes a ton of memory

I have 2 systems which reboot extremely infrequently. I have begun to experience periodic system slowness, and the cause is Brisk menu taking up a ton of memory:

image

On one system I saw it get to over 7GB of memory before. I have not been able to troubleshoot as I'm finding no specific configuration or logs. This is Ubuntu Mate 22.04 LTS. One thing I have installed is appimage launcher, but I don't think that's necessarily the issue and can find no correlation.

If there are any debugging methods I can try I'm ready to provide output; I'm not sure how to begin troubleshooting here.

The context menu key does not work

After focusing on any program, press the context menu key. You will notice that it does not work. You need to use the right mouse button, but this is not very convenient for users of the Orca screen reader.
Please make the context menu key work in the same way as the right mouse button.
I will be very grateful for your attention to this problem.

[Feature Request] Most Used Items

The title is self-explanatory, but where to show those items needs more explanation (and suggestions). There are two approaches I can think of:

OPTION 1: By default Brisk Menu will not have a category selected (as opposed to the current operation of defaulting to "Favorites") and instead it will display the list of most recently used items. If a category is selected later, there should be some way to 'deselect' by clicking/hovering on some empty spot.

OPTION2: Have a category called "Most Used" (or something named better). To not anger existing users, have a configuration option to choose what the default selected category is (since it currently defaults to "Favorites").

Menu brisk disappeared from the panel at startup/boot

With Ubuntu 22.04 almost every startup brisk-menu as well as the button to turn off the computer is missing at startup the only solution is to pass by mate-tweak.
What is the command to launch brisk-menu?

Ubuntu is unusable!!

Edit: I reinstalled Ubuntu Mate 22.04 from scratch, I did all the updates, installed all the software I need. It's only when I tried to change the layout that my touchpad freezes and the brisk-menu disappears.

Brisk menu should allow keyboard-only navigation for buttom left corner items (end session, lock, turn off)

It seems that it is impossible to access the bottom left corner items of Brisk Menu (End the current session, Lock the screen, Turn off the device):

left-buttons|164x40

I can't navigate to them using <Tab> key. So it seems that such tooltips (or buttons) do not have keybindings / accelerators / shortcuts defined.

Steps to reproduce:

  1. Install Ubuntu MATE 18.04.2 LTS with all updates on fresh system.
  2. Login to the MATE session
  3. Click <Super> key to open Brisk menu
  4. Click <Tab> key to try to access the bottom left corner items of Brisk Menu (End the current session, Lock the screen, Turn off the device).

Expected results:
user is able to navigate to the bottom left corner items by using only keyboard.

Actual results:
user is unable to navigate to the bottom left corner items by using only keyboard.

Technical details:
Using mate-applet-brisk-menu version 0.5.0-7ubuntu1.

Downstream bug-report:
https://bugs.launchpad.net/ubuntu/+source/brisk-menu/+bug/1821315

Link to discussion:
https://ubuntu-mate.community/t/brisk-menu-how-to-access-buttom-left-corner-items-end-session-lock-turn-off-by-using-only-keyboard/19184

Notes:
problem persists in Ubuntu 18.10 and upcoming 19.04.

[Feature request] Keyword search

I would like to be able to use a keyword as a search term, and have a specific entry show up as the first result. For example, to be able to assign the keyword ff to firefox.desktop, so typing "ff" in the search box would return Firefox as the first result.

This way, opening programs would be much faster and automatic, because the user wouldn't have to think which result is the one they want. They can simply press Super > keyword > Enter without even looking at the menu.

I'm willing to try to implement this myself, as long as the lead devs are okay with such a feature.

i18n Add the Occitan to weblate

Hello, I would like to translate in Occitan but I cannot ask this language to be added.
Could you add it so I can start translating?
Thanks

Brisk menu prevents mate-panel auto-hide

When I open brisk-menu and then click on destop the menu window itself diappears, but mate-panel do not hide itself. The only way is to open brisk-menu and then close it by clicking menu button again - then menu window close itsef and panel hides. Did not notice it before I got OLED laptop and start using panel auto-hide feature.

Allow to redrag/organise favorites

I would like to organise my favorite icons in a predetermined order. Currently the order of adding the icons is used, I would like to be able to change that and to drag the icon in the place I want.

Status of this project

Brisk menu has many usability issues, but it seems that development has stalled.

Is that the case? If so, I would mark this project as deprecated.

Compiler cc can not compile programs when compiling for Alpine Linux

The command run is "/tmp/brisk-menu% meson --buildtype plain build --prefix=/usr"

Output:
The Meson build system
Version: 0.62.1
Source dir: /tmp/brisk-menu
Build dir: /tmp/brisk-menu/build
Build type: native build
Project name: brisk-menu
Project version: 0.6.2

meson.build:1:0: ERROR: Compiler cc can not compile programs.

A full log can be found at /tmp/brisk-menu/build/meson-logs/meson-log.txt

Full log:
ERROR: unable to select packages:
gcc-multilib (no such package):
required by: world[gcc-multilib]

josiah@postmarketos-amd64:/tmp/brisk-menu% cat /tmp/brisk-menu/build/meson-logs/meson-log.txt
Build started at 2022-09-15T23:44:23.625946
Main binary: /usr/bin/python3
Build Options: -Dprefix=/usr -Dbuildtype=plain
Python system: Linux
The Meson build system
Version: 0.62.1
Source dir: /tmp/brisk-menu
Build dir: /tmp/brisk-menu/build
Build type: native build
Project name: brisk-menu
Project version: 0.6.2
Sanity testing C compiler: cc
Is cross compiler: False.
Sanity check compiler command line: cc sanitycheckc.c -o sanitycheckc.exe -D_FILE_OFFSET_BITS=64
Sanity check compile stdout:


Sanity check compile stderr:
/usr/lib/gcc/x86_64-alpine-linux-musl/11.2.1/../../../../x86_64-alpine-linux-musl/bin/ld: cannot find Scrt1.o: No such file or directory
/usr/lib/gcc/x86_64-alpine-linux-musl/11.2.1/../../../../x86_64-alpine-linux-musl/bin/ld: cannot find crti.o: No such file or directory
/usr/lib/gcc/x86_64-alpine-linux-musl/11.2.1/../../../../x86_64-alpine-linux-musl/bin/ld: cannot find -lssp_nonshared: No such file or directory
collect2: error: ld returned 1 exit status


meson.build:1:0: ERROR: Compiler cc can not compile programs.

Gsettings/dconf option to show/hide power off, lock screen?

I'm running MATE on RHEL 7 and was trying to configure a way to lockdown the system from users hitting the lock screen or power off buttons. I've found a way to disable the effects of clicking the buttons, rendering them essentially useless, but was seeing if there was an option to actually show/hide the power off and lock screen buttons in Brisk Menu so that users don't even have the temptation to do so.

I've checked the available keys through gsettings, which show:
com.solus-project.brisk-menu label-visible
com.solus-project.brisk-menu pinned-shortcuts
com.solus-project.brisk-menu favourites
com.solus-project.brisk-menu rollover-activate
com.solus-project.brisk-menu dark-theme
com.solus-project.brisk-menu hot-key
com.solus-project.brisk-menu label-text
com.solus-project.brisk-menu search-position
com.solus-project.brisk-menu window-type

But none of these seem to address this issue. Is there a way to do this? Thanks!

Meson Build

The Meson build system
Version: 0.51.2
Source dir: /home/xxx/Downloads/brisk-menu-master
Build dir: /home/xxx/Downloads/brisk-menu-master/build
Build type: native build
Project name: brisk-menu
Project version: 0.6.1
C compiler for the host machine: cc (gcc 9.2.0 "cc (Gentoo 9.2.0-r2 p3) 9.2.0")
Build machine cpu family: x86_64
Build machine cpu: x86_64
Program meson_post_install.sh found: YES (/home/john/Downloads/brisk-menu-master/meson_post_install.sh)
Found pkg-config: /usr/bin/pkg-config (1.6.3)
Run-time dependency gtk+-3.0 found: YES 3.24.10
Run-time dependency gio-unix-2.0 found: YES 2.60.6
Run-time dependency gdk-x11-3.0 found: YES 3.24.10
Run-time dependency x11 found: YES 1.6.9
Run-time dependency libmatepanelapplet-4.0 found: YES 1.22.1
Run-time dependency libmate-menu found: YES 1.22.0
Run-time dependency libnotify found: YES 0.7.8
Configuring config.h using configuration
Found pkg-config: /usr/bin/pkg-config (1.6.3)
Configuring com.solus_project.brisk.BriskMenu.mate-panel-applet using configuration
Configuring org.mate.panel.applet.BriskMenuFactory.service using configuration

meson.build:109:0: ERROR: Subproject exists but has no meson.build file

A full log can be found at /home/xxx
meson-log.txt
/Downloads/brisk-menu-master/build/meson-logs/meson-log.txt

Linux LPT00 5.4.0 #23 SMP Fri Dec 6 16:55:24 CST 2019 x86_64 Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz GenuineIntel GNU/Linux

I am having the following issue building 0.6.1. I do not have any issues building 0.6.0 though. I'm not sure what other information you would like.

Make image name used as menu icon configurable

Hi,

I am currently working on a project where I want to use the Yaru theme on a non-Ubuntu distribution in combination with Brisk Menu. The Yaru theme ships the Ubuntu circle-of-friends as start-here-symbolic.svg. This (circle of friends as start menu icon) works nice on Ubuntu systems, but feels misplaced on Debian, openSUSE, etc.

I have been thinking about how to amend this for my system, initially thought that I have to provide some patch to the Yaru theme, but I now found a much easier and more generic approach (that Brisk Menu will benefit from).

I'd like to ask my co-developer on this customer project to provide a patch for Brisk Menu that allows one to customize the icon name used as start menu icon.

I can then provide a MATE start menu icon via another package that resembles the Yaru icon style (and drop it into /usr/share/icons/Yaru/...), tweak Brisk Menu's new icon-name gsettings option via an override and tadaaa... have my own customized icon in Brisk Menu.

Please veto now if you feel this is a bad idea.

Please note, that MATE's classical menubar applet also provides an 'icon-name' gsettings parameter, the idea is to immitate its behaviour and port it over to Brisk Menu.

Customizing Main Icon

Is there anyway I can customize the icon for this menu? Please see below image. Labelled 'A' is what icon is shown for this menu in the "Add to Panel" window. However labelled "B" is the icon actually being displayed once the menu is added to the panel. I would like it to use an icon from the icon theme currently in place instead.

image

System Information:
Debian GNU/Linux Sid
MATE Desktop Environment 1.24

Super+Mouse not working when binded to Super-L

#4 basically I have the same issue that this PR was supposed to fix - when setting the window action key to super (super + right click to resize, super + left click to move) and having brisk menu on my panel bound to left super, the window actions are useless. cannot reproduce when applet is removed
On ubuntu mate 20.10, I can't get ksuperkey solving this either as binding to alt-f1 in the first place doesn't work (conflicts with the open menu on desktop shortcut, and removing that just makes it do nothing)

second panel brisk menu empty on every restart

I just updated from ubuntu mate 20.04 to 21.04, and I noticed kind of weird behaviour. I have two panels set up, one at the bottom of the screen and one at the top. both have a brisk menu on the very left. However, every reboot, the menu at the top is void of applications, with the only options being "favourites", "all" and "control center", and it says "sorry, no items found" on the right. I would take a screenshot but it seems having the menu open disables the print screen button. The one at the bottom behaves normally.

If I get rid of the menu at the top from the panel, and add a new brisk menu in its place, it will correctly be populated with my applications. however, if i then reboot, it will be empty once again. The menu at the bottom works perfectly fine.

version 0.6.2-1ubuntu0

multiple categories confuse brisk-menu as desktop file isnt shown anywhere

Expected behaviour
if all categories are mentioned then apps should show in all categories mentioned

Actual behaviour
*.desktop files arent shown in multiple places

Steps to reproduce the behaviour
try changing categorie in desktop file

MATE general version
mate-desktop/unstable,now 1.26.0-1 amd64 [installed,automatic]

Package version
mate-applet-brisk-menu/unstable,now 0.6.2-1 amd64 [installed,automatic]
mate-menus/unstable,unstable,now 1.26.0-2 all [installed,automatic]

Linux Distribution
debian sid

When searching the top matching entry should get highlighted

I'm copying the original bug report (solus-project/brisk-menu#97) in verbatim:

When searching using the textbox the top matching entry in the list of applications should get highlighted to make obvious which app will be run if you press enter.

How it is currently:

not selected

What I think would be better (forced by hovering the mouse):

selected

This violates the principle of least astonishment. Users expect it to be selected and and if nothing is selected you'll be subconsciously assuming the focus is somewhere else and pressing enter won't launch the first item.

Accessiblity: Brisk vs onBoard

Accessbility: Brisk vs Onboard

When using a device without a keyboard such as a tablet on direct touchscreen, the Brisk Menu along with its top search field assumes/overrides the top most input layer position making it impossible to use the Accessiblity virtual keyboard Onboard to search for specific apps and programs.

This was originally opened under Ubuntu MATE then moved to Ubuntu proper. Any thoughts?

Basically this is killing Brisk use on a tablet without a keyboard.

default to 'Favorites' instead of All

You're more likely to use your favorite go-to apps,
rather than scrolling through the entire list each time

so it makes more sense to begin on Favorites tab, instead of All.

Conflicts with Ibus Super+Space.

I have installed IBus and set Super+Space as the Next Input Method shortcut. When Brisk menu is in the panel, pressing Super+Space does not work. I must hold Super down and press Space twice. If I remove Brisk menu from the panel, then Super+Space works as expected.

EndeavourOS, Mate.

Segfault, keeps crashing

Browsing menu causes random crashes with a popup option of reloading the menu.

Reloading works, eventually crashes again.

Stock MATE, no changes at all.

dmesg shows this error
Brisk-menu[926]: segfault at 7fb6dc0008d0 ip 00007fb6dc0008d0 sp 00007ffe51ac1418 error 15

Cannot find other logs for brisk-menu.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.