first actual commit

This commit is contained in:
Hane 2024-07-05 02:06:35 +02:00
commit 90ce863297
25 changed files with 1668 additions and 0 deletions

11
.bash_profile Normal file
View file

@ -0,0 +1,11 @@
#
# ~/.bash_profile
#
[[ -f ~/.bashrc ]] && . ~/.bashrc
#export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/ssh-agent.socket"
eval $(ssh-agent -s) >/dev/null
export MANGOHUD_CONFIGFILE=~/.config/MangoHud/MangoHud.conf
#export MANGOHUD_CONFIGFILE="~/MangoHud.conf"

15
.bashrc Normal file
View file

@ -0,0 +1,15 @@
#
# ~/.bashrc
#
# If not running interactively, don't do anything
[[ $- != *i* ]] && return
alias ls='ls --color=auto'
alias grep='grep --color=auto'
alias lsp='ls -al --color=auto'
alias modosexo='kscreen-doctor output.DP-2.rotation.right'
alias nomodosexo='kscreen-doctor output.DP-2.rotation.none'
PS1='[\u@\h \W]\$ '
export VITASDK=/usr/local/vitasdk
export PATH=$VITASDK/bin:$PATH

View file

@ -0,0 +1,20 @@
general {
lock_cmd = notify-send "Lock!" # dbus/sysd lock command (loginctl lock-session)
unlock_cmd = notify-send "Unlock!" # same as above, but unlock
before_sleep_cmd = notify-send "Zzz" # command ran before sleep
after_sleep_cmd = notify-send "Awake!" # command ran after sleep
ignore_dbus_inhibit = false # whether to ignore dbus-sent idle-inhibit requests (used by e.g. firefox or steam)
ignore_systemd_inhibit = false # whether to ignore systemd-inhibit --what=idle inhibitors
}
listener {
timeout = 600 # in seconds
on-timeout = hyprlock # command to run when timeout has passed
# on-resume = hyprctl dispatch dpms on # command to run when activity is detected after timeout has fired.
}
listener {
timeout = 660 # in seconds
on-timeout = hyprctl dispatch dpms off # command to run when timeout has passed
on-resume = hyprctl dispatch dpms on && notify-send "Hola :3" # command to run when activity is detected after timeout has fired.
}

374
.config/hypr/hyprland.conf Normal file
View file

@ -0,0 +1,374 @@
# #######################################################################################
# AUTOGENERATED HYPR CONFIG.
# PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT,
# OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS.
# #######################################################################################
#autogenerated = 1 # remove this line to remove the warning
# This is an example Hyprland config file.
# Refer to the wiki for more information.
# https://wiki.hyprland.org/Configuring/Configuring-Hyprland/
# Please note not all available settings / options are set here.
# For a full list, see the wiki
# You can split this configuration into multiple files
# Create your files separately and then link them to this file like this:
# source = ~/.config/hypr/myColors.conf
################
### MONITORS ###
################
# See https://wiki.hyprland.org/Configuring/Monitors/
monitor=,1920x1080@75,0x0,1,vrr,2
###################
### MY PROGRAMS ###
###################
# See https://wiki.hyprland.org/Configuring/Keywords/
# Set programs that you use
$terminal = konsole
$fileManager = nautilus
$menu = wofi --show drun
#################
### AUTOSTART ###
#################
# Autostart necessary processes (like notifications daemons, status bars, etc.)
# Or execute your favorite apps at launch like this:
# exec-once = ~/.config/hypr/portal-setup.sh
exec-once = mako
exec-once = /usr/lib/polkit-kde-authentication-agent-1
exec-once = hyprpaper
#exec-once = ~/Capybara/scripts/hyprland_change_bg.sh
exec-once = waybar
exec-once = hypridle
exec-once = wl-paste --type text --watch cliphist store #Stores only text data
exec-once = wl-paste --type image --watch cliphist store #Stores only image data
# exec-once = $terminal
# exec-once = nm-applet &
# exec-once = waybar & hyprpaper & firefox
exec-once = [workspace 1 silent] qutebrowser
exec-once = [workspace 1 silent] emacs
exec-once = vesktop
exec-once = steam
#############################
### ENVIRONMENT VARIABLES ###
#############################
# See https://wiki.hyprland.org/Configuring/Environment-variables/
env = XCURSOR_SIZE,24
env = HYPRCURSOR_SIZE,24
env = QT_QPA_PLATFORMTHEME,qt5ct
env = STEAM_GAMESCOPE_VRR_SUPPORTED,1
env = WLR_DRM_NO_ATOMIC,1
#####################
### LOOK AND FEEL ###
#####################
# Refer to https://wiki.hyprland.org/Configuring/Variables/
# https://wiki.hyprland.org/Configuring/Variables/#general
general {
gaps_in = 6
gaps_out = 15,10,10,10
border_size = 2
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
#col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
col.active_border = rgb(ffb2ee) rgba(00ff99ee) rgb(FFFFFF) 90deg
col.inactive_border = rgba(ffffff7a) rgba(00ff997a) rgba(ffb2ee7a) 90deg #204, 136, 24
# Set to true enable resizing windows by clicking and dragging on borders and gaps
resize_on_border = false
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
allow_tearing = true
layout = master
}
# https://wiki.hyprland.org/Configuring/Variables/#decoration
decoration {
rounding = 10
# Change transparency of focused and unfocused windows
active_opacity = 1.0
inactive_opacity = 0.96
dim_inactive = true
dim_strength = 0.12
dim_special = 0.1
drop_shadow = true
shadow_range = 40
shadow_render_power = 3
# col.shadow = rgba(1a1a1aee)
col.shadow = rgba(87658aff)
col.shadow_inactive = rgba(1a1a1aee)
# https://wiki.hyprland.org/Configuring/Variables/#blur
blur {
enabled = true
size = 3
passes = 1
xray = false
noise = 0.0117
contrast = 0.8916
brightness = 1.0072
vibrancy = 0.2696
vibrancy_darkness = 0.2696
special = true
popups = false
}
}
# https://wiki.hyprland.org/Configuring/Variables/#animations
animations {
enabled = true
# Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
animation = windows, 1, 7, myBezier
animation = windowsOut, 1, 7, default, popin 80%
animation = border, 1, 10, default
animation = borderangle, 1, 8, default
animation = fade, 1, 7, default
animation = workspaces, 1, 6, default
}
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
dwindle {
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = true # You probably want this
force_split = 2
smart_resizing = false
}
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
master {
no_gaps_when_only = 2
mfact = 0.55
# new_is_master = true
}
# https://wiki.hyprland.org/Configuring/Variables/#misc
misc {
font_family = 0x Proto Nerd Font Mono
force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :(
no_direct_scanout = true #Important!
}
group {
groupbar {
render_titles = true
font_family = 0x Proto Nerd Font Mono
height = 20
font_size = 10
stacked = false
text_color = rgba(674e69ff)
col.active = rgba(fadbf7ff)
col.inactive = rgba(E1D2CEff)
}
}
#############
### INPUT ###
#############
# https://wiki.hyprland.org/Configuring/Variables/#input
input {
kb_layout = us
kb_variant =
kb_model =
kb_options = eyy:eyymacs,shift:both_capslock
kb_rules =
accel_profile = flat
follow_mouse = 1
# 0 - Cursor movement will not change focus.
# 1 - Cursor movement will always change focus to the window under the cursor.
# 2 - Cursor focus will be detached from keyboard focus. Clicking on a window will move keyboard focus to that window.
# 3 - Cursor focus will be completely separate from keyboard focus. Clicking on a window will not change keyboard focus.
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
touchpad {
natural_scroll = false
}
}
# https://wiki.hyprland.org/Configuring/Variables/#gestures
gestures {
workspace_swipe = false
}
cursor {
no_hardware_cursors = true
no_break_fs_vrr = true
inactive_timeout = 1
}
# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
device {
name = epic-mouse-v1
sensitivity = -0.5
}
####################
### KEYBINDINGSS ###
####################
# See https://wiki.hyprland.org/Configuring/Keywords/
$mainMod = MOD5 # Sets "RAlt" key as main modifier
$secondaryMod = SUPER
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = $mainMod, T, exec, $terminal
bind = $mainMod, F, exec, $fileManager
bind = $mainMod, V, togglefloating,
bind = $mainMod, C, pin,
bind = $mainMod, B, exec, cliphist list | wofi --dmenu | cliphist decode | wl-copy
bind = $mainMod, R, exec, $menu
bind = $secondaryMod, P, pseudo, # dwindle
bind = $secondaryMod, L, togglesplit, # dwindle
bind = $secondaryMod, P, layoutmsg, swapwithmaster # master
bind = $secondaryMod, L, layoutmsg, orientationnext # master
bind = $secondaryMod, M, layoutmsg, addmaster # master
bind = $secondaryMod, N, layoutmsg, removemaster # master
bind = $secondaryMod, H, layoutmsg, mfact -0.1 # master
bind = $secondaryMod, Y, layoutmsg, mfact +0.1 # master
bind = $secondaryMod, code:60, exec, wofi-emoji #. key
# Group management
bind = SUPER, I, togglegroup,
bind = ALT, Tab, changegroupactive, f
bind = ALT SHIFT, Tab, changegroupactive, b
bind = SUPER, L, moveintogroup, r
bind = SUPER, K, moveintogroup, u
bind = SUPER, J, moveintogroup, d
bind = SUPER, H, moveintogroup, l
bind = SUPER, O, moveoutofgroup, active
#resizeactive moveactive swapwindow movewindow
# Locks and exits
bind = $mainMod, F8, exec, hyprlock
bind = $mainMod, code:59, exec, makoctl dismiss -a #, key
bind = $mainMod, F9, exec, shutdown --no-wall && notify-send "Shutting down in 1 min!"
bind = $mainMod, F10, exec, shutdown --no-wall -c && notify-send "Shutdown aborted"
bind = $mainMod, F11, exit,
# bind = $mainMod, T, exec, hyprctl activewindow | grep pid | tr -d 'pid:' | xargs kill
# bind = $mainMod, C, killactive,
# Move focus
bind = $mainMod, h, movefocus, l
bind = $mainMod, j, movefocus, d
bind = $mainMod, k, movefocus, u
bind = $mainMod, l, movefocus, r
# Switch workspaces with mainMod + [0-9]
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10
#Discord mute
bindln = , Pause, sendshortcut,CTRL SHIFT, m, class:^(vesktop)
# Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10
# Special workspaces
bind = $mainMod, Tab, togglespecialworkspace, aux
bind = $mainMod SHIFT, Tab, movetoworkspace, special:aux
bind = $secondaryMod, S, togglespecialworkspace, launchers
bind = $secondaryMod SHIFT, S, movetoworkspace, special:launchers
bind = $secondaryMod, D, togglespecialworkspace, comms
bind = $secondaryMod SHIFT, D, movetoworkspace, special:comms
# Scroll through existing workspaces with mainMod + scroll or ^J/^K
bind = $mainMod CTRL, K, workspace, e+1
bind = $mainMod CTRL, J, workspace, e-1
bind = SUPER, mouse_up, workspace, e+1
bind = SUPER, mouse_down, workspace, e-1
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = SUPER, mouse:272, movewindow
bindm = SUPER, mouse:273, resizewindow
# Waybar
bind = $mainMod, Y, exec, pkill -SIGUSR1 waybar
bind = $mainMod, code:51, exec, pkill -SIGUSR2 waybar
bind = $mainMod, code:35, exec, waybar
# screenshot
bind= SHIFT, Print, exec, grim -g "$(slurp)" - | wl-copy && wl-paste > ~/Pictures/Screenshots/Screenshot-$(date +%F_%T).png | notify-send "Screenshot of the region taken" -t 3000 # screenshot of a region
bind = , Print, exec, grim - | wl-copy && wl-paste > ~/Pictures/Screenshots/Screenshot-$(date +%F_%T).png | notify-send "Screenshot of whole screen taken" -t 3000 # screenshot of the whole screen
bind = CTRL SHIFT, Print, exec, grim -g "$(slurp)" - | swappy -f - # screenshot of a region, sent to swappy
##############################
### WINDOWS AND WORKSPACES ###
##############################
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
# Example windowrule v1
# windowrule = float, ^(kitty)$
# Example windowrule v2
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
windowrulev2 = suppressevent maximize, class:.* # You'll probably like this.
# windowrulev2 = immediate, class:^(StreetFighter6.exe)$
# Games rules
windowrulev2 = immediate, class:^(steam_app_\d+)
windowrulev2 = immediate, class:^(cs2)$
windowrulev2 = workspace 5, class:^(steam_app_\d+)
windowrulev2 = workspace 5, class:^(cs2)$
# Make forked UIs appear on corresponding workspaces
windowrulev2 = workspace special:comms silent, class:^(vesktop)$
windowrulev2 = workspace special:launchers silent, class:^(steam)$
# Steam bugfix rules
windowrulev2 = stayfocused, title:^(),class:^(steam)
windowrulev2 = minsize 1 1 , title:^(),class:^(steam)

View file

@ -0,0 +1,99 @@
general {
disable_loading_bar = false
hide_cursor = true
ignore_empty_input = true
grace = 5
}
background {
monitor =
path = /home/Hane/.config/wallpapers/bis2.png
color = rgba(0, 0, 0, 1)
enabled = true
special = true
blur_passes = 2
blur_size = 1
noise = 0.0117
contrast = 0.8916
brightness = 0.8172
vibrancy = 0.1696
vibrancy_darkness = 0.0
}
input-field {
monitor =
# size = 50, 50
# outline_thickness = 3
outer_color = rgba(00ff99ee)
inner_color = rgb(0, 0, 0)
# font_color = rgb(0, 0, 0)
# fade_on_empty = true
# hide_input = true
# position = 0, -60
# halign = center
# valign = center
size = 300, 50
outline_thickness = 2
dots_size = 0.33 # Scale of input-field height, 0.2 - 0.8
dots_spacing = 0.15 # Scale of dots' absolute size, 0.0 - 1.0
dots_center = true
dots_rounding = -2
placeholder_text = AwA?
font_color = rgb(255, 255, 255)
font_family = 0xProto Nerd Font Mono
fail_color = rgb(204, 136, 34) #cc88322
fail_text = Oops<sup>$ATTEMPTS</sup>
fail_transition = 150
capslock_color = -1
shadow_passes = 3
blur_passes = 2
blur_size = 1
position = 6, -61
halign = center
valign = center
}
label {
monitor =
text = $TIME
color = rgb(ffb2ee)
font_size = 36
font_family = 0xProto Nerd Font Mono
position = 0, 120
halign = center
valign = center
}
# label {
# monitor =
# text = <span> </span>
# position = 6, -61
# font_family = Microgramma D
# font_size = 20
# halign = center
# valign = center
# }
# label {
# monitor =
# text = Welcome
# color = rgba(200, 200, 200, 1.0)
# font_size = 20
# font_family = 0xProto Nerd Font Mono
# position = 0, 30
# halign = center
# valign = center
# }
# label {
# monitor =
# text = <span foreground="red">$USER</span>
# color = rgba(200, 200, 200, 1.0)
# font_size = 22
# font_family = 0xProto Nerd Font Mono
# position = 0, 0
# halign = center
# valign = center
# }

View file

@ -0,0 +1,29 @@
preload = ~/.config/wallpapers/yellow.png
#preload = ~/.config/wallpapers/keke.png
#preload = ~/.config/wallpapers/boobiful.png
#preload = ~/.config/wallpapers/bremer.png
#preload = ~/.config/wallpapers/bremer2.png
#preload = ~/.config/wallpapers/aqua.png
#preload = ~/.config/wallpapers/keke.png
#preload = ~/.config/wallpapers/yellow.png
#if more than one preload is desired then continue to preload other backgrounds
#preload = /path/to/next_image.png
# .. more preloads
#set the default wallpaper(s) seen on initial workspace(s) --depending on the number of monitors used
#wallpaper = monitor1,/path/to/image.png
#if more than one monitor in use, can load a 2nd image
#wallpaper = ,~/.config/wallpapers/keke.png
wallpaper = ,~/.config/wallpapers/yellow.png
#wallpaper = ,~/.config/wallpapers/boobiful.png
#wallpaper = ,~/.config/wallpapers/bremer.png
#wallpaper = ,~/.config/wallpapers/breme2.png
#wallpaper = ,~/.config/wallpapers/aqua.png
#wallpaper = ,~/.config/wallpapers/
# .. more monitors
#enable splash text rendering over the wallpaper
#splash = true
#fully disable ipc
# ipc = off

19
.config/hypr/portal-setup.sh Executable file
View file

@ -0,0 +1,19 @@
#!/bin/bash
sleep 1
killall xdg-desktop-portal-hyprland
killall xdg-desktop-portal-gtk
killall xdg-desktop-portal-gnome
killall xdg-desktop-portal-wlr
killall xdg-desktop-portal-kde
killall xdg-desktop-portal
logger 'killed all xdg-desktop'
sleep 1
/usr/libexec/xdg-desktop-portal-gtk &
logger 'xdg-desktop-portal-gtk started'
sleep 1
/usr/libexec/xdg-desktop-portal-hyprland &
logger 'xdg-desktop-portal-hyprland started'
sleep 2
/usr/libexec/xdg-desktop-portal &
logger 'xdg-desktop-portal started'

33
.config/konsolerc Normal file
View file

@ -0,0 +1,33 @@
MenuBar=Disabled
[Desktop Entry]
DefaultProfile=Profairu.profile
[General]
ConfigVersion=1
[MainWindow]
1080x1920 screen: Height=468
1080x1920 screen: Width=1080
1080x1920 screen: XPosition=0
1080x1920 screen: YPosition=72
1920x1080 screen: Height=1008
1920x1080 screen: Width=1920
1920x1080 screen: Window-Maximized=true
1920x1080 screen: XPosition=0
1920x1080 screen: YPosition=72
DP-2=DP-2
MenuBar=Disabled
ToolBarsMovable=Disabled
[MainWindow][Toolbar sessionToolbar]
ToolButtonStyle=IconOnly
[Notification Messages]
CloseAllEmptyTabs=true
[Toolbar sessionToolbar]
ToolButtonStyle=IconOnly
[UiSettings]
ColorScheme=

12
.config/konsolesshconfig Normal file
View file

@ -0,0 +1,12 @@
[Global plugin config]
manageProfile=false
[SSH Config][depresion]
hostname=git.roboces.dev
identifier=depresion
importedFromSshConfig=true
port=22
profileName=
sshkey=clab
useSshConfig=true
username=

27
.config/mako/config Normal file
View file

@ -0,0 +1,27 @@
# GLOBAL
# BINDING
# STYLE
font=0xProto Nerd Font Mono
background-color=#ffb2eecf
text-color=#FFFFFFFF
margin=5
border-size=3
border-color=#00ff992e
border-radius=10
max-icon-size=32
icon-location=right
#output = pantallitar xdg-output-unstable-v1 ver2
# CRITERIA
# MODES
[mode=isolation]
invisible=1
[mode=away]
default-timeout=0
ignore-timeout=1

View file

@ -0,0 +1,19 @@
# If a config.py file exists, this file is ignored unless it's explicitly loaded
# via config.load_autoconfig(). For more information, see:
# https://github.com/qutebrowser/qutebrowser/blob/main/doc/help/configuring.asciidoc#loading-autoconfigyml
# DO NOT edit this file by hand, qutebrowser will overwrite it.
# Instead, create a config.py - see :help for details.
config_version: 2
settings:
bindings.commands:
global:
insert:
<F7>: mode-leave ;; jseval -q document.activeElement.blur()
z: insert-text z
normal:
<Escape>: null
<F7>: nop
X: search
clear-keychain: <Ctrl+c>
z: cmd-set-text -s :search

View file

@ -0,0 +1,2 @@
qute://bindings/ Bindings
https://wallhaven.cc/w/yj2ldk Gabriel Dropout, anime girls, Gabriel White Tenma, anime | 3840x2160 Wallpaper - wallhaven.cc

View file

@ -0,0 +1,8 @@
[FileDialog]
history=file:///home/Hane/Downloads
lastVisited=file:///home/Hane/Downloads
qtVersion=6.6.1
shortcuts=file:, file:///home/Hane
sidebarWidth=100
treeViewHeader=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x2\t\0\0\0\x4\x1\x1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x64\xff\xff\xff\xff\0\0\0\x81\0\0\0\0\0\0\0\x4\0\0\x1\v\0\0\0\x1\0\0\0\0\0\0\0\x42\0\0\0\x1\0\0\0\0\0\0\0\x43\0\0\0\x1\0\0\0\0\0\0\0y\0\0\0\x1\0\0\0\0\0\0\x3\xe8\0\xff\xff\xff\xff\0\0\0\0)
viewMode=Detail

View file

@ -0,0 +1,15 @@
shader hyprland https://github.com/hyprwm/Hyprland/issues/2563
waybar css https://www.reddit.com/r/swaywm/comments/qbfvcx/comment/hhbe7s8/?utm_source=share&utm_medium=web2x&context=3
cssportal https://www.cssportal.com/css-cubic-bezier-generator/
amdpls https://gitlab.freedesktop.org/drm/amd/-/issues/1500
input logind https://www.reddit.com/r/linuxquestions/comments/bh4ex1/is_adding_a_user_to_input_group_secure/
pulsemixergit https://github.com/GeorgeFilipkin/pulsemixer
paborrar https://www.reddit.com/r/swaywm/comments/v9cdxg/waybar_hide_but_show_on_empty_workspace/
gpubar https://www.reddit.com/r/swaywm/comments/ncjpfz/how_to_add_gpu_usage_to_waybar/
hidebar https://www.reddit.com/r/swaywm/comments/saucyg/you_can_hidetoggle_waybar/
qtbien https://www.lorenzobettini.it/2024/06/kde-theming-and-styling-in-hyprland/
moji https://github.com/Zeioth/wofi-emoji
cheirar https://hg.sr.ht/~scoopta/wofi
truetuto https://www.qutebrowser.org/doc/help/settings.html#bindings.commands
nerdfontsus https://github.com/ryanoasis/nerd-fonts?tab=readme-ov-file

252
.config/waybar/config.jsonc Normal file
View file

@ -0,0 +1,252 @@
// -*- mode: jsonc -*-
{
// "layer": "top", // Waybar at top layer
// "position": "bottom", // Waybar position (top|bottom|left|right)
"height": 17, // Waybar height (to be removed for auto height)
// "width": 1280, // Waybar width
"spacing": 0, // Gaps between modules (4px)
"fixed-center": true,
// "reload_style_on_change": true,
// Choose the order of the modules
"modules-left": [
"hyprland/workspaces",
// "sway/mode",
// "sway/scratchpad",
"custom/media",
"hyprland/window"
],
"modules-center": [
],
"modules-right": [
"image",
"mpd",
"gamemode",
"custom/gamemodetoggle",
"privacy",
"idle_inhibitor",
"pulseaudio",
"network",
// "power-profiles-daemon",
"cpu",
"memory",
// "temperature",
// "backlight",
// "keyboard-state",
// "hyprland/language",
// "battery",
// "battery#bat2",
"clock",
"tray",
],
// Modules configuration
"hyprland/workspaces": {
"disable-scroll": true,
"all-outputs": true,
"warp-on-scroll": false,
"show-special": true,
"special-visible-only": true,
"format": "{name}: {icon}",
"format-icons": {
"1": "",
"2": "",
"3": "",
"4": "",
"5": "",
"urgent": "",
"focused": "",
"default": ""
},
"format-window-separator": " | ",
"move-to-monitor": true
},
"keyboard-state": {
"numlock": true,
"capslock": true,
"format": "{name} {icon}",
"format-icons": {
"locked": "",
"unlocked": ""
}
},
"sway/mode": {
"format": "<span style=\"italic\">{}</span>"
},
"sway/scratchpad": {
"format": "{icon} {count}",
"show-empty": false,
"format-icons": ["", ""],
"tooltip": true,
"tooltip-format": "{app}: {title}"
},
"hyprland/window": {
// "format": "{icon} {count}",
// "show-empty": false,
// "format-icons": ["", ""],
// "tooltip": true,
// "tooltip-format": "{app}: {title}"
// "max-length": 2,
},
"gamemode": {
"hide-not-running": true,
"format": "{count}",
"use-icon": true,
"icon-size": 14,
// "format-alt": "si",
},
"custom/gamemodetoggle": {
"on-click": "gamemoded -r",
"on-click-right": "pkill -SIGINT gamemoded",
"format": "",
"tooltip-format": "MB1: Start gamemode\nMB2: Stop gamemode",
// "format-alt": "si",
},
"privacy": {
"icon-size": 14,
"icon-spacing": 0
},
"image": {
"path": "~/.config/wallpapers/keke.png",
"size": 32,
"interval": 0,
"on-click": "mpc toggle"
},
"mpd": {
"format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ",
"format-disconnected": "Disconnected ",
"format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ",
"unknown-tag": "N/A",
"interval": 5,
"consume-icons": {
"on": " "
},
"random-icons": {
"off": "<span color=\"#f53c3c\"></span> ",
"on": " "
},
"repeat-icons": {
"on": " "
},
"single-icons": {
"on": "1 "
},
"state-icons": {
"paused": "",
"playing": ""
},
"tooltip-format": "MPD (connected)",
"tooltip-format-disconnected": "MPD (disconnected)"
},
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "",
"deactivated": ""
}
},
"tray": {
// "icon-size": 21,
"spacing": 10,
// "show-passive-items": true
},
"clock": {
// "timezone": "Europe/Madrid",
// "tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
"format-alt": "{:%Y-%m-%d}"
},
"cpu": {
"format": "{usage:3}% ",
"tooltip": true
},
"memory": {
//"format": "{}% ",///{total:0.1f}
"format": "{used:4.1f}G | {swapUsed:>4.1f}G ",
"states": {
"warning":10,
"critial":14
},
"tooltip": true,
"tooltip-format": "Mem: {used:0.1f}G out of {total:0.1f}G ({avail:0.1f}G available)\nSwp: {swapUsed:0.1f}G out of {swapTotal:0.1f}G ({swapAvail:0.1f}G available)"
},
"temperature": {
// "thermal-zone": 2,
// "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
"critical-threshold": 80,
// "format-critical": "{temperatureC}°C {icon}",
"format": "{temperatureC}°C {icon}",
"format-icons": ["", "", ""]
},
"backlight": {
// "device": "acpi_video1",
"format": "{percent}% {icon}",
"format-icons": ["", "", "", "", "", "", "", "", ""]
},
"battery": {
"states": {
// "good": 95,
"warning": 30,
"critical": 15
},
"format": "{capacity}% {icon}",
"format-full": "{capacity}% {icon}",
"format-charging": "{capacity}% ",
"format-plugged": "{capacity}% ",
"format-alt": "{time} {icon}",
// "format-good": "", // An empty format will hide the module
// "format-full": "",
"format-icons": ["", "", "", "", ""]
},
"battery#bat2": {
"bat": "BAT2"
},
"power-profiles-daemon": {
"format": "{icon}",
"tooltip-format": "Power profile: {profile}\nDriver: {driver}",
"tooltip": true,
"format-icons": {
"default": "",
"performance": "",
"balanced": "",
"power-saver": ""
}
},
"network": {
// "interface": "wlp2*", // (Optional) To force the use of this interface
"format-wifi": "{bandwidthUpBytes}  {bandwidthDownBytes}  | {essid} ({signalStrength}%) ",
"format-ethernet": "{ipaddr}/{cidr} ",
"tooltip-format": "{ifname} via {gwaddr} ",
"format-linked": "{ifname} (No IP) ",
"format-disconnected": "Disconnected ⚠",
"format-alt": "{ifname}: {ipaddr}/{cidr}"
},
"pulseaudio": {
// "scroll-step": 1, // %, can be a float
"format": "{volume}% {icon} {format_source}",
"format-bluetooth": "{volume}% {icon} {format_source}",
"format-bluetooth-muted": " {icon} {format_source}",
"format-muted": " {format_source}",
"format-source": "{volume}% ",
"format-source-muted": "",
"format-icons": {
"headphone": "",
"hands-free": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": ["", "", ""]
},
"on-click": "konsole -e pulsemixer"
},
"custom/media": {
"format": "{icon} {}",
"return-type": "json",
"max-length": 40,
"format-icons": {
"spotify": "",
"default": "🎜"
},
"escape": true,
"exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder
// "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name
}
}

493
.config/waybar/style.css Normal file
View file

@ -0,0 +1,493 @@
* {
/* `otf-font-awesome` is required to be installed for icons */
font-family: FontAwesome, "0x Proto Nerd Font Mono", Roboto, Helvetica, Arial, sans-serif;
font-size: 13px;
color: #674e69;
/* margin-top: 2px; */
}
/* waybar.top { */
/* padding-top: 1px; */
/* } */
window#waybar {
background-color: transparent;
color: #ffffff;
transition-property: background-color;
transition-duration: .5s;
/* border-bottom: 3px solid rgba(100, 114, 125, 0.5); */
/* color: #ffffff; */
/* transition-property: background-color; */
/* transition-duration: .5s; */
}
#window#waybar.hidden {
opacity: 0.2;
}
#waybar.empty #window {
background-color: transparent;
}
/* window#waybar label.module { */
/* background-color: rgba(43, 48, 59, 0.6); */
/* padding: 0 10 0 10px; */
/* border-radius: 10px; */
/* border: 0px rgba(43, 48, 59, 0.0); */
/* } */
#window {
background-color: rgba(250, 219, 247, 0.98);
/* background-opacity: 0.8; */
color: #674e69;
padding: 0px 10px 0px 10px;
border-radius: 10px;
border: 0px rgba(43, 48, 59, 0.0);
}
#window.empty {
background-color: transparent;
}
/*l
window#waybar.empty {
background-color: transparent;
}
window#waybar.solo {
background-color: #FFFFFF;
}
*/
window#waybar.termite {
background-color: #3F3F3F;
}
window#waybar.chromium {
background-color: #000000;
border: none;
}
button {
/* Use box-shadow instead of border so the text isn't offset */
/* //background-color: rgba(43, 48, 59, 0.2); */
box-shadow: inset 0 -3px transparent;
/* Avoid rounded borders under each button name */
border: none;
border-radius: 0;
}
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
/* button:hover { */
/* background: inherit; */
/* box-shadow: inset 0 -3px #ffffff; */
/* } */
#workspaces {
/* //padding: 0 5px; */
background-color: #ffefeb;
padding: 0px 0px 0px 0px;
border-radius: 10px;
/* border: 0px rgba(43, 48, 59, 0.0); */
}
#workspaces button {
padding: 0px 5px 0px 5px;
transition-property: border-radius;
transition-duration: .1s;
}
#workspaces button.active {
/* //padding: 0 5px; */
background: rgb(215,212,255);
background: linear-gradient(45deg, rgba(215,212,255,0.98) 0%, rgba(250,219,247,0.98) 49%, rgba(123,207,224,0.98) 100%);
padding: 0px 10px 0px 10px;
border-radius: 10px;
/* sus */
transition-property: border-radius;
transition-duration: .1s;
/* border: 0px rgba(43, 48, 59, 0.0); */
}
/* .modules-left > widget:first-child > #workspaces { */
#workspaces button.active:first-child {
/* border-right: outset 5px; */
/* border-left: inset 5px; */
/* border-top: outset 10px; */
}
#workspaces button:hover {
/* padding: 0px 5px 0px 5px; */
border-radius: 10px;
background: rgba(0, 0, 0, 0.3);
}
#workspaces button.active:hover {
color: #ffffff;
background: linear-gradient(45deg, rgba(150,119,147,0.5) 20%, rgba(103, 78, 105, 0.5) 49%, rgba(22, 82, 82,0.5) 100%);
padding: 0px 10px 0px 10px;
border-radius: 10px;
}
#workspaces button.focused {
background-color: #64727D;
box-shadow: inset 0 -3px #ffffff;
padding: 0px 10px 0px 10px;
border-radius: 10px;
}
#workspaces button.urgent {
background-color: #eb4d4b;
padding: 0px 10px 0px 10px;
border-radius: 10px;
}
#mode {
background-color: #64727D;
box-shadow: inset 0 -3px #ffffff;
}
tooltip {
background-color: #ffefeb;
}
/* tooltip label { */
/* color: #ffffff; */
/* } */
#clock,
#battery,
#cpu,
#memory,
#disk,
#temperature,
#backlight,
#network,
#pulseaudio,
#wireplumber,
#custom-media,
#tray,
#mode,
#idle_inhibitor,
#gamemode,
#scratchpad,
#power-profiles-daemon,
#mpd,
#custom-gamemodetoggle {
border-radius: 10px;
padding: 0 10px;
transition-property: background-color;
transition-duration: .5s;
/* transition: transform 2000ms ease-in;6 */
}
#window, #workspaces {
margin: 0px 4px 0px 4px;
}
/* .modules-left:hover { */
/* scale: 1.2; */
/* } */
/* If workspaces is the leftmost module, omit left margin */
/* .modules-left > widget:first-child > #workspaces { */
/* margin-left: 0; */
/* } */
/* /\* If workspaces is the rightmost module, omit right margin *\/ */
/* .modules-right > widget:last-child > #workspaces { */
/* margin-right: 0; */
/* } */
.modules-right {
background: rgb(215,212,255);
background: radial-gradient(circle, rgba(215,212,255,0.98) 0%, rgba(250,219,247,0.98) 49%, rgba(123,207,224,0.98) 100%);
padding: 0px 0px 0px 0px;
margin-right: 4px;
margin-left: 4px;
border-radius: 10px;
/* background-color: rgba(250, 219, 247, 0.98); */
/* background-opacity: 0.8; */
color: #674e69;
}
#clock:hover,
#battery:hover,
#cpu:hover,
#memory:hover,
#disk:hover,
#temperature:hover,
#backlight:hover,
#network:hover,
#pulseaudio:hover,
#wireplumber:hover,
#custom-media:hover,
/* #tray:hover, */
#mode:hover,
#idle_inhibitor:hover,
/* #gamemode, */
#scratchpad:hover,
#power-profiles-daemon:hover,
#mpd:hover,
#gamemode:hover,
#custom-gamemodetoggle:hover{
/* transform: scale(1.2); */
background-color: #674e69;
/* color: rgba(127,127,127,1.6); */
color:#ffefeb;
border-radius: 10px;
}
#clock {
/* //background-color: #64727D; */
}
#battery {
background-color: #ffffff;
color: #000000;
}
#battery.charging, #battery.plugged {
color: #ffffff;
background-color: #26A65B;
}
@keyframes blink {
to {
background-color: #ffffff;
color: #000000;
}
}
/* Using steps() instead of linear as a timing function to limit cpu usage */
#battery.critical:not(.charging) {
background-color: #f53c3c;
color: #ffffff;
animation-name: blink;
animation-duration: 0.5s;
animation-timing-function: steps(12);
animation-iteration-count: infinite;
animation-direction: alternate;
}
#power-profiles-daemon {
padding-right: 15px;
}
#power-profiles-daemon.performance {
background-color: #f53c3c;
color: #ffffff;
}
#power-profiles-daemon.balanced {
background-color: #2980b9;
color: #ffffff;
}
#power-profiles-daemon.power-saver {
background-color: #2ecc71;
color: #000000;
}
label:focus {
background-color: #000000;
}
/* #cpu { */
/* /\* background-color: #2ecc71; *\/ */
/* /\* color: #000000; *\/ */
/* } */
/* #memory { */
/* /\* background-color: #9b59b6; *\/ */
/* } */
#disk {
background-color: #964B00;
}
#backlight {
background-color: #90b1b1;
}
#network {
/* background-color: #2980b9; */
}
#network.disconnected {
background-color: #f53c3c;
}
/* #pulseaudio { */
/* /\* background-color: #f1c40f; *\/ */
/* /\* color: #000000; *\/ */
/* transition-property: background-color; */
/* transition-duration: .5s; */
/* /\* transition: transform 2000ms ease-in;6 *\/ */
/* } */
/* /\* you can set a style on hover for any module like this *\/ */
/* #pulseaudio:hover { */
/* /\* transform: scale(1.2); *\/ */
/* background-color: #674e69; */
/* /\* color: rgba(127,127,127,1.6); *\/ */
/* color:#ffefeb; */
/* } */
#pulseaudio.muted {
background-color: #90b1b1;
color: #2a5c45;
}
#wireplumber {
background-color: #fff0f5;
color: #000000;
}
#wireplumber.muted {
background-color: #f53c3c;
}
#custom-media {
background-color: #66cc99;
color: #2a5c45;
min-width: 100px;
}
#custom-media.custom-spotify {
background-color: #66cc99;
}
#custom-media.custom-vlc {
background-color: #ffa000;
}
#temperature {
background-color: #f0932b;
}
#temperature.critical {
background-color: #eb4d4b;
}
#tray {
/* background-color: #2980b9; */
}
#tray > .passive {
-gtk-icon-effect: dim;
}
#tray > .needs-attention {
-gtk-icon-effect: highlight;
background-color: #eb4d4b;
}
#tray menu {
color: #674e69;
background-color: #ffefeb;
/* border-radius: 0px; */
border: 1px rgba(43, 8, 59, 1);
}
#idle_inhibitor {
/* background-color: #2d3436; */
}
#idle_inhibitor.activated {
/* background-color: #ecf0f1; */
/* color: #2d3436; */
background-color: #2d3436;
}
#mpd {
background-color: #66cc99;
color: #2a5c45;
}
#mpd.disconnected {
background-color: #f53c3c;
}
#mpd.stopped {
background-color: #90b1b1;
}
#mpd.paused {
background-color: #51a37a;
}
#language {
background: #00b093;
color: #740864;
padding: 0 5px;
margin: 0 5px;
min-width: 16px;
}
#keyboard-state {
background: #97e1ad;
color: #000000;
padding: 0 0px;
margin: 0 5px;
min-width: 16px;
}
#keyboard-state > label {
padding: 0 5px;
}
#keyboard-state > label.locked {
background: rgba(0, 0, 0, 0.2);
}
#scratchpad {
background: rgba(0, 0, 0, 0.2);
}
#scratchpad.empty {
background-color: transparent;
}
#privacy {
padding: 0;
color: white;
}
#privacy-item {
padding: 0 5px;
color: white;
}
#privacy-item.screenshare {
/* background-color: #cf5700; */
}
#privacy-item.audio-in {
/* background-color: #1ca000; */
}
#privacy-item.audio-out {
/* background-color: #0069d4; */
}
#gamemode {
padding: 0 10px;
/* padding: 0px 0px 0px 0px; */
border-radius: 10px;
/* background-color: rgba(255,255,200,0.9); */
}
#gamemode.running {
padding: 0 10px;
color: #F54545;
background-color: #ffefeb;
}
#custom-gamemodetoggle {
padding: 0 10px;
/* background-color: rgba(255,255,200,0.9); */
/* color: #F54545; */
}

70
.config/wofi/style.css Normal file
View file

@ -0,0 +1,70 @@
* {
font-family: FontAwesome, "0x Proto Nerd Font Mono", Roboto, Helvetica, Arial, sans-serif;
font-size: 13px;
}
#input {
height: 5px;
padding-left: 5px;
/* background-color: rgba(123,207,224,0.98); */
color: #ffefeb;
background-color: #674e69;
border: 0px solid green;
border-bottom: 1px solid #ffefeb;
border-radius: 10px;
}
#window {
border-radius: 12px;
color: #ffefeb;
background-color: #674e69;
}
#outer-box {
}
#entry {
padding-left: 5px;
transition-property: background, color;
transition-duration: .3s;
}
#entry:selected {
padding-left: 15px;
background: radial-gradient(circle, rgba(215,212,255,0.98) 0%, rgba(250,219,247,0.98) 49%, rgba(123,207,224,0.98) 100%);
color: #674e69;
border-radius: 10px;
/* background-color: blue; */
}
/* #input { */
/* margin: 5px; */
/* border: 2px solid blue; */
/* background-color: blue; */
/* } */
#inner-box {
/* margin: 5px; */
/* border: 2px solid yellow; */
/* background-color: yellow; */
}
/* #outer-box { */
/* margin: 5px; */
/* border: 2px solid green; */
/* background-color: green; */
/* } */
/* #scroll { */
/* margin: 5px; */
/* border: 2px solid orange; */
/* background-color: orange; */
/* } */
#text {
/* margin: 5px; */
/* border: 2px solid cyan; */
/* background-color: cyan; */
}

15
.emacs.d/roleplay.el Normal file
View file

@ -0,0 +1,15 @@
(setq rp-color-MIU "#AA60AA")
;(replace-regexp "\\(?:^\\|[-]\\s-*\\)MIU:\\(.*:\\s-)\\(.+?\\)\\($\\|\\s-+[-]\\s-+\\)" (concat "<font style=\"color:" rp-color-miu "\"> \\2 </font>\\3"))
(defun xess ()
(interactive)
(message "%s" (eval(intern-soft "rp-color-MIU")))
)
(defun rp-dialogue ()
(interactive)
(setq last-point (point))
(move-beginning-of-line 1)
(replace-regexp "\\(?:^\\|[-]\\s-*\\)\\(.*\\): \\(.+?\\)\\($\\|\\s-+[-]\\s-+\\)" (concat "<font style=\"color:"(eval(intern-soft "rp-color-\\\\\\1"))"\">\\2 </font>\\3"))
(goto-char last-point)
)

View file

@ -0,0 +1,112 @@
[Background]
Color=35,38,39
RandomHueRange=360
RandomSaturationRange=100
[BackgroundFaint]
Color=49,54,59
RandomHueRange=360
RandomSaturationRange=100
[BackgroundIntense]
Color=0,0,0
RandomHueRange=360
RandomSaturationRange=100
[Color0]
Color=35,38,39
[Color0Faint]
Color=49,54,59
[Color0Intense]
Color=127,140,141
[Color1]
Color=237,21,21
[Color1Faint]
Color=120,50,40
[Color1Intense]
Color=192,57,43
[Color2]
Color=17,209,22
[Color2Faint]
Color=23,162,98
[Color2Intense]
Color=28,220,154
[Color3]
Color=246,116,0
[Color3Faint]
Color=182,86,25
[Color3Intense]
Color=253,188,75
[Color4]
Color=29,153,243
[Color4Faint]
Color=27,102,143
[Color4Intense]
Color=61,174,233
[Color5]
Color=155,89,182
[Color5Faint]
Color=97,74,115
[Color5Intense]
Color=142,68,173
[Color6]
Color=26,188,156
[Color6Faint]
Color=24,108,96
[Color6Intense]
Color=22,160,133
[Color7]
Color=252,252,252
[Color7Faint]
Color=99,104,109
[Color7Intense]
Color=255,255,255
[Foreground]
Color=252,252,252
RandomHueRange=360
RandomSaturationRange=100
[ForegroundFaint]
Color=239,240,241
RandomHueRange=360
RandomSaturationRange=100
[ForegroundIntense]
Color=255,255,255
RandomHueRange=360
RandomSaturationRange=100
[General]
Anchor=0.5,0.5
Blur=true
ColorRandomization=true
Description=Breeze
FillStyle=Tile
Opacity=0.51
Wallpaper=
WallpaperFlipType=NoFlip
WallpaperOpacity=1

View file

@ -0,0 +1,17 @@
[Appearance]
ColorScheme=Breeze
DimmValue=25
Font=0xProto Nerd Font Mono,11,-1,5,50,0,0,0,0,0
TabColor=36,36,36,0
[Cursor Options]
CursorShape=0
[General]
DimWhenInactive=true
Environment=TERM=xterm-256color,COLORTERM=truecolor
Name=Profairu
Parent=FALLBACK/
[Terminal Features]
BlinkingCursorEnabled=false

View file

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xbel>
<xbel xmlns:bookmark="http://www.freedesktop.org/standards/desktop-bookmarks" xmlns:kdepriv="http://www.kde.org/kdepriv" xmlns:mime="http://www.freedesktop.org/standards/shared-mime-info">
<bookmark href="file:///home/Hane">
<title>Hane</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name=""/>
</metadata>
</info>
</bookmark>
</xbel>

View file

@ -0,0 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xbel>
<xbel xmlns:bookmark="http://www.freedesktop.org/standards/desktop-bookmarks" xmlns:kdepriv="http://www.kde.org/kdepriv" xmlns:mime="http://www.freedesktop.org/standards/shared-mime-info"/>

View file

@ -0,0 +1,11 @@
[General]
CommandBarLastUsedActions=
[MainWindow]
1920x1080 screen: Height=510
1920x1080 screen: Width=1912
1920x1080 screen: Window-Maximized=true
1920x1080 screen: XPosition=64
1920x1080 screen: YPosition=230
DP-2=DP-2
State=AAAA/wAAAAD9AAAAAQAAAAAAAAESAAACHPwCAAAAAvsAAAAiAFEAdQBpAGMAawBDAG8AbQBtAGEAbgBkAHMARABvAGMAawAAAAAuAAACHAAAAXAA////+wAAABwAUwBTAEgATQBhAG4AYQBnAGUAcgBEAG8AYwBrAAAAAAD/////AAABDgD///8AAAQMAAAECgAAAAQAAAAEAAAACAAAAAj8AAAAAQAAAAIAAAACAAAAFgBtAGEAaQBuAFQAbwBvAGwAQgBhAHIAAAAAAP////8AAAAAAAAAAAAAABwAcwBlAHMAcwBpAG8AbgBUAG8AbwBsAGIAYQByAAAAAPX/////AAAAAAAAAAA=