Search This Blog

Wednesday, 6 April 2016

The best desktop in the world tbdtitw


 http://xahlee.info/linux/why_tiling_window_manager_sucks.html

A Challenge: Try This Workflow

Yuri, have you tried this. If you do, let me know how it compares, because am pretty sure tiling windows manager isn't needed.

• set up 4 function keys to switch to 4 of your most used app. ⁖ emacs, browser, terminal.
I only need 1 click
• set up 1 key to switch to last windows/app.
I only need 1 click
• set up 1 key to cycle windows within a app.
not required after my setup is implemented. I either set window sizes  per application, or scroll
• set up 1 key to toggle max/restore window size.
done but not required max/restore is not needed but occasional window splitting is included
• set up 1 key to close window.
done
• set up 2 keys to to switch prev/next tab.
I only need 1 function key
• set up 1 key to close tab.
done
• turn on auto-raise.
not required as I run maximized
• remove tiling manager.
not used
• set workspace to just 1.
No. Set to as many as needed. I use 8 by default because I group tasks via workspace/desktop. Browser and email are usually on the 1st desktop. torrents, server, mumble or utox on the 8th. The rest are used as needed but I rarely have more than 3 tasks on one workspace.  


Try the following workflow for a week. I'd be interested to know if you still think tiling windows great.
• remove tiling manager. Use a basic, normal, one, such as xfce, lxde, openbox.
DONE
• set workspace/virtual-screen to just 1. (and remove the tens of related keybindings)
I SETUP 8 DESKTOPS AS PER DEFAULT
• set up 3 function keys to switch to 3 of your most used app. ⁖ {F8, F9, F10} for {emacs, browser, terminal, …}. 〔➤see How to Set Key to Switch to Browser for {Microsoft Windows, Mac, Linux}〕
FITTSTOOL
• set up 1 key to switch to last window, such as F4. (this is normally【Ctrl+Tab ↹】. In xfce, can be done easily. In lxde/openbox, the problem is that it requires pressing Enter ↵ to “exit” the switch, similar to releasing Ctrl.)
MOUSE IN TINT2
• set up 1 key to cycle windows within a app. F3. (trivial to do in xfce. Harder in lxde/openbox.)
I DON'T NEED TO MOVE WINDOWS
• set up 1 key to toggle max/restore window size. F1
TOGGLE IN TINT2  (BUT i DON'T NEED IT AS I RUN MAXIMIZED AND DON'T NEED TO ICONIFY WITH MY SETUP)
• set up 1 key to close window. ➳ for example: F6 (must be 1 single key. 【Alt+F4】 is not good.)
RIGHT CLICK IN TINT2
• set up 1 key to to switch prev tab, and 1 key to to switch next tab. (i use {F11, F12})
MOUSE IN TINT2
• set up 1 key to close tab. For example, the pause/break key. 〔➤see What Does SysRq/ScrLk, Pause/Break Keys do?〕 (note: the prev/next tab key, and close tab key, should be next to each other. If you are using a full-sized PC keyboard with numberpad, best to use / * - 〔➤see How to set Number Keypad as Function Keys {Windows, Linux, Mac}〕 )
MOUSE IN TINT2
•turn on mouse hover auto-raise window. (not just focus, but raise.) 〔➤see Mouse Hover to Auto-Raise Window〕
I DON'T NEED IT AS I RUN MAXIMIZED AND DON'T NEED TO ICONIFY WITH MY SETUP)
• ban double-click. 〔➤see Single-click Open File {Windows, Linux}〕
SURE IF YOU WANT TO

note, these keys should be single press key, not a chord.

which key to set really depends on your keyboard. (i'm assuming you are on a full-sized keyboard, not laptop, as you shouldn't type on laptop keys for long periods.) For a normal PC keyboard, the best keys are likely to be all function keys. but if you use any of the batman keyboards, you have a lot options, such as putting them on thumb keys.

If you do have a keyboard with extra keys, remove ALL keybinding that involves holding a modifier. Remove them ALL. Never press a key combination. 〔➤see Banish Key Chords〕

if you don't know how to set keys for items i didn't give explicit instruction, see:

    Linux: Keyboard Tools for Key Layout, Keymapping, Keybinding ⌨
    Mac Keyboard Software Guide ⌨
    Windows: Keyboard Layout Tools, Key Macro Tools ⌨

###################### tbdtitw #########################################
The-best-desk-top-in-the-world   (probably)

I prefer a stacking window manager  (wm). That's not to say a tiling wm can't stack or a stacking wm can't tile be cause they can.

The issue I have with tiling wm's is they tile. Therefore depriving me of large areas of my screen. That in my opinion is a fail.

The issue I have with stacking wm's is they tend to expect you to iconify and raise or move and resize them. That in my opinion is a fail.

What I need is maximum window size while still allowing me to SEE what windows are open on which desktops.

I need a way to launch applications fast with out much thought. As the saying goes we use 20% of out 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.

I need a way to launch my commonly use applications and tasks and desktop setup automatically (autostart.sh in openbox)

I need a way to launch my commonly use applications and tasks without using a menu and preferably just one click. (fittstool)

I need a way to launch my less commonly use applications and tasks without using a menu. preferably just two clicks (bashrun2 or runner)

I need a way to launch my menus if I want them. I have 3 menus available. All of different types. Directory menus like rox-bookmarks and obbrowser, and  openbox menu for utilitys. I have fbpanel menu for launchers should I need it but it's rarely even started.

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

I raise or lower windows in the stack as needed by selecting the application icon in tint2 or Ctl-F8. I have no need to iconify them.

I can should I need to display two windows on the same desktop/work-space by splitting the screen with windows either vertically or horizontally on the odd occasions it's beneficial with Ctl-F10 and Ctl-F9.

I base my desktop around tint2 and fittstool and require the wm to do very little.

What a window manager should do and why.
In reality I'm describing most of what I do with openbox and tint2 and fittstool already :-)
It's just that they can do loads of the things that make no sense to me as well

    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

    Run all windows maximized by default (unless split or dialog boxes) so it's usable on all devices no matter what screen size.

    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 taskbar

    Ability to not display running applications in the pager or taskbar

    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/workspace 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.

Resizing windows is rarely needed if you run maximized. I general if your resizing windows your desktop setup is failing. You should never need to resize a window unless it's a split window and that should resize the other split window. 

    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 resizing a window to launch an application is crazy.

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.

    Dual monitor support

    Be copyleft GPL3/AGPL3 or later


###################### applications needed ############################
My Dragora set up.

Note this project is a moving target, it gets tweaked almost every day and I update this post monthly at best. 

I'll try and list all my packages so most of it works as per the videos!

video of it in action:  https://goblinrefuge.com/mediagoblin/u/kelsoo/m/tbdtitw/

I only have 32bit packages so if your on 64bit you may need to build them!

packages needed.

## openbox ##
Note after installing openbox as root you need run
"cp /etc/X11/xinit/xinitrc.icewm /etc/X11/xinit/xinitrc.openbox"
then "moe /etc/X11/xinit/xinitrc.openbox" and change "icewm-session" to "openbox-session"
then save the file with F2

to change window manager before loging in run "wmconfig"

## openbox ##

openbox 3.61
http://gungre.ch/dragora/repo/frusen/stable/openbox/openbox-3.6.1-x86_64-1.tlz  #64bit 
http://openbox.org/wiki/Openbox:Download

openbox menu items:
run (bashrun2)
runner
lilyterm
rox
rox-menu (bookmarks.py)
disk (obbrowser)
desktops
shortcuts
screen snaps (scrot)

settings:
obmenu (I'm not sure if I had to build a newer version! wmmv)
http://gungre.ch/dragora/repo/kelsoo/openbox-menu/openbox-menu-0.3.6.8-i486-1.tlz  #32bit
obconf (You need to build version obconf-2.0.4)
obkey https://github.com/nsf/obkey
reconfigure
restart
online help

composting:
xcompmgr
display settings:
zarfy
https://sourceforge.net/projects/zarfy/
http://gungre.ch/dragora/repo/kelsoo/zarfy/source/
http://gungre.ch/dragora/repo/kelsoo/zarfy/zarfy-0.1.0-i486-1.tlz  #32bit

calculator (included in fox-toolkit) http://gungre.ch/dragora/repo/kelsoo/fox/fox-1.6.50-i486-1.tlz  #32bit
help  (gtkman http://gungre.ch/dragora/repo/kelsoo/gtkman/gtkman-i486-1.tlz  #32bit)
Dragora home (Link to home page via icecat)
lock (lock screen) btrxtrlock
Note: rmb top centre locks the screen you get not clues except no mouse cursor. You can still see the screen action but notinteract with it until you enter your password. Hit Esc or return and type you user password to unlock. 
http://gungre.ch/dragora/repo/frusen/old-stable/btrxtrlock/btrxtrlock-20141030~git08444b-i486-1.tlz  #32bit
Note: you need to place the script  "btrxtrlock-wrapper" in /usr/local/bin/ for fittstool to use it

## leafpad ##
http://gungre.ch/dragora/repo/kelsoo/leafpad/leafpad-0.8.17-i486-1.tlz  #32bit

## screenshots ##

scrot options via openbox menu



## fbpanel ##

fbpanel
I like to have fbpanel in my openbox menu incase I want to start a dynamic menu. It hidden 15 pixels in from the top left so as to not interfere with fittstool
http://gungre.ch/dragora/repo/kelsoo/fbpanel/fbpanel-6.1-i486-1.tlz  #32bit

skippy-xd
I have skippy-xd in fittstool (top-left scroll-wheel).  Useful if you have many applications open on one desktop. It runs via a script to ensure only one instance as the daemon is said to be a bit buggy.

## fittstool ##

fittstool
http://gungre.ch/dragora/repo/frusen/stable/fittstool/fittstool-0.2-i486-1.tlz  #32bit
or
http://gungre.ch/dragora/repo/frusen/stable/fittstool/fittstool-0.2-x86_64-1.tlz  #64bit
read the config for tips! it a killer application

## fittstool features ##
rox, restart fittstool, spacefm
terminal, exit, lockscreen
browser, email, torrents
leafpad, geany, office
alsamixer, toggle volume, cplay, volume up, volume down
skippy-xd 
etc, etc

## skippy-xd ##





## tint2 and applications for all the bling to work as in kelsoo's video ##

tint2
https://gitlab.com/o9000/tint2
82b71ec5 Update changelog · about 11 hours ago by o9000
New stable release: 0.12.8
Note:you will need to install/build bwm-ng-0.6.1  before you build tint2

You will also need xdotool if you want add and remove desktop via selecting desktop number

xdotool
http://www.semicomplete.com/projects/xdotool/

I have included a 32bit version in the dottint2 directory
bwm-ng-0.6.1-i486-1.tlz   #32bit

gsimplecal
http://dmedvinsky.github.io/gsimplecal/
I have included a 32bit version in the dottint2 directory

lilyterm
http://lilyterm.luna.com.tw/
http://gungre.ch/dragora/repo/kelsoo/lilyterm/lilyterm-0.9.9.2-i486-1.tlz  #32bit

inxi
https://github.com/smxi/inxi
Note: Need lilyterm started first. I run weechat-curses in lilyterm so it's always started
htop
http://gungre.ch/dragora/repo/frusen/old-stable/htop/htop-1.0.2-i486-2.tlz  #32bit
or
http://gungre.ch/dragora/repo/frusen/old-stable/htop/htop-1.0.2-x86_64-2.tlz  #64bit
Note: Need lilyterm started first.  I run weechat-curses in lilyterm so it's always started

speedtest-cli:
 https://github.com/sivel/speedtest-cli

## tint2 features ##

Visual feed back on all running applications at all times.
Visual feed back on time, date, cpu usage, net usage at all times. 
Visual feed back on which application is active on which desktop at all times.

One click or drag:
calendar
moving windows to other desktops
add and remove desktops  via lmb on desktop number

access to menus while windows maximized
access to run dialog  lmb on clock bashrub2
access to calendar  mmb on clock gcalsimple
access to run dialog  rmb on clock runner

started from tint lmb on cpu: htop
started from tint mmb on cpu: lxterm
started from tint rmb on cpu: inxi
started from tint lmb on Net: ifconfig
started from tint mmb on Net:lftp
started from tint rmb on Net: speedtest

## file managers ##

rox-filer
http://gungre.ch/dragora/repo/frusen/old-stable/rox/rox-2.11-i486-2.tlz  #32bit
or
http://gungre.ch/dragora/repo/frusen/old-stable/rox/rox-2.11-x86_64-2.tlz  #64bit

SpaceFM 1.0.5
http://gungre.ch/dragora/repo/frusen/stable/spacefm/spacefm-1.0.5-i486-1.tlz  #32bit
or
http://gungre.ch/dragora/repo/frusen/stable/spacefm/spacefm-1.0.5-x86_64-1.tlz  #64bit

## auto mounting ##

udevil
http://gungre.ch/dragora/repo/frusen/stable/udevil/udevil-0.4.4-i486-1.tlz  #32bit
or
http://gungre.ch/dragora/repo/frusen/stable/udevil/udevil-0.4.4-x86_64-1.tlz  #64bit

## run dialogs ##

bashrun2
http://gungre.ch/dragora/repo/kelsoo/bashrun2/bashrun2-0.2.3-i486-1.tlz  #32bit

runner
http://www.boomerangsworld.de/cms/tools/runner

## Themes ##

GTK gartoon
http://gnome-look.org/content/show.php/Gartoon+Redux?content=74841

openbox
a kelsoo remix called
Onyx-lessr-red
I have included a version in the openbox directory
put it in ~/.themes

## scripts ##
scripts live in

~/.openbox/scripts/

for the dynamic filebrowser obbrewser to work in openbox menu see here

https://github.com/trizen/obbrowser

For the rox bookmarks be in the openbox menu you need to enable
bookmarks.py

see http://openbox.org/wiki/Openbox:Pipemenus
http://icculus.org/openbox/pipemenus/bookmarks.py

the included directorys (openbox, fittstool, tint2, and fbpanel)  need to be placed in the hidden  ~/.config  directory  ctl+h in your home directory to see it

## helper wallpaper ##



## cursors ##

I install comix cursor

from here

http://gnome-look.org/content/show.php/ComixCursors?content=32627

 pics:
 http://oswaldkelso.blogspot.co.uk/2016/03/dragoraman.html
 less refined version
 http://oswaldkelso.blogspot.co.uk/2016/03/the-best-desktop-setup-in.html

For the short cut lovers tbdtitw work fine as well

 Launcher    shortcuts          
              
W+a    Gogglesmm    (Audio)    gogglesmm  
W+b    nessie    (Browser)    seamonkey  
W+c    Claws-mail        clawsmail  
W+d    Dillo2            dillo  
W+e    fxitE            fxite  
W+f    (gFtp)            gftp  
W+g    Gimp            gimp  
W+h    Composer    (Html)    seamonkey    -edit
W+i    Inkscape        inkscape  
W+j    (rename-files)        ThunarBulkRename  
W+k    gtKam            gtkam  
W+l    Leafpad            leafpad  
W+m    Mplayer            gmplayer  
W+n    Netsurf            netsurf  
W+o    (LOwriter)        lowriter  
W+p    Pidgin            pidgin  
W+q    (geeQie)        geeqie  
W+r    Rox-filer        rox  
W+s    spacefm            spacefm  
W+t    Terminal        lilyterm      
W+u    (aUdacity)        audacity      
W+v    utox            utox      
W+w    Wicd            wicd-gtk      
W+x    Xkill            xkill      
W+y    (transmission)        transmission-gtk      
W+z    Run        dialog    bashrun2  
W+1    maximize    all    maxon  
W+2    un-maximize    all    maxoff  



Keybindings for window splitting:                      
Ctl+F8    send    to bottom of stack              
Ctl+F9    split    windows    vert                      
Ctl+F10    split    windows    horiz  
                  
Keybindings for menus:                          
Alt+z    the    openbox    menu                      
Alt+x    the    desktops menu                      
Alt+c    the    window    menu
                      
Keybindings for    windows:                          
Alt+Tab        Tab through all    open windows to    the left
Alt+Shift+Tab    Tab through all    open windows to    the right  
Alt+F4        Quit    active    window                      
Alt+f        Toggle    Maximize                   
Alt+b        Toggle    window bar                  
Alt+i        iconify    current    window                  
Alt+d        Toggle    show-desktop                      
Alt+r        Resize    the current window Arrow keys return
Alt+m        Move    the current window to Center          
Alt+Escape    send    current    window to bottom of the stack

Keybindings for desktop switching:                      
Alt+Ctl+Left_Arrow     send to    desktop    on the left      
Alt+Ctl+Right-Arrow    send to    desktop    on the right
          
Keybindings for moving an active window to another desktop:  
Alt+Shift+Right-Arrow    move active window to desktop on the right  
Alt+Shift+Left-Arrow    move active window to desktop on the left
  
Keybindings to add-remove a desktop:                  
Alt+F12    Add    New Desktop    in Current position          
Alt+F11        Remove    Current    Desktop