aboutsummaryrefslogtreecommitdiff
path: root/wayland-basics
diff options
context:
space:
mode:
authorMohammad Reza Karimi <m.r.karimi.j@gmail.com>2025-12-16 13:27:11 -0500
committerMohammad Reza Karimi <m.r.karimi.j@gmail.com>2025-12-16 13:27:11 -0500
commit5a41da5881a11ba3fdc3890c342aa3b7eb53e0cf (patch)
tree92b7f7af29ed4a9dcc0eab33490c6225cce9b14a /wayland-basics
parent856e361d56c201cbb1b1521c8b93b747163b1376 (diff)
add initial version (incomplete)
Diffstat (limited to 'wayland-basics')
-rw-r--r--wayland-basics/dot-config/kanshi/config21
-rwxr-xr-xwayland-basics/dot-config/kanshi/reload.sh6
-rw-r--r--wayland-basics/dot-config/mako/config38
-rw-r--r--wayland-basics/dot-config/mimeapps.list53
-rw-r--r--wayland-basics/dot-config/mpv/mpv.conf1
-rw-r--r--wayland-basics/dot-config/systemd/user/kanshi.service15
-rw-r--r--wayland-basics/dot-config/systemd/user/swaybg.service15
-rw-r--r--wayland-basics/dot-config/systemd/user/swayosd-server.service14
-rw-r--r--wayland-basics/dot-config/systemd/user/wl-clip-persist.service14
-rw-r--r--wayland-basics/dot-config/zathura/zathurarc22
l---------wayland-basics/dot-local/share/applications/browser.desktop1
-rwxr-xr-xwayland-basics/dot-local/share/applications/file.desktop4
l---------wayland-basics/dot-local/share/applications/img.desktop1
-rwxr-xr-xwayland-basics/dot-local/share/applications/imv.desktop7
-rwxr-xr-xwayland-basics/dot-local/share/applications/mail.desktop4
-rw-r--r--wayland-basics/dot-local/share/applications/mimeinfo.cache28
-rwxr-xr-xwayland-basics/dot-local/share/applications/mpv.desktop10
-rwxr-xr-xwayland-basics/dot-local/share/applications/nvim.desktop12
-rwxr-xr-xwayland-basics/dot-local/share/applications/pdf.desktop4
l---------wayland-basics/dot-local/share/applications/text.desktop1
l---------wayland-basics/dot-local/share/applications/video.desktop1
21 files changed, 272 insertions, 0 deletions
diff --git a/wayland-basics/dot-config/kanshi/config b/wayland-basics/dot-config/kanshi/config
new file mode 100644
index 0000000..8ca67a1
--- /dev/null
+++ b/wayland-basics/dot-config/kanshi/config
@@ -0,0 +1,21 @@
+# vim: ft=scfg
+
+output eDP-1 alias $laptop
+output "Dell Inc. DELL P2723D FNHTH14" alias $workmon
+output "Lenovo Group Limited M15 V30ANMLM" alias $lenmon
+
+profile work {
+ output $laptop disable
+ output $workmon mode 2560x1440 position 0,0
+ exec ~/.config/kanshi/reload.sh
+}
+
+profile home_double {
+ output $lenmon mode 1920x1080@60 position 0,0
+ output $laptop enable mode 2880x1800@120 position 1920,0 scale 2
+}
+
+profile home {
+ output $laptop enable mode 2880x1800@120 position 0,0 scale 2
+ exec ~/.config/kanshi/reload.sh
+}
diff --git a/wayland-basics/dot-config/kanshi/reload.sh b/wayland-basics/dot-config/kanshi/reload.sh
new file mode 100755
index 0000000..ce74a3f
--- /dev/null
+++ b/wayland-basics/dot-config/kanshi/reload.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+if [ -n "$HYPRLAND_INSTANCE_SIGNATURE" ]; then
+ hyprctl reload
+ hyprctl dispatch workspace 1
+fi
diff --git a/wayland-basics/dot-config/mako/config b/wayland-basics/dot-config/mako/config
new file mode 100644
index 0000000..9339e49
--- /dev/null
+++ b/wayland-basics/dot-config/mako/config
@@ -0,0 +1,38 @@
+# vim: ft=dosini
+
+text-color=#bbbbbb
+border-color=#005577
+background-color=#222222
+padding=10
+border-size=2
+max-icon-size=32
+outer-margin=20
+
+font=monospace 11
+
+width=420
+height=110
+anchor=top-right
+default-timeout=5000
+max-history=10
+icon-path=/usr/share/icons/Adwaita
+
+[actionable=true]
+on-button-right=exec makoctl menu -n "${id}" wmenu
+
+[app-name=Spotify]
+invisible=1
+
+[mode=do-not-disturb]
+invisible=true
+
+[mode=do-not-disturb app-name=notify-send]
+invisible=false
+
+[app-name=NeoMutt]
+default-timeout=20000
+on-notify=exec mpv /usr/share/sounds/freedesktop/stereo/message.oga
+# on-button-left=exec setsid app2unit-term -e neomutt_wrapper
+
+[urgency=critical]
+default-timeout=0
diff --git a/wayland-basics/dot-config/mimeapps.list b/wayland-basics/dot-config/mimeapps.list
new file mode 100644
index 0000000..f1a1568
--- /dev/null
+++ b/wayland-basics/dot-config/mimeapps.list
@@ -0,0 +1,53 @@
+[Default Applications]
+x-scheme-handler/mailto=mail.desktop;
+message/rfc822=mail.desktop;
+x-scheme-handler/mid=mail.desktop;
+
+text/x-shellscript=text.desktop;
+text/plain=text.desktop;
+text/x-tex=text.desktop;
+text/x-bibtex=text.desktop;
+
+application/postscript=pdf.desktop;
+application/pdf=pdf.desktop;
+
+image/png=img.desktop;
+image/jpeg=img.desktop;
+image/gif=img.desktop;
+image/heif=img.desktop;
+image/svg+xml=img.desktop;
+image/svg=img.desktop;
+
+video/x-matroska=video.desktop;
+video/mp4=video.desktop;
+video/webm=video.desktop;
+video/mp4=video.desktop;
+video/x-msvideo=video.desktop;
+video/x-matroska=video.desktop;
+video/x-flv=video.desktop;
+video/x-ms-wmv=video.desktop;
+video/mpeg=video.desktop;
+video/ogg=video.desktop;
+video/webm=video.desktop;
+video/quicktime=video.desktop;
+video/3gpp=video.desktop;
+video/3gpp2=video.desktop;
+video/x-ms-asf=video.desktop;
+video/x-ogm+ogg=video.desktop;
+video/x-theora+ogg=video.desktop;
+application/ogg=video.desktop;
+
+inode/directory=file.desktop;
+
+x-scheme-handler/http=browser.desktop;
+x-scheme-handler/https=browser.desktop;
+x-scheme-handler/chrome=browser.desktop;
+text/html=browser.desktop;
+application/x-extension-htm=browser.desktop;
+application/x-extension-html=browser.desktop;
+application/x-extension-shtml=browser.desktop;
+application/xhtml+xml=browser.desktop;
+application/x-extension-xhtml=browser.desktop;
+application/x-extension-xht=browser.desktop;
+x-scheme-handler/about=browser.desktop;
+x-scheme-handler/unknown=browser.desktop;
diff --git a/wayland-basics/dot-config/mpv/mpv.conf b/wayland-basics/dot-config/mpv/mpv.conf
new file mode 100644
index 0000000..ebfb505
--- /dev/null
+++ b/wayland-basics/dot-config/mpv/mpv.conf
@@ -0,0 +1 @@
+vo=gpu
diff --git a/wayland-basics/dot-config/systemd/user/kanshi.service b/wayland-basics/dot-config/systemd/user/kanshi.service
new file mode 100644
index 0000000..dd6227c
--- /dev/null
+++ b/wayland-basics/dot-config/systemd/user/kanshi.service
@@ -0,0 +1,15 @@
+[Unit]
+PartOf=graphical-session.target
+Description=Kanshi Wayland output manager
+After=graphical-session.target
+Requisite=graphical-session.target
+
+[Service]
+Type=exec
+ExecStart=/usr/bin/kanshi
+ExecReload=kill -SIGHUP $MAINPID
+Restart=on-failure
+Slice=background-graphical.slice
+
+[Install]
+WantedBy=graphical-session.target
diff --git a/wayland-basics/dot-config/systemd/user/swaybg.service b/wayland-basics/dot-config/systemd/user/swaybg.service
new file mode 100644
index 0000000..719900d
--- /dev/null
+++ b/wayland-basics/dot-config/systemd/user/swaybg.service
@@ -0,0 +1,15 @@
+[Unit]
+PartOf=graphical-session.target
+Description=Swaybg wallpaper utility
+After=graphical-session.target
+Requisite=graphical-session.target
+
+[Service]
+Type=exec
+# ExecStart=/usr/bin/swaybg -m fill -i /home/moreka/Pictures/ethereal.jpg
+ExecStart=/usr/bin/swaybg -c '#002B36'
+Restart=on-failure
+Slice=background-graphical.slice
+
+[Install]
+WantedBy=graphical-session.target
diff --git a/wayland-basics/dot-config/systemd/user/swayosd-server.service b/wayland-basics/dot-config/systemd/user/swayosd-server.service
new file mode 100644
index 0000000..21934eb
--- /dev/null
+++ b/wayland-basics/dot-config/systemd/user/swayosd-server.service
@@ -0,0 +1,14 @@
+[Unit]
+PartOf=graphical-session.target
+Description=SwayOSD server
+After=graphical-session.target
+Requisite=graphical-session.target
+
+[Service]
+Type=exec
+ExecStart=/usr/bin/swayosd-server
+Restart=on-failure
+Slice=background-graphical.slice
+
+[Install]
+WantedBy=graphical-session.target
diff --git a/wayland-basics/dot-config/systemd/user/wl-clip-persist.service b/wayland-basics/dot-config/systemd/user/wl-clip-persist.service
new file mode 100644
index 0000000..f0f55a6
--- /dev/null
+++ b/wayland-basics/dot-config/systemd/user/wl-clip-persist.service
@@ -0,0 +1,14 @@
+[Unit]
+PartOf=graphical-session.target
+Description=Clipboard history manager for wayland
+After=graphical-session.target
+Requisite=graphical-session.target
+
+[Service]
+Type=exec
+ExecStart=/usr/bin/wl-clip-persist --clipboard regular --disable-timestamps
+Restart=on-failure
+Slice=background-graphical.slice
+
+[Install]
+WantedBy=graphical-session.target
diff --git a/wayland-basics/dot-config/zathura/zathurarc b/wayland-basics/dot-config/zathura/zathurarc
new file mode 100644
index 0000000..8322b0e
--- /dev/null
+++ b/wayland-basics/dot-config/zathura/zathurarc
@@ -0,0 +1,22 @@
+set statusbar-h-padding 0
+set statusbar-v-padding 0
+set selection-clipboard clipboard
+set database sqlite
+set synctex true
+# set synctex-editor-command "nvim -v --not-a-term -T dumb -c \"VimtexInverseSearch %{line}:%{column} '%{input}'\""
+set font "monospace 9"
+
+map u scroll half-up
+map d scroll half-down
+map D toggle_page_mode
+map r reload
+map R rotate
+map K zoom in
+map J zoom out
+map i recolor
+map p print
+map g goto top
+
+set render-loading true
+
+# vim: ft=zathurarc
diff --git a/wayland-basics/dot-local/share/applications/browser.desktop b/wayland-basics/dot-local/share/applications/browser.desktop
new file mode 120000
index 0000000..38ab478
--- /dev/null
+++ b/wayland-basics/dot-local/share/applications/browser.desktop
@@ -0,0 +1 @@
+/usr/share/applications/org.qutebrowser.qutebrowser.desktop \ No newline at end of file
diff --git a/wayland-basics/dot-local/share/applications/file.desktop b/wayland-basics/dot-local/share/applications/file.desktop
new file mode 100755
index 0000000..a7e84c3
--- /dev/null
+++ b/wayland-basics/dot-local/share/applications/file.desktop
@@ -0,0 +1,4 @@
+[Desktop Entry]
+Type=Application
+Name=File Manager
+Exec=alacritty -e lf %u
diff --git a/wayland-basics/dot-local/share/applications/img.desktop b/wayland-basics/dot-local/share/applications/img.desktop
new file mode 120000
index 0000000..6dacb85
--- /dev/null
+++ b/wayland-basics/dot-local/share/applications/img.desktop
@@ -0,0 +1 @@
+imv.desktop \ No newline at end of file
diff --git a/wayland-basics/dot-local/share/applications/imv.desktop b/wayland-basics/dot-local/share/applications/imv.desktop
new file mode 100755
index 0000000..d41f33d
--- /dev/null
+++ b/wayland-basics/dot-local/share/applications/imv.desktop
@@ -0,0 +1,7 @@
+[Desktop Entry]
+Type=Application
+Name=IMV Image viewer
+Icon=imv
+Exec=/usr/bin/imv %f
+Terminal=false
+Categories=Graphics;Viewer;
diff --git a/wayland-basics/dot-local/share/applications/mail.desktop b/wayland-basics/dot-local/share/applications/mail.desktop
new file mode 100755
index 0000000..f36fa88
--- /dev/null
+++ b/wayland-basics/dot-local/share/applications/mail.desktop
@@ -0,0 +1,4 @@
+[Desktop Entry]
+Type=Application
+Name=Mail
+Exec=alacritty -e neomutt %u
diff --git a/wayland-basics/dot-local/share/applications/mimeinfo.cache b/wayland-basics/dot-local/share/applications/mimeinfo.cache
new file mode 100644
index 0000000..4c6a9fa
--- /dev/null
+++ b/wayland-basics/dot-local/share/applications/mimeinfo.cache
@@ -0,0 +1,28 @@
+[MIME Cache]
+application/rdf+xml=browser.desktop;
+application/x-shellscript=nvim.desktop;text.desktop;
+application/xhtml+xml=browser.desktop;
+application/xml=browser.desktop;
+image/gif=browser.desktop;
+image/jpeg=browser.desktop;
+image/png=browser.desktop;
+image/webp=browser.desktop;
+text/english=nvim.desktop;text.desktop;
+text/html=browser.desktop;
+text/plain=nvim.desktop;text.desktop;
+text/x-c=nvim.desktop;text.desktop;
+text/x-c++=nvim.desktop;text.desktop;
+text/x-c++hdr=nvim.desktop;text.desktop;
+text/x-c++src=nvim.desktop;text.desktop;
+text/x-chdr=nvim.desktop;text.desktop;
+text/x-csrc=nvim.desktop;text.desktop;
+text/x-java=nvim.desktop;text.desktop;
+text/x-makefile=nvim.desktop;text.desktop;
+text/x-moc=nvim.desktop;text.desktop;
+text/x-pascal=nvim.desktop;text.desktop;
+text/x-tcl=nvim.desktop;text.desktop;
+text/x-tex=nvim.desktop;text.desktop;
+text/xml=browser.desktop;
+x-scheme-handler/http=browser.desktop;
+x-scheme-handler/https=browser.desktop;
+x-scheme-handler/qute=browser.desktop;
diff --git a/wayland-basics/dot-local/share/applications/mpv.desktop b/wayland-basics/dot-local/share/applications/mpv.desktop
new file mode 100755
index 0000000..282ae48
--- /dev/null
+++ b/wayland-basics/dot-local/share/applications/mpv.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Type=Application
+Name=MPV Media Player
+Icon=mpv
+TryExec=/usr/bin/mpv
+Exec=/usr/bin/mpv --player-operation-mode=pseudo-gui -- %U
+Terminal=false
+Categories=AudioVideo;Audio;Video;Player;TV;
+StartupWMClass=mpv
+Keywords=mpv;media;player;video;audio;tv;
diff --git a/wayland-basics/dot-local/share/applications/nvim.desktop b/wayland-basics/dot-local/share/applications/nvim.desktop
new file mode 100755
index 0000000..27fadab
--- /dev/null
+++ b/wayland-basics/dot-local/share/applications/nvim.desktop
@@ -0,0 +1,12 @@
+[Desktop Entry]
+Name=Neovim
+GenericName=Text Editor
+Comment=Edit text files
+Exec=sh -c "alacritty --class=nvim --title=nvim -- nvim %F"
+Terminal=false
+Type=Application
+Keywords=Text;editor;
+Icon=nvim
+Categories=Utility;TextEditor;
+StartupNotify=false
+MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
diff --git a/wayland-basics/dot-local/share/applications/pdf.desktop b/wayland-basics/dot-local/share/applications/pdf.desktop
new file mode 100755
index 0000000..8c38677
--- /dev/null
+++ b/wayland-basics/dot-local/share/applications/pdf.desktop
@@ -0,0 +1,4 @@
+[Desktop Entry]
+Type=Application
+Name=PDF reader
+Exec=/usr/bin/zathura %u
diff --git a/wayland-basics/dot-local/share/applications/text.desktop b/wayland-basics/dot-local/share/applications/text.desktop
new file mode 120000
index 0000000..15e1f2a
--- /dev/null
+++ b/wayland-basics/dot-local/share/applications/text.desktop
@@ -0,0 +1 @@
+nvim.desktop \ No newline at end of file
diff --git a/wayland-basics/dot-local/share/applications/video.desktop b/wayland-basics/dot-local/share/applications/video.desktop
new file mode 120000
index 0000000..0da0c22
--- /dev/null
+++ b/wayland-basics/dot-local/share/applications/video.desktop
@@ -0,0 +1 @@
+mpv.desktop \ No newline at end of file