Author Topic: Keyboard-friendly Linux desktop?  (Read 4435 times)

depscribe

  • Sr. Member
  • ****
  • Posts: 254
    • View Profile
Keyboard-friendly Linux desktop?
« on: March 22, 2018, 02:59:27 pm »
For giggles today I pulled out an old Acer netbook and put Stretch and LXQT on it, to sort of simulate what we're promised on the Gemini. I had forgotten how thoroughly I hate trackpads, and the Gemini screen is effectively a trackpad that you can't see well when your fingers are blocking it. So first thing, I think, will be to replace LXQT and maybe the window manager with something that can pretty much entirely be navigated from the keyboard. I know that Adam Boardman and The Kit have been working on keyboard-friendly applications. Is there a keyboard-friendly desktop?
dep

Atari Portfolio (yes, it still works and yes, I bought it new)
Libretto 110 CT (with docking station and all kinds of PCMCIA stuff)
And, now, a Gemini and, fortunately, a GPD Pocket

greguu

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 455
    • View Profile
    • http://github.com/greguu
Keyboard-friendly Linux desktop?
« Reply #1 on: March 22, 2018, 04:19:00 pm »
Quote from: depscribe
For giggles today I pulled out an old Acer netbook and put Stretch and LXQT on it, to sort of simulate what we're promised on the Gemini. I had forgotten how thoroughly I hate trackpads, and the Gemini screen is effectively a trackpad that you can't see well when your fingers are blocking it. So first thing, I think, will be to replace LXQT and maybe the window manager with something that can pretty much entirely be navigated from the keyboard. I know that Adam Boardman and The Kit have been working on keyboard-friendly applications. Is there a keyboard-friendly desktop?

not a desktop, but as a basic windowmanger i3wm or sway (on wayland) would be my choice. qutebrowser is not too bad. where applicable, use console programs instead, all feature keyboard shortcuts. trade-off would be the loss of touch screen support (on the gemini for example). Performance would be pretty good and memory usage would be way lower than using a full DE.
also a tiling window manager may be a good choice as you do not need to resort to a mouse or touch screen to shift windows around. (although most desktops feature shortcuts for these actions). adjusting i3wm or sway to scale properly should be possible, however I have not had a chance to test it on the gemini.
Gemini-PDA (Sailfish X and Android) / LG Nexus 5 (Android 11) / Nokia N9 (MeeGo/Harmattan)
Sharp Zaurus C3100 (Borzoi) - Void Linux (voidz) Kernel 5.0.0 - Hardware (Buffalo CF LAN, DLink 660 CF WiFi, ASIX AX88772 USB Ethernet)

depscribe

  • Sr. Member
  • ****
  • Posts: 254
    • View Profile
Keyboard-friendly Linux desktop?
« Reply #2 on: March 22, 2018, 04:42:28 pm »
Quote from: greguu
not a desktop, but as a basic windowmanger i3wm or sway (on wayland) would be my choice. qutebrowser is not too bad. where applicable, use console programs instead, all feature keyboard shortcuts. trade-off would be the loss of touch screen support (on the gemini for example). Performance would be pretty good and memory usage would be way lower than using a full DE.
also a tiling window manager may be a good choice as you do not need to resort to a mouse or touch screen to shift windows around. (although most desktops feature shortcuts for these actions). adjusting i3wm or sway to scale properly should be possible, however I have not had a chance to test it on the gemini.

I just put the Awesome WM/desktop on a netbook here. Interesting. Configuring it will be a little slice of hell, probably, but it's promising.
dep

Atari Portfolio (yes, it still works and yes, I bought it new)
Libretto 110 CT (with docking station and all kinds of PCMCIA stuff)
And, now, a Gemini and, fortunately, a GPD Pocket

Lyall Pearce

  • Newbie
  • *
  • Posts: 41
    • View Profile
Keyboard-friendly Linux desktop?
« Reply #3 on: March 23, 2018, 11:51:03 pm »
I use Fluxbox Window Manager, not on the Gemini, but my home Gentoo Linux.
It's lightweight, simple, keyboard config as simple as editing ~/.fluxbox/keys, which I can supply, if requested.
...Lyall

jornada720

  • Jr. Member
  • **
  • Posts: 99
    • View Profile
Keyboard-friendly Linux desktop?
« Reply #4 on: March 24, 2018, 09:23:00 am »
The KDE window manager, KWin, is actually very keyboard friendly. Almost all of its dozens of features can be bound to keystrokes. It's got the flexibility to be a conventional wm when you want it as well and it can be configured via GUI.

KWin can be used with any other desktop environment as well. For low memory usage, I pair it with XFCE and the memory size is less than 300 MB.

For the bare minimum, you could run just KWin and xfdesktop, the XFCE background displayer. Gives you a great WM plus a desktop applications menu for launching.

terryowen

  • Newbie
  • *
  • Posts: 19
    • View Profile
Keyboard-friendly Linux desktop?
« Reply #5 on: April 06, 2018, 07:41:16 am »
Quote from: jornada720
For the bare minimum, you could run just KWin and xfdesktop, the XFCE background displayer. Gives you a great WM plus a desktop applications menu for launching.
That was very useful, thank you. Looking forward to trying this with my Gemini.

Isaac

  • Jr. Member
  • **
  • Posts: 58
    • View Profile
Keyboard-friendly Linux desktop?
« Reply #6 on: May 10, 2018, 06:30:37 pm »
On my linux laptop I run XFCE4 + i3 with a pretty heavily customized setup. I think this would work well on a Gemini though I haven't tried to install it there yet.

Basically to make this work you just install i3 and XFCE from apt-get, then boot into i3 after adjusting the config.

My config for i3 is below if you want to try it. The XFCE part is the last few lines where it starts various services, the rest of the config just makes things more comfortable for me.

[div class=\'codetop\']CODE[/div][div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\']# Windows key (probably doesn't work on Gemini)
set $mod Mod4

font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1

# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod

# start a terminal
#bindsym $mod+Return exec i3-sensible-terminal
bindsym $mod+Return exec gnome-terminal
bindsym $mod+M exec mygtkmenu-xdg

# kill focused window
bindsym $mod+Shift+q kill

# start dmenu (a program launcher)
bindsym $mod+d exec dmenu_run
# There also is the (new) i3-dmenu-desktop which only displays applications
# shipping a .desktop file. It is a wrapper around dmenu, so you need that
# installed.
# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop

# change focus
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right

# alternatively, you can use the cursor keys:
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right


# alternatively, you can use the cursor keys:
bindsym $mod+ISO_Level3_Shift focus left
bindsym $mod+Super_R focus down
bindsym $mod+Print focus up
bindsym $mod+Pause focus right

# move focused window
bindsym $mod+Shift+h move left
bindsym $mod+Shift+j move down
bindsym $mod+Shift+k move up
bindsym $mod+Shift+l move right

# alternatively, you can use the cursor keys:
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right

# alternatively, you can use the cursor keys:
bindsym $mod+Shift+ISO_Level3_Shift move left
bindsym $mod+Shift+Super_R move down
bindsym $mod+Shift+Sys_Req move up
bindsym $mod+Shift+Break move right

# split in horizontal orientation
bindsym $mod+semicolon split h

# split in vertical orientation
bindsym $mod+v split v

# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen toggle

# change container layout (stacked, tabbed, toggle split)
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split

# toggle tiling / floating
bindsym $mod+Shift+space floating toggle

# change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle

# focus the parent container
bindsym $mod+a focus parent

# focus the child container
#bindsym $mod+d focus child

# switch to workspace
bindsym $mod+1 workspace 1
bindsym $mod+2 workspace 2
bindsym $mod+3 workspace 3
bindsym $mod+4 workspace 4
bindsym $mod+5 workspace 5
bindsym $mod+6 workspace 6
bindsym $mod+7 workspace 7
bindsym $mod+8 workspace 8
bindsym $mod+9 workspace 9
bindsym $mod+0 workspace 10

# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace 1
bindsym $mod+Shift+2 move container to workspace 2
bindsym $mod+Shift+3 move container to workspace 3
bindsym $mod+Shift+4 move container to workspace 4
bindsym $mod+Shift+5 move container to workspace 5
bindsym $mod+Shift+6 move container to workspace 6
bindsym $mod+Shift+7 move container to workspace 7
bindsym $mod+Shift+8 move container to workspace 8
bindsym $mod+Shift+9 move container to workspace 9
bindsym $mod+Shift+0 move container to workspace 10

bindsym $mod+Ctrl+Up move workspace to output up
bindsym $mod+Ctrl+Down move workspace to output down
bindsym $mod+Ctrl+Left move workspace to output left
bindsym $mod+Ctrl+Right move workspace to output right

#bindsym $mod+Esc level up
bindsym $mod+U forcus parent

# reload the configuration file
bindsym $mod+Shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+r restart
# exit i3 (logs you out of your X session)
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'Do you really want to end your session?' -b 'Yes, exit i3' 'i3-msg exit'"

# resize window (you can also use the mouse for that)
mode "resize" {
      # These bindings trigger as soon as you enter the resize mode

      # Pressing left will shrink the window’s width.
      # Pressing right will grow the window’s width.
      # Pressing up will shrink the window’s height.
      # Pressing down will grow the window’s height.
      bindsym h resize shrink width 10 px or 10 ppt
      bindsym j resize grow height 10 px or 10 ppt
      bindsym k resize shrink height 10 px or 10 ppt
      bindsym l resize grow width 10 px or 10 ppt

      # same bindings, but for the arrow keys
      bindsym Left resize shrink width 10 px or 10 ppt
      bindsym Down resize grow height 10 px or 10 ppt
      bindsym Up resize shrink height 10 px or 10 ppt
      bindsym Right resize grow width 10 px or 10 ppt

      # same bindings, but for the arrow keys
      bindsym ISO_Level3_Shift resize shrink width 10 px or 10 ppt
      bindsym Super_R resize grow height 10 px or 10 ppt
      bindsym Print resize shrink height 10 px or 10 ppt
      bindsym Pause resize grow width 10 px or 10 ppt

      # back to normal: Enter or Escape
      bindsym Return mode "default"
      bindsym Escape mode "default"
}

bindsym $mod+r mode "resize"

# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
bar {
#   tray_output eDP1
   #status_command i3status
   status_command $HOME/.tools/i3-conky.sh
}

for_window [class="URxvt"] floating enable
for_window [class="Gtkdialog"] floating enable
for_window [class="Xdialog"] floating enable
for_window [class="gtkdialog-splash"] floating enable
for_window [class="Wine"] floating enable
for_window [class="Python" instance="python" title="PlayOnLinux"] floating enable
for_window [class="Wine" instance="ResophNotes.exe"] floating disable
for_window [class="Wine" instance="AbsoluteTelnet.exe"] floating disable
for_window [class="Wine" instance="AbsoluteTelnet.exe" title="Open"] floating enable
for_window [class="Wine" instance="AbsoluteTelnet.exe" title="Save As"] floating enable
for_window [window_role="pop-up"] floating enable
#for_window [title="Whisker Menu"] floating enable border pixel 1
for_window [class="Wrapper-1.0"] floating enable border pixel 1
for_window [class="Xfce4-notifyd"] floating enable border pixel 1
for_window [class="Plasma-desktop"] floating enable border pixel 1

for_window [class="exile3"] floating enable
for_window [class="Pwallpaper"] floating enable
for_window [instance="pupdialog_exec"] floating enable
for_window [instance="xfce4-mixer"] floating enable
for_window [title="Calculator"] floating enable
for_window [title="gtkcalc"] floating enable


for_window [title="Connection Properties"] floating enable
for_window [title="Uploading..."] floating enable
for_window [title="Allow Close While Connected"] floating enable
for_window [title="Save on Exit"] floating enable
for_window [title="New host Identified"] floating enable
for_window [title="Enable UTF8 Translation"] floating enable
for_window [title="Color"] floating enable
for_window [title="SSH: Forwarding Setup"] floating enable
for_window [title="SSH: Port Forwarding"] floating enable
for_window [title="Buddy List"] floating enable
for_window [title="XAMPP 5.6.14-4"] floating enable

# Mostly for thunderbird, may also catch other
# apps (which would be good)
for_window [window_role="addressbook"] floating enable
for_window [window_role="Preferences"] floating enable
for_window [window_role="preferences"] floating enable
for_window [window_role="settings"] floating enable
for_window [window_role="About"] floating enable
for_window [window_role="about"] floating enable
for_window [window_role="EventDialog"] floating enable

exec --no-startup-id xfsettingsd --sm-client-disable &
exec --no-startup-id xfce4-volumed  &
exec --no-startup-id xsetroot -solid "#333333"
exec --no-startup-id nitrogen --restore
exec --no-startup-id sleep 3 && xfce4-power-manager
exec --no-startup-id xfce4-panel --disable-wm-check
exec --no-startup-id nm-applet
# Change to your synergy server IP
exec --no-startup-id synergyc 192.168.1.64[/div]
« Last Edit: May 10, 2018, 06:32:27 pm by Isaac »