dragora-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Dragora-users] microde: The ides behind it for your feedback.


From: kelsoo
Subject: [Dragora-users] microde: The ides behind it for your feedback.
Date: Sun, 13 Nov 2016 10:30:27 -0800

Hi list:

Were getting close to D3 and need a desktop!

I would like some honest feedback about microde. We don't have all the
packages pre-built yet so until that happens I'd like you to read the
theory behind it first.

I understand it may not be every ones cup of tea, but don't be shy as I'm
more interested in honest an honest critique than anything else.


* Microde: Overview.  2016-11-13

Microde is an attempt at a creating a logical light-weight and modular
desktop using existing application configured in a way that they
complement each other. It looks at common issues and attempts to solve
them.

That's what microde is all about really, doing all the hours of tweaking
config files that make it possible to run a small modular system that's
fully functional only  doing a few things from a terminal. By prefiguring
the technical settings the non-geek user can keep their older hardware
running quickly, allowing people that want to run a light weight libre
computing system but don't have the skills to do so.

microde tries to support keyboard, mouse, menus and run-dialog as ways to
launch applications.
To aide learning, there is much repetition of actions via as many methods
as practically possible.

microde uses a stacking window manager (openbox) rather than a tiling
widow manager. That's not to say a tiling window managers can't stack or a
stacking Wm can't tile be cause they can.

The issue with tiling window managers is they tile. Therefore depriving
you of large areas of the screen the exact opposite of what they're meant
to do. That in my opinion is a fail.

The issue with stacking window managers is they tend to expect you to
iconify and raise or move and resize them. That in my opinion is also a
fail.

What's needed is maximum window size of the currently active window while
still allowing the user to SEE what windows are open and on which
desktops. You only need to open and close windows unless your sending them
to another desktop.

A way to launch applications fast with out much thought. We use 20% of our
applications 80% of the time. That's easy to solve. It's the 75% we use
15% of the time that's a challenge and the 5% of applications we use 5% of
the time that we don't even know what they are that's the hard work.

A way to launch my commonly use applications and tasks and set the desktop
up automatically (autostart.sh in openbox)

A way to launch my commonly use applications and tasks without using a
menu and preferably just one click. (fittstool or tint2) or one action
(keyboard short cut)

A need a way to launch my less commonly use applications and tasks without
using a menu. preferably just two actions with either a keyboard short cut
(run-dialog >  runner)

A way to launch my menus if needed. I have 3 menus available, all appear
in the openbox menu, all of different types. Bookmarks menus of
rox-bookmarks, and a file-browser menu from obbrowser as well as the
openbox menu.

95%> of windows maximized. Not full screen, maximized.  Cycle between them
via scroll wheel over tint2 or Alt-Tab.

Raise or lower windows in the stack as needed by selecting the application
icon in tint2 or Ctl-F6 to raise the active window to the top of the stack
or CTL-F8 to lower it. No need to iconify anything.

Should it be needed, you can display two windows on the same
desktop/work-space by splitting the screen with windows either vertically
or horizontally. Via tint2 (place the cursor over icon for options),
fittstool (top right corner) or with Ctl-F10 and Ctl-F9.


What a window manager should do and why.

Able to be run with equal usability via keyboard and mouse

Be easy to configure via a well commented text file and have sane defaults

Config file can be reloaded during run time

You only need to open and close windows

Window decoration/tabs should be useful and not compulsory  it's nice to
switch them off on a per application basis or toggle them (I use alt-B for
this in openbox)

Mousing over a icon/tab should show the contents but not switch to it
(tint2).

Be able to set unmaximize for dialogs boxes and small applications like
calendars and calculators.

Be panel/task bar aware and not cover an active task-bar

Ability to choose or not display running applications in the pager or
task-bar

Be able to show all open applications and their icon/tabs across all
desktops. so the current active desktop is highlighted   (see kelsoos
tint2) Moving to a new desktop/work-space must not hide info of all other
desktops or open windows

You should never need to iconify a window it make no logical sense. If
your iconifying it's to see something that's hidden. Your not closing it
so intend to return to it. You should just start what it's hiding because
that just one action.

You should never need to move a window unless it's to another desktop. If
your moving it's to see something that's hidden. Your not closing it so
intend to return to it. You should just start what it's hiding because
that just one action.

Re-sizing windows is rarely needed if you run maximized. In general if
your re-sizing windows your desktop setup is failing. You should rarely
need to resize a window unless it's to split two windows on the same
desktop. Perhaps to read a file and whilst entering text into a terminal.

Alt-Tab aware across all desktops so it shows all running applications

You don't need desktop icons (if your active windows are maximized you
can't see them. Desktop icons are used to launch applications but it's not
a window managers job it's a run dialogs, menus or launchers job. Closing
or moving or re-sizing a window to launch an application is crazy.

iconifying makes no sense, if your iconifying it's to see something behind
the active window or because your not wanting to use it currently. In
either case you need to concentrate on what you do want to do, and do that
instead. Just raise what your wanting to do and the window your trying to
hid will just go down the stack.

The same goes for icons on the desktop. They make no sense. The desktop is
just a directory and the application to manage directories is a file
manager. It's the same number of actions to switch to your file manager as
it is to switch to the desktop, and as it will be maximized... enough
said.


I currently Drag n drop between windows via tint2. So if you have several
windows open you can select something be it a file or text and drag it to
another window via the tint2 across all desktops.

Be able to set a few pixel border for things like fittstool and desktop
scrolling via the mouse.

have  Dual monitor support

** keys

One area  where there is much repetition is the use of left, middle, right
mouse buttons.
Key:
Left-mouse-button = LMB
Middle-mouse-button = MMB
Right-mouse-button = RMB

** Core applications

Microde is based around 3 core applications each selected and configured
because of the features they offer and how well they complement one
another.  They are fittstool, openbox, and tint2 panel. Each of these core
applications has been tweaked to enhance it's capabilities with scripts
and additional small applications

** Fittstool:

https://github.com/jeanCarloMachado/fittstool

Microde uses fittstool as the launcher for most commonly accessed
applications.
Fittstool is based on fittslaw  https://en.wikipedia.org/wiki/Fitts's_law 
which calculates the fastest way to activate something. We use the cursor
and 8 compass points as targets. North (top), East (right), South
(bottom), West (Left) and the four corners. Northeast, Southeast,
Southwest, Northwest. Each area potentially having up to 9 launchers.
Available events are: LeftButton, RightButton, MiddleButton, WheelUp,
WheelDown, WheelUpOnce, WheelDownOnce, Enter, Leave.  This is 8x9= 72
possible action launchers.

I have tried to keep the number down to around 5 actions per compass point
area of the screen. Some are used to provide helper notifiers to aid new
users in learning which applications are launched and from where. Once
learnt you can comment out the notifiers in fittstoolrc.

In short fittstool provides the fastest launching with the least learning.

*** Reasoning, Why Maximized:

If we think about it logicality there is not much sense in running small
windows especially when screen real estate is so important. Use your
screen to the max. (unless it's massive) but most screens are as small as
we can get away with.

The problems with running maximized is you can't see other windows so we
need a method of letting the user know what windows are where it is. The
fastest way is to give you a small visual clue, hence we use tint2 as our
panel/tray/task-bar. It's small and needs no interaction bar looking.

Menus:
Menus tend to be slow  because you need to navigate  but easy as they give
feedback. microde uses obbrowser to provide a dynamically generated menu
that can self populate and still allow manual entries.

launchers:
Launchers are fast but use real estate unnecessarily. microde launchers
tend to be for utilities and in tint2.

Keyboard Shortcuts:
Keyboard Shortcuts are fast but require learning. microde includes many
short cuts for almost all actions.

Run dialogs:
Run dialogs are fast but require knowing what to type. microde uses runner
as it provides a full screen history of previously used commands or a
full-screen list of all possible commands. It can be launched via tint2
(RMB on clock), menu, or keyboard shortcut super+z.

*** launcher priority:

We use 10% of our available applications 90% of the time so they are the
one to concentrate on.

We  use fittstool because I get the benefit of launchers without the real
estate loss and I only have to learn the location of my most used
applications it's easy to learn. They’re just one click away and the
target area is easy to hit.

The other 90%  are 1 or 2 keyboard clicks away via short cuts or 3 clicks
away via a menu or run dialog.

** Tint2:

https://gitlab.com/o9000/tint2

Tint2 panel is configured to maximize space and also provides logical
launchers and notifiers similar to fittstool.  i.e LMB, MMB, RMB. and
notifiers when placing the cursor over panel items.

*** tint2 panel:
>From Left to right.
1. Add and remove desktop via a number icon that also indicates currently
active desktop
2. CPU load is displayed constantly to indicate if large applications are
launching or any runaway programs.  It is also a launcher for useful
terminal applications can be launched via left-mouse-button (LMB) Htop.
Middle-mouse-button (MMB) inxi. Right-mouse-button (RMB) Hwinfo.
3. Icon to Suspend (LMB), Shutdown (MMB), Reboot (RMB) as a normal user
without sudo via.
4. Net load also as a launcher LMB=ifconfig, MMB=speedtest, RMB=lftp to
the community repo
5. Window actions. LMB=split-v MMB=maximize RMB=split-h wheel-up=maximize
all windows wheel-down=minimize all windows
6. Desktops. 8 by default.  Red surround indicates active desktop.
Brightness indicates active window.
7. pager
8. Battery % and time remaining
9. Time and date. Mouseover gives Day, Week no, timezone. Launchers:
LMB=Alarm MMB=Calendar RMB=run-dialog

** Openbox:

http://openbox.org/wiki/Help:Contents

*** openbox pipe menus:

Openbox is a very configurable window manager but in 95% of cases it's not
used to it's fullest extent. It supports pipe menus and microde includes 4
by default.
1. rox-menu. A bookmarks menu for rox-filer preconfigured to allow quick
access to  default home directories and config files of microde
2. obbrowser. A very fast dynamic file browser that allows quick searching
and launching of user directories and files.
3. obmenu-generator. A very fast static or dynamic menu generator that
allows the user to mix both manual and dynamic settings.
4. ob-randr.py A menu to set monitor resolution and placement via randr.

*** openbox visual feedback

microde configures openbox to provides a visual feedback as to where and
what applications are launched and which is the currently active desktop
and currently active application on that desktop.

*** openbox windows

microde uses openbox to open most "normal" windows maximized by default so
as to reduce time unnecessarily moving and re-sizing windows windows and
give maximum real-estate on small screens. This means all windows open on
the same desktop are layered on top of one another in a stack. The active
(top) window is a brighter to differentiate it from all other windows.

There are several ways to access windows lower in the stack.
Main methods:
1. Select desired window via tint2 with the cursor. if you mouse over the
icon it displays window information.
2. Select via keyboard with Alt-Tab.
Other methods:
3. Send active window down the stack.
a. Ctl-F8 (this can be accessed via tint2 icon and fittstool also)

*** window splitting

To allow users to view two windows concurrently microde is configured to
allow window splitting of the last two accessed windows on the current
desktop both vertically and horizontally keys=CTL+F9, CTL+F10 CTL+F8 send
active window to bottom of the stack, CTL+F6 to raise and maximize the
active window (these features are also available via fittstool, tint2).

*** maximize - minimize

It also allows the user to maximize or minimize all open windows across
all desktops via key bindings and openbox menu (this feature is also
available via fittstool, tint2). When minimizing windows they return to
their last used minimize size.

*** Window placement

Microde also allows sending the active window to any compass point of N,
NE, E, SE, S, SE, W, NW, of the screen, moving, and re-sizing it to occupy
one quarter of the screen on the NE, SE, SW, NW positions and half the
screen on the N, E, S, W positions. The placement keys of the numbers keys
reflect their position on the screen. Alt-F1 9 would place the current
active window at a quarter size in the NE corner of the screen and alt-F1
6 would place the current active window maximized vertically in the E
(east) half of the screen. etc.

** File Management:

microde has two file managers by default! Why to you may ask and quite
rightly so on face value it does seem to fly in the face of YAGNI and
keeping things small and light.

They offer many completely different options. The key one being rox-filer
is a single panel file manager, Space is a multi-panel file manager with
tabs. They are used in completely different ways.

*** Rox-filer:

http://rox.sourceforge.net/Manual/Manual/Manual.html

Rox-filer is a fantastic file manager. Simple and easy to use but powerful
underneath. Being single pane it makes it really fast to see, and sort
your file especially when the directories are large. It also has great
options for image viewing (off by default) - or + to increase thumbnail
size.

Running maximized is all good until you need to use a single pane
file-manager like Rox-filer and want to compare two windows. This is where
window-splitting comes in.

If I say want to move a file. I open rox (top left corner lmb)  navigate
to the file. Select it and drag it to it's destination via the home icon
and either the up icon or down through the directories.  (you set spring
open in options)

If I have many files to move my solution is to open 2 rox windows (1.
Select blank desktop 2.top left corner lmb double click) navigate to the
directories then drag the file to the other rox window via tint2 panel

In openbox I open 2 rox windows (My choices in speed order). top left
corner lmb double click  or via CTL+r or from rox bookmarks (this has the
added advantage of instant navigation if you moving files) or from rox
menu or run dialog or  openbox menu. When open I can then split the
maximized windows via CTL+F10 or CTL+F9 move the files and close the
windows. alt+F4 is fastest for multiple window closures as you already
have you fingers on the keys.

*** Spacefm:

https://ignorantguru.github.io/spacefm/

The Key features of Space are it's external mounting capabilities whilst
not depending on dbus (udevil that can be use by rox-filer if required) .
It is multi windowed and each window can have many tabs. It has very good
queing feature while file copying.


Depends

    GTK+ v2 or v3 (2.18 thru 3.x supported)
    udev or eudev or HAL
    desktop-file-utils
    shared-mime-info

Optional:

    udevil or udisks or pmount
    startup-notification
    custom terminal emulators
    multiple su front-ends
    plugins

SpaceFM & udevil can be used completely without systemd, consolekit,
policykit, dbus, udisks, gvfs & fuse (although it can coexist with any of
these).
It also allows other file manager to take advantage of devmon/udevil so
mounting files without Space is fine also.

I just use it for mounting extracting archiving and have it remember it's
windows and set tabs. The disadvantage of this approach is when you want
to view a directory with many files.. To do that quickly takes longer than
a simple super+r or LMB top left to launch Rox.

The killer feature of Space is copy queing If you say copying 20 movies it
can cue them so if you run out of time and need to go or unmount you at
least get some of the files not loads of half copied ones.

Then when it's opened there will be a window with say a src tab and a
build tab etc, similarly for the other windows. A  films tab, torrents
tab, clips tab, etc on all four windows with each of the windows being
configured in way that best suits the user. It can then remember this
configuration.





** Using microde for the first time:

OK so you installed and booted in to you nice new shinny microde desktop
for the very first time and your really confused and wanting to
instinctively do something.

1. Like iconify. DON'T. Your using it wrong.    # If you've not finished
with a window just raise the new one you want.
2. Like move a window. DON'T. Your using it wrong. # Unless your moving it
to another desktop.
3. Like resizing a window. DON'T. Your using it wrong. # Unless your
splitting two windows on one desktop.

Tips:

1. You can have as many desktops as you need to stay organised.
2. Try and keep the number of open window per desktop to less than 4
3. If you want to split two windows on a desktop remember it's the last
two active windows that will split. Raise those windows then split them or
ensure they're the only windows on that particular desktop.
4. Use the tool tips. Once learnt they can be switched off.
5. The menu lists the keyboard short cuts.
6. Tutorial videos will be here:
https://goblinrefuge.com/mediagoblin/u/kelsoo/

############################

** scratch pad:


kelsoo





reply via email to

[Prev in Thread] Current Thread [Next in Thread]