GithubHelp home page GithubHelp logo

regolith-linux / ilia Goto Github PK

View Code? Open in Web Editor NEW
73.0 73.0 9.0 344 KB

A GTK-based Desktop Executor

License: Apache License 2.0

Meson 3.41% Shell 0.22% Vala 96.37%
desktop-environment gtk3 i3wm rofi swaywm vala

ilia's People

Contributors

kgilmer avatar ogabriel avatar soumyaranjanpatnaik avatar tatjam avatar tuanbass avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

ilia's Issues

File search: multiple entries from the same path

I accidentally ended up with multiple copies of ~/.local/share/applications in my $XDG_DATA_DIRS, and every application in that dir showed up multiple times.

Expected: each application shows up only once no matter how many times its path is listed under XDG_DATA_DIRS.

Slow launch

I'm using the beta version of Regolith, and it takes 1s to open the ilia launcher.

The launcher needs to open instantly, of course. I don't think I need to explain why this is a bug!

Steps to repeat:
I installed regolith beta from deb ppa on new install of 22.04 on a thinkpad X1 Carbon.

I would love to help debug if someone can tell me steps to do so.

Thank you!

follow notification in ilia rofication

Pressing "Enter" or "Double Click"ing on a notification should take the user to the application which notified.
For eg: If there is a notification from slack; "Enter" or "Double click" should take the user to the slack app if already in a visible workspace or mark the workspace demanding attention

The old rofication used to do this.

Ilia fails to start GNOME's new Text Editor app

> lsb_release -rd
Description: Ubuntu 22.04 LTS
Release: 22.04

> apt-cache policy gnome-text-editor
gnome-text-editor:
  Installed: 42.1-0ubuntu1
  Candidate: 42.1-0ubuntu1
  Version table:
 *** 42.1-0ubuntu1 500
        500 http://us.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages
        100 /var/lib/dpkg/status
     42.0-2 500
        500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages
        500 http://archive.ubuntu.com/ubuntu jammy/universe amd64 Packages

I installed the app via sudo apt install gnome-text-editor but I'm unable to open it with the ilia. I can open the new gnome-console app just fine with ilia. I can also open gnome-text-editor from the terminal with gtk-launch org.gnome.TextEditor and it fires right up. I do see the the following output though:

gtk-launch org.gnome.TextEditor
Gtk-Message: 16:01:19.175: Failed to load module "xapp-gtk3-module"

I'd be happy to help debug, I just need some pointers.

Cross posted from gnome-text-editor issue.

Fuzzy matching?

I have looked and looked and I am not sure that I can enable fuzzy matching. Is there a configuration option I am missing?

Moving from rofi this (and C-N, C-P for moving the selection) is the thing I am missing the most.

Thanks in advance

Not picking up new .desktop files

So I just upgraded to regolith 2 and ilia and... where do I put .desktop files so that it will pick them up without having to logout/login? I have ~/.local/share in my XDG_DATA_DIRS, but putting a file there didn't add it to the list. Is there some cache I need to invalidate?

Respect default terminal emulator

I have set my default terminal to Tilix with:

update-alternatives --config x-terminal-emulator

And Regolith/i3 respects this.

But if I use ilia -p terminal and then run something, it still launches in gnome-terminal.

Is this configurable anywhere?

ilia -p textlist keep order of items

As I wrote earlier, ilia can be used together with greenclip to form a clipboard-manager in regolith. However I now noticed that ilia -p textlist orders the items piped into it alphabetically. This is very unfortunate when it's supposed to be used as a clipboard manager where you'd expect the newest items to appear on top of the list.

As far as I have studied the options now it's currently not possible prevent ilia from ordering the items alphabetically. Would it be possible to add an option to keep the original ordering of the items piped into ilia -p textlist?

windows missing in ilia -p windows

Some applications, e.g. xterm, do not appear in the ilia -p windows list.

Reason: They do not set the _NET_WM_WINDOW_TYPE property. According to https://specifications.freedesktop.org/wm-spec/1.3/ar01s05.html, windows without this property should be taken by the WM as if _NET_WM_WINDOW_TYPE_NORMAL is set.

Please change the test in src/windows/WindowPage.vala:traverse_nodes() so that windows with window_type=="none" are included, too.

Thank you!

File search: result ordering

New issue brought over from #23 as requested.
Running Regoligh 2.1.

Scenario

I have some files in various places in my HOMEDIR:

  1. dial.txt
  2. Dial Revenge.mp3
  3. Street Dialogue.mp3
  4. p_radial.csv
  5. Odyssey.mobi

For the search string "dial", I mostly want 1, I might want 2, and I don't care about the rest because I'd use a different search string. (The last one is a full-text result.)

Results from various search methods:

  • Tracker search from Nautilus: 1 5 2 4 3
  • Tracker search via tracker3 sparql[0]: 1 2 3 (misses 4-5)
  • ilia search: 2 3 1 (misses 4-5)
  • fzf: 1 2 (misses 3-5)
  • fdfind: 1 3 2 4 (misses 5)

For me, all except ilia are fine, because it is the only one that makes me scroll to get the result I want.

Investigation

I played around a bit with tracker3 sparql but not enough to figure out what other columns it might be hiding, or if it exposes any way to ORDER BY in a more useful manner.

Ref

[0] Full command:

tracker3 sparql -q "SELECT DISTINCT nie:url(?f) nie:title(?f) nie:mimeType(?f) WHERE { ?f fts:match 'dial' }"

#37 is also related, inasmuch as it touches the same code.

Allow more control on the ordering of items in `textlist`

The textlist page sorts items by default, which IMHO is unexpected behavior and hinders the ability of using it for custom cases. Taking the example from the README description (https://github.com/regolith-linux/ilia#text-list-textlist),

ls | ilia -p textlist

trying to further customize it with

ls -t | ilia -p textlist

will produce the same result.

The relevant code line is this: https://github.com/regolith-linux/ilia/blob/main/src/textlist/TextListPage.vala#L72.

Should this be removed, or an additional option added for textlist to control for it?

Thanks in advance for looking into it. I can help with a PR, if needed.

Flatpak applications appear multiple times in the Applications screen

Ilia shows multiple entries (at least 2, sometimes many more) for applications installed via Flatpak.

Flatpak installed applications usually show up with 2 entries, but at some point something changed and now there are 9 entries for each Flatpak installed application.

I'd post a screenshot but the window disappears when I press PrintScreen.

Custom file search / textlist doesn't work on large lists

Expected behaviour

I used to use rofi with a keyboard shortcut that launched this:

xdg-open "$(fdfind . $HOME | rofi -dmenu -i -p find)"

This finds everything (interesting) in my home directory, passes it to rofi, I do some typing to filter, and then xdg-open launches whatever I settle on.

Attempt

I tried running:

fdfind $HOME | ilia -p textlist

but it takes several seconds to launch and is then too slow to use.

Workaround

I would try ilia's default file search but it's not working #23

Provide mechanism(s) to ensure the "best" result is first in the apps page

When using ilia as my application launcher, it doesn't consistently put the result I want first like my preferred rofi configuration does, and there isn't currently a way to configure sort or matching behavior.

Out of the box behavior from ilia (ilia -p apps):

ilia_sort_x264.mp4

The two rofi configurations that I feel consistently provide good matches are:

  • rofi -show drun -drun-match-fields name: only search on the application name (note that there are few results)
rofi_sort_drun_match_x264.mp4
  • rofi -show drun -sort -sorting-method fzf: search on all application metadata and provide the "best" results first... maybe this is calculated by the number of matches in the application metadata (e.g. application name + application description matches is better than just an application description match)? waves hands
rofi_sort_fzf_x264.mp4

Scratchpad windows are not shown when pressing SUPER + STRG + Space

I have installed Ubuntu 22.04 LTS and regolith-desktop and ilia/unknown,now 0.11.6-jammy-1
Further on, the terminal WezTerm is also not shown even though it is not on the scratchpad.

Starting ilia -p windows via terminal creates this message: Gtk-Message: Failed to load module "xapp-gtk3-module"

ilia -p tracker unable to properly handle unicode filenames

This error is fairly easy to reproduce, simply create a file which uses unicode characters and try finding it using ilia.
For example, I have created a file "test_ñ_и.txt" in Documents, and trying to find it using ilia yields:

image

This error is not limited to the user interface, trying to open the file fails because the path is passed badly formatted to xdg-open. This is the console output after hitting Enter with the entry selected:

gio: file:///home/tatjam/Documents/test_31_08.txt: Error when getting information for file “/home/tatjam/Documents/test_31_08.txt”: No such file or directory

Aliases?

Hi,

In Rofi it was possible to load aliases in a few ways in the configuration. e.g.
set_from_resource $i3-wm.program.launcher.app i3-wm.program.launcher.app rofi -run-list-command ". ~/.config/i3/aliases.sh" -run-command "/bin/bash -i -c '{cmd}'" -show drun -theme $rofiTheme

Is there something similar in Ilia?

Thanks

Arch/ AUR

would be nice to have your project in arch/aur.

Ilia file window is showing empty results and segfault on "enter" key

First problem: file finder in ilia luncher isn't working. I have empty list of files regardless what I type in input.

Second: ilia file window is causing segfault when I type something in search field and press enter. Here is output of syslog:

Jun  1 09:29:50 io ilia[1898795]: Failed to load module "xapp-gtk3-module"
Jun  1 09:29:50 io ilia[1898795]: message repeated 2 times: [ Failed to load module "xapp-gtk3-module"]
Jun  1 09:30:01 io kernel: [420083.186617] ilia[1898795]: segfault at 30 ip 00007ff52ee89c82 sp 00007fffacb1bb20 error 4 in libgtk-3.so.0.2404.29[7ff52ebad000+383000]
Jun  1 09:30:01 io kernel: [420083.186626] Code: 00 00 49 89 e6 48 89 ee 44 89 fa 48 89 df 4c 89 f1 e8 e2 e7 ff ff 48 8b 3c 24 e8 59 33 d3 ff 66 0f ef c0 31 f6 4c 8d 4c 24 20 <48> 8b 48 30 49 89 c0 0f 29 44 24 20 0f 29 44 24 30 0f 29 44 24 40
Jun  1 09:30:01 io ilia[1898795]: gtk_tree_model_filter_get_value: assertion 'GTK_TREE_MODEL_FILTER (model)->priv->stamp == iter->stamp' failed
Jun  1 09:30:01 io ilia[1898795]: ../../../gobject/gtype.c:4333: type id '0' is invalid
Jun  1 09:30:01 io ilia[1898795]: can't peek value table for type '<invalid>' which is not currently referenced
Jun  1 09:30:03 io regolith.desktop[1898434]: Failed to aquire access to input devices, aborting.
Jun  1 09:30:03 io regolith.desktop[1898794]: Segmentation fault (core dumped)

Ilia version: 0.12.2-jammy-1regolith
OS: Ubuntu 22.04 LTS (5.15.0-33-generic)

Option to delete notifications from same group

Feature Request:
Could we have a keybinding to delete all notifications from the same group?
With Regolith 1.x, I was used to using the shift+del to delete all notifications from the same group. For eg: all notifications from slack while leave others unread.
The current ilia rofication will delete all notifications on shift+del. Think having this feature would be a good addition. Thanks!

Cannot take action on a notification other than to delete

Example: "Software updates are available" notification may have an action that would cause the software update utility to launch. This action, if available via notification metadata, should be supported by ilia such that the actions are launched.

(Applications) flatpak application are not found due to ignoring symlinks

Description

https://github.com/regolith-linux/ilia/blob/master/src/apps/DesktopAppPage.vala#L269

The function to search for desktop files explicitly ignores symlinks. Flatpak uses symlinks to reference desktop files inside of Flatpak artifacts.

This is a regression from the previous release, which did include Flatpak desktop files.

Example

ls -l /var/lib/flatpak/exports/share/applications

lrwxrwxrwx 1 root root  93 Oct 31 09:15 cc.arduino.IDE2.desktop -> ../../../app/cc.arduino.IDE2/current/active/export/share/applications/cc.arduino.IDE2.desktop*
lrwxrwxrwx 1 root root 107 Oct 31 09:15 com.discordapp.Discord.desktop -> ../../../app/com.discordapp.Discord/current/active/export/share/applications/com.discordapp.Discord.desktop*
lrwxrwxrwx 1 root root 107 Oct 31 09:15 com.getpostman.Postman.desktop -> ../../../app/com.getpostman.Postman/current/active/export/share/applications/com.getpostman.Postman.desktop*

None of these applications are available in Ilia.

Rofi-like multiple modes

Thanks for your hard work on Ilia!

The main feature I find myself missing from Rofi is that Regolith 1 used one keybind for a Rofi with several active modes: application launcher, command launcher, window browser, etc. I see that Ilia has tabs and arrow navigation, so if Ilia had a Rofi-like "list of active modes" and "initial mode" arguments it could behave more like classic Regolith Rofi: Each keybind activates an Ilia configured with all four (or whatever, defined in Xresources?) modes and with a particular mode activated.

That way I can unbind all but Super-space and keep the rest of the keybinds free for emacs (:

Performance issue with icons

I read in one issue disabling icons would help with a long list.
I changed the icon size to 0 and now the speed is acceptable, but I am thinking isn't there any alternative solution?
I don't know Vala and GTK but in React we usually use virtualized lists when there is a large dataset.
https://stackoverflow.com/questions/3164262/lazy-loaded-list-view-in-gtk

Another idea is just to limit the items shown to a reasonable limit (ex. 100) and the user can use the search bar to search for what they need.

Slow to delete notifications

I've noticed that the new notification panel is slow to delete notifications at any index. It seems like this might only happen when there are more notifications than can fit without scrollbars, but I'm not certain on that issue.

icons missing in app launcher

I just upgraded to Regolith 2.1, and I see no app icons in the ilia app launcher. This happens both when I open the launcher using Super+Space and when I launch it from the shell with

ilia -p apps

I checked the setting org.regolith-linux.ilia.icon-size in dconf-editor and it is set to the default value of 32, so I don't think that's the problem.

Cannot quickly navigate to end of list

With rofication, I could open my notifications and use the up arrow to quickly go to the end of the list to see my most recent notifications. This doesn't seem possible with ilia. If I want to get to the most recent notifications I might have to press down a dozen times or more.

Is this functionality that is planned to be added?

File search: window doesn't close after selecting result

In the other ilia pages (eg 'apps), after hitting Enter, the ilia window closes as my app launches.

But with the file search, the ilia window stays open.

I assume this is deliberate but it feels weird and inconsistent with the other behaviour, and I generally only want to "use" one search result.

Feature request: match keybindings on keybindings

Often times I find myself figuring out if a given keybinding is already taken. It would be very useful if I could filter the list of keybindings by, for example, f and it would show me the actions that Super+f, Super+Ctrl+f, etc, perform.

Cheers!

Lag in ilia file search

New issue brought over from #23 as requested.

Running Regoligh 2.1.

Scenario

  • I hit Meta+Alt+Space and the search window pops up after a tiny delay.
  • Then I start typing "dial", but it lags after "di" for 1-2 seconds before displaying the "a".
  • Depending on the word, there's 1-2 seconds of lag with each additional keystroke.

Exclude search field as a selectable list item

Hi as per slack thread
https://regolith-linux.slack.com/archives/CLYDASBFS/p1662966722766889

When opening ilia with a search field, the search field is counted as a list item for keyboard navigation.

This means that an extra keypress is required to navigate filtered items. This is regression from Regolith 1 where Rofi did not count the search field as a navigable list item.

For example

mod+space -> Launch App Launcher
search something to filter the results
see you want the second item in the list
press the down key twice to get to the second item
press enter to launch the second item

Having the search field not being keyboard navigable would improve the UX for new ilia users and past Rofi users.

Thanks!

Let resize mode work with Ilia windows

I use the Super+r to enable mouse-based resize mode, and noticed that this currently doesn't work with Ilia pop-ups. Would this be something that you'd be able to implement?

Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.