From aa975a0ffa97b457018d05ad6ab872254dad3899 Mon Sep 17 00:00:00 2001 From: Ian Kelling Date: Tue, 16 Apr 2024 02:06:17 -0400 Subject: [PATCH] add a few tiny scripts --- fehs | 26 ++++++++++++++++++++++++++ g | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ g2 | 25 +++++++++++++++++++++++++ 3 files changed, 100 insertions(+) create mode 100755 fehs create mode 100755 g create mode 100755 g2 diff --git a/fehs b/fehs new file mode 100755 index 0000000..3a6440c --- /dev/null +++ b/fehs @@ -0,0 +1,26 @@ +#!/bin/bash +# I, Ian Kelling, follow the GNU license recommendations at +# https://www.gnu.org/licenses/license-recommendations.en.html. They +# recommend that small programs, < 300 lines, be licensed under the +# Apache License 2.0. This file contains or is part of one or more small +# programs. If a small program grows beyond 300 lines, I plan to switch +# its license to GPL. + +# Copyright 2024 Ian Kelling + +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at + +# http://www.apache.org/licenses/LICENSE-2.0 + +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +# -Z = auto zoom +# -F = full screen +feh --auto-rotate -FZ "$@" diff --git a/g b/g new file mode 100755 index 0000000..199b8ad --- /dev/null +++ b/g @@ -0,0 +1,49 @@ +#!/bin/bash +# I, Ian Kelling, follow the GNU license recommendations at +# https://www.gnu.org/licenses/license-recommendations.en.html. They +# recommend that small programs, < 300 lines, be licensed under the +# Apache License 2.0. This file contains or is part of one or more small +# programs. If a small program grows beyond 300 lines, I plan to switch +# its license to GPL. + +# Copyright 2024 Ian Kelling + +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at + +# http://www.apache.org/licenses/LICENSE-2.0 + +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + + +# note: starting emacs server can hang due to errors in init files +# which don't cause problems for non-server emacs. And things +# that aren't errors can cause hang too, like when I added gnus +# git to load path. + +# I was experimenting with running +# under gdb always to diagnose any hangs/crashes +# and it won't work due to a gdb crash: +# gdb -ex="set follow-fork-mode child" -ex=r -ex=quit --args emacsclient -nc +# -n = --no-wait, go into background +# -c = create new frame instead of reusing the current frame +# -a = alternate editor, empty string makes it start emacs daemon. +# This is also set via env variable, but that doesn't propagate everywhere. + +# emacs will hold open the directory it's started in, which +# will prevent unmounting it. +if [[ ! $1 ]]; then + cd / +fi + +if pgrep -u $EUID emacsclient && (( $# )); then + emacsclient -a "" -n "$@" +else + emacsclient -a "" -nc "$@" +fi diff --git a/g2 b/g2 new file mode 100755 index 0000000..a6b8da7 --- /dev/null +++ b/g2 @@ -0,0 +1,25 @@ +#!/bin/bash +# I, Ian Kelling, follow the GNU license recommendations at +# https://www.gnu.org/licenses/license-recommendations.en.html. They +# recommend that small programs, < 300 lines, be licensed under the +# Apache License 2.0. This file contains or is part of one or more small +# programs. If a small program grows beyond 300 lines, I plan to switch +# its license to GPL. + +# Copyright 2024 Ian Kelling + +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at + +# http://www.apache.org/licenses/LICENSE-2.0 + +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +# force creation of new frame. +exec emacsclient -a "" -nc "$@" -- 2.30.2