My Gemini had been living in a drawer and Covid downtime made me haul it out and do a Gemian-only install. All my thanks to the wonders of Adam Boardman and his fine veteran collaborators, and another shout-out to geminifrench, whose excellent tutorial got me up and running. Below are some tweaks and workarounds that have helped make my install work very well:
CONKY:
Necessary files:
conky-all,
calcurse. I run two conkys: one to display the current calendar, the other to use calcurse to show the next two weeks of my google calendar events. If your *.ics calendar is non-google, local, etc, then this command is fine for extracting events:
calcurse -i /home/gemini/yourcalendar.ics
In conky, this command displays the next 14 days of your *.ics events (-r14 can be modified to the number of days needed):
calcurse -a -r14
Stretch’s conky is buggy, so if not properly situated, your calendar print-out will be jumbled or misaligned. Use a monospace font. Disproportionate TTFs (i.e. Arial, Deja Sans, etc) often won’t display calendar rows correctly. The font problems are why it’s best to run the calendar separately and experiment with inserting spaces before the actual calendar command:
CALENDAR EDIT #1: installing
gcal and using gcal in place of cal (eg: $alignc${font Hack:style=Bold:size=13}${exec gcal} appears to alleviate formatting issues and exact positioning of the calendar on the desktop no longer seems necessary]
.conkyrc1:
conky.config = {
alignment = 'middle_middle',
background = false,
border_width = 1,
double_buffer = true,
cpu_avg_samples = 2,
default_color = 'white',
default_outline_color = 'white',
default_shade_color = 'white',
draw_borders = false,
draw_graph_borders = true,
draw_outline = false,
draw_shades = false,
use_xft = true,
font = 'DejaVu Sans:style=bold:size=14',
gap_x = -150,
gap_y = -300,
minimum_height = 5,
minimum_width = 5,
net_avg_samples = 2,
no_buffers = true,
out_to_console = false,
out_to_stderr = false,
extra_newline = false,
own_window = true,
own_window_class = 'Conky',
own_window_type = 'override',
own_window_hints = 'undecorated, below,sticky,skip_taskbar,skip_pager',
own_window_colour = '000000',
stippled_borders = 0,
update_interval = 1.0,
uppercase = false,
use_spacer = 'none',
show_graph_scale = false,
show_graph_range = false
}
conky.text = [[
$alignc${font Hack:style=Bold:size=13}${exec cal}
]]
.conkyrc2:
conky.config = {
alignment = 'top_right',
background = false,
border_width = 1,
double_buffer = true,
cpu_avg_samples = 2,
default_color = 'white',
default_outline_color = 'white',
default_shade_color = 'white',
draw_borders = false,
draw_graph_borders = true,
draw_outline = false,
draw_shades = false,
use_xft = true,
font = 'DejaVu Sans:style=bold:size=14',
gap_x = 5,
gap_y = 5,
minimum_height = 5,
minimum_width = 5,
net_avg_samples = 2,
no_buffers = true,
out_to_console = false,
out_to_stderr = false,
extra_newline = false,
own_window = true,
own_window_class = 'Conky',
own_window_type = 'override',
own_window_hints = 'undecorated, below,sticky,skip_taskbar,skip_pager',
own_window_colour = '000000',
stippled_borders = 0,
update_interval = 1.0,
uppercase = false,
use_spacer = 'none',
show_graph_scale = false,
show_graph_range = false
}
conky.text = [[
$alignc${time %B %-d, %-I:%M%P}
${execi 3600 calcurse -a -r14}
]]
The “override” command will keep conky visible when clicking the desktop, but “show desktop” will make conky disappear. My workaround is to make ALT+4 a shortcut to “minimize window” and use that rather than “show desktop”
To run conkys that will display the current month and your google events, this script will restart conkys, clear out your calcurse appts (or you’ll have double appts), download your public calendar to /home/gemini/basic.ics (basic.ics must already exist in your directory), and start both conkys. The sleep commands give time for the desktop to load at boot:
#!/bin/sh
sleep 7
killall conky
sleep .5
rm ~/.calcurse/apts
sleep .5
wget --no-check-certificate -nH -rK https://www.google.com/calendar/ical/YOUR_PUBLIC_GOOGLE_CALENDAR_WEB_ADDRESS/basic.ics -O /home/gemini/basic.ics
sleep 5
calcurse -i /home/gemini/basic.ics
sleep 1
conky -q -c /home/gemini/.conkyrc1 &
conky -q -c /home/gemini/.conkyrc2
CALENDAR EDIT #2: Now that I've had a chance to explore the great home-brewed Gemian PIM apps, I now see that
gka-calendar-qt uses the ical format. So if you modify the wget to send a web ics calendar to gka-calendar-qt's default directory, your entire calendar is at your disposal:
wget --no-check-certificate -nH -rK https://www.google.com/calendar/ical/YOUR_PUBLIC_GOOGLE_CALENDAR_WEB_ADDRESS/basic.ics -O /home/gemini/.local/share/evolution/calendar/system/calendar.ics
WIFI:
For some reason, my gemian boots with wifi off and bluetooth on. In sessions/autostart, I reverse this:
connmanctl enable wifi
connmanctl disable bluetooth
To toggle wifi, I found this great script, and my apologies for being unable to cite its author:
#!/bin/sh
if connmanctl state | grep online
then
connmanctl disable wifi
else
connmanctl enable wifi
fi
exit 0
The toggle script can be keystroked in Preferences/LXQT settings/Shortcut Keys
[Does anyone know how to modify this script to toggle bluetooth?]
USING VLC WITH KEYBOARD:
Regardless of the media player, I found that none of them would respond to the media/volume keys unless the media player was the active window. After installing
wmctrl and
xdotool, a script can bring up a minimized
VLC, send a command such as “pause” or “next song,” then re-minimize VLC (I have not yet made these send-commands work with SMPlayer, but VLC uses about the same amount of CPU)
For example:
#!/bin/sh
wmctrl -a "VLC"
sleep .5
xdotool key space
sleep .5
xdotool getactivewindow windowminimize
“space” is VLC’s own command to play/pause. Other VLC-specific commands: p=previous song; n=next song. For volume control, I simply use:
#!/bin/sh
wmctrl -a "VLC"
which brings up a minimized VLC, and from there, VLC’s own volume keys—control-up and control-down—will work, then (if set as your own shortcut), ALT+D will minimize VLC after volume adjustment
BROWSING:
For quick browsing, I prefer
Links2. This script will start Links2 in graphics mode, and send an “s” to bring up the bookmark menu:
#!/bin/sh
xlinks2 &
sleep 1.5
xdotool key s &
UPTIME/BATTERY/WEATHER:
After installing
libnotify-bin, this script will send out a bubble with your uptime, battery, and weather, and can be keystroked in Shortcuts if needed:
#!/bin/sh
notify-send " up: $(uptime | sed 's/^.\+up\ \+\([^,]*\).*/\1/g') batt: $(cat /sys/class/power_supply/battery/device/power_supply/battery/uevent | grep -m 1 'POWER_SUPPLY_CAPACITY' | cut -c23-25)%" "$(curl -s http://rss.accuweather.com/rss/liveweather_rss.asp\?metric\=${METRIC}\&locCode\=20902 \ | sed -n '/Currently:/ s/.*: \(.*\): \([0-9]*\)\([CF]\).*/\2°\3 \1/p')"
United States users can simply substitute my zipcode of “20902” for their own—I have yet to figure out how to use the locCode for other countries. Please advise if you know
Ditto about how to put the temperature into Celsius
ROOT FILEMANAGER:
I prefer a GUI for root stuff.
PCMANFM is buggy and won’t permit root (at least not for me), so I install
Thunar, which does allow a rooted file manager, and is lightweight in terms of additional dependencies, but unfortunately uses very small text
EDIT: See
WORKING WITH SMALL-FONT APPLICATIONS for Thunar dpi workaround
KEYBOARD MAPPING:
I have remapped keys for my US keyboard, making a true quote/doublequote key in place of the pipe/backslash key (pipe/backslash are brought up by fn combinations). If anyone is interested, I can post the gemini kb, which goes in /usr/share/X11/xkb/symbols/planet_vndr I also have this remapping in .apk, which works in both Gemini and Cosmo Android
Again, all my gratitude to those Linux folks that have been so helpful, and to Varti, who makes this forum happen.
Jake