init illogical-impulse

This commit is contained in:
end-4
2023-12-25 18:17:47 +07:00
parent 16b0d77075
commit 9b2460c12b
55 changed files with 3575 additions and 902 deletions
+3 -3
View File
@@ -56,9 +56,9 @@ export default {
};
// We don't want context menus of the bar's tray go under the rounded corner below,
// So bar is returned after 1ms, making it get spawned after the corner
// And having an Utils.timeout in that window array just gives an error
// so bar is returned after default export, making it get spawned after the corner
// (having an Utils.timeout in that window array just gives an error)
// Not having it in default export is fine since we don't need to toggle it
Bar();
// uwu
// uwu
+1 -1
View File
@@ -29,7 +29,7 @@
<style name="current-line" background="#3E3D32"/>
<style name="current-line-number" background="#eeeeec"/>
<style name="draw-spaces" foreground="#babdb6"/>
<style name="background-pattern" background="#rgba(0,0,0,0)"/>
<style name="background-pattern" background="#000000"/>
<!-- Bracket Matching -->
<!-- <style name="bracket-match" foreground="white" background="grey"/> -->
+74 -12
View File
@@ -4,7 +4,7 @@ import { MaterialIcon } from './materialicon.js';
import { setupCursorHover } from './cursorhover.js';
const { Box, Button, Entry, EventBox, Icon, Label, Revealer, Scrollable, Stack } = Widget;
export const ConfigToggle = ({ icon, name, desc = '', initValue, onChange, ...props }) => {
export const ConfigToggle = ({ icon, name, desc = '', initValue, onChange, ...rest }) => {
let value = initValue;
const toggleIcon = Label({
className: `icon-material txt-bold ${value ? '' : 'txt-poof'}`,
@@ -37,25 +37,87 @@ export const ConfigToggle = ({ icon, name, desc = '', initValue, onChange, ...pr
]
});
const interactionWrapper = Button({
...props,
child: widgetContent,
setup: setupCursorHover,
onClicked: () => { // mouse up/kb press
value = !value;
toggleIcon.toggleClassName('switch-fg-toggling-false', false);
toggleIcon.label = `${value ? 'check' : ''}`;
toggleIcon.toggleClassName('txt-poof', !value);
if (!value) {
toggleIcon.label = '';
toggleIcon.toggleClassName('txt-poof', true);
}
toggleButtonIndicator.toggleClassName('switch-fg-true', value);
toggleButton.toggleClassName('switch-bg-true', value);
if(value) Utils.timeout(1, () => {
toggleIcon.label = 'check';
toggleIcon.toggleClassName('txt-poof', false);
})
onChange(interactionWrapper, value);
},
setup: (button) => {
button.connect('pressed', () => { // mouse down
toggleIcon.toggleClassName('txt-poof', true);
toggleIcon.toggleClassName('switch-fg-true', false);
if(!value) toggleIcon.toggleClassName('switch-fg-toggling-false', true);
});
}
setupCursorHover(button),
button.connect('pressed', () => { // mouse down
toggleIcon.toggleClassName('txt-poof', true);
toggleIcon.toggleClassName('switch-fg-true', false);
if (!value) toggleIcon.toggleClassName('switch-fg-toggling-false', true);
});
},
...rest,
});
return interactionWrapper;
}
}
export const ConfigSegmentedSelection = ({
icon, name, desc = '',
options = [{ name: 'Option 1', value: 0 }, { name: 'Option 2', value: 1 }],
initIndex = 0,
onChange,
...rest
}) => {
let lastSelected = initIndex;
let value = options[initIndex].value;
const widget = Box({
tooltipText: desc,
className: 'segment-container',
// homogeneous: true,
children: options.map((option, id) => {
const selectedIcon = Revealer({
revealChild: id == initIndex,
transition: 'slide_right',
transitionDuration: 150,
child: MaterialIcon('check', 'norm')
});
return Button({
setup: setupCursorHover,
className: `segment-btn ${id == initIndex ? 'segment-btn-enabled' : ''}`,
child: Box({
hpack: 'center',
className: 'spacing-h-5',
children: [
selectedIcon,
Label({
label: option.name,
})
]
}),
onClicked: (self) => {
value = option.value;
const kids = widget.get_children();
kids[lastSelected].toggleClassName('segment-btn-enabled', false);
kids[lastSelected].get_children()[0].get_children()[0].revealChild = false;
lastSelected = id;
self.toggleClassName('segment-btn-enabled', true);
selectedIcon.revealChild = true;
onChange(option.value, option.name);
}
})
}),
...rest,
});
return widget;
}
export const ConfigGap = ({ vertical = true, size = 5, ...rest }) => Box({
className: `gap-${vertical ? 'v' : 'h'}-${size}`,
...rest,
})
+10 -7
View File
@@ -12,12 +12,11 @@ let sub_h1, sub_h2, sub_h3, sub_h4, sub_h5
// m2p_sections defines how to detect special markdown sections.
// These expressions scan the full line to detect headings, lists, and code.
const m2p_sections = [
// h1 is actually 210% on github, but it's unecessary large imo
sub_h1 = { name: H1, re: /^(#\s+)(.*)(\s*)$/, sub: "<span font_weight='bold' size='150%'>$2</span>" },
sub_h2 = { name: H2, re: /^(##\s+)(.*)(\s*)$/, sub: "<span font_weight='bold' size='125%'>$2</span>" },
sub_h3 = { name: H3, re: /^(###\s+)(.*)(\s*)$/, sub: "<span font_weight='bold' size='100%'>$2</span>" },
sub_h4 = { name: H4, re: /^(####\s+)(.*)(\s*)$/, sub: "<span font_weight='bold' size='90%'>$2</span>" },
sub_h5 = { name: H5, re: /^(#####\s+)(.*)(\s*)$/, sub: "<span font_weight='bold' size='80%'>$2</span>" },
sub_h1 = { name: H1, re: /^(#\s+)(.*)(\s*)$/, sub: "<span font_weight='bold' size='170%'>$2</span>" },
sub_h2 = { name: H2, re: /^(##\s+)(.*)(\s*)$/, sub: "<span font_weight='bold' size='150%'>$2</span>" },
sub_h3 = { name: H3, re: /^(###\s+)(.*)(\s*)$/, sub: "<span font_weight='bold' size='125%'>$2</span>" },
sub_h4 = { name: H4, re: /^(####\s+)(.*)(\s*)$/, sub: "<span font_weight='bold' size='100%'>$2</span>" },
sub_h5 = { name: H5, re: /^(#####\s+)(.*)(\s*)$/, sub: "<span font_weight='bold' size='90%'>$2</span>" },
{ name: BULLET, re: /^(\s*)([\*\-]\s)(.*)(\s*)$/, sub: "$1• $3" },
{ name: NUMBERING, re: /^(\s*[0-9]+\.\s)(.*)(\s*)$/, sub: " $1$2" },
]
@@ -226,7 +225,11 @@ if (__is_nodejs_main) {
console.log(`Usage: ${process.argv[1]} FILE [FILE...]`)
process.exit(0)
}
args.forEach((f) => process.stdout.write(convert(readFile(f))))
for (let i = 0; i < args.length; i++) {
const f = args[i];
process.stdout.write(convert(readFile(f)));
}
}
export const markdownTest = `# Heading 1
@@ -50,7 +50,9 @@ else:
# exit()
colorscheme=0
darkmode = True
if("-l" in sys.argv):
darkmode = False
colorscheme = newtheme.get('schemes').get('light')
print('$darkmode: false;')
else:
@@ -85,8 +87,9 @@ inverseSurface = hexFromArgb(colorscheme.get_inverseSurface())
inverseOnSurface = hexFromArgb(colorscheme.get_inverseOnSurface())
inversePrimary = hexFromArgb(colorscheme.get_inversePrimary())
# post proccessing
background = darken(background, 0.6)
# make material less boring
if darkmode:
background = darken(background, 0.6)
print('$primary: ' + primary + ';')
print('$onPrimary: ' + onPrimary + ';')
@@ -87,34 +87,34 @@
"BLACK_500": "#393634",
"BLACK_700": "#33302F",
"BLACK_900": "#2B2928",
"accent_bg_color": "#c4c0ff",
"accent_fg_color": "#251a8c",
"accent_color": "#c4c0ff",
"destructive_bg_color": "#ffb4a9",
"destructive_fg_color": "#680003",
"destructive_color": "#ffb4a9",
"accent_bg_color": "#e2e2e2",
"accent_fg_color": "#000000",
"accent_color": "#e2e2e2",
"destructive_bg_color": "#e2e2e2",
"destructive_fg_color": "#000000",
"destructive_color": "#e2e2e2",
"success_bg_color": "#81C995",
"success_fg_color": "rgba(0, 0, 0, 0.87)",
"warning_bg_color": "#FDD633",
"warning_fg_color": "rgba(0, 0, 0, 0.87)",
"error_bg_color": "#ffb4a9",
"error_fg_color": "#680003",
"window_bg_color": "#101012",
"window_fg_color": "#e5e1e6",
"view_bg_color": "#1c1b1f",
"view_fg_color": "#e5e1e6",
"error_bg_color": "#e2e2e2",
"error_fg_color": "#000000",
"window_bg_color": "#000000",
"window_fg_color": "#e2e2e2",
"view_bg_color": "#000000",
"view_fg_color": "#e2e2e2",
"headerbar_bg_color": "mix(@dialog_bg_color, @window_bg_color, 0.5)",
"headerbar_fg_color": "#e3dff9",
"headerbar_border_color": "#464559",
"headerbar_fg_color": "#e2e2e2",
"headerbar_border_color": "#313131",
"headerbar_backdrop_color": "@headerbar_bg_color",
"headerbar_shade_color": "rgba(0, 0, 0, 0.09)",
"card_bg_color": "#101012",
"card_fg_color": "#e3dff9",
"card_bg_color": "#000000",
"card_fg_color": "#e2e2e2",
"card_shade_color": "rgba(0, 0, 0, 0.09)",
"dialog_bg_color": "#464559",
"dialog_fg_color": "#e3dff9",
"popover_bg_color": "#464559",
"popover_fg_color": "#e3dff9",
"dialog_bg_color": "#313131",
"dialog_fg_color": "#e2e2e2",
"popover_bg_color": "#313131",
"popover_fg_color": "#e2e2e2",
"thumbnail_bg_color": "#1a1b26",
"thumbnail_fg_color": "#AEE5FA",
"shade_color": "rgba(0, 0, 0, 0.36)",
+68 -3
View File
@@ -42,7 +42,7 @@ menu {
-gtk-outline-radius: 1.159rem;
animation-name: appear;
animation-duration: 100ms;
animation-duration: 40ms;
animation-timing-function: ease-out;
animation-iteration-count: 1;
}
@@ -81,12 +81,11 @@ tooltip {
}
.configtoggle-box {
padding: 0.205rem;
padding: 0.205rem 0.341rem;
border: 0.136rem solid transparent;
}
.configtoggle-box:focus {
padding: 0.205rem;
border: 0.136rem solid mix($onSurface, $surface, 40%);
}
@@ -126,4 +125,70 @@ tooltip {
@include menu_decel;
min-width: 1.636rem;
min-height: 0.819rem;
}
.segment-container {
@include full-rounding;
border: 0.068rem solid $outline;
}
.segment-container>*:first-child {
border-top-left-radius: 9999px;
border-bottom-left-radius: 9999px;
}
.segment-container>* {
border-right: 0.068rem solid $outline;
padding: 0.341rem 0.682rem;
}
.segment-container>*:last-child {
border-right: 0rem solid transparent;
border-top-right-radius: 9999px;
border-bottom-right-radius: 9999px;
}
.segment-btn {
color: $onSurface;
}
.segment-btn:focus,
.segment-btn:hover {
background-color: $surfaceVariant;
color: $onSurfaceVariant;
}
.segment-btn-enabled {
background-color: $secondaryContainer;
color: $onSecondaryContainer;
}
.segment-btn-enabled:hover,
.segment-btn-enabled:focus {
background-color: $secondaryContainer;
color: $onSecondaryContainer;
}
.gap-v-5 {
min-height: 0.341rem;
}
.gap-h-5 {
min-width: 0.341rem;
}
.gap-v-10 {
min-height: 0.682rem;
}
.gap-h-10 {
min-width: 0.682rem;
}
.gap-v-15 {
min-height: 1.023rem;
}
.gap-h-15 {
min-width: 1.023rem;
}
+28 -27
View File
@@ -1,29 +1,30 @@
$darkmode: true;
$primary: #c4c0ff;
$onPrimary: #251a8c;
$primaryContainer: #3d36a2;
$onPrimaryContainer: #e3dfff;
$secondary: #c7c4dd;
$onSecondary: #2f2e42;
$secondaryContainer: #464559;
$onSecondaryContainer: #e3dff9;
$tertiary: #eab9d1;
$onTertiary: #472639;
$tertiaryContainer: #603c50;
$onTertiaryContainer: #ffd8eb;
$error: #ffb4a9;
$onError: #680003;
$errorContainer: #930006;
$onErrorContainer: #ffb4a9;
$colorbarbg: #101012;
$background: #101012;
$onBackground: #e5e1e6;
$surface: #1c1b1f;
$onSurface: #e5e1e6;
$surfaceVariant: #47464f;
$onSurfaceVariant: #c8c5d0;
$outline: #928f9a;
$primary: #e2e2e2;
$onPrimary: #000000;
$primaryContainer: #6b6b6b;
$onPrimaryContainer: #e2e2e2;
$secondary: #e2e2e2;
$onSecondary: #000000;
$secondaryContainer: #313131;
$onSecondaryContainer: #e2e2e2;
$tertiary: #e2e2e2;
$onTertiary: #000000;
$tertiaryContainer: #000000;
$onTertiaryContainer: #e2e2e2;
$error: #e2e2e2;
$onError: #000000;
$errorContainer: #000000;
$onErrorContainer: #e2e2e2;
$colorbarbg: #000000;
$background: #000000;
$onBackground: #e2e2e2;
$surface: #000000;
$onSurface: #e2e2e2;
$surfaceVariant: #202020;
$onSurfaceVariant: #e2e2e2;
$outline: #a1a1a1;
$shadow: #000000;
$inverseSurface: #e5e1e6;
$inverseOnSurface: #313033;
$inversePrimary: #5550bb;
$inverseSurface: #e2e2e2;
$inverseOnSurface: #000000;
$inversePrimary: #e2e2e2;
+3 -3
View File
@@ -12,7 +12,7 @@ $onChatgpt: $onPrimary;
@include menu_decel;
@include elevation-border;
@include elevation2;
border-radius: $rounding_large - $elevation_margin;
border-radius: $rounding_large - $elevation_margin + 0.068rem;
min-width: 27.818rem; // COMMENT THIS LATER IF TEXT WRAP IS USED
// min-height: 29.591rem;
background-color: $t_background;
@@ -33,7 +33,7 @@ $onChatgpt: $onPrimary;
@include menu_decel;
@include elevation-border;
@include elevation2;
border-radius: $rounding_large - $elevation_margin;
border-radius: $rounding_large - $elevation_margin + 0.068rem;
min-width: 27.818rem; // COMMENT THIS LATER IF TEXT WRAP IS USED
// min-height: 29.591rem;
background-color: $t_background;
@@ -645,7 +645,7 @@ $onChatgpt: $onPrimary;
margin: 0rem 3.409rem;
}
.sidebar-chat-settings {
.sidebar-chat-settings-toggles {
margin: 0rem 5.455rem;
}
+6
View File
@@ -121,6 +121,7 @@ class ChatGPTService extends Service {
_assistantPrompt = false;
_messages = [];
_cycleModels = true;
_temperature = 0.5;
_requestCount = 0;
_modelIndex = 0;
_key = '';
@@ -159,6 +160,9 @@ class ChatGPTService extends Service {
}
}
get temperature() { return this._temperature }
set temperature(value) { this._temperature = value; }
get messages() { return this._messages }
get lastMessage() { return this._messages[this._messages.length - 1] }
@@ -218,6 +222,8 @@ class ChatGPTService extends Service {
const body = {
model: CHAT_MODELS[this._modelIndex],
messages: this._messages.map(msg => { let m = { role: msg.role, content: msg.content }; return m; }),
temperature: this._temperature,
// temperature: 2, // <- Nuts
stream: true,
};
+409 -357
View File
File diff suppressed because it is too large Load Diff
+2 -1
View File
@@ -123,7 +123,7 @@ const BarBattery = () => {
['fallback', memUsage],
['battery', batteryWidget],
],
setup: (stack) => Utils.timeout(1, () => {
setup: (stack) => Utils.timeout(1, () => { // On desktops systems with no battery, show memory usage instead
if (Battery.available) stack.shown = 'battery';
else stack.shown = 'fallback';
})
@@ -134,6 +134,7 @@ const BarBattery = () => {
export const ModuleSystem = () => Widget.EventBox({
onScrollUp: () => execAsync('hyprctl dispatch workspace -1'),
onScrollDown: () => execAsync('hyprctl dispatch workspace +1'),
onPrimaryClick: () => App.toggleWindow('sideright'),
child: Widget.Box({
className: 'bar-group-margin bar-sides',
children: [
+4 -2
View File
@@ -74,12 +74,14 @@ export const ModuleWorkspaces = () => Widget.EventBox({
[Hyprland, (box) => {
// console.log('update');
const kids = box.children;
kids.forEach((child, i) => {
for (let i = 0; i < kids.length; i++) {
const child = kids[i];
child.child.toggleClassName('bar-ws-occupied', false);
child.child.toggleClassName('bar-ws-occupied-left', false);
child.child.toggleClassName('bar-ws-occupied-right', false);
child.child.toggleClassName('bar-ws-occupied-left-right', false);
});
}
const occupied = Array.from({ length: NUM_OF_WORKSPACES }, (_, i) => Hyprland.getWorkspace(i + 1)?.windows > 0);
for (let i = 0; i < occupied.length; i++) {
if (!occupied[i]) continue;
@@ -138,10 +138,12 @@ export default () => Box({
}),
onPrimaryClickRelease: () => {
const kids = resources.get_children();
kids.forEach((child, i) => {
child.get_children()[0].revealChild = !child.get_children()[0].revealChild;
});
for (let i = 0; i < kids.length; i++) {
const child = kids[i];
const firstChild = child.get_children()[0];
firstChild.revealChild = !firstChild.revealChild;
}
},
})
],
+3 -2
View File
@@ -86,7 +86,8 @@ const Taskbar = () => Widget.Box({
return a._workspace > b._workspace;
}],
['update', (box) => {
Hyprland.clients.forEach(client => {
for (let i = 0; i < Hyprland.clients.length; i++) {
const client = Hyprland.clients[i];
if (client["pid"] == -1) return;
const appClass = substitute(client.class);
for (const appName of pinnedApps) {
@@ -101,7 +102,7 @@ const Taskbar = () => Widget.Box({
newButton._workspace = client.workspace.id;
newButton.revealChild = true;
box._map.set(client.address, newButton);
})
}
box.children = Array.from(box._map.values());
}],
['add', (box, address) => {
@@ -360,7 +360,11 @@ export default () => Widget.Revealer({
if (!foundPlayer) {
box._player = null;
box.get_children().forEach(ch => ch.destroy());
const children = box.get_children();
for (let i = 0; i < children.length; i++) {
const child = children[i];
child.destroy();
}
return;
}
}, 'notify::players']],
+28 -6
View File
@@ -257,7 +257,7 @@ const workspace = index => {
child: fixed,
})],
});
widget.update = clients => {
widget.update = (clients) => {
clients = clients.filter(({ workspace: { id } }) => id === index);
// this is for my monitor layout
@@ -269,9 +269,22 @@ const workspace = index => {
return client;
});
fixed.get_children().forEach(ch => ch.destroy());
const children = fixed.get_children();
for (let i = 0; i < children.length; i++) {
const child = children[i];
child.destroy();
}
fixed.put(WorkspaceNumber(index), 0, 0);
clients.forEach(c => c.mapped && fixed.put(client(c), c.at[0] * OVERVIEW_SCALE, c.at[1] * OVERVIEW_SCALE));
for (let i = 0; i < clients.length; i++) {
const c = clients[i];
if (c.mapped) {
fixed.put(client(c), c.at[0] * OVERVIEW_SCALE, c.at[1] * OVERVIEW_SCALE);
}
}
fixed.show_all();
};
return widget;
@@ -290,7 +303,12 @@ const OverviewRow = ({ startWorkspace, workspaces, windowName = 'overview' }) =>
properties: [['update', box => {
execAsync('hyprctl -j clients').then(clients => {
const json = JSON.parse(clients);
box.get_children().forEach(ch => ch.update(json));
const children = box.get_children();
for (let i = 0; i < children.length; i++) {
const ch = children[i];
ch.update(json)
}
}).catch(print);
}]],
setup: (box) => box._update(box),
@@ -375,7 +393,7 @@ export const SearchAndWindows = () => {
hpack: 'center',
onAccept: (self) => { // This is when you hit Enter
const text = self.text;
if(text.length == 0) return;
if (text.length == 0) return;
const isAction = text.startsWith('>');
const isDir = (entry.text[0] == '/' || entry.text[0] == '~');
@@ -423,7 +441,11 @@ export const SearchAndWindows = () => {
['notify::text', (entry) => { // This is when you type
const isAction = entry.text[0] == '>';
const isDir = (entry.text[0] == '/' || entry.text[0] == '~');
resultsBox.get_children().forEach(ch => ch.destroy());
const children = resultsBox.get_children();
for (let i = 0; i < children.length; i++) {
const child = children[i];
child.destroy();
}
// check empty if so then dont do stuff
if (entry.text == '') {
resultsRevealer.set_reveal_child(false);
+77 -41
View File
@@ -6,7 +6,7 @@ import ChatGPT from '../../../services/chatgpt.js';
import { MaterialIcon } from "../../../lib/materialicon.js";
import { setupCursorHover, setupCursorHoverInfo } from "../../../lib/cursorhover.js";
import { SystemMessage, ChatMessage } from "./chatgpt_chatmessage.js";
import { ConfigToggle } from '../../../lib/configwidgets.js';
import { ConfigToggle, ConfigSegmentedSelection, ConfigGap } from '../../../lib/configwidgets.js';
import { markdownTest } from '../../../lib/md2pango.js';
const chatGPTTabIcon = Icon({
@@ -68,36 +68,58 @@ export const chatGPTSettings = Revealer({
transitionDuration: 150,
revealChild: true,
connections: [
[ChatGPT, (self) => {
[ChatGPT, (self) => Utils.timeout(200, () => {
self.revealChild = false;
}, 'newMsg'],
[ChatGPT, (self) => {
}), 'newMsg'],
[ChatGPT, (self) => Utils.timeout(200, () => {
self.revealChild = true;
}, 'clear'],
}), 'clear'],
],
child: Box({
vertical: true,
hpack: 'fill',
className: 'sidebar-chat-settings',
children: [
ConfigToggle({
icon: 'cycle',
name: 'Cycle models',
desc: 'Helps avoid exceeding the API rate of 3 messages per minute.\nTurn this on if you message rapidly.',
initValue: ChatGPT.cycleModels,
onChange: (self, newValue) => {
ChatGPT.cycleModels = newValue;
},
}),
ConfigToggle({
icon: 'description',
name: 'Assistant prompt',
desc: 'Tells ChatGPT\n 1. It\'s a sidebar assistant on Linux\n 2. Be short and concise\n 3. Use markdown features extensively\nLeave this off for a vanilla ChatGPT experience.',
initValue: ChatGPT.assistantPrompt,
onChange: (self, newValue) => {
ChatGPT.assistantPrompt = newValue;
ConfigSegmentedSelection({
hpack: 'center',
icon: 'casino',
name: 'Randomness',
desc: 'ChatGPT\'s temperature value.\n Precise = 0\n Balanced = 0.5\n Creative = 1',
options: [
{ value: 0.00, name: 'Precise', },
{ value: 0.50, name: 'Balanced', },
{ value: 1.00, name: 'Creative', },
],
initIndex: 1,
onChange: (value, name) => {
ChatGPT.temperature = value;
},
}),
ConfigGap({ vertical: true, size: 10 }), // Note: size can only be 5, 10, or 15
Box({
vertical: true,
hpack: 'fill',
className: 'sidebar-chat-settings-toggles',
children: [
ConfigToggle({
icon: 'cycle',
name: 'Cycle models',
desc: 'Helps avoid exceeding the API rate of 3 messages per minute.\nTurn this on if you message rapidly.',
initValue: ChatGPT.cycleModels,
onChange: (self, newValue) => {
ChatGPT.cycleModels = newValue;
},
}),
ConfigToggle({
icon: 'description',
name: 'Assistant prompt',
desc: 'Tells ChatGPT\n 1. It\'s a sidebar assistant on Linux\n 2. Be short and concise\n 3. Use markdown features extensively\nLeave this off for a vanilla ChatGPT experience.',
initValue: ChatGPT.assistantPrompt,
onChange: (self, newValue) => {
ChatGPT.assistantPrompt = newValue;
},
}),
]
})
]
})
});
@@ -136,7 +158,7 @@ export const chatGPTWelcome = Box({
children: [
chatGPTInfo,
openaiApiKeyInstructions,
chatGPTSettings,
chatGPTSettings, ``
]
})
});
@@ -148,21 +170,30 @@ export const chatContent = Box({
[ChatGPT, (box, id) => {
const message = ChatGPT.messages[id];
if (!message) return;
box.add(ChatMessage(message))
box.add(ChatMessage(message, chatGPTView))
}, 'newMsg'],
[ChatGPT, (box) => {
box.children = [chatGPTWelcome];
}, 'clear'],
[ChatGPT, (box) => {
box.children = [chatGPTWelcome];
}, 'initialized'],
]
});
const clearChat = () => {
ChatGPT.clear();
const children = chatContent.get_children();
for (let i = 0; i < children.length; i++) {
const child = children[i];
child.destroy();
}
}
export const chatGPTView = Scrollable({
className: 'sidebar-chat-viewport',
vexpand: true,
child: chatContent,
child: Box({
vertical: true,
children: [
chatGPTWelcome,
chatContent,
]
}),
setup: (scrolledWindow) => {
scrolledWindow.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC);
const vScrollbar = scrolledWindow.get_vscrollbar();
@@ -183,7 +214,8 @@ export const chatGPTCommands = Box({
className: 'sidebar-chat-chip sidebar-chat-chip-action txt txt-small',
onClicked: () => chatContent.add(SystemMessage(
`Key stored in:\n\`${ChatGPT.keyPath}\`\nTo update this key, type \`/key YOUR_API_KEY\``,
'/key')),
'/key',
chatGPTView)),
setup: setupCursorHover,
label: '/key',
}),
@@ -191,14 +223,15 @@ export const chatGPTCommands = Box({
className: 'sidebar-chat-chip sidebar-chat-chip-action txt txt-small',
onClicked: () => chatContent.add(SystemMessage(
`Currently using \`${ChatGPT.modelName}\``,
'/model'
'/model',
chatGPTView
)),
setup: setupCursorHover,
label: '/model',
}),
Button({
className: 'sidebar-chat-chip sidebar-chat-chip-action txt txt-small',
onClicked: () => ChatGPT.clear(),
onClicked: () => clearChat(),
setup: setupCursorHover,
label: '/clear',
}),
@@ -210,26 +243,29 @@ export const chatGPTSendMessage = (text) => {
if (text.length == 0) return;
if (ChatGPT.key.length == 0) {
ChatGPT.key = text;
chatContent.add(SystemMessage(`Key saved to\n\`${ChatGPT.keyPath}\``, 'API Key'));
chatContent.add(SystemMessage(`Key saved to\n\`${ChatGPT.keyPath}\``, 'API Key', chatGPTView));
text = '';
return;
}
// Commands
if (text.startsWith('/')) {
if (text.startsWith('/clear')) ChatGPT.clear();
else if (text.startsWith('/model')) chatContent.add(SystemMessage(`Currently using \`${ChatGPT.modelName}\``, '/model'))
if (text.startsWith('/clear')) clearChat();
else if (text.startsWith('/model')) chatContent.add(SystemMessage(`Currently using \`${ChatGPT.modelName}\``, '/model', chatGPTView))
else if (text.startsWith('/key')) {
const parts = text.split(' ');
if (parts.length == 1) chatContent.add(SystemMessage(`Key stored in:\n\`${ChatGPT.keyPath}\`\nTo update this key, type \`/key YOUR_API_KEY\``, '/key'));
if (parts.length == 1) chatContent.add(SystemMessage(
`Key stored in:\n\`${ChatGPT.keyPath}\`\nTo update this key, type \`/key YOUR_API_KEY\``,
'/key',
chatGPTView));
else {
ChatGPT.key = parts[1];
chatContent.add(SystemMessage(`Updated API Key at\n\`${ChatGPT.keyPath}\``, '/key'));
chatContent.add(SystemMessage(`Updated API Key at\n\`${ChatGPT.keyPath}\``, '/key', chatGPTView));
}
}
else if (text.startsWith('/test'))
chatContent.add(SystemMessage(markdownTest, `Markdown test`));
chatContent.add(SystemMessage(markdownTest, `Markdown test`, chatGPTView));
else
chatContent.add(SystemMessage(`Invalid command.`, 'Error'))
chatContent.add(SystemMessage(`Invalid command.`, 'Error', chatGPTView))
}
else {
ChatGPT.send(text);
@@ -148,7 +148,11 @@ const MessageContent = (content) => {
properties: [
['fullUpdate', (self, content, useCursor = false) => {
// Clear and add first text widget
contentBox.get_children().forEach(ch => ch.destroy());
const children = contentBox.get_children();
for (let i = 0; i < children.length; i++) {
const child = children[i];
child.destroy();
}
contentBox.add(TextBlock())
// Loop lines. Put normal text in markdown parser
// and put code into code highlighter (TODO)
@@ -214,7 +218,7 @@ const MessageContent = (content) => {
return contentBox;
}
export const ChatMessage = (message) => {
export const ChatMessage = (message, scrolledWindow) => {
const messageContentBox = MessageContent(message.content);
const thisMessage = Box({
className: 'sidebar-chat-message',
@@ -243,7 +247,7 @@ export const ChatMessage = (message) => {
[message, (self) => { // Message update
messageContentBox._fullUpdate(messageContentBox, message.content, message.role != 'user');
Utils.timeout(MESSAGE_SCROLL_DELAY, () => {
const scrolledWindow = thisMessage.get_parent().get_parent();
if (!scrolledWindow) return;
var adjustment = scrolledWindow.get_vadjustment();
adjustment.set_value(adjustment.get_upper() - adjustment.get_page_size());
});
@@ -258,7 +262,7 @@ export const ChatMessage = (message) => {
return thisMessage;
}
export const SystemMessage = (content, commandName) => {
export const SystemMessage = (content, commandName, scrolledWindow) => {
const messageContentBox = MessageContent(content);
const thisMessage = Box({
className: 'sidebar-chat-message',
@@ -282,7 +286,7 @@ export const SystemMessage = (content, commandName) => {
})
],
setup: (self) => Utils.timeout(MESSAGE_SCROLL_DELAY, () => {
const scrolledWindow = thisMessage.get_parent().get_parent();
if (!scrolledWindow) return;
var adjustment = scrolledWindow.get_vadjustment();
adjustment.set_value(adjustment.get_upper() - adjustment.get_page_size());
})
+3
View File
@@ -18,6 +18,9 @@ export const SidebarModule = ({
className: 'txt-small txt',
label: `${name}`,
}),
Box({
hexpand: true,
}),
Label({
className: 'sidebar-module-btn-arrow',
})
@@ -7,6 +7,5 @@ import { SidebarModule } from './module.js';
export const QuickScripts = () => SidebarModule({
name: 'Quick scripts',
child: Box({
})
})
@@ -65,6 +65,11 @@ const CalendarWidget = () => {
}
});
const addCalendarChildren = (box, calendarJson) => {
const children = box.get_children();
for (let i = 0; i < children.length; i++) {
const child = children[i];
child.destroy();
}
box.children = calendarJson.map((row, i) => Widget.Box({
// homogeneous: true,
className: 'spacing-h-5',
+7 -7
View File
@@ -41,18 +41,18 @@ import { ModuleCalendar } from "./calendar.js";
const timeRow = Box({
className: 'spacing-h-5 sidebar-group-invisible-morehorizpad',
children: [
Widget.Label({
className: 'txt-title txt',
connections: [[5000, label => {
label.label = GLib.DateTime.new_now_local().format("%H:%M");
}]],
}),
// Widget.Label({
// className: 'txt-title txt',
// connections: [[5000, label => {
// label.label = GLib.DateTime.new_now_local().format("%H:%M");
// }]],
// }),
Widget.Label({
hpack: 'center',
className: 'txt-small txt',
connections: [[5000, label => {
execAsync(['bash', '-c', `uptime -p | sed -e 's/up //;s/ hours,/h/;s/ minutes/m/'`]).then(upTimeString => {
label.label = `• up: ${upTimeString}`;
label.label = `System uptime: ${upTimeString}`;
}).catch(print);
}]],
}),
-36
View File
@@ -1,36 +0,0 @@
# TokyoNight Color Palette
set -l foreground 3760bf
set -l selection 99a7df
set -l comment 848cb5
set -l red f52a65
set -l orange b15c00
set -l yellow 8c6c3e
set -l green 587539
set -l purple 7847bd
set -l cyan 007197
set -l pink 9854f1
# Syntax Highlighting Colors
set -g fish_color_normal $foreground
set -g fish_color_command $cyan
set -g fish_color_keyword $pink
set -g fish_color_quote $yellow
set -g fish_color_redirection $foreground
set -g fish_color_end $orange
set -g fish_color_error $red
set -g fish_color_param $purple
set -g fish_color_comment $comment
set -g fish_color_selection --background=$selection
set -g fish_color_search_match --background=$selection
set -g fish_color_operator $green
set -g fish_color_escape $pink
set -g fish_color_autosuggestion $comment
# Completion Pager Colors
set -g fish_pager_color_progress $comment
set -g fish_pager_color_prefix $cyan
set -g fish_pager_color_completion $foreground
set -g fish_pager_color_description $comment
set -g fish_pager_color_selected_background --background=$selection
-36
View File
@@ -1,36 +0,0 @@
# TokyoNight Color Palette
set -l foreground c8d3f5
set -l selection 3654a7
set -l comment 7a88cf
set -l red ff757f
set -l orange ff966c
set -l yellow ffc777
set -l green c3e88d
set -l purple fca7ea
set -l cyan 86e1fc
set -l pink c099ff
# Syntax Highlighting Colors
set -g fish_color_normal $foreground
set -g fish_color_command $cyan
set -g fish_color_keyword $pink
set -g fish_color_quote $yellow
set -g fish_color_redirection $foreground
set -g fish_color_end $orange
set -g fish_color_error $red
set -g fish_color_param $purple
set -g fish_color_comment $comment
set -g fish_color_selection --background=$selection
set -g fish_color_search_match --background=$selection
set -g fish_color_operator $green
set -g fish_color_escape $pink
set -g fish_color_autosuggestion $comment
# Completion Pager Colors
set -g fish_pager_color_progress $comment
set -g fish_pager_color_prefix $cyan
set -g fish_pager_color_completion $foreground
set -g fish_pager_color_description $comment
set -g fish_pager_color_selected_background --background=$selection
-36
View File
@@ -1,36 +0,0 @@
# TokyoNight Color Palette
set -l foreground c0caf5
set -l selection 33467c
set -l comment 565f89
set -l red f7768e
set -l orange ff9e64
set -l yellow e0af68
set -l green 9ece6a
set -l purple 9d7cd8
set -l cyan 7dcfff
set -l pink bb9af7
# Syntax Highlighting Colors
set -g fish_color_normal $foreground
set -g fish_color_command $cyan
set -g fish_color_keyword $pink
set -g fish_color_quote $yellow
set -g fish_color_redirection $foreground
set -g fish_color_end $orange
set -g fish_color_error $red
set -g fish_color_param $purple
set -g fish_color_comment $comment
set -g fish_color_selection --background=$selection
set -g fish_color_search_match --background=$selection
set -g fish_color_operator $green
set -g fish_color_escape $pink
set -g fish_color_autosuggestion $comment
# Completion Pager Colors
set -g fish_pager_color_progress $comment
set -g fish_pager_color_prefix $cyan
set -g fish_pager_color_completion $foreground
set -g fish_pager_color_description $comment
set -g fish_pager_color_selected_background --background=$selection
-36
View File
@@ -1,36 +0,0 @@
# TokyoNight Color Palette
set -l foreground c0caf5
set -l selection 364a82
set -l comment 565f89
set -l red f7768e
set -l orange ff9e64
set -l yellow e0af68
set -l green 9ece6a
set -l purple 9d7cd8
set -l cyan 7dcfff
set -l pink bb9af7
# Syntax Highlighting Colors
set -g fish_color_normal $foreground
set -g fish_color_command $cyan
set -g fish_color_keyword $pink
set -g fish_color_quote $yellow
set -g fish_color_redirection $foreground
set -g fish_color_end $orange
set -g fish_color_error $red
set -g fish_color_param $purple
set -g fish_color_comment $comment
set -g fish_color_selection --background=$selection
set -g fish_color_search_match --background=$selection
set -g fish_color_operator $green
set -g fish_color_escape $pink
set -g fish_color_autosuggestion $comment
# Completion Pager Colors
set -g fish_pager_color_progress $comment
set -g fish_pager_color_prefix $cyan
set -g fish_pager_color_completion $foreground
set -g fish_pager_color_description $comment
set -g fish_pager_color_selected_background --background=$selection
+18 -18
View File
@@ -9,7 +9,7 @@ term=xterm-256color
title=foot
# locked-title=no
font=JetBrainsMono Nerd Font:size=12
font=SpaceMono Nerd Font:size=11
# font-bold=<bold variant of regular font>
# font-italic=<italic variant of regular font>
# font-bold-italic=<bold+italic variant of regular font>
@@ -56,7 +56,7 @@ lines=10000
[cursor]
style=beam
# color=111111 dcdccc
color=1d1b1f e6e1e5
color=1b1b1f e4e1e6
# blink=no
beam-thickness=1.5
# underline-thickness=<font underline thickness>
@@ -67,24 +67,24 @@ beam-thickness=1.5
[colors]
alpha=1
background=1d1b1f
foreground=e6e1e5
regular0=1d1b1f
background=1b1b1f
foreground=e4e1e6
regular0=1b1b1f
regular1=ffb4a9
regular2=6e45bf
regular3=ebdcff
regular4=ebdcff
regular5=e9def8
regular6=d3bbff
regular7=cbc4cf
bright0=1d1b1f
regular2=4f52b8
regular3=e0e0ff
regular4=e0e0ff
regular5=e2e0f9
regular6=bfc2ff
regular7=c7c5d0
bright0=1b1b1f
bright1=ffb4a9
bright2=6e45bf
bright3=ebdcff
bright4=ebdcff
bright5=e9def8
bright6=d3bbff
bright7=cbc4cf
bright2=4f52b8
bright3=e0e0ff
bright4=e0e0ff
bright5=e2e0f9
bright6=bfc2ff
bright7=c7c5d0
[csd]
# preferred=server
+8 -8
View File
@@ -1,16 +1,16 @@
font=Gabarito
font=Lexend
terminal=foot -e
prompt=">> "
layer=overlay
[colors]
background=1d1b1fff
text=e6e1e5ff
selection=49454fff
selection-text=cbc4cfff
border=49454fff
match=d3bbffff
selection-match=d3bbffff
background=191c1ecc
text=e1e2e5ff
selection=41484dff
selection-text=c0c7cdff
border=41484dff
match=79d0ffff
selection-match=79d0ffff
[border]
+10 -10
View File
@@ -1,24 +1,24 @@
# Auto generated color theme for image at: [Local wallpaper]
general {
col.active_border = rgba(5529a5FF)
col.inactive_border = rgba(4b4358AA)
col.active_border = rgba(36399fFF)
col.inactive_border = rgba(454559AA)
}
plugin {
droidbars {
# example config
bar_height = 30
background_color = rgba(1d1b1fFF)
# background_color_active = rgba(49454fFF) # Not added yet
text_color = rgba(e9def8FF)
background_color = rgba(1b1b1fFF)
# background_color_active = rgba(47464fFF) # Not added yet
text_color = rgba(e2e0f9FF)
font_family = Lexend
button_font_fmily = JetBrainsMono Nerd Font
button_font_fmily = JetBrainsMono NF
# example buttons (R -> L)
# droidbars-button = [0]isLeft(0/1), [1]color, [2]color2, [3]width, [4]height, [5]icon, [6]buttonType, [7]on-click
droidbars-button = 0, rgba(e9def8FF), rgba(d3bbffFF), 42, 16, 󰖭, normal, hyprctl dispatch killactive
droidbars-button = 0, rgba(e9def8FF), rgba(d3bbffFF), 42, 16, , normal, hyprctl dispatch fullscreen 1
droidbars-button = 1, rgba(e9def8FF), rgba(d3bbffFF), 16, 16,‎󰐃, pin, hyprctl dispatch pin
droidbars-button = 1, rgba(e9def8FF), rgba(d3bbffFF), 16, 16,󰗘, float, hyprctl dispatch togglefloating
droidbars-button = 0, rgba(e2e0f9FF), rgba(bfc2ffFF), 42, 16, 󰖭, normal, hyprctl dispatch killactive
droidbars-button = 0, rgba(e2e0f9FF), rgba(bfc2ffFF), 42, 16, , normal, hyprctl dispatch fullscreen 1
droidbars-button = 1, rgba(e2e0f9FF), rgba(bfc2ffFF), 16, 16,‎󰐃, pin, hyprctl dispatch pin
droidbars-button = 1, rgba(e2e0f9FF), rgba(bfc2ffFF), 16, 16,󰗘, float, hyprctl dispatch togglefloating
}
}
+4 -1
View File
@@ -14,7 +14,7 @@ exec-once = fcitx5
exec-once = dbus-update-activation-environment --all &
exec-once = /usr/bin/gnome-keyring-daemon --start --components=secrets &
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &
exec-once = swayidle -w timeout 300 'gtklock' before-sleep 'gtklock' &
exec-once = swayidle -w timeout 300 'swaylock' before-sleep 'swaylock' &
exec-once = swayidle -w timeout 450 'pidof java || systemctl suspend' & # dont sleep if playing minecraft, else nvidia will fuck up
exec-once = sleep 1 && dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # Some fix idk
@@ -26,3 +26,6 @@ exec-once = hyprctl setcursor Bibata-Modern-Classic 24
# Plugins
# are a good way to crash Hyprland
# so nothing here
+22 -18
View File
@@ -26,7 +26,10 @@ input {
#sensitivity = 0
# Keyboard
# Add a layout and comment kb_options for Win+Space switching shortcut
kb_layout = us
# kb_options = grp:win_space_toggle
follow_mouse = 1
numlock_by_default = true
repeat_delay = 250
@@ -66,7 +69,7 @@ general {
# Gaps and border
gaps_in = 4
gaps_out = 5
gaps_workspace = 50
gaps_workspaces = 50
border_size = 1
# Fallback colors
@@ -98,7 +101,7 @@ decoration {
special = false
new_optimizations = on
size = 10
size = 5
passes = 4
brightness = 1
noise = 0.01
@@ -111,10 +114,10 @@ decoration {
# Shadow
drop_shadow = true
shadow_ignore_window = true
shadow_range = 15
shadow_range = 20
shadow_offset = 0 2
shadow_render_power = 6
col.shadow = rgba(00000044)
shadow_render_power = 2
col.shadow = rgba(0000001A)
# Shader
# screen_shader = ~/.config/hypr/shaders/nothing.frag
@@ -146,14 +149,14 @@ animations {
animation = border, 1, 10, default
animation = fade, 1, 2.5, md3_decel
# animation = workspaces, 1, 3.5, md3_decel, slide
animation = workspaces, 1, 3.5, easeOutExpo, slide
animation = workspaces, 1, 7, fluent_decel, slide
# animation = workspaces, 1, 7, fluent_decel, slidefade 15%
# animation = specialWorkspace, 1, 3, md3_decel, slidefadevert 15%
animation = specialWorkspace, 1, 3, md3_decel, slidevert
}
misc {
vfr = true
vfr = 1
vrr = 1
focus_on_activate = true
animate_manual_resizes = false
@@ -170,7 +173,7 @@ debug {
#overlay = true
#damage_tracking = 0
#damage_blink = yes
#damage_blink = yes
}
#misc {
@@ -186,6 +189,8 @@ decoration {
}
######## Window rules ########
windowrule = noblur,.*
#windowrule = opacity 0.94 override 0.94 override, .*
windowrule = float, ^(steam)$
windowrule = float, ^(guifetch)$ # FlafyDev/guifetch
@@ -206,6 +211,7 @@ layerrule = xray 1, .*
#layerrule = noanim, .*
layerrule = noanim, selection
layerrule = noanim, overview
layerrule = blur, swaylock
layerrule = blur, eww
layerrule = ignorealpha 0.8, eww
@@ -219,14 +225,18 @@ layerrule = blur, notifications
layerrule = ignorealpha 0.69, notifications
# ags
layerrule = blur, session
layerrule = noanim, sideright
layerrule = noanim, sideleft
#layerrule = blur, bar
#layerrule = ignorealpha 0.64, bar
#layerrule = blur, corner.*
#layerrule = ignorealpha 0.69, corner.*
#layerrule = blur, dock
#layerrule = ignorealpha 0.69, dock
# layerrule = blur, indicator.*
# layerrule = ignorealpha 0.69, indicator.*
#layerrule = blur, indicator.*
#layerrule = ignorealpha 0.69, indicator.*
#layerrule = blur, overview
#layerrule = ignorealpha 0.69, overview
#layerrule = blur, cheatsheet
@@ -235,17 +245,11 @@ layerrule = ignorealpha 0.69, notifications
#layerrule = ignorealpha 0.69, sideright
#layerrule = blur, sideleft
#layerrule = ignorealpha 0.69, sideleft
#layerrule = blur, indicatorundefined
#layerrule = ignorealpha 0.69, indicatorundefined
#layerrule = blur, indicator*
#layerrule = ignorealpha 0.69, indicator*
#layerrule = blur, osk
#layerrule = ignorealpha 0.69, osk
layerrule = blur, session
# Dynamic colors
source=~/.config/hypr/colors.conf
bind=,248,exec,notify-send deez nuts
bindr=,248,exec,eww close bar
+27 -32
View File
@@ -5,21 +5,15 @@ bindle=, XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
bindle=, XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
# Brightness
# bindle=, XF86MonBrightnessUp, exec, light -A 5
# bindle=, XF86MonBrightnessDown, exec, light -U 5
# bindle=, XF86MonBrightnessUp, exec, brightnessctl set '12.75+'
# bindle=, XF86MonBrightnessDown, exec, brightnessctl set '12.75-'
bindle=, XF86MonBrightnessUp, exec, ags run-js 'brightness.screen_value += 0.05;'
bindle=, XF86MonBrightnessDown, exec, ags run-js 'brightness.screen_value -= 0.05;'
######################################## Applications ########################################
#################################### Applications ###################################
# Apps: just normal apps
# bind = Super, C, exec, code --password-store=gnome --enable-features=UseOzonePlatform --ozone-platform=wayland
bind = Super, C, exec, code --enable-features=UseOzonePlatform --ozone-platform=wayland
# bind = Super, C, exec, code --password-store=gnome
bind = ControlShiftAlt, Y, exec, yuzu
bind = Super, C, exec, code --password-store=gnome --enable-features=UseOzonePlatform --ozone-platform=wayland
bind = Super, T, exec, foot --override shell=fish
bind = SuperShiftAlt, T, exec, foot sleep 0.01 && nmtui
#bind = SuperAlt, T, exec, wezterm
#bind = Super, Return, exec, wezterm
bind = Super, E, exec, nautilus --new-window
bind = SuperAlt, E, exec, thunar
bind = Super, W, exec, firefox
@@ -31,62 +25,60 @@ bind = SuperShift, W, exec, wps
bind = Super, I, exec, XDG_CURRENT_DESKTOP="gnome" gnome-control-center
bind = ControlSuper, V, exec, pavucontrol
bind = ControlShift, Escape, exec, gnome-system-monitor
bind = ControlAltShift, Escape, exec, foot -T 'btop' btop
bind = SuperShift, I, exec, ~/.local/bin/guifetch
# Actions
bind = SuperShift, Period, exec, pkill wofi || wofi-emoji
# Actions
bind = Super, Period, exec, pkill fuzzel || ~/.local/bin/fuzzel-emoji
bind = Super, Q, killactive,
bind = SuperAlt, Space, togglefloating,
bind = ShiftSuperAlt, Q, exec, hyprctl kill
bind = ControlShiftAlt, Delete, exec, pkill wlogout || wlogout -p layer-shell
bind = ControlShiftAltSuper, Delete, exec, systemctl poweroff
#bind = ShiftAlt,mouse_up, exec, wtype -M ctrl -k Prior
#bind = ShiftAlt,mouse_down, exec, wtype -M ctrl -k Next
# Screenshot, Record, OCR (Optical Character Recognition), Color picker, Clipboard history
bind = SuperShift, D, exec,~/.local/bin/rubyshot | wl-copy
# Screenshot, Record, OCR, Color picker, Clipboard history
bind = SuperShiftAlt, S, exec, grim -g "$(slurp -d -c D1E5F4BB -b 1B232866 -s 00000000)" - | swappy -f -
bindl =,Print,exec,grim - | wl-copy
bindl=,Print,exec,grim - | wl-copy
bind = SuperShift, S, exec, grim -g "$(slurp -d -c D1E5F4BB -b 1B232866 -s 00000000)" - | wl-copy
bind = SuperAlt, R, exec, ~/.local/bin/record-script.sh
bind = ControlAlt, R, exec, ~/.local/bin/record-script.sh --sound
bind = SuperShiftAlt, R, exec, ~/.local/bin/record-script-fullscreen.sh
bind = SuperAlt, R, exec, ~/.config/ags/scripts/record-script.sh
bind = ControlAlt, R, exec, ~/.config/ags/scripts/record-script.sh --sound
bind = SuperShiftAlt, R, exec, ~/.config/ags/scripts/record-script.sh --fullscreen-sound
bind = SuperShift, C, exec, hyprpicker -a
bind = Super, V, exec, pkill fuzzel || cliphist list | fuzzel --no-fuzzy --dmenu | cliphist decode | wl-copy
# Text-to-image
# Normal
# Normal
bind = ControlSuperShift,S,exec,grim -g "$(slurp -d -c D1E5F4BB -b 1B232866 -s 00000000)" "tmp.png" && tesseract "tmp.png" - | wl-copy && rm "tmp.png"
# English
# English
bind = SuperShift,T,exec,grim -g "$(slurp -d -c D1E5F4BB -b 1B232866 -s 00000000)" "tmp.png" && tesseract -l eng "tmp.png" - | wl-copy && rm "tmp.png"
# Japanese
# Japanese
bind = SuperShift,J,exec,grim -g "$(slurp -d -c D1E5F4BB -b 1B232866 -s 00000000)" "tmp.png" && tesseract -l jpn "tmp.png" - | wl-copy && rm "tmp.png"
# Media
bind = SuperShift, N, exec, playerctl next || playerctl position `bc <<< "100 * $(playerctl metadata mpris:length) / 1000000 / 100"`
bindl = , XF86AudioNext, exec, ags run-js "Mpris.getPlayer()?.next()"
bindl= ,XF86AudioNext, exec, playerctl next || playerctl position `bc <<< "100 * $(playerctl metadata mpris:length) / 1000000 / 100"`
bind = SuperShift, B, exec, playerctl previous
bind = SuperShift, P, exec, playerctl play-pause
bind = ,XF86AudioPlay, exec, playerctl play-pause
#Lock screen | blur: --effect-blur=20x202
bind = Super, L, exec, gtklock
bind = SuperShift, L, exec, gtklock
bind = Super, L, exec, swaylock
bind = SuperShift, L, exec, swaylock
bindl = SuperShift, L, exec, sleep 0.1 && systemctl suspend
# App launcher
bind = ControlSuper, Slash, exec, pkill anyrun || anyrun
###################################### AGS keybinds #####################################
bindr = ControlSuper, R, exec, hyprctl reload; killall ags activewin.sh activews.sh gohypr bash ydotool; ags &
bindr = ControlSuper, R, exec, killall ags activewin.sh activews.sh gohypr bash ydotool; ags &
bindr = ControlSuperAlt, R, exec, hyprctl reload; killall ags activewin.sh activews.sh gohypr bash ydotool; ags &
bind = ControlSuper, T, exec, ~/.config/ags/scripts/color_generation/switchwall.sh
bindir = Super, Super_L, exec, ags -t 'overview'
bind = Super, Tab, exec, ags -t 'overview'
bind = Super, Slash, exec, ags -t 'cheatsheet'
# bind = Super, O, exec, ags -t 'sideleft'
bind = Super, B, exec, ags -t 'sideleft'
bind = Super, O, exec, ags -t 'sideleft' # blame osu for this keybinding
bind = Super, N, exec, ags -t 'sideright'
bind = Super, M, exec, ags run-js 'openMusicControls.value = (!Mpris.getPlayer() ? false : !openMusicControls.value);'
bind = Super, Comma, exec, ags run-js 'openColorScheme.value = true; Utils.timeout(2000, () => openColorScheme.value = false);'
bind = Super, K, exec, ags -t 'osk'
bind = ControlAlt, Delete, exec, ags -t 'session'
bindr = Control, Control_R, exec, ags run-js 'indicator.popup(-1);'
@@ -100,10 +92,11 @@ bindr = Control, Control_R, exec, ags run-js 'App.closeWindow("cheatsheet");'
bindr = Control, Control_R, exec, ags run-js 'App.closeWindow("osk");'
bindr = Control, Control_R, exec, ags run-js 'App.closeWindow("session");'
bindr = Control, Control_R, exec, ags run-js 'openMusicControls.value = false'
bindr = Control, Control_R, exec, ags run-js 'openColorScheme.value = false'
###################################### Plugins #########################################
bind = ControlSuper, P, exec, hyprctl plugin load '/home/end/.config/hypr/plugins/droidbars.so'
bind = ControlSuper, O, exec, hyprctl plugin unload '/home/end/.config/hypr/plugins/droidbars.so'
bind = ControlSuper, P, exec, hyprctl plugin load "~/.config/hypr/plugins/droidbars.so"
bind = ControlSuper, O, exec, hyprctl plugin unload "~/.config/hypr/plugins/droidbars.so"
## Testing
# bind = SuperAlt, f12, exec, notify-send "Hyprland version: $(hyprctl version | head -2 | tail -1 | cut -f2 -d ' ')" "owo" -a 'Hyprland keybind'
@@ -200,3 +193,5 @@ bindm = Super, mouse:273, resizewindow
bindm = Super, Z, movewindow
bind = ControlSuper, Backslash, resizeactive, exact 640 480
bind = SuperAlt, J, exec, ydotool key 105:1 105:0
+13
View File
@@ -0,0 +1,13 @@
// vim: set ft=glsl:
// blue light filter shader
// values from https://reshade.me/forum/shader-discussion/3673-blue-light-filter-similar-to-f-lux
precision mediump float;
varying vec2 v_texcoord;
uniform sampler2D tex;
void main() {
vec4 pixColor = texture2D(tex, v_texcoord);
pixColor.rgb = 1.0 - pixColor.rgb;
gl_FragColor = pixColor;
}
+13 -11
View File
@@ -10,27 +10,29 @@ $cmd_duration
"""
format = """
$username$hostname$directory
$username$hostname $directory $git_branch
$character
"""
# Replace the "" symbol in the prompt with "➜"
[character] # The name of the module we are configuring is "character"
success_symbol = "[🭧🭒](bold fg:blue)[ ➜ ](bold bg:blue fg:black)[](bold fg:blue)"
success_symbol = "[• ](bold fg:blue)"
error_symbol = "[🭧🭒](bold fg:red)[ ✗ ](bold bg:red fg:black)[](bold fg:red)"
error_symbol = "[• 󰅙](bold fg:red)"
# Disable the package module, hiding it from the prompt completely
[package]
disabled = true
[git_branch]
symbol = "🌱 "
style = "bg: green"
symbol = "󰘬"
truncation_length = 4
truncation_symbol = ""
format = "• [](bold fg:green)[$symbol $branch(:$remote_branch)](fg:black bg:green)[](bold fg:green)"
[git_commit]
commit_hash_length = 4
tag_symbol = "🔖 "
tag_symbol = " "
[git_state]
format = '[\($state( $progress_current of $progress_total)\)]($style) '
@@ -50,7 +52,7 @@ deleted = " 🗑 "
[hostname]
ssh_only = false
format = "[ ](bold bg:cyan fg:blue)[$hostname ](bg:cyan bold fg:black)[](bold fg:cyan bg:blue)"
format = "[$hostname](bg:cyan bold fg:black)[](bold fg:cyan )"
trim_at = ".companyname.com"
disabled = false
@@ -69,9 +71,9 @@ format = '🕙[\[ $time \]]($style) '
time_format = "%T"
[username]
style_user = "bold bg:blue fg:black"
style_user = "bold bg:cyan fg:black"
style_root = "red bold"
format = "[🭃](bold fg:blue)[$user ]($style)"
format = "[](bold fg:cyan)[$user]($style)"
disabled = false
show_always = true
@@ -81,16 +83,16 @@ read_only = "  "
style = "bg:blue fg:black"
truncation_length = 2
truncation_symbol = "./"
format = '[$path]($style)[🭞](fg:blue)'
format = '[](bold fg:blue)[$path]($style)[](bold fg:blue)'
[directory.substitutions]
"Documents" = " "
"/" = ""
"/" = "|"
"Downloads" = " "
"Music" = " "
"Pictures" = " "
[cmd_duration]
min_time = 0
format = '[🬈🬖🬥🬅 ](bold bg:yellow fg:black)[time:$duration](bold bg:yellow fg:black)[ 🬖🬥🬔🬗](bold bg:yellow fg:black)'
format = '[](bold fg:yellow)[$duration](bold bg:yellow fg:black)[](bold fg:yellow)'
-14
View File
@@ -1,14 +0,0 @@
---
name: Issue
about: for reporting any issue
title: ''
labels: ''
assignees: ''
---
- **I have read the instructions** and I have a problem with branch:
---
## The issue
- (describe your problem here)
- (if it throws errors, **PLEASE**, attach logs and describe in detail if possible)
+7 -1
View File
@@ -1 +1,7 @@
.config/ags/style.css
.config/hypr/colors.conf
.config/ags/scripts/templates/gradience/preset.json
.config/ags/scss/_musicmaterial.scss
.config/ags/style.css
.config/hypr/colors.conf
.config/ags/scss/_material.scss
-18
View File
@@ -1,18 +0,0 @@
#!/bin/sh
cd ~
#export XDG_CURRENT_DESKTOP=GNOME
#export XDG_SESSION_TYPE=wayland
#export XDG_SESSION_DESKTOP=GNOME
#export EDITOR = /usr/bin/gnome-text-editor
export XMODIFIERS=@im=ibus
export GTK_IM_MODULE=ibus
export QT_IM_MODULE=ibus
#export QT_QPA_PLATFORMTHEME=qt5ct #QT Theme (for KDE apps)
export QT_QPA_PLATFORMTHEME=qt5ct
exec Hyprland
+1869
View File
File diff suppressed because it is too large Load Diff
-10
View File
@@ -1,10 +0,0 @@
#/usr/bin/bash
cd /home/end/Videos
if ["$(pidof wf-recorder)" -ne ""]; then
notify-send "wf-recorder" "Starting recording" -a 'wf-recorder'
wf-recorder -t -f './recording_'"$(date '+%Y_%m_%_d..%H.%M')"'.mp4' --audio=alsa_output.pci-0000_08_00.6.analog-stereo.monitor
else
/usr/bin/kill --signal SIGINT wf-recorder
notify-send "wf-recorder" "Recording Stopped" -a 'wf-recorder'
fi
-10
View File
@@ -1,10 +0,0 @@
#/usr/bin/bash
cd /home/end/Videos
if [[ "$(pidof wf-recorder)" == "" ]]; then
notify-send "wf-recorder" "Starting recording" -a 'wf-recorder'
wf-recorder -f './recording_'"$(date '+%Y_%m_%_d..%H.%M')"'.mp4' -t --geometry "$(slurp)"
else
/usr/bin/kill --signal SIGINT wf-recorder
notify-send "wf-recorder" "Recording Stopped" -a 'wf-recorder'
fi
-14
View File
@@ -1,14 +0,0 @@
#!/usr/bin/bash
if [[ "$2" == "" ]]; then # basic rice switching
notify-send 'Usage: >swr [save name] [load name]'
exit
fi
mkdir -p ~/.config/__enderice/
mv ~/.config/eww ~/.config/__enderice/eww_"$1"
mv ~/.config/hypr ~/.config/__enderice/hypr_"$1"
mv ~/.config/__enderice/eww_"$2" ~/.config/eww
mv ~/.config/__enderice/hypr_"$2" ~/.config/hypr
pkill eww && eww open bar && eww open bgdecor
+3 -3
View File
@@ -1,4 +1,4 @@
# Contributing
- Please understand that dotfiles are personal
- Fixes are fine
- If you make new stuff, I'll probably nitpick as I want quality
- Maintain the code format and folder structure and I'll be happy
- If you decide to write new scripts, I can only review C++, bash and Python codes (and not rust)
- I guess that's it for now.
@@ -0,0 +1,100 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Catppuccin Gedit theme based on Oblivion theme and Cappuccin for Visual Studio Code.
-->
<style-scheme id="catppuccin_frappe" _name="Catppuccin frappe" version="1.0">
<author>sacerdos</author>
<_description>Soothing pastel theme for Gedit</_description>
<!-- Catppuccin Palette -->
<color name="frappe_rosewater" value="#f2d5cf"/>
<color name="frappe_flamingo" value="#eebebe"/>
<color name="frappe_pink" value="#f4b8e4"/>
<color name="frappe_mauve" value="#ca9ee6"/>
<color name="frappe_red" value="#e78284"/>
<color name="frappe_maroon" value="#ea999c"/>
<color name="frappe_peach" value="#ef9f76"/>
<color name="frappe_yellow" value="#e5c890"/>
<color name="frappe_green" value="#a6d189"/>
<color name="frappe_teal" value="#81c8be"/>
<color name="frappe_sky" value="#99d1db"/>
<color name="frappe_sapphire" value="#85c1dc"/>
<color name="frappe_blue" value="#8caaee"/>
<color name="frappe_lavender" value="#babbf1"/>
<color name="frappe_text" value="#c6d0f5"/>
<color name="frappe_subtext1" value="#b5bfe2"/>
<color name="frappe_subtext0" value="#a5adce"/>
<color name="frappe_overlay2" value="#949cbb"/>
<color name="frappe_overlay1" value="#838ba7"/>
<color name="frappe_overlay0" value="#737994"/>
<color name="frappe_surface2" value="#626880"/>
<color name="frappe_surface1" value="#51576d"/>
<color name="frappe_surface0" value="#51576d"/>
<color name="frappe_base" value="#303446"/>
<color name="frappe_mantle" value="#292c3c"/>
<color name="frappe_crust" value="#232634"/>
<!-- Global Settings -->
<style name="text" foreground="frappe_text" background = "frappe_base"/>
<style name="selection" foreground="frappe_text" background="frappe_surface2"/>
<style name="cursor" foreground="frappe_rosewater"/>
<style name="secondary-cursor" foreground="frappe_rosewater"/>
<style name="current-line" background="frappe_surface0"/>
<style name="line-numbers" foreground="frappe_text" background="frappe_crust"/>
<style name="draw-spaces" foreground="frappe_text"/>
<style name="background-pattern" background="frappe_base"/>
<!-- Bracket Matching -->
<style name="bracket-match" foreground="frappe_mauve"/>
<style name="bracket-mismatch" foreground="frappe_text" background="frappe_peach"/>
<!-- Right Margin -->
<style name="right-margin" foreground="frappe_text" background="frappe_crust"/>
<!-- Search Matching -->
<style name="search-match" foreground="frappe_text" background="frappe_blue"/>
<!-- Comments -->
<style name="def:comment" foreground="frappe_overlay0"/>
<style name="def:shebang" foreground="frappe_overlay0" bold="true"/>
<style name="def:doc-comment-element" italic="true"/>
<!-- Constants -->
<style name="def:constant" foreground="frappe_green"/>
<style name="def:string" foreground="frappe_green"/>
<style name="def:special-char" foreground="frappe_lavender"/>
<style name="def:special-constant" foreground="frappe_lavender"/>
<style name="def:floating-point" foreground="frappe_lavender"/>
<!-- Identifiers -->
<style name="def:identifier" foreground="frappe_blue"/>
<!-- Statements -->
<style name="def:statement" foreground="frappe_sapphire" bold="true"/>
<!-- Types -->
<style name="def:type" foreground="frappe_maroon" bold="true"/>
<!-- Markup -->
<style name="def:emphasis" italic="true"/>
<style name="def:strong-emphasis" foreground="frappe_yellow" bold="true"/>
<style name="def:inline-code" foreground="frappe_green"/>
<style name="def:insertion" underline="single"/>
<style name="def:deletion" strikethrough="true"/>
<style name="def:link-text" foreground="frappe_rosewater"/>
<style name="def:link-symbol" foreground="frappe_blue" bold="true"/>
<style name="def:link-destination" foreground="frappe_blue" italic="true" underline="single"/>
<style name="def:heading" foreground="frappe_teal" bold="true"/>
<style name="def:thematic-break" foreground="frappe_green" bold="true"/>
<style name="def:preformatted-section" foreground="frappe_green"/>
<style name="def:list-marker" foreground="frappe_teal" bold="true"/>
<!-- Others -->
<style name="def:preprocessor" foreground="frappe_teal"/>
<style name="def:error" foreground="frappe_maroon" bold="true"/>
<style name="def:warning" foreground="frappe_peach"/>
<style name="def:note" foreground="frappe_blue" bold="true"/>
<style name="def:net-address" italic="true" underline="single"/>
</style-scheme>
@@ -0,0 +1,100 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Catppuccin Gedit theme based on Oblivion theme and Cappuccin for Visual Studio Code.
-->
<style-scheme id="catppuccin_latte" _name="Catppuccin latte" version="1.0">
<author>sacerdos</author>
<_description>Soothing pastel theme for Gedit</_description>
<!-- Catppuccin Palette -->
<color name="latte_rosewater" value="#dc8a78"/>
<color name="latte_flamingo" value="#dd7878"/>
<color name="latte_pink" value="#ea76cb"/>
<color name="latte_mauve" value="#8839ef"/>
<color name="latte_red" value="#d20f39"/>
<color name="latte_maroon" value="#e64553"/>
<color name="latte_peach" value="#fe640b"/>
<color name="latte_yellow" value="#df8e1d"/>
<color name="latte_green" value="#40a02b"/>
<color name="latte_teal" value="#179299"/>
<color name="latte_sky" value="#04a5e5"/>
<color name="latte_sapphire" value="#209fb5"/>
<color name="latte_blue" value="#1e66f5"/>
<color name="latte_lavender" value="#7287fd"/>
<color name="latte_text" value="#4c4f69"/>
<color name="latte_subtext1" value="#5c5f77"/>
<color name="latte_subtext0" value="#6c6f85"/>
<color name="latte_overlay2" value="#7c7f93"/>
<color name="latte_overlay1" value="#8c8fa1"/>
<color name="latte_overlay0" value="#9ca0b0"/>
<color name="latte_surface2" value="#acb0be"/>
<color name="latte_surface1" value="#bcc0cc"/>
<color name="latte_surface0" value="#ccd0da"/>
<color name="latte_base" value="#eff1f5"/>
<color name="latte_mantle" value="#e6e9ef"/>
<color name="latte_crust" value="#dce0e8"/>
<!-- Global Settings -->
<style name="text" foreground="latte_text" background = "latte_base"/>
<style name="selection" foreground="latte_text" background="latte_surface2"/>
<style name="cursor" foreground="latte_rosewater"/>
<style name="secondary-cursor" foreground="latte_rosewater"/>
<style name="current-line" background="latte_surface0"/>
<style name="line-numbers" foreground="latte_text" background="latte_crust"/>
<style name="draw-spaces" foreground="latte_text"/>
<style name="background-pattern" background="latte_base"/>
<!-- Bracket Matching -->
<style name="bracket-match" foreground="latte_mauve"/>
<style name="bracket-mismatch" foreground="latte_text" background="latte_peach"/>
<!-- Right Margin -->
<style name="right-margin" foreground="latte_text" background="latte_crust"/>
<!-- Search Matching -->
<style name="search-match" foreground="latte_text" background="latte_blue"/>
<!-- Comments -->
<style name="def:comment" foreground="latte_overlay0"/>
<style name="def:shebang" foreground="latte_overlay0" bold="true"/>
<style name="def:doc-comment-element" italic="true"/>
<!-- Constants -->
<style name="def:constant" foreground="latte_green"/>
<style name="def:string" foreground="latte_green"/>
<style name="def:special-char" foreground="latte_lavender"/>
<style name="def:special-constant" foreground="latte_lavender"/>
<style name="def:floating-point" foreground="latte_lavender"/>
<!-- Identifiers -->
<style name="def:identifier" foreground="latte_blue"/>
<!-- Statements -->
<style name="def:statement" foreground="latte_sapphire" bold="true"/>
<!-- Types -->
<style name="def:type" foreground="latte_maroon" bold="true"/>
<!-- Markup -->
<style name="def:emphasis" italic="true"/>
<style name="def:strong-emphasis" foreground="latte_yellow" bold="true"/>
<style name="def:inline-code" foreground="latte_green"/>
<style name="def:insertion" underline="single"/>
<style name="def:deletion" strikethrough="true"/>
<style name="def:link-text" foreground="latte_rosewater"/>
<style name="def:link-symbol" foreground="latte_blue" bold="true"/>
<style name="def:link-destination" foreground="latte_blue" italic="true" underline="single"/>
<style name="def:heading" foreground="latte_teal" bold="true"/>
<style name="def:thematic-break" foreground="latte_green" bold="true"/>
<style name="def:preformatted-section" foreground="latte_green"/>
<style name="def:list-marker" foreground="latte_teal" bold="true"/>
<!-- Others -->
<style name="def:preprocessor" foreground="latte_teal"/>
<style name="def:error" foreground="latte_maroon" bold="true"/>
<style name="def:warning" foreground="latte_peach"/>
<style name="def:note" foreground="latte_blue" bold="true"/>
<style name="def:net-address" italic="true" underline="single"/>
</style-scheme>
@@ -0,0 +1,100 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Catppuccin Gedit theme based on Oblivion theme and Cappuccin for Visual Studio Code.
-->
<style-scheme id="catppuccin_macchiato" _name="Catppuccin macchiato" version="1.0">
<author>sacerdos</author>
<_description>Soothing pastel theme for Gedit</_description>
<!-- Catppuccin Palette -->
<color name="macchiato_rosewater" value="#f4dbd6"/>
<color name="macchiato_flamingo" value="#f0c6c6"/>
<color name="macchiato_pink" value="#f5bde6"/>
<color name="macchiato_mauve" value="#c6a0f6"/>
<color name="macchiato_red" value="#ed8796"/>
<color name="macchiato_maroon" value="#ee99a0"/>
<color name="macchiato_peach" value="#f5a97f"/>
<color name="macchiato_yellow" value="#eed49f"/>
<color name="macchiato_green" value="#a6da95"/>
<color name="macchiato_teal" value="#8bd5ca"/>
<color name="macchiato_sky" value="#91d7e3"/>
<color name="macchiato_sapphire" value="#7dc4e4"/>
<color name="macchiato_blue" value="#8aadf4"/>
<color name="macchiato_lavender" value="#b7bdf8"/>
<color name="macchiato_text" value="#cad3f5"/>
<color name="macchiato_subtext1" value="#b8c0e0"/>
<color name="macchiato_subtext0" value="#a5adcb"/>
<color name="macchiato_overlay2" value="#939ab7"/>
<color name="macchiato_overlay1" value="#8087a2"/>
<color name="macchiato_overlay0" value="#6e738d"/>
<color name="macchiato_surface2" value="#5b6078"/>
<color name="macchiato_surface1" value="#494d64"/>
<color name="macchiato_surface0" value="#363a4f"/>
<color name="macchiato_base" value="#24273a"/>
<color name="macchiato_mantle" value="#1e2030"/>
<color name="macchiato_crust" value="#181926"/>
<!-- Global Settings -->
<style name="text" foreground="macchiato_text" background = "macchiato_base"/>
<style name="selection" foreground="macchiato_text" background="macchiato_surface2"/>
<style name="cursor" foreground="macchiato_rosewater"/>
<style name="secondary-cursor" foreground="macchiato_rosewater"/>
<style name="current-line" background="macchiato_surface0"/>
<style name="line-numbers" foreground="macchiato_text" background="macchiato_crust"/>
<style name="draw-spaces" foreground="macchiato_text"/>
<style name="background-pattern" background="macchiato_mantle"/>
<!-- Bracket Matching -->
<style name="bracket-match" foreground="macchiato_mauve"/>
<style name="bracket-mismatch" foreground="macchiato_text" background="macchiato_peach"/>
<!-- Right Margin -->
<style name="right-margin" foreground="macchiato_text" background="crust"/>
<!-- Search Matching -->
<style name="search-match" foreground="macchiato_text" background="macchiato_blue"/>
<!-- Comments -->
<style name="def:comment" foreground="macchiato_overlay0"/>
<style name="def:shebang" foreground="macchiato_overlay0" bold="true"/>
<style name="def:doc-comment-element" italic="true"/>
<!-- Constants -->
<style name="def:constant" foreground="macchiato_green"/>
<style name="def:string" foreground="macchiato_green"/>
<style name="def:special-char" foreground="macchiato_lavender"/>
<style name="def:special-constant" foreground="macchiato_lavender"/>
<style name="def:floating-point" foreground="macchiato_lavender"/>
<!-- Identifiers -->
<style name="def:identifier" foreground="macchiato_blue"/>
<!-- Statements -->
<style name="def:statement" foreground="macchiato_sapphire" bold="true"/>
<!-- Types -->
<style name="def:type" foreground="macchiato_maroon" bold="true"/>
<!-- Markup -->
<style name="def:emphasis" italic="true"/>
<style name="def:strong-emphasis" foreground="macchiato_yellow" bold="true"/>
<style name="def:inline-code" foreground="macchiato_green"/>
<style name="def:insertion" underline="single"/>
<style name="def:deletion" strikethrough="true"/>
<style name="def:link-text" foreground="macchiato_rosewater"/>
<style name="def:link-symbol" foreground="macchiato_blue" bold="true"/>
<style name="def:link-destination" foreground="macchiato_blue" italic="true" underline="single"/>
<style name="def:heading" foreground="macchiato_teal" bold="true"/>
<style name="def:thematic-break" foreground="macciato_green" bold="true"/>
<style name="def:preformatted-section" foreground="macchiato_green"/>
<style name="def:list-marker" foreground="macchiato_teal" bold="true"/>
<!-- Others -->
<style name="def:preprocessor" foreground="macchiato_teal"/>
<style name="def:error" foreground="macchiato_maroon" bold="true"/>
<style name="def:warning" foreground="macchiato_peach"/>
<style name="def:note" foreground="macchiato_blue" bold="true"/>
<style name="def:net-address" italic="true" underline="single"/>
</style-scheme>
@@ -0,0 +1,100 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Catppuccin Gedit theme based on Oblivion theme and Cappuccin for Visual Studio Code.
-->
<style-scheme id="catppuccin_mocha" _name="Catppuccin Mocha" version="1.0">
<author>sacerdos</author>
<_description>Soothing pastel theme for Gedit</_description>
<!-- Tango Palette -->
<color name="mocha_rosewater" value="#f5e0dc"/>
<color name="mocha_flamingo" value="#f2cdcd"/>
<color name="mocha_pink" value="#f5c2e7"/>
<color name="mocha_mauve" value="#cba6f7"/>
<color name="mocha_red" value="#f38ba8"/>
<color name="mocha_maroon" value="#eba0ac"/>
<color name="mocha_peach" value="#fab387"/>
<color name="mocha_yellow" value="#f9e2af"/>
<color name="mocha_green" value="#a6e3a1"/>
<color name="mocha_teal" value="#94e2d5"/>
<color name="mocha_sky" value="#89dceb"/>
<color name="mocha_sapphire" value="#74c7ec"/>
<color name="mocha_blue" value="#89b4fa"/>
<color name="mocha_lavender" value="#b4befe"/>
<color name="mocha_text" value="#cdd6f4"/>
<color name="mocha_subtext1" value="#bac2de"/>
<color name="mocha_subtext0" value="#a6adc8"/>
<color name="mocha_overlay2" value="#9399b2"/>
<color name="mocha_overlay1" value="#7f849c"/>
<color name="mocha_overlay0" value="#6c7086"/>
<color name="mocha_surface2" value="#585b70"/>
<color name="mocha_surface1" value="#45475a"/>
<color name="mocha_surface0" value="#313244"/>
<color name="mocha_base" value="#1e1e2e"/>
<color name="mocha_mantle" value="#181825"/>
<color name="mocha_crust" value="#11111b"/>
<!-- Global Settings -->
<style name="text" foreground="mocha_text" background = "mocha_base"/>
<style name="selection" foreground="mocha_text" background="mocha_surface2"/>
<style name="cursor" foreground="mocha_rosewater"/>
<style name="secondary-cursor" foreground="mocha_rosewater"/>
<style name="current-line" background="mocha_surface0"/>
<style name="line-numbers" foreground="mocha_text" background="mocha_crust"/>
<style name="draw-spaces" foreground="mocha_text"/>
<style name="background-pattern" background="mocha_mantle"/>
<!-- Bracket Matching -->
<style name="bracket-match" foreground="mocha_mauve"/>
<style name="bracket-mismatch" foreground="mocha_text" background="mocha_peach"/>
<!-- Right Margin -->
<style name="right-margin" foreground="mocha_text" background="mocha_crust"/>
<!-- Search Matching -->
<style name="search-match" foreground="mocha_text" background="mocha_blue"/>
<!-- Comments -->
<style name="def:comment" foreground="mocha_overlay0"/>
<style name="def:shebang" foreground="mocha_overlay0" bold="true"/>
<style name="def:doc-comment-element" italic="true"/>
<!-- Constants -->
<style name="def:constant" foreground="mocha_green"/>
<style name="def:string" foreground="mocha_green"/>
<style name="def:special-char" foreground="mocha_lavender"/>
<style name="def:special-constant" foreground="mocha_lavender"/>
<style name="def:floating-point" foreground="mocha_lavender"/>
<!-- Identifiers -->
<style name="def:identifier" foreground="mocha_blue"/>
<!-- Statements -->
<style name="def:statement" foreground="mocha_sapphire" bold="true"/>
<!-- Types -->
<style name="def:type" foreground="mocha_maroon" bold="true"/>
<!-- Markup -->
<style name="def:emphasis" italic="true"/>
<style name="def:strong-emphasis" foreground="mocha_yellow" bold="true"/>
<style name="def:inline-code" foreground="mocha_green"/>
<style name="def:insertion" underline="single"/>
<style name="def:deletion" strikethrough="true"/>
<style name="def:link-text" foreground="mocha_rosewater"/>
<style name="def:link-symbol" foreground="mocha_blue" bold="true"/>
<style name="def:link-destination" foreground="mocha_blue" italic="true" underline="single"/>
<style name="def:heading" foreground="mocha_teal" bold="true"/>
<style name="def:thematic-break" foreground="mocha_green" bold="true"/>
<style name="def:preformatted-section" foreground="mocha_green"/>
<style name="def:list-marker" foreground="mocha_teal" bold="true"/>
<!-- Others -->
<style name="def:preprocessor" foreground="mocha_teal"/>
<style name="def:error" foreground="mocha_maroon" bold="true"/>
<style name="def:warning" foreground="mocha_peach"/>
<style name="def:note" foreground="mocha_blue" bold="true"/>
<style name="def:net-address" italic="true" underline="single"/>
</style-scheme>
@@ -0,0 +1,111 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Catppuccin Gedit theme based on Oblivion theme and Cappuccin for Visual Studio Code.
-->
<style-scheme id="everforest_b" _name="Everforest Dark B" version="1.0">
<author>sacerdos</author>
<_description>Everforest</_description>
<!-- Tango Palette -->
<color name="forestgreen" value="#a8b370"/>
<color name="forestyellow" value="#8e8370"/>
<color name="foresttext" value="#d3c6ab"/>
<color name="forestblack" value="#1e201f"/>
<color name="forestred" value="#e76c69"/>
<color name="forestpink" value="#d698b5"/>
<color name="forestorange" value="#e59576"/>
<color name="forestgray" value="#75817b"/>
<color name="forestgraylight" value="#495156"/>
<color name="forestgreendark" value="#7fba90"/>
<color name="mocha_rosewater" value="#f5e0dc"/>
<color name="mocha_flamingo" value="#f2cdcd"/>
<color name="mocha_pink" value="#f5c2e7"/>
<color name="mocha_mauve" value="#cba6f7"/>
<color name="mocha_red" value="#f38ba8"/>
<color name="mocha_maroon" value="#eba0ac"/>
<color name="mocha_peach" value="#fab387"/>
<color name="mocha_yellow" value="#f9e2af"/>
<color name="mocha_green" value="#a6e3a1"/>
<color name="mocha_teal" value="#94e2d5"/>
<color name="mocha_sky" value="#89dceb"/>
<color name="mocha_sapphire" value="#74c7ec"/>
<color name="mocha_blue" value="#89b4fa"/>
<color name="mocha_lavender" value="#b4befe"/>
<color name="mocha_text" value="#cdd6f4"/>
<color name="mocha_subtext1" value="#bac2de"/>
<color name="mocha_subtext0" value="#a6adc8"/>
<color name="mocha_overlay2" value="#9399b2"/>
<color name="mocha_overlay1" value="#7f849c"/>
<color name="mocha_overlay0" value="#6c7086"/>
<color name="mocha_surface2" value="#585b70"/>
<color name="mocha_surface1" value="#45475a"/>
<color name="mocha_surface0" value="#313244"/>
<color name="mocha_base" value="#1e1e2e"/>
<color name="mocha_mantle" value="#181825"/>
<color name="mocha_crust" value="#11111b"/>
<!-- Global Settings -->
<style name="text" foreground="foresttext" background = "forestblack"/>
<style name="selection" foreground="foresttext" background="forestgray"/>
<style name="cursor" foreground="forestpink"/>
<style name="secondary-cursor" foreground="forestpink"/>
<style name="current-line" background="forestblack"/>
<style name="line-numbers" foreground="foresttext" background="forestblack"/>
<style name="draw-spaces" foreground="foresttext"/>
<style name="background-pattern" background="forestblack"/>
<!-- Bracket Matching -->
<style name="bracket-match" foreground="forestgraylight"/>
<style name="bracket-mismatch" foreground="foresttext" background="forestorange"/>
<!-- Right Margin -->
<style name="right-margin" foreground="foresttext" background="forestblack"/>
<!-- Search Matching -->
<style name="search-match" foreground="foresttext" background="forestgreendark"/>
<!-- Comments -->
<style name="def:comment" foreground="forestgray"/>
<style name="def:shebang" foreground="forestgray" bold="true"/>
<style name="def:doc-comment-element" italic="true"/>
<!-- Constants -->
<style name="def:constant" foreground="forestgreen"/>
<style name="def:string" foreground="forestgreen"/>
<style name="def:special-char" foreground="forestpink"/>
<style name="def:special-constant" foreground="forestpink"/>
<style name="def:floating-point" foreground="forestpink"/>
<!-- Identifiers -->
<style name="def:identifier" foreground="forestgreendark"/>
<!-- Statements -->
<style name="def:statement" foreground="forestorange" bold="true"/>
<!-- Types -->
<style name="def:type" foreground="forestred" bold="true"/>
<!-- Markup -->
<style name="def:emphasis" italic="true"/>
<style name="def:strong-emphasis" foreground="forestyellow" bold="true"/>
<style name="def:inline-code" foreground="forestgreen"/>
<style name="def:insertion" underline="single"/>
<style name="def:deletion" strikethrough="true"/>
<style name="def:link-text" foreground="foresttext"/>
<style name="def:link-symbol" foreground="forestgreendark" bold="true"/>
<style name="def:link-destination" foreground="forestgreendark" italic="true" underline="single"/>
<style name="def:heading" foreground="forest" bold="true"/>
<style name="def:thematic-break" foreground="forestgreendark" bold="true"/>
<style name="def:preformatted-section" foreground="forestgreen"/>
<style name="def:list-marker" foreground="forestorange" bold="true"/>
<!-- Others -->
<style name="def:preprocessor" foreground="forestred"/>
<style name="def:error" foreground="forestred" bold="true"/>
<style name="def:warning" foreground="forestorange"/>
<style name="def:note" foreground="forestgreendark" bold="true"/>
<style name="def:net-address" italic="true" underline="single"/>
</style-scheme>
@@ -0,0 +1,95 @@
<?xml version="1.0" encoding="UTF-8"?>
<style-scheme id="tokyo_night_dark" _name="Tokyo_Night_Dark" version="1.0">
<author>fkorpsvart</author>
<_description>Tokyo Night Dark theme for Gedit</_description>
<!-- Colors -->
<color name="off_white" value="#c0caf5"/>
<color name="off_white2" value="#9aa5ce"/>
<color name="black_grey" value="#1a1b26"/>
<color name="tinted_grey" value="#24283b"/>
<color name="dark_grey" value="#414868"/>
<color name="med_grey" value="#565f89"/>
<color name="light_grey" value="#565a6e"/>
<color name="olive_green" value="#9ece6a"/>
<color name="washed_orange" value="#ff9e64"/>
<color name="faded_violet" value="#9d7cd8"/>
<color name="faded_cornwall" value="#ff007c"/>
<color name="pink_sandstone" value="#f7768e"/>
<color name="steelblue3" value="#7aa2f7"/>
<color name="light_brown" value="#bb9af7"/>
<color name="super_faded_orange" value="#e0af68"/>
<color name="dark_maroon" value="#41a6b5"/>
<color name="yellow" value="#f9ee98"/>
<!-- Global Settings -->
<style name="text" foreground="off_white" background="black_grey"/>
<style name="cursor" foreground="off_white"/>
<style name="current-line" background="tinted_grey"/>
<style name="line-numbers" foreground="med_grey" background="black_grey" bold="true" />
<style name="selection" foreground="off_white2" background="tinted_grey" />
<style name="selection-unfocused" foreground="off_white2" background="tinted_grey" />
<!-- Bracket Matching -->
<style name="bracket-match" background="steelblue3"/>
<style name="bracket-mismatch" background="dark_maroon" bold="true"/>
<style name="search-match" foreground="off_white" background="steelblue3"/>
<!-- Comments -->
<style name="def:comment" foreground="light_grey" italic="true"/>
<style name="def:shebang" foreground="light_grey" italic="true"/>
<style name="def:doc-comment-element" foreground="dark_grey" bold="true"/>
<!-- Constants and Variables-->
<style name="def:constant" foreground="faded_cornwall"/>
<style name="def:string" foreground="olive_green"/>
<style name="def:special-char" foreground="faded_cornwall"/>
<style name="def:special-constant" foreground="washed_orange" bold="true"/>
<style name="def:boolean" foreground="pink_sandstone"/>
<style name="def:number" foreground="pink_sandstone"/>
<style name="def:floating-point" foreground="pink_sandstone"/>
<style name="def:keyword" foreground="washed_orange" bold="true"/>
<style name="def:builtin" foreground="washed_orange" bold="true"/>
<style name="def:variable" foreground="faded_cornwall"/>
<!-- Identifiers -->
<style name="def:identifier" foreground="faded_cornwall"/>
<!-- Statements -->
<style name="def:statement" foreground="washed_orange"/>
<!-- Types -->
<style name="def:type" foreground="faded_violet"/>
<!-- Others -->
<style name="def:error" foreground="off_white" background="dark_maroon" bold="true"/>
<style name="def:note" foreground="yellow" bold="true"/>
<style name="def:net-address-in-comment" foreground="steelblue3" italic="false" underline="true"/>
<style name="def:preprocessor" foreground="light_grey"/>
<style name="def:function" foreground="off_white" underline="true"/>
<!-- Unknown? -->
<style name="def:specials" background="faded_cornwall"/>
<!-- C Styles -->
<style name="c:preprocessor" map-to="def:special-char"/>
<!-- Diff Styles -->
<style name="diff:ignore" foreground="med_grey"/>
<!-- Ruby Styles -->
<style name="ruby:module-handler" foreground="washed_orange"/>
<style name="ruby:symbol" foreground="pink_sandstone"/>
<style name="ruby:regex" foreground="super_faded_orange"/>
<!-- SH Styles -->
<style name="sh:others" map-to="text"/>
<!-- XML Styles -->
<style name="xml:attribute-name" foreground="light_brown"/>
<style name="xml:element-name" foreground="faded_cornwall"/>
</style-scheme>
@@ -0,0 +1,95 @@
<?xml version="1.0" encoding="UTF-8"?>
<style-scheme id="tokyo_night_storm" _name="Tokyo_Night_Storm" version="1.0">
<author>fkorpsvart</author>
<_description>Tokyo Night Storm theme for Gedit</_description>
<!-- Colors -->
<color name="off_white" value="#c0caf5"/>
<color name="off_white2" value="#9aa5ce"/>
<color name="black_grey" value="#1a1b26"/>
<color name="tinted_grey" value="#24283b"/>
<color name="dark_grey" value="#414868"/>
<color name="med_grey" value="#565f89"/>
<color name="light_grey" value="#565a6e"/>
<color name="olive_green" value="#9ece6a"/>
<color name="washed_orange" value="#ff9e64"/>
<color name="faded_violet" value="#9d7cd8"/>
<color name="faded_cornwall" value="#ff007c"/>
<color name="pink_sandstone" value="#f7768e"/>
<color name="steelblue3" value="#7aa2f7"/>
<color name="light_brown" value="#bb9af7"/>
<color name="super_faded_orange" value="#e0af68"/>
<color name="dark_maroon" value="#41a6b5"/>
<color name="yellow" value="#f9ee98"/>
<!-- Global Settings -->
<style name="text" foreground="off_white" background="tinted_grey"/>
<style name="cursor" foreground="off_white"/>
<style name="current-line" background="black_grey"/>
<style name="line-numbers" foreground="med_grey" background="tinted_grey" bold="true" />
<style name="selection" foreground="off_white2" background="black_grey" />
<style name="selection-unfocused" foreground="off_white2" background="black_grey" />
<!-- Bracket Matching -->
<style name="bracket-match" background="steelblue3"/>
<style name="bracket-mismatch" background="dark_maroon" bold="true"/>
<style name="search-match" foreground="off_white" background="steelblue3"/>
<!-- Comments -->
<style name="def:comment" foreground="light_grey" italic="true"/>
<style name="def:shebang" foreground="light_grey" italic="true"/>
<style name="def:doc-comment-element" foreground="dark_grey" bold="true"/>
<!-- Constants and Variables-->
<style name="def:constant" foreground="faded_cornwall"/>
<style name="def:string" foreground="olive_green"/>
<style name="def:special-char" foreground="faded_cornwall"/>
<style name="def:special-constant" foreground="washed_orange" bold="true"/>
<style name="def:boolean" foreground="pink_sandstone"/>
<style name="def:number" foreground="pink_sandstone"/>
<style name="def:floating-point" foreground="pink_sandstone"/>
<style name="def:keyword" foreground="washed_orange" bold="true"/>
<style name="def:builtin" foreground="washed_orange" bold="true"/>
<style name="def:variable" foreground="faded_cornwall"/>
<!-- Identifiers -->
<style name="def:identifier" foreground="faded_cornwall"/>
<!-- Statements -->
<style name="def:statement" foreground="washed_orange"/>
<!-- Types -->
<style name="def:type" foreground="faded_violet"/>
<!-- Others -->
<style name="def:error" foreground="off_white" background="dark_maroon" bold="true"/>
<style name="def:note" foreground="yellow" bold="true"/>
<style name="def:net-address-in-comment" foreground="steelblue3" italic="false" underline="true"/>
<style name="def:preprocessor" foreground="light_grey"/>
<style name="def:function" foreground="off_white" underline="true"/>
<!-- Unknown? -->
<style name="def:specials" background="faded_cornwall"/>
<!-- C Styles -->
<style name="c:preprocessor" map-to="def:special-char"/>
<!-- Diff Styles -->
<style name="diff:ignore" foreground="med_grey"/>
<!-- Ruby Styles -->
<style name="ruby:module-handler" foreground="washed_orange"/>
<style name="ruby:symbol" foreground="pink_sandstone"/>
<style name="ruby:regex" foreground="super_faded_orange"/>
<!-- SH Styles -->
<style name="sh:others" map-to="text"/>
<!-- XML Styles -->
<style name="xml:attribute-name" foreground="light_brown"/>
<style name="xml:element-name" foreground="faded_cornwall"/>
</style-scheme>
+2
View File
@@ -0,0 +1,2 @@
- This folder is for programs that have a proper folder structure that should be compiled then copied to .config/eww/scripts, if you wish.
- If you don't mind using prebuilt binaries, you can ignore this folder
+10 -83
View File
@@ -1,89 +1,16 @@
<div align="center">
<h1>【 end_4's Hyprland dotfiles 】</h1>
<h3></h3>
<h1>「 illogical_impulse 」</h1>
<h3> Next-level hype with AGS </h3>
</div>
<div align="center">
## Description
- [AGS](https://github.com/Aylur/ags/)-powered.
- Scalable. Light/Dark mode support. Material colors that adapt to your wallpaper
![](https://img.shields.io/github/last-commit/end-4/dots-hyprland?&style=for-the-badge&color=FFB1C8&logoColor=D9E0EE&labelColor=292324)
![](https://img.shields.io/github/stars/end-4/dots-hyprland?style=for-the-badge&logo=andela&color=FFB686&logoColor=D9E0EE&labelColor=292324)
[![](https://img.shields.io/github/repo-size/end-4/dots-hyprland?color=CAC992&label=SIZE&logo=googledrive&style=for-the-badge&logoColor=D9E0EE&labelColor=292324)](https://github.com/end-4/hyprland)
![](https://img.shields.io/badge/issues-skill-green?style=for-the-badge&color=CCE8E9&logoColor=D9E0EE&labelColor=292324)
</a>
## Preview
![image](./assets/illogical_impulse_dark.png)
![image](./assets/illogical_impulse_light.png)
</div>
# ✨ Cool stuff
<details open>
<summary>Notable features</summary>
- **Overview widget** that shows open apps. Conveniently packed with app search/calculator/command runner
- **ChatGPT widget** (illogical-impulse branch)
- **Autogenerated colors** based on your wallpaper using [Material colors](https://m3.material.io/styles/color/the-color-system/key-colors-tones)
- **Animations**, a lot
</details>
<details>
<summary>Bragging</summary>
- summer-themed `hybrid` branch (note: now actually in `archive` branch): winner of Hyprland ricing competition Summer 2023, now shown in the [Hyprland repo](https://github.com/hyprwm/hyprland#gallery) and [Hyprland Wiki](https://wiki.hyprland.org/Configuring/Example-configurations/)
- `windoes` branch (note: also in `archive` branch now): is a "Tasty rice" [on r/unixporn](https://www.reddit.com/r/unixporn/comments/13zdhqd/hyprland_windows_rice_with_too_much_eww_with_blur/)
</details>
# 👀 Styles & installation
- For **installation instructions**, check the branch readme and the [wiki](https://github.com/end-4/dots-hyprland/wiki).
### [illogical_impulse](https://github.com/end-4/dots-hyprland/tree/illogical-impulse)
![image](https://github.com/end-4/dots-hyprland/assets/97237370/66510836-9130-42f4-b4f9-929057b0a3ff)
![image](https://github.com/end-4/dots-hyprland/assets/97237370/d4c37041-9f3a-4a5f-a8c6-b1ac6edb808b)
![image](https://github.com/end-4/dots-hyprland/assets/97237370/85915d09-52ac-4c24-8712-cd7311bd9934)
![image](https://github.com/end-4/dots-hyprland/assets/97237370/24643c02-660a-4bed-8772-c98b08e62ac1)
> [!WARNING]
> - Only the above is maintained
> - Stuff below:
> - Currently, they do NOT work (see [#99](https://github.com/end-4/dots-hyprland/issues/99))
> - The pics are here mainly for your viewing pleasure
> - The files are still available, feel free to grab them from [`archive`](https://github.com/end-4/dots-hyprland/tree/archive) branch if you're willing to see some spaghetti and troubleshoot
- stuff below have showcase videos. click image to view.
### [m3ww](https://github.com/end-4/dots-hyprland/tree/archive)
<a href="https://streamable.com/85ch8x">
<img src="https://github.com/end-4/dots-hyprland/assets/97237370/09533e64-b6d7-47eb-a840-ee90c6776adf" alt="Material Eww!">
</a>
### [NovelKnock](https://github.com/end-4/dots-hyprland/tree/archive)
<a href="https://streamable.com/7vo61k">
<img src="https://github.com/end-4/dots-hyprland/assets/97237370/42903d03-bf6f-49d4-be7f-dd77e6cb389d" alt="Desktop Preview">
</a>
### [Hybrid](https://github.com/end-4/dots-hyprland/tree/archive)
<a href="https://streamable.com/4oogot">
<img src="https://github.com/end-4/dots-hyprland/assets/97237370/190deb1e-f6f5-46ce-8cf0-9b39944c079d" alt="click the circles!">
</a>
### [Windoes](https://github.com/end-4/dots-hyprland/tree/archive)
<a href="https://streamable.com/5qx614">
<img src="https://github.com/end-4/dots-hyprland/assets/97237370/b15317b1-f295-49f5-b90c-fb6328b8d886" alt="Desktop Preview">
</a>
- For even older stuff I never wanna touch again, check the releases
---
# 🙏 Attribution
- AGS: [Aylur's config](https://github.com/Aylur/dotfiles)
- EWW: [fufexan's config](https://github.com/fufexan/dotfiles) (he thanks more people there btw)
- AI bots for providing useful examples
- Open source contributors for their software and ricers for their insipration (would be a too long list to put here!)
# 🌟 stonks
- _thank you_
[![Stars](https://starchart.cc/end-4/dots-hyprland.svg)](https://starchart.cc/end-4/dots-hyprland)
# 💡 Some inspirations
- osu!lazer, Windows 11, Material Design 3, AvdanOS (concept)
## Instructions
- See the wiki for instructions > [illogical_impulse](https://github.com/end-4/dots-hyprland/wiki/illogical_impulse)
-2
View File
@@ -1,2 +0,0 @@
#!/usr/bin/env bash
echo 'Use another branch, as said in the readme'
Executable
+46
View File
@@ -0,0 +1,46 @@
#!/usr/bin/env bash
echo 'Hi there!'
echo 'This script 1. only works for ArchLinux and Arch-based distros.'
echo ' 2. has not been tested, use at your own risk.'
echo ' 3. will show all commands that it runs.'
echo ' 4. should be run from its folder.'
echo '== BACKUP YOUR CONFIG FOLDER IF NEEDED! =='
echo 'Ctrl+C to exit. Enter to continue.'
read
#####################################################################################
echo '1. Get packages and add user to video/input groups'
echo 'yay -S brightnessctl coreutils curl fish foot fuzzel gjs gnome-bluetooth-3.0 gnome-control-center gnome-keyring gobject-introspection grim gtk3 gtk-layer-shell libdbusmenu-gtk3 meson networkmanager npm plasma-browser-integration playerctl polkit-gnome python-pywal ripgrep sassc slurp starship swayidle swaylock typescript upower xorg-xrandr webp-pixbuf-loader wget wireplumber wl-clipboard tesseract yad ydotool adw-gtk3-git cava gojq gradience-git gtklock gtklock-playerctl-module gtklock-powerbar-module gtklock-userinfo-module hyprland-git lexend-fonts-git python-material-color-utilities python-pywal python-poetry python-build python-pillow swww ttf-material-symbols-variable-git ttf-space-mono-nerd ttf-jetbrains-mono-nerd wayland-idle-inhibitor-git wlogout'
yay -S brightnessctl coreutils curl fish foot fuzzel gjs gnome-bluetooth-3.0 gnome-control-center gnome-keyring gobject-introspection grim gtk3 gtk-layer-shell libdbusmenu-gtk3 meson networkmanager npm plasma-browser-integration playerctl polkit-gnome python-pywal ripgrep sassc slurp starship swayidle swaylock typescript upower xorg-xrandr webp-pixbuf-loader wget wireplumber wl-clipboard tesseract yad ydotool adw-gtk3-git cava gojq gradience-git gtklock gtklock-playerctl-module gtklock-powerbar-module gtklock-userinfo-module hyprland-git lexend-fonts-git python-material-color-utilities python-pywal python-poetry python-build python-pillow swww ttf-material-symbols-variable-git ttf-space-mono-nerd ttf-jetbrains-mono-nerd wayland-idle-inhibitor-git wlogout
user=$(whoami)
echo "sudo usermod -aG video $user"
sudo usermod -aG video "$user" || echo "failed to add user to video group"
echo "sudo usermod -aG input $user"
sudo usermod -aG input "$user" || echo "failed to add user to input group"
echo "Step 1 Complete."
#####################################################################################
echo '2. Installing AGS manually'
sleep 1
echo 'git clone --recursive https://github.com/Aylur/ags.git && cd ags'
git clone --recursive https://github.com/Aylur/ags.git && cd ags || echo "failed to clone into ags. Aborting..." && exit
echo "Done Cloning! Setting up npm and meson..."
sleep 1
echo 'npm install && meson setup build'
npm install && meson setup build
echo 'meson install -C build'
echo '(Make sure you say yes when asked to use sudo here)'
meson install -C build
#####################################################################################
echo '3. Copying'
echo 'cp -r "./.config" "$HOME"'
cp -r "./.config" "$HOME" || echo "cp threw error. You could cp this yourself."
echo 'cp -r "./.local" "$HOME"'
cp -r "./.local" "$HOME" || echo "cp threw error. You could cp this yourself."
#####################################################################################
echo 'Finished. See the "Import manually" folder and grab anything you need.'
Executable
+46
View File
@@ -0,0 +1,46 @@
#!/usr/bin/env bash
echo 'Hi there!'
echo 'This script 1. will uninstall [end-4/dots-hyprland > illogical-impulse] dotfiles'
echo ' 2. will try to revert *mostly everything* installed using install.sh, so it'\''s pretty destructive'
echo ' 3. has not beed tested, use at your own risk.'
echo ' 4. will show all commands that it runs.'
echo ' 5. should be run from its folder.'
echo 'Ctrl+C to exit. Enter to continue.'
read
##############################################################################################################################
# Undo Step 3: Removing copied config and local folders
echo 'Removing copied config and local folders...'
echo 'rm -rf "$HOME/.config/ags" "$HOME/.config/fish" "$HOME/.config/frontconfig" "$HOME/.config/foot" "$HOME/.config/fuzzel" "$HOME/.config/gtklock" "$HOME/.config/hypr" "$HOME/.config/mpv" "$HOME/.config/swaylock" "$HOME/.config/wlogout" "$HOME/.config/starship.toml" '
rm -rf "$HOME/.config/ags" "$HOME/.config/fish" "$HOME/.config/frontconfig" "$HOME/.config/foot" "$HOME/.config/fuzzel" "$HOME/.config/gtklock" "$HOME/.config/hypr" "$HOME/.config/mpv" "$HOME/.config/swaylock" "$HOME/.config/wlogout" "$HOME/.config/starship.toml"
echo 'rm -rf "$HOME/.local/bin/fuzzel-emoji" "$HOME/.config/rubyshot"'
rm -rf "$HOME/.local/bin/fuzzel-emoji" "$HOME/.config/rubyshot"
##############################################################################################################################
# Undo Step 2: Uninstall AGS - Disabled for now, check issues
# echo 'Uninstalling AGS...'
# sudo meson uninstall -C ~/ags/build
# rm -rf ~/ags
##############################################################################################################################
# Undo Step 1: Remove added user from video and input groups and remove yay packages
echo 'Removing user from video and input groups and removing packages...'
user=$(whoami)
echo 'sudo deluser "$user" video'
sudo deluser "$user" video
echo 'sudo deluser "$user" input'
sudo deluser "$user" input
echo 'User removed from video and input groups.'
##############################################################################################################################
# Removing installed yay packages and dependencies
echo 'yay -Rns adw-gtk3-git brightnessctl cava foot fuzzel gjs gojq gradience-git grim gtk-layer-shell gtklock gtklock-playerctl-module gtklock-powerbar-module gtklock-userinfo-module hyprland-git lexend-fonts-git libdbusmenu-gtk3 plasma-browser-integration playerctl python-build python-material-color-utilities python-poetry python-pywal ripgrep sassc slurp starship swayidle swaylock swww tesseract ttf-jetbrains-mono-nerd ttf-material-symbols-variable-git ttf-space-mono-nerd typescript webp-pixbuf-loader wl-clipboard wlogout yad ydotool'
yay -Rns adw-gtk3-git brightnessctl cava foot fuzzel gjs gojq gradience-git grim gtk-layer-shell gtklock gtklock-playerctl-module gtklock-powerbar-module gtklock-userinfo-module hyprland-git lexend-fonts-git libdbusmenu-gtk3 plasma-browser-integration playerctl python-build python-material-color-utilities python-poetry python-pywal ripgrep sassc slurp starship swayidle swaylock swww tesseract ttf-jetbrains-mono-nerd ttf-material-symbols-variable-git ttf-space-mono-nerd typescript webp-pixbuf-loader wl-clipboard wlogout yad ydotool
echo 'Uninstall Complete.'