mirror of
https://github.com/lxsang/meta-rpi-diya.git
synced 2024-12-26 18:58:20 +01:00
add tofi + icons
This commit is contained in:
parent
ff4f319acd
commit
991a5393d4
@ -50,7 +50,7 @@ IMAGE_INSTALL:append = "libcurl \
|
||||
rsync \
|
||||
coreutils \
|
||||
wayland wayland-protocols \
|
||||
labwc foot swaybg swayidle swaylock wlr-randr wlopm sfwbar \
|
||||
labwc foot swaybg swayidle swaylock wlr-randr wlopm sfwbar tofi \
|
||||
gdbserver \
|
||||
"
|
||||
|
||||
|
7
recipes-support/sfwbar/files/icon.svg
Normal file
7
recipes-support/sfwbar/files/icon.svg
Normal file
@ -0,0 +1,7 @@
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Transformed by: SVG Repo Mixer Tools -->
|
||||
<svg fill="#5651a4" height="800px" width="800px" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 50 50" enable-background="new 0 0 50 50" xml:space="preserve" stroke="#5651a4">
|
||||
<g id="SVGRepo_bgCarrier" stroke-width="0"/>
|
||||
<g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<g id="SVGRepo_iconCarrier"> <path d="M15.243,19.194c0.553,0,1-0.447,1-1s-0.447-1-1-1h-3.77c-0.553,0-1,0.447-1,1v21.951c0,0.553,0.447,1,1,1h21.951 c0.553,0,1-0.447,1-1v-3.765c0-0.553-0.447-1-1-1s-1,0.447-1,1v2.765H12.474V19.194H15.243z"/> <path d="M41.474,9.146H19.522c-0.553,0-1,0.447-1,1v21.951c0,0.553,0.447,1,1,1h21.951c0.553,0,1-0.447,1-1V10.146 C42.474,9.593,42.026,9.146,41.474,9.146z M40.474,31.097H20.522V11.146h19.951V31.097z"/> </g>
|
||||
</svg>
|
After Width: | Height: | Size: 1011 B |
@ -23,6 +23,54 @@ function("ToggleMaximize") {
|
||||
[Maximized] UnMaximize
|
||||
}
|
||||
|
||||
|
||||
function("ShowDesktopSaveFocus") {
|
||||
[Focused] UserState "2:on"
|
||||
[!Focused] UserState "2:off"
|
||||
}
|
||||
|
||||
function("ShowdesktopMinimize") {
|
||||
[!Minimized] UserState "on"
|
||||
[Minimized] UserState "off"
|
||||
[!Minimized] Minimize
|
||||
}
|
||||
|
||||
function("ShowDesktopRestore") {
|
||||
[UserState] UnMinimize
|
||||
}
|
||||
|
||||
function("ShowDesktopRestoreFocus") {
|
||||
[UserState2] Focus
|
||||
}
|
||||
|
||||
function("ShowDesktopCheckWindow") {
|
||||
[!Minimized] UserState "target","2:on"
|
||||
}
|
||||
|
||||
function("ShowDesktopReminimize")
|
||||
{
|
||||
[!Minimized] UserState "on"
|
||||
[!Minimized] Minimize
|
||||
}
|
||||
|
||||
function("ShowDesktopUnminimized") {
|
||||
[UserState2 | Children] Function "ShowDesktopSaveFocus"
|
||||
[UserState2 | Children] Function "ShowDesktopReminimize"
|
||||
[!UserState2 | Children] Function "ShowDesktopRestore"
|
||||
[!UserState2 | Children] Function "ShowDesktopRestoreFocus"
|
||||
[!UserState2] UserState "off"
|
||||
[UserState2] UserState "on"
|
||||
}
|
||||
|
||||
function("ShowDesktop") {
|
||||
[!UserState | Children] Function "ShowDesktopSaveFocus"
|
||||
[!UserState | Children] Function "ShowDesktopMinimize"
|
||||
[UserState] UserState "2:off"
|
||||
[UserState| Children ] Function "ShowDesktopCheckWindow"
|
||||
[UserState] Function "target","ShowDesktopUnminimized"
|
||||
[!UserState] UserState "on"
|
||||
}
|
||||
|
||||
menu("winops") {
|
||||
item("focus", Focus );
|
||||
item("close", Close );
|
||||
@ -33,16 +81,30 @@ menu("winops") {
|
||||
# Panel layout
|
||||
|
||||
layout {
|
||||
button {
|
||||
style = "launcher"
|
||||
value = "/usr/share/icons/hicolor/scalable/apps/tofi.svg"
|
||||
tooltip = "Quick menu"
|
||||
action = Exec "bash -c \"`tofi-drun`\""
|
||||
}
|
||||
button {
|
||||
value = "/usr/share/icons/hicolor/scalable/actions/show-desktop.svg"
|
||||
style = "launcher"
|
||||
tooltip = "Show Desktop"
|
||||
action = Function "target", "ShowDesktop"
|
||||
}
|
||||
button {
|
||||
style = "launcher"
|
||||
value = $Term
|
||||
tooltip = "Terminal"
|
||||
action = Exec $Term
|
||||
}
|
||||
|
||||
taskbar {
|
||||
taskbar "target" {
|
||||
rows = 1
|
||||
css = "* { -GtkWidget-hexpand: false; }" # stretch horizontally
|
||||
icons = true
|
||||
group = false
|
||||
sort = false
|
||||
labels = true
|
||||
action[3] = Menu "winops"
|
||||
action[2] = Close
|
||||
@ -55,14 +117,14 @@ layout {
|
||||
|
||||
#CSS
|
||||
button#launcher, button#module{
|
||||
padding: 0px 5px 0px 5px;
|
||||
padding: 0px 2px 0px 2px;
|
||||
background: none;
|
||||
border-style:none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
window {
|
||||
-GtkWidget-direction: bottom;
|
||||
-GtkWidget-direction: top;
|
||||
background-color: rgba(0,0,0,0.6);
|
||||
border-color: rgba(0,0,0,0.3);
|
||||
}
|
||||
@ -77,7 +139,7 @@ button#taskbar_normal grid {
|
||||
margin-right: 0px;
|
||||
}
|
||||
|
||||
button#taskbar_normal image, button#taskbar_active image, button#taskbar_normal:hover image {
|
||||
button#launcher image, button#taskbar_normal image, button#taskbar_active image, button#taskbar_normal:hover image {
|
||||
-GtkWidget-vexpand: true;
|
||||
box-shadow: none;
|
||||
border: none;
|
||||
@ -103,21 +165,23 @@ button#taskbar_normal , button#taskbar_active , button#taskbar_normal:hover {
|
||||
padding-top: 0.5mm;
|
||||
padding-bottom: 0.5mm;
|
||||
background-image: none;
|
||||
border-radius: 4px;
|
||||
border-radius: 0;
|
||||
border-image: none;
|
||||
-GtkWidget-hexpand: false;
|
||||
-GtkWidget-vexpand: true;
|
||||
background-color: rgba(119,119,119,0.2);
|
||||
border-color: rgba(119,119,119,0.3);
|
||||
border: none;
|
||||
/*border-color: rgba(119,119,119,0.3);*/
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
button#taskbar_active {
|
||||
background-color: rgba(255,255,255,0.2);
|
||||
border-color: rgba(255,255,255,0.4);
|
||||
/* background-color: rgba(255,255,255,0.2);
|
||||
border-color: rgba(255,255,255,0.4); */
|
||||
border-bottom:3px solid #116cd6;
|
||||
}
|
||||
|
||||
button#taskbar_normal:hover , button#taskbar_active:hover {
|
||||
/* button#taskbar_active:hover*/
|
||||
button#taskbar_normal:hover {
|
||||
background-color: rgba(176,176,176,0.22);
|
||||
border-color: rgba(234,234,234,0.44);
|
||||
}
|
||||
|
@ -10,7 +10,7 @@ DEPENDS = "gtk+3 gtk-layer-shell json-c wayland-native"
|
||||
SRCREV = "${AUTOREV}"
|
||||
|
||||
SRC_URI = "git://github.com/LBCrion/sfwbar.git;protocol=https;branch=main"
|
||||
SRC_URI += " file://sfwbar.config "
|
||||
SRC_URI += " file://sfwbar.config file://icon.svg "
|
||||
|
||||
S="${WORKDIR}/git"
|
||||
|
||||
@ -21,6 +21,13 @@ EXTRA_OEMESON += "--buildtype release"
|
||||
do_install:append () {
|
||||
install -d ${D}/${sysconfdir}/sfwbar/
|
||||
install -m 0755 ${WORKDIR}/sfwbar.config ${D}/${sysconfdir}/sfwbar/
|
||||
|
||||
install -d ${D}/usr/share
|
||||
install -d ${D}/usr/share/icons
|
||||
install -d ${D}/usr/share/icons/hicolor
|
||||
install -d ${D}/usr/share/icons/hicolor/scalable
|
||||
install -d ${D}/usr/share/icons/hicolor/scalable/actions/
|
||||
install -m 0755 ${WORKDIR}/icon.svg ${D}/usr/share/icons/hicolor/scalable/actions/show-desktop.svg
|
||||
}
|
||||
|
||||
FILES:${PN} += "/usr/share/icons/*"
|
320
recipes-support/tofi/files/config
Normal file
320
recipes-support/tofi/files/config
Normal file
@ -0,0 +1,320 @@
|
||||
# Default config for tofi
|
||||
#
|
||||
# Copy this file to ~/.config/tofi/config and get customising!
|
||||
#
|
||||
# A complete reference of available options can be found in `man 5 tofi`.
|
||||
|
||||
#
|
||||
### Fonts
|
||||
#
|
||||
# Font to use, either a path to a font file or a name.
|
||||
#
|
||||
# If a path is given, tofi will startup much quicker, but any
|
||||
# characters not in the chosen font will fail to render.
|
||||
#
|
||||
# Otherwise, fonts are interpreted in Pango format.
|
||||
font = "Sans"
|
||||
|
||||
# Point size of text.
|
||||
font-size = 24
|
||||
|
||||
# Comma separated list of OpenType font feature settings to apply,
|
||||
# if supported by the chosen font. The format is similar to the CSS
|
||||
# "font-feature-settings" property.
|
||||
#
|
||||
# Examples:
|
||||
#
|
||||
# font-features = "smcp, c2sc" (all small caps)
|
||||
# font-features = "liga 0" (disable ligatures)
|
||||
font-features = ""
|
||||
|
||||
# Comma separated list of OpenType font variation settings to apply
|
||||
# to variable fonts. The format is similar to the CSS
|
||||
# "font-variation-settings" property.
|
||||
#
|
||||
# Examples:
|
||||
#
|
||||
# font-variations = "wght 900" (Extra bold)
|
||||
# font-variations = "wdth 25, slnt -10" (Narrow and slanted)
|
||||
font-variations = ""
|
||||
|
||||
# Perform font hinting. Only applies when a path to a font has been
|
||||
# specified via `font`. Disabling font hinting speeds up text
|
||||
# rendering appreciably, but will likely look poor at small font pixel
|
||||
# sizes.
|
||||
hint-font = true
|
||||
|
||||
#
|
||||
### Text theming
|
||||
#
|
||||
# Default text color
|
||||
#
|
||||
# All text defaults to this color if not otherwise specified.
|
||||
text-color = #FFFFFF
|
||||
|
||||
# All pieces of text have the same theming attributes available:
|
||||
#
|
||||
# *-color
|
||||
# Foreground color
|
||||
#
|
||||
# *-background
|
||||
# Background color
|
||||
#
|
||||
# *-background-padding
|
||||
# Background padding in pixels (comma-delimited, CSS-style list).
|
||||
# See "DIRECTIONAL VALUES" under `man 5 tofi` for more info.
|
||||
#
|
||||
# *-background-corner-radius
|
||||
# Radius of background box corners in pixels
|
||||
|
||||
# Prompt text theme
|
||||
# prompt-color = #FFFFFF
|
||||
prompt-background = #00000000
|
||||
prompt-background-padding = 0
|
||||
prompt-background-corner-radius = 0
|
||||
|
||||
# Placeholder text theme
|
||||
placeholder-color = #FFFFFFA8
|
||||
placeholder-background = #00000000
|
||||
placeholder-background-padding = 0
|
||||
placeholder-background-corner-radius = 0
|
||||
|
||||
# Input text theme
|
||||
# input-color = #FFFFFF
|
||||
input-background = #00000000
|
||||
input-background-padding = 0
|
||||
input-background-corner-radius = 0
|
||||
|
||||
# Default result text theme
|
||||
# default-result-color = #FFFFFF
|
||||
default-result-background = #00000000
|
||||
default-result-background-padding = 0
|
||||
default-result-background-corner-radius = 0
|
||||
|
||||
# Alternate (even-numbered) result text theme
|
||||
#
|
||||
# If unspecified, these all default to the corresponding
|
||||
# default-result-* attribute.
|
||||
#
|
||||
# alternate-result-color = #FFFFFF
|
||||
# alternate-result-background = #00000000
|
||||
# alternate-result-background-padding = 0
|
||||
# alternate-result-background-corner-radius = 0
|
||||
|
||||
# Selection text
|
||||
selection-color = #F92672
|
||||
selection-background = #00000000
|
||||
selection-background-padding = 0
|
||||
selection-background-corner-radius = 0
|
||||
|
||||
# Matching portion of selection text
|
||||
selection-match-color = #00000000
|
||||
|
||||
|
||||
#
|
||||
### Text cursor theme
|
||||
#
|
||||
# Style of the optional text cursor.
|
||||
#
|
||||
# Supported values: bar, block, underscore
|
||||
text-cursor-style = bar
|
||||
|
||||
# Color of the text cursor
|
||||
#
|
||||
# If unspecified, defaults to the same as input-color
|
||||
# text-cursor-color = #FFFFFF
|
||||
|
||||
# Color of text behind the text cursor when text-cursor-style = block
|
||||
#
|
||||
# If unspecified, defaults to the same as background-color
|
||||
# text-cursor-background = #000000
|
||||
|
||||
# Corner radius of the text cursor
|
||||
text-cursor-corner-radius = 0
|
||||
|
||||
# Thickness of the bar and underscore text cursors.
|
||||
#
|
||||
# If unspecified, defaults to a font-dependent value when
|
||||
# text-cursor-style = underscore, or to 2 otherwise.
|
||||
# text-cursor-thickness = 2
|
||||
|
||||
#
|
||||
### Text layout
|
||||
#
|
||||
# Prompt to display.
|
||||
prompt-text = "run: "
|
||||
|
||||
# Extra horizontal padding between prompt and input.
|
||||
prompt-padding = 0
|
||||
|
||||
# Placeholder input text.
|
||||
placeholder-text = ""
|
||||
|
||||
# Maximum number of results to display.
|
||||
# If 0, tofi will draw as many results as it can fit in the window.
|
||||
num-results = 0
|
||||
|
||||
# Spacing between results in pixels. Can be negative.
|
||||
result-spacing = 0
|
||||
|
||||
# List results horizontally.
|
||||
horizontal = false
|
||||
|
||||
# Minimum width of input in horizontal mode.
|
||||
min-input-width = 0
|
||||
|
||||
#
|
||||
### Window theming
|
||||
#
|
||||
# Width and height of the window. Can be pixels or a percentage.
|
||||
width = 640
|
||||
height = 480
|
||||
|
||||
# Window background color
|
||||
background-color = #1B1D1E
|
||||
|
||||
# Width of the border outlines in pixels.
|
||||
outline-width = 4
|
||||
|
||||
# Border outline color
|
||||
outline-color = #080800
|
||||
|
||||
# Width of the border in pixels.
|
||||
border-width = 12
|
||||
|
||||
# Border color
|
||||
border-color = #F92672
|
||||
|
||||
# Radius of window corners in pixels.
|
||||
corner-radius = 0
|
||||
|
||||
# Padding between borders and text. Can be pixels or a percentage.
|
||||
padding-top = 8
|
||||
padding-bottom = 8
|
||||
padding-left = 8
|
||||
padding-right = 8
|
||||
|
||||
# Whether to clip text drawing to be within the specified padding. This
|
||||
# is mostly important for allowing text to be inset from the border,
|
||||
# while still allowing text backgrounds to reach right to the edge.
|
||||
clip-to-padding = true
|
||||
|
||||
# Whether to scale the window by the output's scale factor.
|
||||
scale = true
|
||||
|
||||
#
|
||||
### Window positioning
|
||||
#
|
||||
# The name of the output to appear on. An empty string will use the
|
||||
# default output chosen by the compositor.
|
||||
output = ""
|
||||
|
||||
# Location on screen to anchor the window to.
|
||||
#
|
||||
# Supported values: top-left, top, top-right, right, bottom-right,
|
||||
# bottom, bottom-left, left, center.
|
||||
anchor = center
|
||||
|
||||
# Set the size of the exclusive zone.
|
||||
#
|
||||
# A value of -1 means ignore exclusive zones completely.
|
||||
# A value of 0 will move tofi out of the way of other windows' zones.
|
||||
# A value greater than 0 will set that much space as an exclusive zone.
|
||||
#
|
||||
# Values greater than 0 are only meaningful when tofi is anchored to a
|
||||
# single edge.
|
||||
exclusive-zone = -1
|
||||
|
||||
# Window offset from edge of screen. Only has an effect when anchored
|
||||
# to the relevant edge. Can be pixels or a percentage.
|
||||
margin-top = 0
|
||||
margin-bottom = 0
|
||||
margin-left = 0
|
||||
margin-right = 0
|
||||
|
||||
#
|
||||
### Behaviour
|
||||
#
|
||||
# Hide the mouse cursor.
|
||||
hide-cursor = true
|
||||
|
||||
# Show a text cursor in the input field.
|
||||
text-cursor = true
|
||||
|
||||
# Sort results by number of usages in run and drun modes.
|
||||
history = true
|
||||
|
||||
# Specify an alternate file to read and store history information
|
||||
# from / to. This shouldn't normally be needed, and is intended to
|
||||
# facilitate the creation of custom modes.
|
||||
# history-file = /path/to/histfile
|
||||
|
||||
# Select the matching algorithm used. If normal, substring matching is
|
||||
# used, weighted to favour matches closer to the beginning of the
|
||||
# string. If prefix, only substrings at the beginning of the string are
|
||||
# matched. If fuzzy, searching is performed via a simple fuzzy matching
|
||||
# algorithm.
|
||||
#
|
||||
# Supported values: normal, prefix, fuzzy
|
||||
matching-algorithm = normal
|
||||
|
||||
# If true, require a match to allow a selection to be made. If false,
|
||||
# making a selection with no matches will print input to stdout.
|
||||
# In drun mode, this is always true.
|
||||
require-match = true
|
||||
|
||||
# If true, automatically accept a result if it is the only one
|
||||
# remaining. If there's only one result on startup, window creation is
|
||||
# skipped altogether.
|
||||
auto-accept-single = false
|
||||
|
||||
# If true, typed input will be hidden, and what is displayed (if
|
||||
# anything) is determined by the hidden-character option.
|
||||
hide-input = false
|
||||
|
||||
# Replace displayed input characters with a character. If the empty
|
||||
# string is given, input will be completely hidden.
|
||||
# This option only has an effect when hide-input is set to true.
|
||||
hidden-character = "*"
|
||||
|
||||
# If true, use physical keys for shortcuts, regardless of the current
|
||||
# keyboard layout. If false, use the current layout's keys.
|
||||
physical-keybindings = true
|
||||
|
||||
# Instead of printing the selected entry, print the 1-based index of
|
||||
# the selection. This option has no effect in run or drun mode. If
|
||||
# require-match is set to false, non-matching input will still result
|
||||
# in the input being printed.
|
||||
print-index = false
|
||||
|
||||
# If true, directly launch applications on selection when in drun mode.
|
||||
# Otherwise, just print the command line to stdout.
|
||||
drun-launch = false
|
||||
|
||||
# The terminal to run terminal programs in when in drun mode.
|
||||
# This option has no effect if drun-launch is set to true.
|
||||
# Defaults to the value of the TERMINAL environment variable.
|
||||
terminal = foot
|
||||
|
||||
# Delay keyboard initialisation until after the first draw to screen.
|
||||
# This option is experimental, and will cause tofi to miss keypresses
|
||||
# for a short time after launch. The only reason to use this option is
|
||||
# performance on slow systems.
|
||||
late-keyboard-init = false
|
||||
|
||||
# If true, allow multiple simultaneous processes.
|
||||
# If false, create a lock file on startup to prevent multiple instances
|
||||
# from running simultaneously.
|
||||
multi-instance = false
|
||||
|
||||
# Assume input is plain ASCII, and disable some Unicode handling
|
||||
# functions. This is faster, but means e.g. a search for "e" will not
|
||||
# match "é".
|
||||
ascii-input = false
|
||||
|
||||
#
|
||||
### Inclusion
|
||||
#
|
||||
# Configs can be split between multiple files, and then included
|
||||
# within each other.
|
||||
# include = /path/to/config
|
2
recipes-support/tofi/files/icon.svg
Normal file
2
recipes-support/tofi/files/icon.svg
Normal file
@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
||||
<svg fill="#000000" width="800px" height="800px" viewBox="0 0 24 24" id="menu-alt-2" data-name="Line Color" xmlns="http://www.w3.org/2000/svg" class="icon line-color"><path id="secondary" d="M21,3H14v7h7ZM10,14H3v7h7Z" style="fill: none; stroke: rgb(44, 169, 188); stroke-linecap: round; stroke-linejoin: round; stroke-width: 2;"></path><path id="primary" d="M10,10H3V3h7Zm11,4H14v7h7Z" style="fill: none; stroke: rgb(0, 0, 0); stroke-linecap: round; stroke-linejoin: round; stroke-width: 2;"></path></svg>
|
After Width: | Height: | Size: 625 B |
33
recipes-support/tofi/tofi_git.bb
Normal file
33
recipes-support/tofi/tofi_git.bb
Normal file
@ -0,0 +1,33 @@
|
||||
DESCRIPTION = "tofi menu for wayland"
|
||||
|
||||
LICENSE = "MIT"
|
||||
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
|
||||
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
|
||||
|
||||
DEPENDS = "wayland wayland-native wayland-protocols"
|
||||
|
||||
SRCREV = "${AUTOREV}"
|
||||
|
||||
SRC_URI = "git://github.com/philj56/tofi.git;protocol=https;branch=master"
|
||||
SRC_URI += " file://icon.svg file://config "
|
||||
|
||||
S="${WORKDIR}/git"
|
||||
|
||||
inherit meson pkgconfig
|
||||
|
||||
EXTRA_OEMESON += "--buildtype release"
|
||||
|
||||
do_install:append () {
|
||||
install -d ${D}/usr/share
|
||||
install -d ${D}/usr/share/icons
|
||||
install -d ${D}/usr/share/icons/hicolor
|
||||
install -d ${D}/usr/share/icons/hicolor/scalable
|
||||
install -d ${D}/usr/share/icons/hicolor/scalable/apps
|
||||
install -m 0755 ${WORKDIR}/icon.svg ${D}/usr/share/icons/hicolor/scalable/apps/tofi.svg
|
||||
|
||||
# replace the default config
|
||||
install -m 0755 ${WORKDIR}/config ${D}/${sysconfdir}/xdg/tofi/
|
||||
}
|
||||
|
||||
# FILES:${PN} += "/usr/share/icons/*"
|
Loading…
Reference in New Issue
Block a user