Here are random ideas about Unity .
Improve terminal usability for new users
Written by oldarney the 20 Aug 11 at 10:42.
New
To us, the terminal sounds like the imperial march, to noobs it sounds more like epic violins of doom. Is that really the best we can do? With these ideas, hopefully we can kill -9 all noobs of the world... hopefully.
Solution #1:
Split panel help view
Written by
oldarney the 20 Aug 11 at 10:42.
Wouldn't it be nice if noobs always saw the manual for the commands they type in? Running man on everything usually does the trick. It would also encourage better documentation.
You would only be asked "Are you a noob?" once, when you first install ubuntu.
Wouldn't it be nice if noobs always saw the manual for the commands they type in? Running man on everything usually does the trick. It would also encourage better documentation.
You would only be asked "Are you a noob?" once, when you first install ubuntu.
Solution #2:
Autocomplete option/ View outcome of tabbing
Written by
oldarney the 20 Aug 11 at 10:49.
When you start typing "chm", hitting tab autocompletes to "chmod", it would be nice if it showed what TAB would do before you pressed it. It would be in an onion skin style and be as unobtrusive as possible.
When you start typing "chm", hitting tab autocompletes to "chmod", it would be nice if it showed what TAB would do before you pressed it. It would be in an onion skin style and be as unobtrusive as possible.
Solution #3:
Spellcheck-like pre execution command checker
Written by
oldarney the 20 Aug 11 at 10:59.
Make bad commands look mispelled before pressing enter.
Kinda like firefox spell checking.
http://lifehacker.com/assets/resources/2007/05/misspelling.png
Solution #4:
Make terminal pleasing... maybe then they will read the manuals
Written by
oldarney the 20 Aug 11 at 11:05.
1.Shake the Terminal when you get a 'command not found'
2.Cause overscroll to bounce (optional)
3.Auto highlight selected text, like eclipse
4.Old Sci-fi "CRT monitor from space style" effect option
1.Shake the Terminal when you get a 'command not found'
2.Cause overscroll to bounce (optional)
3.Auto highlight selected text, like eclipse
4.Old Sci-fi "CRT monitor from space style" effect option
Solution #5:
Command suggestions, like Google suggestions
Written by
oldarney the 20 Aug 11 at 14:50.
You know how, when you search google you get a dropdown list of things people search for commonly? Why not make a small database of those commands and add real suggestions to the terminal! This would bring an end to ALL linux noobs! MWUHAHAHHA It would almost make it too easy to use the terminal.
http://www.holytaco.com/25-funny-google-search-suggestions/
You know how, when you search google you get a dropdown list of things people search for commonly? Why not make a small database of those commands and add real suggestions to the terminal! This would bring an end to ALL linux noobs! MWUHAHAHHA It would almost make it too easy to use the terminal.
http://www.holytaco.com/25-funny-google-search-suggestions/
Solution #6:
Replace the aging bash shell with Z-shell
EDIT: Z-shell with the .zshrc file I posted, that command below, enables pre-execution spellchecks, auto-completes program names, nices foreground tasks and for further clarification, provides "Lists" when you press the "Tab" key. As said below, you can press tab on kill, cd, rm etc. and have a list of files in the current directory or processes to look at.)
Z-shell, known as zsh in the ubuntu repositories, can be configured to have spellcheck, and easier file navigation through it.
The Bourne Again shell was suppose to make life for script developers easy, as it combined the best of Korn, Bourne and C shell. Z-shell can utilize most of the same stuff, and with a decently-coded .zshrc file, it can have curses-like menus for commands like kill and cd, integrating easy-to-use inline menus in the terminal window.
Additionally, if a GUI were built around it, then customization would be as easy as running a Python script, navigating the GUI and restarting Terminal to apply changes. And since it's the entire shell that's being replaced, the same ease of use that would be in gnome-terminal would also be in xterm.
Don't believe me? then copypaste the following in a terminal window and check it out:
sudo apt-get install zsh curl && curl
http://stuff.mit.edu/~jdong/misc/zshrc > ~/.zshrc && zsh
And to perma-replace it at the user level:
sudo chsh -s /bin/zsh
EDIT: Z-shell with the .zshrc file I posted, that command below, enables pre-execution spellchecks, auto-completes program names, nices foreground tasks and for further clarification, provides "Lists" when you press the "Tab" key. As said below, you can press tab on kill, cd, rm etc. and have a list of files in the current directory or processes to look at.)
Z-shell, known as zsh in the ubuntu repositories, can be configured to have spellcheck, and easier file navigation through it.
The Bourne Again shell was suppose to make life for script developers easy, as it combined the best of Korn, Bourne and C shell. Z-shell can utilize most of the same stuff, and with a decently-coded .zshrc file, it can have curses-like menus for commands like kill and cd, integrating easy-to-use inline menus in the terminal window.
Additionally, if a GUI were built around it, then customization would be as easy as running a Python script, navigating the GUI and restarting Terminal to apply changes. And since it's the entire shell that's being replaced, the same ease of use that would be in gnome-terminal would also be in xterm.
Don't believe me? then copypaste the following in a terminal window and check it out:
sudo apt-get install zsh curl && curl http://stuff.mit.edu/~jdong/misc/zshrc > ~/.zshrc && zsh
And to perma-replace it at the user level:
sudo chsh -s /bin/zsh
Solution #7:
Bookmarks
Written by
Lachu the 9 Sep 11 at 11:38.
Allow to remember command you type into terminal with ability to select parameters. This option would be useful to make bookmarks. Gnome-terminal should have this option. Gnome-terminal should have many bookmarks pre-installed, like remove file, cd, etc.
Allow to remember command you type into terminal with ability to select parameters. This option would be useful to make bookmarks. Gnome-terminal should have this option. Gnome-terminal should have many bookmarks pre-installed, like remove file, cd, etc.
Solution #8:
Create a new terminal program aimed at new users
Written by
Ronius the 17 Sep 11 at 19:30.
Regular users of the terminal are unlikely to be too pleased with changes that get in the way with what they're used to doing. New users are also likely to be frightened off by the coldness of a new terminal window.
Maybe what is needed is a program aimed at teaching those new to the terminal how to use it? This program would include auto-complete for new words, and a split-panel that will automatically come up with the help and manual for the command used once the return key is pressed. Also any other combination of the solutions here could be added to it.
Regular users of the terminal are unlikely to be too pleased with changes that get in the way with what they're used to doing. New users are also likely to be frightened off by the coldness of a new terminal window.
Maybe what is needed is a program aimed at teaching those new to the terminal how to use it? This program would include auto-complete for new words, and a split-panel that will automatically come up with the help and manual for the command used once the return key is pressed. Also any other combination of the solutions here could be added to it.
Solution #9:
Make a separator between commands
Written by
brk0_0 the 19 Sep 11 at 18:07.
Emilis Dambauskas @ GitHub proposed and made a teak that make a separator line between commands:
http://lifehacker.com/5840450/add-a-handy-separator-between-commands-in-your-terminal-on-mac-os-x-and-linux
This would be great for improving usability and accessibility of terminal in Ubuntu.
This is how it looks like:
http://fastcache.gawkerassets.com/assets/images/17/2011/09/terminalseparators.png
Solution #10:
create a sidebar and help button
Written by
inder.vs the 2 Oct 11 at 07:20.
like in many programming software where one never need to learn all the commands.
like in many programming software where one never need to learn all the commands.
Solution #11:
A Wiki to Translate English Commands to Linux Commands
Have a Wiki where each page corresponds to a terminal command. Each page contains a list of pairs. The first item in the pair is an English command, ie, "Where is file foo on my computer?" The second item of the pair is the Linux translation of the English command, ie, "Find / -name foo -print". When using a terminal, search and find, in the wiki, the English command you want. Then type the corresponding Linux translation into the terminal.
Advantages:
Keeps the shell and tools small; this is a trouble shooting necessity.
Get exact, correct command to enter, every time.
Don't need to read man pages.
Less code to create, test, and maintain.
fewer bugs to find, document, and fix.
Ordinary users can help create wiki.
Can easily be developed incrementally and in parallel.
The wiki can help create standardized tests for the commands.
This is already happening at
https://wiki.ubuntu.com/TranslateEnglishToLinux
Have a Wiki where each page corresponds to a terminal command. Each page contains a list of pairs. The first item in the pair is an English command, ie, "Where is file foo on my computer?" The second item of the pair is the Linux translation of the English command, ie, "Find / -name foo -print". When using a terminal, search and find, in the wiki, the English command you want. Then type the corresponding Linux translation into the terminal.
Advantages:
Keeps the shell and tools small; this is a trouble shooting necessity.
Get exact, correct command to enter, every time.
Don't need to read man pages.
Less code to create, test, and maintain.
fewer bugs to find, document, and fix.
Ordinary users can help create wiki.
Can easily be developed incrementally and in parallel.
The wiki can help create standardized tests for the commands.
This is already happening at https://wiki.ubuntu.com/TranslateEnglishToLinux
Solution #12:
Eliminate the Unix Commands!
Create a new shell, "Ensh" for instance, that accepts questions and commands in simple English and processes them, answering the questions and carrying out the commands.
Create a new shell, "Ensh" for instance, that accepts questions and commands in simple English and processes them, answering the questions and carrying out the commands.
Solution #13:
share terminal commands
Written by
deltrem the 20 Jan 12 at 20:26.
I want two buttons: Share Commands and See Commands.
1. I click Share
2. select some commands that I have just typed
3. write a description for the commands
4. the commands and their description go to an Ubuntu moderation
5. if the moderation approves, they appear in the See Commands of people who have the same computer configuration / hardware as I have.
I want two buttons: Share Commands and See Commands.
1. I click Share
2. select some commands that I have just typed
3. write a description for the commands
4. the commands and their description go to an Ubuntu moderation
5. if the moderation approves, they appear in the See Commands of people who have the same computer configuration / hardware as I have.
Battery notifier could be more complete
Written by pascalio the 16 Dec 11 at 15:58.
New
On a laptop, the battery notifier is not elaborate enough since it only shows the current prognostics for the remaining time on battery power when you click on it, which does tell the actual current status of the battery.
Allow custom multitouch in unity.
Written by addiks the 14 Jan 13 at 12:53.
New
I personally hate the way multitouch is implemented in unity. The 3-finger drag window placement feels just wrong (when i want to move a window, i grab the title or hold [alt]; these 'handles' are just irretating and also feel very wrong) and the 4-Finger tap that gets the dash just gets in the way. (At most when the driver sometimes thinks that there are more fingers on the pad then there really are, but thats another story.)
What i want to get from multitouch which i currently dont get are switching workspace with a 4-finger swipe, copy&paste (like with the middle mouse button which is very useful in linux) with a 3-finger tap (which is also useful to create new app-windows by 3-finger-tapping on one of the unity-icons) and emulate the [hold middle mouse button and move] like it gets used in blender by using 3 fingers and move.
Solution #1:
Provide a configuration to disable unity multitouch
Written by
addiks the 14 Jan 13 at 12:53.
What i currently do to achieve that goal is that i use the program 'ginn' with a custom 'whiches.xml' file. But ginn does not work with the vanilla (raw/untouched) version of unity, because unity grabs and locks the root multitouch handle(s) of the system. To resolve that i have written a script which downloads ('apt-get source unity') the unity sources, patches the sources to disable multitouch, build the packages and installs them. (I have also patched ginn, but that again is another story. I can provide the whole patcher-package if someone is interested.)
That process is very annoying because everytime unity gets updates i have to kill ginn (otherwise the updated/unpatched unity crashes after update because it cannot grab MT), update unity, run the patcher und do a 'unity --replace', all manually.
The cheapest solution would be to provide a configuration in a file or even a simple flag-file that disables multitouch in unity completely. You would create a file '~/.unity/disableMultitouch.flag' and the problem is gone, unity does not use multitouch anymore. You can run whatever multitouch program you want to.
This solution also would not interfere with beginners because they would never get the idea to create such a file. Its just a helper for developers who like to customize their system.
The file that needs to be patched for this to work is in the 'unity' package, in the sources the file '/plugins/unityshell/src/unityshell.cpp' in the method UnityScreen::InitGesturesSupport (currently line 3383-3407).
What i currently do to achieve that goal is that i use the program 'ginn' with a custom 'whiches.xml' file. But ginn does not work with the vanilla (raw/untouched) version of unity, because unity grabs and locks the root multitouch handle(s) of the system. To resolve that i have written a script which downloads ('apt-get source unity') the unity sources, patches the sources to disable multitouch, build the packages and installs them. (I have also patched ginn, but that again is another story. I can provide the whole patcher-package if someone is interested.)
That process is very annoying because everytime unity gets updates i have to kill ginn (otherwise the updated/unpatched unity crashes after update because it cannot grab MT), update unity, run the patcher und do a 'unity --replace', all manually.
The cheapest solution would be to provide a configuration in a file or even a simple flag-file that disables multitouch in unity completely. You would create a file '~/.unity/disableMultitouch.flag' and the problem is gone, unity does not use multitouch anymore. You can run whatever multitouch program you want to.
This solution also would not interfere with beginners because they would never get the idea to create such a file. Its just a helper for developers who like to customize their system.
The file that needs to be patched for this to work is in the 'unity' package, in the sources the file '/plugins/unityshell/src/unityshell.cpp' in the method UnityScreen::InitGesturesSupport (currently line 3383-3407).
Solution #2:
Configuration in GUI system settings
Written by
addiks the 21 Jan 13 at 18:10.
As an alternative to a text-file or flag-file configuration (which isn't very beginners-friendly), there could be a way to configure and/or disable multitouch in the GUI system-settings like with the current custom keyboard shortcuts and a simple switch (checkbox, button, slider, ...) to disable multitouch in unity completely so another multitouch-program like ginn can be used. This is not as cheap to implement as #1 but the result would be easier to use for everyone.
As an alternative to a text-file or flag-file configuration (which isn't very beginners-friendly), there could be a way to configure and/or disable multitouch in the GUI system-settings like with the current custom keyboard shortcuts and a simple switch (checkbox, button, slider, ...) to disable multitouch in unity completely so another multitouch-program like ginn can be used. This is not as cheap to implement as #1 but the result would be easier to use for everyone.
Dash doesn't save settings for results filtering
Written by Porky the 1 Nov 12 at 21:39.
New
The Unity Dash doesn't save the results filtering between sessions. As soon as the user relogs, the filters are reset to the default settings. Users should have an option to save those results between sessions. This is quite handy when it comes to the video lens, the 3rd-party news lens, the music lens (when choosing the source scope [IE banshee or rhythmbox] and the gwibber lens.
No feedback for missing shared libraries on GUI apps
Written by AndrewLuecke the 6 May 12 at 12:36.
New
When an application/game is missing a shared library, it simply never launches. There is never an error, or any indication why. Those who are tech saavy, will open console and often find
Error while loading shared libraries: libSDL_mixer-1.2.so.0 ". It is most common for commercial games and apps, or older linux apps. Having any program close without saying why, or no feedback on how to fix it is a clear obvious usability fail. Some real-world examples are:
* World of Goo from the humble bundles (deb).
* X-Plane 9 (I haven't tested X-Plane 10).
* Skype
This issue is
widespread , and has likely gone unnoticed because the actual problem has never had a generic means of correction (and the solution offered is generally "install library blah blah blah", "oh, it works, thanks", "close bug"). Windows has similar issues, however, at least they show an error that the DLL is missing!
Solution #1:
Monitor the console for missing shared libs errors. Install dependencies
When running an app:
1) Capture Stderr.
2) Analyse Stderr for missing libraries problem.
3) If something was missing, scan packagekit for the file, offer to install it. ("
Libsdl.so.1 is missing, would you like to install LibSDL?" )
4) Relaunch the app.
Benefits:
1) VERY easy to develop
2) Allows Ubuntu to self diagnose app launching problems.
3) Far better backwards compatibility.
4) Tar.gz's will be easier to run.
When running an app:
1) Capture Stderr.
2) Analyse Stderr for missing libraries problem.
3) If something was missing, scan packagekit for the file, offer to install it. ("<a href="#">Libsdl.so.1 is missing, would you like to install LibSDL?"</a>)
4) Relaunch the app.
Benefits:
1) VERY easy to develop
2) Allows Ubuntu to self diagnose app launching problems.
3) Far better backwards compatibility.
4) Tar.gz's will be easier to run.
Solution #2:
Go directly down to the linker
Written by
LSenf the 11 May 12 at 13:44.
Just as #1, but instead of monitoring console output, the cleaner solution should be to handle the error directly in the linker (or whatever causes these errors ;) ).
The linker itself could then call another program handling the user dialogs, installation proposals etc.
Furthermore, the second program should also offer a console interface in case the error occurs in a non-graphical environment.
Just as #1, but instead of monitoring console output, the cleaner solution should be to handle the error directly in the linker (or whatever causes these errors ;) ).
The linker itself could then call another program handling the user dialogs, installation proposals etc.
Furthermore, the second program should also offer a console interface in case the error occurs in a non-graphical environment.
keyboard layout-independend search in dash
Written by Леонид the 29 May 12 at 08:14.
New
auto-switch keyboard layout, when no results found in unity dash.
Example:
When I type "цвет" and "wdtn" (same buttons in keyboard, but different layout) in google - I get similar results. When I type this in dash - I get zero results on "wdtn". Unity should understand this and change keyboard layout automatically to russian language.
more useful icons in screen corners
Written by ceti331 the 5 Mar 13 at 19:32.
New
the screen corners are easy to click and can be better utilized.
in classic gnome, one can customize the panels to place useful items here - typically i out a workspace pager which responds to scrollwheel to flick throught desktops
Solution #1:
change icons in corners
Written by
ceti331 the 5 Mar 13 at 19:32.
Quick Solution,Idea [1] Put "Workspace Switcher" inplace of the trashcan. The trashcan is rarely used (cleanup), wheras workspace-switcher is hugely useful to see an overview and manage current tasks. Put the trashcan as part of the scrollable launcher list.
ubuntus' "Workspace Switcher" should be in the corner just like Windows' "show-desktop"
[1.1] make the "Workspace Switcher" respond to scrollwheel events (prev/next desktop), when its in the corner
Idea [2]make the top-left and bottom right of the launcher special locations where the user can dock any item
Idea [3] remove the 'close,minimise,maximize' buttons from the top for a maximized application - replace with Window Menu ,or a drop-down window-list - (you rarely want to close the maximized app, hiding it may be more common.)
Idea [4] put previous/next desktop icons in the topleft, topright of the top panel- a little like E16 window-manager
idea [5] generally turn the window-title into a dropdown-list of all open windows , as another form of workspace switching
Quick Solution,Idea [1] Put "Workspace Switcher" inplace of the trashcan. The trashcan is rarely used (cleanup), wheras workspace-switcher is hugely useful to see an overview and manage current tasks. Put the trashcan as part of the scrollable launcher list.
ubuntus' "Workspace Switcher" should be in the corner just like Windows' "show-desktop"
[1.1] make the "Workspace Switcher" respond to scrollwheel events (prev/next desktop), when its in the corner
Idea [2]make the top-left and bottom right of the launcher special locations where the user can dock any item
Idea [3] remove the 'close,minimise,maximize' buttons from the top for a maximized application - replace with Window Menu ,or a drop-down window-list - (you rarely want to close the maximized app, hiding it may be more common.)
Idea [4] put previous/next desktop icons in the topleft, topright of the top panel- a little like E16 window-manager
idea [5] generally turn the window-title into a dropdown-list of all open windows , as another form of workspace switching
Solution #2:
make clicks on hotcorners configurable events
Written by
ceti331 the 5 Mar 13 at 19:38.
Put additional hooks for clicks in the screen corners
see amiwm, windows8 and pekWM for inspiration (although pekwm uses screen-edges).
"amiwm"& win8 uses clicks in the topright to switch desktops.
if the user could bind this to any function it would help.
Put additional hooks for clicks in the screen corners
see amiwm, windows8 and pekWM for inspiration (although pekwm uses screen-edges).
"amiwm"& win8 uses clicks in the topright to switch desktops.
if the user could bind this to any function it would help.
Solution #3:
Allow user to specify icons at the bottom of the Launcher
At the moment, the bottom of the Launcher is a special area, which contains only the Trash.
Allow the user to decide which icons go there (only the Trash by default). So:
The bottom of the Launcher would become similar to the top, where:
* You can move icons to the bottom (from the top);
* Move icons from the bottom (to the top);
* Unlock icons;
* Change the order of the icons.
I would suggest that a separator be placed between the top and bottom parts to make them clearly distinguishable from each other.
At the moment, the bottom of the Launcher is a special area, which contains only the Trash.
Allow the user to decide which icons go there (only the Trash by default). So:
The bottom of the Launcher would become similar to the top, where:
* You can move icons to the bottom (from the top);
* Move icons from the bottom (to the top);
* Unlock icons;
* Change the order of the icons.
I would suggest that a separator be placed between the top and bottom parts to make them clearly distinguishable from each other.
Shifting between the opened window by hovering over the unity icon
Written by mayanksuman the 4 Apr 13 at 10:32.
New
When hovering over an app icon in unity sidebar small screenlets (small screenshot of window) of all opened windows appear and user can choose whichever window he want by clicking on respective screenlet. The screenlets list should disappear as soon as the mouse pointer leave it (Just like Windows or cairo dock).