init commit

This commit is contained in:
Luxferre
2026-10-19 09:23:54 +03:00
commit 6942acf5cf
307 changed files with 35003 additions and 0 deletions
+4
View File
@@ -0,0 +1,4 @@
https://mirror.nura.eco/postmarketos/v26.06
https://dl-cdn.alpinelinux.org/alpine/edge/main
https://dl-cdn.alpinelinux.org/alpine/edge/community
https://dl-cdn.alpinelinux.org/alpine/edge/testing
@@ -0,0 +1,6 @@
# Maximum time to wait for SIM card to appear after starting the modem.
# Some SIM cards or modem firmwares might take longer to initialize. :(
# To avoid blocking boot without a SIM card for too long this is fairly short
# by default (4 seconds), but you can increase it to e.g. 30 seconds if necessary.
# Set to 0 to disable waiting entirely.
sim_wait_time=4
+142
View File
@@ -0,0 +1,142 @@
# zram settings...
# SPDX-License-Identifier: GPL-2.0-only
# load zram kernel module on start?
load_on_start=yes
# unload zram kernel module on stop?
unload_on_stop=yes
# Number of devices.
# This value is also passed to the kernel module on modprobe.
num_devices=2
# For each device, specify the following variables
# Omitting them is the same as specifying them as empty: It uses defaults
# type0, type1, ... are the variables for the types (see below)
# size0, size1, ... are the variables for the sizes (in MB)
# mlim0, mlim1, ... are the variables for the maximal uncompressed memory (MB)
# back0, back1, ... are the variables for the backup device (paths)
# icmp0, icmp1, ... are the flags (nonempty = true) whether incompressible
# pages are written to the backup device (requires back*)
# idle0, idle1, ... are the flags (nonempty = true) whether idle pages are
# written to the backup device (requires back*)
# wlim0, wlim1, ... set the writeback_limit for idle pages (implies idle*)
# algo0, algo1, ... are the variables for the compression algorithms
# para0, para1, ... are the variables for the algorithm parameters
# flag0, flag1, ... are the variables for the flags
# labl0, labl1, ... are the variables for the label name (if you want some)
# uuid0, uuid1, ... are the variables for the UUID (if you want to force it)
# args0, args1, ... are the variables for additional arguments to zram-init
# (args0, args1, ... are eval'd, so quote correspondingly!)
# notr0, notr1, ... are the flags (nonempty = true) for "do not trim (discard)"
# (set notr* to a nonempty value only for linux-3.14 or earlier or when you
# are prepared to waste a lot of memory for a possibly slight speed increase)
#
# The following are ignored for type swap but not for the other types:
# blck0, blck1, ... are the variables for the blocksize (ext2, ext4)
# irat0, irat1, ... are the variables for the byte/inode ratio (ext2, ext4)
# inod0, inod1, ... are the variables for the inode number (ext2, ext4)
# opts0, opts1, ... are the variables for the mount options
# mode0, mode1, ... are the variables for the directory mode
# owgr0, owgr1, ... are the variables for the directory owner:group
#
# If the size is 0 (or empty) the device is ignored by the script.
#
# Available types:
# "swap" The device is initialized as a swap device.
# The flags variable specifies the priority (16383 if empty).
# Use "-" in the flags variable for the default priority (-1)
# "/..." The device is mounted on /...
# The flags variable specifies the type (ext2, ext4, btrfs, or xfs;
# default is ext4)
# "-" The filesystem (specified by flags as above) is created in
# /dev/zram$NUM but not mounted
# Devices with other types are ignored by the script
#
# Only variables with numbers 0 ... num_devices-1 are used by the script.
# swap - 500M (or a fourth of available memory if uncommenting)
type0=swap
flag0= # The default "16383" is fine for us
size0=512
#size0=`LC_ALL=C free -m | awk '/^Mem:/{print int($2/4)}'`
mlim0= # no hard memory limit
back0= # no backup device
icmp0= # no incompressible page writing to backup device
idle0= # no idle page writing to backup device
wlim0= # no writeback_limit for idle page writing for backup device
notr0= # keep the default on linux-3.15 or newer
algo0=zstd # zstd (since linux-4.18), lz4 (since linux-3.15), or lzo.
# Size: zstd (best) > lzo > lz4. Speed: lz4 (best) > zstd > lzo
para0= # No algorithm parameters
labl0=zram_swap # the label name
uuid0= # Do not force UUID
args0= # we could e.g. have set args0="-L 'zram_swap'" instead of using labl0
# /tmp - 2G
# If you use this, you should put zram-init into the boot runlevel,
# and services using /tmp should be in the default runlevel and/or have
# rc_need=zram-init in their /etc/conf.d/... file
type1=/tmp
flag1=ext4
size1=2048
mlim1= # no hard memory limit
back1= # no backup device
icmp1= # no incompressible page writing to backup device
idle1= # no idle page writing to backup device
wlim1= # no writeback_limit for idle page writing for backup device
blck1=1024 # the default blocksize of 4096
irat1= # bytes/inode ratio
inod1= # inode number
opts1="strictatime,nosuid,nodev,noexec" # e.g. "relatime" or "noatime" are also reasonable choices
mode1=1777
owgr1= # No reason to change the default "root:root"
notr1= # keep the default on linux-3.15 or newer
algo1=zstd
para1="level=3" # algorithm-specific parameters such as compression level
labl1=tmp_dir
uuid1=
args1=
# /var/tmp - 1G
type2=/var/tmp
flag2=ext2
size2=1024
mlim2= # no hard memory limit
back2= # no backup device
icmp2= # no incompressible page writing to backup device
idle2= # no idle page writing to backup device
wlim2= # no writeback_limit for idle page writing for backup device
blck2= # the default blocksize is 4096
irat2= # bytes/inode ratio
inod2= # inode number
opts2=relatime # e.g. "noatime" or "strictatime" are also reasonable choices
mode2=1777
owgr2= # No reason to change the default "root:root"
notr2= # keep the default on linux-3.15 or newer
algo2=zstd
para2= # No algorithm parameters
labl2=var_tmp_dir
uuid2=
args2=
# Artificial example with btrfs
# (Not actually used here: variables are overridden afterwards by other values)
type3=- # Only format the filesystem but actually do not mount it
flag3=btrfs
size3=1024
algo3=zstd
labl3=zbtrfs
uuid3=
args3=
# swap - 500M
# The following is not used by the default (num_devices=3).
type3=swap
flag3=
size3=512
algo3=zstd
labl3=zram_swap2
uuid3=
args3=
+30
View File
@@ -0,0 +1,30 @@
permit persist :wheel
permit nopass :wheel as root cmd busybox args poweroff
permit nopass :wheel as root cmd busybox args reboot
permit nopass :wheel as root cmd poweroff
permit nopass :wheel as root cmd /sbin/poweroff
permit nopass :wheel as root cmd reboot
permit nopass :wheel as root cmd /sbin/reboot
permit nopass :wheel as root cmd halt
permit nopass :wheel as root cmd /sbin/halt
permit nopass :wheel as root cmd openrc-shutdown
permit nopass :wheel as root cmd /sbin/openrc-shutdown
permit nopass :wheel as root cmd sxmo_wifitoggle.sh
permit nopass setenv { SXMO_OS } :wheel as root cmd sxmo_bluetoothtoggle.sh
permit nopass :wheel as root cmd rc-service args bluetooth restart
permit nopass :wheel as root cmd systemctl args restart bluetooth
permit nopass :wheel as root cmd tinydm-set-session
permit nopass :wheel as root cmd rc-service args eg25-manager stop
permit nopass :wheel as root cmd rc-service args eg25-manager start
permit nopass :wheel as root cmd rc-service args modemmanager stop
permit nopass :wheel as root cmd rc-service args modemmanager start
permit nopass :wheel as root cmd systemctl args start eg25-manager
permit nopass :wheel as root cmd systemctl args stop eg25-manager
permit nopass :wheel as root cmd systemctl args start ModemManager
permit nopass :wheel as root cmd systemctl args stop ModemManager
permit nopass :wheel as root cmd rtcwake
permit nopass :wheel as root cmd tee args -a /sys/power/wake_lock
permit nopass :wheel as root cmd tee args -a /sys/power/wake_unlock
permit nopass :wheel as root cmd tee args /sys/power/wakeup_count
permit nopass :wheel as root cmd rc-service args hexagonrpcd-adsp-sensorspd stop
permit nopass :wheel as root cmd systemctl args stop hexagonrpcd-adsp-sensorspd
+28
View File
@@ -0,0 +1,28 @@
#!/sbin/openrc-run
# SPDX-License-Identifier: GPL-2.0-only
depend() {
need localmount
after bootmisc modules
provide swap
}
start() {
ebegin "Starting zram swap"
if [ ! -f /usr/share/misc/source_deviceinfo ]; then
eend 1 "deviceinfo not found"
return 1
fi
zramstart
eend $?
}
stop() {
if [ "$RC_RUNLEVEL" = "shutdown" ]; then
return 0
fi
ebegin "Stopping zram swap"
zramstop
eend $?
}
+27
View File
@@ -0,0 +1,27 @@
#!/sbin/openrc-run
depend() {
after localmount
before display-manager tinydm
}
start() {
ebegin "Activating swap file"
swapfile
eend $?
}
stop() {
if [ "$RC_RUNLEVEL" = "shutdown" ]; then
return 0
fi
ebegin "Deactivating swap file"
swapoff /swapfile >/dev/null 2>&1 || true
eend 0
}
restart() {
ebegin "Restarting swap file"
start
eend $?
}
+2
View File
@@ -0,0 +1,2 @@
Welcome to Bananarchy Linux v0.0.1 (msm8909) on \l
+4
View File
@@ -0,0 +1,4 @@
af_packet
ipv6
panel_mipi_dbi
leds_msm8905_torch
+8
View File
@@ -0,0 +1,8 @@
============================================================
BANANARCHY LINUX v0.0.1 (Qualcomm MSM8905 / MSM8909)
240x320 Native Sxmo * Multi-Mode T9 * QDSP6 Voice
------------------------------------------------------------
* Keypad '#' cycles T9 modes: abc / Abc / ABC / Sym / Ctl / 123
* Keypad '*' is Space (hold 450ms for Ctrl+ latch)
* Run 'bantam' for the Bantam DIY AI agent
============================================================
+11
View File
@@ -0,0 +1,11 @@
PRETTY_NAME="Bananarchy Linux v0.0.1 (msm8909)"
NAME="Bananarchy"
VERSION_ID="v0.0.1"
VERSION="v0.0.1 (msm8909)"
ID="bananarchy"
ID_LIKE="postmarketos alpine"
HOME_URL="https://bananahackers.net/"
SUPPORT_URL="https://wiki.nura.eco/wiki/Nokia_8110_4G_(nokia-argon)"
BUG_REPORT_URL="https://gitlab.postmarketos.org/postmarketOS/pmaports/issues"
LOGO="bananarchy"
ANSI_COLOR="1;33"
@@ -0,0 +1,40 @@
# Space to setup configversion
# configversion: 13fb3d2d9f97f4420f7506e72b90e77d
font=monospace:size=13
dpi-aware=no
pad=2x2
[colors-dark]
# alpha=1.0
foreground=eaeaea
background=000000
regular0=000000 # black
regular1=d54e53 # red
regular2=b9ca4a # green
regular3=e6c547 # yellow
regular4=7aa6da # blue
regular5=c397d8 # magenta
regular6=70c0ba # cyan
regular7=eaeaea # white
bright0=666666 # bright black
bright1=ff3334 # bright red
bright2=9ec400 # bright green
bright3=e7c547 # bright yellow
bright4=7aa6da # bright blue
bright5=b77ee0 # bright magenta
bright6=54ced6 # bright cyan
bright7=ffffff # bright white
[scrollback]
lines=5000
[key-bindings]
scrollback-up-page=Shift+Page_Up
scrollback-down-page=Shift+Page_Down
scrollback-up-half-page=Page_Up
scrollback-down-half-page=Page_Down
scrollback-up-line=Shift+Up
scrollback-down-line=Shift+Down
scrollback-home=Shift+Home
scrollback-end=Shift+End
@@ -0,0 +1,18 @@
-- Space to setup configversion
-- configversion: 19ec5c7f9e83bc6534d657f6180feba2
conky.config = {
out_to_x = false,
out_to_wayland = true,
alignment = 'top_middle',
gap_y = 12,
own_window_argb_value = 0,
own_window_type = 'desktop',
default_shade_color = 'black',
draw_shades = true,
font = 'Sxmo:size=13',
use_xft = true,
update_interval = 15,
}
conky.text = [[${alignc}${font Sxmo:size=34:style=Bold}${time %H:%M}${font}
${alignc}${font Sxmo:size=14:style=Bold}${time %a %d %b %Y}${font}]]
@@ -0,0 +1,540 @@
#!/bin/sh
# configversion: 113bf453dd3310afff192d841089e5ac
# SPDX-License-Identifier: AGPL-3.0-only
# Copyright 2022 Sxmo Contributors
# This script handles input actions, it is called by lisgd for gestures
# and by dwm for button presses. Gestures are tied to actions in
# sxmo_hook_lisgdstart.sh .
ACTION="$1"
# include common definitions
# shellcheck source=scripts/core/sxmo_common.sh
. sxmo_common.sh
stop_proximity_lock() {
sxmo_jobs.sh stop proximity_lock
}
exec 0<<EOF
$(sxmo_wm.sh focusedwindow -r)
EOF
read -r WMCLASS
read -r WMNAME
sxmo_debug "STATE: $(sxmo_state.sh get) ACTION: $ACTION WMCLASS: $WMCLASS WMNAME: $WMNAME"
if sxmo_state.sh is_locked; then
case "$WMNAME" in # Handle programs
*"epy"*|*"epr"*)
case "$ACTION" in
"voldown_one")
sxmo_type.sh l
exit 0
;;
"volup_one")
sxmo_type.sh h
exit 0
;;
esac
;;
esac
case "$ACTION" in
"powerbutton_one"|"powerbutton_two"|"powerbutton_three"|"menuleft_one"|"menuright_one"|"enter_one"|"enter_two"|"enter_three")
brightnessctl -d white:kbd_backlight set 255 >/dev/null 2>&1 || true
sxmo_state.sh set unlock
sxmo_wm.sh display on
;;
"voldown_one")
sxmo_audio.sh vol down 5
exit
;;
"voldown_two")
sxmo_audio.sh vol down 10
exit
;;
"voldown_three")
sxmo_audio.sh vol down 15
exit
;;
"volup_one")
sxmo_audio.sh vol up 5
exit
;;
"volup_two")
sxmo_audio.sh vol up 10
exit
;;
"volup_three")
sxmo_audio.sh vol up 15
exit
;;
esac
#we're locked, don't process the rest of the script
exit 0
fi
#special context-sensitive handling
case "$WMCLASS" in
*"mpv"*)
case "$ACTION" in
"oneright")
sxmo_type.sh -k Left
exit 0
;;
"oneleft")
sxmo_type.sh -k Right
exit 0
;;
"oneup")
sxmo_type.sh m
exit 0
;;
"onedown")
sxmo_type.sh p
exit 0
;;
esac
;;
*"acme"*)
case "$ACTION" in
"volup_one")
xdotool click 3
exit 0
;;
"voldown_one")
xdotool click 2
exit 0
;;
esac
;;
*"links"*)
case "$ACTION" in
# you're probably dragging the scrollbar
*"uprightedge") exit 0 ;;
*"downrightedge") exit 0 ;;
*"onedown")
sxmo_type.sh -M Ctrl -M Shift -k b
exit 0
;;
*"oneup")
sxmo_type.sh -M Ctrl -M Shift -k f
exit 0
;;
esac
;;
*"netsurf"*)
case "$ACTION" in
# you're probably dragging the scrollbar
*"uprightedge") exit 0 ;;
*"downrightedge") exit 0 ;;
*"onedown")
sxmo_type.sh -k Page_Up
exit 0
;;
*"oneup")
sxmo_type.sh -k Page_Down
exit 0
;;
esac
;;
*"firefox"*|*"librewolf"*)
case "$ACTION" in
# you're probably dragging the scrollbar
*"uprightedge") exit 0 ;;
*"downrightedge") exit 0 ;;
esac
;;
*"foot"*|*"st"*|*"vte"*|"terminal") # Terminals
case "$WMCLASS" in # Handle programs without touch support
*"st"*)
case "$WMNAME" in
*"weechat"*|*'gomuks'*)
case "$ACTION" in
*"onedown")
sxmo_type.sh -k Page_Up
exit 0
;;
*"oneup")
sxmo_type.sh -k Page_Down
exit 0
;;
esac
;;
*"less"*|*"amfora"*)
case "$ACTION" in
*"onedown")
sxmo_type.sh u
exit 0
;;
*"oneup")
sxmo_type.sh d
exit 0
;;
esac
;;
*'irssi'*)
case "$ACTION" in
"onedown")
sxmo_type.sh -M Alt p
exit 0
;;
"oneup")
sxmo_type.sh -M Alt n
exit 0
;;
esac
;;
*'epy'*|*'epr'*)
case "$ACTION" in
"onedown")
sxmo_type.sh h
exit 0
;;
"oneup")
sxmo_type.sh l
exit 0
;;
esac
;;
*'nnn'*|'lf')
case "$ACTION" in
"onedown")
sxmo_type.sh -k Down
exit 0
;;
"oneup")
sxmo_type.sh -k Up
exit 0
;;
esac
;;
esac
;;
esac
case "$WMNAME" in # Handle programs
*"weechat"*)
case "$ACTION" in
*"oneleft")
sxmo_type.sh -M Alt -k a
exit 0
;;
*"oneright")
sxmo_type.sh -M Alt -k less
exit 0
;;
esac
;;
*" sms")
case "$ACTION" in
*"upbottomedge")
number="$(printf %s "$WMNAME" | sed -e 's|^\"||' -e 's|\"$||' | cut -f1 -d' ')"
sxmo_terminal.sh sxmo_modemtext.sh conversationloop "$number"
exit 0
;;
esac
;;
*"tuir"*)
if [ "$ACTION" = "rightbottomedge" ]; then
sxmo_type.sh o
exit 0
elif [ "$ACTION" = "leftbottomedge" ]; then
sxmo_type.sh s
exit 0
fi
;;
*"less"*)
case "$ACTION" in
"leftbottomedge")
sxmo_type.sh q
exit 0
;;
"leftrightedge_short")
sxmo_type.sh q
exit 0
;;
*"oneleft")
sxmo_type.sh ":n" -k Return
exit 0
;;
*"oneright")
sxmo_type.sh ":p" -k Return
exit 0
;;
esac
;;
*"amfora"*)
case "$ACTION" in
"downright")
sxmo_type.sh -k Tab
exit 0
;;
"upleft")
sxmo_type.sh -M Shift -k Tab
exit 0
;;
*"oneright")
sxmo_type.sh -k Return
exit 0
;;
"upright")
sxmo_type.sh -M Ctrl t
exit 0
;;
*"oneleft")
sxmo_type.sh b
exit 0
;;
"downleft")
sxmo_type.sh -M Ctrl w
exit 0
;;
esac
;;
*"epy"*|*"epr"*)
case "$ACTION" in
*"left"|"voldown_one")
sxmo_type.sh l
exit 0
;;
*"right"|"volup_one")
sxmo_type.sh h
exit 0
;;
"voldown_three"|"twodownbottomedge")
sxmo_type.sh q
exit
;;
esac
;;
*'nnn'*|'lf')
case "$ACTION" in
*"left")
sxmo_type.sh -k Right
exit 0
;;
*"right")
sxmo_type.sh -k Left
exit 0
;;
esac
;;
esac
case "$WMCLASS" in # Handle general scrolling without touch support
*"st"*)
case "$ACTION" in
*"onedown")
sxmo_type.sh -M Ctrl -M Shift -k b
exit 0
;;
*"oneup")
sxmo_type.sh -M Ctrl -M Shift -k f
exit 0
;;
esac
;;
"org.gnome.vte.application"|"terminal")
case "$ACTION" in
# For VTE, fallback to doing nothing,
# you're probably dragging the scrollbar
*"uprightedge") exit 0 ;;
*"downrightedge") exit 0 ;;
esac
;;
esac
;;
esac
#standard handling
case "$ACTION" in
"menuright"*|"menuright_one")
if sxmo_dmenu.sh isopen; then
sxmo_dmenu.sh close
else
sxmo_appmenu.sh "$WMCLASS" "$WMNAME"
fi
exit 0
;;
"menuleft"*|"menuleft_one")
if sxmo_dmenu.sh isopen; then
sxmo_dmenu.sh close
else
sxmo_appmenu.sh sys
fi
exit 0
;;
"enter_one")
if pidof -q sxmo_RepeatRing.sh; then
sxmo_hook_pickup.sh
else
sxmo_appmenu.sh "$WMCLASS" "$WMNAME"
fi
exit 0
;;
"enter_two")
swaymsg focus next >/dev/null 2>&1 || sxmo_wm.sh switchfocus
exit 0
;;
"enter_three")
sxmo_wm.sh togglelayout
exit 0
;;
"powerbutton_one")
if echo "$WMCLASS" | grep -i "megapixels"; then
sxmo_type.sh -k space
else
sxmo_appmenu.sh power
fi
exit 0
;;
"powerbutton_two")
sxmo_state.sh click 2
exit 0
;;
"powerbutton_three")
sxmo_terminal.sh
exit 0
;;
"voldown_one")
if [ -n "$SXMO_NO_VIRTUAL_KEYBOARD" ]; then
sxmo_killwindow.sh
else
sxmo_keyboard.sh toggle
fi
exit
;;
"voldown_two")
sxmo_wm.sh togglelayout
exit
;;
"voldown_three")
sxmo_killwindow.sh
exit
;;
"volup_one")
sxmo_appmenu.sh "$WMCLASS" "$WMNAME"
exit
;;
"volup_two")
sxmo_appmenu.sh sys
exit
;;
"volup_three")
sxmo_wmmenu.sh
exit
;;
"rightleftedge")
sxmo_wm.sh previousworkspace
exit 0
;;
"leftrightedge")
sxmo_wm.sh nextworkspace
exit 0
;;
"twoleft")
sxmo_wm.sh movepreviousworkspace
exit 0
;;
"tworight")
sxmo_wm.sh movenextworkspace
exit 0
;;
"righttopedge")
sxmo_brightness.sh up
exit 0
;;
"lefttopedge")
sxmo_brightness.sh down
exit 0
;;
"upleftedge")
sxmo_audio.sh vol up
exit 0
;;
"downleftedge")
sxmo_audio.sh vol down
exit 0
;;
"upbottomedge")
if [ -n "$SXMO_NO_VIRTUAL_KEYBOARD" ]; then
sxmo_terminal.sh
else
sxmo_keyboard.sh open
fi
exit 0
;;
"downbottomedge")
if [ -n "$SXMO_NO_VIRTUAL_KEYBOARD" ]; then
sxmo_killwindow.sh
else
sxmo_keyboard.sh close
fi
exit 0
;;
"downtopedge")
sxmo_dmenu.sh isopen || sxmo_appmenu.sh "$WMCLASS" "$WMNAME"
exit 0
;;
"twodowntopedge")
sxmo_hook_quickactions.sh
exit 0
;;
"uptopedge")
sxmo_dmenu.sh close
dunstctl close-all
exit 0
;;
"twodownbottomedge")
sxmo_killwindow.sh
exit 0
;;
"uprightedge")
sxmo_type.sh -k Up
exit 0
;;
"downrightedge")
sxmo_type.sh -k Down
exit 0
;;
"leftrightedge_short")
sxmo_type.sh -k Left
exit 0
;;
"rightrightedge_short")
sxmo_type.sh -k Right
exit 0
;;
"rightbottomedge")
sxmo_type.sh -k Return
exit 0
;;
"leftbottomedge")
sxmo_type.sh -k BackSpace
exit 0
;;
"topleftcorner")
sxmo_appmenu.sh sys
exit 0
;;
"toprightcorner")
sxmo_appmenu.sh scripts
exit 0
;;
"bottomleftcorner")
sxmo_dmenu.sh close
sxmo_keyboard.sh close
if [ -n "$WMCLASS" ]; then
sxmo_state.sh set lock
else
sxmo_state.sh set screenoff
fi
exit 0
;;
"bottomrightcorner")
sxmo_rotate.sh
exit 0
;;
esac
+296
View File
@@ -0,0 +1,296 @@
# Default config for sway
# configversion: 076611fe8cc699bcaa01092a8e4481c0
#
# Copy this to ~/.config/sway/config and edit it to your liking.
#
# Read `man 5 sway` for a complete reference.
### Variables
#
# Logo key. Use Mod1 for Alt.
set $mod Mod4
# Home row direction keys, like vim
set $left h
set $down j
set $up k
set $right l
# Your preferred terminal emulator
set $term sxmo_terminal.sh
# Your preferred application launcher
# Note: pass the final command to swaymsg so that the resulting window can be opened
# on the original workspace that the command was run on.
set $menu bemenu-run
font "Sxmo 13"
xwayland disable
output * scale 1 bg /usr/share/wallpapers/bananarchy.png fill
default_orientation vertical
exec_always sxmo_swayinitconf.sh
exec_always dbus-update-activation-environment WAYLAND_DISPLAY DISPLAY XDG_CURRENT_DESKTOP
mode "menu" {
bindsym --locked XF86PowerOff exec sh -c "sxmo_dmenu.sh close; if sxmo_state.sh is_locked; then sxmo_state.sh set unlock; sxmo_wm.sh display on; fi"
bindsym --locked XF86PickupPhone exec sh -c "if sxmo_state.sh is_locked; then sxmo_state.sh set unlock; sxmo_wm.sh display on; else wtype -k Return; fi"
bindsym --locked XF86KbdLcdMenu1 exec sh -c "sxmo_dmenu.sh close; if sxmo_state.sh is_locked; then sxmo_state.sh set unlock; sxmo_wm.sh display on; fi"
bindsym --locked XF86KbdLcdMenu2 exec sh -c "sxmo_dmenu.sh close; if sxmo_state.sh is_locked; then sxmo_state.sh set unlock; sxmo_wm.sh display on; fi"
bindsym XF86AudioRaiseVolume exec wtype -k Up
bindsym XF86AudioLowerVolume exec wtype -k Down
bindswitch --locked lid:on exec sh -c "sxmo_dmenu.sh close; brightnessctl -d white:kbd_backlight set 0; sxmo_state.sh set screenoff"
bindswitch --locked lid:off exec sh -c "brightnessctl -d white:kbd_backlight set 255; sxmo_state.sh set unlock; sxmo_wm.sh display on"
}
# Mode specifically for use with Nokia N900 hardware keyboard
mode "N900" {
# follow the standard sxmo keybinds as far as possible
bindsym t exec $term; mode "default"
bindsym q mode "default"
bindsym Shift+p exec sxmo_appmenu.sh sys; mode "default"
bindsym p exec sxmo_appmenu.sh; mode "default"
bindsym d exec $menu; mode "default"
bindsym Shift+q kill; mode "default"
bindsym i exec sxmo_wmmenu.sh windowswitcher; mode "default"
bindsym Shift+c reload; mode "default"
bindsym f fullscreen; mode "default"
bindsym Shift+space floating toggle; mode "default"
bindsym a focus parent; mode "default"
}
### Key bindings
#
# Basics:
#
input * xkb_options compose:ralt
# Nokia N900 hardware keyboard
input "1:1:TWL4030_Keypad" {
xkb_model "nokiarx51"
xkb_layout "us"
# ralt has special meaning on N900 keyboard so do not use as
# compose key
xkb_options compose:rwin
}
# Start a terminal
bindsym $mod+Return exec $term
# Launch appmenu
bindsym $mod+p exec sxmo_appmenu.sh
bindsym $mod+Shift+p exec sxmo_appmenu.sh sys
# Wm menu switcher
bindsym $mod+i exec sxmo_wmmenu.sh windowswitcher
# Kill focused window
bindsym $mod+Shift+q kill
# Start your launcher
bindsym $mod+d exec $menu
# Drag floating windows by holding down $mod and left mouse button.
# Resize them with right mouse button + $mod.
# Despite the name, also works for non-floating windows.
# Change normal to inverse to use left mouse button for resizing and right
# mouse button for dragging.
floating_modifier $mod normal
# Reload the configuration file
bindsym $mod+Shift+c reload
# Exit sway (logs you out of your Wayland session)
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -b 'Yes, exit sway' 'sxmo_power.sh logout'
#
# Moving around:
#
# Move your focus around
bindsym $mod+$left focus left
bindsym $mod+$down focus down
bindsym $mod+$up focus up
bindsym $mod+$right focus right
# Or use $mod+[up|down|left|right]
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# Move the focused window with the same, but add Shift
bindsym $mod+Shift+$left move left
bindsym $mod+Shift+$down move down
bindsym $mod+Shift+$up move up
bindsym $mod+Shift+$right move right
# Ditto, with arrow 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
# Move the focused workspace to output
bindsym $mod+Shift+Ctrl+$left move workspace output left
bindsym $mod+Shift+Ctrl+$down move workspace output down
bindsym $mod+Shift+Ctrl+$up move workspace output up
bindsym $mod+Shift+Ctrl+$right move workspace output right
#
# Workspaces:
#
# Switch to workspace
bindsym $mod+1 workspace number 1
bindsym $mod+2 workspace number 2
bindsym $mod+3 workspace number 3
bindsym $mod+4 workspace number 4
bindsym $mod+5 workspace number 5
bindsym $mod+6 workspace number 6
bindsym $mod+7 workspace number 7
bindsym $mod+8 workspace number 8
bindsym $mod+9 workspace number 9
bindsym $mod+0 workspace number 10
# Move focused container to workspace
bindsym $mod+Shift+1 move container to workspace number 1
bindsym $mod+Shift+2 move container to workspace number 2
bindsym $mod+Shift+3 move container to workspace number 3
bindsym $mod+Shift+4 move container to workspace number 4
bindsym $mod+Shift+5 move container to workspace number 5
bindsym $mod+Shift+6 move container to workspace number 6
bindsym $mod+Shift+7 move container to workspace number 7
bindsym $mod+Shift+8 move container to workspace number 8
bindsym $mod+Shift+9 move container to workspace number 9
bindsym $mod+Shift+0 move container to workspace number 10
# Note: workspaces can have any name you want, not just numbers.
# We just use 1-10 as the default.
#
# Layout stuff:
#
# You can "split" the current object of your focus with
# $mod+b or $mod+v, for horizontal and vertical splits
# respectively.
bindsym $mod+b splith
bindsym $mod+v splitv
# Switch the current container between different layout styles
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# Make the current focus fullscreen
bindsym $mod+f fullscreen
# Toggle the current focus between tiling and floating mode
bindsym $mod+Shift+space floating toggle
# Swap focus between the tiling area and the floating area
bindsym $mod+space focus mode_toggle
# Move focus to the parent container
bindsym $mod+a focus parent
# Manual locker
bindsym $mod+g exec sxmo_state.sh set locker
# Shutdown
bindsym $mod+t exec sxmo_appmenu.sh power
#
# Scratchpad:
#
# Sway has a "scratchpad", which is a bag of holding for windows.
# You can send windows there and get them back later.
# Move the currently focused window to the scratchpad
bindsym $mod+Shift+minus move scratchpad
# Show the next scratchpad window or hide the focused scratchpad window.
# If there are multiple scratchpad windows, this command cycles through them.
bindsym $mod+minus scratchpad show
#
# Resizing containers:
#
mode "resize" {
# left will shrink the containers width
# right will grow the containers width
# up will shrink the containers height
# down will grow the containers height
bindsym $left resize shrink width 30px
bindsym $down resize grow height 30px
bindsym $up resize shrink height 30px
bindsym $right resize grow width 30px
# Ditto, with arrow keys
bindsym Left resize shrink width 30px
bindsym Down resize grow height 30px
bindsym Up resize shrink height 30px
bindsym Right resize grow width 30px
# Return to default mode
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"
#
# Status Bar:
#
# Read `man 5 sway-bar` for more information about this section.
bar {
position top
height 24
font "Sxmo 13"
# When the status_command prints a new line to stdout, swaybar updates.
# The default just shows the current date and time.
status_command sxmo_status_watch.sh -o pango
pango_markup enabled
colors {
statusline #ffffff
background #323232
inactive_workspace #323232 #323232 #ffffff
font "Sxmo 13"
}
}
for_window [app_id="pinentry-.*"] floating true
for_window [app_id="foot" title=".*sxmo/modem/.*/draft.txt.*"] resize set height 25
for_window [title="megapixels"] inhibit_idle open
for_window [title="ep[yr].*"] inhibit_idle visible
default_border pixel 2
titlebar_border_thickness 2
hide_edge_borders smart
# Need playerctl installed and running
bindsym --locked XF86AudioPlay exec playerctl play-pause
bindsym --locked XF86AudioPause exec playerctl play-pause
bindsym --locked XF86AudioStop exec playerctl stop
bindsym --locked XF86AudioNext exec playerctl next
bindsym --locked XF86AudioPrev exec playerctl previous
bindsym --locked XF86MonBrightnessUp exec sxmo_brightness.sh up
bindsym --locked XF86MonBrightnessDown exec sxmo_brightness.sh down
# Nokia N900-specific key bindings:
# 1. Bind lock key (XF86ScreenSaver)
# Use keycode due to https://github.com/swaywm/sway/issues/8438
bindcode --release --locked --input-device="1:1:gpio_keys" 160 exec sxmo_state.sh set unlock
# 2. Workaround the lack of a free ModX key on hardware keyboard
bindsym --input-device="1:1:TWL4030_Keypad" Shift+space mode "N900"
bindsym Print exec sxmo_screenshot.sh
bindsym button2 kill
bindswitch --locked lid:on exec sh -c "brightnessctl -d white:kbd_backlight set 0; sxmo_state.sh set screenoff"
bindswitch --locked lid:off exec sh -c "brightnessctl -d white:kbd_backlight set 255; sxmo_state.sh set unlock; sxmo_wm.sh display on"
# Nokia 8110 4G hardware keypad bindings (User:Ybon)
bindsym --locked --no-repeat XF86KbdLcdMenu1 exec sxmo_hook_inputhandler.sh menuleft_one
bindsym --locked --no-repeat XF86KbdLcdMenu2 exec sxmo_hook_inputhandler.sh menuright_one
bindsym --locked --no-repeat XF86PickupPhone exec sxmo_multikey.sh pickup enter_one enter_two enter_three
include /etc/sway/config.d/*
exec 'printf %s "$SWAYSOCK" > "$XDG_RUNTIME_DIR"/sxmo.swaysock'
exec sxmo_hook_start.sh
# vim: ft=swayconfig
@@ -0,0 +1,3 @@
SUBSYSTEM=="input", KERNEL=="event*", ATTRS{name}=="keypad", ENV{ID_INPUT_KEYBOARD}="1"
SUBSYSTEM=="input", KERNEL=="event*", ATTRS{name}=="gpio-keys", ENV{ID_INPUT_KEYBOARD}="1"
SUBSYSTEM=="input", KERNEL=="event*", ATTRS{name}=="pm8941_resin", ENV{ID_INPUT_KEYBOARD}="1"
@@ -0,0 +1 @@
SUBSYSTEM=="leds", ACTION=="add", RUN+="/bin/chgrp video /sys/class/leds/%k/brightness", RUN+="/bin/chmod 0664 /sys/class/leds/%k/brightness"